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

     1  /*
     2  Copyright (c) 2014-2023 VMware, Inc. All Rights Reserved.
     3  
     4  Licensed under the Apache License, Version 2.0 (the "License");
     5  you may not use this file except in compliance with the License.
     6  You may obtain a copy of the License at
     7  
     8      http://www.apache.org/licenses/LICENSE-2.0
     9  
    10  Unless required by applicable law or agreed to in writing, software
    11  distributed under the License is distributed on an "AS IS" BASIS,
    12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13  See the License for the specific language governing permissions and
    14  limitations under the License.
    15  */
    16  
    17  package types
    18  
    19  import (
    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" vim:"4.0"`
   152  	// The license product name
   153  	LicenseProductName string `xml:"licenseProductName,omitempty" json:"licenseProductName,omitempty" vim:"4.0"`
   154  	// The license product version
   155  	LicenseProductVersion string `xml:"licenseProductVersion,omitempty" json:"licenseProductVersion,omitempty" vim:"4.0"`
   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" vim:"6.5"`
   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  	minAPIVersionForType["ActiveDirectoryFault"] = "4.1"
   406  }
   407  
   408  type ActiveDirectoryFaultFault BaseActiveDirectoryFault
   409  
   410  func init() {
   411  	t["ActiveDirectoryFaultFault"] = reflect.TypeOf((*ActiveDirectoryFaultFault)(nil)).Elem()
   412  }
   413  
   414  // The `ActiveDirectoryProfile` data object represents Active Directory
   415  // configuration.
   416  //
   417  // Use the `ApplyProfile.policy` list for
   418  // access to configuration data for the Active Directory profile. Use the
   419  // `ApplyProfile.property` list for access to subprofiles, if any.
   420  type ActiveDirectoryProfile struct {
   421  	ApplyProfile
   422  }
   423  
   424  func init() {
   425  	t["ActiveDirectoryProfile"] = reflect.TypeOf((*ActiveDirectoryProfile)(nil)).Elem()
   426  	minAPIVersionForType["ActiveDirectoryProfile"] = "4.1"
   427  }
   428  
   429  // An attempt to enable Enhanced VMotion Compatibility on a cluster, or to
   430  // select a less-featureful EVC mode for a cluster where EVC is already
   431  // enabled, has failed for the following reason:
   432  //   - The cluster contains hosts that expose additional compatibility-
   433  //     relevant CPU features beyond those present in the baseline of the
   434  //     requested EVC mode.
   435  //   - Those hosts have powered-on or suspended virtual machines.
   436  //
   437  // Therefore the EVC configuration has been rejected since it may suppress
   438  // CPU features that are currently in-use.
   439  type ActiveVMsBlockingEVC struct {
   440  	EVCConfigFault
   441  
   442  	// The requested EVC mode.
   443  	EvcMode string `xml:"evcMode,omitempty" json:"evcMode,omitempty" vim:"4.0"`
   444  	// Hosts with active virtual machines that are blocking the operation,
   445  	// because the hosts expose compatibility-relevant CPU features not present
   446  	// in the baseline of the requested EVC mode.
   447  	//
   448  	// Note that in rare cases, a host may be on this list even if its
   449  	// `maxEVCModeKey` corresponds to the
   450  	// requested EVC mode. This means that even though that EVC mode is the
   451  	// best match for the host's hardware, the host still has some features
   452  	// beyond those present in the baseline for that EVC mode.
   453  	//
   454  	// Refers instances of `HostSystem`.
   455  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty" vim:"4.0"`
   456  	// The names of the hosts in the host array.
   457  	HostName []string `xml:"hostName,omitempty" json:"hostName,omitempty" vim:"4.0"`
   458  }
   459  
   460  func init() {
   461  	t["ActiveVMsBlockingEVC"] = reflect.TypeOf((*ActiveVMsBlockingEVC)(nil)).Elem()
   462  	minAPIVersionForType["ActiveVMsBlockingEVC"] = "2.5u2"
   463  }
   464  
   465  type ActiveVMsBlockingEVCFault ActiveVMsBlockingEVC
   466  
   467  func init() {
   468  	t["ActiveVMsBlockingEVCFault"] = reflect.TypeOf((*ActiveVMsBlockingEVCFault)(nil)).Elem()
   469  }
   470  
   471  type AddAuthorizationRole AddAuthorizationRoleRequestType
   472  
   473  func init() {
   474  	t["AddAuthorizationRole"] = reflect.TypeOf((*AddAuthorizationRole)(nil)).Elem()
   475  }
   476  
   477  // The parameters of `AuthorizationManager.AddAuthorizationRole`.
   478  type AddAuthorizationRoleRequestType struct {
   479  	This ManagedObjectReference `xml:"_this" json:"-"`
   480  	// Name of the new role.
   481  	Name string `xml:"name" json:"name"`
   482  	// List of privileges to assign to the role.
   483  	PrivIds []string `xml:"privIds,omitempty" json:"privIds,omitempty"`
   484  }
   485  
   486  func init() {
   487  	t["AddAuthorizationRoleRequestType"] = reflect.TypeOf((*AddAuthorizationRoleRequestType)(nil)).Elem()
   488  }
   489  
   490  type AddAuthorizationRoleResponse struct {
   491  	Returnval int32 `xml:"returnval" json:"returnval"`
   492  }
   493  
   494  type AddCustomFieldDef AddCustomFieldDefRequestType
   495  
   496  func init() {
   497  	t["AddCustomFieldDef"] = reflect.TypeOf((*AddCustomFieldDef)(nil)).Elem()
   498  }
   499  
   500  // The parameters of `CustomFieldsManager.AddCustomFieldDef`.
   501  type AddCustomFieldDefRequestType struct {
   502  	This ManagedObjectReference `xml:"_this" json:"-"`
   503  	// The name of the field.
   504  	Name string `xml:"name" json:"name"`
   505  	// The managed object type to which this field
   506  	// will apply
   507  	MoType string `xml:"moType,omitempty" json:"moType,omitempty" vim:"2.5"`
   508  	// Privilege policy to apply to FieldDef being
   509  	// created
   510  	FieldDefPolicy *PrivilegePolicyDef `xml:"fieldDefPolicy,omitempty" json:"fieldDefPolicy,omitempty" vim:"2.5"`
   511  	// Privilege policy to apply to instances of field
   512  	FieldPolicy *PrivilegePolicyDef `xml:"fieldPolicy,omitempty" json:"fieldPolicy,omitempty" vim:"2.5"`
   513  }
   514  
   515  func init() {
   516  	t["AddCustomFieldDefRequestType"] = reflect.TypeOf((*AddCustomFieldDefRequestType)(nil)).Elem()
   517  }
   518  
   519  type AddCustomFieldDefResponse struct {
   520  	Returnval CustomFieldDef `xml:"returnval" json:"returnval"`
   521  }
   522  
   523  // The parameters of `DistributedVirtualSwitch.AddDVPortgroup_Task`.
   524  type AddDVPortgroupRequestType struct {
   525  	This ManagedObjectReference `xml:"_this" json:"-"`
   526  	// The specification for the portgroup.
   527  	Spec []DVPortgroupConfigSpec `xml:"spec" json:"spec"`
   528  }
   529  
   530  func init() {
   531  	t["AddDVPortgroupRequestType"] = reflect.TypeOf((*AddDVPortgroupRequestType)(nil)).Elem()
   532  }
   533  
   534  type AddDVPortgroup_Task AddDVPortgroupRequestType
   535  
   536  func init() {
   537  	t["AddDVPortgroup_Task"] = reflect.TypeOf((*AddDVPortgroup_Task)(nil)).Elem()
   538  }
   539  
   540  type AddDVPortgroup_TaskResponse struct {
   541  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
   542  }
   543  
   544  // The parameters of `HostVsanSystem.AddDisks_Task`.
   545  type AddDisksRequestType struct {
   546  	This ManagedObjectReference `xml:"_this" json:"-"`
   547  	// list of disks to add for use by the VSAN service
   548  	Disk []HostScsiDisk `xml:"disk" json:"disk"`
   549  }
   550  
   551  func init() {
   552  	t["AddDisksRequestType"] = reflect.TypeOf((*AddDisksRequestType)(nil)).Elem()
   553  }
   554  
   555  type AddDisks_Task AddDisksRequestType
   556  
   557  func init() {
   558  	t["AddDisks_Task"] = reflect.TypeOf((*AddDisks_Task)(nil)).Elem()
   559  }
   560  
   561  type AddDisks_TaskResponse struct {
   562  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
   563  }
   564  
   565  type AddFilter AddFilterRequestType
   566  
   567  func init() {
   568  	t["AddFilter"] = reflect.TypeOf((*AddFilter)(nil)).Elem()
   569  }
   570  
   571  type AddFilterEntities AddFilterEntitiesRequestType
   572  
   573  func init() {
   574  	t["AddFilterEntities"] = reflect.TypeOf((*AddFilterEntities)(nil)).Elem()
   575  }
   576  
   577  // The parameters of `HealthUpdateManager.AddFilterEntities`.
   578  type AddFilterEntitiesRequestType struct {
   579  	This ManagedObjectReference `xml:"_this" json:"-"`
   580  	// The filter id.
   581  	FilterId string `xml:"filterId" json:"filterId"`
   582  	// The list of additional managed entities. Only
   583  	// entities of type HostSystem or
   584  	// ClusterComputeResource are valid.
   585  	//
   586  	// Refers instances of `ManagedEntity`.
   587  	Entities []ManagedObjectReference `xml:"entities,omitempty" json:"entities,omitempty"`
   588  }
   589  
   590  func init() {
   591  	t["AddFilterEntitiesRequestType"] = reflect.TypeOf((*AddFilterEntitiesRequestType)(nil)).Elem()
   592  }
   593  
   594  type AddFilterEntitiesResponse struct {
   595  }
   596  
   597  // The parameters of `HealthUpdateManager.AddFilter`.
   598  type AddFilterRequestType struct {
   599  	This ManagedObjectReference `xml:"_this" json:"-"`
   600  	// The provider identifier.
   601  	ProviderId string `xml:"providerId" json:"providerId"`
   602  	// The filter name.
   603  	FilterName string `xml:"filterName" json:"filterName"`
   604  	// The list of HealthUpdateInfo IDs that should be
   605  	// filtered.
   606  	InfoIds []string `xml:"infoIds,omitempty" json:"infoIds,omitempty"`
   607  }
   608  
   609  func init() {
   610  	t["AddFilterRequestType"] = reflect.TypeOf((*AddFilterRequestType)(nil)).Elem()
   611  }
   612  
   613  type AddFilterResponse struct {
   614  	Returnval string `xml:"returnval" json:"returnval"`
   615  }
   616  
   617  type AddGuestAlias AddGuestAliasRequestType
   618  
   619  func init() {
   620  	t["AddGuestAlias"] = reflect.TypeOf((*AddGuestAlias)(nil)).Elem()
   621  }
   622  
   623  // The parameters of `GuestAliasManager.AddGuestAlias`.
   624  type AddGuestAliasRequestType struct {
   625  	This ManagedObjectReference `xml:"_this" json:"-"`
   626  	// Virtual machine to perform the operation on.
   627  	//
   628  	// Required privileges: VirtualMachine.GuestOperations.ModifyAliases
   629  	//
   630  	// Refers instance of `VirtualMachine`.
   631  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
   632  	// The guest authentication data for this operation. See
   633  	// `GuestAuthentication`. These credentials must satisfy
   634  	// authentication requirements
   635  	// for a guest account on the specified virtual machine.
   636  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
   637  	// Username for the guest account on the virtual machine.
   638  	Username string `xml:"username" json:"username"`
   639  	// Indicates whether the certificate associated with the
   640  	// alias should be mapped. If an alias certificate is mapped,
   641  	// guest operation requests that use that alias do not have
   642  	// to specify the guest account username in the
   643  	// `SAMLTokenAuthentication` object. If mapCert is
   644  	// false, the request must specify the username.
   645  	MapCert bool `xml:"mapCert" json:"mapCert"`
   646  	// X.509 certificate from the VMware SSO Server,
   647  	// in base64 encoded DER format. The ESXi
   648  	// Server uses this certificate to authenticate guest
   649  	// operation requests.
   650  	Base64Cert string `xml:"base64Cert" json:"base64Cert"`
   651  	// Specifies the subject name for authentication.
   652  	// The subject name (when present) corresponds to
   653  	// the value of the Subject element
   654  	// in SAML tokens. The ESXi Server uses the subject
   655  	// name to authenticate guest operation requests.
   656  	AliasInfo GuestAuthAliasInfo `xml:"aliasInfo" json:"aliasInfo"`
   657  }
   658  
   659  func init() {
   660  	t["AddGuestAliasRequestType"] = reflect.TypeOf((*AddGuestAliasRequestType)(nil)).Elem()
   661  }
   662  
   663  type AddGuestAliasResponse struct {
   664  }
   665  
   666  // The parameters of `ClusterComputeResource.AddHost_Task`.
   667  type AddHostRequestType struct {
   668  	This ManagedObjectReference `xml:"_this" json:"-"`
   669  	// Specifies the parameters needed to add a single host.
   670  	Spec HostConnectSpec `xml:"spec" json:"spec"`
   671  	// Flag to specify whether or not the host should be connected
   672  	// immediately after it is added. The host will not be added if
   673  	// a connection attempt is made and fails.
   674  	AsConnected bool `xml:"asConnected" json:"asConnected"`
   675  	// the resource pool for the root resource pool from the host.
   676  	//
   677  	// Required privileges: Resource.AssignVMToPool
   678  	//
   679  	// Refers instance of `ResourcePool`.
   680  	ResourcePool *ManagedObjectReference `xml:"resourcePool,omitempty" json:"resourcePool,omitempty"`
   681  	// Provide a licenseKey or licenseKeyType. See `LicenseManager`
   682  	License string `xml:"license,omitempty" json:"license,omitempty" vim:"4.0"`
   683  }
   684  
   685  func init() {
   686  	t["AddHostRequestType"] = reflect.TypeOf((*AddHostRequestType)(nil)).Elem()
   687  }
   688  
   689  type AddHost_Task AddHostRequestType
   690  
   691  func init() {
   692  	t["AddHost_Task"] = reflect.TypeOf((*AddHost_Task)(nil)).Elem()
   693  }
   694  
   695  type AddHost_TaskResponse struct {
   696  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
   697  }
   698  
   699  type AddInternetScsiSendTargets AddInternetScsiSendTargetsRequestType
   700  
   701  func init() {
   702  	t["AddInternetScsiSendTargets"] = reflect.TypeOf((*AddInternetScsiSendTargets)(nil)).Elem()
   703  }
   704  
   705  // The parameters of `HostStorageSystem.AddInternetScsiSendTargets`.
   706  type AddInternetScsiSendTargetsRequestType struct {
   707  	This ManagedObjectReference `xml:"_this" json:"-"`
   708  	// The device of the Internet SCSI HBA adapter.
   709  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
   710  	// An array of iSCSI send targets.
   711  	Targets []HostInternetScsiHbaSendTarget `xml:"targets" json:"targets"`
   712  }
   713  
   714  func init() {
   715  	t["AddInternetScsiSendTargetsRequestType"] = reflect.TypeOf((*AddInternetScsiSendTargetsRequestType)(nil)).Elem()
   716  }
   717  
   718  type AddInternetScsiSendTargetsResponse struct {
   719  }
   720  
   721  type AddInternetScsiStaticTargets AddInternetScsiStaticTargetsRequestType
   722  
   723  func init() {
   724  	t["AddInternetScsiStaticTargets"] = reflect.TypeOf((*AddInternetScsiStaticTargets)(nil)).Elem()
   725  }
   726  
   727  // The parameters of `HostStorageSystem.AddInternetScsiStaticTargets`.
   728  type AddInternetScsiStaticTargetsRequestType struct {
   729  	This ManagedObjectReference `xml:"_this" json:"-"`
   730  	// The device of the Internet SCSI HBA adapter.
   731  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
   732  	// An array of iSCSI static targets to add.
   733  	Targets []HostInternetScsiHbaStaticTarget `xml:"targets" json:"targets"`
   734  }
   735  
   736  func init() {
   737  	t["AddInternetScsiStaticTargetsRequestType"] = reflect.TypeOf((*AddInternetScsiStaticTargetsRequestType)(nil)).Elem()
   738  }
   739  
   740  type AddInternetScsiStaticTargetsResponse struct {
   741  }
   742  
   743  type AddKey AddKeyRequestType
   744  
   745  func init() {
   746  	t["AddKey"] = reflect.TypeOf((*AddKey)(nil)).Elem()
   747  }
   748  
   749  // The parameters of `CryptoManager.AddKey`.
   750  type AddKeyRequestType struct {
   751  	This ManagedObjectReference `xml:"_this" json:"-"`
   752  	// \[in\] The cryptographic key to add.
   753  	Key CryptoKeyPlain `xml:"key" json:"key"`
   754  }
   755  
   756  func init() {
   757  	t["AddKeyRequestType"] = reflect.TypeOf((*AddKeyRequestType)(nil)).Elem()
   758  }
   759  
   760  type AddKeyResponse struct {
   761  }
   762  
   763  type AddKeys AddKeysRequestType
   764  
   765  func init() {
   766  	t["AddKeys"] = reflect.TypeOf((*AddKeys)(nil)).Elem()
   767  }
   768  
   769  // The parameters of `CryptoManager.AddKeys`.
   770  type AddKeysRequestType struct {
   771  	This ManagedObjectReference `xml:"_this" json:"-"`
   772  	// \[in\] List of cryptographic keys to add.
   773  	Keys []CryptoKeyPlain `xml:"keys,omitempty" json:"keys,omitempty"`
   774  }
   775  
   776  func init() {
   777  	t["AddKeysRequestType"] = reflect.TypeOf((*AddKeysRequestType)(nil)).Elem()
   778  }
   779  
   780  type AddKeysResponse struct {
   781  	Returnval []CryptoKeyResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
   782  }
   783  
   784  type AddLicense AddLicenseRequestType
   785  
   786  func init() {
   787  	t["AddLicense"] = reflect.TypeOf((*AddLicense)(nil)).Elem()
   788  }
   789  
   790  // The parameters of `LicenseManager.AddLicense`.
   791  type AddLicenseRequestType struct {
   792  	This ManagedObjectReference `xml:"_this" json:"-"`
   793  	// A license. E.g. a serial license.
   794  	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
   795  	// array of key-value labels. Ignored by ESX Server.
   796  	Labels []KeyValue `xml:"labels,omitempty" json:"labels,omitempty"`
   797  }
   798  
   799  func init() {
   800  	t["AddLicenseRequestType"] = reflect.TypeOf((*AddLicenseRequestType)(nil)).Elem()
   801  }
   802  
   803  type AddLicenseResponse struct {
   804  	Returnval LicenseManagerLicenseInfo `xml:"returnval" json:"returnval"`
   805  }
   806  
   807  type AddMonitoredEntities AddMonitoredEntitiesRequestType
   808  
   809  func init() {
   810  	t["AddMonitoredEntities"] = reflect.TypeOf((*AddMonitoredEntities)(nil)).Elem()
   811  }
   812  
   813  // The parameters of `HealthUpdateManager.AddMonitoredEntities`.
   814  type AddMonitoredEntitiesRequestType struct {
   815  	This ManagedObjectReference `xml:"_this" json:"-"`
   816  	// The provider id.
   817  	ProviderId string `xml:"providerId" json:"providerId"`
   818  	// The entities that are newly monitored by this
   819  	// provider.
   820  	//
   821  	// Refers instances of `ManagedEntity`.
   822  	Entities []ManagedObjectReference `xml:"entities,omitempty" json:"entities,omitempty"`
   823  }
   824  
   825  func init() {
   826  	t["AddMonitoredEntitiesRequestType"] = reflect.TypeOf((*AddMonitoredEntitiesRequestType)(nil)).Elem()
   827  }
   828  
   829  type AddMonitoredEntitiesResponse struct {
   830  }
   831  
   832  type AddNetworkResourcePool AddNetworkResourcePoolRequestType
   833  
   834  func init() {
   835  	t["AddNetworkResourcePool"] = reflect.TypeOf((*AddNetworkResourcePool)(nil)).Elem()
   836  }
   837  
   838  // The parameters of `DistributedVirtualSwitch.AddNetworkResourcePool`.
   839  type AddNetworkResourcePoolRequestType struct {
   840  	This ManagedObjectReference `xml:"_this" json:"-"`
   841  	// the network resource pool configuration specification.
   842  	ConfigSpec []DVSNetworkResourcePoolConfigSpec `xml:"configSpec" json:"configSpec"`
   843  }
   844  
   845  func init() {
   846  	t["AddNetworkResourcePoolRequestType"] = reflect.TypeOf((*AddNetworkResourcePoolRequestType)(nil)).Elem()
   847  }
   848  
   849  type AddNetworkResourcePoolResponse struct {
   850  }
   851  
   852  type AddPortGroup AddPortGroupRequestType
   853  
   854  func init() {
   855  	t["AddPortGroup"] = reflect.TypeOf((*AddPortGroup)(nil)).Elem()
   856  }
   857  
   858  // The parameters of `HostNetworkSystem.AddPortGroup`.
   859  type AddPortGroupRequestType struct {
   860  	This    ManagedObjectReference `xml:"_this" json:"-"`
   861  	Portgrp HostPortGroupSpec      `xml:"portgrp" json:"portgrp"`
   862  }
   863  
   864  func init() {
   865  	t["AddPortGroupRequestType"] = reflect.TypeOf((*AddPortGroupRequestType)(nil)).Elem()
   866  }
   867  
   868  type AddPortGroupResponse struct {
   869  }
   870  
   871  type AddServiceConsoleVirtualNic AddServiceConsoleVirtualNicRequestType
   872  
   873  func init() {
   874  	t["AddServiceConsoleVirtualNic"] = reflect.TypeOf((*AddServiceConsoleVirtualNic)(nil)).Elem()
   875  }
   876  
   877  // The parameters of `HostNetworkSystem.AddServiceConsoleVirtualNic`.
   878  type AddServiceConsoleVirtualNicRequestType struct {
   879  	This      ManagedObjectReference `xml:"_this" json:"-"`
   880  	Portgroup string                 `xml:"portgroup" json:"portgroup"`
   881  	Nic       HostVirtualNicSpec     `xml:"nic" json:"nic"`
   882  }
   883  
   884  func init() {
   885  	t["AddServiceConsoleVirtualNicRequestType"] = reflect.TypeOf((*AddServiceConsoleVirtualNicRequestType)(nil)).Elem()
   886  }
   887  
   888  type AddServiceConsoleVirtualNicResponse struct {
   889  	Returnval string `xml:"returnval" json:"returnval"`
   890  }
   891  
   892  // The parameters of `Folder.AddStandaloneHost_Task`.
   893  type AddStandaloneHostRequestType struct {
   894  	This ManagedObjectReference `xml:"_this" json:"-"`
   895  	// Specifies the parameters needed to add a single host.
   896  	Spec HostConnectSpec `xml:"spec" json:"spec"`
   897  	// Optionally specify the configuration for the compute
   898  	// resource that will be created to contain the host.
   899  	CompResSpec BaseComputeResourceConfigSpec `xml:"compResSpec,omitempty,typeattr" json:"compResSpec,omitempty" vim:"2.5"`
   900  	// Flag to specify whether or not the host should be
   901  	// connected as soon as it is added. The host will not
   902  	// be added if a connection attempt is made and fails.
   903  	AddConnected bool `xml:"addConnected" json:"addConnected"`
   904  	// Provide a licenseKey or licenseKeyType. See `LicenseManager`
   905  	License string `xml:"license,omitempty" json:"license,omitempty" vim:"4.0"`
   906  }
   907  
   908  func init() {
   909  	t["AddStandaloneHostRequestType"] = reflect.TypeOf((*AddStandaloneHostRequestType)(nil)).Elem()
   910  }
   911  
   912  type AddStandaloneHost_Task AddStandaloneHostRequestType
   913  
   914  func init() {
   915  	t["AddStandaloneHost_Task"] = reflect.TypeOf((*AddStandaloneHost_Task)(nil)).Elem()
   916  }
   917  
   918  type AddStandaloneHost_TaskResponse struct {
   919  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
   920  }
   921  
   922  type AddVirtualNic AddVirtualNicRequestType
   923  
   924  func init() {
   925  	t["AddVirtualNic"] = reflect.TypeOf((*AddVirtualNic)(nil)).Elem()
   926  }
   927  
   928  // The parameters of `HostNetworkSystem.AddVirtualNic`.
   929  type AddVirtualNicRequestType struct {
   930  	This ManagedObjectReference `xml:"_this" json:"-"`
   931  	// Note: Must be the empty string in case nic.distributedVirtualPort
   932  	// is set.
   933  	Portgroup string             `xml:"portgroup" json:"portgroup"`
   934  	Nic       HostVirtualNicSpec `xml:"nic" json:"nic"`
   935  }
   936  
   937  func init() {
   938  	t["AddVirtualNicRequestType"] = reflect.TypeOf((*AddVirtualNicRequestType)(nil)).Elem()
   939  }
   940  
   941  type AddVirtualNicResponse struct {
   942  	Returnval string `xml:"returnval" json:"returnval"`
   943  }
   944  
   945  type AddVirtualSwitch AddVirtualSwitchRequestType
   946  
   947  func init() {
   948  	t["AddVirtualSwitch"] = reflect.TypeOf((*AddVirtualSwitch)(nil)).Elem()
   949  }
   950  
   951  // The parameters of `HostNetworkSystem.AddVirtualSwitch`.
   952  type AddVirtualSwitchRequestType struct {
   953  	This        ManagedObjectReference `xml:"_this" json:"-"`
   954  	VswitchName string                 `xml:"vswitchName" json:"vswitchName"`
   955  	Spec        *HostVirtualSwitchSpec `xml:"spec,omitempty" json:"spec,omitempty"`
   956  }
   957  
   958  func init() {
   959  	t["AddVirtualSwitchRequestType"] = reflect.TypeOf((*AddVirtualSwitchRequestType)(nil)).Elem()
   960  }
   961  
   962  type AddVirtualSwitchResponse struct {
   963  }
   964  
   965  // Fault thrown if an attempt to disable the Administrator permission
   966  // on a host of which the Administator permission has already been disabled.
   967  type AdminDisabled struct {
   968  	HostConfigFault
   969  }
   970  
   971  func init() {
   972  	t["AdminDisabled"] = reflect.TypeOf((*AdminDisabled)(nil)).Elem()
   973  	minAPIVersionForType["AdminDisabled"] = "2.5"
   974  }
   975  
   976  type AdminDisabledFault AdminDisabled
   977  
   978  func init() {
   979  	t["AdminDisabledFault"] = reflect.TypeOf((*AdminDisabledFault)(nil)).Elem()
   980  }
   981  
   982  // Fault thrown if an attempt to enable the Administrator permission
   983  // on a host of which the Administator permission is not disabled.
   984  type AdminNotDisabled struct {
   985  	HostConfigFault
   986  }
   987  
   988  func init() {
   989  	t["AdminNotDisabled"] = reflect.TypeOf((*AdminNotDisabled)(nil)).Elem()
   990  	minAPIVersionForType["AdminNotDisabled"] = "2.5"
   991  }
   992  
   993  type AdminNotDisabledFault AdminNotDisabled
   994  
   995  func init() {
   996  	t["AdminNotDisabledFault"] = reflect.TypeOf((*AdminNotDisabledFault)(nil)).Elem()
   997  }
   998  
   999  // Default password for the Admin user on the host has not been changed.
  1000  type AdminPasswordNotChangedEvent struct {
  1001  	HostEvent
  1002  }
  1003  
  1004  func init() {
  1005  	t["AdminPasswordNotChangedEvent"] = reflect.TypeOf((*AdminPasswordNotChangedEvent)(nil)).Elem()
  1006  	minAPIVersionForType["AdminPasswordNotChangedEvent"] = "2.5"
  1007  }
  1008  
  1009  // Virtual machine has a configured memory and/or CPU affinity that will
  1010  // prevent VMotion.
  1011  //
  1012  // This is an error for powered-on virtual machines.
  1013  type AffinityConfigured struct {
  1014  	MigrationFault
  1015  
  1016  	// Configured affinity types for the virtual machine.
  1017  	//
  1018  	// See `AffinityType_enum` for valid values.
  1019  	ConfiguredAffinity []string `xml:"configuredAffinity" json:"configuredAffinity"`
  1020  }
  1021  
  1022  func init() {
  1023  	t["AffinityConfigured"] = reflect.TypeOf((*AffinityConfigured)(nil)).Elem()
  1024  }
  1025  
  1026  type AffinityConfiguredFault AffinityConfigured
  1027  
  1028  func init() {
  1029  	t["AffinityConfiguredFault"] = reflect.TypeOf((*AffinityConfiguredFault)(nil)).Elem()
  1030  }
  1031  
  1032  // The `AfterStartupTaskScheduler` data object establishes the time
  1033  // that a scheduled task will run after the vCenter server restarts.
  1034  type AfterStartupTaskScheduler struct {
  1035  	TaskScheduler
  1036  
  1037  	// The delay in minutes after vCenter server is restarted.
  1038  	//
  1039  	// The value must be greater than or equal to 0.
  1040  	Minute int32 `xml:"minute" json:"minute"`
  1041  }
  1042  
  1043  func init() {
  1044  	t["AfterStartupTaskScheduler"] = reflect.TypeOf((*AfterStartupTaskScheduler)(nil)).Elem()
  1045  }
  1046  
  1047  // An AgentInstallFailed fault is thrown when VirtualCenter
  1048  // fails to install the VirtualCenter agent on a host.
  1049  //
  1050  // For example, a fault is
  1051  // thrown if the agent software cannot be uploaded to the host or an error occurred
  1052  // during the agent installation.
  1053  type AgentInstallFailed struct {
  1054  	HostConnectFault
  1055  
  1056  	// The reason why the agent install failed, if known.
  1057  	//
  1058  	// Values should come from `AgentInstallFailedReason_enum`.
  1059  	Reason string `xml:"reason,omitempty" json:"reason,omitempty" vim:"4.0"`
  1060  	// The status code returned by the agent installer, if it was run.
  1061  	StatusCode int32 `xml:"statusCode,omitempty" json:"statusCode,omitempty" vim:"4.0"`
  1062  	// The output (stdout/stderr) from executing the agent installer.
  1063  	InstallerOutput string `xml:"installerOutput,omitempty" json:"installerOutput,omitempty" vim:"4.0"`
  1064  }
  1065  
  1066  func init() {
  1067  	t["AgentInstallFailed"] = reflect.TypeOf((*AgentInstallFailed)(nil)).Elem()
  1068  }
  1069  
  1070  type AgentInstallFailedFault AgentInstallFailed
  1071  
  1072  func init() {
  1073  	t["AgentInstallFailedFault"] = reflect.TypeOf((*AgentInstallFailedFault)(nil)).Elem()
  1074  }
  1075  
  1076  // This event records the acknowledgement of an Alarm
  1077  type AlarmAcknowledgedEvent struct {
  1078  	AlarmEvent
  1079  
  1080  	// The entity that triggered the alarm.
  1081  	Source ManagedEntityEventArgument `xml:"source" json:"source"`
  1082  	// The entity with which the alarm is registered.
  1083  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1084  }
  1085  
  1086  func init() {
  1087  	t["AlarmAcknowledgedEvent"] = reflect.TypeOf((*AlarmAcknowledgedEvent)(nil)).Elem()
  1088  	minAPIVersionForType["AlarmAcknowledgedEvent"] = "5.0"
  1089  }
  1090  
  1091  // Action invoked by triggered alarm.
  1092  //
  1093  // This is an abstract type.
  1094  type AlarmAction struct {
  1095  	DynamicData
  1096  }
  1097  
  1098  func init() {
  1099  	t["AlarmAction"] = reflect.TypeOf((*AlarmAction)(nil)).Elem()
  1100  }
  1101  
  1102  // This event records that an alarm was triggered.
  1103  type AlarmActionTriggeredEvent struct {
  1104  	AlarmEvent
  1105  
  1106  	// The entity that triggered the alarm.
  1107  	Source ManagedEntityEventArgument `xml:"source" json:"source"`
  1108  	// The entity with which the alarm is registered.
  1109  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1110  }
  1111  
  1112  func init() {
  1113  	t["AlarmActionTriggeredEvent"] = reflect.TypeOf((*AlarmActionTriggeredEvent)(nil)).Elem()
  1114  }
  1115  
  1116  // This event records the manual clearing of an Alarm
  1117  type AlarmClearedEvent struct {
  1118  	AlarmEvent
  1119  
  1120  	// The entity that triggered the alarm.
  1121  	Source ManagedEntityEventArgument `xml:"source" json:"source"`
  1122  	// The entity with which the alarm is registered.
  1123  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1124  	// The original alarm status from which it was cleared
  1125  	From string `xml:"from" json:"from"`
  1126  }
  1127  
  1128  func init() {
  1129  	t["AlarmClearedEvent"] = reflect.TypeOf((*AlarmClearedEvent)(nil)).Elem()
  1130  	minAPIVersionForType["AlarmClearedEvent"] = "5.0"
  1131  }
  1132  
  1133  // This event records the creation of an alarm.
  1134  type AlarmCreatedEvent struct {
  1135  	AlarmEvent
  1136  
  1137  	// The entity with which the alarm is registered.
  1138  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1139  }
  1140  
  1141  func init() {
  1142  	t["AlarmCreatedEvent"] = reflect.TypeOf((*AlarmCreatedEvent)(nil)).Elem()
  1143  }
  1144  
  1145  // Static strings for alarms.
  1146  type AlarmDescription struct {
  1147  	DynamicData
  1148  
  1149  	// Descriptions of expression types for a trigger.
  1150  	Expr []BaseTypeDescription `xml:"expr,typeattr" json:"expr"`
  1151  	// *State Operator enum description*
  1152  	StateOperator []BaseElementDescription `xml:"stateOperator,typeattr" json:"stateOperator"`
  1153  	// *MetricAlarmExpression Metric Operator enum description*
  1154  	MetricOperator []BaseElementDescription `xml:"metricOperator,typeattr" json:"metricOperator"`
  1155  	// *Host System Connection State enum description*
  1156  	HostSystemConnectionState []BaseElementDescription `xml:"hostSystemConnectionState,typeattr" json:"hostSystemConnectionState"`
  1157  	// *Virtual Machine Power State enum description*
  1158  	VirtualMachinePowerState []BaseElementDescription `xml:"virtualMachinePowerState,typeattr" json:"virtualMachinePowerState"`
  1159  	// `DatastoreSummary.accessible` and
  1160  	// `description`
  1161  	DatastoreConnectionState []BaseElementDescription `xml:"datastoreConnectionState,omitempty,typeattr" json:"datastoreConnectionState,omitempty" vim:"4.0"`
  1162  	// *Host System Power State enum description*
  1163  	HostSystemPowerState []BaseElementDescription `xml:"hostSystemPowerState,omitempty,typeattr" json:"hostSystemPowerState,omitempty" vim:"4.0"`
  1164  	// *Guest Heartbeat Status enum description*
  1165  	VirtualMachineGuestHeartbeatStatus []BaseElementDescription `xml:"virtualMachineGuestHeartbeatStatus,omitempty,typeattr" json:"virtualMachineGuestHeartbeatStatus,omitempty" vim:"4.0"`
  1166  	// *ManagedEntity Status enum description*
  1167  	EntityStatus []BaseElementDescription `xml:"entityStatus,typeattr" json:"entityStatus"`
  1168  	// Action class descriptions for an alarm.
  1169  	Action []BaseTypeDescription `xml:"action,typeattr" json:"action"`
  1170  }
  1171  
  1172  func init() {
  1173  	t["AlarmDescription"] = reflect.TypeOf((*AlarmDescription)(nil)).Elem()
  1174  }
  1175  
  1176  // This event records the completion of an alarm email notification.
  1177  type AlarmEmailCompletedEvent struct {
  1178  	AlarmEvent
  1179  
  1180  	// The entity with which the alarm is registered.
  1181  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1182  	// The destination email address.
  1183  	To string `xml:"to" json:"to"`
  1184  }
  1185  
  1186  func init() {
  1187  	t["AlarmEmailCompletedEvent"] = reflect.TypeOf((*AlarmEmailCompletedEvent)(nil)).Elem()
  1188  }
  1189  
  1190  // This event records a failure to complete an alarm email notification.
  1191  type AlarmEmailFailedEvent struct {
  1192  	AlarmEvent
  1193  
  1194  	// The entity with which the alarm is registered.
  1195  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1196  	// The destination email address.
  1197  	To string `xml:"to" json:"to"`
  1198  	// The reason for the failure.
  1199  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
  1200  }
  1201  
  1202  func init() {
  1203  	t["AlarmEmailFailedEvent"] = reflect.TypeOf((*AlarmEmailFailedEvent)(nil)).Elem()
  1204  }
  1205  
  1206  // This event is an alarm events.
  1207  type AlarmEvent struct {
  1208  	Event
  1209  
  1210  	// The associated alarm object.
  1211  	Alarm AlarmEventArgument `xml:"alarm" json:"alarm"`
  1212  }
  1213  
  1214  func init() {
  1215  	t["AlarmEvent"] = reflect.TypeOf((*AlarmEvent)(nil)).Elem()
  1216  }
  1217  
  1218  // The event argument is an Alarm object.
  1219  type AlarmEventArgument struct {
  1220  	EntityEventArgument
  1221  
  1222  	// The Alarm object.
  1223  	//
  1224  	// Refers instance of `Alarm`.
  1225  	Alarm ManagedObjectReference `xml:"alarm" json:"alarm"`
  1226  }
  1227  
  1228  func init() {
  1229  	t["AlarmEventArgument"] = reflect.TypeOf((*AlarmEventArgument)(nil)).Elem()
  1230  }
  1231  
  1232  // Base type for the expressions specifying the conditions that define
  1233  // the status of an alarm.
  1234  type AlarmExpression struct {
  1235  	DynamicData
  1236  }
  1237  
  1238  func init() {
  1239  	t["AlarmExpression"] = reflect.TypeOf((*AlarmExpression)(nil)).Elem()
  1240  }
  1241  
  1242  // Alarm Filter used to filter/group alarms.
  1243  type AlarmFilterSpec struct {
  1244  	DynamicData
  1245  
  1246  	// Status array which could be used to filter alarms according to their
  1247  	// triggered state.
  1248  	//
  1249  	// If all triggered alarms need to be matched an empty array or
  1250  	// ManagedEntity::red and ManagedEntity::yellow could be filled in the array.
  1251  	Status []ManagedEntityStatus `xml:"status,omitempty" json:"status,omitempty"`
  1252  	// Use values from `AlarmFilterSpecAlarmTypeByEntity_enum`
  1253  	TypeEntity string `xml:"typeEntity,omitempty" json:"typeEntity,omitempty"`
  1254  	// Use values from `AlarmFilterSpecAlarmTypeByTrigger_enum`
  1255  	TypeTrigger string `xml:"typeTrigger,omitempty" json:"typeTrigger,omitempty"`
  1256  }
  1257  
  1258  func init() {
  1259  	t["AlarmFilterSpec"] = reflect.TypeOf((*AlarmFilterSpec)(nil)).Elem()
  1260  	minAPIVersionForType["AlarmFilterSpec"] = "6.7"
  1261  }
  1262  
  1263  // Attributes of an alarm.
  1264  type AlarmInfo struct {
  1265  	AlarmSpec
  1266  
  1267  	// The unique key.
  1268  	Key string `xml:"key" json:"key"`
  1269  	// The alarm object.
  1270  	//
  1271  	// Refers instance of `Alarm`.
  1272  	Alarm ManagedObjectReference `xml:"alarm" json:"alarm"`
  1273  	// The entity on which the alarm is registered.
  1274  	//
  1275  	// Refers instance of `ManagedEntity`.
  1276  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
  1277  	// The time the alarm was created or modified.
  1278  	LastModifiedTime time.Time `xml:"lastModifiedTime" json:"lastModifiedTime"`
  1279  	// User name that modified the alarm most recently.
  1280  	LastModifiedUser string `xml:"lastModifiedUser" json:"lastModifiedUser"`
  1281  	// The event ID that records the alarm creation.
  1282  	CreationEventId int32 `xml:"creationEventId" json:"creationEventId"`
  1283  }
  1284  
  1285  func init() {
  1286  	t["AlarmInfo"] = reflect.TypeOf((*AlarmInfo)(nil)).Elem()
  1287  }
  1288  
  1289  // This event records the reconfiguration of an alarm.
  1290  type AlarmReconfiguredEvent struct {
  1291  	AlarmEvent
  1292  
  1293  	// The entity with which the alarm is registered.
  1294  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1295  	// The configuration values changed during the reconfiguration.
  1296  	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty" vim:"6.5"`
  1297  }
  1298  
  1299  func init() {
  1300  	t["AlarmReconfiguredEvent"] = reflect.TypeOf((*AlarmReconfiguredEvent)(nil)).Elem()
  1301  }
  1302  
  1303  // This event records the removal of an alarm.
  1304  type AlarmRemovedEvent struct {
  1305  	AlarmEvent
  1306  
  1307  	// The entity with which the alarm is registered.
  1308  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1309  }
  1310  
  1311  func init() {
  1312  	t["AlarmRemovedEvent"] = reflect.TypeOf((*AlarmRemovedEvent)(nil)).Elem()
  1313  }
  1314  
  1315  // This event records the completion of an alarm-triggered script.
  1316  type AlarmScriptCompleteEvent struct {
  1317  	AlarmEvent
  1318  
  1319  	// The entity with which the alarm is registered.
  1320  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1321  	// The script triggered by the alarm.
  1322  	Script string `xml:"script" json:"script"`
  1323  }
  1324  
  1325  func init() {
  1326  	t["AlarmScriptCompleteEvent"] = reflect.TypeOf((*AlarmScriptCompleteEvent)(nil)).Elem()
  1327  }
  1328  
  1329  // This event records a failure to complete an alarm-triggered script.
  1330  type AlarmScriptFailedEvent struct {
  1331  	AlarmEvent
  1332  
  1333  	// The entity with which the alarm is registered.
  1334  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1335  	// The script triggered by the alarm.
  1336  	Script string `xml:"script" json:"script"`
  1337  	// The reason for the failure.
  1338  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
  1339  }
  1340  
  1341  func init() {
  1342  	t["AlarmScriptFailedEvent"] = reflect.TypeOf((*AlarmScriptFailedEvent)(nil)).Elem()
  1343  }
  1344  
  1345  // Tolerance and frequency limits of an alarm.
  1346  type AlarmSetting struct {
  1347  	DynamicData
  1348  
  1349  	// Tolerance range for the metric triggers, measured in one hundredth percentage.
  1350  	//
  1351  	// A zero value means that the alarm
  1352  	// triggers whenever the metric value is above
  1353  	// or below the specified value.
  1354  	// A nonzero value means that the alarm
  1355  	// triggers only after reaching a certain percentage
  1356  	// above or below the nominal trigger value.
  1357  	ToleranceRange int32 `xml:"toleranceRange" json:"toleranceRange"`
  1358  	// How often the alarm is triggered, measured in seconds.
  1359  	//
  1360  	// A zero value means that the alarm is allowed
  1361  	// to trigger as often as possible.
  1362  	// A nonzero value means that any subsequent triggers
  1363  	// are suppressed for a period of seconds following a
  1364  	// reported trigger.
  1365  	ReportingFrequency int32 `xml:"reportingFrequency" json:"reportingFrequency"`
  1366  }
  1367  
  1368  func init() {
  1369  	t["AlarmSetting"] = reflect.TypeOf((*AlarmSetting)(nil)).Elem()
  1370  }
  1371  
  1372  // This event records the completion of an alarm SNMP notification.
  1373  type AlarmSnmpCompletedEvent struct {
  1374  	AlarmEvent
  1375  
  1376  	// The entity with which the alarm is registered.
  1377  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1378  }
  1379  
  1380  func init() {
  1381  	t["AlarmSnmpCompletedEvent"] = reflect.TypeOf((*AlarmSnmpCompletedEvent)(nil)).Elem()
  1382  }
  1383  
  1384  // This event records a failure to complete an alarm SNMP notification.
  1385  type AlarmSnmpFailedEvent struct {
  1386  	AlarmEvent
  1387  
  1388  	// The entity with which the alarm is registered.
  1389  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1390  	// The reason for the failure.
  1391  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
  1392  }
  1393  
  1394  func init() {
  1395  	t["AlarmSnmpFailedEvent"] = reflect.TypeOf((*AlarmSnmpFailedEvent)(nil)).Elem()
  1396  }
  1397  
  1398  // Parameters for alarm creation.
  1399  type AlarmSpec struct {
  1400  	DynamicData
  1401  
  1402  	// Name of the alarm.
  1403  	Name string `xml:"name" json:"name"`
  1404  	// System name of the alarm.
  1405  	//
  1406  	// This is set only for predefined Alarms - i.e. Alarms created by the
  1407  	// server or extensions automatically. After creation this value cannot be
  1408  	// modified. User-created Alarms do not have a systemName at all.
  1409  	//
  1410  	// The purpose of this field is to identify system-created Alarms
  1411  	// reliably, even if they are edited by users.
  1412  	//
  1413  	// When creating Alarms with systemName, the systemName and the name of the
  1414  	// alarm should be equal.
  1415  	//
  1416  	// When reconfiguring an Alarm with systemName, the same systemName should
  1417  	// be passed in the new AlarmSpec. Renaming Alarms with systemName is not
  1418  	// allowed, i.e. when reconfiguring, the name passed in the new AlarmSpec
  1419  	// should be equal to either the systemName or its localized version (the
  1420  	// current name in the Alarm's info).
  1421  	SystemName string `xml:"systemName,omitempty" json:"systemName,omitempty" vim:"5.0"`
  1422  	// Description of the alarm.
  1423  	Description string `xml:"description" json:"description"`
  1424  	// Flag to indicate whether or not the alarm is enabled or disabled.
  1425  	Enabled bool `xml:"enabled" json:"enabled"`
  1426  	// Top-level alarm expression that defines trigger conditions.
  1427  	Expression BaseAlarmExpression `xml:"expression,typeattr" json:"expression"`
  1428  	// Action to perform when the alarm is triggered.
  1429  	Action BaseAlarmAction `xml:"action,omitempty,typeattr" json:"action,omitempty"`
  1430  	// Frequency in seconds, which specifies how often appropriate actions
  1431  	// should repeat when an alarm does not change state.
  1432  	ActionFrequency int32 `xml:"actionFrequency,omitempty" json:"actionFrequency,omitempty" vim:"4.0"`
  1433  	// Tolerance and maximum frequency settings.
  1434  	Setting *AlarmSetting `xml:"setting,omitempty" json:"setting,omitempty"`
  1435  }
  1436  
  1437  func init() {
  1438  	t["AlarmSpec"] = reflect.TypeOf((*AlarmSpec)(nil)).Elem()
  1439  }
  1440  
  1441  // Information about the alarm's state.
  1442  type AlarmState struct {
  1443  	DynamicData
  1444  
  1445  	// Unique key that identifies the alarm.
  1446  	Key string `xml:"key" json:"key"`
  1447  	// Entity on which the alarm is instantiated.
  1448  	//
  1449  	// Refers instance of `ManagedEntity`.
  1450  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
  1451  	// Alarm object from which the AlarmState object is instantiated.
  1452  	//
  1453  	// Refers instance of `Alarm`.
  1454  	Alarm ManagedObjectReference `xml:"alarm" json:"alarm"`
  1455  	// Overall status of the alarm object.
  1456  	//
  1457  	// This is the value of the alarm's top-level expression.
  1458  	// In releases after vSphere API 5.0, vSphere Servers might not
  1459  	// generate property collector update notifications for this property.
  1460  	// To obtain the latest value of the property, you can use
  1461  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
  1462  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
  1463  	// an empty string for the version parameter.
  1464  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
  1465  	// contain values for this property when some other property on the DataObject changes.
  1466  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
  1467  	// version parameter, the value for this property may not be current.
  1468  	OverallStatus ManagedEntityStatus `xml:"overallStatus" json:"overallStatus"`
  1469  	// Time the alarm triggered.
  1470  	Time time.Time `xml:"time" json:"time"`
  1471  	// Flag to indicate if the alarm's actions have been acknowledged for the
  1472  	// associated ManagedEntity.
  1473  	Acknowledged *bool `xml:"acknowledged" json:"acknowledged,omitempty" vim:"4.0"`
  1474  	// The user who acknowledged this triggering.
  1475  	//
  1476  	// If the triggering has not
  1477  	// been acknowledged, then the value is not valid.
  1478  	AcknowledgedByUser string `xml:"acknowledgedByUser,omitempty" json:"acknowledgedByUser,omitempty" vim:"4.0"`
  1479  	// The time this triggering was acknowledged.
  1480  	//
  1481  	// If the triggering has not
  1482  	// been acknowledged, then the value is not valid.
  1483  	AcknowledgedTime *time.Time `xml:"acknowledgedTime" json:"acknowledgedTime,omitempty" vim:"4.0"`
  1484  	// Contains the key of the event that has triggered the alarm.
  1485  	//
  1486  	// The value
  1487  	// is set only for event based alarms. The value is not set for gray or
  1488  	// manually reset alarms (via vim.AlarmManager.setAlarmStatus).
  1489  	EventKey int32 `xml:"eventKey,omitempty" json:"eventKey,omitempty" vim:"6.0"`
  1490  	// Flag to indicate if the alarm is disabled for the associated
  1491  	// ManagedEntity.
  1492  	Disabled *bool `xml:"disabled" json:"disabled,omitempty" vim:"6.9.1"`
  1493  }
  1494  
  1495  func init() {
  1496  	t["AlarmState"] = reflect.TypeOf((*AlarmState)(nil)).Elem()
  1497  }
  1498  
  1499  // This event records a status change for an alarm.
  1500  type AlarmStatusChangedEvent struct {
  1501  	AlarmEvent
  1502  
  1503  	// The entity for which the alarm status has been changed.
  1504  	Source ManagedEntityEventArgument `xml:"source" json:"source"`
  1505  	// The entity with which the alarm is registered.
  1506  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1507  	// The original alarm status.
  1508  	From string `xml:"from" json:"from"`
  1509  	// The new alarm status.
  1510  	To string `xml:"to" json:"to"`
  1511  }
  1512  
  1513  func init() {
  1514  	t["AlarmStatusChangedEvent"] = reflect.TypeOf((*AlarmStatusChangedEvent)(nil)).Elem()
  1515  }
  1516  
  1517  // This data object type describes one or more
  1518  // triggering transitions and an action to be done
  1519  // when an alarm is triggered.
  1520  //
  1521  // There are four triggering transitions; at least one of them must
  1522  // be provided. A gray state is considered the same as a green state,
  1523  // for the purpose of detecting transitions.
  1524  type AlarmTriggeringAction struct {
  1525  	AlarmAction
  1526  
  1527  	// The action to be done when the alarm is triggered.
  1528  	Action BaseAction `xml:"action,typeattr" json:"action"`
  1529  	// Indicates on which transitions this action executes and repeats.
  1530  	//
  1531  	// This is optional only for backwards compatibility.
  1532  	TransitionSpecs []AlarmTriggeringActionTransitionSpec `xml:"transitionSpecs,omitempty" json:"transitionSpecs,omitempty" vim:"4.0"`
  1533  	// Deprecated as of vSphere API 4.0, use
  1534  	// `AlarmTriggeringActionTransitionSpec` .
  1535  	//
  1536  	// Flag to specify that the alarm should trigger on a transition
  1537  	// from green to yellow.
  1538  	Green2yellow bool `xml:"green2yellow" json:"green2yellow"`
  1539  	// Deprecated as of vSphere API 4.0, use
  1540  	// `AlarmTriggeringActionTransitionSpec` .
  1541  	//
  1542  	// Flag to specify that the alarm should trigger on a transition
  1543  	// from yellow to red.
  1544  	Yellow2red bool `xml:"yellow2red" json:"yellow2red"`
  1545  	// Deprecated as of vSphere API 4.0, use
  1546  	// `AlarmTriggeringActionTransitionSpec` .
  1547  	//
  1548  	// Flag to specify that the alarm should trigger on a transition
  1549  	// from red to yellow.
  1550  	Red2yellow bool `xml:"red2yellow" json:"red2yellow"`
  1551  	// Deprecated as of vSphere API 4.0, use
  1552  	// `AlarmTriggeringActionTransitionSpec` .
  1553  	//
  1554  	// Flag to specify that the alarm should trigger on a transition
  1555  	// from yellow to green.
  1556  	Yellow2green bool `xml:"yellow2green" json:"yellow2green"`
  1557  }
  1558  
  1559  func init() {
  1560  	t["AlarmTriggeringAction"] = reflect.TypeOf((*AlarmTriggeringAction)(nil)).Elem()
  1561  }
  1562  
  1563  // Specification indicating which on transitions this action fires.
  1564  //
  1565  // The existence of a Spec indicates that this action fires on
  1566  // transitions from that Spec's startState to finalState.
  1567  //
  1568  // There are six acceptable {startState, finalState} pairs:
  1569  // {green, yellow}, {green, red}, {yellow, red}, {red, yellow},
  1570  // {red, green} and {yellow, green}.
  1571  // Direct transitions have precedence over indirect.
  1572  // At least one of these pairs must be specified.
  1573  // Any deviation from the above will render the enclosing AlarmSpec invalid.
  1574  type AlarmTriggeringActionTransitionSpec struct {
  1575  	DynamicData
  1576  
  1577  	// The state from which the alarm must transition for the action to
  1578  	// fire.
  1579  	//
  1580  	// Valid choices are red, yellow and green.
  1581  	StartState ManagedEntityStatus `xml:"startState" json:"startState"`
  1582  	// The state to which the alarm must transition for the action to fire.
  1583  	//
  1584  	// Valid choices are red, yellow, and green.
  1585  	FinalState ManagedEntityStatus `xml:"finalState" json:"finalState"`
  1586  	// Whether or not the action repeats, as per the actionFrequency defined
  1587  	// in the enclosing Alarm.
  1588  	Repeats bool `xml:"repeats" json:"repeats"`
  1589  }
  1590  
  1591  func init() {
  1592  	t["AlarmTriggeringActionTransitionSpec"] = reflect.TypeOf((*AlarmTriggeringActionTransitionSpec)(nil)).Elem()
  1593  	minAPIVersionForType["AlarmTriggeringActionTransitionSpec"] = "4.0"
  1594  }
  1595  
  1596  // This event records that the previously unlicensed virtual machines on
  1597  // the specified host are now licensed.
  1598  //
  1599  // After this event is entered into
  1600  // the event log, we expect to see that the (@link
  1601  // vim.event.Event.UnlicensedVirtualMachinesEvent
  1602  // UnlicensedVirtualMachinesEvent) (@link vim.ManagedEntity.configIssue
  1603  // configIssue) is removed from the host.
  1604  type AllVirtualMachinesLicensedEvent struct {
  1605  	LicenseEvent
  1606  }
  1607  
  1608  func init() {
  1609  	t["AllVirtualMachinesLicensedEvent"] = reflect.TypeOf((*AllVirtualMachinesLicensedEvent)(nil)).Elem()
  1610  	minAPIVersionForType["AllVirtualMachinesLicensedEvent"] = "2.5"
  1611  }
  1612  
  1613  type AllocateIpv4Address AllocateIpv4AddressRequestType
  1614  
  1615  func init() {
  1616  	t["AllocateIpv4Address"] = reflect.TypeOf((*AllocateIpv4Address)(nil)).Elem()
  1617  }
  1618  
  1619  // The parameters of `IpPoolManager.AllocateIpv4Address`.
  1620  type AllocateIpv4AddressRequestType struct {
  1621  	This ManagedObjectReference `xml:"_this" json:"-"`
  1622  	// The datacenter on which to find the pool
  1623  	//
  1624  	// Refers instance of `Datacenter`.
  1625  	Dc ManagedObjectReference `xml:"dc" json:"dc"`
  1626  	// The unique ID of the pool
  1627  	PoolId int32 `xml:"poolId" json:"poolId"`
  1628  	// The unique ID for this allocation
  1629  	AllocationId string `xml:"allocationId" json:"allocationId"`
  1630  }
  1631  
  1632  func init() {
  1633  	t["AllocateIpv4AddressRequestType"] = reflect.TypeOf((*AllocateIpv4AddressRequestType)(nil)).Elem()
  1634  }
  1635  
  1636  type AllocateIpv4AddressResponse struct {
  1637  	Returnval string `xml:"returnval" json:"returnval"`
  1638  }
  1639  
  1640  type AllocateIpv6Address AllocateIpv6AddressRequestType
  1641  
  1642  func init() {
  1643  	t["AllocateIpv6Address"] = reflect.TypeOf((*AllocateIpv6Address)(nil)).Elem()
  1644  }
  1645  
  1646  // The parameters of `IpPoolManager.AllocateIpv6Address`.
  1647  type AllocateIpv6AddressRequestType struct {
  1648  	This ManagedObjectReference `xml:"_this" json:"-"`
  1649  	// The datacenter on which to find the pool
  1650  	//
  1651  	// Refers instance of `Datacenter`.
  1652  	Dc ManagedObjectReference `xml:"dc" json:"dc"`
  1653  	// The unique ID of the pool
  1654  	PoolId int32 `xml:"poolId" json:"poolId"`
  1655  	// The unique ID for this allocation
  1656  	AllocationId string `xml:"allocationId" json:"allocationId"`
  1657  }
  1658  
  1659  func init() {
  1660  	t["AllocateIpv6AddressRequestType"] = reflect.TypeOf((*AllocateIpv6AddressRequestType)(nil)).Elem()
  1661  }
  1662  
  1663  type AllocateIpv6AddressResponse struct {
  1664  	Returnval string `xml:"returnval" json:"returnval"`
  1665  }
  1666  
  1667  // This event records a failed user logon due to the user already being logged on.
  1668  type AlreadyAuthenticatedSessionEvent struct {
  1669  	SessionEvent
  1670  }
  1671  
  1672  func init() {
  1673  	t["AlreadyAuthenticatedSessionEvent"] = reflect.TypeOf((*AlreadyAuthenticatedSessionEvent)(nil)).Elem()
  1674  }
  1675  
  1676  // AlreadyBeingManaged fault is thrown by the host
  1677  // connect method if the host is already being managed
  1678  // by a VirtualCenter server.
  1679  type AlreadyBeingManaged struct {
  1680  	HostConnectFault
  1681  
  1682  	// IP address of server that is currently managing the host.
  1683  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
  1684  }
  1685  
  1686  func init() {
  1687  	t["AlreadyBeingManaged"] = reflect.TypeOf((*AlreadyBeingManaged)(nil)).Elem()
  1688  }
  1689  
  1690  type AlreadyBeingManagedFault AlreadyBeingManaged
  1691  
  1692  func init() {
  1693  	t["AlreadyBeingManagedFault"] = reflect.TypeOf((*AlreadyBeingManagedFault)(nil)).Elem()
  1694  }
  1695  
  1696  // AlreadyConnect fault is thrown by the host connect method
  1697  // if the host is already connected to a VirtualCenter server.
  1698  //
  1699  // This might occur if the host has been added more than once
  1700  // in the same VirtualCenter in different folders or compute
  1701  // resources.
  1702  type AlreadyConnected struct {
  1703  	HostConnectFault
  1704  
  1705  	// Name of the host
  1706  	Name string `xml:"name" json:"name"`
  1707  }
  1708  
  1709  func init() {
  1710  	t["AlreadyConnected"] = reflect.TypeOf((*AlreadyConnected)(nil)).Elem()
  1711  }
  1712  
  1713  type AlreadyConnectedFault AlreadyConnected
  1714  
  1715  func init() {
  1716  	t["AlreadyConnectedFault"] = reflect.TypeOf((*AlreadyConnectedFault)(nil)).Elem()
  1717  }
  1718  
  1719  // An AlreadyExists fault is thrown when an attempt is made to add an element
  1720  // to a collection, if the element's key, name, or identifier already exists in that
  1721  // collection.
  1722  type AlreadyExists struct {
  1723  	VimFault
  1724  
  1725  	Name string `xml:"name,omitempty" json:"name,omitempty"`
  1726  }
  1727  
  1728  func init() {
  1729  	t["AlreadyExists"] = reflect.TypeOf((*AlreadyExists)(nil)).Elem()
  1730  }
  1731  
  1732  type AlreadyExistsFault AlreadyExists
  1733  
  1734  func init() {
  1735  	t["AlreadyExistsFault"] = reflect.TypeOf((*AlreadyExistsFault)(nil)).Elem()
  1736  }
  1737  
  1738  // An AlreadyUpgraded fault is thrown when an attempt is made to upgrade the
  1739  // virtual hardware of a Virtual machine whose virtual hardware is already
  1740  // up-to-date.
  1741  type AlreadyUpgraded struct {
  1742  	VimFault
  1743  }
  1744  
  1745  func init() {
  1746  	t["AlreadyUpgraded"] = reflect.TypeOf((*AlreadyUpgraded)(nil)).Elem()
  1747  }
  1748  
  1749  type AlreadyUpgradedFault AlreadyUpgraded
  1750  
  1751  func init() {
  1752  	t["AlreadyUpgradedFault"] = reflect.TypeOf((*AlreadyUpgradedFault)(nil)).Elem()
  1753  }
  1754  
  1755  // A data object type that links multiple alarm expressions with AND operators.
  1756  type AndAlarmExpression struct {
  1757  	AlarmExpression
  1758  
  1759  	// List of alarm expressions that define the overall status of the alarm.
  1760  	//     - The state of the alarm expression is gray if all subexpressions are gray.
  1761  	//       Otherwise, gray subexpressions are ignored.
  1762  	//     - The state is red if all subexpressions are red.
  1763  	//     - Otherwise, the state is yellow if all subexpressions are red or yellow.
  1764  	//     - Otherwise, the state of the alarm expression is green.
  1765  	Expression []BaseAlarmExpression `xml:"expression,typeattr" json:"expression"`
  1766  }
  1767  
  1768  func init() {
  1769  	t["AndAlarmExpression"] = reflect.TypeOf((*AndAlarmExpression)(nil)).Elem()
  1770  }
  1771  
  1772  // The `AnswerFile` data object contains host-specific information that a host
  1773  // will use in combination with a `HostProfile` for configuration.
  1774  //
  1775  // Answer files are stored on the vCenter Server, along with host profiles.
  1776  // An answer file is always associated with a particular host.
  1777  //
  1778  // To supply host-specific data:
  1779  //   - Specify deferred parameters when you call the
  1780  //     `HostProfile*.*HostProfile.ExecuteHostProfile`
  1781  //     method. The host profile engine will verify the set of parameters for the
  1782  //     additional configuration data.
  1783  //   - Use the complete required input list
  1784  //     (`ProfileExecuteResult*.*ProfileExecuteResult.requireInput`\[\])
  1785  //     as user input for the
  1786  //     `HostProfileManager*.*HostProfileManager.ApplyHostConfig_Task`
  1787  //     method. When you apply the profile, the vCenter Server saves the additional configuration
  1788  //     data in the `AnswerFile.userInput` list.
  1789  //   - Use the `HostProfileManager*.*HostProfileManager.UpdateAnswerFile_Task` method. This method will update an existing answer file or create a new one.
  1790  type AnswerFile struct {
  1791  	DynamicData
  1792  
  1793  	// List containing host-specific configuration data.
  1794  	UserInput []ProfileDeferredPolicyOptionParameter `xml:"userInput,omitempty" json:"userInput,omitempty"`
  1795  	// Time at which the answer file was created.
  1796  	CreatedTime time.Time `xml:"createdTime" json:"createdTime"`
  1797  	// Time at which the answer file was last modified.
  1798  	ModifiedTime time.Time `xml:"modifiedTime" json:"modifiedTime"`
  1799  }
  1800  
  1801  func init() {
  1802  	t["AnswerFile"] = reflect.TypeOf((*AnswerFile)(nil)).Elem()
  1803  	minAPIVersionForType["AnswerFile"] = "5.0"
  1804  }
  1805  
  1806  // Base class for host-specific answer file options.
  1807  type AnswerFileCreateSpec struct {
  1808  	DynamicData
  1809  
  1810  	// If "false", then the answer file will be saved without being validated.
  1811  	//
  1812  	// The default if not specified is "true".
  1813  	// This option should be used with caution, since the resulting answer
  1814  	// file will not be checked for errors.
  1815  	Validating *bool `xml:"validating" json:"validating,omitempty" vim:"6.0"`
  1816  }
  1817  
  1818  func init() {
  1819  	t["AnswerFileCreateSpec"] = reflect.TypeOf((*AnswerFileCreateSpec)(nil)).Elem()
  1820  	minAPIVersionForType["AnswerFileCreateSpec"] = "5.0"
  1821  }
  1822  
  1823  // The `AnswerFileOptionsCreateSpec`
  1824  // data object contains host-specific user input for an answer file.
  1825  type AnswerFileOptionsCreateSpec struct {
  1826  	AnswerFileCreateSpec
  1827  
  1828  	// List of parameters that contain host-specific data.
  1829  	UserInput []ProfileDeferredPolicyOptionParameter `xml:"userInput,omitempty" json:"userInput,omitempty"`
  1830  }
  1831  
  1832  func init() {
  1833  	t["AnswerFileOptionsCreateSpec"] = reflect.TypeOf((*AnswerFileOptionsCreateSpec)(nil)).Elem()
  1834  	minAPIVersionForType["AnswerFileOptionsCreateSpec"] = "5.0"
  1835  }
  1836  
  1837  // The `AnswerFileSerializedCreateSpec` data object
  1838  // contains a serialized string representation of host-specific data for an answer file.
  1839  type AnswerFileSerializedCreateSpec struct {
  1840  	AnswerFileCreateSpec
  1841  
  1842  	// Host-specific user input.
  1843  	AnswerFileConfigString string `xml:"answerFileConfigString" json:"answerFileConfigString"`
  1844  }
  1845  
  1846  func init() {
  1847  	t["AnswerFileSerializedCreateSpec"] = reflect.TypeOf((*AnswerFileSerializedCreateSpec)(nil)).Elem()
  1848  	minAPIVersionForType["AnswerFileSerializedCreateSpec"] = "5.0"
  1849  }
  1850  
  1851  // The `AnswerFileStatusError` data object describes an answer file
  1852  // error and identifies the profile or policy option with which the error
  1853  // is associated.
  1854  type AnswerFileStatusError struct {
  1855  	DynamicData
  1856  
  1857  	// Path to a profile or a policy option for host-specific data.
  1858  	UserInputPath ProfilePropertyPath `xml:"userInputPath" json:"userInputPath"`
  1859  	// Message describing the error.
  1860  	ErrMsg LocalizableMessage `xml:"errMsg" json:"errMsg"`
  1861  }
  1862  
  1863  func init() {
  1864  	t["AnswerFileStatusError"] = reflect.TypeOf((*AnswerFileStatusError)(nil)).Elem()
  1865  	minAPIVersionForType["AnswerFileStatusError"] = "5.0"
  1866  }
  1867  
  1868  // The `AnswerFileStatusResult` data object shows the validity of the
  1869  // answer file associated with a host.
  1870  type AnswerFileStatusResult struct {
  1871  	DynamicData
  1872  
  1873  	// Time that the answer file status was determined.
  1874  	CheckedTime time.Time `xml:"checkedTime" json:"checkedTime"`
  1875  	// Host associated with the answer file.
  1876  	//
  1877  	// Refers instance of `HostSystem`.
  1878  	Host ManagedObjectReference `xml:"host" json:"host"`
  1879  	// Status of the answer file.
  1880  	//
  1881  	// See `HostProfileManagerAnswerFileStatus_enum` for valid values.
  1882  	Status string `xml:"status" json:"status"`
  1883  	// If <code>status</code> is <code>invalid</code>, this property contains a list
  1884  	// of status error objects.
  1885  	Error []AnswerFileStatusError `xml:"error,omitempty" json:"error,omitempty"`
  1886  }
  1887  
  1888  func init() {
  1889  	t["AnswerFileStatusResult"] = reflect.TypeOf((*AnswerFileStatusResult)(nil)).Elem()
  1890  	minAPIVersionForType["AnswerFileStatusResult"] = "5.0"
  1891  }
  1892  
  1893  // Could not update the answer file as it has invalid inputs.
  1894  type AnswerFileUpdateFailed struct {
  1895  	VimFault
  1896  
  1897  	// Failures encountered during answer file update
  1898  	Failure []AnswerFileUpdateFailure `xml:"failure" json:"failure"`
  1899  }
  1900  
  1901  func init() {
  1902  	t["AnswerFileUpdateFailed"] = reflect.TypeOf((*AnswerFileUpdateFailed)(nil)).Elem()
  1903  	minAPIVersionForType["AnswerFileUpdateFailed"] = "5.0"
  1904  }
  1905  
  1906  type AnswerFileUpdateFailedFault AnswerFileUpdateFailed
  1907  
  1908  func init() {
  1909  	t["AnswerFileUpdateFailedFault"] = reflect.TypeOf((*AnswerFileUpdateFailedFault)(nil)).Elem()
  1910  }
  1911  
  1912  // DataObject which represents the errors that occurred when an
  1913  // answer file update was performed.
  1914  type AnswerFileUpdateFailure struct {
  1915  	DynamicData
  1916  
  1917  	// The user input that has the error
  1918  	UserInputPath ProfilePropertyPath `xml:"userInputPath" json:"userInputPath"`
  1919  	// Message which explains the error
  1920  	ErrMsg LocalizableMessage `xml:"errMsg" json:"errMsg"`
  1921  }
  1922  
  1923  func init() {
  1924  	t["AnswerFileUpdateFailure"] = reflect.TypeOf((*AnswerFileUpdateFailure)(nil)).Elem()
  1925  	minAPIVersionForType["AnswerFileUpdateFailure"] = "5.0"
  1926  }
  1927  
  1928  type AnswerVM AnswerVMRequestType
  1929  
  1930  func init() {
  1931  	t["AnswerVM"] = reflect.TypeOf((*AnswerVM)(nil)).Elem()
  1932  }
  1933  
  1934  // The parameters of `VirtualMachine.AnswerVM`.
  1935  type AnswerVMRequestType struct {
  1936  	This ManagedObjectReference `xml:"_this" json:"-"`
  1937  	// The value from QuestionInfo.id that identifies the question
  1938  	// to answer.
  1939  	QuestionId string `xml:"questionId" json:"questionId"`
  1940  	// The contents of the QuestionInfo.choice.value array element
  1941  	// that identifies the desired answer.
  1942  	AnswerChoice string `xml:"answerChoice" json:"answerChoice"`
  1943  }
  1944  
  1945  func init() {
  1946  	t["AnswerVMRequestType"] = reflect.TypeOf((*AnswerVMRequestType)(nil)).Elem()
  1947  }
  1948  
  1949  type AnswerVMResponse struct {
  1950  }
  1951  
  1952  // This fault is thrown when creating a quiesced snapshot failed
  1953  // because the (user-supplied) custom pre-freeze script in the
  1954  // virtual machine exited with a non-zero return code.
  1955  //
  1956  // This indicates that the script failed to perform its quiescing
  1957  // task, which causes us to fail the quiesced snapshot operation.
  1958  type ApplicationQuiesceFault struct {
  1959  	SnapshotFault
  1960  }
  1961  
  1962  func init() {
  1963  	t["ApplicationQuiesceFault"] = reflect.TypeOf((*ApplicationQuiesceFault)(nil)).Elem()
  1964  }
  1965  
  1966  type ApplicationQuiesceFaultFault ApplicationQuiesceFault
  1967  
  1968  func init() {
  1969  	t["ApplicationQuiesceFaultFault"] = reflect.TypeOf((*ApplicationQuiesceFaultFault)(nil)).Elem()
  1970  }
  1971  
  1972  // The parameters of `HostProfileManager.ApplyEntitiesConfig_Task`.
  1973  type ApplyEntitiesConfigRequestType struct {
  1974  	This ManagedObjectReference `xml:"_this" json:"-"`
  1975  	// An array of
  1976  	// `ApplyHostProfileConfigurationSpec`
  1977  	// objects. Each applyConfigSpecs object contains the data objects
  1978  	// required to remediate a host. The API caller should expand
  1979  	// a cluster to all its hosts for the purpose of providing the
  1980  	// required data object for configuration apply of each host.
  1981  	ApplyConfigSpecs []ApplyHostProfileConfigurationSpec `xml:"applyConfigSpecs,omitempty" json:"applyConfigSpecs,omitempty"`
  1982  }
  1983  
  1984  func init() {
  1985  	t["ApplyEntitiesConfigRequestType"] = reflect.TypeOf((*ApplyEntitiesConfigRequestType)(nil)).Elem()
  1986  }
  1987  
  1988  type ApplyEntitiesConfig_Task ApplyEntitiesConfigRequestType
  1989  
  1990  func init() {
  1991  	t["ApplyEntitiesConfig_Task"] = reflect.TypeOf((*ApplyEntitiesConfig_Task)(nil)).Elem()
  1992  }
  1993  
  1994  type ApplyEntitiesConfig_TaskResponse struct {
  1995  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  1996  }
  1997  
  1998  // The parameters of `VirtualMachine.ApplyEvcModeVM_Task`.
  1999  type ApplyEvcModeVMRequestType struct {
  2000  	This ManagedObjectReference `xml:"_this" json:"-"`
  2001  	// The feature masks to apply to the virtual machine.
  2002  	// An empty set of masks will clear EVC settings.
  2003  	Mask []HostFeatureMask `xml:"mask,omitempty" json:"mask,omitempty"`
  2004  	// Defaults to true if not set. A true value implies
  2005  	// that any unspecified feature will not be exposed to the guest.
  2006  	// A false value will expose any unspecified feature to the guest
  2007  	// with the value of the host.
  2008  	CompleteMasks *bool `xml:"completeMasks" json:"completeMasks,omitempty"`
  2009  }
  2010  
  2011  func init() {
  2012  	t["ApplyEvcModeVMRequestType"] = reflect.TypeOf((*ApplyEvcModeVMRequestType)(nil)).Elem()
  2013  }
  2014  
  2015  type ApplyEvcModeVM_Task ApplyEvcModeVMRequestType
  2016  
  2017  func init() {
  2018  	t["ApplyEvcModeVM_Task"] = reflect.TypeOf((*ApplyEvcModeVM_Task)(nil)).Elem()
  2019  }
  2020  
  2021  type ApplyEvcModeVM_TaskResponse struct {
  2022  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  2023  }
  2024  
  2025  // The parameters of `HostProfileManager.ApplyHostConfig_Task`.
  2026  type ApplyHostConfigRequestType struct {
  2027  	This ManagedObjectReference `xml:"_this" json:"-"`
  2028  	// Host to be updated. User must have sufficient credentials and privileges
  2029  	// to satisfy the contents of the <code>configSpec</code>.
  2030  	//
  2031  	// Refers instance of `HostSystem`.
  2032  	Host ManagedObjectReference `xml:"host" json:"host"`
  2033  	// Set of configuration changes to be applied to the host.
  2034  	// The changes are returned by the
  2035  	// `HostProfile*.*HostProfile.ExecuteHostProfile`
  2036  	// method in the
  2037  	// `ProfileExecuteResult*.*ProfileExecuteResult.configSpec`
  2038  	// property.
  2039  	ConfigSpec HostConfigSpec `xml:"configSpec" json:"configSpec"`
  2040  	// Additional host-specific data to be applied to the host.
  2041  	// This data is the complete list of deferred parameters verified by the
  2042  	// `HostProfile*.*HostProfile.ExecuteHostProfile`
  2043  	// method, contained in the `ProfileExecuteResult` object
  2044  	// returned by the method.
  2045  	UserInput []ProfileDeferredPolicyOptionParameter `xml:"userInput,omitempty" json:"userInput,omitempty" vim:"5.0"`
  2046  }
  2047  
  2048  func init() {
  2049  	t["ApplyHostConfigRequestType"] = reflect.TypeOf((*ApplyHostConfigRequestType)(nil)).Elem()
  2050  }
  2051  
  2052  type ApplyHostConfig_Task ApplyHostConfigRequestType
  2053  
  2054  func init() {
  2055  	t["ApplyHostConfig_Task"] = reflect.TypeOf((*ApplyHostConfig_Task)(nil)).Elem()
  2056  }
  2057  
  2058  type ApplyHostConfig_TaskResponse struct {
  2059  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  2060  }
  2061  
  2062  // The `ApplyHostProfileConfigurationResult` data object contains the remediation
  2063  // results for a host: the time that the remediation happens, the status,
  2064  // the errors, and optinal compliance result after reboot.
  2065  type ApplyHostProfileConfigurationResult struct {
  2066  	DynamicData
  2067  
  2068  	// Time that the host config apply starts.
  2069  	StartTime time.Time `xml:"startTime" json:"startTime"`
  2070  	// Time that the host config apply completes.
  2071  	CompleteTime time.Time `xml:"completeTime" json:"completeTime"`
  2072  	// Host to be remediated.
  2073  	//
  2074  	// Refers instance of `HostSystem`.
  2075  	Host ManagedObjectReference `xml:"host" json:"host"`
  2076  	// Status of the remediation.
  2077  	//
  2078  	// See
  2079  	// `ApplyHostProfileConfigurationResultStatus_enum`
  2080  	// for valid values.
  2081  	Status string `xml:"status" json:"status"`
  2082  	// If <code>status</code> is <code>fail</code>, this property contains
  2083  	// a list of status error message objects.
  2084  	Errors []LocalizedMethodFault `xml:"errors,omitempty" json:"errors,omitempty"`
  2085  }
  2086  
  2087  func init() {
  2088  	t["ApplyHostProfileConfigurationResult"] = reflect.TypeOf((*ApplyHostProfileConfigurationResult)(nil)).Elem()
  2089  	minAPIVersionForType["ApplyHostProfileConfigurationResult"] = "6.5"
  2090  }
  2091  
  2092  // The data object that contains the objects needed to remediate a host
  2093  // in host profile batch apply.
  2094  type ApplyHostProfileConfigurationSpec struct {
  2095  	ProfileExecuteResult
  2096  
  2097  	// The host to be remediated.
  2098  	//
  2099  	// Refers instance of `HostSystem`.
  2100  	Host ManagedObjectReference `xml:"host" json:"host"`
  2101  	// The task requirements from the results of
  2102  	// `HostProfileManager.GenerateConfigTaskList` method
  2103  	TaskListRequirement []string `xml:"taskListRequirement,omitempty" json:"taskListRequirement,omitempty"`
  2104  	// Description of tasks that will be performed on the host
  2105  	// to carry out HostProfile application.
  2106  	TaskDescription []LocalizableMessage `xml:"taskDescription,omitempty" json:"taskDescription,omitempty"`
  2107  	// For a stateless host, there are two approaches to apply a host
  2108  	// profile:
  2109  	// (1) Reboot the host and apply the host profile at boot time.
  2110  	//
  2111  	// (2) Apply the host profile directly from VC. We call this as
  2112  	// regular apply.
  2113  	// The variable rebootStateless allows users to choose the first
  2114  	// approach from the two approaches above:
  2115  	// apply host profile by rebooting this host.
  2116  	RebootStateless *bool `xml:"rebootStateless" json:"rebootStateless,omitempty"`
  2117  	// For regular apply, when some of the tasks requires reboot,
  2118  	// that this variable is<code>true</code> indicates that the
  2119  	// reboot automatically happens in the batch profile apply
  2120  	// than that the user will manually reboot the system later.
  2121  	//
  2122  	// For stateless host, this variable takes effect only when
  2123  	// the variable <code>rebootStateless</code> above is
  2124  	// <code>false</code>.
  2125  	RebootHost *bool `xml:"rebootHost" json:"rebootHost,omitempty"`
  2126  	// This contains the error details.
  2127  	FaultData *LocalizedMethodFault `xml:"faultData,omitempty" json:"faultData,omitempty"`
  2128  }
  2129  
  2130  func init() {
  2131  	t["ApplyHostProfileConfigurationSpec"] = reflect.TypeOf((*ApplyHostProfileConfigurationSpec)(nil)).Elem()
  2132  	minAPIVersionForType["ApplyHostProfileConfigurationSpec"] = "6.5"
  2133  }
  2134  
  2135  // The `ApplyProfile` data object is the base class for all data objects
  2136  // that define profile configuration data.
  2137  //
  2138  // <code>ApplyProfile</code> defines ESX configuration data storage and it
  2139  // supports recursive profile definition for the profile plug-in architecture.
  2140  type ApplyProfile struct {
  2141  	DynamicData
  2142  
  2143  	// Indicates whether the profile is enabled.
  2144  	Enabled bool `xml:"enabled" json:"enabled"`
  2145  	// The list of policies comprising the profile.
  2146  	//
  2147  	// A `ProfilePolicy`
  2148  	// stores one or more configuration data values in a `PolicyOption`.
  2149  	// The policy option is one of the configuration options from the
  2150  	// `ProfilePolicyMetadata*.*ProfilePolicyMetadata.possibleOption`
  2151  	// list.
  2152  	Policy []ProfilePolicy `xml:"policy,omitempty" json:"policy,omitempty"`
  2153  	// Identifies the profile type.
  2154  	ProfileTypeName string `xml:"profileTypeName,omitempty" json:"profileTypeName,omitempty" vim:"5.0"`
  2155  	// Profile engine version.
  2156  	ProfileVersion string `xml:"profileVersion,omitempty" json:"profileVersion,omitempty" vim:"5.0"`
  2157  	// List of subprofiles for this profile.
  2158  	//
  2159  	// This list can change depending on which profile plug-ins are available in the system.
  2160  	// Subprofiles can be nested to arbitrary depths to represent host capabilities.
  2161  	Property []ProfileApplyProfileProperty `xml:"property,omitempty" json:"property,omitempty" vim:"5.0"`
  2162  	// Indicates whether this profile is marked as "favorite".
  2163  	Favorite *bool `xml:"favorite" json:"favorite,omitempty" vim:"6.5"`
  2164  	// Indicates whether this profile is marked as to-be-merged.
  2165  	ToBeMerged *bool `xml:"toBeMerged" json:"toBeMerged,omitempty" vim:"6.5"`
  2166  	// Indicates whether the selected array elements, with the current
  2167  	// as one of them, replace the profile array in the target host
  2168  	// profile.
  2169  	ToReplaceWith *bool `xml:"toReplaceWith" json:"toReplaceWith,omitempty" vim:"6.5"`
  2170  	// Indicates whether this profile is marked as to-be-deleted.
  2171  	ToBeDeleted *bool `xml:"toBeDeleted" json:"toBeDeleted,omitempty" vim:"6.5"`
  2172  	// Indicates that the member variable <code>enabled</code> of this profile
  2173  	// will be copied from source profile to target profiles at host profile
  2174  	// composition.
  2175  	CopyEnableStatus *bool `xml:"copyEnableStatus" json:"copyEnableStatus,omitempty" vim:"6.5"`
  2176  	// Indicates whether this profile will be displayed or not.
  2177  	Hidden *bool `xml:"hidden" json:"hidden,omitempty" vim:"6.7"`
  2178  }
  2179  
  2180  func init() {
  2181  	t["ApplyProfile"] = reflect.TypeOf((*ApplyProfile)(nil)).Elem()
  2182  	minAPIVersionForType["ApplyProfile"] = "4.0"
  2183  }
  2184  
  2185  type ApplyRecommendation ApplyRecommendationRequestType
  2186  
  2187  func init() {
  2188  	t["ApplyRecommendation"] = reflect.TypeOf((*ApplyRecommendation)(nil)).Elem()
  2189  }
  2190  
  2191  // The parameters of `ClusterComputeResource.ApplyRecommendation`.
  2192  type ApplyRecommendationRequestType struct {
  2193  	This ManagedObjectReference `xml:"_this" json:"-"`
  2194  	// The key field of the DrsRecommendation or Recommendation.
  2195  	Key string `xml:"key" json:"key"`
  2196  }
  2197  
  2198  func init() {
  2199  	t["ApplyRecommendationRequestType"] = reflect.TypeOf((*ApplyRecommendationRequestType)(nil)).Elem()
  2200  }
  2201  
  2202  type ApplyRecommendationResponse struct {
  2203  }
  2204  
  2205  // The parameters of `StorageResourceManager.ApplyStorageDrsRecommendation_Task`.
  2206  type ApplyStorageDrsRecommendationRequestType struct {
  2207  	This ManagedObjectReference `xml:"_this" json:"-"`
  2208  	// The key fields of the Recommendations that are applied.
  2209  	Key []string `xml:"key" json:"key"`
  2210  }
  2211  
  2212  func init() {
  2213  	t["ApplyStorageDrsRecommendationRequestType"] = reflect.TypeOf((*ApplyStorageDrsRecommendationRequestType)(nil)).Elem()
  2214  }
  2215  
  2216  // The parameters of `StorageResourceManager.ApplyStorageDrsRecommendationToPod_Task`.
  2217  type ApplyStorageDrsRecommendationToPodRequestType struct {
  2218  	This ManagedObjectReference `xml:"_this" json:"-"`
  2219  	// The storage pod.
  2220  	//
  2221  	// Refers instance of `StoragePod`.
  2222  	Pod ManagedObjectReference `xml:"pod" json:"pod"`
  2223  	// The key field of the Recommendation.
  2224  	Key string `xml:"key" json:"key"`
  2225  }
  2226  
  2227  func init() {
  2228  	t["ApplyStorageDrsRecommendationToPodRequestType"] = reflect.TypeOf((*ApplyStorageDrsRecommendationToPodRequestType)(nil)).Elem()
  2229  }
  2230  
  2231  type ApplyStorageDrsRecommendationToPod_Task ApplyStorageDrsRecommendationToPodRequestType
  2232  
  2233  func init() {
  2234  	t["ApplyStorageDrsRecommendationToPod_Task"] = reflect.TypeOf((*ApplyStorageDrsRecommendationToPod_Task)(nil)).Elem()
  2235  }
  2236  
  2237  type ApplyStorageDrsRecommendationToPod_TaskResponse struct {
  2238  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  2239  }
  2240  
  2241  type ApplyStorageDrsRecommendation_Task ApplyStorageDrsRecommendationRequestType
  2242  
  2243  func init() {
  2244  	t["ApplyStorageDrsRecommendation_Task"] = reflect.TypeOf((*ApplyStorageDrsRecommendation_Task)(nil)).Elem()
  2245  }
  2246  
  2247  type ApplyStorageDrsRecommendation_TaskResponse struct {
  2248  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  2249  }
  2250  
  2251  // Both `StorageResourceManager.RecommendDatastores` and
  2252  // `Datastore.DatastoreEnterMaintenanceMode` methods may invoke Storage DRS
  2253  // for recommendations on placing or evacuating virtual disks.
  2254  //
  2255  // All initial placement recommendations, and some enterMaintenanceMode
  2256  // recommendations need to be approved by the user. Recommendations that
  2257  // are approved will be applied using the
  2258  // `StorageResourceManager.ApplyStorageDrsRecommendation_Task`
  2259  // method.
  2260  // This class encapsulates the result of applying a subset of the
  2261  // recommendations.
  2262  type ApplyStorageRecommendationResult struct {
  2263  	DynamicData
  2264  
  2265  	// The result applying the recommendation, if it was successful.
  2266  	//
  2267  	// This is the equivalent of the `TaskInfo.result` key for the
  2268  	// task launched when the recommendation was applied.
  2269  	//
  2270  	// Refers instance of `VirtualMachine`.
  2271  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
  2272  }
  2273  
  2274  func init() {
  2275  	t["ApplyStorageRecommendationResult"] = reflect.TypeOf((*ApplyStorageRecommendationResult)(nil)).Elem()
  2276  	minAPIVersionForType["ApplyStorageRecommendationResult"] = "5.0"
  2277  }
  2278  
  2279  type AreAlarmActionsEnabled AreAlarmActionsEnabledRequestType
  2280  
  2281  func init() {
  2282  	t["AreAlarmActionsEnabled"] = reflect.TypeOf((*AreAlarmActionsEnabled)(nil)).Elem()
  2283  }
  2284  
  2285  // The parameters of `AlarmManager.AreAlarmActionsEnabled`.
  2286  type AreAlarmActionsEnabledRequestType struct {
  2287  	This ManagedObjectReference `xml:"_this" json:"-"`
  2288  	// The managed entity to look up.
  2289  	//
  2290  	// Required privileges: System.Read
  2291  	//
  2292  	// Refers instance of `ManagedEntity`.
  2293  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
  2294  }
  2295  
  2296  func init() {
  2297  	t["AreAlarmActionsEnabledRequestType"] = reflect.TypeOf((*AreAlarmActionsEnabledRequestType)(nil)).Elem()
  2298  }
  2299  
  2300  type AreAlarmActionsEnabledResponse struct {
  2301  	Returnval bool `xml:"returnval" json:"returnval"`
  2302  }
  2303  
  2304  // A boxed array of `AlarmAction`. To be used in `Any` placeholders.
  2305  type ArrayOfAlarmAction struct {
  2306  	AlarmAction []BaseAlarmAction `xml:"AlarmAction,omitempty,typeattr" json:"_value"`
  2307  }
  2308  
  2309  func init() {
  2310  	t["ArrayOfAlarmAction"] = reflect.TypeOf((*ArrayOfAlarmAction)(nil)).Elem()
  2311  }
  2312  
  2313  // A boxed array of `AlarmExpression`. To be used in `Any` placeholders.
  2314  type ArrayOfAlarmExpression struct {
  2315  	AlarmExpression []BaseAlarmExpression `xml:"AlarmExpression,omitempty,typeattr" json:"_value"`
  2316  }
  2317  
  2318  func init() {
  2319  	t["ArrayOfAlarmExpression"] = reflect.TypeOf((*ArrayOfAlarmExpression)(nil)).Elem()
  2320  }
  2321  
  2322  // A boxed array of `AlarmState`. To be used in `Any` placeholders.
  2323  type ArrayOfAlarmState struct {
  2324  	AlarmState []AlarmState `xml:"AlarmState,omitempty" json:"_value"`
  2325  }
  2326  
  2327  func init() {
  2328  	t["ArrayOfAlarmState"] = reflect.TypeOf((*ArrayOfAlarmState)(nil)).Elem()
  2329  }
  2330  
  2331  // A boxed array of `AlarmTriggeringActionTransitionSpec`. To be used in `Any` placeholders.
  2332  type ArrayOfAlarmTriggeringActionTransitionSpec struct {
  2333  	AlarmTriggeringActionTransitionSpec []AlarmTriggeringActionTransitionSpec `xml:"AlarmTriggeringActionTransitionSpec,omitempty" json:"_value"`
  2334  }
  2335  
  2336  func init() {
  2337  	t["ArrayOfAlarmTriggeringActionTransitionSpec"] = reflect.TypeOf((*ArrayOfAlarmTriggeringActionTransitionSpec)(nil)).Elem()
  2338  }
  2339  
  2340  // A boxed array of `AnswerFileStatusError`. To be used in `Any` placeholders.
  2341  type ArrayOfAnswerFileStatusError struct {
  2342  	AnswerFileStatusError []AnswerFileStatusError `xml:"AnswerFileStatusError,omitempty" json:"_value"`
  2343  }
  2344  
  2345  func init() {
  2346  	t["ArrayOfAnswerFileStatusError"] = reflect.TypeOf((*ArrayOfAnswerFileStatusError)(nil)).Elem()
  2347  }
  2348  
  2349  // A boxed array of `AnswerFileStatusResult`. To be used in `Any` placeholders.
  2350  type ArrayOfAnswerFileStatusResult struct {
  2351  	AnswerFileStatusResult []AnswerFileStatusResult `xml:"AnswerFileStatusResult,omitempty" json:"_value"`
  2352  }
  2353  
  2354  func init() {
  2355  	t["ArrayOfAnswerFileStatusResult"] = reflect.TypeOf((*ArrayOfAnswerFileStatusResult)(nil)).Elem()
  2356  }
  2357  
  2358  // A boxed array of `AnswerFileUpdateFailure`. To be used in `Any` placeholders.
  2359  type ArrayOfAnswerFileUpdateFailure struct {
  2360  	AnswerFileUpdateFailure []AnswerFileUpdateFailure `xml:"AnswerFileUpdateFailure,omitempty" json:"_value"`
  2361  }
  2362  
  2363  func init() {
  2364  	t["ArrayOfAnswerFileUpdateFailure"] = reflect.TypeOf((*ArrayOfAnswerFileUpdateFailure)(nil)).Elem()
  2365  }
  2366  
  2367  // A boxed array of `Any`. To be used in `Any` placeholders.
  2368  type ArrayOfAnyType struct {
  2369  	AnyType []AnyType `xml:"anyType,omitempty,typeattr" json:"_value"`
  2370  }
  2371  
  2372  func init() {
  2373  	t["ArrayOfAnyType"] = reflect.TypeOf((*ArrayOfAnyType)(nil)).Elem()
  2374  }
  2375  
  2376  type ArrayOfAnyURI struct {
  2377  	AnyURI []string `xml:"anyURI,omitempty" json:"_value"`
  2378  }
  2379  
  2380  func init() {
  2381  	t["ArrayOfAnyURI"] = reflect.TypeOf((*ArrayOfAnyURI)(nil)).Elem()
  2382  }
  2383  
  2384  // A boxed array of `ApplyHostProfileConfigurationResult`. To be used in `Any` placeholders.
  2385  type ArrayOfApplyHostProfileConfigurationResult struct {
  2386  	ApplyHostProfileConfigurationResult []ApplyHostProfileConfigurationResult `xml:"ApplyHostProfileConfigurationResult,omitempty" json:"_value"`
  2387  }
  2388  
  2389  func init() {
  2390  	t["ArrayOfApplyHostProfileConfigurationResult"] = reflect.TypeOf((*ArrayOfApplyHostProfileConfigurationResult)(nil)).Elem()
  2391  }
  2392  
  2393  // A boxed array of `ApplyHostProfileConfigurationSpec`. To be used in `Any` placeholders.
  2394  type ArrayOfApplyHostProfileConfigurationSpec struct {
  2395  	ApplyHostProfileConfigurationSpec []ApplyHostProfileConfigurationSpec `xml:"ApplyHostProfileConfigurationSpec,omitempty" json:"_value"`
  2396  }
  2397  
  2398  func init() {
  2399  	t["ArrayOfApplyHostProfileConfigurationSpec"] = reflect.TypeOf((*ArrayOfApplyHostProfileConfigurationSpec)(nil)).Elem()
  2400  }
  2401  
  2402  // A boxed array of `ApplyProfile`. To be used in `Any` placeholders.
  2403  type ArrayOfApplyProfile struct {
  2404  	ApplyProfile []BaseApplyProfile `xml:"ApplyProfile,omitempty,typeattr" json:"_value"`
  2405  }
  2406  
  2407  func init() {
  2408  	t["ArrayOfApplyProfile"] = reflect.TypeOf((*ArrayOfApplyProfile)(nil)).Elem()
  2409  }
  2410  
  2411  // A boxed array of `AuthorizationPrivilege`. To be used in `Any` placeholders.
  2412  type ArrayOfAuthorizationPrivilege struct {
  2413  	AuthorizationPrivilege []AuthorizationPrivilege `xml:"AuthorizationPrivilege,omitempty" json:"_value"`
  2414  }
  2415  
  2416  func init() {
  2417  	t["ArrayOfAuthorizationPrivilege"] = reflect.TypeOf((*ArrayOfAuthorizationPrivilege)(nil)).Elem()
  2418  }
  2419  
  2420  // A boxed array of `AuthorizationRole`. To be used in `Any` placeholders.
  2421  type ArrayOfAuthorizationRole struct {
  2422  	AuthorizationRole []AuthorizationRole `xml:"AuthorizationRole,omitempty" json:"_value"`
  2423  }
  2424  
  2425  func init() {
  2426  	t["ArrayOfAuthorizationRole"] = reflect.TypeOf((*ArrayOfAuthorizationRole)(nil)).Elem()
  2427  }
  2428  
  2429  // A boxed array of `AutoStartPowerInfo`. To be used in `Any` placeholders.
  2430  type ArrayOfAutoStartPowerInfo struct {
  2431  	AutoStartPowerInfo []AutoStartPowerInfo `xml:"AutoStartPowerInfo,omitempty" json:"_value"`
  2432  }
  2433  
  2434  func init() {
  2435  	t["ArrayOfAutoStartPowerInfo"] = reflect.TypeOf((*ArrayOfAutoStartPowerInfo)(nil)).Elem()
  2436  }
  2437  
  2438  type ArrayOfBase64Binary struct {
  2439  	Base64Binary [][]byte `xml:"base64Binary,omitempty" json:"_value"`
  2440  }
  2441  
  2442  func init() {
  2443  	t["ArrayOfBase64Binary"] = reflect.TypeOf((*ArrayOfBase64Binary)(nil)).Elem()
  2444  }
  2445  
  2446  // A boxed array of `PrimitiveBoolean`. To be used in `Any` placeholders.
  2447  type ArrayOfBoolean struct {
  2448  	Boolean []bool `xml:"boolean,omitempty" json:"_value"`
  2449  }
  2450  
  2451  func init() {
  2452  	t["ArrayOfBoolean"] = reflect.TypeOf((*ArrayOfBoolean)(nil)).Elem()
  2453  }
  2454  
  2455  // A boxed array of `PrimitiveByte`. To be used in `Any` placeholders.
  2456  type ArrayOfByte struct {
  2457  	Byte []byte `xml:"byte,omitempty" json:"_value"`
  2458  }
  2459  
  2460  func init() {
  2461  	t["ArrayOfByte"] = reflect.TypeOf((*ArrayOfByte)(nil)).Elem()
  2462  }
  2463  
  2464  // A boxed array of `ChangesInfoEventArgument`. To be used in `Any` placeholders.
  2465  type ArrayOfChangesInfoEventArgument struct {
  2466  	ChangesInfoEventArgument []ChangesInfoEventArgument `xml:"ChangesInfoEventArgument,omitempty" json:"_value"`
  2467  }
  2468  
  2469  func init() {
  2470  	t["ArrayOfChangesInfoEventArgument"] = reflect.TypeOf((*ArrayOfChangesInfoEventArgument)(nil)).Elem()
  2471  }
  2472  
  2473  // A boxed array of `CheckResult`. To be used in `Any` placeholders.
  2474  type ArrayOfCheckResult struct {
  2475  	CheckResult []CheckResult `xml:"CheckResult,omitempty" json:"_value"`
  2476  }
  2477  
  2478  func init() {
  2479  	t["ArrayOfCheckResult"] = reflect.TypeOf((*ArrayOfCheckResult)(nil)).Elem()
  2480  }
  2481  
  2482  // A boxed array of `ClusterAction`. To be used in `Any` placeholders.
  2483  type ArrayOfClusterAction struct {
  2484  	ClusterAction []BaseClusterAction `xml:"ClusterAction,omitempty,typeattr" json:"_value"`
  2485  }
  2486  
  2487  func init() {
  2488  	t["ArrayOfClusterAction"] = reflect.TypeOf((*ArrayOfClusterAction)(nil)).Elem()
  2489  }
  2490  
  2491  // A boxed array of `ClusterActionHistory`. To be used in `Any` placeholders.
  2492  type ArrayOfClusterActionHistory struct {
  2493  	ClusterActionHistory []ClusterActionHistory `xml:"ClusterActionHistory,omitempty" json:"_value"`
  2494  }
  2495  
  2496  func init() {
  2497  	t["ArrayOfClusterActionHistory"] = reflect.TypeOf((*ArrayOfClusterActionHistory)(nil)).Elem()
  2498  }
  2499  
  2500  // A boxed array of `ClusterAttemptedVmInfo`. To be used in `Any` placeholders.
  2501  type ArrayOfClusterAttemptedVmInfo struct {
  2502  	ClusterAttemptedVmInfo []ClusterAttemptedVmInfo `xml:"ClusterAttemptedVmInfo,omitempty" json:"_value"`
  2503  }
  2504  
  2505  func init() {
  2506  	t["ArrayOfClusterAttemptedVmInfo"] = reflect.TypeOf((*ArrayOfClusterAttemptedVmInfo)(nil)).Elem()
  2507  }
  2508  
  2509  // A boxed array of `ClusterComputeResourceDVSSetting`. To be used in `Any` placeholders.
  2510  type ArrayOfClusterComputeResourceDVSSetting struct {
  2511  	ClusterComputeResourceDVSSetting []ClusterComputeResourceDVSSetting `xml:"ClusterComputeResourceDVSSetting,omitempty" json:"_value"`
  2512  }
  2513  
  2514  func init() {
  2515  	t["ArrayOfClusterComputeResourceDVSSetting"] = reflect.TypeOf((*ArrayOfClusterComputeResourceDVSSetting)(nil)).Elem()
  2516  }
  2517  
  2518  // A boxed array of `ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping`. To be used in `Any` placeholders.
  2519  type ArrayOfClusterComputeResourceDVSSettingDVPortgroupToServiceMapping struct {
  2520  	ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping []ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping `xml:"ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping,omitempty" json:"_value"`
  2521  }
  2522  
  2523  func init() {
  2524  	t["ArrayOfClusterComputeResourceDVSSettingDVPortgroupToServiceMapping"] = reflect.TypeOf((*ArrayOfClusterComputeResourceDVSSettingDVPortgroupToServiceMapping)(nil)).Elem()
  2525  }
  2526  
  2527  // A boxed array of `ClusterComputeResourceDvsProfile`. To be used in `Any` placeholders.
  2528  type ArrayOfClusterComputeResourceDvsProfile struct {
  2529  	ClusterComputeResourceDvsProfile []ClusterComputeResourceDvsProfile `xml:"ClusterComputeResourceDvsProfile,omitempty" json:"_value"`
  2530  }
  2531  
  2532  func init() {
  2533  	t["ArrayOfClusterComputeResourceDvsProfile"] = reflect.TypeOf((*ArrayOfClusterComputeResourceDvsProfile)(nil)).Elem()
  2534  }
  2535  
  2536  // A boxed array of `ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping`. To be used in `Any` placeholders.
  2537  type ArrayOfClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping struct {
  2538  	ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping []ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping `xml:"ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping,omitempty" json:"_value"`
  2539  }
  2540  
  2541  func init() {
  2542  	t["ArrayOfClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping"] = reflect.TypeOf((*ArrayOfClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping)(nil)).Elem()
  2543  }
  2544  
  2545  // A boxed array of `ClusterComputeResourceHostConfigurationInput`. To be used in `Any` placeholders.
  2546  type ArrayOfClusterComputeResourceHostConfigurationInput struct {
  2547  	ClusterComputeResourceHostConfigurationInput []ClusterComputeResourceHostConfigurationInput `xml:"ClusterComputeResourceHostConfigurationInput,omitempty" json:"_value"`
  2548  }
  2549  
  2550  func init() {
  2551  	t["ArrayOfClusterComputeResourceHostConfigurationInput"] = reflect.TypeOf((*ArrayOfClusterComputeResourceHostConfigurationInput)(nil)).Elem()
  2552  }
  2553  
  2554  // A boxed array of `ClusterComputeResourceHostVmkNicInfo`. To be used in `Any` placeholders.
  2555  type ArrayOfClusterComputeResourceHostVmkNicInfo struct {
  2556  	ClusterComputeResourceHostVmkNicInfo []ClusterComputeResourceHostVmkNicInfo `xml:"ClusterComputeResourceHostVmkNicInfo,omitempty" json:"_value"`
  2557  }
  2558  
  2559  func init() {
  2560  	t["ArrayOfClusterComputeResourceHostVmkNicInfo"] = reflect.TypeOf((*ArrayOfClusterComputeResourceHostVmkNicInfo)(nil)).Elem()
  2561  }
  2562  
  2563  // A boxed array of `ClusterComputeResourceValidationResultBase`. To be used in `Any` placeholders.
  2564  type ArrayOfClusterComputeResourceValidationResultBase struct {
  2565  	ClusterComputeResourceValidationResultBase []BaseClusterComputeResourceValidationResultBase `xml:"ClusterComputeResourceValidationResultBase,omitempty,typeattr" json:"_value"`
  2566  }
  2567  
  2568  func init() {
  2569  	t["ArrayOfClusterComputeResourceValidationResultBase"] = reflect.TypeOf((*ArrayOfClusterComputeResourceValidationResultBase)(nil)).Elem()
  2570  }
  2571  
  2572  // A boxed array of `ClusterComputeResourceVcsSlots`. To be used in `Any` placeholders.
  2573  type ArrayOfClusterComputeResourceVcsSlots struct {
  2574  	ClusterComputeResourceVcsSlots []ClusterComputeResourceVcsSlots `xml:"ClusterComputeResourceVcsSlots,omitempty" json:"_value"`
  2575  }
  2576  
  2577  func init() {
  2578  	t["ArrayOfClusterComputeResourceVcsSlots"] = reflect.TypeOf((*ArrayOfClusterComputeResourceVcsSlots)(nil)).Elem()
  2579  }
  2580  
  2581  // A boxed array of `ClusterDasAamNodeState`. To be used in `Any` placeholders.
  2582  type ArrayOfClusterDasAamNodeState struct {
  2583  	ClusterDasAamNodeState []ClusterDasAamNodeState `xml:"ClusterDasAamNodeState,omitempty" json:"_value"`
  2584  }
  2585  
  2586  func init() {
  2587  	t["ArrayOfClusterDasAamNodeState"] = reflect.TypeOf((*ArrayOfClusterDasAamNodeState)(nil)).Elem()
  2588  }
  2589  
  2590  // A boxed array of `ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots`. To be used in `Any` placeholders.
  2591  type ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots struct {
  2592  	ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots []ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots `xml:"ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots,omitempty" json:"_value"`
  2593  }
  2594  
  2595  func init() {
  2596  	t["ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots"] = reflect.TypeOf((*ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots)(nil)).Elem()
  2597  }
  2598  
  2599  // A boxed array of `ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots`. To be used in `Any` placeholders.
  2600  type ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots struct {
  2601  	ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots []ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots `xml:"ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots,omitempty" json:"_value"`
  2602  }
  2603  
  2604  func init() {
  2605  	t["ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots"] = reflect.TypeOf((*ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots)(nil)).Elem()
  2606  }
  2607  
  2608  // A boxed array of `ClusterDasVmConfigInfo`. To be used in `Any` placeholders.
  2609  type ArrayOfClusterDasVmConfigInfo struct {
  2610  	ClusterDasVmConfigInfo []ClusterDasVmConfigInfo `xml:"ClusterDasVmConfigInfo,omitempty" json:"_value"`
  2611  }
  2612  
  2613  func init() {
  2614  	t["ArrayOfClusterDasVmConfigInfo"] = reflect.TypeOf((*ArrayOfClusterDasVmConfigInfo)(nil)).Elem()
  2615  }
  2616  
  2617  // A boxed array of `ClusterDasVmConfigSpec`. To be used in `Any` placeholders.
  2618  type ArrayOfClusterDasVmConfigSpec struct {
  2619  	ClusterDasVmConfigSpec []ClusterDasVmConfigSpec `xml:"ClusterDasVmConfigSpec,omitempty" json:"_value"`
  2620  }
  2621  
  2622  func init() {
  2623  	t["ArrayOfClusterDasVmConfigSpec"] = reflect.TypeOf((*ArrayOfClusterDasVmConfigSpec)(nil)).Elem()
  2624  }
  2625  
  2626  // A boxed array of `ClusterDatastoreUpdateSpec`. To be used in `Any` placeholders.
  2627  type ArrayOfClusterDatastoreUpdateSpec struct {
  2628  	ClusterDatastoreUpdateSpec []ClusterDatastoreUpdateSpec `xml:"ClusterDatastoreUpdateSpec,omitempty" json:"_value"`
  2629  }
  2630  
  2631  func init() {
  2632  	t["ArrayOfClusterDatastoreUpdateSpec"] = reflect.TypeOf((*ArrayOfClusterDatastoreUpdateSpec)(nil)).Elem()
  2633  }
  2634  
  2635  // A boxed array of `ClusterDpmHostConfigInfo`. To be used in `Any` placeholders.
  2636  type ArrayOfClusterDpmHostConfigInfo struct {
  2637  	ClusterDpmHostConfigInfo []ClusterDpmHostConfigInfo `xml:"ClusterDpmHostConfigInfo,omitempty" json:"_value"`
  2638  }
  2639  
  2640  func init() {
  2641  	t["ArrayOfClusterDpmHostConfigInfo"] = reflect.TypeOf((*ArrayOfClusterDpmHostConfigInfo)(nil)).Elem()
  2642  }
  2643  
  2644  // A boxed array of `ClusterDpmHostConfigSpec`. To be used in `Any` placeholders.
  2645  type ArrayOfClusterDpmHostConfigSpec struct {
  2646  	ClusterDpmHostConfigSpec []ClusterDpmHostConfigSpec `xml:"ClusterDpmHostConfigSpec,omitempty" json:"_value"`
  2647  }
  2648  
  2649  func init() {
  2650  	t["ArrayOfClusterDpmHostConfigSpec"] = reflect.TypeOf((*ArrayOfClusterDpmHostConfigSpec)(nil)).Elem()
  2651  }
  2652  
  2653  // A boxed array of `ClusterDrsFaults`. To be used in `Any` placeholders.
  2654  type ArrayOfClusterDrsFaults struct {
  2655  	ClusterDrsFaults []ClusterDrsFaults `xml:"ClusterDrsFaults,omitempty" json:"_value"`
  2656  }
  2657  
  2658  func init() {
  2659  	t["ArrayOfClusterDrsFaults"] = reflect.TypeOf((*ArrayOfClusterDrsFaults)(nil)).Elem()
  2660  }
  2661  
  2662  // A boxed array of `ClusterDrsFaultsFaultsByVm`. To be used in `Any` placeholders.
  2663  type ArrayOfClusterDrsFaultsFaultsByVm struct {
  2664  	ClusterDrsFaultsFaultsByVm []BaseClusterDrsFaultsFaultsByVm `xml:"ClusterDrsFaultsFaultsByVm,omitempty,typeattr" json:"_value"`
  2665  }
  2666  
  2667  func init() {
  2668  	t["ArrayOfClusterDrsFaultsFaultsByVm"] = reflect.TypeOf((*ArrayOfClusterDrsFaultsFaultsByVm)(nil)).Elem()
  2669  }
  2670  
  2671  // A boxed array of `ClusterDrsMigration`. To be used in `Any` placeholders.
  2672  type ArrayOfClusterDrsMigration struct {
  2673  	ClusterDrsMigration []ClusterDrsMigration `xml:"ClusterDrsMigration,omitempty" json:"_value"`
  2674  }
  2675  
  2676  func init() {
  2677  	t["ArrayOfClusterDrsMigration"] = reflect.TypeOf((*ArrayOfClusterDrsMigration)(nil)).Elem()
  2678  }
  2679  
  2680  // A boxed array of `ClusterDrsRecommendation`. To be used in `Any` placeholders.
  2681  type ArrayOfClusterDrsRecommendation struct {
  2682  	ClusterDrsRecommendation []ClusterDrsRecommendation `xml:"ClusterDrsRecommendation,omitempty" json:"_value"`
  2683  }
  2684  
  2685  func init() {
  2686  	t["ArrayOfClusterDrsRecommendation"] = reflect.TypeOf((*ArrayOfClusterDrsRecommendation)(nil)).Elem()
  2687  }
  2688  
  2689  // A boxed array of `ClusterDrsVmConfigInfo`. To be used in `Any` placeholders.
  2690  type ArrayOfClusterDrsVmConfigInfo struct {
  2691  	ClusterDrsVmConfigInfo []ClusterDrsVmConfigInfo `xml:"ClusterDrsVmConfigInfo,omitempty" json:"_value"`
  2692  }
  2693  
  2694  func init() {
  2695  	t["ArrayOfClusterDrsVmConfigInfo"] = reflect.TypeOf((*ArrayOfClusterDrsVmConfigInfo)(nil)).Elem()
  2696  }
  2697  
  2698  // A boxed array of `ClusterDrsVmConfigSpec`. To be used in `Any` placeholders.
  2699  type ArrayOfClusterDrsVmConfigSpec struct {
  2700  	ClusterDrsVmConfigSpec []ClusterDrsVmConfigSpec `xml:"ClusterDrsVmConfigSpec,omitempty" json:"_value"`
  2701  }
  2702  
  2703  func init() {
  2704  	t["ArrayOfClusterDrsVmConfigSpec"] = reflect.TypeOf((*ArrayOfClusterDrsVmConfigSpec)(nil)).Elem()
  2705  }
  2706  
  2707  // A boxed array of `ClusterEVCManagerCheckResult`. To be used in `Any` placeholders.
  2708  type ArrayOfClusterEVCManagerCheckResult struct {
  2709  	ClusterEVCManagerCheckResult []ClusterEVCManagerCheckResult `xml:"ClusterEVCManagerCheckResult,omitempty" json:"_value"`
  2710  }
  2711  
  2712  func init() {
  2713  	t["ArrayOfClusterEVCManagerCheckResult"] = reflect.TypeOf((*ArrayOfClusterEVCManagerCheckResult)(nil)).Elem()
  2714  }
  2715  
  2716  // A boxed array of `ClusterFailoverHostAdmissionControlInfoHostStatus`. To be used in `Any` placeholders.
  2717  type ArrayOfClusterFailoverHostAdmissionControlInfoHostStatus struct {
  2718  	ClusterFailoverHostAdmissionControlInfoHostStatus []ClusterFailoverHostAdmissionControlInfoHostStatus `xml:"ClusterFailoverHostAdmissionControlInfoHostStatus,omitempty" json:"_value"`
  2719  }
  2720  
  2721  func init() {
  2722  	t["ArrayOfClusterFailoverHostAdmissionControlInfoHostStatus"] = reflect.TypeOf((*ArrayOfClusterFailoverHostAdmissionControlInfoHostStatus)(nil)).Elem()
  2723  }
  2724  
  2725  // A boxed array of `ClusterGroupInfo`. To be used in `Any` placeholders.
  2726  type ArrayOfClusterGroupInfo struct {
  2727  	ClusterGroupInfo []BaseClusterGroupInfo `xml:"ClusterGroupInfo,omitempty,typeattr" json:"_value"`
  2728  }
  2729  
  2730  func init() {
  2731  	t["ArrayOfClusterGroupInfo"] = reflect.TypeOf((*ArrayOfClusterGroupInfo)(nil)).Elem()
  2732  }
  2733  
  2734  // A boxed array of `ClusterGroupSpec`. To be used in `Any` placeholders.
  2735  type ArrayOfClusterGroupSpec struct {
  2736  	ClusterGroupSpec []ClusterGroupSpec `xml:"ClusterGroupSpec,omitempty" json:"_value"`
  2737  }
  2738  
  2739  func init() {
  2740  	t["ArrayOfClusterGroupSpec"] = reflect.TypeOf((*ArrayOfClusterGroupSpec)(nil)).Elem()
  2741  }
  2742  
  2743  // A boxed array of `ClusterHostRecommendation`. To be used in `Any` placeholders.
  2744  type ArrayOfClusterHostRecommendation struct {
  2745  	ClusterHostRecommendation []ClusterHostRecommendation `xml:"ClusterHostRecommendation,omitempty" json:"_value"`
  2746  }
  2747  
  2748  func init() {
  2749  	t["ArrayOfClusterHostRecommendation"] = reflect.TypeOf((*ArrayOfClusterHostRecommendation)(nil)).Elem()
  2750  }
  2751  
  2752  // A boxed array of `ClusterIoFilterInfo`. To be used in `Any` placeholders.
  2753  type ArrayOfClusterIoFilterInfo struct {
  2754  	ClusterIoFilterInfo []ClusterIoFilterInfo `xml:"ClusterIoFilterInfo,omitempty" json:"_value"`
  2755  }
  2756  
  2757  func init() {
  2758  	t["ArrayOfClusterIoFilterInfo"] = reflect.TypeOf((*ArrayOfClusterIoFilterInfo)(nil)).Elem()
  2759  }
  2760  
  2761  // A boxed array of `ClusterNotAttemptedVmInfo`. To be used in `Any` placeholders.
  2762  type ArrayOfClusterNotAttemptedVmInfo struct {
  2763  	ClusterNotAttemptedVmInfo []ClusterNotAttemptedVmInfo `xml:"ClusterNotAttemptedVmInfo,omitempty" json:"_value"`
  2764  }
  2765  
  2766  func init() {
  2767  	t["ArrayOfClusterNotAttemptedVmInfo"] = reflect.TypeOf((*ArrayOfClusterNotAttemptedVmInfo)(nil)).Elem()
  2768  }
  2769  
  2770  // A boxed array of `ClusterRecommendation`. To be used in `Any` placeholders.
  2771  type ArrayOfClusterRecommendation struct {
  2772  	ClusterRecommendation []ClusterRecommendation `xml:"ClusterRecommendation,omitempty" json:"_value"`
  2773  }
  2774  
  2775  func init() {
  2776  	t["ArrayOfClusterRecommendation"] = reflect.TypeOf((*ArrayOfClusterRecommendation)(nil)).Elem()
  2777  }
  2778  
  2779  // A boxed array of `ClusterRuleInfo`. To be used in `Any` placeholders.
  2780  type ArrayOfClusterRuleInfo struct {
  2781  	ClusterRuleInfo []BaseClusterRuleInfo `xml:"ClusterRuleInfo,omitempty,typeattr" json:"_value"`
  2782  }
  2783  
  2784  func init() {
  2785  	t["ArrayOfClusterRuleInfo"] = reflect.TypeOf((*ArrayOfClusterRuleInfo)(nil)).Elem()
  2786  }
  2787  
  2788  // A boxed array of `ClusterRuleSpec`. To be used in `Any` placeholders.
  2789  type ArrayOfClusterRuleSpec struct {
  2790  	ClusterRuleSpec []ClusterRuleSpec `xml:"ClusterRuleSpec,omitempty" json:"_value"`
  2791  }
  2792  
  2793  func init() {
  2794  	t["ArrayOfClusterRuleSpec"] = reflect.TypeOf((*ArrayOfClusterRuleSpec)(nil)).Elem()
  2795  }
  2796  
  2797  // A boxed array of `ClusterTagCategoryUpdateSpec`. To be used in `Any` placeholders.
  2798  type ArrayOfClusterTagCategoryUpdateSpec struct {
  2799  	ClusterTagCategoryUpdateSpec []ClusterTagCategoryUpdateSpec `xml:"ClusterTagCategoryUpdateSpec,omitempty" json:"_value"`
  2800  }
  2801  
  2802  func init() {
  2803  	t["ArrayOfClusterTagCategoryUpdateSpec"] = reflect.TypeOf((*ArrayOfClusterTagCategoryUpdateSpec)(nil)).Elem()
  2804  }
  2805  
  2806  // A boxed array of `ClusterVmOrchestrationInfo`. To be used in `Any` placeholders.
  2807  type ArrayOfClusterVmOrchestrationInfo struct {
  2808  	ClusterVmOrchestrationInfo []ClusterVmOrchestrationInfo `xml:"ClusterVmOrchestrationInfo,omitempty" json:"_value"`
  2809  }
  2810  
  2811  func init() {
  2812  	t["ArrayOfClusterVmOrchestrationInfo"] = reflect.TypeOf((*ArrayOfClusterVmOrchestrationInfo)(nil)).Elem()
  2813  }
  2814  
  2815  // A boxed array of `ClusterVmOrchestrationSpec`. To be used in `Any` placeholders.
  2816  type ArrayOfClusterVmOrchestrationSpec struct {
  2817  	ClusterVmOrchestrationSpec []ClusterVmOrchestrationSpec `xml:"ClusterVmOrchestrationSpec,omitempty" json:"_value"`
  2818  }
  2819  
  2820  func init() {
  2821  	t["ArrayOfClusterVmOrchestrationSpec"] = reflect.TypeOf((*ArrayOfClusterVmOrchestrationSpec)(nil)).Elem()
  2822  }
  2823  
  2824  // A boxed array of `ComplianceFailure`. To be used in `Any` placeholders.
  2825  type ArrayOfComplianceFailure struct {
  2826  	ComplianceFailure []ComplianceFailure `xml:"ComplianceFailure,omitempty" json:"_value"`
  2827  }
  2828  
  2829  func init() {
  2830  	t["ArrayOfComplianceFailure"] = reflect.TypeOf((*ArrayOfComplianceFailure)(nil)).Elem()
  2831  }
  2832  
  2833  // A boxed array of `ComplianceFailureComplianceFailureValues`. To be used in `Any` placeholders.
  2834  type ArrayOfComplianceFailureComplianceFailureValues struct {
  2835  	ComplianceFailureComplianceFailureValues []ComplianceFailureComplianceFailureValues `xml:"ComplianceFailureComplianceFailureValues,omitempty" json:"_value"`
  2836  }
  2837  
  2838  func init() {
  2839  	t["ArrayOfComplianceFailureComplianceFailureValues"] = reflect.TypeOf((*ArrayOfComplianceFailureComplianceFailureValues)(nil)).Elem()
  2840  }
  2841  
  2842  // A boxed array of `ComplianceLocator`. To be used in `Any` placeholders.
  2843  type ArrayOfComplianceLocator struct {
  2844  	ComplianceLocator []ComplianceLocator `xml:"ComplianceLocator,omitempty" json:"_value"`
  2845  }
  2846  
  2847  func init() {
  2848  	t["ArrayOfComplianceLocator"] = reflect.TypeOf((*ArrayOfComplianceLocator)(nil)).Elem()
  2849  }
  2850  
  2851  // A boxed array of `ComplianceResult`. To be used in `Any` placeholders.
  2852  type ArrayOfComplianceResult struct {
  2853  	ComplianceResult []ComplianceResult `xml:"ComplianceResult,omitempty" json:"_value"`
  2854  }
  2855  
  2856  func init() {
  2857  	t["ArrayOfComplianceResult"] = reflect.TypeOf((*ArrayOfComplianceResult)(nil)).Elem()
  2858  }
  2859  
  2860  // A boxed array of `ComputeResourceHostSPBMLicenseInfo`. To be used in `Any` placeholders.
  2861  type ArrayOfComputeResourceHostSPBMLicenseInfo struct {
  2862  	ComputeResourceHostSPBMLicenseInfo []ComputeResourceHostSPBMLicenseInfo `xml:"ComputeResourceHostSPBMLicenseInfo,omitempty" json:"_value"`
  2863  }
  2864  
  2865  func init() {
  2866  	t["ArrayOfComputeResourceHostSPBMLicenseInfo"] = reflect.TypeOf((*ArrayOfComputeResourceHostSPBMLicenseInfo)(nil)).Elem()
  2867  }
  2868  
  2869  // A boxed array of `ConflictingConfigurationConfig`. To be used in `Any` placeholders.
  2870  type ArrayOfConflictingConfigurationConfig struct {
  2871  	ConflictingConfigurationConfig []ConflictingConfigurationConfig `xml:"ConflictingConfigurationConfig,omitempty" json:"_value"`
  2872  }
  2873  
  2874  func init() {
  2875  	t["ArrayOfConflictingConfigurationConfig"] = reflect.TypeOf((*ArrayOfConflictingConfigurationConfig)(nil)).Elem()
  2876  }
  2877  
  2878  // A boxed array of `CryptoKeyId`. To be used in `Any` placeholders.
  2879  type ArrayOfCryptoKeyId struct {
  2880  	CryptoKeyId []CryptoKeyId `xml:"CryptoKeyId,omitempty" json:"_value"`
  2881  }
  2882  
  2883  func init() {
  2884  	t["ArrayOfCryptoKeyId"] = reflect.TypeOf((*ArrayOfCryptoKeyId)(nil)).Elem()
  2885  }
  2886  
  2887  // A boxed array of `CryptoKeyPlain`. To be used in `Any` placeholders.
  2888  type ArrayOfCryptoKeyPlain struct {
  2889  	CryptoKeyPlain []CryptoKeyPlain `xml:"CryptoKeyPlain,omitempty" json:"_value"`
  2890  }
  2891  
  2892  func init() {
  2893  	t["ArrayOfCryptoKeyPlain"] = reflect.TypeOf((*ArrayOfCryptoKeyPlain)(nil)).Elem()
  2894  }
  2895  
  2896  // A boxed array of `CryptoKeyResult`. To be used in `Any` placeholders.
  2897  type ArrayOfCryptoKeyResult struct {
  2898  	CryptoKeyResult []CryptoKeyResult `xml:"CryptoKeyResult,omitempty" json:"_value"`
  2899  }
  2900  
  2901  func init() {
  2902  	t["ArrayOfCryptoKeyResult"] = reflect.TypeOf((*ArrayOfCryptoKeyResult)(nil)).Elem()
  2903  }
  2904  
  2905  // A boxed array of `CryptoManagerHostKeyStatus`. To be used in `Any` placeholders.
  2906  type ArrayOfCryptoManagerHostKeyStatus struct {
  2907  	CryptoManagerHostKeyStatus []CryptoManagerHostKeyStatus `xml:"CryptoManagerHostKeyStatus,omitempty" json:"_value"`
  2908  }
  2909  
  2910  func init() {
  2911  	t["ArrayOfCryptoManagerHostKeyStatus"] = reflect.TypeOf((*ArrayOfCryptoManagerHostKeyStatus)(nil)).Elem()
  2912  }
  2913  
  2914  // A boxed array of `CryptoManagerKmipClusterStatus`. To be used in `Any` placeholders.
  2915  type ArrayOfCryptoManagerKmipClusterStatus struct {
  2916  	CryptoManagerKmipClusterStatus []CryptoManagerKmipClusterStatus `xml:"CryptoManagerKmipClusterStatus,omitempty" json:"_value"`
  2917  }
  2918  
  2919  func init() {
  2920  	t["ArrayOfCryptoManagerKmipClusterStatus"] = reflect.TypeOf((*ArrayOfCryptoManagerKmipClusterStatus)(nil)).Elem()
  2921  }
  2922  
  2923  // A boxed array of `CryptoManagerKmipCryptoKeyStatus`. To be used in `Any` placeholders.
  2924  type ArrayOfCryptoManagerKmipCryptoKeyStatus struct {
  2925  	CryptoManagerKmipCryptoKeyStatus []CryptoManagerKmipCryptoKeyStatus `xml:"CryptoManagerKmipCryptoKeyStatus,omitempty" json:"_value"`
  2926  }
  2927  
  2928  func init() {
  2929  	t["ArrayOfCryptoManagerKmipCryptoKeyStatus"] = reflect.TypeOf((*ArrayOfCryptoManagerKmipCryptoKeyStatus)(nil)).Elem()
  2930  }
  2931  
  2932  // A boxed array of `CryptoManagerKmipServerStatus`. To be used in `Any` placeholders.
  2933  type ArrayOfCryptoManagerKmipServerStatus struct {
  2934  	CryptoManagerKmipServerStatus []CryptoManagerKmipServerStatus `xml:"CryptoManagerKmipServerStatus,omitempty" json:"_value"`
  2935  }
  2936  
  2937  func init() {
  2938  	t["ArrayOfCryptoManagerKmipServerStatus"] = reflect.TypeOf((*ArrayOfCryptoManagerKmipServerStatus)(nil)).Elem()
  2939  }
  2940  
  2941  // A boxed array of `CustomFieldDef`. To be used in `Any` placeholders.
  2942  type ArrayOfCustomFieldDef struct {
  2943  	CustomFieldDef []CustomFieldDef `xml:"CustomFieldDef,omitempty" json:"_value"`
  2944  }
  2945  
  2946  func init() {
  2947  	t["ArrayOfCustomFieldDef"] = reflect.TypeOf((*ArrayOfCustomFieldDef)(nil)).Elem()
  2948  }
  2949  
  2950  // A boxed array of `CustomFieldValue`. To be used in `Any` placeholders.
  2951  type ArrayOfCustomFieldValue struct {
  2952  	CustomFieldValue []BaseCustomFieldValue `xml:"CustomFieldValue,omitempty,typeattr" json:"_value"`
  2953  }
  2954  
  2955  func init() {
  2956  	t["ArrayOfCustomFieldValue"] = reflect.TypeOf((*ArrayOfCustomFieldValue)(nil)).Elem()
  2957  }
  2958  
  2959  // A boxed array of `CustomizationAdapterMapping`. To be used in `Any` placeholders.
  2960  type ArrayOfCustomizationAdapterMapping struct {
  2961  	CustomizationAdapterMapping []CustomizationAdapterMapping `xml:"CustomizationAdapterMapping,omitempty" json:"_value"`
  2962  }
  2963  
  2964  func init() {
  2965  	t["ArrayOfCustomizationAdapterMapping"] = reflect.TypeOf((*ArrayOfCustomizationAdapterMapping)(nil)).Elem()
  2966  }
  2967  
  2968  // A boxed array of `CustomizationIpV6Generator`. To be used in `Any` placeholders.
  2969  type ArrayOfCustomizationIpV6Generator struct {
  2970  	CustomizationIpV6Generator []BaseCustomizationIpV6Generator `xml:"CustomizationIpV6Generator,omitempty,typeattr" json:"_value"`
  2971  }
  2972  
  2973  func init() {
  2974  	t["ArrayOfCustomizationIpV6Generator"] = reflect.TypeOf((*ArrayOfCustomizationIpV6Generator)(nil)).Elem()
  2975  }
  2976  
  2977  // A boxed array of `CustomizationSpecInfo`. To be used in `Any` placeholders.
  2978  type ArrayOfCustomizationSpecInfo struct {
  2979  	CustomizationSpecInfo []CustomizationSpecInfo `xml:"CustomizationSpecInfo,omitempty" json:"_value"`
  2980  }
  2981  
  2982  func init() {
  2983  	t["ArrayOfCustomizationSpecInfo"] = reflect.TypeOf((*ArrayOfCustomizationSpecInfo)(nil)).Elem()
  2984  }
  2985  
  2986  // A boxed array of `DVPortConfigSpec`. To be used in `Any` placeholders.
  2987  type ArrayOfDVPortConfigSpec struct {
  2988  	DVPortConfigSpec []DVPortConfigSpec `xml:"DVPortConfigSpec,omitempty" json:"_value"`
  2989  }
  2990  
  2991  func init() {
  2992  	t["ArrayOfDVPortConfigSpec"] = reflect.TypeOf((*ArrayOfDVPortConfigSpec)(nil)).Elem()
  2993  }
  2994  
  2995  // A boxed array of `DVPortgroupConfigSpec`. To be used in `Any` placeholders.
  2996  type ArrayOfDVPortgroupConfigSpec struct {
  2997  	DVPortgroupConfigSpec []DVPortgroupConfigSpec `xml:"DVPortgroupConfigSpec,omitempty" json:"_value"`
  2998  }
  2999  
  3000  func init() {
  3001  	t["ArrayOfDVPortgroupConfigSpec"] = reflect.TypeOf((*ArrayOfDVPortgroupConfigSpec)(nil)).Elem()
  3002  }
  3003  
  3004  // A boxed array of `DVSHealthCheckConfig`. To be used in `Any` placeholders.
  3005  type ArrayOfDVSHealthCheckConfig struct {
  3006  	DVSHealthCheckConfig []BaseDVSHealthCheckConfig `xml:"DVSHealthCheckConfig,omitempty,typeattr" json:"_value"`
  3007  }
  3008  
  3009  func init() {
  3010  	t["ArrayOfDVSHealthCheckConfig"] = reflect.TypeOf((*ArrayOfDVSHealthCheckConfig)(nil)).Elem()
  3011  }
  3012  
  3013  // A boxed array of `DVSManagerPhysicalNicsList`. To be used in `Any` placeholders.
  3014  type ArrayOfDVSManagerPhysicalNicsList struct {
  3015  	DVSManagerPhysicalNicsList []DVSManagerPhysicalNicsList `xml:"DVSManagerPhysicalNicsList,omitempty" json:"_value"`
  3016  }
  3017  
  3018  func init() {
  3019  	t["ArrayOfDVSManagerPhysicalNicsList"] = reflect.TypeOf((*ArrayOfDVSManagerPhysicalNicsList)(nil)).Elem()
  3020  }
  3021  
  3022  // A boxed array of `DVSNetworkResourcePool`. To be used in `Any` placeholders.
  3023  type ArrayOfDVSNetworkResourcePool struct {
  3024  	DVSNetworkResourcePool []DVSNetworkResourcePool `xml:"DVSNetworkResourcePool,omitempty" json:"_value"`
  3025  }
  3026  
  3027  func init() {
  3028  	t["ArrayOfDVSNetworkResourcePool"] = reflect.TypeOf((*ArrayOfDVSNetworkResourcePool)(nil)).Elem()
  3029  }
  3030  
  3031  // A boxed array of `DVSNetworkResourcePoolConfigSpec`. To be used in `Any` placeholders.
  3032  type ArrayOfDVSNetworkResourcePoolConfigSpec struct {
  3033  	DVSNetworkResourcePoolConfigSpec []DVSNetworkResourcePoolConfigSpec `xml:"DVSNetworkResourcePoolConfigSpec,omitempty" json:"_value"`
  3034  }
  3035  
  3036  func init() {
  3037  	t["ArrayOfDVSNetworkResourcePoolConfigSpec"] = reflect.TypeOf((*ArrayOfDVSNetworkResourcePoolConfigSpec)(nil)).Elem()
  3038  }
  3039  
  3040  // A boxed array of `DVSVmVnicNetworkResourcePool`. To be used in `Any` placeholders.
  3041  type ArrayOfDVSVmVnicNetworkResourcePool struct {
  3042  	DVSVmVnicNetworkResourcePool []DVSVmVnicNetworkResourcePool `xml:"DVSVmVnicNetworkResourcePool,omitempty" json:"_value"`
  3043  }
  3044  
  3045  func init() {
  3046  	t["ArrayOfDVSVmVnicNetworkResourcePool"] = reflect.TypeOf((*ArrayOfDVSVmVnicNetworkResourcePool)(nil)).Elem()
  3047  }
  3048  
  3049  // A boxed array of `DasHeartbeatDatastoreInfo`. To be used in `Any` placeholders.
  3050  type ArrayOfDasHeartbeatDatastoreInfo struct {
  3051  	DasHeartbeatDatastoreInfo []DasHeartbeatDatastoreInfo `xml:"DasHeartbeatDatastoreInfo,omitempty" json:"_value"`
  3052  }
  3053  
  3054  func init() {
  3055  	t["ArrayOfDasHeartbeatDatastoreInfo"] = reflect.TypeOf((*ArrayOfDasHeartbeatDatastoreInfo)(nil)).Elem()
  3056  }
  3057  
  3058  // A boxed array of `DatacenterBasicConnectInfo`. To be used in `Any` placeholders.
  3059  type ArrayOfDatacenterBasicConnectInfo struct {
  3060  	DatacenterBasicConnectInfo []DatacenterBasicConnectInfo `xml:"DatacenterBasicConnectInfo,omitempty" json:"_value"`
  3061  }
  3062  
  3063  func init() {
  3064  	t["ArrayOfDatacenterBasicConnectInfo"] = reflect.TypeOf((*ArrayOfDatacenterBasicConnectInfo)(nil)).Elem()
  3065  }
  3066  
  3067  // A boxed array of `DatacenterMismatchArgument`. To be used in `Any` placeholders.
  3068  type ArrayOfDatacenterMismatchArgument struct {
  3069  	DatacenterMismatchArgument []DatacenterMismatchArgument `xml:"DatacenterMismatchArgument,omitempty" json:"_value"`
  3070  }
  3071  
  3072  func init() {
  3073  	t["ArrayOfDatacenterMismatchArgument"] = reflect.TypeOf((*ArrayOfDatacenterMismatchArgument)(nil)).Elem()
  3074  }
  3075  
  3076  // A boxed array of `DatastoreHostMount`. To be used in `Any` placeholders.
  3077  type ArrayOfDatastoreHostMount struct {
  3078  	DatastoreHostMount []DatastoreHostMount `xml:"DatastoreHostMount,omitempty" json:"_value"`
  3079  }
  3080  
  3081  func init() {
  3082  	t["ArrayOfDatastoreHostMount"] = reflect.TypeOf((*ArrayOfDatastoreHostMount)(nil)).Elem()
  3083  }
  3084  
  3085  // A boxed array of `DatastoreMountPathDatastorePair`. To be used in `Any` placeholders.
  3086  type ArrayOfDatastoreMountPathDatastorePair struct {
  3087  	DatastoreMountPathDatastorePair []DatastoreMountPathDatastorePair `xml:"DatastoreMountPathDatastorePair,omitempty" json:"_value"`
  3088  }
  3089  
  3090  func init() {
  3091  	t["ArrayOfDatastoreMountPathDatastorePair"] = reflect.TypeOf((*ArrayOfDatastoreMountPathDatastorePair)(nil)).Elem()
  3092  }
  3093  
  3094  // A boxed array of `DatastoreVVolContainerFailoverPair`. To be used in `Any` placeholders.
  3095  type ArrayOfDatastoreVVolContainerFailoverPair struct {
  3096  	DatastoreVVolContainerFailoverPair []DatastoreVVolContainerFailoverPair `xml:"DatastoreVVolContainerFailoverPair,omitempty" json:"_value"`
  3097  }
  3098  
  3099  func init() {
  3100  	t["ArrayOfDatastoreVVolContainerFailoverPair"] = reflect.TypeOf((*ArrayOfDatastoreVVolContainerFailoverPair)(nil)).Elem()
  3101  }
  3102  
  3103  // A boxed array of `DesiredSoftwareSpecComponentSpec`. To be used in `Any` placeholders.
  3104  type ArrayOfDesiredSoftwareSpecComponentSpec struct {
  3105  	DesiredSoftwareSpecComponentSpec []DesiredSoftwareSpecComponentSpec `xml:"DesiredSoftwareSpecComponentSpec,omitempty" json:"_value"`
  3106  }
  3107  
  3108  func init() {
  3109  	t["ArrayOfDesiredSoftwareSpecComponentSpec"] = reflect.TypeOf((*ArrayOfDesiredSoftwareSpecComponentSpec)(nil)).Elem()
  3110  }
  3111  
  3112  // A boxed array of `DiagnosticManagerBundleInfo`. To be used in `Any` placeholders.
  3113  type ArrayOfDiagnosticManagerBundleInfo struct {
  3114  	DiagnosticManagerBundleInfo []DiagnosticManagerBundleInfo `xml:"DiagnosticManagerBundleInfo,omitempty" json:"_value"`
  3115  }
  3116  
  3117  func init() {
  3118  	t["ArrayOfDiagnosticManagerBundleInfo"] = reflect.TypeOf((*ArrayOfDiagnosticManagerBundleInfo)(nil)).Elem()
  3119  }
  3120  
  3121  // A boxed array of `DiagnosticManagerLogDescriptor`. To be used in `Any` placeholders.
  3122  type ArrayOfDiagnosticManagerLogDescriptor struct {
  3123  	DiagnosticManagerLogDescriptor []DiagnosticManagerLogDescriptor `xml:"DiagnosticManagerLogDescriptor,omitempty" json:"_value"`
  3124  }
  3125  
  3126  func init() {
  3127  	t["ArrayOfDiagnosticManagerLogDescriptor"] = reflect.TypeOf((*ArrayOfDiagnosticManagerLogDescriptor)(nil)).Elem()
  3128  }
  3129  
  3130  // A boxed array of `DiskChangeExtent`. To be used in `Any` placeholders.
  3131  type ArrayOfDiskChangeExtent struct {
  3132  	DiskChangeExtent []DiskChangeExtent `xml:"DiskChangeExtent,omitempty" json:"_value"`
  3133  }
  3134  
  3135  func init() {
  3136  	t["ArrayOfDiskChangeExtent"] = reflect.TypeOf((*ArrayOfDiskChangeExtent)(nil)).Elem()
  3137  }
  3138  
  3139  // A boxed array of `DistributedVirtualPort`. To be used in `Any` placeholders.
  3140  type ArrayOfDistributedVirtualPort struct {
  3141  	DistributedVirtualPort []DistributedVirtualPort `xml:"DistributedVirtualPort,omitempty" json:"_value"`
  3142  }
  3143  
  3144  func init() {
  3145  	t["ArrayOfDistributedVirtualPort"] = reflect.TypeOf((*ArrayOfDistributedVirtualPort)(nil)).Elem()
  3146  }
  3147  
  3148  // A boxed array of `DistributedVirtualPortgroupInfo`. To be used in `Any` placeholders.
  3149  type ArrayOfDistributedVirtualPortgroupInfo struct {
  3150  	DistributedVirtualPortgroupInfo []DistributedVirtualPortgroupInfo `xml:"DistributedVirtualPortgroupInfo,omitempty" json:"_value"`
  3151  }
  3152  
  3153  func init() {
  3154  	t["ArrayOfDistributedVirtualPortgroupInfo"] = reflect.TypeOf((*ArrayOfDistributedVirtualPortgroupInfo)(nil)).Elem()
  3155  }
  3156  
  3157  // A boxed array of `DistributedVirtualPortgroupProblem`. To be used in `Any` placeholders.
  3158  type ArrayOfDistributedVirtualPortgroupProblem struct {
  3159  	DistributedVirtualPortgroupProblem []DistributedVirtualPortgroupProblem `xml:"DistributedVirtualPortgroupProblem,omitempty" json:"_value"`
  3160  }
  3161  
  3162  func init() {
  3163  	t["ArrayOfDistributedVirtualPortgroupProblem"] = reflect.TypeOf((*ArrayOfDistributedVirtualPortgroupProblem)(nil)).Elem()
  3164  }
  3165  
  3166  // A boxed array of `DistributedVirtualSwitchHostMember`. To be used in `Any` placeholders.
  3167  type ArrayOfDistributedVirtualSwitchHostMember struct {
  3168  	DistributedVirtualSwitchHostMember []DistributedVirtualSwitchHostMember `xml:"DistributedVirtualSwitchHostMember,omitempty" json:"_value"`
  3169  }
  3170  
  3171  func init() {
  3172  	t["ArrayOfDistributedVirtualSwitchHostMember"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchHostMember)(nil)).Elem()
  3173  }
  3174  
  3175  // A boxed array of `DistributedVirtualSwitchHostMemberConfigSpec`. To be used in `Any` placeholders.
  3176  type ArrayOfDistributedVirtualSwitchHostMemberConfigSpec struct {
  3177  	DistributedVirtualSwitchHostMemberConfigSpec []DistributedVirtualSwitchHostMemberConfigSpec `xml:"DistributedVirtualSwitchHostMemberConfigSpec,omitempty" json:"_value"`
  3178  }
  3179  
  3180  func init() {
  3181  	t["ArrayOfDistributedVirtualSwitchHostMemberConfigSpec"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchHostMemberConfigSpec)(nil)).Elem()
  3182  }
  3183  
  3184  // A boxed array of `DistributedVirtualSwitchHostMemberPnicSpec`. To be used in `Any` placeholders.
  3185  type ArrayOfDistributedVirtualSwitchHostMemberPnicSpec struct {
  3186  	DistributedVirtualSwitchHostMemberPnicSpec []DistributedVirtualSwitchHostMemberPnicSpec `xml:"DistributedVirtualSwitchHostMemberPnicSpec,omitempty" json:"_value"`
  3187  }
  3188  
  3189  func init() {
  3190  	t["ArrayOfDistributedVirtualSwitchHostMemberPnicSpec"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchHostMemberPnicSpec)(nil)).Elem()
  3191  }
  3192  
  3193  // A boxed array of `DistributedVirtualSwitchHostMemberTransportZoneInfo`. To be used in `Any` placeholders.
  3194  type ArrayOfDistributedVirtualSwitchHostMemberTransportZoneInfo struct {
  3195  	DistributedVirtualSwitchHostMemberTransportZoneInfo []DistributedVirtualSwitchHostMemberTransportZoneInfo `xml:"DistributedVirtualSwitchHostMemberTransportZoneInfo,omitempty" json:"_value"`
  3196  }
  3197  
  3198  func init() {
  3199  	t["ArrayOfDistributedVirtualSwitchHostMemberTransportZoneInfo"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchHostMemberTransportZoneInfo)(nil)).Elem()
  3200  }
  3201  
  3202  // A boxed array of `DistributedVirtualSwitchHostProductSpec`. To be used in `Any` placeholders.
  3203  type ArrayOfDistributedVirtualSwitchHostProductSpec struct {
  3204  	DistributedVirtualSwitchHostProductSpec []DistributedVirtualSwitchHostProductSpec `xml:"DistributedVirtualSwitchHostProductSpec,omitempty" json:"_value"`
  3205  }
  3206  
  3207  func init() {
  3208  	t["ArrayOfDistributedVirtualSwitchHostProductSpec"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchHostProductSpec)(nil)).Elem()
  3209  }
  3210  
  3211  // A boxed array of `DistributedVirtualSwitchInfo`. To be used in `Any` placeholders.
  3212  type ArrayOfDistributedVirtualSwitchInfo struct {
  3213  	DistributedVirtualSwitchInfo []DistributedVirtualSwitchInfo `xml:"DistributedVirtualSwitchInfo,omitempty" json:"_value"`
  3214  }
  3215  
  3216  func init() {
  3217  	t["ArrayOfDistributedVirtualSwitchInfo"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchInfo)(nil)).Elem()
  3218  }
  3219  
  3220  // A boxed array of `DistributedVirtualSwitchKeyedOpaqueBlob`. To be used in `Any` placeholders.
  3221  type ArrayOfDistributedVirtualSwitchKeyedOpaqueBlob struct {
  3222  	DistributedVirtualSwitchKeyedOpaqueBlob []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"DistributedVirtualSwitchKeyedOpaqueBlob,omitempty" json:"_value"`
  3223  }
  3224  
  3225  func init() {
  3226  	t["ArrayOfDistributedVirtualSwitchKeyedOpaqueBlob"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchKeyedOpaqueBlob)(nil)).Elem()
  3227  }
  3228  
  3229  // A boxed array of `DistributedVirtualSwitchManagerCompatibilityResult`. To be used in `Any` placeholders.
  3230  type ArrayOfDistributedVirtualSwitchManagerCompatibilityResult struct {
  3231  	DistributedVirtualSwitchManagerCompatibilityResult []DistributedVirtualSwitchManagerCompatibilityResult `xml:"DistributedVirtualSwitchManagerCompatibilityResult,omitempty" json:"_value"`
  3232  }
  3233  
  3234  func init() {
  3235  	t["ArrayOfDistributedVirtualSwitchManagerCompatibilityResult"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchManagerCompatibilityResult)(nil)).Elem()
  3236  }
  3237  
  3238  // A boxed array of `DistributedVirtualSwitchManagerHostDvsFilterSpec`. To be used in `Any` placeholders.
  3239  type ArrayOfDistributedVirtualSwitchManagerHostDvsFilterSpec struct {
  3240  	DistributedVirtualSwitchManagerHostDvsFilterSpec []BaseDistributedVirtualSwitchManagerHostDvsFilterSpec `xml:"DistributedVirtualSwitchManagerHostDvsFilterSpec,omitempty,typeattr" json:"_value"`
  3241  }
  3242  
  3243  func init() {
  3244  	t["ArrayOfDistributedVirtualSwitchManagerHostDvsFilterSpec"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchManagerHostDvsFilterSpec)(nil)).Elem()
  3245  }
  3246  
  3247  // A boxed array of `DistributedVirtualSwitchNetworkOffloadSpec`. To be used in `Any` placeholders.
  3248  type ArrayOfDistributedVirtualSwitchNetworkOffloadSpec struct {
  3249  	DistributedVirtualSwitchNetworkOffloadSpec []DistributedVirtualSwitchNetworkOffloadSpec `xml:"DistributedVirtualSwitchNetworkOffloadSpec,omitempty" json:"_value"`
  3250  }
  3251  
  3252  func init() {
  3253  	t["ArrayOfDistributedVirtualSwitchNetworkOffloadSpec"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchNetworkOffloadSpec)(nil)).Elem()
  3254  }
  3255  
  3256  // A boxed array of `DistributedVirtualSwitchProductSpec`. To be used in `Any` placeholders.
  3257  type ArrayOfDistributedVirtualSwitchProductSpec struct {
  3258  	DistributedVirtualSwitchProductSpec []DistributedVirtualSwitchProductSpec `xml:"DistributedVirtualSwitchProductSpec,omitempty" json:"_value"`
  3259  }
  3260  
  3261  func init() {
  3262  	t["ArrayOfDistributedVirtualSwitchProductSpec"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchProductSpec)(nil)).Elem()
  3263  }
  3264  
  3265  // A boxed array of `PrimitiveDouble`. To be used in `Any` placeholders.
  3266  type ArrayOfDouble struct {
  3267  	Double []float64 `xml:"double,omitempty" json:"_value"`
  3268  }
  3269  
  3270  func init() {
  3271  	t["ArrayOfDouble"] = reflect.TypeOf((*ArrayOfDouble)(nil)).Elem()
  3272  }
  3273  
  3274  // A boxed array of `DpuStatusInfo`. To be used in `Any` placeholders.
  3275  type ArrayOfDpuStatusInfo struct {
  3276  	DpuStatusInfo []DpuStatusInfo `xml:"DpuStatusInfo,omitempty" json:"_value"`
  3277  }
  3278  
  3279  func init() {
  3280  	t["ArrayOfDpuStatusInfo"] = reflect.TypeOf((*ArrayOfDpuStatusInfo)(nil)).Elem()
  3281  }
  3282  
  3283  // A boxed array of `DpuStatusInfoOperationalInfo`. To be used in `Any` placeholders.
  3284  type ArrayOfDpuStatusInfoOperationalInfo struct {
  3285  	DpuStatusInfoOperationalInfo []DpuStatusInfoOperationalInfo `xml:"DpuStatusInfoOperationalInfo,omitempty" json:"_value"`
  3286  }
  3287  
  3288  func init() {
  3289  	t["ArrayOfDpuStatusInfoOperationalInfo"] = reflect.TypeOf((*ArrayOfDpuStatusInfoOperationalInfo)(nil)).Elem()
  3290  }
  3291  
  3292  // A boxed array of `DvsApplyOperationFaultFaultOnObject`. To be used in `Any` placeholders.
  3293  type ArrayOfDvsApplyOperationFaultFaultOnObject struct {
  3294  	DvsApplyOperationFaultFaultOnObject []DvsApplyOperationFaultFaultOnObject `xml:"DvsApplyOperationFaultFaultOnObject,omitempty" json:"_value"`
  3295  }
  3296  
  3297  func init() {
  3298  	t["ArrayOfDvsApplyOperationFaultFaultOnObject"] = reflect.TypeOf((*ArrayOfDvsApplyOperationFaultFaultOnObject)(nil)).Elem()
  3299  }
  3300  
  3301  // A boxed array of `DvsFilterConfig`. To be used in `Any` placeholders.
  3302  type ArrayOfDvsFilterConfig struct {
  3303  	DvsFilterConfig []BaseDvsFilterConfig `xml:"DvsFilterConfig,omitempty,typeattr" json:"_value"`
  3304  }
  3305  
  3306  func init() {
  3307  	t["ArrayOfDvsFilterConfig"] = reflect.TypeOf((*ArrayOfDvsFilterConfig)(nil)).Elem()
  3308  }
  3309  
  3310  // A boxed array of `DvsHostInfrastructureTrafficResource`. To be used in `Any` placeholders.
  3311  type ArrayOfDvsHostInfrastructureTrafficResource struct {
  3312  	DvsHostInfrastructureTrafficResource []DvsHostInfrastructureTrafficResource `xml:"DvsHostInfrastructureTrafficResource,omitempty" json:"_value"`
  3313  }
  3314  
  3315  func init() {
  3316  	t["ArrayOfDvsHostInfrastructureTrafficResource"] = reflect.TypeOf((*ArrayOfDvsHostInfrastructureTrafficResource)(nil)).Elem()
  3317  }
  3318  
  3319  // A boxed array of `DvsHostVNicProfile`. To be used in `Any` placeholders.
  3320  type ArrayOfDvsHostVNicProfile struct {
  3321  	DvsHostVNicProfile []DvsHostVNicProfile `xml:"DvsHostVNicProfile,omitempty" json:"_value"`
  3322  }
  3323  
  3324  func init() {
  3325  	t["ArrayOfDvsHostVNicProfile"] = reflect.TypeOf((*ArrayOfDvsHostVNicProfile)(nil)).Elem()
  3326  }
  3327  
  3328  // A boxed array of `DvsNetworkRuleQualifier`. To be used in `Any` placeholders.
  3329  type ArrayOfDvsNetworkRuleQualifier struct {
  3330  	DvsNetworkRuleQualifier []BaseDvsNetworkRuleQualifier `xml:"DvsNetworkRuleQualifier,omitempty,typeattr" json:"_value"`
  3331  }
  3332  
  3333  func init() {
  3334  	t["ArrayOfDvsNetworkRuleQualifier"] = reflect.TypeOf((*ArrayOfDvsNetworkRuleQualifier)(nil)).Elem()
  3335  }
  3336  
  3337  // A boxed array of `DvsOperationBulkFaultFaultOnHost`. To be used in `Any` placeholders.
  3338  type ArrayOfDvsOperationBulkFaultFaultOnHost struct {
  3339  	DvsOperationBulkFaultFaultOnHost []DvsOperationBulkFaultFaultOnHost `xml:"DvsOperationBulkFaultFaultOnHost,omitempty" json:"_value"`
  3340  }
  3341  
  3342  func init() {
  3343  	t["ArrayOfDvsOperationBulkFaultFaultOnHost"] = reflect.TypeOf((*ArrayOfDvsOperationBulkFaultFaultOnHost)(nil)).Elem()
  3344  }
  3345  
  3346  // A boxed array of `DvsOutOfSyncHostArgument`. To be used in `Any` placeholders.
  3347  type ArrayOfDvsOutOfSyncHostArgument struct {
  3348  	DvsOutOfSyncHostArgument []DvsOutOfSyncHostArgument `xml:"DvsOutOfSyncHostArgument,omitempty" json:"_value"`
  3349  }
  3350  
  3351  func init() {
  3352  	t["ArrayOfDvsOutOfSyncHostArgument"] = reflect.TypeOf((*ArrayOfDvsOutOfSyncHostArgument)(nil)).Elem()
  3353  }
  3354  
  3355  // A boxed array of `DvsProfile`. To be used in `Any` placeholders.
  3356  type ArrayOfDvsProfile struct {
  3357  	DvsProfile []DvsProfile `xml:"DvsProfile,omitempty" json:"_value"`
  3358  }
  3359  
  3360  func init() {
  3361  	t["ArrayOfDvsProfile"] = reflect.TypeOf((*ArrayOfDvsProfile)(nil)).Elem()
  3362  }
  3363  
  3364  // A boxed array of `DvsServiceConsoleVNicProfile`. To be used in `Any` placeholders.
  3365  type ArrayOfDvsServiceConsoleVNicProfile struct {
  3366  	DvsServiceConsoleVNicProfile []DvsServiceConsoleVNicProfile `xml:"DvsServiceConsoleVNicProfile,omitempty" json:"_value"`
  3367  }
  3368  
  3369  func init() {
  3370  	t["ArrayOfDvsServiceConsoleVNicProfile"] = reflect.TypeOf((*ArrayOfDvsServiceConsoleVNicProfile)(nil)).Elem()
  3371  }
  3372  
  3373  // A boxed array of `DvsTrafficRule`. To be used in `Any` placeholders.
  3374  type ArrayOfDvsTrafficRule struct {
  3375  	DvsTrafficRule []DvsTrafficRule `xml:"DvsTrafficRule,omitempty" json:"_value"`
  3376  }
  3377  
  3378  func init() {
  3379  	t["ArrayOfDvsTrafficRule"] = reflect.TypeOf((*ArrayOfDvsTrafficRule)(nil)).Elem()
  3380  }
  3381  
  3382  // A boxed array of `DvsVmVnicNetworkResourcePoolRuntimeInfo`. To be used in `Any` placeholders.
  3383  type ArrayOfDvsVmVnicNetworkResourcePoolRuntimeInfo struct {
  3384  	DvsVmVnicNetworkResourcePoolRuntimeInfo []DvsVmVnicNetworkResourcePoolRuntimeInfo `xml:"DvsVmVnicNetworkResourcePoolRuntimeInfo,omitempty" json:"_value"`
  3385  }
  3386  
  3387  func init() {
  3388  	t["ArrayOfDvsVmVnicNetworkResourcePoolRuntimeInfo"] = reflect.TypeOf((*ArrayOfDvsVmVnicNetworkResourcePoolRuntimeInfo)(nil)).Elem()
  3389  }
  3390  
  3391  // A boxed array of `DvsVmVnicResourcePoolConfigSpec`. To be used in `Any` placeholders.
  3392  type ArrayOfDvsVmVnicResourcePoolConfigSpec struct {
  3393  	DvsVmVnicResourcePoolConfigSpec []DvsVmVnicResourcePoolConfigSpec `xml:"DvsVmVnicResourcePoolConfigSpec,omitempty" json:"_value"`
  3394  }
  3395  
  3396  func init() {
  3397  	t["ArrayOfDvsVmVnicResourcePoolConfigSpec"] = reflect.TypeOf((*ArrayOfDvsVmVnicResourcePoolConfigSpec)(nil)).Elem()
  3398  }
  3399  
  3400  // A boxed array of `DvsVnicAllocatedResource`. To be used in `Any` placeholders.
  3401  type ArrayOfDvsVnicAllocatedResource struct {
  3402  	DvsVnicAllocatedResource []DvsVnicAllocatedResource `xml:"DvsVnicAllocatedResource,omitempty" json:"_value"`
  3403  }
  3404  
  3405  func init() {
  3406  	t["ArrayOfDvsVnicAllocatedResource"] = reflect.TypeOf((*ArrayOfDvsVnicAllocatedResource)(nil)).Elem()
  3407  }
  3408  
  3409  // A boxed array of `DynamicProperty`. To be used in `Any` placeholders.
  3410  type ArrayOfDynamicProperty struct {
  3411  	DynamicProperty []DynamicProperty `xml:"DynamicProperty,omitempty" json:"_value"`
  3412  }
  3413  
  3414  func init() {
  3415  	t["ArrayOfDynamicProperty"] = reflect.TypeOf((*ArrayOfDynamicProperty)(nil)).Elem()
  3416  }
  3417  
  3418  // A boxed array of `EVCMode`. To be used in `Any` placeholders.
  3419  type ArrayOfEVCMode struct {
  3420  	EVCMode []EVCMode `xml:"EVCMode,omitempty" json:"_value"`
  3421  }
  3422  
  3423  func init() {
  3424  	t["ArrayOfEVCMode"] = reflect.TypeOf((*ArrayOfEVCMode)(nil)).Elem()
  3425  }
  3426  
  3427  // A boxed array of `ElementDescription`. To be used in `Any` placeholders.
  3428  type ArrayOfElementDescription struct {
  3429  	ElementDescription []BaseElementDescription `xml:"ElementDescription,omitempty,typeattr" json:"_value"`
  3430  }
  3431  
  3432  func init() {
  3433  	t["ArrayOfElementDescription"] = reflect.TypeOf((*ArrayOfElementDescription)(nil)).Elem()
  3434  }
  3435  
  3436  // A boxed array of `EntityBackupConfig`. To be used in `Any` placeholders.
  3437  type ArrayOfEntityBackupConfig struct {
  3438  	EntityBackupConfig []EntityBackupConfig `xml:"EntityBackupConfig,omitempty" json:"_value"`
  3439  }
  3440  
  3441  func init() {
  3442  	t["ArrayOfEntityBackupConfig"] = reflect.TypeOf((*ArrayOfEntityBackupConfig)(nil)).Elem()
  3443  }
  3444  
  3445  // A boxed array of `EntityPrivilege`. To be used in `Any` placeholders.
  3446  type ArrayOfEntityPrivilege struct {
  3447  	EntityPrivilege []EntityPrivilege `xml:"EntityPrivilege,omitempty" json:"_value"`
  3448  }
  3449  
  3450  func init() {
  3451  	t["ArrayOfEntityPrivilege"] = reflect.TypeOf((*ArrayOfEntityPrivilege)(nil)).Elem()
  3452  }
  3453  
  3454  // A boxed array of `EnumDescription`. To be used in `Any` placeholders.
  3455  type ArrayOfEnumDescription struct {
  3456  	EnumDescription []EnumDescription `xml:"EnumDescription,omitempty" json:"_value"`
  3457  }
  3458  
  3459  func init() {
  3460  	t["ArrayOfEnumDescription"] = reflect.TypeOf((*ArrayOfEnumDescription)(nil)).Elem()
  3461  }
  3462  
  3463  // A boxed array of `Event`. To be used in `Any` placeholders.
  3464  type ArrayOfEvent struct {
  3465  	Event []BaseEvent `xml:"Event,omitempty,typeattr" json:"_value"`
  3466  }
  3467  
  3468  func init() {
  3469  	t["ArrayOfEvent"] = reflect.TypeOf((*ArrayOfEvent)(nil)).Elem()
  3470  }
  3471  
  3472  // A boxed array of `EventAlarmExpressionComparison`. To be used in `Any` placeholders.
  3473  type ArrayOfEventAlarmExpressionComparison struct {
  3474  	EventAlarmExpressionComparison []EventAlarmExpressionComparison `xml:"EventAlarmExpressionComparison,omitempty" json:"_value"`
  3475  }
  3476  
  3477  func init() {
  3478  	t["ArrayOfEventAlarmExpressionComparison"] = reflect.TypeOf((*ArrayOfEventAlarmExpressionComparison)(nil)).Elem()
  3479  }
  3480  
  3481  // A boxed array of `EventArgDesc`. To be used in `Any` placeholders.
  3482  type ArrayOfEventArgDesc struct {
  3483  	EventArgDesc []EventArgDesc `xml:"EventArgDesc,omitempty" json:"_value"`
  3484  }
  3485  
  3486  func init() {
  3487  	t["ArrayOfEventArgDesc"] = reflect.TypeOf((*ArrayOfEventArgDesc)(nil)).Elem()
  3488  }
  3489  
  3490  // A boxed array of `EventDescriptionEventDetail`. To be used in `Any` placeholders.
  3491  type ArrayOfEventDescriptionEventDetail struct {
  3492  	EventDescriptionEventDetail []EventDescriptionEventDetail `xml:"EventDescriptionEventDetail,omitempty" json:"_value"`
  3493  }
  3494  
  3495  func init() {
  3496  	t["ArrayOfEventDescriptionEventDetail"] = reflect.TypeOf((*ArrayOfEventDescriptionEventDetail)(nil)).Elem()
  3497  }
  3498  
  3499  // A boxed array of `ExtManagedEntityInfo`. To be used in `Any` placeholders.
  3500  type ArrayOfExtManagedEntityInfo struct {
  3501  	ExtManagedEntityInfo []ExtManagedEntityInfo `xml:"ExtManagedEntityInfo,omitempty" json:"_value"`
  3502  }
  3503  
  3504  func init() {
  3505  	t["ArrayOfExtManagedEntityInfo"] = reflect.TypeOf((*ArrayOfExtManagedEntityInfo)(nil)).Elem()
  3506  }
  3507  
  3508  // A boxed array of `ExtSolutionManagerInfoTabInfo`. To be used in `Any` placeholders.
  3509  type ArrayOfExtSolutionManagerInfoTabInfo struct {
  3510  	ExtSolutionManagerInfoTabInfo []ExtSolutionManagerInfoTabInfo `xml:"ExtSolutionManagerInfoTabInfo,omitempty" json:"_value"`
  3511  }
  3512  
  3513  func init() {
  3514  	t["ArrayOfExtSolutionManagerInfoTabInfo"] = reflect.TypeOf((*ArrayOfExtSolutionManagerInfoTabInfo)(nil)).Elem()
  3515  }
  3516  
  3517  // A boxed array of `ExtendedEventPair`. To be used in `Any` placeholders.
  3518  type ArrayOfExtendedEventPair struct {
  3519  	ExtendedEventPair []ExtendedEventPair `xml:"ExtendedEventPair,omitempty" json:"_value"`
  3520  }
  3521  
  3522  func init() {
  3523  	t["ArrayOfExtendedEventPair"] = reflect.TypeOf((*ArrayOfExtendedEventPair)(nil)).Elem()
  3524  }
  3525  
  3526  // A boxed array of `Extension`. To be used in `Any` placeholders.
  3527  type ArrayOfExtension struct {
  3528  	Extension []Extension `xml:"Extension,omitempty" json:"_value"`
  3529  }
  3530  
  3531  func init() {
  3532  	t["ArrayOfExtension"] = reflect.TypeOf((*ArrayOfExtension)(nil)).Elem()
  3533  }
  3534  
  3535  // A boxed array of `ExtensionClientInfo`. To be used in `Any` placeholders.
  3536  type ArrayOfExtensionClientInfo struct {
  3537  	ExtensionClientInfo []ExtensionClientInfo `xml:"ExtensionClientInfo,omitempty" json:"_value"`
  3538  }
  3539  
  3540  func init() {
  3541  	t["ArrayOfExtensionClientInfo"] = reflect.TypeOf((*ArrayOfExtensionClientInfo)(nil)).Elem()
  3542  }
  3543  
  3544  // A boxed array of `ExtensionEventTypeInfo`. To be used in `Any` placeholders.
  3545  type ArrayOfExtensionEventTypeInfo struct {
  3546  	ExtensionEventTypeInfo []ExtensionEventTypeInfo `xml:"ExtensionEventTypeInfo,omitempty" json:"_value"`
  3547  }
  3548  
  3549  func init() {
  3550  	t["ArrayOfExtensionEventTypeInfo"] = reflect.TypeOf((*ArrayOfExtensionEventTypeInfo)(nil)).Elem()
  3551  }
  3552  
  3553  // A boxed array of `ExtensionFaultTypeInfo`. To be used in `Any` placeholders.
  3554  type ArrayOfExtensionFaultTypeInfo struct {
  3555  	ExtensionFaultTypeInfo []ExtensionFaultTypeInfo `xml:"ExtensionFaultTypeInfo,omitempty" json:"_value"`
  3556  }
  3557  
  3558  func init() {
  3559  	t["ArrayOfExtensionFaultTypeInfo"] = reflect.TypeOf((*ArrayOfExtensionFaultTypeInfo)(nil)).Elem()
  3560  }
  3561  
  3562  // A boxed array of `ExtensionManagerIpAllocationUsage`. To be used in `Any` placeholders.
  3563  type ArrayOfExtensionManagerIpAllocationUsage struct {
  3564  	ExtensionManagerIpAllocationUsage []ExtensionManagerIpAllocationUsage `xml:"ExtensionManagerIpAllocationUsage,omitempty" json:"_value"`
  3565  }
  3566  
  3567  func init() {
  3568  	t["ArrayOfExtensionManagerIpAllocationUsage"] = reflect.TypeOf((*ArrayOfExtensionManagerIpAllocationUsage)(nil)).Elem()
  3569  }
  3570  
  3571  // A boxed array of `ExtensionPrivilegeInfo`. To be used in `Any` placeholders.
  3572  type ArrayOfExtensionPrivilegeInfo struct {
  3573  	ExtensionPrivilegeInfo []ExtensionPrivilegeInfo `xml:"ExtensionPrivilegeInfo,omitempty" json:"_value"`
  3574  }
  3575  
  3576  func init() {
  3577  	t["ArrayOfExtensionPrivilegeInfo"] = reflect.TypeOf((*ArrayOfExtensionPrivilegeInfo)(nil)).Elem()
  3578  }
  3579  
  3580  // A boxed array of `ExtensionResourceInfo`. To be used in `Any` placeholders.
  3581  type ArrayOfExtensionResourceInfo struct {
  3582  	ExtensionResourceInfo []ExtensionResourceInfo `xml:"ExtensionResourceInfo,omitempty" json:"_value"`
  3583  }
  3584  
  3585  func init() {
  3586  	t["ArrayOfExtensionResourceInfo"] = reflect.TypeOf((*ArrayOfExtensionResourceInfo)(nil)).Elem()
  3587  }
  3588  
  3589  // A boxed array of `ExtensionServerInfo`. To be used in `Any` placeholders.
  3590  type ArrayOfExtensionServerInfo struct {
  3591  	ExtensionServerInfo []ExtensionServerInfo `xml:"ExtensionServerInfo,omitempty" json:"_value"`
  3592  }
  3593  
  3594  func init() {
  3595  	t["ArrayOfExtensionServerInfo"] = reflect.TypeOf((*ArrayOfExtensionServerInfo)(nil)).Elem()
  3596  }
  3597  
  3598  // A boxed array of `ExtensionTaskTypeInfo`. To be used in `Any` placeholders.
  3599  type ArrayOfExtensionTaskTypeInfo struct {
  3600  	ExtensionTaskTypeInfo []ExtensionTaskTypeInfo `xml:"ExtensionTaskTypeInfo,omitempty" json:"_value"`
  3601  }
  3602  
  3603  func init() {
  3604  	t["ArrayOfExtensionTaskTypeInfo"] = reflect.TypeOf((*ArrayOfExtensionTaskTypeInfo)(nil)).Elem()
  3605  }
  3606  
  3607  // A boxed array of `FaultToleranceDiskSpec`. To be used in `Any` placeholders.
  3608  type ArrayOfFaultToleranceDiskSpec struct {
  3609  	FaultToleranceDiskSpec []FaultToleranceDiskSpec `xml:"FaultToleranceDiskSpec,omitempty" json:"_value"`
  3610  }
  3611  
  3612  func init() {
  3613  	t["ArrayOfFaultToleranceDiskSpec"] = reflect.TypeOf((*ArrayOfFaultToleranceDiskSpec)(nil)).Elem()
  3614  }
  3615  
  3616  // A boxed array of `FaultsByHost`. To be used in `Any` placeholders.
  3617  type ArrayOfFaultsByHost struct {
  3618  	FaultsByHost []FaultsByHost `xml:"FaultsByHost,omitempty" json:"_value"`
  3619  }
  3620  
  3621  func init() {
  3622  	t["ArrayOfFaultsByHost"] = reflect.TypeOf((*ArrayOfFaultsByHost)(nil)).Elem()
  3623  }
  3624  
  3625  // A boxed array of `FaultsByVM`. To be used in `Any` placeholders.
  3626  type ArrayOfFaultsByVM struct {
  3627  	FaultsByVM []FaultsByVM `xml:"FaultsByVM,omitempty" json:"_value"`
  3628  }
  3629  
  3630  func init() {
  3631  	t["ArrayOfFaultsByVM"] = reflect.TypeOf((*ArrayOfFaultsByVM)(nil)).Elem()
  3632  }
  3633  
  3634  // A boxed array of `FcoeConfigVlanRange`. To be used in `Any` placeholders.
  3635  type ArrayOfFcoeConfigVlanRange struct {
  3636  	FcoeConfigVlanRange []FcoeConfigVlanRange `xml:"FcoeConfigVlanRange,omitempty" json:"_value"`
  3637  }
  3638  
  3639  func init() {
  3640  	t["ArrayOfFcoeConfigVlanRange"] = reflect.TypeOf((*ArrayOfFcoeConfigVlanRange)(nil)).Elem()
  3641  }
  3642  
  3643  // A boxed array of `FeatureEVCMode`. To be used in `Any` placeholders.
  3644  type ArrayOfFeatureEVCMode struct {
  3645  	FeatureEVCMode []FeatureEVCMode `xml:"FeatureEVCMode,omitempty" json:"_value"`
  3646  }
  3647  
  3648  func init() {
  3649  	t["ArrayOfFeatureEVCMode"] = reflect.TypeOf((*ArrayOfFeatureEVCMode)(nil)).Elem()
  3650  }
  3651  
  3652  // A boxed array of `FileInfo`. To be used in `Any` placeholders.
  3653  type ArrayOfFileInfo struct {
  3654  	FileInfo []BaseFileInfo `xml:"FileInfo,omitempty,typeattr" json:"_value"`
  3655  }
  3656  
  3657  func init() {
  3658  	t["ArrayOfFileInfo"] = reflect.TypeOf((*ArrayOfFileInfo)(nil)).Elem()
  3659  }
  3660  
  3661  // A boxed array of `FileLockInfo`. To be used in `Any` placeholders.
  3662  type ArrayOfFileLockInfo struct {
  3663  	FileLockInfo []FileLockInfo `xml:"FileLockInfo,omitempty" json:"_value"`
  3664  }
  3665  
  3666  func init() {
  3667  	t["ArrayOfFileLockInfo"] = reflect.TypeOf((*ArrayOfFileLockInfo)(nil)).Elem()
  3668  }
  3669  
  3670  // A boxed array of `FileQuery`. To be used in `Any` placeholders.
  3671  type ArrayOfFileQuery struct {
  3672  	FileQuery []BaseFileQuery `xml:"FileQuery,omitempty,typeattr" json:"_value"`
  3673  }
  3674  
  3675  func init() {
  3676  	t["ArrayOfFileQuery"] = reflect.TypeOf((*ArrayOfFileQuery)(nil)).Elem()
  3677  }
  3678  
  3679  // A boxed array of `FirewallProfileRulesetProfile`. To be used in `Any` placeholders.
  3680  type ArrayOfFirewallProfileRulesetProfile struct {
  3681  	FirewallProfileRulesetProfile []FirewallProfileRulesetProfile `xml:"FirewallProfileRulesetProfile,omitempty" json:"_value"`
  3682  }
  3683  
  3684  func init() {
  3685  	t["ArrayOfFirewallProfileRulesetProfile"] = reflect.TypeOf((*ArrayOfFirewallProfileRulesetProfile)(nil)).Elem()
  3686  }
  3687  
  3688  // A boxed array of `FolderFailedHostResult`. To be used in `Any` placeholders.
  3689  type ArrayOfFolderFailedHostResult struct {
  3690  	FolderFailedHostResult []FolderFailedHostResult `xml:"FolderFailedHostResult,omitempty" json:"_value"`
  3691  }
  3692  
  3693  func init() {
  3694  	t["ArrayOfFolderFailedHostResult"] = reflect.TypeOf((*ArrayOfFolderFailedHostResult)(nil)).Elem()
  3695  }
  3696  
  3697  // A boxed array of `FolderNewHostSpec`. To be used in `Any` placeholders.
  3698  type ArrayOfFolderNewHostSpec struct {
  3699  	FolderNewHostSpec []FolderNewHostSpec `xml:"FolderNewHostSpec,omitempty" json:"_value"`
  3700  }
  3701  
  3702  func init() {
  3703  	t["ArrayOfFolderNewHostSpec"] = reflect.TypeOf((*ArrayOfFolderNewHostSpec)(nil)).Elem()
  3704  }
  3705  
  3706  // A boxed array of `GuestAliases`. To be used in `Any` placeholders.
  3707  type ArrayOfGuestAliases struct {
  3708  	GuestAliases []GuestAliases `xml:"GuestAliases,omitempty" json:"_value"`
  3709  }
  3710  
  3711  func init() {
  3712  	t["ArrayOfGuestAliases"] = reflect.TypeOf((*ArrayOfGuestAliases)(nil)).Elem()
  3713  }
  3714  
  3715  // A boxed array of `GuestAuthAliasInfo`. To be used in `Any` placeholders.
  3716  type ArrayOfGuestAuthAliasInfo struct {
  3717  	GuestAuthAliasInfo []GuestAuthAliasInfo `xml:"GuestAuthAliasInfo,omitempty" json:"_value"`
  3718  }
  3719  
  3720  func init() {
  3721  	t["ArrayOfGuestAuthAliasInfo"] = reflect.TypeOf((*ArrayOfGuestAuthAliasInfo)(nil)).Elem()
  3722  }
  3723  
  3724  // A boxed array of `GuestAuthSubject`. To be used in `Any` placeholders.
  3725  type ArrayOfGuestAuthSubject struct {
  3726  	GuestAuthSubject []BaseGuestAuthSubject `xml:"GuestAuthSubject,omitempty,typeattr" json:"_value"`
  3727  }
  3728  
  3729  func init() {
  3730  	t["ArrayOfGuestAuthSubject"] = reflect.TypeOf((*ArrayOfGuestAuthSubject)(nil)).Elem()
  3731  }
  3732  
  3733  // A boxed array of `GuestDiskInfo`. To be used in `Any` placeholders.
  3734  type ArrayOfGuestDiskInfo struct {
  3735  	GuestDiskInfo []GuestDiskInfo `xml:"GuestDiskInfo,omitempty" json:"_value"`
  3736  }
  3737  
  3738  func init() {
  3739  	t["ArrayOfGuestDiskInfo"] = reflect.TypeOf((*ArrayOfGuestDiskInfo)(nil)).Elem()
  3740  }
  3741  
  3742  // A boxed array of `GuestFileInfo`. To be used in `Any` placeholders.
  3743  type ArrayOfGuestFileInfo struct {
  3744  	GuestFileInfo []GuestFileInfo `xml:"GuestFileInfo,omitempty" json:"_value"`
  3745  }
  3746  
  3747  func init() {
  3748  	t["ArrayOfGuestFileInfo"] = reflect.TypeOf((*ArrayOfGuestFileInfo)(nil)).Elem()
  3749  }
  3750  
  3751  // A boxed array of `GuestInfoNamespaceGenerationInfo`. To be used in `Any` placeholders.
  3752  type ArrayOfGuestInfoNamespaceGenerationInfo struct {
  3753  	GuestInfoNamespaceGenerationInfo []GuestInfoNamespaceGenerationInfo `xml:"GuestInfoNamespaceGenerationInfo,omitempty" json:"_value"`
  3754  }
  3755  
  3756  func init() {
  3757  	t["ArrayOfGuestInfoNamespaceGenerationInfo"] = reflect.TypeOf((*ArrayOfGuestInfoNamespaceGenerationInfo)(nil)).Elem()
  3758  }
  3759  
  3760  // A boxed array of `GuestInfoVirtualDiskMapping`. To be used in `Any` placeholders.
  3761  type ArrayOfGuestInfoVirtualDiskMapping struct {
  3762  	GuestInfoVirtualDiskMapping []GuestInfoVirtualDiskMapping `xml:"GuestInfoVirtualDiskMapping,omitempty" json:"_value"`
  3763  }
  3764  
  3765  func init() {
  3766  	t["ArrayOfGuestInfoVirtualDiskMapping"] = reflect.TypeOf((*ArrayOfGuestInfoVirtualDiskMapping)(nil)).Elem()
  3767  }
  3768  
  3769  // A boxed array of `GuestMappedAliases`. To be used in `Any` placeholders.
  3770  type ArrayOfGuestMappedAliases struct {
  3771  	GuestMappedAliases []GuestMappedAliases `xml:"GuestMappedAliases,omitempty" json:"_value"`
  3772  }
  3773  
  3774  func init() {
  3775  	t["ArrayOfGuestMappedAliases"] = reflect.TypeOf((*ArrayOfGuestMappedAliases)(nil)).Elem()
  3776  }
  3777  
  3778  // A boxed array of `GuestNicInfo`. To be used in `Any` placeholders.
  3779  type ArrayOfGuestNicInfo struct {
  3780  	GuestNicInfo []GuestNicInfo `xml:"GuestNicInfo,omitempty" json:"_value"`
  3781  }
  3782  
  3783  func init() {
  3784  	t["ArrayOfGuestNicInfo"] = reflect.TypeOf((*ArrayOfGuestNicInfo)(nil)).Elem()
  3785  }
  3786  
  3787  // A boxed array of `GuestOsDescriptor`. To be used in `Any` placeholders.
  3788  type ArrayOfGuestOsDescriptor struct {
  3789  	GuestOsDescriptor []GuestOsDescriptor `xml:"GuestOsDescriptor,omitempty" json:"_value"`
  3790  }
  3791  
  3792  func init() {
  3793  	t["ArrayOfGuestOsDescriptor"] = reflect.TypeOf((*ArrayOfGuestOsDescriptor)(nil)).Elem()
  3794  }
  3795  
  3796  // A boxed array of `GuestProcessInfo`. To be used in `Any` placeholders.
  3797  type ArrayOfGuestProcessInfo struct {
  3798  	GuestProcessInfo []GuestProcessInfo `xml:"GuestProcessInfo,omitempty" json:"_value"`
  3799  }
  3800  
  3801  func init() {
  3802  	t["ArrayOfGuestProcessInfo"] = reflect.TypeOf((*ArrayOfGuestProcessInfo)(nil)).Elem()
  3803  }
  3804  
  3805  // A boxed array of `GuestRegKeyRecordSpec`. To be used in `Any` placeholders.
  3806  type ArrayOfGuestRegKeyRecordSpec struct {
  3807  	GuestRegKeyRecordSpec []GuestRegKeyRecordSpec `xml:"GuestRegKeyRecordSpec,omitempty" json:"_value"`
  3808  }
  3809  
  3810  func init() {
  3811  	t["ArrayOfGuestRegKeyRecordSpec"] = reflect.TypeOf((*ArrayOfGuestRegKeyRecordSpec)(nil)).Elem()
  3812  }
  3813  
  3814  // A boxed array of `GuestRegValueSpec`. To be used in `Any` placeholders.
  3815  type ArrayOfGuestRegValueSpec struct {
  3816  	GuestRegValueSpec []GuestRegValueSpec `xml:"GuestRegValueSpec,omitempty" json:"_value"`
  3817  }
  3818  
  3819  func init() {
  3820  	t["ArrayOfGuestRegValueSpec"] = reflect.TypeOf((*ArrayOfGuestRegValueSpec)(nil)).Elem()
  3821  }
  3822  
  3823  // A boxed array of `GuestStackInfo`. To be used in `Any` placeholders.
  3824  type ArrayOfGuestStackInfo struct {
  3825  	GuestStackInfo []GuestStackInfo `xml:"GuestStackInfo,omitempty" json:"_value"`
  3826  }
  3827  
  3828  func init() {
  3829  	t["ArrayOfGuestStackInfo"] = reflect.TypeOf((*ArrayOfGuestStackInfo)(nil)).Elem()
  3830  }
  3831  
  3832  // A boxed array of `HbrManagerVmReplicationCapability`. To be used in `Any` placeholders.
  3833  type ArrayOfHbrManagerVmReplicationCapability struct {
  3834  	HbrManagerVmReplicationCapability []HbrManagerVmReplicationCapability `xml:"HbrManagerVmReplicationCapability,omitempty" json:"_value"`
  3835  }
  3836  
  3837  func init() {
  3838  	t["ArrayOfHbrManagerVmReplicationCapability"] = reflect.TypeOf((*ArrayOfHbrManagerVmReplicationCapability)(nil)).Elem()
  3839  }
  3840  
  3841  // A boxed array of `HealthUpdate`. To be used in `Any` placeholders.
  3842  type ArrayOfHealthUpdate struct {
  3843  	HealthUpdate []HealthUpdate `xml:"HealthUpdate,omitempty" json:"_value"`
  3844  }
  3845  
  3846  func init() {
  3847  	t["ArrayOfHealthUpdate"] = reflect.TypeOf((*ArrayOfHealthUpdate)(nil)).Elem()
  3848  }
  3849  
  3850  // A boxed array of `HealthUpdateInfo`. To be used in `Any` placeholders.
  3851  type ArrayOfHealthUpdateInfo struct {
  3852  	HealthUpdateInfo []HealthUpdateInfo `xml:"HealthUpdateInfo,omitempty" json:"_value"`
  3853  }
  3854  
  3855  func init() {
  3856  	t["ArrayOfHealthUpdateInfo"] = reflect.TypeOf((*ArrayOfHealthUpdateInfo)(nil)).Elem()
  3857  }
  3858  
  3859  // A boxed array of `HostAccessControlEntry`. To be used in `Any` placeholders.
  3860  type ArrayOfHostAccessControlEntry struct {
  3861  	HostAccessControlEntry []HostAccessControlEntry `xml:"HostAccessControlEntry,omitempty" json:"_value"`
  3862  }
  3863  
  3864  func init() {
  3865  	t["ArrayOfHostAccessControlEntry"] = reflect.TypeOf((*ArrayOfHostAccessControlEntry)(nil)).Elem()
  3866  }
  3867  
  3868  // A boxed array of `HostAccountSpec`. To be used in `Any` placeholders.
  3869  type ArrayOfHostAccountSpec struct {
  3870  	HostAccountSpec []BaseHostAccountSpec `xml:"HostAccountSpec,omitempty,typeattr" json:"_value"`
  3871  }
  3872  
  3873  func init() {
  3874  	t["ArrayOfHostAccountSpec"] = reflect.TypeOf((*ArrayOfHostAccountSpec)(nil)).Elem()
  3875  }
  3876  
  3877  // A boxed array of `HostActiveDirectory`. To be used in `Any` placeholders.
  3878  type ArrayOfHostActiveDirectory struct {
  3879  	HostActiveDirectory []HostActiveDirectory `xml:"HostActiveDirectory,omitempty" json:"_value"`
  3880  }
  3881  
  3882  func init() {
  3883  	t["ArrayOfHostActiveDirectory"] = reflect.TypeOf((*ArrayOfHostActiveDirectory)(nil)).Elem()
  3884  }
  3885  
  3886  // A boxed array of `HostAssignableHardwareBinding`. To be used in `Any` placeholders.
  3887  type ArrayOfHostAssignableHardwareBinding struct {
  3888  	HostAssignableHardwareBinding []HostAssignableHardwareBinding `xml:"HostAssignableHardwareBinding,omitempty" json:"_value"`
  3889  }
  3890  
  3891  func init() {
  3892  	t["ArrayOfHostAssignableHardwareBinding"] = reflect.TypeOf((*ArrayOfHostAssignableHardwareBinding)(nil)).Elem()
  3893  }
  3894  
  3895  // A boxed array of `HostAssignableHardwareConfigAttributeOverride`. To be used in `Any` placeholders.
  3896  type ArrayOfHostAssignableHardwareConfigAttributeOverride struct {
  3897  	HostAssignableHardwareConfigAttributeOverride []HostAssignableHardwareConfigAttributeOverride `xml:"HostAssignableHardwareConfigAttributeOverride,omitempty" json:"_value"`
  3898  }
  3899  
  3900  func init() {
  3901  	t["ArrayOfHostAssignableHardwareConfigAttributeOverride"] = reflect.TypeOf((*ArrayOfHostAssignableHardwareConfigAttributeOverride)(nil)).Elem()
  3902  }
  3903  
  3904  // A boxed array of `HostAuthenticationStoreInfo`. To be used in `Any` placeholders.
  3905  type ArrayOfHostAuthenticationStoreInfo struct {
  3906  	HostAuthenticationStoreInfo []BaseHostAuthenticationStoreInfo `xml:"HostAuthenticationStoreInfo,omitempty,typeattr" json:"_value"`
  3907  }
  3908  
  3909  func init() {
  3910  	t["ArrayOfHostAuthenticationStoreInfo"] = reflect.TypeOf((*ArrayOfHostAuthenticationStoreInfo)(nil)).Elem()
  3911  }
  3912  
  3913  // A boxed array of `HostBootDevice`. To be used in `Any` placeholders.
  3914  type ArrayOfHostBootDevice struct {
  3915  	HostBootDevice []HostBootDevice `xml:"HostBootDevice,omitempty" json:"_value"`
  3916  }
  3917  
  3918  func init() {
  3919  	t["ArrayOfHostBootDevice"] = reflect.TypeOf((*ArrayOfHostBootDevice)(nil)).Elem()
  3920  }
  3921  
  3922  // A boxed array of `HostCacheConfigurationInfo`. To be used in `Any` placeholders.
  3923  type ArrayOfHostCacheConfigurationInfo struct {
  3924  	HostCacheConfigurationInfo []HostCacheConfigurationInfo `xml:"HostCacheConfigurationInfo,omitempty" json:"_value"`
  3925  }
  3926  
  3927  func init() {
  3928  	t["ArrayOfHostCacheConfigurationInfo"] = reflect.TypeOf((*ArrayOfHostCacheConfigurationInfo)(nil)).Elem()
  3929  }
  3930  
  3931  // A boxed array of `HostCertificateManagerCertificateInfo`. To be used in `Any` placeholders.
  3932  type ArrayOfHostCertificateManagerCertificateInfo struct {
  3933  	HostCertificateManagerCertificateInfo []HostCertificateManagerCertificateInfo `xml:"HostCertificateManagerCertificateInfo,omitempty" json:"_value"`
  3934  }
  3935  
  3936  func init() {
  3937  	t["ArrayOfHostCertificateManagerCertificateInfo"] = reflect.TypeOf((*ArrayOfHostCertificateManagerCertificateInfo)(nil)).Elem()
  3938  }
  3939  
  3940  // A boxed array of `HostConnectInfoNetworkInfo`. To be used in `Any` placeholders.
  3941  type ArrayOfHostConnectInfoNetworkInfo struct {
  3942  	HostConnectInfoNetworkInfo []BaseHostConnectInfoNetworkInfo `xml:"HostConnectInfoNetworkInfo,omitempty,typeattr" json:"_value"`
  3943  }
  3944  
  3945  func init() {
  3946  	t["ArrayOfHostConnectInfoNetworkInfo"] = reflect.TypeOf((*ArrayOfHostConnectInfoNetworkInfo)(nil)).Elem()
  3947  }
  3948  
  3949  // A boxed array of `HostConnectSpec`. To be used in `Any` placeholders.
  3950  type ArrayOfHostConnectSpec struct {
  3951  	HostConnectSpec []HostConnectSpec `xml:"HostConnectSpec,omitempty" json:"_value"`
  3952  }
  3953  
  3954  func init() {
  3955  	t["ArrayOfHostConnectSpec"] = reflect.TypeOf((*ArrayOfHostConnectSpec)(nil)).Elem()
  3956  }
  3957  
  3958  // A boxed array of `HostCpuIdInfo`. To be used in `Any` placeholders.
  3959  type ArrayOfHostCpuIdInfo struct {
  3960  	HostCpuIdInfo []HostCpuIdInfo `xml:"HostCpuIdInfo,omitempty" json:"_value"`
  3961  }
  3962  
  3963  func init() {
  3964  	t["ArrayOfHostCpuIdInfo"] = reflect.TypeOf((*ArrayOfHostCpuIdInfo)(nil)).Elem()
  3965  }
  3966  
  3967  // A boxed array of `HostCpuPackage`. To be used in `Any` placeholders.
  3968  type ArrayOfHostCpuPackage struct {
  3969  	HostCpuPackage []HostCpuPackage `xml:"HostCpuPackage,omitempty" json:"_value"`
  3970  }
  3971  
  3972  func init() {
  3973  	t["ArrayOfHostCpuPackage"] = reflect.TypeOf((*ArrayOfHostCpuPackage)(nil)).Elem()
  3974  }
  3975  
  3976  // A boxed array of `HostDatastoreBrowserSearchResults`. To be used in `Any` placeholders.
  3977  type ArrayOfHostDatastoreBrowserSearchResults struct {
  3978  	HostDatastoreBrowserSearchResults []HostDatastoreBrowserSearchResults `xml:"HostDatastoreBrowserSearchResults,omitempty" json:"_value"`
  3979  }
  3980  
  3981  func init() {
  3982  	t["ArrayOfHostDatastoreBrowserSearchResults"] = reflect.TypeOf((*ArrayOfHostDatastoreBrowserSearchResults)(nil)).Elem()
  3983  }
  3984  
  3985  // A boxed array of `HostDatastoreConnectInfo`. To be used in `Any` placeholders.
  3986  type ArrayOfHostDatastoreConnectInfo struct {
  3987  	HostDatastoreConnectInfo []BaseHostDatastoreConnectInfo `xml:"HostDatastoreConnectInfo,omitempty,typeattr" json:"_value"`
  3988  }
  3989  
  3990  func init() {
  3991  	t["ArrayOfHostDatastoreConnectInfo"] = reflect.TypeOf((*ArrayOfHostDatastoreConnectInfo)(nil)).Elem()
  3992  }
  3993  
  3994  // A boxed array of `HostDatastoreSystemDatastoreResult`. To be used in `Any` placeholders.
  3995  type ArrayOfHostDatastoreSystemDatastoreResult struct {
  3996  	HostDatastoreSystemDatastoreResult []HostDatastoreSystemDatastoreResult `xml:"HostDatastoreSystemDatastoreResult,omitempty" json:"_value"`
  3997  }
  3998  
  3999  func init() {
  4000  	t["ArrayOfHostDatastoreSystemDatastoreResult"] = reflect.TypeOf((*ArrayOfHostDatastoreSystemDatastoreResult)(nil)).Elem()
  4001  }
  4002  
  4003  // A boxed array of `HostDateTimeSystemTimeZone`. To be used in `Any` placeholders.
  4004  type ArrayOfHostDateTimeSystemTimeZone struct {
  4005  	HostDateTimeSystemTimeZone []HostDateTimeSystemTimeZone `xml:"HostDateTimeSystemTimeZone,omitempty" json:"_value"`
  4006  }
  4007  
  4008  func init() {
  4009  	t["ArrayOfHostDateTimeSystemTimeZone"] = reflect.TypeOf((*ArrayOfHostDateTimeSystemTimeZone)(nil)).Elem()
  4010  }
  4011  
  4012  // A boxed array of `HostDhcpService`. To be used in `Any` placeholders.
  4013  type ArrayOfHostDhcpService struct {
  4014  	HostDhcpService []HostDhcpService `xml:"HostDhcpService,omitempty" json:"_value"`
  4015  }
  4016  
  4017  func init() {
  4018  	t["ArrayOfHostDhcpService"] = reflect.TypeOf((*ArrayOfHostDhcpService)(nil)).Elem()
  4019  }
  4020  
  4021  // A boxed array of `HostDhcpServiceConfig`. To be used in `Any` placeholders.
  4022  type ArrayOfHostDhcpServiceConfig struct {
  4023  	HostDhcpServiceConfig []HostDhcpServiceConfig `xml:"HostDhcpServiceConfig,omitempty" json:"_value"`
  4024  }
  4025  
  4026  func init() {
  4027  	t["ArrayOfHostDhcpServiceConfig"] = reflect.TypeOf((*ArrayOfHostDhcpServiceConfig)(nil)).Elem()
  4028  }
  4029  
  4030  // A boxed array of `HostDiagnosticPartition`. To be used in `Any` placeholders.
  4031  type ArrayOfHostDiagnosticPartition struct {
  4032  	HostDiagnosticPartition []HostDiagnosticPartition `xml:"HostDiagnosticPartition,omitempty" json:"_value"`
  4033  }
  4034  
  4035  func init() {
  4036  	t["ArrayOfHostDiagnosticPartition"] = reflect.TypeOf((*ArrayOfHostDiagnosticPartition)(nil)).Elem()
  4037  }
  4038  
  4039  // A boxed array of `HostDiagnosticPartitionCreateOption`. To be used in `Any` placeholders.
  4040  type ArrayOfHostDiagnosticPartitionCreateOption struct {
  4041  	HostDiagnosticPartitionCreateOption []HostDiagnosticPartitionCreateOption `xml:"HostDiagnosticPartitionCreateOption,omitempty" json:"_value"`
  4042  }
  4043  
  4044  func init() {
  4045  	t["ArrayOfHostDiagnosticPartitionCreateOption"] = reflect.TypeOf((*ArrayOfHostDiagnosticPartitionCreateOption)(nil)).Elem()
  4046  }
  4047  
  4048  // A boxed array of `HostDiskConfigurationResult`. To be used in `Any` placeholders.
  4049  type ArrayOfHostDiskConfigurationResult struct {
  4050  	HostDiskConfigurationResult []HostDiskConfigurationResult `xml:"HostDiskConfigurationResult,omitempty" json:"_value"`
  4051  }
  4052  
  4053  func init() {
  4054  	t["ArrayOfHostDiskConfigurationResult"] = reflect.TypeOf((*ArrayOfHostDiskConfigurationResult)(nil)).Elem()
  4055  }
  4056  
  4057  // A boxed array of `HostDiskMappingPartitionOption`. To be used in `Any` placeholders.
  4058  type ArrayOfHostDiskMappingPartitionOption struct {
  4059  	HostDiskMappingPartitionOption []HostDiskMappingPartitionOption `xml:"HostDiskMappingPartitionOption,omitempty" json:"_value"`
  4060  }
  4061  
  4062  func init() {
  4063  	t["ArrayOfHostDiskMappingPartitionOption"] = reflect.TypeOf((*ArrayOfHostDiskMappingPartitionOption)(nil)).Elem()
  4064  }
  4065  
  4066  // A boxed array of `HostDiskPartitionAttributes`. To be used in `Any` placeholders.
  4067  type ArrayOfHostDiskPartitionAttributes struct {
  4068  	HostDiskPartitionAttributes []HostDiskPartitionAttributes `xml:"HostDiskPartitionAttributes,omitempty" json:"_value"`
  4069  }
  4070  
  4071  func init() {
  4072  	t["ArrayOfHostDiskPartitionAttributes"] = reflect.TypeOf((*ArrayOfHostDiskPartitionAttributes)(nil)).Elem()
  4073  }
  4074  
  4075  // A boxed array of `HostDiskPartitionBlockRange`. To be used in `Any` placeholders.
  4076  type ArrayOfHostDiskPartitionBlockRange struct {
  4077  	HostDiskPartitionBlockRange []HostDiskPartitionBlockRange `xml:"HostDiskPartitionBlockRange,omitempty" json:"_value"`
  4078  }
  4079  
  4080  func init() {
  4081  	t["ArrayOfHostDiskPartitionBlockRange"] = reflect.TypeOf((*ArrayOfHostDiskPartitionBlockRange)(nil)).Elem()
  4082  }
  4083  
  4084  // A boxed array of `HostDiskPartitionInfo`. To be used in `Any` placeholders.
  4085  type ArrayOfHostDiskPartitionInfo struct {
  4086  	HostDiskPartitionInfo []HostDiskPartitionInfo `xml:"HostDiskPartitionInfo,omitempty" json:"_value"`
  4087  }
  4088  
  4089  func init() {
  4090  	t["ArrayOfHostDiskPartitionInfo"] = reflect.TypeOf((*ArrayOfHostDiskPartitionInfo)(nil)).Elem()
  4091  }
  4092  
  4093  // A boxed array of `HostDvxClass`. To be used in `Any` placeholders.
  4094  type ArrayOfHostDvxClass struct {
  4095  	HostDvxClass []HostDvxClass `xml:"HostDvxClass,omitempty" json:"_value"`
  4096  }
  4097  
  4098  func init() {
  4099  	t["ArrayOfHostDvxClass"] = reflect.TypeOf((*ArrayOfHostDvxClass)(nil)).Elem()
  4100  }
  4101  
  4102  // A boxed array of `HostEventArgument`. To be used in `Any` placeholders.
  4103  type ArrayOfHostEventArgument struct {
  4104  	HostEventArgument []HostEventArgument `xml:"HostEventArgument,omitempty" json:"_value"`
  4105  }
  4106  
  4107  func init() {
  4108  	t["ArrayOfHostEventArgument"] = reflect.TypeOf((*ArrayOfHostEventArgument)(nil)).Elem()
  4109  }
  4110  
  4111  // A boxed array of `HostFeatureCapability`. To be used in `Any` placeholders.
  4112  type ArrayOfHostFeatureCapability struct {
  4113  	HostFeatureCapability []HostFeatureCapability `xml:"HostFeatureCapability,omitempty" json:"_value"`
  4114  }
  4115  
  4116  func init() {
  4117  	t["ArrayOfHostFeatureCapability"] = reflect.TypeOf((*ArrayOfHostFeatureCapability)(nil)).Elem()
  4118  }
  4119  
  4120  // A boxed array of `HostFeatureMask`. To be used in `Any` placeholders.
  4121  type ArrayOfHostFeatureMask struct {
  4122  	HostFeatureMask []HostFeatureMask `xml:"HostFeatureMask,omitempty" json:"_value"`
  4123  }
  4124  
  4125  func init() {
  4126  	t["ArrayOfHostFeatureMask"] = reflect.TypeOf((*ArrayOfHostFeatureMask)(nil)).Elem()
  4127  }
  4128  
  4129  // A boxed array of `HostFeatureVersionInfo`. To be used in `Any` placeholders.
  4130  type ArrayOfHostFeatureVersionInfo struct {
  4131  	HostFeatureVersionInfo []HostFeatureVersionInfo `xml:"HostFeatureVersionInfo,omitempty" json:"_value"`
  4132  }
  4133  
  4134  func init() {
  4135  	t["ArrayOfHostFeatureVersionInfo"] = reflect.TypeOf((*ArrayOfHostFeatureVersionInfo)(nil)).Elem()
  4136  }
  4137  
  4138  // A boxed array of `HostFileSystemMountInfo`. To be used in `Any` placeholders.
  4139  type ArrayOfHostFileSystemMountInfo struct {
  4140  	HostFileSystemMountInfo []HostFileSystemMountInfo `xml:"HostFileSystemMountInfo,omitempty" json:"_value"`
  4141  }
  4142  
  4143  func init() {
  4144  	t["ArrayOfHostFileSystemMountInfo"] = reflect.TypeOf((*ArrayOfHostFileSystemMountInfo)(nil)).Elem()
  4145  }
  4146  
  4147  // A boxed array of `HostFirewallConfigRuleSetConfig`. To be used in `Any` placeholders.
  4148  type ArrayOfHostFirewallConfigRuleSetConfig struct {
  4149  	HostFirewallConfigRuleSetConfig []HostFirewallConfigRuleSetConfig `xml:"HostFirewallConfigRuleSetConfig,omitempty" json:"_value"`
  4150  }
  4151  
  4152  func init() {
  4153  	t["ArrayOfHostFirewallConfigRuleSetConfig"] = reflect.TypeOf((*ArrayOfHostFirewallConfigRuleSetConfig)(nil)).Elem()
  4154  }
  4155  
  4156  // A boxed array of `HostFirewallRule`. To be used in `Any` placeholders.
  4157  type ArrayOfHostFirewallRule struct {
  4158  	HostFirewallRule []HostFirewallRule `xml:"HostFirewallRule,omitempty" json:"_value"`
  4159  }
  4160  
  4161  func init() {
  4162  	t["ArrayOfHostFirewallRule"] = reflect.TypeOf((*ArrayOfHostFirewallRule)(nil)).Elem()
  4163  }
  4164  
  4165  // A boxed array of `HostFirewallRuleset`. To be used in `Any` placeholders.
  4166  type ArrayOfHostFirewallRuleset struct {
  4167  	HostFirewallRuleset []HostFirewallRuleset `xml:"HostFirewallRuleset,omitempty" json:"_value"`
  4168  }
  4169  
  4170  func init() {
  4171  	t["ArrayOfHostFirewallRuleset"] = reflect.TypeOf((*ArrayOfHostFirewallRuleset)(nil)).Elem()
  4172  }
  4173  
  4174  // A boxed array of `HostFirewallRulesetIpNetwork`. To be used in `Any` placeholders.
  4175  type ArrayOfHostFirewallRulesetIpNetwork struct {
  4176  	HostFirewallRulesetIpNetwork []HostFirewallRulesetIpNetwork `xml:"HostFirewallRulesetIpNetwork,omitempty" json:"_value"`
  4177  }
  4178  
  4179  func init() {
  4180  	t["ArrayOfHostFirewallRulesetIpNetwork"] = reflect.TypeOf((*ArrayOfHostFirewallRulesetIpNetwork)(nil)).Elem()
  4181  }
  4182  
  4183  // A boxed array of `HostGraphicsConfigDeviceType`. To be used in `Any` placeholders.
  4184  type ArrayOfHostGraphicsConfigDeviceType struct {
  4185  	HostGraphicsConfigDeviceType []HostGraphicsConfigDeviceType `xml:"HostGraphicsConfigDeviceType,omitempty" json:"_value"`
  4186  }
  4187  
  4188  func init() {
  4189  	t["ArrayOfHostGraphicsConfigDeviceType"] = reflect.TypeOf((*ArrayOfHostGraphicsConfigDeviceType)(nil)).Elem()
  4190  }
  4191  
  4192  // A boxed array of `HostGraphicsInfo`. To be used in `Any` placeholders.
  4193  type ArrayOfHostGraphicsInfo struct {
  4194  	HostGraphicsInfo []HostGraphicsInfo `xml:"HostGraphicsInfo,omitempty" json:"_value"`
  4195  }
  4196  
  4197  func init() {
  4198  	t["ArrayOfHostGraphicsInfo"] = reflect.TypeOf((*ArrayOfHostGraphicsInfo)(nil)).Elem()
  4199  }
  4200  
  4201  // A boxed array of `HostHardwareElementInfo`. To be used in `Any` placeholders.
  4202  type ArrayOfHostHardwareElementInfo struct {
  4203  	HostHardwareElementInfo []BaseHostHardwareElementInfo `xml:"HostHardwareElementInfo,omitempty,typeattr" json:"_value"`
  4204  }
  4205  
  4206  func init() {
  4207  	t["ArrayOfHostHardwareElementInfo"] = reflect.TypeOf((*ArrayOfHostHardwareElementInfo)(nil)).Elem()
  4208  }
  4209  
  4210  // A boxed array of `HostHostBusAdapter`. To be used in `Any` placeholders.
  4211  type ArrayOfHostHostBusAdapter struct {
  4212  	HostHostBusAdapter []BaseHostHostBusAdapter `xml:"HostHostBusAdapter,omitempty,typeattr" json:"_value"`
  4213  }
  4214  
  4215  func init() {
  4216  	t["ArrayOfHostHostBusAdapter"] = reflect.TypeOf((*ArrayOfHostHostBusAdapter)(nil)).Elem()
  4217  }
  4218  
  4219  // A boxed array of `HostInternetScsiHbaIscsiIpv6Address`. To be used in `Any` placeholders.
  4220  type ArrayOfHostInternetScsiHbaIscsiIpv6Address struct {
  4221  	HostInternetScsiHbaIscsiIpv6Address []HostInternetScsiHbaIscsiIpv6Address `xml:"HostInternetScsiHbaIscsiIpv6Address,omitempty" json:"_value"`
  4222  }
  4223  
  4224  func init() {
  4225  	t["ArrayOfHostInternetScsiHbaIscsiIpv6Address"] = reflect.TypeOf((*ArrayOfHostInternetScsiHbaIscsiIpv6Address)(nil)).Elem()
  4226  }
  4227  
  4228  // A boxed array of `HostInternetScsiHbaParamValue`. To be used in `Any` placeholders.
  4229  type ArrayOfHostInternetScsiHbaParamValue struct {
  4230  	HostInternetScsiHbaParamValue []HostInternetScsiHbaParamValue `xml:"HostInternetScsiHbaParamValue,omitempty" json:"_value"`
  4231  }
  4232  
  4233  func init() {
  4234  	t["ArrayOfHostInternetScsiHbaParamValue"] = reflect.TypeOf((*ArrayOfHostInternetScsiHbaParamValue)(nil)).Elem()
  4235  }
  4236  
  4237  // A boxed array of `HostInternetScsiHbaSendTarget`. To be used in `Any` placeholders.
  4238  type ArrayOfHostInternetScsiHbaSendTarget struct {
  4239  	HostInternetScsiHbaSendTarget []HostInternetScsiHbaSendTarget `xml:"HostInternetScsiHbaSendTarget,omitempty" json:"_value"`
  4240  }
  4241  
  4242  func init() {
  4243  	t["ArrayOfHostInternetScsiHbaSendTarget"] = reflect.TypeOf((*ArrayOfHostInternetScsiHbaSendTarget)(nil)).Elem()
  4244  }
  4245  
  4246  // A boxed array of `HostInternetScsiHbaStaticTarget`. To be used in `Any` placeholders.
  4247  type ArrayOfHostInternetScsiHbaStaticTarget struct {
  4248  	HostInternetScsiHbaStaticTarget []HostInternetScsiHbaStaticTarget `xml:"HostInternetScsiHbaStaticTarget,omitempty" json:"_value"`
  4249  }
  4250  
  4251  func init() {
  4252  	t["ArrayOfHostInternetScsiHbaStaticTarget"] = reflect.TypeOf((*ArrayOfHostInternetScsiHbaStaticTarget)(nil)).Elem()
  4253  }
  4254  
  4255  // A boxed array of `HostIoFilterInfo`. To be used in `Any` placeholders.
  4256  type ArrayOfHostIoFilterInfo struct {
  4257  	HostIoFilterInfo []HostIoFilterInfo `xml:"HostIoFilterInfo,omitempty" json:"_value"`
  4258  }
  4259  
  4260  func init() {
  4261  	t["ArrayOfHostIoFilterInfo"] = reflect.TypeOf((*ArrayOfHostIoFilterInfo)(nil)).Elem()
  4262  }
  4263  
  4264  // A boxed array of `HostIpConfigIpV6Address`. To be used in `Any` placeholders.
  4265  type ArrayOfHostIpConfigIpV6Address struct {
  4266  	HostIpConfigIpV6Address []HostIpConfigIpV6Address `xml:"HostIpConfigIpV6Address,omitempty" json:"_value"`
  4267  }
  4268  
  4269  func init() {
  4270  	t["ArrayOfHostIpConfigIpV6Address"] = reflect.TypeOf((*ArrayOfHostIpConfigIpV6Address)(nil)).Elem()
  4271  }
  4272  
  4273  // A boxed array of `HostIpRouteEntry`. To be used in `Any` placeholders.
  4274  type ArrayOfHostIpRouteEntry struct {
  4275  	HostIpRouteEntry []HostIpRouteEntry `xml:"HostIpRouteEntry,omitempty" json:"_value"`
  4276  }
  4277  
  4278  func init() {
  4279  	t["ArrayOfHostIpRouteEntry"] = reflect.TypeOf((*ArrayOfHostIpRouteEntry)(nil)).Elem()
  4280  }
  4281  
  4282  // A boxed array of `HostIpRouteOp`. To be used in `Any` placeholders.
  4283  type ArrayOfHostIpRouteOp struct {
  4284  	HostIpRouteOp []HostIpRouteOp `xml:"HostIpRouteOp,omitempty" json:"_value"`
  4285  }
  4286  
  4287  func init() {
  4288  	t["ArrayOfHostIpRouteOp"] = reflect.TypeOf((*ArrayOfHostIpRouteOp)(nil)).Elem()
  4289  }
  4290  
  4291  // A boxed array of `HostLowLevelProvisioningManagerDiskLayoutSpec`. To be used in `Any` placeholders.
  4292  type ArrayOfHostLowLevelProvisioningManagerDiskLayoutSpec struct {
  4293  	HostLowLevelProvisioningManagerDiskLayoutSpec []HostLowLevelProvisioningManagerDiskLayoutSpec `xml:"HostLowLevelProvisioningManagerDiskLayoutSpec,omitempty" json:"_value"`
  4294  }
  4295  
  4296  func init() {
  4297  	t["ArrayOfHostLowLevelProvisioningManagerDiskLayoutSpec"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerDiskLayoutSpec)(nil)).Elem()
  4298  }
  4299  
  4300  // A boxed array of `HostLowLevelProvisioningManagerFileDeleteResult`. To be used in `Any` placeholders.
  4301  type ArrayOfHostLowLevelProvisioningManagerFileDeleteResult struct {
  4302  	HostLowLevelProvisioningManagerFileDeleteResult []HostLowLevelProvisioningManagerFileDeleteResult `xml:"HostLowLevelProvisioningManagerFileDeleteResult,omitempty" json:"_value"`
  4303  }
  4304  
  4305  func init() {
  4306  	t["ArrayOfHostLowLevelProvisioningManagerFileDeleteResult"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerFileDeleteResult)(nil)).Elem()
  4307  }
  4308  
  4309  // A boxed array of `HostLowLevelProvisioningManagerFileDeleteSpec`. To be used in `Any` placeholders.
  4310  type ArrayOfHostLowLevelProvisioningManagerFileDeleteSpec struct {
  4311  	HostLowLevelProvisioningManagerFileDeleteSpec []HostLowLevelProvisioningManagerFileDeleteSpec `xml:"HostLowLevelProvisioningManagerFileDeleteSpec,omitempty" json:"_value"`
  4312  }
  4313  
  4314  func init() {
  4315  	t["ArrayOfHostLowLevelProvisioningManagerFileDeleteSpec"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerFileDeleteSpec)(nil)).Elem()
  4316  }
  4317  
  4318  // A boxed array of `HostLowLevelProvisioningManagerFileReserveResult`. To be used in `Any` placeholders.
  4319  type ArrayOfHostLowLevelProvisioningManagerFileReserveResult struct {
  4320  	HostLowLevelProvisioningManagerFileReserveResult []HostLowLevelProvisioningManagerFileReserveResult `xml:"HostLowLevelProvisioningManagerFileReserveResult,omitempty" json:"_value"`
  4321  }
  4322  
  4323  func init() {
  4324  	t["ArrayOfHostLowLevelProvisioningManagerFileReserveResult"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerFileReserveResult)(nil)).Elem()
  4325  }
  4326  
  4327  // A boxed array of `HostLowLevelProvisioningManagerFileReserveSpec`. To be used in `Any` placeholders.
  4328  type ArrayOfHostLowLevelProvisioningManagerFileReserveSpec struct {
  4329  	HostLowLevelProvisioningManagerFileReserveSpec []HostLowLevelProvisioningManagerFileReserveSpec `xml:"HostLowLevelProvisioningManagerFileReserveSpec,omitempty" json:"_value"`
  4330  }
  4331  
  4332  func init() {
  4333  	t["ArrayOfHostLowLevelProvisioningManagerFileReserveSpec"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerFileReserveSpec)(nil)).Elem()
  4334  }
  4335  
  4336  // A boxed array of `HostLowLevelProvisioningManagerSnapshotLayoutSpec`. To be used in `Any` placeholders.
  4337  type ArrayOfHostLowLevelProvisioningManagerSnapshotLayoutSpec struct {
  4338  	HostLowLevelProvisioningManagerSnapshotLayoutSpec []HostLowLevelProvisioningManagerSnapshotLayoutSpec `xml:"HostLowLevelProvisioningManagerSnapshotLayoutSpec,omitempty" json:"_value"`
  4339  }
  4340  
  4341  func init() {
  4342  	t["ArrayOfHostLowLevelProvisioningManagerSnapshotLayoutSpec"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerSnapshotLayoutSpec)(nil)).Elem()
  4343  }
  4344  
  4345  // A boxed array of `HostMemberHealthCheckResult`. To be used in `Any` placeholders.
  4346  type ArrayOfHostMemberHealthCheckResult struct {
  4347  	HostMemberHealthCheckResult []BaseHostMemberHealthCheckResult `xml:"HostMemberHealthCheckResult,omitempty,typeattr" json:"_value"`
  4348  }
  4349  
  4350  func init() {
  4351  	t["ArrayOfHostMemberHealthCheckResult"] = reflect.TypeOf((*ArrayOfHostMemberHealthCheckResult)(nil)).Elem()
  4352  }
  4353  
  4354  // A boxed array of `HostMemberRuntimeInfo`. To be used in `Any` placeholders.
  4355  type ArrayOfHostMemberRuntimeInfo struct {
  4356  	HostMemberRuntimeInfo []HostMemberRuntimeInfo `xml:"HostMemberRuntimeInfo,omitempty" json:"_value"`
  4357  }
  4358  
  4359  func init() {
  4360  	t["ArrayOfHostMemberRuntimeInfo"] = reflect.TypeOf((*ArrayOfHostMemberRuntimeInfo)(nil)).Elem()
  4361  }
  4362  
  4363  // A boxed array of `HostMemoryTierInfo`. To be used in `Any` placeholders.
  4364  type ArrayOfHostMemoryTierInfo struct {
  4365  	HostMemoryTierInfo []HostMemoryTierInfo `xml:"HostMemoryTierInfo,omitempty" json:"_value"`
  4366  }
  4367  
  4368  func init() {
  4369  	t["ArrayOfHostMemoryTierInfo"] = reflect.TypeOf((*ArrayOfHostMemoryTierInfo)(nil)).Elem()
  4370  }
  4371  
  4372  // A boxed array of `HostMultipathInfoLogicalUnit`. To be used in `Any` placeholders.
  4373  type ArrayOfHostMultipathInfoLogicalUnit struct {
  4374  	HostMultipathInfoLogicalUnit []HostMultipathInfoLogicalUnit `xml:"HostMultipathInfoLogicalUnit,omitempty" json:"_value"`
  4375  }
  4376  
  4377  func init() {
  4378  	t["ArrayOfHostMultipathInfoLogicalUnit"] = reflect.TypeOf((*ArrayOfHostMultipathInfoLogicalUnit)(nil)).Elem()
  4379  }
  4380  
  4381  // A boxed array of `HostMultipathInfoPath`. To be used in `Any` placeholders.
  4382  type ArrayOfHostMultipathInfoPath struct {
  4383  	HostMultipathInfoPath []HostMultipathInfoPath `xml:"HostMultipathInfoPath,omitempty" json:"_value"`
  4384  }
  4385  
  4386  func init() {
  4387  	t["ArrayOfHostMultipathInfoPath"] = reflect.TypeOf((*ArrayOfHostMultipathInfoPath)(nil)).Elem()
  4388  }
  4389  
  4390  // A boxed array of `HostMultipathStateInfoPath`. To be used in `Any` placeholders.
  4391  type ArrayOfHostMultipathStateInfoPath struct {
  4392  	HostMultipathStateInfoPath []HostMultipathStateInfoPath `xml:"HostMultipathStateInfoPath,omitempty" json:"_value"`
  4393  }
  4394  
  4395  func init() {
  4396  	t["ArrayOfHostMultipathStateInfoPath"] = reflect.TypeOf((*ArrayOfHostMultipathStateInfoPath)(nil)).Elem()
  4397  }
  4398  
  4399  // A boxed array of `HostNasVolumeConfig`. To be used in `Any` placeholders.
  4400  type ArrayOfHostNasVolumeConfig struct {
  4401  	HostNasVolumeConfig []HostNasVolumeConfig `xml:"HostNasVolumeConfig,omitempty" json:"_value"`
  4402  }
  4403  
  4404  func init() {
  4405  	t["ArrayOfHostNasVolumeConfig"] = reflect.TypeOf((*ArrayOfHostNasVolumeConfig)(nil)).Elem()
  4406  }
  4407  
  4408  // A boxed array of `HostNatService`. To be used in `Any` placeholders.
  4409  type ArrayOfHostNatService struct {
  4410  	HostNatService []HostNatService `xml:"HostNatService,omitempty" json:"_value"`
  4411  }
  4412  
  4413  func init() {
  4414  	t["ArrayOfHostNatService"] = reflect.TypeOf((*ArrayOfHostNatService)(nil)).Elem()
  4415  }
  4416  
  4417  // A boxed array of `HostNatServiceConfig`. To be used in `Any` placeholders.
  4418  type ArrayOfHostNatServiceConfig struct {
  4419  	HostNatServiceConfig []HostNatServiceConfig `xml:"HostNatServiceConfig,omitempty" json:"_value"`
  4420  }
  4421  
  4422  func init() {
  4423  	t["ArrayOfHostNatServiceConfig"] = reflect.TypeOf((*ArrayOfHostNatServiceConfig)(nil)).Elem()
  4424  }
  4425  
  4426  // A boxed array of `HostNatServicePortForwardSpec`. To be used in `Any` placeholders.
  4427  type ArrayOfHostNatServicePortForwardSpec struct {
  4428  	HostNatServicePortForwardSpec []HostNatServicePortForwardSpec `xml:"HostNatServicePortForwardSpec,omitempty" json:"_value"`
  4429  }
  4430  
  4431  func init() {
  4432  	t["ArrayOfHostNatServicePortForwardSpec"] = reflect.TypeOf((*ArrayOfHostNatServicePortForwardSpec)(nil)).Elem()
  4433  }
  4434  
  4435  // A boxed array of `HostNetStackInstance`. To be used in `Any` placeholders.
  4436  type ArrayOfHostNetStackInstance struct {
  4437  	HostNetStackInstance []HostNetStackInstance `xml:"HostNetStackInstance,omitempty" json:"_value"`
  4438  }
  4439  
  4440  func init() {
  4441  	t["ArrayOfHostNetStackInstance"] = reflect.TypeOf((*ArrayOfHostNetStackInstance)(nil)).Elem()
  4442  }
  4443  
  4444  // A boxed array of `HostNetworkConfigNetStackSpec`. To be used in `Any` placeholders.
  4445  type ArrayOfHostNetworkConfigNetStackSpec struct {
  4446  	HostNetworkConfigNetStackSpec []HostNetworkConfigNetStackSpec `xml:"HostNetworkConfigNetStackSpec,omitempty" json:"_value"`
  4447  }
  4448  
  4449  func init() {
  4450  	t["ArrayOfHostNetworkConfigNetStackSpec"] = reflect.TypeOf((*ArrayOfHostNetworkConfigNetStackSpec)(nil)).Elem()
  4451  }
  4452  
  4453  // A boxed array of `HostNumaNode`. To be used in `Any` placeholders.
  4454  type ArrayOfHostNumaNode struct {
  4455  	HostNumaNode []HostNumaNode `xml:"HostNumaNode,omitempty" json:"_value"`
  4456  }
  4457  
  4458  func init() {
  4459  	t["ArrayOfHostNumaNode"] = reflect.TypeOf((*ArrayOfHostNumaNode)(nil)).Elem()
  4460  }
  4461  
  4462  // A boxed array of `HostNumericSensorInfo`. To be used in `Any` placeholders.
  4463  type ArrayOfHostNumericSensorInfo struct {
  4464  	HostNumericSensorInfo []HostNumericSensorInfo `xml:"HostNumericSensorInfo,omitempty" json:"_value"`
  4465  }
  4466  
  4467  func init() {
  4468  	t["ArrayOfHostNumericSensorInfo"] = reflect.TypeOf((*ArrayOfHostNumericSensorInfo)(nil)).Elem()
  4469  }
  4470  
  4471  // A boxed array of `HostNvmeConnectSpec`. To be used in `Any` placeholders.
  4472  type ArrayOfHostNvmeConnectSpec struct {
  4473  	HostNvmeConnectSpec []HostNvmeConnectSpec `xml:"HostNvmeConnectSpec,omitempty" json:"_value"`
  4474  }
  4475  
  4476  func init() {
  4477  	t["ArrayOfHostNvmeConnectSpec"] = reflect.TypeOf((*ArrayOfHostNvmeConnectSpec)(nil)).Elem()
  4478  }
  4479  
  4480  // A boxed array of `HostNvmeController`. To be used in `Any` placeholders.
  4481  type ArrayOfHostNvmeController struct {
  4482  	HostNvmeController []HostNvmeController `xml:"HostNvmeController,omitempty" json:"_value"`
  4483  }
  4484  
  4485  func init() {
  4486  	t["ArrayOfHostNvmeController"] = reflect.TypeOf((*ArrayOfHostNvmeController)(nil)).Elem()
  4487  }
  4488  
  4489  // A boxed array of `HostNvmeDisconnectSpec`. To be used in `Any` placeholders.
  4490  type ArrayOfHostNvmeDisconnectSpec struct {
  4491  	HostNvmeDisconnectSpec []HostNvmeDisconnectSpec `xml:"HostNvmeDisconnectSpec,omitempty" json:"_value"`
  4492  }
  4493  
  4494  func init() {
  4495  	t["ArrayOfHostNvmeDisconnectSpec"] = reflect.TypeOf((*ArrayOfHostNvmeDisconnectSpec)(nil)).Elem()
  4496  }
  4497  
  4498  // A boxed array of `HostNvmeDiscoveryLogEntry`. To be used in `Any` placeholders.
  4499  type ArrayOfHostNvmeDiscoveryLogEntry struct {
  4500  	HostNvmeDiscoveryLogEntry []HostNvmeDiscoveryLogEntry `xml:"HostNvmeDiscoveryLogEntry,omitempty" json:"_value"`
  4501  }
  4502  
  4503  func init() {
  4504  	t["ArrayOfHostNvmeDiscoveryLogEntry"] = reflect.TypeOf((*ArrayOfHostNvmeDiscoveryLogEntry)(nil)).Elem()
  4505  }
  4506  
  4507  // A boxed array of `HostNvmeNamespace`. To be used in `Any` placeholders.
  4508  type ArrayOfHostNvmeNamespace struct {
  4509  	HostNvmeNamespace []HostNvmeNamespace `xml:"HostNvmeNamespace,omitempty" json:"_value"`
  4510  }
  4511  
  4512  func init() {
  4513  	t["ArrayOfHostNvmeNamespace"] = reflect.TypeOf((*ArrayOfHostNvmeNamespace)(nil)).Elem()
  4514  }
  4515  
  4516  // A boxed array of `HostNvmeTopologyInterface`. To be used in `Any` placeholders.
  4517  type ArrayOfHostNvmeTopologyInterface struct {
  4518  	HostNvmeTopologyInterface []HostNvmeTopologyInterface `xml:"HostNvmeTopologyInterface,omitempty" json:"_value"`
  4519  }
  4520  
  4521  func init() {
  4522  	t["ArrayOfHostNvmeTopologyInterface"] = reflect.TypeOf((*ArrayOfHostNvmeTopologyInterface)(nil)).Elem()
  4523  }
  4524  
  4525  // A boxed array of `HostOpaqueNetworkInfo`. To be used in `Any` placeholders.
  4526  type ArrayOfHostOpaqueNetworkInfo struct {
  4527  	HostOpaqueNetworkInfo []HostOpaqueNetworkInfo `xml:"HostOpaqueNetworkInfo,omitempty" json:"_value"`
  4528  }
  4529  
  4530  func init() {
  4531  	t["ArrayOfHostOpaqueNetworkInfo"] = reflect.TypeOf((*ArrayOfHostOpaqueNetworkInfo)(nil)).Elem()
  4532  }
  4533  
  4534  // A boxed array of `HostOpaqueSwitch`. To be used in `Any` placeholders.
  4535  type ArrayOfHostOpaqueSwitch struct {
  4536  	HostOpaqueSwitch []HostOpaqueSwitch `xml:"HostOpaqueSwitch,omitempty" json:"_value"`
  4537  }
  4538  
  4539  func init() {
  4540  	t["ArrayOfHostOpaqueSwitch"] = reflect.TypeOf((*ArrayOfHostOpaqueSwitch)(nil)).Elem()
  4541  }
  4542  
  4543  // A boxed array of `HostOpaqueSwitchPhysicalNicZone`. To be used in `Any` placeholders.
  4544  type ArrayOfHostOpaqueSwitchPhysicalNicZone struct {
  4545  	HostOpaqueSwitchPhysicalNicZone []HostOpaqueSwitchPhysicalNicZone `xml:"HostOpaqueSwitchPhysicalNicZone,omitempty" json:"_value"`
  4546  }
  4547  
  4548  func init() {
  4549  	t["ArrayOfHostOpaqueSwitchPhysicalNicZone"] = reflect.TypeOf((*ArrayOfHostOpaqueSwitchPhysicalNicZone)(nil)).Elem()
  4550  }
  4551  
  4552  // A boxed array of `HostPatchManagerStatus`. To be used in `Any` placeholders.
  4553  type ArrayOfHostPatchManagerStatus struct {
  4554  	HostPatchManagerStatus []HostPatchManagerStatus `xml:"HostPatchManagerStatus,omitempty" json:"_value"`
  4555  }
  4556  
  4557  func init() {
  4558  	t["ArrayOfHostPatchManagerStatus"] = reflect.TypeOf((*ArrayOfHostPatchManagerStatus)(nil)).Elem()
  4559  }
  4560  
  4561  // A boxed array of `HostPatchManagerStatusPrerequisitePatch`. To be used in `Any` placeholders.
  4562  type ArrayOfHostPatchManagerStatusPrerequisitePatch struct {
  4563  	HostPatchManagerStatusPrerequisitePatch []HostPatchManagerStatusPrerequisitePatch `xml:"HostPatchManagerStatusPrerequisitePatch,omitempty" json:"_value"`
  4564  }
  4565  
  4566  func init() {
  4567  	t["ArrayOfHostPatchManagerStatusPrerequisitePatch"] = reflect.TypeOf((*ArrayOfHostPatchManagerStatusPrerequisitePatch)(nil)).Elem()
  4568  }
  4569  
  4570  // A boxed array of `HostPathSelectionPolicyOption`. To be used in `Any` placeholders.
  4571  type ArrayOfHostPathSelectionPolicyOption struct {
  4572  	HostPathSelectionPolicyOption []HostPathSelectionPolicyOption `xml:"HostPathSelectionPolicyOption,omitempty" json:"_value"`
  4573  }
  4574  
  4575  func init() {
  4576  	t["ArrayOfHostPathSelectionPolicyOption"] = reflect.TypeOf((*ArrayOfHostPathSelectionPolicyOption)(nil)).Elem()
  4577  }
  4578  
  4579  // A boxed array of `HostPciDevice`. To be used in `Any` placeholders.
  4580  type ArrayOfHostPciDevice struct {
  4581  	HostPciDevice []HostPciDevice `xml:"HostPciDevice,omitempty" json:"_value"`
  4582  }
  4583  
  4584  func init() {
  4585  	t["ArrayOfHostPciDevice"] = reflect.TypeOf((*ArrayOfHostPciDevice)(nil)).Elem()
  4586  }
  4587  
  4588  // A boxed array of `HostPciPassthruConfig`. To be used in `Any` placeholders.
  4589  type ArrayOfHostPciPassthruConfig struct {
  4590  	HostPciPassthruConfig []BaseHostPciPassthruConfig `xml:"HostPciPassthruConfig,omitempty,typeattr" json:"_value"`
  4591  }
  4592  
  4593  func init() {
  4594  	t["ArrayOfHostPciPassthruConfig"] = reflect.TypeOf((*ArrayOfHostPciPassthruConfig)(nil)).Elem()
  4595  }
  4596  
  4597  // A boxed array of `HostPciPassthruInfo`. To be used in `Any` placeholders.
  4598  type ArrayOfHostPciPassthruInfo struct {
  4599  	HostPciPassthruInfo []BaseHostPciPassthruInfo `xml:"HostPciPassthruInfo,omitempty,typeattr" json:"_value"`
  4600  }
  4601  
  4602  func init() {
  4603  	t["ArrayOfHostPciPassthruInfo"] = reflect.TypeOf((*ArrayOfHostPciPassthruInfo)(nil)).Elem()
  4604  }
  4605  
  4606  // A boxed array of `HostPlacedVirtualNicIdentifier`. To be used in `Any` placeholders.
  4607  type ArrayOfHostPlacedVirtualNicIdentifier struct {
  4608  	HostPlacedVirtualNicIdentifier []HostPlacedVirtualNicIdentifier `xml:"HostPlacedVirtualNicIdentifier,omitempty" json:"_value"`
  4609  }
  4610  
  4611  func init() {
  4612  	t["ArrayOfHostPlacedVirtualNicIdentifier"] = reflect.TypeOf((*ArrayOfHostPlacedVirtualNicIdentifier)(nil)).Elem()
  4613  }
  4614  
  4615  // A boxed array of `HostPlugStoreTopologyAdapter`. To be used in `Any` placeholders.
  4616  type ArrayOfHostPlugStoreTopologyAdapter struct {
  4617  	HostPlugStoreTopologyAdapter []HostPlugStoreTopologyAdapter `xml:"HostPlugStoreTopologyAdapter,omitempty" json:"_value"`
  4618  }
  4619  
  4620  func init() {
  4621  	t["ArrayOfHostPlugStoreTopologyAdapter"] = reflect.TypeOf((*ArrayOfHostPlugStoreTopologyAdapter)(nil)).Elem()
  4622  }
  4623  
  4624  // A boxed array of `HostPlugStoreTopologyDevice`. To be used in `Any` placeholders.
  4625  type ArrayOfHostPlugStoreTopologyDevice struct {
  4626  	HostPlugStoreTopologyDevice []HostPlugStoreTopologyDevice `xml:"HostPlugStoreTopologyDevice,omitempty" json:"_value"`
  4627  }
  4628  
  4629  func init() {
  4630  	t["ArrayOfHostPlugStoreTopologyDevice"] = reflect.TypeOf((*ArrayOfHostPlugStoreTopologyDevice)(nil)).Elem()
  4631  }
  4632  
  4633  // A boxed array of `HostPlugStoreTopologyPath`. To be used in `Any` placeholders.
  4634  type ArrayOfHostPlugStoreTopologyPath struct {
  4635  	HostPlugStoreTopologyPath []HostPlugStoreTopologyPath `xml:"HostPlugStoreTopologyPath,omitempty" json:"_value"`
  4636  }
  4637  
  4638  func init() {
  4639  	t["ArrayOfHostPlugStoreTopologyPath"] = reflect.TypeOf((*ArrayOfHostPlugStoreTopologyPath)(nil)).Elem()
  4640  }
  4641  
  4642  // A boxed array of `HostPlugStoreTopologyPlugin`. To be used in `Any` placeholders.
  4643  type ArrayOfHostPlugStoreTopologyPlugin struct {
  4644  	HostPlugStoreTopologyPlugin []HostPlugStoreTopologyPlugin `xml:"HostPlugStoreTopologyPlugin,omitempty" json:"_value"`
  4645  }
  4646  
  4647  func init() {
  4648  	t["ArrayOfHostPlugStoreTopologyPlugin"] = reflect.TypeOf((*ArrayOfHostPlugStoreTopologyPlugin)(nil)).Elem()
  4649  }
  4650  
  4651  // A boxed array of `HostPlugStoreTopologyTarget`. To be used in `Any` placeholders.
  4652  type ArrayOfHostPlugStoreTopologyTarget struct {
  4653  	HostPlugStoreTopologyTarget []HostPlugStoreTopologyTarget `xml:"HostPlugStoreTopologyTarget,omitempty" json:"_value"`
  4654  }
  4655  
  4656  func init() {
  4657  	t["ArrayOfHostPlugStoreTopologyTarget"] = reflect.TypeOf((*ArrayOfHostPlugStoreTopologyTarget)(nil)).Elem()
  4658  }
  4659  
  4660  // A boxed array of `HostPnicNetworkResourceInfo`. To be used in `Any` placeholders.
  4661  type ArrayOfHostPnicNetworkResourceInfo struct {
  4662  	HostPnicNetworkResourceInfo []HostPnicNetworkResourceInfo `xml:"HostPnicNetworkResourceInfo,omitempty" json:"_value"`
  4663  }
  4664  
  4665  func init() {
  4666  	t["ArrayOfHostPnicNetworkResourceInfo"] = reflect.TypeOf((*ArrayOfHostPnicNetworkResourceInfo)(nil)).Elem()
  4667  }
  4668  
  4669  // A boxed array of `HostPortGroup`. To be used in `Any` placeholders.
  4670  type ArrayOfHostPortGroup struct {
  4671  	HostPortGroup []HostPortGroup `xml:"HostPortGroup,omitempty" json:"_value"`
  4672  }
  4673  
  4674  func init() {
  4675  	t["ArrayOfHostPortGroup"] = reflect.TypeOf((*ArrayOfHostPortGroup)(nil)).Elem()
  4676  }
  4677  
  4678  // A boxed array of `HostPortGroupConfig`. To be used in `Any` placeholders.
  4679  type ArrayOfHostPortGroupConfig struct {
  4680  	HostPortGroupConfig []HostPortGroupConfig `xml:"HostPortGroupConfig,omitempty" json:"_value"`
  4681  }
  4682  
  4683  func init() {
  4684  	t["ArrayOfHostPortGroupConfig"] = reflect.TypeOf((*ArrayOfHostPortGroupConfig)(nil)).Elem()
  4685  }
  4686  
  4687  // A boxed array of `HostPortGroupPort`. To be used in `Any` placeholders.
  4688  type ArrayOfHostPortGroupPort struct {
  4689  	HostPortGroupPort []HostPortGroupPort `xml:"HostPortGroupPort,omitempty" json:"_value"`
  4690  }
  4691  
  4692  func init() {
  4693  	t["ArrayOfHostPortGroupPort"] = reflect.TypeOf((*ArrayOfHostPortGroupPort)(nil)).Elem()
  4694  }
  4695  
  4696  // A boxed array of `HostPortGroupProfile`. To be used in `Any` placeholders.
  4697  type ArrayOfHostPortGroupProfile struct {
  4698  	HostPortGroupProfile []HostPortGroupProfile `xml:"HostPortGroupProfile,omitempty" json:"_value"`
  4699  }
  4700  
  4701  func init() {
  4702  	t["ArrayOfHostPortGroupProfile"] = reflect.TypeOf((*ArrayOfHostPortGroupProfile)(nil)).Elem()
  4703  }
  4704  
  4705  // A boxed array of `HostPowerPolicy`. To be used in `Any` placeholders.
  4706  type ArrayOfHostPowerPolicy struct {
  4707  	HostPowerPolicy []HostPowerPolicy `xml:"HostPowerPolicy,omitempty" json:"_value"`
  4708  }
  4709  
  4710  func init() {
  4711  	t["ArrayOfHostPowerPolicy"] = reflect.TypeOf((*ArrayOfHostPowerPolicy)(nil)).Elem()
  4712  }
  4713  
  4714  // A boxed array of `HostProfileManagerCompositionResultResultElement`. To be used in `Any` placeholders.
  4715  type ArrayOfHostProfileManagerCompositionResultResultElement struct {
  4716  	HostProfileManagerCompositionResultResultElement []HostProfileManagerCompositionResultResultElement `xml:"HostProfileManagerCompositionResultResultElement,omitempty" json:"_value"`
  4717  }
  4718  
  4719  func init() {
  4720  	t["ArrayOfHostProfileManagerCompositionResultResultElement"] = reflect.TypeOf((*ArrayOfHostProfileManagerCompositionResultResultElement)(nil)).Elem()
  4721  }
  4722  
  4723  // A boxed array of `HostProfileManagerCompositionValidationResultResultElement`. To be used in `Any` placeholders.
  4724  type ArrayOfHostProfileManagerCompositionValidationResultResultElement struct {
  4725  	HostProfileManagerCompositionValidationResultResultElement []HostProfileManagerCompositionValidationResultResultElement `xml:"HostProfileManagerCompositionValidationResultResultElement,omitempty" json:"_value"`
  4726  }
  4727  
  4728  func init() {
  4729  	t["ArrayOfHostProfileManagerCompositionValidationResultResultElement"] = reflect.TypeOf((*ArrayOfHostProfileManagerCompositionValidationResultResultElement)(nil)).Elem()
  4730  }
  4731  
  4732  // A boxed array of `HostProfilesEntityCustomizations`. To be used in `Any` placeholders.
  4733  type ArrayOfHostProfilesEntityCustomizations struct {
  4734  	HostProfilesEntityCustomizations []BaseHostProfilesEntityCustomizations `xml:"HostProfilesEntityCustomizations,omitempty,typeattr" json:"_value"`
  4735  }
  4736  
  4737  func init() {
  4738  	t["ArrayOfHostProfilesEntityCustomizations"] = reflect.TypeOf((*ArrayOfHostProfilesEntityCustomizations)(nil)).Elem()
  4739  }
  4740  
  4741  // A boxed array of `HostProtocolEndpoint`. To be used in `Any` placeholders.
  4742  type ArrayOfHostProtocolEndpoint struct {
  4743  	HostProtocolEndpoint []HostProtocolEndpoint `xml:"HostProtocolEndpoint,omitempty" json:"_value"`
  4744  }
  4745  
  4746  func init() {
  4747  	t["ArrayOfHostProtocolEndpoint"] = reflect.TypeOf((*ArrayOfHostProtocolEndpoint)(nil)).Elem()
  4748  }
  4749  
  4750  // A boxed array of `HostProxySwitch`. To be used in `Any` placeholders.
  4751  type ArrayOfHostProxySwitch struct {
  4752  	HostProxySwitch []HostProxySwitch `xml:"HostProxySwitch,omitempty" json:"_value"`
  4753  }
  4754  
  4755  func init() {
  4756  	t["ArrayOfHostProxySwitch"] = reflect.TypeOf((*ArrayOfHostProxySwitch)(nil)).Elem()
  4757  }
  4758  
  4759  // A boxed array of `HostProxySwitchConfig`. To be used in `Any` placeholders.
  4760  type ArrayOfHostProxySwitchConfig struct {
  4761  	HostProxySwitchConfig []HostProxySwitchConfig `xml:"HostProxySwitchConfig,omitempty" json:"_value"`
  4762  }
  4763  
  4764  func init() {
  4765  	t["ArrayOfHostProxySwitchConfig"] = reflect.TypeOf((*ArrayOfHostProxySwitchConfig)(nil)).Elem()
  4766  }
  4767  
  4768  // A boxed array of `HostProxySwitchHostLagConfig`. To be used in `Any` placeholders.
  4769  type ArrayOfHostProxySwitchHostLagConfig struct {
  4770  	HostProxySwitchHostLagConfig []HostProxySwitchHostLagConfig `xml:"HostProxySwitchHostLagConfig,omitempty" json:"_value"`
  4771  }
  4772  
  4773  func init() {
  4774  	t["ArrayOfHostProxySwitchHostLagConfig"] = reflect.TypeOf((*ArrayOfHostProxySwitchHostLagConfig)(nil)).Elem()
  4775  }
  4776  
  4777  // A boxed array of `HostPtpConfigPtpPort`. To be used in `Any` placeholders.
  4778  type ArrayOfHostPtpConfigPtpPort struct {
  4779  	HostPtpConfigPtpPort []HostPtpConfigPtpPort `xml:"HostPtpConfigPtpPort,omitempty" json:"_value"`
  4780  }
  4781  
  4782  func init() {
  4783  	t["ArrayOfHostPtpConfigPtpPort"] = reflect.TypeOf((*ArrayOfHostPtpConfigPtpPort)(nil)).Elem()
  4784  }
  4785  
  4786  // A boxed array of `HostQualifiedName`. To be used in `Any` placeholders.
  4787  type ArrayOfHostQualifiedName struct {
  4788  	HostQualifiedName []HostQualifiedName `xml:"HostQualifiedName,omitempty" json:"_value"`
  4789  }
  4790  
  4791  func init() {
  4792  	t["ArrayOfHostQualifiedName"] = reflect.TypeOf((*ArrayOfHostQualifiedName)(nil)).Elem()
  4793  }
  4794  
  4795  // A boxed array of `HostRdmaDevice`. To be used in `Any` placeholders.
  4796  type ArrayOfHostRdmaDevice struct {
  4797  	HostRdmaDevice []HostRdmaDevice `xml:"HostRdmaDevice,omitempty" json:"_value"`
  4798  }
  4799  
  4800  func init() {
  4801  	t["ArrayOfHostRdmaDevice"] = reflect.TypeOf((*ArrayOfHostRdmaDevice)(nil)).Elem()
  4802  }
  4803  
  4804  // A boxed array of `HostRuntimeInfoNetStackInstanceRuntimeInfo`. To be used in `Any` placeholders.
  4805  type ArrayOfHostRuntimeInfoNetStackInstanceRuntimeInfo struct {
  4806  	HostRuntimeInfoNetStackInstanceRuntimeInfo []HostRuntimeInfoNetStackInstanceRuntimeInfo `xml:"HostRuntimeInfoNetStackInstanceRuntimeInfo,omitempty" json:"_value"`
  4807  }
  4808  
  4809  func init() {
  4810  	t["ArrayOfHostRuntimeInfoNetStackInstanceRuntimeInfo"] = reflect.TypeOf((*ArrayOfHostRuntimeInfoNetStackInstanceRuntimeInfo)(nil)).Elem()
  4811  }
  4812  
  4813  // A boxed array of `HostScsiDisk`. To be used in `Any` placeholders.
  4814  type ArrayOfHostScsiDisk struct {
  4815  	HostScsiDisk []HostScsiDisk `xml:"HostScsiDisk,omitempty" json:"_value"`
  4816  }
  4817  
  4818  func init() {
  4819  	t["ArrayOfHostScsiDisk"] = reflect.TypeOf((*ArrayOfHostScsiDisk)(nil)).Elem()
  4820  }
  4821  
  4822  // A boxed array of `HostScsiDiskPartition`. To be used in `Any` placeholders.
  4823  type ArrayOfHostScsiDiskPartition struct {
  4824  	HostScsiDiskPartition []HostScsiDiskPartition `xml:"HostScsiDiskPartition,omitempty" json:"_value"`
  4825  }
  4826  
  4827  func init() {
  4828  	t["ArrayOfHostScsiDiskPartition"] = reflect.TypeOf((*ArrayOfHostScsiDiskPartition)(nil)).Elem()
  4829  }
  4830  
  4831  // A boxed array of `HostScsiTopologyInterface`. To be used in `Any` placeholders.
  4832  type ArrayOfHostScsiTopologyInterface struct {
  4833  	HostScsiTopologyInterface []HostScsiTopologyInterface `xml:"HostScsiTopologyInterface,omitempty" json:"_value"`
  4834  }
  4835  
  4836  func init() {
  4837  	t["ArrayOfHostScsiTopologyInterface"] = reflect.TypeOf((*ArrayOfHostScsiTopologyInterface)(nil)).Elem()
  4838  }
  4839  
  4840  // A boxed array of `HostScsiTopologyLun`. To be used in `Any` placeholders.
  4841  type ArrayOfHostScsiTopologyLun struct {
  4842  	HostScsiTopologyLun []HostScsiTopologyLun `xml:"HostScsiTopologyLun,omitempty" json:"_value"`
  4843  }
  4844  
  4845  func init() {
  4846  	t["ArrayOfHostScsiTopologyLun"] = reflect.TypeOf((*ArrayOfHostScsiTopologyLun)(nil)).Elem()
  4847  }
  4848  
  4849  // A boxed array of `HostScsiTopologyTarget`. To be used in `Any` placeholders.
  4850  type ArrayOfHostScsiTopologyTarget struct {
  4851  	HostScsiTopologyTarget []HostScsiTopologyTarget `xml:"HostScsiTopologyTarget,omitempty" json:"_value"`
  4852  }
  4853  
  4854  func init() {
  4855  	t["ArrayOfHostScsiTopologyTarget"] = reflect.TypeOf((*ArrayOfHostScsiTopologyTarget)(nil)).Elem()
  4856  }
  4857  
  4858  // A boxed array of `HostService`. To be used in `Any` placeholders.
  4859  type ArrayOfHostService struct {
  4860  	HostService []HostService `xml:"HostService,omitempty" json:"_value"`
  4861  }
  4862  
  4863  func init() {
  4864  	t["ArrayOfHostService"] = reflect.TypeOf((*ArrayOfHostService)(nil)).Elem()
  4865  }
  4866  
  4867  // A boxed array of `HostServiceConfig`. To be used in `Any` placeholders.
  4868  type ArrayOfHostServiceConfig struct {
  4869  	HostServiceConfig []HostServiceConfig `xml:"HostServiceConfig,omitempty" json:"_value"`
  4870  }
  4871  
  4872  func init() {
  4873  	t["ArrayOfHostServiceConfig"] = reflect.TypeOf((*ArrayOfHostServiceConfig)(nil)).Elem()
  4874  }
  4875  
  4876  // A boxed array of `HostSharedGpuCapabilities`. To be used in `Any` placeholders.
  4877  type ArrayOfHostSharedGpuCapabilities struct {
  4878  	HostSharedGpuCapabilities []HostSharedGpuCapabilities `xml:"HostSharedGpuCapabilities,omitempty" json:"_value"`
  4879  }
  4880  
  4881  func init() {
  4882  	t["ArrayOfHostSharedGpuCapabilities"] = reflect.TypeOf((*ArrayOfHostSharedGpuCapabilities)(nil)).Elem()
  4883  }
  4884  
  4885  // A boxed array of `HostSnmpDestination`. To be used in `Any` placeholders.
  4886  type ArrayOfHostSnmpDestination struct {
  4887  	HostSnmpDestination []HostSnmpDestination `xml:"HostSnmpDestination,omitempty" json:"_value"`
  4888  }
  4889  
  4890  func init() {
  4891  	t["ArrayOfHostSnmpDestination"] = reflect.TypeOf((*ArrayOfHostSnmpDestination)(nil)).Elem()
  4892  }
  4893  
  4894  // A boxed array of `HostSriovDevicePoolInfo`. To be used in `Any` placeholders.
  4895  type ArrayOfHostSriovDevicePoolInfo struct {
  4896  	HostSriovDevicePoolInfo []BaseHostSriovDevicePoolInfo `xml:"HostSriovDevicePoolInfo,omitempty,typeattr" json:"_value"`
  4897  }
  4898  
  4899  func init() {
  4900  	t["ArrayOfHostSriovDevicePoolInfo"] = reflect.TypeOf((*ArrayOfHostSriovDevicePoolInfo)(nil)).Elem()
  4901  }
  4902  
  4903  // A boxed array of `HostSslThumbprintInfo`. To be used in `Any` placeholders.
  4904  type ArrayOfHostSslThumbprintInfo struct {
  4905  	HostSslThumbprintInfo []HostSslThumbprintInfo `xml:"HostSslThumbprintInfo,omitempty" json:"_value"`
  4906  }
  4907  
  4908  func init() {
  4909  	t["ArrayOfHostSslThumbprintInfo"] = reflect.TypeOf((*ArrayOfHostSslThumbprintInfo)(nil)).Elem()
  4910  }
  4911  
  4912  // A boxed array of `HostStorageArrayTypePolicyOption`. To be used in `Any` placeholders.
  4913  type ArrayOfHostStorageArrayTypePolicyOption struct {
  4914  	HostStorageArrayTypePolicyOption []HostStorageArrayTypePolicyOption `xml:"HostStorageArrayTypePolicyOption,omitempty" json:"_value"`
  4915  }
  4916  
  4917  func init() {
  4918  	t["ArrayOfHostStorageArrayTypePolicyOption"] = reflect.TypeOf((*ArrayOfHostStorageArrayTypePolicyOption)(nil)).Elem()
  4919  }
  4920  
  4921  // A boxed array of `HostStorageElementInfo`. To be used in `Any` placeholders.
  4922  type ArrayOfHostStorageElementInfo struct {
  4923  	HostStorageElementInfo []HostStorageElementInfo `xml:"HostStorageElementInfo,omitempty" json:"_value"`
  4924  }
  4925  
  4926  func init() {
  4927  	t["ArrayOfHostStorageElementInfo"] = reflect.TypeOf((*ArrayOfHostStorageElementInfo)(nil)).Elem()
  4928  }
  4929  
  4930  // A boxed array of `HostStorageOperationalInfo`. To be used in `Any` placeholders.
  4931  type ArrayOfHostStorageOperationalInfo struct {
  4932  	HostStorageOperationalInfo []HostStorageOperationalInfo `xml:"HostStorageOperationalInfo,omitempty" json:"_value"`
  4933  }
  4934  
  4935  func init() {
  4936  	t["ArrayOfHostStorageOperationalInfo"] = reflect.TypeOf((*ArrayOfHostStorageOperationalInfo)(nil)).Elem()
  4937  }
  4938  
  4939  // A boxed array of `HostStorageSystemDiskLocatorLedResult`. To be used in `Any` placeholders.
  4940  type ArrayOfHostStorageSystemDiskLocatorLedResult struct {
  4941  	HostStorageSystemDiskLocatorLedResult []HostStorageSystemDiskLocatorLedResult `xml:"HostStorageSystemDiskLocatorLedResult,omitempty" json:"_value"`
  4942  }
  4943  
  4944  func init() {
  4945  	t["ArrayOfHostStorageSystemDiskLocatorLedResult"] = reflect.TypeOf((*ArrayOfHostStorageSystemDiskLocatorLedResult)(nil)).Elem()
  4946  }
  4947  
  4948  // A boxed array of `HostStorageSystemScsiLunResult`. To be used in `Any` placeholders.
  4949  type ArrayOfHostStorageSystemScsiLunResult struct {
  4950  	HostStorageSystemScsiLunResult []HostStorageSystemScsiLunResult `xml:"HostStorageSystemScsiLunResult,omitempty" json:"_value"`
  4951  }
  4952  
  4953  func init() {
  4954  	t["ArrayOfHostStorageSystemScsiLunResult"] = reflect.TypeOf((*ArrayOfHostStorageSystemScsiLunResult)(nil)).Elem()
  4955  }
  4956  
  4957  // A boxed array of `HostStorageSystemVmfsVolumeResult`. To be used in `Any` placeholders.
  4958  type ArrayOfHostStorageSystemVmfsVolumeResult struct {
  4959  	HostStorageSystemVmfsVolumeResult []HostStorageSystemVmfsVolumeResult `xml:"HostStorageSystemVmfsVolumeResult,omitempty" json:"_value"`
  4960  }
  4961  
  4962  func init() {
  4963  	t["ArrayOfHostStorageSystemVmfsVolumeResult"] = reflect.TypeOf((*ArrayOfHostStorageSystemVmfsVolumeResult)(nil)).Elem()
  4964  }
  4965  
  4966  // A boxed array of `HostSubSpecification`. To be used in `Any` placeholders.
  4967  type ArrayOfHostSubSpecification struct {
  4968  	HostSubSpecification []HostSubSpecification `xml:"HostSubSpecification,omitempty" json:"_value"`
  4969  }
  4970  
  4971  func init() {
  4972  	t["ArrayOfHostSubSpecification"] = reflect.TypeOf((*ArrayOfHostSubSpecification)(nil)).Elem()
  4973  }
  4974  
  4975  // A boxed array of `HostSystemIdentificationInfo`. To be used in `Any` placeholders.
  4976  type ArrayOfHostSystemIdentificationInfo struct {
  4977  	HostSystemIdentificationInfo []HostSystemIdentificationInfo `xml:"HostSystemIdentificationInfo,omitempty" json:"_value"`
  4978  }
  4979  
  4980  func init() {
  4981  	t["ArrayOfHostSystemIdentificationInfo"] = reflect.TypeOf((*ArrayOfHostSystemIdentificationInfo)(nil)).Elem()
  4982  }
  4983  
  4984  // A boxed array of `HostSystemResourceInfo`. To be used in `Any` placeholders.
  4985  type ArrayOfHostSystemResourceInfo struct {
  4986  	HostSystemResourceInfo []HostSystemResourceInfo `xml:"HostSystemResourceInfo,omitempty" json:"_value"`
  4987  }
  4988  
  4989  func init() {
  4990  	t["ArrayOfHostSystemResourceInfo"] = reflect.TypeOf((*ArrayOfHostSystemResourceInfo)(nil)).Elem()
  4991  }
  4992  
  4993  // A boxed array of `HostSystemSwapConfigurationSystemSwapOption`. To be used in `Any` placeholders.
  4994  type ArrayOfHostSystemSwapConfigurationSystemSwapOption struct {
  4995  	HostSystemSwapConfigurationSystemSwapOption []BaseHostSystemSwapConfigurationSystemSwapOption `xml:"HostSystemSwapConfigurationSystemSwapOption,omitempty,typeattr" json:"_value"`
  4996  }
  4997  
  4998  func init() {
  4999  	t["ArrayOfHostSystemSwapConfigurationSystemSwapOption"] = reflect.TypeOf((*ArrayOfHostSystemSwapConfigurationSystemSwapOption)(nil)).Elem()
  5000  }
  5001  
  5002  // A boxed array of `HostTpmDigestInfo`. To be used in `Any` placeholders.
  5003  type ArrayOfHostTpmDigestInfo struct {
  5004  	HostTpmDigestInfo []HostTpmDigestInfo `xml:"HostTpmDigestInfo,omitempty" json:"_value"`
  5005  }
  5006  
  5007  func init() {
  5008  	t["ArrayOfHostTpmDigestInfo"] = reflect.TypeOf((*ArrayOfHostTpmDigestInfo)(nil)).Elem()
  5009  }
  5010  
  5011  // A boxed array of `HostTpmEventLogEntry`. To be used in `Any` placeholders.
  5012  type ArrayOfHostTpmEventLogEntry struct {
  5013  	HostTpmEventLogEntry []HostTpmEventLogEntry `xml:"HostTpmEventLogEntry,omitempty" json:"_value"`
  5014  }
  5015  
  5016  func init() {
  5017  	t["ArrayOfHostTpmEventLogEntry"] = reflect.TypeOf((*ArrayOfHostTpmEventLogEntry)(nil)).Elem()
  5018  }
  5019  
  5020  // A boxed array of `HostTrustAuthorityAttestationInfo`. To be used in `Any` placeholders.
  5021  type ArrayOfHostTrustAuthorityAttestationInfo struct {
  5022  	HostTrustAuthorityAttestationInfo []HostTrustAuthorityAttestationInfo `xml:"HostTrustAuthorityAttestationInfo,omitempty" json:"_value"`
  5023  }
  5024  
  5025  func init() {
  5026  	t["ArrayOfHostTrustAuthorityAttestationInfo"] = reflect.TypeOf((*ArrayOfHostTrustAuthorityAttestationInfo)(nil)).Elem()
  5027  }
  5028  
  5029  // A boxed array of `HostUnresolvedVmfsExtent`. To be used in `Any` placeholders.
  5030  type ArrayOfHostUnresolvedVmfsExtent struct {
  5031  	HostUnresolvedVmfsExtent []HostUnresolvedVmfsExtent `xml:"HostUnresolvedVmfsExtent,omitempty" json:"_value"`
  5032  }
  5033  
  5034  func init() {
  5035  	t["ArrayOfHostUnresolvedVmfsExtent"] = reflect.TypeOf((*ArrayOfHostUnresolvedVmfsExtent)(nil)).Elem()
  5036  }
  5037  
  5038  // A boxed array of `HostUnresolvedVmfsResolutionResult`. To be used in `Any` placeholders.
  5039  type ArrayOfHostUnresolvedVmfsResolutionResult struct {
  5040  	HostUnresolvedVmfsResolutionResult []HostUnresolvedVmfsResolutionResult `xml:"HostUnresolvedVmfsResolutionResult,omitempty" json:"_value"`
  5041  }
  5042  
  5043  func init() {
  5044  	t["ArrayOfHostUnresolvedVmfsResolutionResult"] = reflect.TypeOf((*ArrayOfHostUnresolvedVmfsResolutionResult)(nil)).Elem()
  5045  }
  5046  
  5047  // A boxed array of `HostUnresolvedVmfsResolutionSpec`. To be used in `Any` placeholders.
  5048  type ArrayOfHostUnresolvedVmfsResolutionSpec struct {
  5049  	HostUnresolvedVmfsResolutionSpec []HostUnresolvedVmfsResolutionSpec `xml:"HostUnresolvedVmfsResolutionSpec,omitempty" json:"_value"`
  5050  }
  5051  
  5052  func init() {
  5053  	t["ArrayOfHostUnresolvedVmfsResolutionSpec"] = reflect.TypeOf((*ArrayOfHostUnresolvedVmfsResolutionSpec)(nil)).Elem()
  5054  }
  5055  
  5056  // A boxed array of `HostUnresolvedVmfsVolume`. To be used in `Any` placeholders.
  5057  type ArrayOfHostUnresolvedVmfsVolume struct {
  5058  	HostUnresolvedVmfsVolume []HostUnresolvedVmfsVolume `xml:"HostUnresolvedVmfsVolume,omitempty" json:"_value"`
  5059  }
  5060  
  5061  func init() {
  5062  	t["ArrayOfHostUnresolvedVmfsVolume"] = reflect.TypeOf((*ArrayOfHostUnresolvedVmfsVolume)(nil)).Elem()
  5063  }
  5064  
  5065  // A boxed array of `HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption`. To be used in `Any` placeholders.
  5066  type ArrayOfHostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption struct {
  5067  	HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption []HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption `xml:"HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption,omitempty" json:"_value"`
  5068  }
  5069  
  5070  func init() {
  5071  	t["ArrayOfHostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption"] = reflect.TypeOf((*ArrayOfHostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption)(nil)).Elem()
  5072  }
  5073  
  5074  // A boxed array of `HostVMotionCompatibility`. To be used in `Any` placeholders.
  5075  type ArrayOfHostVMotionCompatibility struct {
  5076  	HostVMotionCompatibility []HostVMotionCompatibility `xml:"HostVMotionCompatibility,omitempty" json:"_value"`
  5077  }
  5078  
  5079  func init() {
  5080  	t["ArrayOfHostVMotionCompatibility"] = reflect.TypeOf((*ArrayOfHostVMotionCompatibility)(nil)).Elem()
  5081  }
  5082  
  5083  // A boxed array of `HostVirtualNic`. To be used in `Any` placeholders.
  5084  type ArrayOfHostVirtualNic struct {
  5085  	HostVirtualNic []HostVirtualNic `xml:"HostVirtualNic,omitempty" json:"_value"`
  5086  }
  5087  
  5088  func init() {
  5089  	t["ArrayOfHostVirtualNic"] = reflect.TypeOf((*ArrayOfHostVirtualNic)(nil)).Elem()
  5090  }
  5091  
  5092  // A boxed array of `HostVirtualNicConfig`. To be used in `Any` placeholders.
  5093  type ArrayOfHostVirtualNicConfig struct {
  5094  	HostVirtualNicConfig []HostVirtualNicConfig `xml:"HostVirtualNicConfig,omitempty" json:"_value"`
  5095  }
  5096  
  5097  func init() {
  5098  	t["ArrayOfHostVirtualNicConfig"] = reflect.TypeOf((*ArrayOfHostVirtualNicConfig)(nil)).Elem()
  5099  }
  5100  
  5101  // A boxed array of `HostVirtualNicManagerNicTypeSelection`. To be used in `Any` placeholders.
  5102  type ArrayOfHostVirtualNicManagerNicTypeSelection struct {
  5103  	HostVirtualNicManagerNicTypeSelection []HostVirtualNicManagerNicTypeSelection `xml:"HostVirtualNicManagerNicTypeSelection,omitempty" json:"_value"`
  5104  }
  5105  
  5106  func init() {
  5107  	t["ArrayOfHostVirtualNicManagerNicTypeSelection"] = reflect.TypeOf((*ArrayOfHostVirtualNicManagerNicTypeSelection)(nil)).Elem()
  5108  }
  5109  
  5110  // A boxed array of `HostVirtualSwitch`. To be used in `Any` placeholders.
  5111  type ArrayOfHostVirtualSwitch struct {
  5112  	HostVirtualSwitch []HostVirtualSwitch `xml:"HostVirtualSwitch,omitempty" json:"_value"`
  5113  }
  5114  
  5115  func init() {
  5116  	t["ArrayOfHostVirtualSwitch"] = reflect.TypeOf((*ArrayOfHostVirtualSwitch)(nil)).Elem()
  5117  }
  5118  
  5119  // A boxed array of `HostVirtualSwitchConfig`. To be used in `Any` placeholders.
  5120  type ArrayOfHostVirtualSwitchConfig struct {
  5121  	HostVirtualSwitchConfig []HostVirtualSwitchConfig `xml:"HostVirtualSwitchConfig,omitempty" json:"_value"`
  5122  }
  5123  
  5124  func init() {
  5125  	t["ArrayOfHostVirtualSwitchConfig"] = reflect.TypeOf((*ArrayOfHostVirtualSwitchConfig)(nil)).Elem()
  5126  }
  5127  
  5128  // A boxed array of `HostVmciAccessManagerAccessSpec`. To be used in `Any` placeholders.
  5129  type ArrayOfHostVmciAccessManagerAccessSpec struct {
  5130  	HostVmciAccessManagerAccessSpec []HostVmciAccessManagerAccessSpec `xml:"HostVmciAccessManagerAccessSpec,omitempty" json:"_value"`
  5131  }
  5132  
  5133  func init() {
  5134  	t["ArrayOfHostVmciAccessManagerAccessSpec"] = reflect.TypeOf((*ArrayOfHostVmciAccessManagerAccessSpec)(nil)).Elem()
  5135  }
  5136  
  5137  // A boxed array of `HostVmfsRescanResult`. To be used in `Any` placeholders.
  5138  type ArrayOfHostVmfsRescanResult struct {
  5139  	HostVmfsRescanResult []HostVmfsRescanResult `xml:"HostVmfsRescanResult,omitempty" json:"_value"`
  5140  }
  5141  
  5142  func init() {
  5143  	t["ArrayOfHostVmfsRescanResult"] = reflect.TypeOf((*ArrayOfHostVmfsRescanResult)(nil)).Elem()
  5144  }
  5145  
  5146  // A boxed array of `HostVsanInternalSystemCmmdsQuery`. To be used in `Any` placeholders.
  5147  type ArrayOfHostVsanInternalSystemCmmdsQuery struct {
  5148  	HostVsanInternalSystemCmmdsQuery []HostVsanInternalSystemCmmdsQuery `xml:"HostVsanInternalSystemCmmdsQuery,omitempty" json:"_value"`
  5149  }
  5150  
  5151  func init() {
  5152  	t["ArrayOfHostVsanInternalSystemCmmdsQuery"] = reflect.TypeOf((*ArrayOfHostVsanInternalSystemCmmdsQuery)(nil)).Elem()
  5153  }
  5154  
  5155  // A boxed array of `HostVsanInternalSystemDeleteVsanObjectsResult`. To be used in `Any` placeholders.
  5156  type ArrayOfHostVsanInternalSystemDeleteVsanObjectsResult struct {
  5157  	HostVsanInternalSystemDeleteVsanObjectsResult []HostVsanInternalSystemDeleteVsanObjectsResult `xml:"HostVsanInternalSystemDeleteVsanObjectsResult,omitempty" json:"_value"`
  5158  }
  5159  
  5160  func init() {
  5161  	t["ArrayOfHostVsanInternalSystemDeleteVsanObjectsResult"] = reflect.TypeOf((*ArrayOfHostVsanInternalSystemDeleteVsanObjectsResult)(nil)).Elem()
  5162  }
  5163  
  5164  // A boxed array of `HostVsanInternalSystemVsanObjectOperationResult`. To be used in `Any` placeholders.
  5165  type ArrayOfHostVsanInternalSystemVsanObjectOperationResult struct {
  5166  	HostVsanInternalSystemVsanObjectOperationResult []HostVsanInternalSystemVsanObjectOperationResult `xml:"HostVsanInternalSystemVsanObjectOperationResult,omitempty" json:"_value"`
  5167  }
  5168  
  5169  func init() {
  5170  	t["ArrayOfHostVsanInternalSystemVsanObjectOperationResult"] = reflect.TypeOf((*ArrayOfHostVsanInternalSystemVsanObjectOperationResult)(nil)).Elem()
  5171  }
  5172  
  5173  // A boxed array of `HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult`. To be used in `Any` placeholders.
  5174  type ArrayOfHostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult struct {
  5175  	HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult []HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult `xml:"HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult,omitempty" json:"_value"`
  5176  }
  5177  
  5178  func init() {
  5179  	t["ArrayOfHostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult"] = reflect.TypeOf((*ArrayOfHostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult)(nil)).Elem()
  5180  }
  5181  
  5182  // A boxed array of `HostVvolNQN`. To be used in `Any` placeholders.
  5183  type ArrayOfHostVvolNQN struct {
  5184  	HostVvolNQN []HostVvolNQN `xml:"HostVvolNQN,omitempty" json:"_value"`
  5185  }
  5186  
  5187  func init() {
  5188  	t["ArrayOfHostVvolNQN"] = reflect.TypeOf((*ArrayOfHostVvolNQN)(nil)).Elem()
  5189  }
  5190  
  5191  // A boxed array of `HostVvolVolumeHostVvolNQN`. To be used in `Any` placeholders.
  5192  type ArrayOfHostVvolVolumeHostVvolNQN struct {
  5193  	HostVvolVolumeHostVvolNQN []HostVvolVolumeHostVvolNQN `xml:"HostVvolVolumeHostVvolNQN,omitempty" json:"_value"`
  5194  }
  5195  
  5196  func init() {
  5197  	t["ArrayOfHostVvolVolumeHostVvolNQN"] = reflect.TypeOf((*ArrayOfHostVvolVolumeHostVvolNQN)(nil)).Elem()
  5198  }
  5199  
  5200  // A boxed array of `HttpNfcLeaseDatastoreLeaseInfo`. To be used in `Any` placeholders.
  5201  type ArrayOfHttpNfcLeaseDatastoreLeaseInfo struct {
  5202  	HttpNfcLeaseDatastoreLeaseInfo []HttpNfcLeaseDatastoreLeaseInfo `xml:"HttpNfcLeaseDatastoreLeaseInfo,omitempty" json:"_value"`
  5203  }
  5204  
  5205  func init() {
  5206  	t["ArrayOfHttpNfcLeaseDatastoreLeaseInfo"] = reflect.TypeOf((*ArrayOfHttpNfcLeaseDatastoreLeaseInfo)(nil)).Elem()
  5207  }
  5208  
  5209  // A boxed array of `HttpNfcLeaseDeviceUrl`. To be used in `Any` placeholders.
  5210  type ArrayOfHttpNfcLeaseDeviceUrl struct {
  5211  	HttpNfcLeaseDeviceUrl []HttpNfcLeaseDeviceUrl `xml:"HttpNfcLeaseDeviceUrl,omitempty" json:"_value"`
  5212  }
  5213  
  5214  func init() {
  5215  	t["ArrayOfHttpNfcLeaseDeviceUrl"] = reflect.TypeOf((*ArrayOfHttpNfcLeaseDeviceUrl)(nil)).Elem()
  5216  }
  5217  
  5218  // A boxed array of `HttpNfcLeaseHostInfo`. To be used in `Any` placeholders.
  5219  type ArrayOfHttpNfcLeaseHostInfo struct {
  5220  	HttpNfcLeaseHostInfo []HttpNfcLeaseHostInfo `xml:"HttpNfcLeaseHostInfo,omitempty" json:"_value"`
  5221  }
  5222  
  5223  func init() {
  5224  	t["ArrayOfHttpNfcLeaseHostInfo"] = reflect.TypeOf((*ArrayOfHttpNfcLeaseHostInfo)(nil)).Elem()
  5225  }
  5226  
  5227  // A boxed array of `HttpNfcLeaseManifestEntry`. To be used in `Any` placeholders.
  5228  type ArrayOfHttpNfcLeaseManifestEntry struct {
  5229  	HttpNfcLeaseManifestEntry []HttpNfcLeaseManifestEntry `xml:"HttpNfcLeaseManifestEntry,omitempty" json:"_value"`
  5230  }
  5231  
  5232  func init() {
  5233  	t["ArrayOfHttpNfcLeaseManifestEntry"] = reflect.TypeOf((*ArrayOfHttpNfcLeaseManifestEntry)(nil)).Elem()
  5234  }
  5235  
  5236  // A boxed array of `HttpNfcLeaseProbeResult`. To be used in `Any` placeholders.
  5237  type ArrayOfHttpNfcLeaseProbeResult struct {
  5238  	HttpNfcLeaseProbeResult []HttpNfcLeaseProbeResult `xml:"HttpNfcLeaseProbeResult,omitempty" json:"_value"`
  5239  }
  5240  
  5241  func init() {
  5242  	t["ArrayOfHttpNfcLeaseProbeResult"] = reflect.TypeOf((*ArrayOfHttpNfcLeaseProbeResult)(nil)).Elem()
  5243  }
  5244  
  5245  // A boxed array of `HttpNfcLeaseSourceFile`. To be used in `Any` placeholders.
  5246  type ArrayOfHttpNfcLeaseSourceFile struct {
  5247  	HttpNfcLeaseSourceFile []HttpNfcLeaseSourceFile `xml:"HttpNfcLeaseSourceFile,omitempty" json:"_value"`
  5248  }
  5249  
  5250  func init() {
  5251  	t["ArrayOfHttpNfcLeaseSourceFile"] = reflect.TypeOf((*ArrayOfHttpNfcLeaseSourceFile)(nil)).Elem()
  5252  }
  5253  
  5254  // A boxed array of `ID`. To be used in `Any` placeholders.
  5255  type ArrayOfID struct {
  5256  	ID []ID `xml:"ID,omitempty" json:"_value"`
  5257  }
  5258  
  5259  func init() {
  5260  	t["ArrayOfID"] = reflect.TypeOf((*ArrayOfID)(nil)).Elem()
  5261  }
  5262  
  5263  // A boxed array of `ImportOperationBulkFaultFaultOnImport`. To be used in `Any` placeholders.
  5264  type ArrayOfImportOperationBulkFaultFaultOnImport struct {
  5265  	ImportOperationBulkFaultFaultOnImport []ImportOperationBulkFaultFaultOnImport `xml:"ImportOperationBulkFaultFaultOnImport,omitempty" json:"_value"`
  5266  }
  5267  
  5268  func init() {
  5269  	t["ArrayOfImportOperationBulkFaultFaultOnImport"] = reflect.TypeOf((*ArrayOfImportOperationBulkFaultFaultOnImport)(nil)).Elem()
  5270  }
  5271  
  5272  // A boxed array of `ImportSpec`. To be used in `Any` placeholders.
  5273  type ArrayOfImportSpec struct {
  5274  	ImportSpec []BaseImportSpec `xml:"ImportSpec,omitempty,typeattr" json:"_value"`
  5275  }
  5276  
  5277  func init() {
  5278  	t["ArrayOfImportSpec"] = reflect.TypeOf((*ArrayOfImportSpec)(nil)).Elem()
  5279  }
  5280  
  5281  // A boxed array of `PrimitiveInt`. To be used in `Any` placeholders.
  5282  type ArrayOfInt struct {
  5283  	Int []int32 `xml:"int,omitempty" json:"_value"`
  5284  }
  5285  
  5286  func init() {
  5287  	t["ArrayOfInt"] = reflect.TypeOf((*ArrayOfInt)(nil)).Elem()
  5288  }
  5289  
  5290  // A boxed array of `IoFilterHostIssue`. To be used in `Any` placeholders.
  5291  type ArrayOfIoFilterHostIssue struct {
  5292  	IoFilterHostIssue []IoFilterHostIssue `xml:"IoFilterHostIssue,omitempty" json:"_value"`
  5293  }
  5294  
  5295  func init() {
  5296  	t["ArrayOfIoFilterHostIssue"] = reflect.TypeOf((*ArrayOfIoFilterHostIssue)(nil)).Elem()
  5297  }
  5298  
  5299  // A boxed array of `IpPool`. To be used in `Any` placeholders.
  5300  type ArrayOfIpPool struct {
  5301  	IpPool []IpPool `xml:"IpPool,omitempty" json:"_value"`
  5302  }
  5303  
  5304  func init() {
  5305  	t["ArrayOfIpPool"] = reflect.TypeOf((*ArrayOfIpPool)(nil)).Elem()
  5306  }
  5307  
  5308  // A boxed array of `IpPoolAssociation`. To be used in `Any` placeholders.
  5309  type ArrayOfIpPoolAssociation struct {
  5310  	IpPoolAssociation []IpPoolAssociation `xml:"IpPoolAssociation,omitempty" json:"_value"`
  5311  }
  5312  
  5313  func init() {
  5314  	t["ArrayOfIpPoolAssociation"] = reflect.TypeOf((*ArrayOfIpPoolAssociation)(nil)).Elem()
  5315  }
  5316  
  5317  // A boxed array of `IpPoolManagerIpAllocation`. To be used in `Any` placeholders.
  5318  type ArrayOfIpPoolManagerIpAllocation struct {
  5319  	IpPoolManagerIpAllocation []IpPoolManagerIpAllocation `xml:"IpPoolManagerIpAllocation,omitempty" json:"_value"`
  5320  }
  5321  
  5322  func init() {
  5323  	t["ArrayOfIpPoolManagerIpAllocation"] = reflect.TypeOf((*ArrayOfIpPoolManagerIpAllocation)(nil)).Elem()
  5324  }
  5325  
  5326  // A boxed array of `IscsiDependencyEntity`. To be used in `Any` placeholders.
  5327  type ArrayOfIscsiDependencyEntity struct {
  5328  	IscsiDependencyEntity []IscsiDependencyEntity `xml:"IscsiDependencyEntity,omitempty" json:"_value"`
  5329  }
  5330  
  5331  func init() {
  5332  	t["ArrayOfIscsiDependencyEntity"] = reflect.TypeOf((*ArrayOfIscsiDependencyEntity)(nil)).Elem()
  5333  }
  5334  
  5335  // A boxed array of `IscsiPortInfo`. To be used in `Any` placeholders.
  5336  type ArrayOfIscsiPortInfo struct {
  5337  	IscsiPortInfo []IscsiPortInfo `xml:"IscsiPortInfo,omitempty" json:"_value"`
  5338  }
  5339  
  5340  func init() {
  5341  	t["ArrayOfIscsiPortInfo"] = reflect.TypeOf((*ArrayOfIscsiPortInfo)(nil)).Elem()
  5342  }
  5343  
  5344  // A boxed array of `KernelModuleInfo`. To be used in `Any` placeholders.
  5345  type ArrayOfKernelModuleInfo struct {
  5346  	KernelModuleInfo []KernelModuleInfo `xml:"KernelModuleInfo,omitempty" json:"_value"`
  5347  }
  5348  
  5349  func init() {
  5350  	t["ArrayOfKernelModuleInfo"] = reflect.TypeOf((*ArrayOfKernelModuleInfo)(nil)).Elem()
  5351  }
  5352  
  5353  // A boxed array of `KeyAnyValue`. To be used in `Any` placeholders.
  5354  type ArrayOfKeyAnyValue struct {
  5355  	KeyAnyValue []KeyAnyValue `xml:"KeyAnyValue,omitempty" json:"_value"`
  5356  }
  5357  
  5358  func init() {
  5359  	t["ArrayOfKeyAnyValue"] = reflect.TypeOf((*ArrayOfKeyAnyValue)(nil)).Elem()
  5360  }
  5361  
  5362  // A boxed array of `KeyValue`. To be used in `Any` placeholders.
  5363  type ArrayOfKeyValue struct {
  5364  	KeyValue []KeyValue `xml:"KeyValue,omitempty" json:"_value"`
  5365  }
  5366  
  5367  func init() {
  5368  	t["ArrayOfKeyValue"] = reflect.TypeOf((*ArrayOfKeyValue)(nil)).Elem()
  5369  }
  5370  
  5371  // A boxed array of `KmipClusterInfo`. To be used in `Any` placeholders.
  5372  type ArrayOfKmipClusterInfo struct {
  5373  	KmipClusterInfo []KmipClusterInfo `xml:"KmipClusterInfo,omitempty" json:"_value"`
  5374  }
  5375  
  5376  func init() {
  5377  	t["ArrayOfKmipClusterInfo"] = reflect.TypeOf((*ArrayOfKmipClusterInfo)(nil)).Elem()
  5378  }
  5379  
  5380  // A boxed array of `KmipServerInfo`. To be used in `Any` placeholders.
  5381  type ArrayOfKmipServerInfo struct {
  5382  	KmipServerInfo []KmipServerInfo `xml:"KmipServerInfo,omitempty" json:"_value"`
  5383  }
  5384  
  5385  func init() {
  5386  	t["ArrayOfKmipServerInfo"] = reflect.TypeOf((*ArrayOfKmipServerInfo)(nil)).Elem()
  5387  }
  5388  
  5389  // A boxed array of `LicenseAssignmentManagerLicenseAssignment`. To be used in `Any` placeholders.
  5390  type ArrayOfLicenseAssignmentManagerLicenseAssignment struct {
  5391  	LicenseAssignmentManagerLicenseAssignment []LicenseAssignmentManagerLicenseAssignment `xml:"LicenseAssignmentManagerLicenseAssignment,omitempty" json:"_value"`
  5392  }
  5393  
  5394  func init() {
  5395  	t["ArrayOfLicenseAssignmentManagerLicenseAssignment"] = reflect.TypeOf((*ArrayOfLicenseAssignmentManagerLicenseAssignment)(nil)).Elem()
  5396  }
  5397  
  5398  // A boxed array of `LicenseAvailabilityInfo`. To be used in `Any` placeholders.
  5399  type ArrayOfLicenseAvailabilityInfo struct {
  5400  	LicenseAvailabilityInfo []LicenseAvailabilityInfo `xml:"LicenseAvailabilityInfo,omitempty" json:"_value"`
  5401  }
  5402  
  5403  func init() {
  5404  	t["ArrayOfLicenseAvailabilityInfo"] = reflect.TypeOf((*ArrayOfLicenseAvailabilityInfo)(nil)).Elem()
  5405  }
  5406  
  5407  // A boxed array of `LicenseFeatureInfo`. To be used in `Any` placeholders.
  5408  type ArrayOfLicenseFeatureInfo struct {
  5409  	LicenseFeatureInfo []LicenseFeatureInfo `xml:"LicenseFeatureInfo,omitempty" json:"_value"`
  5410  }
  5411  
  5412  func init() {
  5413  	t["ArrayOfLicenseFeatureInfo"] = reflect.TypeOf((*ArrayOfLicenseFeatureInfo)(nil)).Elem()
  5414  }
  5415  
  5416  // A boxed array of `LicenseManagerLicenseInfo`. To be used in `Any` placeholders.
  5417  type ArrayOfLicenseManagerLicenseInfo struct {
  5418  	LicenseManagerLicenseInfo []LicenseManagerLicenseInfo `xml:"LicenseManagerLicenseInfo,omitempty" json:"_value"`
  5419  }
  5420  
  5421  func init() {
  5422  	t["ArrayOfLicenseManagerLicenseInfo"] = reflect.TypeOf((*ArrayOfLicenseManagerLicenseInfo)(nil)).Elem()
  5423  }
  5424  
  5425  // A boxed array of `LicenseReservationInfo`. To be used in `Any` placeholders.
  5426  type ArrayOfLicenseReservationInfo struct {
  5427  	LicenseReservationInfo []LicenseReservationInfo `xml:"LicenseReservationInfo,omitempty" json:"_value"`
  5428  }
  5429  
  5430  func init() {
  5431  	t["ArrayOfLicenseReservationInfo"] = reflect.TypeOf((*ArrayOfLicenseReservationInfo)(nil)).Elem()
  5432  }
  5433  
  5434  // A boxed array of `LocalizableMessage`. To be used in `Any` placeholders.
  5435  type ArrayOfLocalizableMessage struct {
  5436  	LocalizableMessage []LocalizableMessage `xml:"LocalizableMessage,omitempty" json:"_value"`
  5437  }
  5438  
  5439  func init() {
  5440  	t["ArrayOfLocalizableMessage"] = reflect.TypeOf((*ArrayOfLocalizableMessage)(nil)).Elem()
  5441  }
  5442  
  5443  // A boxed array of `LocalizationManagerMessageCatalog`. To be used in `Any` placeholders.
  5444  type ArrayOfLocalizationManagerMessageCatalog struct {
  5445  	LocalizationManagerMessageCatalog []LocalizationManagerMessageCatalog `xml:"LocalizationManagerMessageCatalog,omitempty" json:"_value"`
  5446  }
  5447  
  5448  func init() {
  5449  	t["ArrayOfLocalizationManagerMessageCatalog"] = reflect.TypeOf((*ArrayOfLocalizationManagerMessageCatalog)(nil)).Elem()
  5450  }
  5451  
  5452  // A boxed array of `PrimitiveLong`. To be used in `Any` placeholders.
  5453  type ArrayOfLong struct {
  5454  	Long []int64 `xml:"long,omitempty" json:"_value"`
  5455  }
  5456  
  5457  func init() {
  5458  	t["ArrayOfLong"] = reflect.TypeOf((*ArrayOfLong)(nil)).Elem()
  5459  }
  5460  
  5461  // A boxed array of `ManagedEntityStatus_enum`. To be used in `Any` placeholders.
  5462  type ArrayOfManagedEntityStatus struct {
  5463  	ManagedEntityStatus []ManagedEntityStatus `xml:"ManagedEntityStatus,omitempty" json:"_value"`
  5464  }
  5465  
  5466  func init() {
  5467  	t["ArrayOfManagedEntityStatus"] = reflect.TypeOf((*ArrayOfManagedEntityStatus)(nil)).Elem()
  5468  }
  5469  
  5470  // A boxed array of `ManagedObjectReference`. To be used in `Any` placeholders.
  5471  type ArrayOfManagedObjectReference struct {
  5472  	ManagedObjectReference []ManagedObjectReference `xml:"ManagedObjectReference,omitempty" json:"_value"`
  5473  }
  5474  
  5475  func init() {
  5476  	t["ArrayOfManagedObjectReference"] = reflect.TypeOf((*ArrayOfManagedObjectReference)(nil)).Elem()
  5477  }
  5478  
  5479  // A boxed array of `MethodActionArgument`. To be used in `Any` placeholders.
  5480  type ArrayOfMethodActionArgument struct {
  5481  	MethodActionArgument []MethodActionArgument `xml:"MethodActionArgument,omitempty" json:"_value"`
  5482  }
  5483  
  5484  func init() {
  5485  	t["ArrayOfMethodActionArgument"] = reflect.TypeOf((*ArrayOfMethodActionArgument)(nil)).Elem()
  5486  }
  5487  
  5488  // A boxed array of `MethodFault`. To be used in `Any` placeholders.
  5489  type ArrayOfMethodFault struct {
  5490  	MethodFault []BaseMethodFault `xml:"MethodFault,omitempty,typeattr" json:"_value"`
  5491  }
  5492  
  5493  func init() {
  5494  	t["ArrayOfMethodFault"] = reflect.TypeOf((*ArrayOfMethodFault)(nil)).Elem()
  5495  }
  5496  
  5497  // A boxed array of `MissingObject`. To be used in `Any` placeholders.
  5498  type ArrayOfMissingObject struct {
  5499  	MissingObject []MissingObject `xml:"MissingObject,omitempty" json:"_value"`
  5500  }
  5501  
  5502  func init() {
  5503  	t["ArrayOfMissingObject"] = reflect.TypeOf((*ArrayOfMissingObject)(nil)).Elem()
  5504  }
  5505  
  5506  // A boxed array of `MissingProperty`. To be used in `Any` placeholders.
  5507  type ArrayOfMissingProperty struct {
  5508  	MissingProperty []MissingProperty `xml:"MissingProperty,omitempty" json:"_value"`
  5509  }
  5510  
  5511  func init() {
  5512  	t["ArrayOfMissingProperty"] = reflect.TypeOf((*ArrayOfMissingProperty)(nil)).Elem()
  5513  }
  5514  
  5515  // A boxed array of `MultipleCertificatesVerifyFaultThumbprintData`. To be used in `Any` placeholders.
  5516  type ArrayOfMultipleCertificatesVerifyFaultThumbprintData struct {
  5517  	MultipleCertificatesVerifyFaultThumbprintData []MultipleCertificatesVerifyFaultThumbprintData `xml:"MultipleCertificatesVerifyFaultThumbprintData,omitempty" json:"_value"`
  5518  }
  5519  
  5520  func init() {
  5521  	t["ArrayOfMultipleCertificatesVerifyFaultThumbprintData"] = reflect.TypeOf((*ArrayOfMultipleCertificatesVerifyFaultThumbprintData)(nil)).Elem()
  5522  }
  5523  
  5524  // A boxed array of `NasStorageProfile`. To be used in `Any` placeholders.
  5525  type ArrayOfNasStorageProfile struct {
  5526  	NasStorageProfile []NasStorageProfile `xml:"NasStorageProfile,omitempty" json:"_value"`
  5527  }
  5528  
  5529  func init() {
  5530  	t["ArrayOfNasStorageProfile"] = reflect.TypeOf((*ArrayOfNasStorageProfile)(nil)).Elem()
  5531  }
  5532  
  5533  // A boxed array of `NetIpConfigInfoIpAddress`. To be used in `Any` placeholders.
  5534  type ArrayOfNetIpConfigInfoIpAddress struct {
  5535  	NetIpConfigInfoIpAddress []NetIpConfigInfoIpAddress `xml:"NetIpConfigInfoIpAddress,omitempty" json:"_value"`
  5536  }
  5537  
  5538  func init() {
  5539  	t["ArrayOfNetIpConfigInfoIpAddress"] = reflect.TypeOf((*ArrayOfNetIpConfigInfoIpAddress)(nil)).Elem()
  5540  }
  5541  
  5542  // A boxed array of `NetIpConfigSpecIpAddressSpec`. To be used in `Any` placeholders.
  5543  type ArrayOfNetIpConfigSpecIpAddressSpec struct {
  5544  	NetIpConfigSpecIpAddressSpec []NetIpConfigSpecIpAddressSpec `xml:"NetIpConfigSpecIpAddressSpec,omitempty" json:"_value"`
  5545  }
  5546  
  5547  func init() {
  5548  	t["ArrayOfNetIpConfigSpecIpAddressSpec"] = reflect.TypeOf((*ArrayOfNetIpConfigSpecIpAddressSpec)(nil)).Elem()
  5549  }
  5550  
  5551  // A boxed array of `NetIpRouteConfigInfoIpRoute`. To be used in `Any` placeholders.
  5552  type ArrayOfNetIpRouteConfigInfoIpRoute struct {
  5553  	NetIpRouteConfigInfoIpRoute []NetIpRouteConfigInfoIpRoute `xml:"NetIpRouteConfigInfoIpRoute,omitempty" json:"_value"`
  5554  }
  5555  
  5556  func init() {
  5557  	t["ArrayOfNetIpRouteConfigInfoIpRoute"] = reflect.TypeOf((*ArrayOfNetIpRouteConfigInfoIpRoute)(nil)).Elem()
  5558  }
  5559  
  5560  // A boxed array of `NetIpRouteConfigSpecIpRouteSpec`. To be used in `Any` placeholders.
  5561  type ArrayOfNetIpRouteConfigSpecIpRouteSpec struct {
  5562  	NetIpRouteConfigSpecIpRouteSpec []NetIpRouteConfigSpecIpRouteSpec `xml:"NetIpRouteConfigSpecIpRouteSpec,omitempty" json:"_value"`
  5563  }
  5564  
  5565  func init() {
  5566  	t["ArrayOfNetIpRouteConfigSpecIpRouteSpec"] = reflect.TypeOf((*ArrayOfNetIpRouteConfigSpecIpRouteSpec)(nil)).Elem()
  5567  }
  5568  
  5569  // A boxed array of `NetIpStackInfoDefaultRouter`. To be used in `Any` placeholders.
  5570  type ArrayOfNetIpStackInfoDefaultRouter struct {
  5571  	NetIpStackInfoDefaultRouter []NetIpStackInfoDefaultRouter `xml:"NetIpStackInfoDefaultRouter,omitempty" json:"_value"`
  5572  }
  5573  
  5574  func init() {
  5575  	t["ArrayOfNetIpStackInfoDefaultRouter"] = reflect.TypeOf((*ArrayOfNetIpStackInfoDefaultRouter)(nil)).Elem()
  5576  }
  5577  
  5578  // A boxed array of `NetIpStackInfoNetToMedia`. To be used in `Any` placeholders.
  5579  type ArrayOfNetIpStackInfoNetToMedia struct {
  5580  	NetIpStackInfoNetToMedia []NetIpStackInfoNetToMedia `xml:"NetIpStackInfoNetToMedia,omitempty" json:"_value"`
  5581  }
  5582  
  5583  func init() {
  5584  	t["ArrayOfNetIpStackInfoNetToMedia"] = reflect.TypeOf((*ArrayOfNetIpStackInfoNetToMedia)(nil)).Elem()
  5585  }
  5586  
  5587  // A boxed array of `NetStackInstanceProfile`. To be used in `Any` placeholders.
  5588  type ArrayOfNetStackInstanceProfile struct {
  5589  	NetStackInstanceProfile []NetStackInstanceProfile `xml:"NetStackInstanceProfile,omitempty" json:"_value"`
  5590  }
  5591  
  5592  func init() {
  5593  	t["ArrayOfNetStackInstanceProfile"] = reflect.TypeOf((*ArrayOfNetStackInstanceProfile)(nil)).Elem()
  5594  }
  5595  
  5596  // A boxed array of `NoPermissionEntityPrivileges`. To be used in `Any` placeholders.
  5597  type ArrayOfNoPermissionEntityPrivileges struct {
  5598  	NoPermissionEntityPrivileges []NoPermissionEntityPrivileges `xml:"NoPermissionEntityPrivileges,omitempty" json:"_value"`
  5599  }
  5600  
  5601  func init() {
  5602  	t["ArrayOfNoPermissionEntityPrivileges"] = reflect.TypeOf((*ArrayOfNoPermissionEntityPrivileges)(nil)).Elem()
  5603  }
  5604  
  5605  // A boxed array of `NsxHostVNicProfile`. To be used in `Any` placeholders.
  5606  type ArrayOfNsxHostVNicProfile struct {
  5607  	NsxHostVNicProfile []NsxHostVNicProfile `xml:"NsxHostVNicProfile,omitempty" json:"_value"`
  5608  }
  5609  
  5610  func init() {
  5611  	t["ArrayOfNsxHostVNicProfile"] = reflect.TypeOf((*ArrayOfNsxHostVNicProfile)(nil)).Elem()
  5612  }
  5613  
  5614  // A boxed array of `NumericRange`. To be used in `Any` placeholders.
  5615  type ArrayOfNumericRange struct {
  5616  	NumericRange []NumericRange `xml:"NumericRange,omitempty" json:"_value"`
  5617  }
  5618  
  5619  func init() {
  5620  	t["ArrayOfNumericRange"] = reflect.TypeOf((*ArrayOfNumericRange)(nil)).Elem()
  5621  }
  5622  
  5623  // A boxed array of `NvdimmDimmInfo`. To be used in `Any` placeholders.
  5624  type ArrayOfNvdimmDimmInfo struct {
  5625  	NvdimmDimmInfo []NvdimmDimmInfo `xml:"NvdimmDimmInfo,omitempty" json:"_value"`
  5626  }
  5627  
  5628  func init() {
  5629  	t["ArrayOfNvdimmDimmInfo"] = reflect.TypeOf((*ArrayOfNvdimmDimmInfo)(nil)).Elem()
  5630  }
  5631  
  5632  // A boxed array of `NvdimmGuid`. To be used in `Any` placeholders.
  5633  type ArrayOfNvdimmGuid struct {
  5634  	NvdimmGuid []NvdimmGuid `xml:"NvdimmGuid,omitempty" json:"_value"`
  5635  }
  5636  
  5637  func init() {
  5638  	t["ArrayOfNvdimmGuid"] = reflect.TypeOf((*ArrayOfNvdimmGuid)(nil)).Elem()
  5639  }
  5640  
  5641  // A boxed array of `NvdimmInterleaveSetInfo`. To be used in `Any` placeholders.
  5642  type ArrayOfNvdimmInterleaveSetInfo struct {
  5643  	NvdimmInterleaveSetInfo []NvdimmInterleaveSetInfo `xml:"NvdimmInterleaveSetInfo,omitempty" json:"_value"`
  5644  }
  5645  
  5646  func init() {
  5647  	t["ArrayOfNvdimmInterleaveSetInfo"] = reflect.TypeOf((*ArrayOfNvdimmInterleaveSetInfo)(nil)).Elem()
  5648  }
  5649  
  5650  // A boxed array of `NvdimmNamespaceDetails`. To be used in `Any` placeholders.
  5651  type ArrayOfNvdimmNamespaceDetails struct {
  5652  	NvdimmNamespaceDetails []NvdimmNamespaceDetails `xml:"NvdimmNamespaceDetails,omitempty" json:"_value"`
  5653  }
  5654  
  5655  func init() {
  5656  	t["ArrayOfNvdimmNamespaceDetails"] = reflect.TypeOf((*ArrayOfNvdimmNamespaceDetails)(nil)).Elem()
  5657  }
  5658  
  5659  // A boxed array of `NvdimmNamespaceInfo`. To be used in `Any` placeholders.
  5660  type ArrayOfNvdimmNamespaceInfo struct {
  5661  	NvdimmNamespaceInfo []NvdimmNamespaceInfo `xml:"NvdimmNamespaceInfo,omitempty" json:"_value"`
  5662  }
  5663  
  5664  func init() {
  5665  	t["ArrayOfNvdimmNamespaceInfo"] = reflect.TypeOf((*ArrayOfNvdimmNamespaceInfo)(nil)).Elem()
  5666  }
  5667  
  5668  // A boxed array of `NvdimmRegionInfo`. To be used in `Any` placeholders.
  5669  type ArrayOfNvdimmRegionInfo struct {
  5670  	NvdimmRegionInfo []NvdimmRegionInfo `xml:"NvdimmRegionInfo,omitempty" json:"_value"`
  5671  }
  5672  
  5673  func init() {
  5674  	t["ArrayOfNvdimmRegionInfo"] = reflect.TypeOf((*ArrayOfNvdimmRegionInfo)(nil)).Elem()
  5675  }
  5676  
  5677  // A boxed array of `ObjectContent`. To be used in `Any` placeholders.
  5678  type ArrayOfObjectContent struct {
  5679  	ObjectContent []ObjectContent `xml:"ObjectContent,omitempty" json:"_value"`
  5680  }
  5681  
  5682  func init() {
  5683  	t["ArrayOfObjectContent"] = reflect.TypeOf((*ArrayOfObjectContent)(nil)).Elem()
  5684  }
  5685  
  5686  // A boxed array of `ObjectSpec`. To be used in `Any` placeholders.
  5687  type ArrayOfObjectSpec struct {
  5688  	ObjectSpec []ObjectSpec `xml:"ObjectSpec,omitempty" json:"_value"`
  5689  }
  5690  
  5691  func init() {
  5692  	t["ArrayOfObjectSpec"] = reflect.TypeOf((*ArrayOfObjectSpec)(nil)).Elem()
  5693  }
  5694  
  5695  // A boxed array of `ObjectUpdate`. To be used in `Any` placeholders.
  5696  type ArrayOfObjectUpdate struct {
  5697  	ObjectUpdate []ObjectUpdate `xml:"ObjectUpdate,omitempty" json:"_value"`
  5698  }
  5699  
  5700  func init() {
  5701  	t["ArrayOfObjectUpdate"] = reflect.TypeOf((*ArrayOfObjectUpdate)(nil)).Elem()
  5702  }
  5703  
  5704  // A boxed array of `OpaqueNetworkTargetInfo`. To be used in `Any` placeholders.
  5705  type ArrayOfOpaqueNetworkTargetInfo struct {
  5706  	OpaqueNetworkTargetInfo []OpaqueNetworkTargetInfo `xml:"OpaqueNetworkTargetInfo,omitempty" json:"_value"`
  5707  }
  5708  
  5709  func init() {
  5710  	t["ArrayOfOpaqueNetworkTargetInfo"] = reflect.TypeOf((*ArrayOfOpaqueNetworkTargetInfo)(nil)).Elem()
  5711  }
  5712  
  5713  // A boxed array of `OptionDef`. To be used in `Any` placeholders.
  5714  type ArrayOfOptionDef struct {
  5715  	OptionDef []OptionDef `xml:"OptionDef,omitempty" json:"_value"`
  5716  }
  5717  
  5718  func init() {
  5719  	t["ArrayOfOptionDef"] = reflect.TypeOf((*ArrayOfOptionDef)(nil)).Elem()
  5720  }
  5721  
  5722  // A boxed array of `OptionProfile`. To be used in `Any` placeholders.
  5723  type ArrayOfOptionProfile struct {
  5724  	OptionProfile []OptionProfile `xml:"OptionProfile,omitempty" json:"_value"`
  5725  }
  5726  
  5727  func init() {
  5728  	t["ArrayOfOptionProfile"] = reflect.TypeOf((*ArrayOfOptionProfile)(nil)).Elem()
  5729  }
  5730  
  5731  // A boxed array of `OptionValue`. To be used in `Any` placeholders.
  5732  type ArrayOfOptionValue struct {
  5733  	OptionValue []BaseOptionValue `xml:"OptionValue,omitempty,typeattr" json:"_value"`
  5734  }
  5735  
  5736  func init() {
  5737  	t["ArrayOfOptionValue"] = reflect.TypeOf((*ArrayOfOptionValue)(nil)).Elem()
  5738  }
  5739  
  5740  // A boxed array of `OvfConsumerOstNode`. To be used in `Any` placeholders.
  5741  type ArrayOfOvfConsumerOstNode struct {
  5742  	OvfConsumerOstNode []OvfConsumerOstNode `xml:"OvfConsumerOstNode,omitempty" json:"_value"`
  5743  }
  5744  
  5745  func init() {
  5746  	t["ArrayOfOvfConsumerOstNode"] = reflect.TypeOf((*ArrayOfOvfConsumerOstNode)(nil)).Elem()
  5747  }
  5748  
  5749  // A boxed array of `OvfConsumerOvfSection`. To be used in `Any` placeholders.
  5750  type ArrayOfOvfConsumerOvfSection struct {
  5751  	OvfConsumerOvfSection []OvfConsumerOvfSection `xml:"OvfConsumerOvfSection,omitempty" json:"_value"`
  5752  }
  5753  
  5754  func init() {
  5755  	t["ArrayOfOvfConsumerOvfSection"] = reflect.TypeOf((*ArrayOfOvfConsumerOvfSection)(nil)).Elem()
  5756  }
  5757  
  5758  // A boxed array of `OvfDeploymentOption`. To be used in `Any` placeholders.
  5759  type ArrayOfOvfDeploymentOption struct {
  5760  	OvfDeploymentOption []OvfDeploymentOption `xml:"OvfDeploymentOption,omitempty" json:"_value"`
  5761  }
  5762  
  5763  func init() {
  5764  	t["ArrayOfOvfDeploymentOption"] = reflect.TypeOf((*ArrayOfOvfDeploymentOption)(nil)).Elem()
  5765  }
  5766  
  5767  // A boxed array of `OvfFile`. To be used in `Any` placeholders.
  5768  type ArrayOfOvfFile struct {
  5769  	OvfFile []OvfFile `xml:"OvfFile,omitempty" json:"_value"`
  5770  }
  5771  
  5772  func init() {
  5773  	t["ArrayOfOvfFile"] = reflect.TypeOf((*ArrayOfOvfFile)(nil)).Elem()
  5774  }
  5775  
  5776  // A boxed array of `OvfFileItem`. To be used in `Any` placeholders.
  5777  type ArrayOfOvfFileItem struct {
  5778  	OvfFileItem []OvfFileItem `xml:"OvfFileItem,omitempty" json:"_value"`
  5779  }
  5780  
  5781  func init() {
  5782  	t["ArrayOfOvfFileItem"] = reflect.TypeOf((*ArrayOfOvfFileItem)(nil)).Elem()
  5783  }
  5784  
  5785  // A boxed array of `OvfNetworkInfo`. To be used in `Any` placeholders.
  5786  type ArrayOfOvfNetworkInfo struct {
  5787  	OvfNetworkInfo []OvfNetworkInfo `xml:"OvfNetworkInfo,omitempty" json:"_value"`
  5788  }
  5789  
  5790  func init() {
  5791  	t["ArrayOfOvfNetworkInfo"] = reflect.TypeOf((*ArrayOfOvfNetworkInfo)(nil)).Elem()
  5792  }
  5793  
  5794  // A boxed array of `OvfNetworkMapping`. To be used in `Any` placeholders.
  5795  type ArrayOfOvfNetworkMapping struct {
  5796  	OvfNetworkMapping []OvfNetworkMapping `xml:"OvfNetworkMapping,omitempty" json:"_value"`
  5797  }
  5798  
  5799  func init() {
  5800  	t["ArrayOfOvfNetworkMapping"] = reflect.TypeOf((*ArrayOfOvfNetworkMapping)(nil)).Elem()
  5801  }
  5802  
  5803  // A boxed array of `OvfOptionInfo`. To be used in `Any` placeholders.
  5804  type ArrayOfOvfOptionInfo struct {
  5805  	OvfOptionInfo []OvfOptionInfo `xml:"OvfOptionInfo,omitempty" json:"_value"`
  5806  }
  5807  
  5808  func init() {
  5809  	t["ArrayOfOvfOptionInfo"] = reflect.TypeOf((*ArrayOfOvfOptionInfo)(nil)).Elem()
  5810  }
  5811  
  5812  // A boxed array of `OvfResourceMap`. To be used in `Any` placeholders.
  5813  type ArrayOfOvfResourceMap struct {
  5814  	OvfResourceMap []OvfResourceMap `xml:"OvfResourceMap,omitempty" json:"_value"`
  5815  }
  5816  
  5817  func init() {
  5818  	t["ArrayOfOvfResourceMap"] = reflect.TypeOf((*ArrayOfOvfResourceMap)(nil)).Elem()
  5819  }
  5820  
  5821  // A boxed array of `PerfCounterInfo`. To be used in `Any` placeholders.
  5822  type ArrayOfPerfCounterInfo struct {
  5823  	PerfCounterInfo []PerfCounterInfo `xml:"PerfCounterInfo,omitempty" json:"_value"`
  5824  }
  5825  
  5826  func init() {
  5827  	t["ArrayOfPerfCounterInfo"] = reflect.TypeOf((*ArrayOfPerfCounterInfo)(nil)).Elem()
  5828  }
  5829  
  5830  // A boxed array of `PerfEntityMetricBase`. To be used in `Any` placeholders.
  5831  type ArrayOfPerfEntityMetricBase struct {
  5832  	PerfEntityMetricBase []BasePerfEntityMetricBase `xml:"PerfEntityMetricBase,omitempty,typeattr" json:"_value"`
  5833  }
  5834  
  5835  func init() {
  5836  	t["ArrayOfPerfEntityMetricBase"] = reflect.TypeOf((*ArrayOfPerfEntityMetricBase)(nil)).Elem()
  5837  }
  5838  
  5839  // A boxed array of `PerfInterval`. To be used in `Any` placeholders.
  5840  type ArrayOfPerfInterval struct {
  5841  	PerfInterval []PerfInterval `xml:"PerfInterval,omitempty" json:"_value"`
  5842  }
  5843  
  5844  func init() {
  5845  	t["ArrayOfPerfInterval"] = reflect.TypeOf((*ArrayOfPerfInterval)(nil)).Elem()
  5846  }
  5847  
  5848  // A boxed array of `PerfMetricId`. To be used in `Any` placeholders.
  5849  type ArrayOfPerfMetricId struct {
  5850  	PerfMetricId []PerfMetricId `xml:"PerfMetricId,omitempty" json:"_value"`
  5851  }
  5852  
  5853  func init() {
  5854  	t["ArrayOfPerfMetricId"] = reflect.TypeOf((*ArrayOfPerfMetricId)(nil)).Elem()
  5855  }
  5856  
  5857  // A boxed array of `PerfMetricSeries`. To be used in `Any` placeholders.
  5858  type ArrayOfPerfMetricSeries struct {
  5859  	PerfMetricSeries []BasePerfMetricSeries `xml:"PerfMetricSeries,omitempty,typeattr" json:"_value"`
  5860  }
  5861  
  5862  func init() {
  5863  	t["ArrayOfPerfMetricSeries"] = reflect.TypeOf((*ArrayOfPerfMetricSeries)(nil)).Elem()
  5864  }
  5865  
  5866  // A boxed array of `PerfMetricSeriesCSV`. To be used in `Any` placeholders.
  5867  type ArrayOfPerfMetricSeriesCSV struct {
  5868  	PerfMetricSeriesCSV []PerfMetricSeriesCSV `xml:"PerfMetricSeriesCSV,omitempty" json:"_value"`
  5869  }
  5870  
  5871  func init() {
  5872  	t["ArrayOfPerfMetricSeriesCSV"] = reflect.TypeOf((*ArrayOfPerfMetricSeriesCSV)(nil)).Elem()
  5873  }
  5874  
  5875  // A boxed array of `PerfQuerySpec`. To be used in `Any` placeholders.
  5876  type ArrayOfPerfQuerySpec struct {
  5877  	PerfQuerySpec []PerfQuerySpec `xml:"PerfQuerySpec,omitempty" json:"_value"`
  5878  }
  5879  
  5880  func init() {
  5881  	t["ArrayOfPerfQuerySpec"] = reflect.TypeOf((*ArrayOfPerfQuerySpec)(nil)).Elem()
  5882  }
  5883  
  5884  // A boxed array of `PerfSampleInfo`. To be used in `Any` placeholders.
  5885  type ArrayOfPerfSampleInfo struct {
  5886  	PerfSampleInfo []PerfSampleInfo `xml:"PerfSampleInfo,omitempty" json:"_value"`
  5887  }
  5888  
  5889  func init() {
  5890  	t["ArrayOfPerfSampleInfo"] = reflect.TypeOf((*ArrayOfPerfSampleInfo)(nil)).Elem()
  5891  }
  5892  
  5893  // A boxed array of `PerformanceManagerCounterLevelMapping`. To be used in `Any` placeholders.
  5894  type ArrayOfPerformanceManagerCounterLevelMapping struct {
  5895  	PerformanceManagerCounterLevelMapping []PerformanceManagerCounterLevelMapping `xml:"PerformanceManagerCounterLevelMapping,omitempty" json:"_value"`
  5896  }
  5897  
  5898  func init() {
  5899  	t["ArrayOfPerformanceManagerCounterLevelMapping"] = reflect.TypeOf((*ArrayOfPerformanceManagerCounterLevelMapping)(nil)).Elem()
  5900  }
  5901  
  5902  // A boxed array of `Permission`. To be used in `Any` placeholders.
  5903  type ArrayOfPermission struct {
  5904  	Permission []Permission `xml:"Permission,omitempty" json:"_value"`
  5905  }
  5906  
  5907  func init() {
  5908  	t["ArrayOfPermission"] = reflect.TypeOf((*ArrayOfPermission)(nil)).Elem()
  5909  }
  5910  
  5911  // A boxed array of `PermissionProfile`. To be used in `Any` placeholders.
  5912  type ArrayOfPermissionProfile struct {
  5913  	PermissionProfile []PermissionProfile `xml:"PermissionProfile,omitempty" json:"_value"`
  5914  }
  5915  
  5916  func init() {
  5917  	t["ArrayOfPermissionProfile"] = reflect.TypeOf((*ArrayOfPermissionProfile)(nil)).Elem()
  5918  }
  5919  
  5920  // A boxed array of `PhysicalNic`. To be used in `Any` placeholders.
  5921  type ArrayOfPhysicalNic struct {
  5922  	PhysicalNic []PhysicalNic `xml:"PhysicalNic,omitempty" json:"_value"`
  5923  }
  5924  
  5925  func init() {
  5926  	t["ArrayOfPhysicalNic"] = reflect.TypeOf((*ArrayOfPhysicalNic)(nil)).Elem()
  5927  }
  5928  
  5929  // A boxed array of `PhysicalNicConfig`. To be used in `Any` placeholders.
  5930  type ArrayOfPhysicalNicConfig struct {
  5931  	PhysicalNicConfig []PhysicalNicConfig `xml:"PhysicalNicConfig,omitempty" json:"_value"`
  5932  }
  5933  
  5934  func init() {
  5935  	t["ArrayOfPhysicalNicConfig"] = reflect.TypeOf((*ArrayOfPhysicalNicConfig)(nil)).Elem()
  5936  }
  5937  
  5938  // A boxed array of `PhysicalNicHintInfo`. To be used in `Any` placeholders.
  5939  type ArrayOfPhysicalNicHintInfo struct {
  5940  	PhysicalNicHintInfo []PhysicalNicHintInfo `xml:"PhysicalNicHintInfo,omitempty" json:"_value"`
  5941  }
  5942  
  5943  func init() {
  5944  	t["ArrayOfPhysicalNicHintInfo"] = reflect.TypeOf((*ArrayOfPhysicalNicHintInfo)(nil)).Elem()
  5945  }
  5946  
  5947  // A boxed array of `PhysicalNicIpHint`. To be used in `Any` placeholders.
  5948  type ArrayOfPhysicalNicIpHint struct {
  5949  	PhysicalNicIpHint []PhysicalNicIpHint `xml:"PhysicalNicIpHint,omitempty" json:"_value"`
  5950  }
  5951  
  5952  func init() {
  5953  	t["ArrayOfPhysicalNicIpHint"] = reflect.TypeOf((*ArrayOfPhysicalNicIpHint)(nil)).Elem()
  5954  }
  5955  
  5956  // A boxed array of `PhysicalNicLinkInfo`. To be used in `Any` placeholders.
  5957  type ArrayOfPhysicalNicLinkInfo struct {
  5958  	PhysicalNicLinkInfo []PhysicalNicLinkInfo `xml:"PhysicalNicLinkInfo,omitempty" json:"_value"`
  5959  }
  5960  
  5961  func init() {
  5962  	t["ArrayOfPhysicalNicLinkInfo"] = reflect.TypeOf((*ArrayOfPhysicalNicLinkInfo)(nil)).Elem()
  5963  }
  5964  
  5965  // A boxed array of `PhysicalNicNameHint`. To be used in `Any` placeholders.
  5966  type ArrayOfPhysicalNicNameHint struct {
  5967  	PhysicalNicNameHint []PhysicalNicNameHint `xml:"PhysicalNicNameHint,omitempty" json:"_value"`
  5968  }
  5969  
  5970  func init() {
  5971  	t["ArrayOfPhysicalNicNameHint"] = reflect.TypeOf((*ArrayOfPhysicalNicNameHint)(nil)).Elem()
  5972  }
  5973  
  5974  // A boxed array of `PhysicalNicProfile`. To be used in `Any` placeholders.
  5975  type ArrayOfPhysicalNicProfile struct {
  5976  	PhysicalNicProfile []PhysicalNicProfile `xml:"PhysicalNicProfile,omitempty" json:"_value"`
  5977  }
  5978  
  5979  func init() {
  5980  	t["ArrayOfPhysicalNicProfile"] = reflect.TypeOf((*ArrayOfPhysicalNicProfile)(nil)).Elem()
  5981  }
  5982  
  5983  // A boxed array of `PlacementAffinityRule`. To be used in `Any` placeholders.
  5984  type ArrayOfPlacementAffinityRule struct {
  5985  	PlacementAffinityRule []PlacementAffinityRule `xml:"PlacementAffinityRule,omitempty" json:"_value"`
  5986  }
  5987  
  5988  func init() {
  5989  	t["ArrayOfPlacementAffinityRule"] = reflect.TypeOf((*ArrayOfPlacementAffinityRule)(nil)).Elem()
  5990  }
  5991  
  5992  // A boxed array of `PlacementSpec`. To be used in `Any` placeholders.
  5993  type ArrayOfPlacementSpec struct {
  5994  	PlacementSpec []PlacementSpec `xml:"PlacementSpec,omitempty" json:"_value"`
  5995  }
  5996  
  5997  func init() {
  5998  	t["ArrayOfPlacementSpec"] = reflect.TypeOf((*ArrayOfPlacementSpec)(nil)).Elem()
  5999  }
  6000  
  6001  // A boxed array of `PnicUplinkProfile`. To be used in `Any` placeholders.
  6002  type ArrayOfPnicUplinkProfile struct {
  6003  	PnicUplinkProfile []PnicUplinkProfile `xml:"PnicUplinkProfile,omitempty" json:"_value"`
  6004  }
  6005  
  6006  func init() {
  6007  	t["ArrayOfPnicUplinkProfile"] = reflect.TypeOf((*ArrayOfPnicUplinkProfile)(nil)).Elem()
  6008  }
  6009  
  6010  // A boxed array of `PodDiskLocator`. To be used in `Any` placeholders.
  6011  type ArrayOfPodDiskLocator struct {
  6012  	PodDiskLocator []PodDiskLocator `xml:"PodDiskLocator,omitempty" json:"_value"`
  6013  }
  6014  
  6015  func init() {
  6016  	t["ArrayOfPodDiskLocator"] = reflect.TypeOf((*ArrayOfPodDiskLocator)(nil)).Elem()
  6017  }
  6018  
  6019  // A boxed array of `PolicyOption`. To be used in `Any` placeholders.
  6020  type ArrayOfPolicyOption struct {
  6021  	PolicyOption []BasePolicyOption `xml:"PolicyOption,omitempty,typeattr" json:"_value"`
  6022  }
  6023  
  6024  func init() {
  6025  	t["ArrayOfPolicyOption"] = reflect.TypeOf((*ArrayOfPolicyOption)(nil)).Elem()
  6026  }
  6027  
  6028  // A boxed array of `PrivilegeAvailability`. To be used in `Any` placeholders.
  6029  type ArrayOfPrivilegeAvailability struct {
  6030  	PrivilegeAvailability []PrivilegeAvailability `xml:"PrivilegeAvailability,omitempty" json:"_value"`
  6031  }
  6032  
  6033  func init() {
  6034  	t["ArrayOfPrivilegeAvailability"] = reflect.TypeOf((*ArrayOfPrivilegeAvailability)(nil)).Elem()
  6035  }
  6036  
  6037  // A boxed array of `ProductComponentInfo`. To be used in `Any` placeholders.
  6038  type ArrayOfProductComponentInfo struct {
  6039  	ProductComponentInfo []ProductComponentInfo `xml:"ProductComponentInfo,omitempty" json:"_value"`
  6040  }
  6041  
  6042  func init() {
  6043  	t["ArrayOfProductComponentInfo"] = reflect.TypeOf((*ArrayOfProductComponentInfo)(nil)).Elem()
  6044  }
  6045  
  6046  // A boxed array of `ProfileApplyProfileProperty`. To be used in `Any` placeholders.
  6047  type ArrayOfProfileApplyProfileProperty struct {
  6048  	ProfileApplyProfileProperty []ProfileApplyProfileProperty `xml:"ProfileApplyProfileProperty,omitempty" json:"_value"`
  6049  }
  6050  
  6051  func init() {
  6052  	t["ArrayOfProfileApplyProfileProperty"] = reflect.TypeOf((*ArrayOfProfileApplyProfileProperty)(nil)).Elem()
  6053  }
  6054  
  6055  // A boxed array of `ProfileDeferredPolicyOptionParameter`. To be used in `Any` placeholders.
  6056  type ArrayOfProfileDeferredPolicyOptionParameter struct {
  6057  	ProfileDeferredPolicyOptionParameter []ProfileDeferredPolicyOptionParameter `xml:"ProfileDeferredPolicyOptionParameter,omitempty" json:"_value"`
  6058  }
  6059  
  6060  func init() {
  6061  	t["ArrayOfProfileDeferredPolicyOptionParameter"] = reflect.TypeOf((*ArrayOfProfileDeferredPolicyOptionParameter)(nil)).Elem()
  6062  }
  6063  
  6064  // A boxed array of `ProfileDescriptionSection`. To be used in `Any` placeholders.
  6065  type ArrayOfProfileDescriptionSection struct {
  6066  	ProfileDescriptionSection []ProfileDescriptionSection `xml:"ProfileDescriptionSection,omitempty" json:"_value"`
  6067  }
  6068  
  6069  func init() {
  6070  	t["ArrayOfProfileDescriptionSection"] = reflect.TypeOf((*ArrayOfProfileDescriptionSection)(nil)).Elem()
  6071  }
  6072  
  6073  // A boxed array of `ProfileExecuteError`. To be used in `Any` placeholders.
  6074  type ArrayOfProfileExecuteError struct {
  6075  	ProfileExecuteError []ProfileExecuteError `xml:"ProfileExecuteError,omitempty" json:"_value"`
  6076  }
  6077  
  6078  func init() {
  6079  	t["ArrayOfProfileExecuteError"] = reflect.TypeOf((*ArrayOfProfileExecuteError)(nil)).Elem()
  6080  }
  6081  
  6082  // A boxed array of `ProfileExpression`. To be used in `Any` placeholders.
  6083  type ArrayOfProfileExpression struct {
  6084  	ProfileExpression []BaseProfileExpression `xml:"ProfileExpression,omitempty,typeattr" json:"_value"`
  6085  }
  6086  
  6087  func init() {
  6088  	t["ArrayOfProfileExpression"] = reflect.TypeOf((*ArrayOfProfileExpression)(nil)).Elem()
  6089  }
  6090  
  6091  // A boxed array of `ProfileExpressionMetadata`. To be used in `Any` placeholders.
  6092  type ArrayOfProfileExpressionMetadata struct {
  6093  	ProfileExpressionMetadata []ProfileExpressionMetadata `xml:"ProfileExpressionMetadata,omitempty" json:"_value"`
  6094  }
  6095  
  6096  func init() {
  6097  	t["ArrayOfProfileExpressionMetadata"] = reflect.TypeOf((*ArrayOfProfileExpressionMetadata)(nil)).Elem()
  6098  }
  6099  
  6100  // A boxed array of `ProfileMetadata`. To be used in `Any` placeholders.
  6101  type ArrayOfProfileMetadata struct {
  6102  	ProfileMetadata []ProfileMetadata `xml:"ProfileMetadata,omitempty" json:"_value"`
  6103  }
  6104  
  6105  func init() {
  6106  	t["ArrayOfProfileMetadata"] = reflect.TypeOf((*ArrayOfProfileMetadata)(nil)).Elem()
  6107  }
  6108  
  6109  // A boxed array of `ProfileMetadataProfileOperationMessage`. To be used in `Any` placeholders.
  6110  type ArrayOfProfileMetadataProfileOperationMessage struct {
  6111  	ProfileMetadataProfileOperationMessage []ProfileMetadataProfileOperationMessage `xml:"ProfileMetadataProfileOperationMessage,omitempty" json:"_value"`
  6112  }
  6113  
  6114  func init() {
  6115  	t["ArrayOfProfileMetadataProfileOperationMessage"] = reflect.TypeOf((*ArrayOfProfileMetadataProfileOperationMessage)(nil)).Elem()
  6116  }
  6117  
  6118  // A boxed array of `ProfileMetadataProfileSortSpec`. To be used in `Any` placeholders.
  6119  type ArrayOfProfileMetadataProfileSortSpec struct {
  6120  	ProfileMetadataProfileSortSpec []ProfileMetadataProfileSortSpec `xml:"ProfileMetadataProfileSortSpec,omitempty" json:"_value"`
  6121  }
  6122  
  6123  func init() {
  6124  	t["ArrayOfProfileMetadataProfileSortSpec"] = reflect.TypeOf((*ArrayOfProfileMetadataProfileSortSpec)(nil)).Elem()
  6125  }
  6126  
  6127  // A boxed array of `ProfileParameterMetadata`. To be used in `Any` placeholders.
  6128  type ArrayOfProfileParameterMetadata struct {
  6129  	ProfileParameterMetadata []ProfileParameterMetadata `xml:"ProfileParameterMetadata,omitempty" json:"_value"`
  6130  }
  6131  
  6132  func init() {
  6133  	t["ArrayOfProfileParameterMetadata"] = reflect.TypeOf((*ArrayOfProfileParameterMetadata)(nil)).Elem()
  6134  }
  6135  
  6136  // A boxed array of `ProfileParameterMetadataParameterRelationMetadata`. To be used in `Any` placeholders.
  6137  type ArrayOfProfileParameterMetadataParameterRelationMetadata struct {
  6138  	ProfileParameterMetadataParameterRelationMetadata []ProfileParameterMetadataParameterRelationMetadata `xml:"ProfileParameterMetadataParameterRelationMetadata,omitempty" json:"_value"`
  6139  }
  6140  
  6141  func init() {
  6142  	t["ArrayOfProfileParameterMetadataParameterRelationMetadata"] = reflect.TypeOf((*ArrayOfProfileParameterMetadataParameterRelationMetadata)(nil)).Elem()
  6143  }
  6144  
  6145  // A boxed array of `ProfilePolicy`. To be used in `Any` placeholders.
  6146  type ArrayOfProfilePolicy struct {
  6147  	ProfilePolicy []ProfilePolicy `xml:"ProfilePolicy,omitempty" json:"_value"`
  6148  }
  6149  
  6150  func init() {
  6151  	t["ArrayOfProfilePolicy"] = reflect.TypeOf((*ArrayOfProfilePolicy)(nil)).Elem()
  6152  }
  6153  
  6154  // A boxed array of `ProfilePolicyMetadata`. To be used in `Any` placeholders.
  6155  type ArrayOfProfilePolicyMetadata struct {
  6156  	ProfilePolicyMetadata []ProfilePolicyMetadata `xml:"ProfilePolicyMetadata,omitempty" json:"_value"`
  6157  }
  6158  
  6159  func init() {
  6160  	t["ArrayOfProfilePolicyMetadata"] = reflect.TypeOf((*ArrayOfProfilePolicyMetadata)(nil)).Elem()
  6161  }
  6162  
  6163  // A boxed array of `ProfilePolicyOptionMetadata`. To be used in `Any` placeholders.
  6164  type ArrayOfProfilePolicyOptionMetadata struct {
  6165  	ProfilePolicyOptionMetadata []BaseProfilePolicyOptionMetadata `xml:"ProfilePolicyOptionMetadata,omitempty,typeattr" json:"_value"`
  6166  }
  6167  
  6168  func init() {
  6169  	t["ArrayOfProfilePolicyOptionMetadata"] = reflect.TypeOf((*ArrayOfProfilePolicyOptionMetadata)(nil)).Elem()
  6170  }
  6171  
  6172  // A boxed array of `ProfileProfileStructureProperty`. To be used in `Any` placeholders.
  6173  type ArrayOfProfileProfileStructureProperty struct {
  6174  	ProfileProfileStructureProperty []ProfileProfileStructureProperty `xml:"ProfileProfileStructureProperty,omitempty" json:"_value"`
  6175  }
  6176  
  6177  func init() {
  6178  	t["ArrayOfProfileProfileStructureProperty"] = reflect.TypeOf((*ArrayOfProfileProfileStructureProperty)(nil)).Elem()
  6179  }
  6180  
  6181  // A boxed array of `ProfilePropertyPath`. To be used in `Any` placeholders.
  6182  type ArrayOfProfilePropertyPath struct {
  6183  	ProfilePropertyPath []ProfilePropertyPath `xml:"ProfilePropertyPath,omitempty" json:"_value"`
  6184  }
  6185  
  6186  func init() {
  6187  	t["ArrayOfProfilePropertyPath"] = reflect.TypeOf((*ArrayOfProfilePropertyPath)(nil)).Elem()
  6188  }
  6189  
  6190  // A boxed array of `ProfileUpdateFailedUpdateFailure`. To be used in `Any` placeholders.
  6191  type ArrayOfProfileUpdateFailedUpdateFailure struct {
  6192  	ProfileUpdateFailedUpdateFailure []ProfileUpdateFailedUpdateFailure `xml:"ProfileUpdateFailedUpdateFailure,omitempty" json:"_value"`
  6193  }
  6194  
  6195  func init() {
  6196  	t["ArrayOfProfileUpdateFailedUpdateFailure"] = reflect.TypeOf((*ArrayOfProfileUpdateFailedUpdateFailure)(nil)).Elem()
  6197  }
  6198  
  6199  // A boxed array of `PropertyChange`. To be used in `Any` placeholders.
  6200  type ArrayOfPropertyChange struct {
  6201  	PropertyChange []PropertyChange `xml:"PropertyChange,omitempty" json:"_value"`
  6202  }
  6203  
  6204  func init() {
  6205  	t["ArrayOfPropertyChange"] = reflect.TypeOf((*ArrayOfPropertyChange)(nil)).Elem()
  6206  }
  6207  
  6208  // A boxed array of `PropertyFilterSpec`. To be used in `Any` placeholders.
  6209  type ArrayOfPropertyFilterSpec struct {
  6210  	PropertyFilterSpec []PropertyFilterSpec `xml:"PropertyFilterSpec,omitempty" json:"_value"`
  6211  }
  6212  
  6213  func init() {
  6214  	t["ArrayOfPropertyFilterSpec"] = reflect.TypeOf((*ArrayOfPropertyFilterSpec)(nil)).Elem()
  6215  }
  6216  
  6217  // A boxed array of `PropertyFilterUpdate`. To be used in `Any` placeholders.
  6218  type ArrayOfPropertyFilterUpdate struct {
  6219  	PropertyFilterUpdate []PropertyFilterUpdate `xml:"PropertyFilterUpdate,omitempty" json:"_value"`
  6220  }
  6221  
  6222  func init() {
  6223  	t["ArrayOfPropertyFilterUpdate"] = reflect.TypeOf((*ArrayOfPropertyFilterUpdate)(nil)).Elem()
  6224  }
  6225  
  6226  // A boxed array of `PropertySpec`. To be used in `Any` placeholders.
  6227  type ArrayOfPropertySpec struct {
  6228  	PropertySpec []PropertySpec `xml:"PropertySpec,omitempty" json:"_value"`
  6229  }
  6230  
  6231  func init() {
  6232  	t["ArrayOfPropertySpec"] = reflect.TypeOf((*ArrayOfPropertySpec)(nil)).Elem()
  6233  }
  6234  
  6235  // A boxed array of `Relation`. To be used in `Any` placeholders.
  6236  type ArrayOfRelation struct {
  6237  	Relation []Relation `xml:"Relation,omitempty" json:"_value"`
  6238  }
  6239  
  6240  func init() {
  6241  	t["ArrayOfRelation"] = reflect.TypeOf((*ArrayOfRelation)(nil)).Elem()
  6242  }
  6243  
  6244  // A boxed array of `ReplicationInfoDiskSettings`. To be used in `Any` placeholders.
  6245  type ArrayOfReplicationInfoDiskSettings struct {
  6246  	ReplicationInfoDiskSettings []ReplicationInfoDiskSettings `xml:"ReplicationInfoDiskSettings,omitempty" json:"_value"`
  6247  }
  6248  
  6249  func init() {
  6250  	t["ArrayOfReplicationInfoDiskSettings"] = reflect.TypeOf((*ArrayOfReplicationInfoDiskSettings)(nil)).Elem()
  6251  }
  6252  
  6253  // A boxed array of `ResourceConfigSpec`. To be used in `Any` placeholders.
  6254  type ArrayOfResourceConfigSpec struct {
  6255  	ResourceConfigSpec []ResourceConfigSpec `xml:"ResourceConfigSpec,omitempty" json:"_value"`
  6256  }
  6257  
  6258  func init() {
  6259  	t["ArrayOfResourceConfigSpec"] = reflect.TypeOf((*ArrayOfResourceConfigSpec)(nil)).Elem()
  6260  }
  6261  
  6262  // A boxed array of `RetrieveVStorageObjSpec`. To be used in `Any` placeholders.
  6263  type ArrayOfRetrieveVStorageObjSpec struct {
  6264  	RetrieveVStorageObjSpec []RetrieveVStorageObjSpec `xml:"RetrieveVStorageObjSpec,omitempty" json:"_value"`
  6265  }
  6266  
  6267  func init() {
  6268  	t["ArrayOfRetrieveVStorageObjSpec"] = reflect.TypeOf((*ArrayOfRetrieveVStorageObjSpec)(nil)).Elem()
  6269  }
  6270  
  6271  // A boxed array of `ScheduledTaskDetail`. To be used in `Any` placeholders.
  6272  type ArrayOfScheduledTaskDetail struct {
  6273  	ScheduledTaskDetail []ScheduledTaskDetail `xml:"ScheduledTaskDetail,omitempty" json:"_value"`
  6274  }
  6275  
  6276  func init() {
  6277  	t["ArrayOfScheduledTaskDetail"] = reflect.TypeOf((*ArrayOfScheduledTaskDetail)(nil)).Elem()
  6278  }
  6279  
  6280  // A boxed array of `ScsiLun`. To be used in `Any` placeholders.
  6281  type ArrayOfScsiLun struct {
  6282  	ScsiLun []BaseScsiLun `xml:"ScsiLun,omitempty,typeattr" json:"_value"`
  6283  }
  6284  
  6285  func init() {
  6286  	t["ArrayOfScsiLun"] = reflect.TypeOf((*ArrayOfScsiLun)(nil)).Elem()
  6287  }
  6288  
  6289  // A boxed array of `ScsiLunDescriptor`. To be used in `Any` placeholders.
  6290  type ArrayOfScsiLunDescriptor struct {
  6291  	ScsiLunDescriptor []ScsiLunDescriptor `xml:"ScsiLunDescriptor,omitempty" json:"_value"`
  6292  }
  6293  
  6294  func init() {
  6295  	t["ArrayOfScsiLunDescriptor"] = reflect.TypeOf((*ArrayOfScsiLunDescriptor)(nil)).Elem()
  6296  }
  6297  
  6298  // A boxed array of `ScsiLunDurableName`. To be used in `Any` placeholders.
  6299  type ArrayOfScsiLunDurableName struct {
  6300  	ScsiLunDurableName []ScsiLunDurableName `xml:"ScsiLunDurableName,omitempty" json:"_value"`
  6301  }
  6302  
  6303  func init() {
  6304  	t["ArrayOfScsiLunDurableName"] = reflect.TypeOf((*ArrayOfScsiLunDurableName)(nil)).Elem()
  6305  }
  6306  
  6307  // A boxed array of `SelectionSet`. To be used in `Any` placeholders.
  6308  type ArrayOfSelectionSet struct {
  6309  	SelectionSet []BaseSelectionSet `xml:"SelectionSet,omitempty,typeattr" json:"_value"`
  6310  }
  6311  
  6312  func init() {
  6313  	t["ArrayOfSelectionSet"] = reflect.TypeOf((*ArrayOfSelectionSet)(nil)).Elem()
  6314  }
  6315  
  6316  // A boxed array of `SelectionSpec`. To be used in `Any` placeholders.
  6317  type ArrayOfSelectionSpec struct {
  6318  	SelectionSpec []BaseSelectionSpec `xml:"SelectionSpec,omitempty,typeattr" json:"_value"`
  6319  }
  6320  
  6321  func init() {
  6322  	t["ArrayOfSelectionSpec"] = reflect.TypeOf((*ArrayOfSelectionSpec)(nil)).Elem()
  6323  }
  6324  
  6325  // A boxed array of `ServiceConsolePortGroupProfile`. To be used in `Any` placeholders.
  6326  type ArrayOfServiceConsolePortGroupProfile struct {
  6327  	ServiceConsolePortGroupProfile []ServiceConsolePortGroupProfile `xml:"ServiceConsolePortGroupProfile,omitempty" json:"_value"`
  6328  }
  6329  
  6330  func init() {
  6331  	t["ArrayOfServiceConsolePortGroupProfile"] = reflect.TypeOf((*ArrayOfServiceConsolePortGroupProfile)(nil)).Elem()
  6332  }
  6333  
  6334  // A boxed array of `ServiceLocator`. To be used in `Any` placeholders.
  6335  type ArrayOfServiceLocator struct {
  6336  	ServiceLocator []ServiceLocator `xml:"ServiceLocator,omitempty" json:"_value"`
  6337  }
  6338  
  6339  func init() {
  6340  	t["ArrayOfServiceLocator"] = reflect.TypeOf((*ArrayOfServiceLocator)(nil)).Elem()
  6341  }
  6342  
  6343  // A boxed array of `ServiceManagerServiceInfo`. To be used in `Any` placeholders.
  6344  type ArrayOfServiceManagerServiceInfo struct {
  6345  	ServiceManagerServiceInfo []ServiceManagerServiceInfo `xml:"ServiceManagerServiceInfo,omitempty" json:"_value"`
  6346  }
  6347  
  6348  func init() {
  6349  	t["ArrayOfServiceManagerServiceInfo"] = reflect.TypeOf((*ArrayOfServiceManagerServiceInfo)(nil)).Elem()
  6350  }
  6351  
  6352  // A boxed array of `ServiceProfile`. To be used in `Any` placeholders.
  6353  type ArrayOfServiceProfile struct {
  6354  	ServiceProfile []ServiceProfile `xml:"ServiceProfile,omitempty" json:"_value"`
  6355  }
  6356  
  6357  func init() {
  6358  	t["ArrayOfServiceProfile"] = reflect.TypeOf((*ArrayOfServiceProfile)(nil)).Elem()
  6359  }
  6360  
  6361  // A boxed array of `PrimitiveShort`. To be used in `Any` placeholders.
  6362  type ArrayOfShort struct {
  6363  	Short []int16 `xml:"short,omitempty" json:"_value"`
  6364  }
  6365  
  6366  func init() {
  6367  	t["ArrayOfShort"] = reflect.TypeOf((*ArrayOfShort)(nil)).Elem()
  6368  }
  6369  
  6370  // A boxed array of `SoftwarePackage`. To be used in `Any` placeholders.
  6371  type ArrayOfSoftwarePackage struct {
  6372  	SoftwarePackage []SoftwarePackage `xml:"SoftwarePackage,omitempty" json:"_value"`
  6373  }
  6374  
  6375  func init() {
  6376  	t["ArrayOfSoftwarePackage"] = reflect.TypeOf((*ArrayOfSoftwarePackage)(nil)).Elem()
  6377  }
  6378  
  6379  // A boxed array of `StaticRouteProfile`. To be used in `Any` placeholders.
  6380  type ArrayOfStaticRouteProfile struct {
  6381  	StaticRouteProfile []StaticRouteProfile `xml:"StaticRouteProfile,omitempty" json:"_value"`
  6382  }
  6383  
  6384  func init() {
  6385  	t["ArrayOfStaticRouteProfile"] = reflect.TypeOf((*ArrayOfStaticRouteProfile)(nil)).Elem()
  6386  }
  6387  
  6388  // A boxed array of `StorageDrsOptionSpec`. To be used in `Any` placeholders.
  6389  type ArrayOfStorageDrsOptionSpec struct {
  6390  	StorageDrsOptionSpec []StorageDrsOptionSpec `xml:"StorageDrsOptionSpec,omitempty" json:"_value"`
  6391  }
  6392  
  6393  func init() {
  6394  	t["ArrayOfStorageDrsOptionSpec"] = reflect.TypeOf((*ArrayOfStorageDrsOptionSpec)(nil)).Elem()
  6395  }
  6396  
  6397  // A boxed array of `StorageDrsPlacementRankVmSpec`. To be used in `Any` placeholders.
  6398  type ArrayOfStorageDrsPlacementRankVmSpec struct {
  6399  	StorageDrsPlacementRankVmSpec []StorageDrsPlacementRankVmSpec `xml:"StorageDrsPlacementRankVmSpec,omitempty" json:"_value"`
  6400  }
  6401  
  6402  func init() {
  6403  	t["ArrayOfStorageDrsPlacementRankVmSpec"] = reflect.TypeOf((*ArrayOfStorageDrsPlacementRankVmSpec)(nil)).Elem()
  6404  }
  6405  
  6406  // A boxed array of `StorageDrsVmConfigInfo`. To be used in `Any` placeholders.
  6407  type ArrayOfStorageDrsVmConfigInfo struct {
  6408  	StorageDrsVmConfigInfo []StorageDrsVmConfigInfo `xml:"StorageDrsVmConfigInfo,omitempty" json:"_value"`
  6409  }
  6410  
  6411  func init() {
  6412  	t["ArrayOfStorageDrsVmConfigInfo"] = reflect.TypeOf((*ArrayOfStorageDrsVmConfigInfo)(nil)).Elem()
  6413  }
  6414  
  6415  // A boxed array of `StorageDrsVmConfigSpec`. To be used in `Any` placeholders.
  6416  type ArrayOfStorageDrsVmConfigSpec struct {
  6417  	StorageDrsVmConfigSpec []StorageDrsVmConfigSpec `xml:"StorageDrsVmConfigSpec,omitempty" json:"_value"`
  6418  }
  6419  
  6420  func init() {
  6421  	t["ArrayOfStorageDrsVmConfigSpec"] = reflect.TypeOf((*ArrayOfStorageDrsVmConfigSpec)(nil)).Elem()
  6422  }
  6423  
  6424  // A boxed array of `StoragePerformanceSummary`. To be used in `Any` placeholders.
  6425  type ArrayOfStoragePerformanceSummary struct {
  6426  	StoragePerformanceSummary []StoragePerformanceSummary `xml:"StoragePerformanceSummary,omitempty" json:"_value"`
  6427  }
  6428  
  6429  func init() {
  6430  	t["ArrayOfStoragePerformanceSummary"] = reflect.TypeOf((*ArrayOfStoragePerformanceSummary)(nil)).Elem()
  6431  }
  6432  
  6433  // A boxed array of `StorageRequirement`. To be used in `Any` placeholders.
  6434  type ArrayOfStorageRequirement struct {
  6435  	StorageRequirement []StorageRequirement `xml:"StorageRequirement,omitempty" json:"_value"`
  6436  }
  6437  
  6438  func init() {
  6439  	t["ArrayOfStorageRequirement"] = reflect.TypeOf((*ArrayOfStorageRequirement)(nil)).Elem()
  6440  }
  6441  
  6442  // A boxed array of `PrimitiveString`. To be used in `Any` placeholders.
  6443  type ArrayOfString struct {
  6444  	String []string `xml:"string,omitempty" json:"_value"`
  6445  }
  6446  
  6447  func init() {
  6448  	t["ArrayOfString"] = reflect.TypeOf((*ArrayOfString)(nil)).Elem()
  6449  }
  6450  
  6451  // A boxed array of `StructuredCustomizations`. To be used in `Any` placeholders.
  6452  type ArrayOfStructuredCustomizations struct {
  6453  	StructuredCustomizations []StructuredCustomizations `xml:"StructuredCustomizations,omitempty" json:"_value"`
  6454  }
  6455  
  6456  func init() {
  6457  	t["ArrayOfStructuredCustomizations"] = reflect.TypeOf((*ArrayOfStructuredCustomizations)(nil)).Elem()
  6458  }
  6459  
  6460  // A boxed array of `SystemEventInfo`. To be used in `Any` placeholders.
  6461  type ArrayOfSystemEventInfo struct {
  6462  	SystemEventInfo []SystemEventInfo `xml:"SystemEventInfo,omitempty" json:"_value"`
  6463  }
  6464  
  6465  func init() {
  6466  	t["ArrayOfSystemEventInfo"] = reflect.TypeOf((*ArrayOfSystemEventInfo)(nil)).Elem()
  6467  }
  6468  
  6469  // A boxed array of `Tag`. To be used in `Any` placeholders.
  6470  type ArrayOfTag struct {
  6471  	Tag []Tag `xml:"Tag,omitempty" json:"_value"`
  6472  }
  6473  
  6474  func init() {
  6475  	t["ArrayOfTag"] = reflect.TypeOf((*ArrayOfTag)(nil)).Elem()
  6476  }
  6477  
  6478  // A boxed array of `TaskInfo`. To be used in `Any` placeholders.
  6479  type ArrayOfTaskInfo struct {
  6480  	TaskInfo []TaskInfo `xml:"TaskInfo,omitempty" json:"_value"`
  6481  }
  6482  
  6483  func init() {
  6484  	t["ArrayOfTaskInfo"] = reflect.TypeOf((*ArrayOfTaskInfo)(nil)).Elem()
  6485  }
  6486  
  6487  // A boxed array of `TaskInfoState_enum`. To be used in `Any` placeholders.
  6488  type ArrayOfTaskInfoState struct {
  6489  	TaskInfoState []TaskInfoState `xml:"TaskInfoState,omitempty" json:"_value"`
  6490  }
  6491  
  6492  func init() {
  6493  	t["ArrayOfTaskInfoState"] = reflect.TypeOf((*ArrayOfTaskInfoState)(nil)).Elem()
  6494  }
  6495  
  6496  // A boxed array of `TypeDescription`. To be used in `Any` placeholders.
  6497  type ArrayOfTypeDescription struct {
  6498  	TypeDescription []BaseTypeDescription `xml:"TypeDescription,omitempty,typeattr" json:"_value"`
  6499  }
  6500  
  6501  func init() {
  6502  	t["ArrayOfTypeDescription"] = reflect.TypeOf((*ArrayOfTypeDescription)(nil)).Elem()
  6503  }
  6504  
  6505  // A boxed array of `UpdateVirtualMachineFilesResultFailedVmFileInfo`. To be used in `Any` placeholders.
  6506  type ArrayOfUpdateVirtualMachineFilesResultFailedVmFileInfo struct {
  6507  	UpdateVirtualMachineFilesResultFailedVmFileInfo []UpdateVirtualMachineFilesResultFailedVmFileInfo `xml:"UpdateVirtualMachineFilesResultFailedVmFileInfo,omitempty" json:"_value"`
  6508  }
  6509  
  6510  func init() {
  6511  	t["ArrayOfUpdateVirtualMachineFilesResultFailedVmFileInfo"] = reflect.TypeOf((*ArrayOfUpdateVirtualMachineFilesResultFailedVmFileInfo)(nil)).Elem()
  6512  }
  6513  
  6514  type ArrayOfUri struct {
  6515  	Uri []string `xml:"uri,omitempty" json:"_value"`
  6516  }
  6517  
  6518  func init() {
  6519  	t["ArrayOfUri"] = reflect.TypeOf((*ArrayOfUri)(nil)).Elem()
  6520  }
  6521  
  6522  // A boxed array of `UsbScanCodeSpecKeyEvent`. To be used in `Any` placeholders.
  6523  type ArrayOfUsbScanCodeSpecKeyEvent struct {
  6524  	UsbScanCodeSpecKeyEvent []UsbScanCodeSpecKeyEvent `xml:"UsbScanCodeSpecKeyEvent,omitempty" json:"_value"`
  6525  }
  6526  
  6527  func init() {
  6528  	t["ArrayOfUsbScanCodeSpecKeyEvent"] = reflect.TypeOf((*ArrayOfUsbScanCodeSpecKeyEvent)(nil)).Elem()
  6529  }
  6530  
  6531  // A boxed array of `UserGroupProfile`. To be used in `Any` placeholders.
  6532  type ArrayOfUserGroupProfile struct {
  6533  	UserGroupProfile []UserGroupProfile `xml:"UserGroupProfile,omitempty" json:"_value"`
  6534  }
  6535  
  6536  func init() {
  6537  	t["ArrayOfUserGroupProfile"] = reflect.TypeOf((*ArrayOfUserGroupProfile)(nil)).Elem()
  6538  }
  6539  
  6540  // A boxed array of `UserPrivilegeResult`. To be used in `Any` placeholders.
  6541  type ArrayOfUserPrivilegeResult struct {
  6542  	UserPrivilegeResult []UserPrivilegeResult `xml:"UserPrivilegeResult,omitempty" json:"_value"`
  6543  }
  6544  
  6545  func init() {
  6546  	t["ArrayOfUserPrivilegeResult"] = reflect.TypeOf((*ArrayOfUserPrivilegeResult)(nil)).Elem()
  6547  }
  6548  
  6549  // A boxed array of `UserProfile`. To be used in `Any` placeholders.
  6550  type ArrayOfUserProfile struct {
  6551  	UserProfile []UserProfile `xml:"UserProfile,omitempty" json:"_value"`
  6552  }
  6553  
  6554  func init() {
  6555  	t["ArrayOfUserProfile"] = reflect.TypeOf((*ArrayOfUserProfile)(nil)).Elem()
  6556  }
  6557  
  6558  // A boxed array of `UserSearchResult`. To be used in `Any` placeholders.
  6559  type ArrayOfUserSearchResult struct {
  6560  	UserSearchResult []BaseUserSearchResult `xml:"UserSearchResult,omitempty,typeattr" json:"_value"`
  6561  }
  6562  
  6563  func init() {
  6564  	t["ArrayOfUserSearchResult"] = reflect.TypeOf((*ArrayOfUserSearchResult)(nil)).Elem()
  6565  }
  6566  
  6567  // A boxed array of `UserSession`. To be used in `Any` placeholders.
  6568  type ArrayOfUserSession struct {
  6569  	UserSession []UserSession `xml:"UserSession,omitempty" json:"_value"`
  6570  }
  6571  
  6572  func init() {
  6573  	t["ArrayOfUserSession"] = reflect.TypeOf((*ArrayOfUserSession)(nil)).Elem()
  6574  }
  6575  
  6576  // A boxed array of `VASAStorageArray`. To be used in `Any` placeholders.
  6577  type ArrayOfVASAStorageArray struct {
  6578  	VASAStorageArray []VASAStorageArray `xml:"VASAStorageArray,omitempty" json:"_value"`
  6579  }
  6580  
  6581  func init() {
  6582  	t["ArrayOfVASAStorageArray"] = reflect.TypeOf((*ArrayOfVASAStorageArray)(nil)).Elem()
  6583  }
  6584  
  6585  // A boxed array of `VASAStorageArrayDiscoverySvcInfo`. To be used in `Any` placeholders.
  6586  type ArrayOfVASAStorageArrayDiscoverySvcInfo struct {
  6587  	VASAStorageArrayDiscoverySvcInfo []VASAStorageArrayDiscoverySvcInfo `xml:"VASAStorageArrayDiscoverySvcInfo,omitempty" json:"_value"`
  6588  }
  6589  
  6590  func init() {
  6591  	t["ArrayOfVASAStorageArrayDiscoverySvcInfo"] = reflect.TypeOf((*ArrayOfVASAStorageArrayDiscoverySvcInfo)(nil)).Elem()
  6592  }
  6593  
  6594  // A boxed array of `VAppCloneSpecNetworkMappingPair`. To be used in `Any` placeholders.
  6595  type ArrayOfVAppCloneSpecNetworkMappingPair struct {
  6596  	VAppCloneSpecNetworkMappingPair []VAppCloneSpecNetworkMappingPair `xml:"VAppCloneSpecNetworkMappingPair,omitempty" json:"_value"`
  6597  }
  6598  
  6599  func init() {
  6600  	t["ArrayOfVAppCloneSpecNetworkMappingPair"] = reflect.TypeOf((*ArrayOfVAppCloneSpecNetworkMappingPair)(nil)).Elem()
  6601  }
  6602  
  6603  // A boxed array of `VAppCloneSpecResourceMap`. To be used in `Any` placeholders.
  6604  type ArrayOfVAppCloneSpecResourceMap struct {
  6605  	VAppCloneSpecResourceMap []VAppCloneSpecResourceMap `xml:"VAppCloneSpecResourceMap,omitempty" json:"_value"`
  6606  }
  6607  
  6608  func init() {
  6609  	t["ArrayOfVAppCloneSpecResourceMap"] = reflect.TypeOf((*ArrayOfVAppCloneSpecResourceMap)(nil)).Elem()
  6610  }
  6611  
  6612  // A boxed array of `VAppEntityConfigInfo`. To be used in `Any` placeholders.
  6613  type ArrayOfVAppEntityConfigInfo struct {
  6614  	VAppEntityConfigInfo []VAppEntityConfigInfo `xml:"VAppEntityConfigInfo,omitempty" json:"_value"`
  6615  }
  6616  
  6617  func init() {
  6618  	t["ArrayOfVAppEntityConfigInfo"] = reflect.TypeOf((*ArrayOfVAppEntityConfigInfo)(nil)).Elem()
  6619  }
  6620  
  6621  // A boxed array of `VAppOvfSectionInfo`. To be used in `Any` placeholders.
  6622  type ArrayOfVAppOvfSectionInfo struct {
  6623  	VAppOvfSectionInfo []VAppOvfSectionInfo `xml:"VAppOvfSectionInfo,omitempty" json:"_value"`
  6624  }
  6625  
  6626  func init() {
  6627  	t["ArrayOfVAppOvfSectionInfo"] = reflect.TypeOf((*ArrayOfVAppOvfSectionInfo)(nil)).Elem()
  6628  }
  6629  
  6630  // A boxed array of `VAppOvfSectionSpec`. To be used in `Any` placeholders.
  6631  type ArrayOfVAppOvfSectionSpec struct {
  6632  	VAppOvfSectionSpec []VAppOvfSectionSpec `xml:"VAppOvfSectionSpec,omitempty" json:"_value"`
  6633  }
  6634  
  6635  func init() {
  6636  	t["ArrayOfVAppOvfSectionSpec"] = reflect.TypeOf((*ArrayOfVAppOvfSectionSpec)(nil)).Elem()
  6637  }
  6638  
  6639  // A boxed array of `VAppProductInfo`. To be used in `Any` placeholders.
  6640  type ArrayOfVAppProductInfo struct {
  6641  	VAppProductInfo []VAppProductInfo `xml:"VAppProductInfo,omitempty" json:"_value"`
  6642  }
  6643  
  6644  func init() {
  6645  	t["ArrayOfVAppProductInfo"] = reflect.TypeOf((*ArrayOfVAppProductInfo)(nil)).Elem()
  6646  }
  6647  
  6648  // A boxed array of `VAppProductSpec`. To be used in `Any` placeholders.
  6649  type ArrayOfVAppProductSpec struct {
  6650  	VAppProductSpec []VAppProductSpec `xml:"VAppProductSpec,omitempty" json:"_value"`
  6651  }
  6652  
  6653  func init() {
  6654  	t["ArrayOfVAppProductSpec"] = reflect.TypeOf((*ArrayOfVAppProductSpec)(nil)).Elem()
  6655  }
  6656  
  6657  // A boxed array of `VAppPropertyInfo`. To be used in `Any` placeholders.
  6658  type ArrayOfVAppPropertyInfo struct {
  6659  	VAppPropertyInfo []VAppPropertyInfo `xml:"VAppPropertyInfo,omitempty" json:"_value"`
  6660  }
  6661  
  6662  func init() {
  6663  	t["ArrayOfVAppPropertyInfo"] = reflect.TypeOf((*ArrayOfVAppPropertyInfo)(nil)).Elem()
  6664  }
  6665  
  6666  // A boxed array of `VAppPropertySpec`. To be used in `Any` placeholders.
  6667  type ArrayOfVAppPropertySpec struct {
  6668  	VAppPropertySpec []VAppPropertySpec `xml:"VAppPropertySpec,omitempty" json:"_value"`
  6669  }
  6670  
  6671  func init() {
  6672  	t["ArrayOfVAppPropertySpec"] = reflect.TypeOf((*ArrayOfVAppPropertySpec)(nil)).Elem()
  6673  }
  6674  
  6675  // A boxed array of `VMwareDVSPvlanConfigSpec`. To be used in `Any` placeholders.
  6676  type ArrayOfVMwareDVSPvlanConfigSpec struct {
  6677  	VMwareDVSPvlanConfigSpec []VMwareDVSPvlanConfigSpec `xml:"VMwareDVSPvlanConfigSpec,omitempty" json:"_value"`
  6678  }
  6679  
  6680  func init() {
  6681  	t["ArrayOfVMwareDVSPvlanConfigSpec"] = reflect.TypeOf((*ArrayOfVMwareDVSPvlanConfigSpec)(nil)).Elem()
  6682  }
  6683  
  6684  // A boxed array of `VMwareDVSPvlanMapEntry`. To be used in `Any` placeholders.
  6685  type ArrayOfVMwareDVSPvlanMapEntry struct {
  6686  	VMwareDVSPvlanMapEntry []VMwareDVSPvlanMapEntry `xml:"VMwareDVSPvlanMapEntry,omitempty" json:"_value"`
  6687  }
  6688  
  6689  func init() {
  6690  	t["ArrayOfVMwareDVSPvlanMapEntry"] = reflect.TypeOf((*ArrayOfVMwareDVSPvlanMapEntry)(nil)).Elem()
  6691  }
  6692  
  6693  // A boxed array of `VMwareDVSVspanConfigSpec`. To be used in `Any` placeholders.
  6694  type ArrayOfVMwareDVSVspanConfigSpec struct {
  6695  	VMwareDVSVspanConfigSpec []VMwareDVSVspanConfigSpec `xml:"VMwareDVSVspanConfigSpec,omitempty" json:"_value"`
  6696  }
  6697  
  6698  func init() {
  6699  	t["ArrayOfVMwareDVSVspanConfigSpec"] = reflect.TypeOf((*ArrayOfVMwareDVSVspanConfigSpec)(nil)).Elem()
  6700  }
  6701  
  6702  // A boxed array of `VMwareDvsLacpGroupConfig`. To be used in `Any` placeholders.
  6703  type ArrayOfVMwareDvsLacpGroupConfig struct {
  6704  	VMwareDvsLacpGroupConfig []VMwareDvsLacpGroupConfig `xml:"VMwareDvsLacpGroupConfig,omitempty" json:"_value"`
  6705  }
  6706  
  6707  func init() {
  6708  	t["ArrayOfVMwareDvsLacpGroupConfig"] = reflect.TypeOf((*ArrayOfVMwareDvsLacpGroupConfig)(nil)).Elem()
  6709  }
  6710  
  6711  // A boxed array of `VMwareDvsLacpGroupSpec`. To be used in `Any` placeholders.
  6712  type ArrayOfVMwareDvsLacpGroupSpec struct {
  6713  	VMwareDvsLacpGroupSpec []VMwareDvsLacpGroupSpec `xml:"VMwareDvsLacpGroupSpec,omitempty" json:"_value"`
  6714  }
  6715  
  6716  func init() {
  6717  	t["ArrayOfVMwareDvsLacpGroupSpec"] = reflect.TypeOf((*ArrayOfVMwareDvsLacpGroupSpec)(nil)).Elem()
  6718  }
  6719  
  6720  // A boxed array of `VMwareVspanSession`. To be used in `Any` placeholders.
  6721  type ArrayOfVMwareVspanSession struct {
  6722  	VMwareVspanSession []VMwareVspanSession `xml:"VMwareVspanSession,omitempty" json:"_value"`
  6723  }
  6724  
  6725  func init() {
  6726  	t["ArrayOfVMwareVspanSession"] = reflect.TypeOf((*ArrayOfVMwareVspanSession)(nil)).Elem()
  6727  }
  6728  
  6729  // A boxed array of `VStorageObjectAssociations`. To be used in `Any` placeholders.
  6730  type ArrayOfVStorageObjectAssociations struct {
  6731  	VStorageObjectAssociations []VStorageObjectAssociations `xml:"VStorageObjectAssociations,omitempty" json:"_value"`
  6732  }
  6733  
  6734  func init() {
  6735  	t["ArrayOfVStorageObjectAssociations"] = reflect.TypeOf((*ArrayOfVStorageObjectAssociations)(nil)).Elem()
  6736  }
  6737  
  6738  // A boxed array of `VStorageObjectAssociationsVmDiskAssociations`. To be used in `Any` placeholders.
  6739  type ArrayOfVStorageObjectAssociationsVmDiskAssociations struct {
  6740  	VStorageObjectAssociationsVmDiskAssociations []VStorageObjectAssociationsVmDiskAssociations `xml:"VStorageObjectAssociationsVmDiskAssociations,omitempty" json:"_value"`
  6741  }
  6742  
  6743  func init() {
  6744  	t["ArrayOfVStorageObjectAssociationsVmDiskAssociations"] = reflect.TypeOf((*ArrayOfVStorageObjectAssociationsVmDiskAssociations)(nil)).Elem()
  6745  }
  6746  
  6747  // A boxed array of `VStorageObjectSnapshotInfoVStorageObjectSnapshot`. To be used in `Any` placeholders.
  6748  type ArrayOfVStorageObjectSnapshotInfoVStorageObjectSnapshot struct {
  6749  	VStorageObjectSnapshotInfoVStorageObjectSnapshot []VStorageObjectSnapshotInfoVStorageObjectSnapshot `xml:"VStorageObjectSnapshotInfoVStorageObjectSnapshot,omitempty" json:"_value"`
  6750  }
  6751  
  6752  func init() {
  6753  	t["ArrayOfVStorageObjectSnapshotInfoVStorageObjectSnapshot"] = reflect.TypeOf((*ArrayOfVStorageObjectSnapshotInfoVStorageObjectSnapshot)(nil)).Elem()
  6754  }
  6755  
  6756  // A boxed array of `VVolHostPE`. To be used in `Any` placeholders.
  6757  type ArrayOfVVolHostPE struct {
  6758  	VVolHostPE []VVolHostPE `xml:"VVolHostPE,omitempty" json:"_value"`
  6759  }
  6760  
  6761  func init() {
  6762  	t["ArrayOfVVolHostPE"] = reflect.TypeOf((*ArrayOfVVolHostPE)(nil)).Elem()
  6763  }
  6764  
  6765  // A boxed array of `VVolVmConfigFileUpdateResultFailedVmConfigFileInfo`. To be used in `Any` placeholders.
  6766  type ArrayOfVVolVmConfigFileUpdateResultFailedVmConfigFileInfo struct {
  6767  	VVolVmConfigFileUpdateResultFailedVmConfigFileInfo []VVolVmConfigFileUpdateResultFailedVmConfigFileInfo `xml:"VVolVmConfigFileUpdateResultFailedVmConfigFileInfo,omitempty" json:"_value"`
  6768  }
  6769  
  6770  func init() {
  6771  	t["ArrayOfVVolVmConfigFileUpdateResultFailedVmConfigFileInfo"] = reflect.TypeOf((*ArrayOfVVolVmConfigFileUpdateResultFailedVmConfigFileInfo)(nil)).Elem()
  6772  }
  6773  
  6774  // A boxed array of `VchaNodeRuntimeInfo`. To be used in `Any` placeholders.
  6775  type ArrayOfVchaNodeRuntimeInfo struct {
  6776  	VchaNodeRuntimeInfo []VchaNodeRuntimeInfo `xml:"VchaNodeRuntimeInfo,omitempty" json:"_value"`
  6777  }
  6778  
  6779  func init() {
  6780  	t["ArrayOfVchaNodeRuntimeInfo"] = reflect.TypeOf((*ArrayOfVchaNodeRuntimeInfo)(nil)).Elem()
  6781  }
  6782  
  6783  // A boxed array of `VimVasaProviderInfo`. To be used in `Any` placeholders.
  6784  type ArrayOfVimVasaProviderInfo struct {
  6785  	VimVasaProviderInfo []VimVasaProviderInfo `xml:"VimVasaProviderInfo,omitempty" json:"_value"`
  6786  }
  6787  
  6788  func init() {
  6789  	t["ArrayOfVimVasaProviderInfo"] = reflect.TypeOf((*ArrayOfVimVasaProviderInfo)(nil)).Elem()
  6790  }
  6791  
  6792  // A boxed array of `VimVasaProviderStatePerArray`. To be used in `Any` placeholders.
  6793  type ArrayOfVimVasaProviderStatePerArray struct {
  6794  	VimVasaProviderStatePerArray []VimVasaProviderStatePerArray `xml:"VimVasaProviderStatePerArray,omitempty" json:"_value"`
  6795  }
  6796  
  6797  func init() {
  6798  	t["ArrayOfVimVasaProviderStatePerArray"] = reflect.TypeOf((*ArrayOfVimVasaProviderStatePerArray)(nil)).Elem()
  6799  }
  6800  
  6801  // A boxed array of `VirtualAppLinkInfo`. To be used in `Any` placeholders.
  6802  type ArrayOfVirtualAppLinkInfo struct {
  6803  	VirtualAppLinkInfo []VirtualAppLinkInfo `xml:"VirtualAppLinkInfo,omitempty" json:"_value"`
  6804  }
  6805  
  6806  func init() {
  6807  	t["ArrayOfVirtualAppLinkInfo"] = reflect.TypeOf((*ArrayOfVirtualAppLinkInfo)(nil)).Elem()
  6808  }
  6809  
  6810  // A boxed array of `VirtualDevice`. To be used in `Any` placeholders.
  6811  type ArrayOfVirtualDevice struct {
  6812  	VirtualDevice []BaseVirtualDevice `xml:"VirtualDevice,omitempty,typeattr" json:"_value"`
  6813  }
  6814  
  6815  func init() {
  6816  	t["ArrayOfVirtualDevice"] = reflect.TypeOf((*ArrayOfVirtualDevice)(nil)).Elem()
  6817  }
  6818  
  6819  // A boxed array of `VirtualDeviceBackingOption`. To be used in `Any` placeholders.
  6820  type ArrayOfVirtualDeviceBackingOption struct {
  6821  	VirtualDeviceBackingOption []BaseVirtualDeviceBackingOption `xml:"VirtualDeviceBackingOption,omitempty,typeattr" json:"_value"`
  6822  }
  6823  
  6824  func init() {
  6825  	t["ArrayOfVirtualDeviceBackingOption"] = reflect.TypeOf((*ArrayOfVirtualDeviceBackingOption)(nil)).Elem()
  6826  }
  6827  
  6828  // A boxed array of `VirtualDeviceConfigSpec`. To be used in `Any` placeholders.
  6829  type ArrayOfVirtualDeviceConfigSpec struct {
  6830  	VirtualDeviceConfigSpec []BaseVirtualDeviceConfigSpec `xml:"VirtualDeviceConfigSpec,omitempty,typeattr" json:"_value"`
  6831  }
  6832  
  6833  func init() {
  6834  	t["ArrayOfVirtualDeviceConfigSpec"] = reflect.TypeOf((*ArrayOfVirtualDeviceConfigSpec)(nil)).Elem()
  6835  }
  6836  
  6837  // A boxed array of `VirtualDeviceOption`. To be used in `Any` placeholders.
  6838  type ArrayOfVirtualDeviceOption struct {
  6839  	VirtualDeviceOption []BaseVirtualDeviceOption `xml:"VirtualDeviceOption,omitempty,typeattr" json:"_value"`
  6840  }
  6841  
  6842  func init() {
  6843  	t["ArrayOfVirtualDeviceOption"] = reflect.TypeOf((*ArrayOfVirtualDeviceOption)(nil)).Elem()
  6844  }
  6845  
  6846  // A boxed array of `VirtualDisk`. To be used in `Any` placeholders.
  6847  type ArrayOfVirtualDisk struct {
  6848  	VirtualDisk []VirtualDisk `xml:"VirtualDisk,omitempty" json:"_value"`
  6849  }
  6850  
  6851  func init() {
  6852  	t["ArrayOfVirtualDisk"] = reflect.TypeOf((*ArrayOfVirtualDisk)(nil)).Elem()
  6853  }
  6854  
  6855  // A boxed array of `VirtualDiskDeltaDiskFormatsSupported`. To be used in `Any` placeholders.
  6856  type ArrayOfVirtualDiskDeltaDiskFormatsSupported struct {
  6857  	VirtualDiskDeltaDiskFormatsSupported []VirtualDiskDeltaDiskFormatsSupported `xml:"VirtualDiskDeltaDiskFormatsSupported,omitempty" json:"_value"`
  6858  }
  6859  
  6860  func init() {
  6861  	t["ArrayOfVirtualDiskDeltaDiskFormatsSupported"] = reflect.TypeOf((*ArrayOfVirtualDiskDeltaDiskFormatsSupported)(nil)).Elem()
  6862  }
  6863  
  6864  // A boxed array of `VirtualDiskId`. To be used in `Any` placeholders.
  6865  type ArrayOfVirtualDiskId struct {
  6866  	VirtualDiskId []VirtualDiskId `xml:"VirtualDiskId,omitempty" json:"_value"`
  6867  }
  6868  
  6869  func init() {
  6870  	t["ArrayOfVirtualDiskId"] = reflect.TypeOf((*ArrayOfVirtualDiskId)(nil)).Elem()
  6871  }
  6872  
  6873  // A boxed array of `VirtualDiskRuleSpec`. To be used in `Any` placeholders.
  6874  type ArrayOfVirtualDiskRuleSpec struct {
  6875  	VirtualDiskRuleSpec []VirtualDiskRuleSpec `xml:"VirtualDiskRuleSpec,omitempty" json:"_value"`
  6876  }
  6877  
  6878  func init() {
  6879  	t["ArrayOfVirtualDiskRuleSpec"] = reflect.TypeOf((*ArrayOfVirtualDiskRuleSpec)(nil)).Elem()
  6880  }
  6881  
  6882  // A boxed array of `VirtualMachineBaseIndependentFilterSpec`. To be used in `Any` placeholders.
  6883  type ArrayOfVirtualMachineBaseIndependentFilterSpec struct {
  6884  	VirtualMachineBaseIndependentFilterSpec []BaseVirtualMachineBaseIndependentFilterSpec `xml:"VirtualMachineBaseIndependentFilterSpec,omitempty,typeattr" json:"_value"`
  6885  }
  6886  
  6887  func init() {
  6888  	t["ArrayOfVirtualMachineBaseIndependentFilterSpec"] = reflect.TypeOf((*ArrayOfVirtualMachineBaseIndependentFilterSpec)(nil)).Elem()
  6889  }
  6890  
  6891  // A boxed array of `VirtualMachineBootOptionsBootableDevice`. To be used in `Any` placeholders.
  6892  type ArrayOfVirtualMachineBootOptionsBootableDevice struct {
  6893  	VirtualMachineBootOptionsBootableDevice []BaseVirtualMachineBootOptionsBootableDevice `xml:"VirtualMachineBootOptionsBootableDevice,omitempty,typeattr" json:"_value"`
  6894  }
  6895  
  6896  func init() {
  6897  	t["ArrayOfVirtualMachineBootOptionsBootableDevice"] = reflect.TypeOf((*ArrayOfVirtualMachineBootOptionsBootableDevice)(nil)).Elem()
  6898  }
  6899  
  6900  // A boxed array of `VirtualMachineCdromInfo`. To be used in `Any` placeholders.
  6901  type ArrayOfVirtualMachineCdromInfo struct {
  6902  	VirtualMachineCdromInfo []VirtualMachineCdromInfo `xml:"VirtualMachineCdromInfo,omitempty" json:"_value"`
  6903  }
  6904  
  6905  func init() {
  6906  	t["ArrayOfVirtualMachineCdromInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineCdromInfo)(nil)).Elem()
  6907  }
  6908  
  6909  // A boxed array of `VirtualMachineCertThumbprint`. To be used in `Any` placeholders.
  6910  type ArrayOfVirtualMachineCertThumbprint struct {
  6911  	VirtualMachineCertThumbprint []VirtualMachineCertThumbprint `xml:"VirtualMachineCertThumbprint,omitempty" json:"_value"`
  6912  }
  6913  
  6914  func init() {
  6915  	t["ArrayOfVirtualMachineCertThumbprint"] = reflect.TypeOf((*ArrayOfVirtualMachineCertThumbprint)(nil)).Elem()
  6916  }
  6917  
  6918  // A boxed array of `VirtualMachineConfigInfoDatastoreUrlPair`. To be used in `Any` placeholders.
  6919  type ArrayOfVirtualMachineConfigInfoDatastoreUrlPair struct {
  6920  	VirtualMachineConfigInfoDatastoreUrlPair []VirtualMachineConfigInfoDatastoreUrlPair `xml:"VirtualMachineConfigInfoDatastoreUrlPair,omitempty" json:"_value"`
  6921  }
  6922  
  6923  func init() {
  6924  	t["ArrayOfVirtualMachineConfigInfoDatastoreUrlPair"] = reflect.TypeOf((*ArrayOfVirtualMachineConfigInfoDatastoreUrlPair)(nil)).Elem()
  6925  }
  6926  
  6927  // A boxed array of `VirtualMachineConfigOptionDescriptor`. To be used in `Any` placeholders.
  6928  type ArrayOfVirtualMachineConfigOptionDescriptor struct {
  6929  	VirtualMachineConfigOptionDescriptor []VirtualMachineConfigOptionDescriptor `xml:"VirtualMachineConfigOptionDescriptor,omitempty" json:"_value"`
  6930  }
  6931  
  6932  func init() {
  6933  	t["ArrayOfVirtualMachineConfigOptionDescriptor"] = reflect.TypeOf((*ArrayOfVirtualMachineConfigOptionDescriptor)(nil)).Elem()
  6934  }
  6935  
  6936  // A boxed array of `VirtualMachineConfigSpec`. To be used in `Any` placeholders.
  6937  type ArrayOfVirtualMachineConfigSpec struct {
  6938  	VirtualMachineConfigSpec []VirtualMachineConfigSpec `xml:"VirtualMachineConfigSpec,omitempty" json:"_value"`
  6939  }
  6940  
  6941  func init() {
  6942  	t["ArrayOfVirtualMachineConfigSpec"] = reflect.TypeOf((*ArrayOfVirtualMachineConfigSpec)(nil)).Elem()
  6943  }
  6944  
  6945  // A boxed array of `VirtualMachineConnection`. To be used in `Any` placeholders.
  6946  type ArrayOfVirtualMachineConnection struct {
  6947  	VirtualMachineConnection []BaseVirtualMachineConnection `xml:"VirtualMachineConnection,omitempty,typeattr" json:"_value"`
  6948  }
  6949  
  6950  func init() {
  6951  	t["ArrayOfVirtualMachineConnection"] = reflect.TypeOf((*ArrayOfVirtualMachineConnection)(nil)).Elem()
  6952  }
  6953  
  6954  // A boxed array of `VirtualMachineCpuIdInfoSpec`. To be used in `Any` placeholders.
  6955  type ArrayOfVirtualMachineCpuIdInfoSpec struct {
  6956  	VirtualMachineCpuIdInfoSpec []VirtualMachineCpuIdInfoSpec `xml:"VirtualMachineCpuIdInfoSpec,omitempty" json:"_value"`
  6957  }
  6958  
  6959  func init() {
  6960  	t["ArrayOfVirtualMachineCpuIdInfoSpec"] = reflect.TypeOf((*ArrayOfVirtualMachineCpuIdInfoSpec)(nil)).Elem()
  6961  }
  6962  
  6963  // A boxed array of `VirtualMachineDatastoreInfo`. To be used in `Any` placeholders.
  6964  type ArrayOfVirtualMachineDatastoreInfo struct {
  6965  	VirtualMachineDatastoreInfo []VirtualMachineDatastoreInfo `xml:"VirtualMachineDatastoreInfo,omitempty" json:"_value"`
  6966  }
  6967  
  6968  func init() {
  6969  	t["ArrayOfVirtualMachineDatastoreInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineDatastoreInfo)(nil)).Elem()
  6970  }
  6971  
  6972  // A boxed array of `VirtualMachineDatastoreVolumeOption`. To be used in `Any` placeholders.
  6973  type ArrayOfVirtualMachineDatastoreVolumeOption struct {
  6974  	VirtualMachineDatastoreVolumeOption []VirtualMachineDatastoreVolumeOption `xml:"VirtualMachineDatastoreVolumeOption,omitempty" json:"_value"`
  6975  }
  6976  
  6977  func init() {
  6978  	t["ArrayOfVirtualMachineDatastoreVolumeOption"] = reflect.TypeOf((*ArrayOfVirtualMachineDatastoreVolumeOption)(nil)).Elem()
  6979  }
  6980  
  6981  // A boxed array of `VirtualMachineDeviceRuntimeInfo`. To be used in `Any` placeholders.
  6982  type ArrayOfVirtualMachineDeviceRuntimeInfo struct {
  6983  	VirtualMachineDeviceRuntimeInfo []VirtualMachineDeviceRuntimeInfo `xml:"VirtualMachineDeviceRuntimeInfo,omitempty" json:"_value"`
  6984  }
  6985  
  6986  func init() {
  6987  	t["ArrayOfVirtualMachineDeviceRuntimeInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineDeviceRuntimeInfo)(nil)).Elem()
  6988  }
  6989  
  6990  // A boxed array of `VirtualMachineDisplayTopology`. To be used in `Any` placeholders.
  6991  type ArrayOfVirtualMachineDisplayTopology struct {
  6992  	VirtualMachineDisplayTopology []VirtualMachineDisplayTopology `xml:"VirtualMachineDisplayTopology,omitempty" json:"_value"`
  6993  }
  6994  
  6995  func init() {
  6996  	t["ArrayOfVirtualMachineDisplayTopology"] = reflect.TypeOf((*ArrayOfVirtualMachineDisplayTopology)(nil)).Elem()
  6997  }
  6998  
  6999  // A boxed array of `VirtualMachineDvxClassInfo`. To be used in `Any` placeholders.
  7000  type ArrayOfVirtualMachineDvxClassInfo struct {
  7001  	VirtualMachineDvxClassInfo []VirtualMachineDvxClassInfo `xml:"VirtualMachineDvxClassInfo,omitempty" json:"_value"`
  7002  }
  7003  
  7004  func init() {
  7005  	t["ArrayOfVirtualMachineDvxClassInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineDvxClassInfo)(nil)).Elem()
  7006  }
  7007  
  7008  // A boxed array of `VirtualMachineDynamicPassthroughInfo`. To be used in `Any` placeholders.
  7009  type ArrayOfVirtualMachineDynamicPassthroughInfo struct {
  7010  	VirtualMachineDynamicPassthroughInfo []VirtualMachineDynamicPassthroughInfo `xml:"VirtualMachineDynamicPassthroughInfo,omitempty" json:"_value"`
  7011  }
  7012  
  7013  func init() {
  7014  	t["ArrayOfVirtualMachineDynamicPassthroughInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineDynamicPassthroughInfo)(nil)).Elem()
  7015  }
  7016  
  7017  // A boxed array of `VirtualMachineFeatureRequirement`. To be used in `Any` placeholders.
  7018  type ArrayOfVirtualMachineFeatureRequirement struct {
  7019  	VirtualMachineFeatureRequirement []VirtualMachineFeatureRequirement `xml:"VirtualMachineFeatureRequirement,omitempty" json:"_value"`
  7020  }
  7021  
  7022  func init() {
  7023  	t["ArrayOfVirtualMachineFeatureRequirement"] = reflect.TypeOf((*ArrayOfVirtualMachineFeatureRequirement)(nil)).Elem()
  7024  }
  7025  
  7026  // A boxed array of `VirtualMachineFileLayoutDiskLayout`. To be used in `Any` placeholders.
  7027  type ArrayOfVirtualMachineFileLayoutDiskLayout struct {
  7028  	VirtualMachineFileLayoutDiskLayout []VirtualMachineFileLayoutDiskLayout `xml:"VirtualMachineFileLayoutDiskLayout,omitempty" json:"_value"`
  7029  }
  7030  
  7031  func init() {
  7032  	t["ArrayOfVirtualMachineFileLayoutDiskLayout"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutDiskLayout)(nil)).Elem()
  7033  }
  7034  
  7035  // A boxed array of `VirtualMachineFileLayoutExDiskLayout`. To be used in `Any` placeholders.
  7036  type ArrayOfVirtualMachineFileLayoutExDiskLayout struct {
  7037  	VirtualMachineFileLayoutExDiskLayout []VirtualMachineFileLayoutExDiskLayout `xml:"VirtualMachineFileLayoutExDiskLayout,omitempty" json:"_value"`
  7038  }
  7039  
  7040  func init() {
  7041  	t["ArrayOfVirtualMachineFileLayoutExDiskLayout"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutExDiskLayout)(nil)).Elem()
  7042  }
  7043  
  7044  // A boxed array of `VirtualMachineFileLayoutExDiskUnit`. To be used in `Any` placeholders.
  7045  type ArrayOfVirtualMachineFileLayoutExDiskUnit struct {
  7046  	VirtualMachineFileLayoutExDiskUnit []VirtualMachineFileLayoutExDiskUnit `xml:"VirtualMachineFileLayoutExDiskUnit,omitempty" json:"_value"`
  7047  }
  7048  
  7049  func init() {
  7050  	t["ArrayOfVirtualMachineFileLayoutExDiskUnit"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutExDiskUnit)(nil)).Elem()
  7051  }
  7052  
  7053  // A boxed array of `VirtualMachineFileLayoutExFileInfo`. To be used in `Any` placeholders.
  7054  type ArrayOfVirtualMachineFileLayoutExFileInfo struct {
  7055  	VirtualMachineFileLayoutExFileInfo []VirtualMachineFileLayoutExFileInfo `xml:"VirtualMachineFileLayoutExFileInfo,omitempty" json:"_value"`
  7056  }
  7057  
  7058  func init() {
  7059  	t["ArrayOfVirtualMachineFileLayoutExFileInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutExFileInfo)(nil)).Elem()
  7060  }
  7061  
  7062  // A boxed array of `VirtualMachineFileLayoutExSnapshotLayout`. To be used in `Any` placeholders.
  7063  type ArrayOfVirtualMachineFileLayoutExSnapshotLayout struct {
  7064  	VirtualMachineFileLayoutExSnapshotLayout []VirtualMachineFileLayoutExSnapshotLayout `xml:"VirtualMachineFileLayoutExSnapshotLayout,omitempty" json:"_value"`
  7065  }
  7066  
  7067  func init() {
  7068  	t["ArrayOfVirtualMachineFileLayoutExSnapshotLayout"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutExSnapshotLayout)(nil)).Elem()
  7069  }
  7070  
  7071  // A boxed array of `VirtualMachineFileLayoutSnapshotLayout`. To be used in `Any` placeholders.
  7072  type ArrayOfVirtualMachineFileLayoutSnapshotLayout struct {
  7073  	VirtualMachineFileLayoutSnapshotLayout []VirtualMachineFileLayoutSnapshotLayout `xml:"VirtualMachineFileLayoutSnapshotLayout,omitempty" json:"_value"`
  7074  }
  7075  
  7076  func init() {
  7077  	t["ArrayOfVirtualMachineFileLayoutSnapshotLayout"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutSnapshotLayout)(nil)).Elem()
  7078  }
  7079  
  7080  // A boxed array of `VirtualMachineFloppyInfo`. To be used in `Any` placeholders.
  7081  type ArrayOfVirtualMachineFloppyInfo struct {
  7082  	VirtualMachineFloppyInfo []VirtualMachineFloppyInfo `xml:"VirtualMachineFloppyInfo,omitempty" json:"_value"`
  7083  }
  7084  
  7085  func init() {
  7086  	t["ArrayOfVirtualMachineFloppyInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineFloppyInfo)(nil)).Elem()
  7087  }
  7088  
  7089  // A boxed array of `VirtualMachineIdeDiskDeviceInfo`. To be used in `Any` placeholders.
  7090  type ArrayOfVirtualMachineIdeDiskDeviceInfo struct {
  7091  	VirtualMachineIdeDiskDeviceInfo []VirtualMachineIdeDiskDeviceInfo `xml:"VirtualMachineIdeDiskDeviceInfo,omitempty" json:"_value"`
  7092  }
  7093  
  7094  func init() {
  7095  	t["ArrayOfVirtualMachineIdeDiskDeviceInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineIdeDiskDeviceInfo)(nil)).Elem()
  7096  }
  7097  
  7098  // A boxed array of `VirtualMachineIdeDiskDevicePartitionInfo`. To be used in `Any` placeholders.
  7099  type ArrayOfVirtualMachineIdeDiskDevicePartitionInfo struct {
  7100  	VirtualMachineIdeDiskDevicePartitionInfo []VirtualMachineIdeDiskDevicePartitionInfo `xml:"VirtualMachineIdeDiskDevicePartitionInfo,omitempty" json:"_value"`
  7101  }
  7102  
  7103  func init() {
  7104  	t["ArrayOfVirtualMachineIdeDiskDevicePartitionInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineIdeDiskDevicePartitionInfo)(nil)).Elem()
  7105  }
  7106  
  7107  // A boxed array of `VirtualMachineLegacyNetworkSwitchInfo`. To be used in `Any` placeholders.
  7108  type ArrayOfVirtualMachineLegacyNetworkSwitchInfo struct {
  7109  	VirtualMachineLegacyNetworkSwitchInfo []VirtualMachineLegacyNetworkSwitchInfo `xml:"VirtualMachineLegacyNetworkSwitchInfo,omitempty" json:"_value"`
  7110  }
  7111  
  7112  func init() {
  7113  	t["ArrayOfVirtualMachineLegacyNetworkSwitchInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineLegacyNetworkSwitchInfo)(nil)).Elem()
  7114  }
  7115  
  7116  // A boxed array of `VirtualMachineMessage`. To be used in `Any` placeholders.
  7117  type ArrayOfVirtualMachineMessage struct {
  7118  	VirtualMachineMessage []VirtualMachineMessage `xml:"VirtualMachineMessage,omitempty" json:"_value"`
  7119  }
  7120  
  7121  func init() {
  7122  	t["ArrayOfVirtualMachineMessage"] = reflect.TypeOf((*ArrayOfVirtualMachineMessage)(nil)).Elem()
  7123  }
  7124  
  7125  // A boxed array of `VirtualMachineMetadataManagerVmMetadataInput`. To be used in `Any` placeholders.
  7126  type ArrayOfVirtualMachineMetadataManagerVmMetadataInput struct {
  7127  	VirtualMachineMetadataManagerVmMetadataInput []VirtualMachineMetadataManagerVmMetadataInput `xml:"VirtualMachineMetadataManagerVmMetadataInput,omitempty" json:"_value"`
  7128  }
  7129  
  7130  func init() {
  7131  	t["ArrayOfVirtualMachineMetadataManagerVmMetadataInput"] = reflect.TypeOf((*ArrayOfVirtualMachineMetadataManagerVmMetadataInput)(nil)).Elem()
  7132  }
  7133  
  7134  // A boxed array of `VirtualMachineMetadataManagerVmMetadataResult`. To be used in `Any` placeholders.
  7135  type ArrayOfVirtualMachineMetadataManagerVmMetadataResult struct {
  7136  	VirtualMachineMetadataManagerVmMetadataResult []VirtualMachineMetadataManagerVmMetadataResult `xml:"VirtualMachineMetadataManagerVmMetadataResult,omitempty" json:"_value"`
  7137  }
  7138  
  7139  func init() {
  7140  	t["ArrayOfVirtualMachineMetadataManagerVmMetadataResult"] = reflect.TypeOf((*ArrayOfVirtualMachineMetadataManagerVmMetadataResult)(nil)).Elem()
  7141  }
  7142  
  7143  // A boxed array of `VirtualMachineNetworkInfo`. To be used in `Any` placeholders.
  7144  type ArrayOfVirtualMachineNetworkInfo struct {
  7145  	VirtualMachineNetworkInfo []VirtualMachineNetworkInfo `xml:"VirtualMachineNetworkInfo,omitempty" json:"_value"`
  7146  }
  7147  
  7148  func init() {
  7149  	t["ArrayOfVirtualMachineNetworkInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineNetworkInfo)(nil)).Elem()
  7150  }
  7151  
  7152  // A boxed array of `VirtualMachineParallelInfo`. To be used in `Any` placeholders.
  7153  type ArrayOfVirtualMachineParallelInfo struct {
  7154  	VirtualMachineParallelInfo []VirtualMachineParallelInfo `xml:"VirtualMachineParallelInfo,omitempty" json:"_value"`
  7155  }
  7156  
  7157  func init() {
  7158  	t["ArrayOfVirtualMachineParallelInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineParallelInfo)(nil)).Elem()
  7159  }
  7160  
  7161  // A boxed array of `VirtualMachinePciPassthroughInfo`. To be used in `Any` placeholders.
  7162  type ArrayOfVirtualMachinePciPassthroughInfo struct {
  7163  	VirtualMachinePciPassthroughInfo []BaseVirtualMachinePciPassthroughInfo `xml:"VirtualMachinePciPassthroughInfo,omitempty,typeattr" json:"_value"`
  7164  }
  7165  
  7166  func init() {
  7167  	t["ArrayOfVirtualMachinePciPassthroughInfo"] = reflect.TypeOf((*ArrayOfVirtualMachinePciPassthroughInfo)(nil)).Elem()
  7168  }
  7169  
  7170  // A boxed array of `VirtualMachinePciSharedGpuPassthroughInfo`. To be used in `Any` placeholders.
  7171  type ArrayOfVirtualMachinePciSharedGpuPassthroughInfo struct {
  7172  	VirtualMachinePciSharedGpuPassthroughInfo []VirtualMachinePciSharedGpuPassthroughInfo `xml:"VirtualMachinePciSharedGpuPassthroughInfo,omitempty" json:"_value"`
  7173  }
  7174  
  7175  func init() {
  7176  	t["ArrayOfVirtualMachinePciSharedGpuPassthroughInfo"] = reflect.TypeOf((*ArrayOfVirtualMachinePciSharedGpuPassthroughInfo)(nil)).Elem()
  7177  }
  7178  
  7179  // A boxed array of `VirtualMachinePrecisionClockInfo`. To be used in `Any` placeholders.
  7180  type ArrayOfVirtualMachinePrecisionClockInfo struct {
  7181  	VirtualMachinePrecisionClockInfo []VirtualMachinePrecisionClockInfo `xml:"VirtualMachinePrecisionClockInfo,omitempty" json:"_value"`
  7182  }
  7183  
  7184  func init() {
  7185  	t["ArrayOfVirtualMachinePrecisionClockInfo"] = reflect.TypeOf((*ArrayOfVirtualMachinePrecisionClockInfo)(nil)).Elem()
  7186  }
  7187  
  7188  // A boxed array of `VirtualMachineProfileDetailsDiskProfileDetails`. To be used in `Any` placeholders.
  7189  type ArrayOfVirtualMachineProfileDetailsDiskProfileDetails struct {
  7190  	VirtualMachineProfileDetailsDiskProfileDetails []VirtualMachineProfileDetailsDiskProfileDetails `xml:"VirtualMachineProfileDetailsDiskProfileDetails,omitempty" json:"_value"`
  7191  }
  7192  
  7193  func init() {
  7194  	t["ArrayOfVirtualMachineProfileDetailsDiskProfileDetails"] = reflect.TypeOf((*ArrayOfVirtualMachineProfileDetailsDiskProfileDetails)(nil)).Elem()
  7195  }
  7196  
  7197  // A boxed array of `VirtualMachineProfileSpec`. To be used in `Any` placeholders.
  7198  type ArrayOfVirtualMachineProfileSpec struct {
  7199  	VirtualMachineProfileSpec []BaseVirtualMachineProfileSpec `xml:"VirtualMachineProfileSpec,omitempty,typeattr" json:"_value"`
  7200  }
  7201  
  7202  func init() {
  7203  	t["ArrayOfVirtualMachineProfileSpec"] = reflect.TypeOf((*ArrayOfVirtualMachineProfileSpec)(nil)).Elem()
  7204  }
  7205  
  7206  // A boxed array of `VirtualMachinePropertyRelation`. To be used in `Any` placeholders.
  7207  type ArrayOfVirtualMachinePropertyRelation struct {
  7208  	VirtualMachinePropertyRelation []VirtualMachinePropertyRelation `xml:"VirtualMachinePropertyRelation,omitempty" json:"_value"`
  7209  }
  7210  
  7211  func init() {
  7212  	t["ArrayOfVirtualMachinePropertyRelation"] = reflect.TypeOf((*ArrayOfVirtualMachinePropertyRelation)(nil)).Elem()
  7213  }
  7214  
  7215  // A boxed array of `VirtualMachineQuickStatsMemoryTierStats`. To be used in `Any` placeholders.
  7216  type ArrayOfVirtualMachineQuickStatsMemoryTierStats struct {
  7217  	VirtualMachineQuickStatsMemoryTierStats []VirtualMachineQuickStatsMemoryTierStats `xml:"VirtualMachineQuickStatsMemoryTierStats,omitempty" json:"_value"`
  7218  }
  7219  
  7220  func init() {
  7221  	t["ArrayOfVirtualMachineQuickStatsMemoryTierStats"] = reflect.TypeOf((*ArrayOfVirtualMachineQuickStatsMemoryTierStats)(nil)).Elem()
  7222  }
  7223  
  7224  // A boxed array of `VirtualMachineRelocateSpecDiskLocator`. To be used in `Any` placeholders.
  7225  type ArrayOfVirtualMachineRelocateSpecDiskLocator struct {
  7226  	VirtualMachineRelocateSpecDiskLocator []VirtualMachineRelocateSpecDiskLocator `xml:"VirtualMachineRelocateSpecDiskLocator,omitempty" json:"_value"`
  7227  }
  7228  
  7229  func init() {
  7230  	t["ArrayOfVirtualMachineRelocateSpecDiskLocator"] = reflect.TypeOf((*ArrayOfVirtualMachineRelocateSpecDiskLocator)(nil)).Elem()
  7231  }
  7232  
  7233  // A boxed array of `VirtualMachineScsiDiskDeviceInfo`. To be used in `Any` placeholders.
  7234  type ArrayOfVirtualMachineScsiDiskDeviceInfo struct {
  7235  	VirtualMachineScsiDiskDeviceInfo []VirtualMachineScsiDiskDeviceInfo `xml:"VirtualMachineScsiDiskDeviceInfo,omitempty" json:"_value"`
  7236  }
  7237  
  7238  func init() {
  7239  	t["ArrayOfVirtualMachineScsiDiskDeviceInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineScsiDiskDeviceInfo)(nil)).Elem()
  7240  }
  7241  
  7242  // A boxed array of `VirtualMachineScsiPassthroughInfo`. To be used in `Any` placeholders.
  7243  type ArrayOfVirtualMachineScsiPassthroughInfo struct {
  7244  	VirtualMachineScsiPassthroughInfo []VirtualMachineScsiPassthroughInfo `xml:"VirtualMachineScsiPassthroughInfo,omitempty" json:"_value"`
  7245  }
  7246  
  7247  func init() {
  7248  	t["ArrayOfVirtualMachineScsiPassthroughInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineScsiPassthroughInfo)(nil)).Elem()
  7249  }
  7250  
  7251  // A boxed array of `VirtualMachineSerialInfo`. To be used in `Any` placeholders.
  7252  type ArrayOfVirtualMachineSerialInfo struct {
  7253  	VirtualMachineSerialInfo []VirtualMachineSerialInfo `xml:"VirtualMachineSerialInfo,omitempty" json:"_value"`
  7254  }
  7255  
  7256  func init() {
  7257  	t["ArrayOfVirtualMachineSerialInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineSerialInfo)(nil)).Elem()
  7258  }
  7259  
  7260  // A boxed array of `VirtualMachineSnapshotTree`. To be used in `Any` placeholders.
  7261  type ArrayOfVirtualMachineSnapshotTree struct {
  7262  	VirtualMachineSnapshotTree []VirtualMachineSnapshotTree `xml:"VirtualMachineSnapshotTree,omitempty" json:"_value"`
  7263  }
  7264  
  7265  func init() {
  7266  	t["ArrayOfVirtualMachineSnapshotTree"] = reflect.TypeOf((*ArrayOfVirtualMachineSnapshotTree)(nil)).Elem()
  7267  }
  7268  
  7269  // A boxed array of `VirtualMachineSoundInfo`. To be used in `Any` placeholders.
  7270  type ArrayOfVirtualMachineSoundInfo struct {
  7271  	VirtualMachineSoundInfo []VirtualMachineSoundInfo `xml:"VirtualMachineSoundInfo,omitempty" json:"_value"`
  7272  }
  7273  
  7274  func init() {
  7275  	t["ArrayOfVirtualMachineSoundInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineSoundInfo)(nil)).Elem()
  7276  }
  7277  
  7278  // A boxed array of `VirtualMachineSriovInfo`. To be used in `Any` placeholders.
  7279  type ArrayOfVirtualMachineSriovInfo struct {
  7280  	VirtualMachineSriovInfo []VirtualMachineSriovInfo `xml:"VirtualMachineSriovInfo,omitempty" json:"_value"`
  7281  }
  7282  
  7283  func init() {
  7284  	t["ArrayOfVirtualMachineSriovInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineSriovInfo)(nil)).Elem()
  7285  }
  7286  
  7287  // A boxed array of `VirtualMachineSummary`. To be used in `Any` placeholders.
  7288  type ArrayOfVirtualMachineSummary struct {
  7289  	VirtualMachineSummary []VirtualMachineSummary `xml:"VirtualMachineSummary,omitempty" json:"_value"`
  7290  }
  7291  
  7292  func init() {
  7293  	t["ArrayOfVirtualMachineSummary"] = reflect.TypeOf((*ArrayOfVirtualMachineSummary)(nil)).Elem()
  7294  }
  7295  
  7296  // A boxed array of `VirtualMachineUsageOnDatastore`. To be used in `Any` placeholders.
  7297  type ArrayOfVirtualMachineUsageOnDatastore struct {
  7298  	VirtualMachineUsageOnDatastore []VirtualMachineUsageOnDatastore `xml:"VirtualMachineUsageOnDatastore,omitempty" json:"_value"`
  7299  }
  7300  
  7301  func init() {
  7302  	t["ArrayOfVirtualMachineUsageOnDatastore"] = reflect.TypeOf((*ArrayOfVirtualMachineUsageOnDatastore)(nil)).Elem()
  7303  }
  7304  
  7305  // A boxed array of `VirtualMachineUsbInfo`. To be used in `Any` placeholders.
  7306  type ArrayOfVirtualMachineUsbInfo struct {
  7307  	VirtualMachineUsbInfo []VirtualMachineUsbInfo `xml:"VirtualMachineUsbInfo,omitempty" json:"_value"`
  7308  }
  7309  
  7310  func init() {
  7311  	t["ArrayOfVirtualMachineUsbInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineUsbInfo)(nil)).Elem()
  7312  }
  7313  
  7314  // A boxed array of `VirtualMachineVFlashModuleInfo`. To be used in `Any` placeholders.
  7315  type ArrayOfVirtualMachineVFlashModuleInfo struct {
  7316  	VirtualMachineVFlashModuleInfo []VirtualMachineVFlashModuleInfo `xml:"VirtualMachineVFlashModuleInfo,omitempty" json:"_value"`
  7317  }
  7318  
  7319  func init() {
  7320  	t["ArrayOfVirtualMachineVFlashModuleInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineVFlashModuleInfo)(nil)).Elem()
  7321  }
  7322  
  7323  // A boxed array of `VirtualMachineVMCIDeviceFilterSpec`. To be used in `Any` placeholders.
  7324  type ArrayOfVirtualMachineVMCIDeviceFilterSpec struct {
  7325  	VirtualMachineVMCIDeviceFilterSpec []VirtualMachineVMCIDeviceFilterSpec `xml:"VirtualMachineVMCIDeviceFilterSpec,omitempty" json:"_value"`
  7326  }
  7327  
  7328  func init() {
  7329  	t["ArrayOfVirtualMachineVMCIDeviceFilterSpec"] = reflect.TypeOf((*ArrayOfVirtualMachineVMCIDeviceFilterSpec)(nil)).Elem()
  7330  }
  7331  
  7332  // A boxed array of `VirtualMachineVMotionStunTimeInfo`. To be used in `Any` placeholders.
  7333  type ArrayOfVirtualMachineVMotionStunTimeInfo struct {
  7334  	VirtualMachineVMotionStunTimeInfo []VirtualMachineVMotionStunTimeInfo `xml:"VirtualMachineVMotionStunTimeInfo,omitempty" json:"_value"`
  7335  }
  7336  
  7337  func init() {
  7338  	t["ArrayOfVirtualMachineVMotionStunTimeInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineVMotionStunTimeInfo)(nil)).Elem()
  7339  }
  7340  
  7341  // A boxed array of `VirtualMachineVcpuConfig`. To be used in `Any` placeholders.
  7342  type ArrayOfVirtualMachineVcpuConfig struct {
  7343  	VirtualMachineVcpuConfig []VirtualMachineVcpuConfig `xml:"VirtualMachineVcpuConfig,omitempty" json:"_value"`
  7344  }
  7345  
  7346  func init() {
  7347  	t["ArrayOfVirtualMachineVcpuConfig"] = reflect.TypeOf((*ArrayOfVirtualMachineVcpuConfig)(nil)).Elem()
  7348  }
  7349  
  7350  // A boxed array of `VirtualMachineVendorDeviceGroupInfo`. To be used in `Any` placeholders.
  7351  type ArrayOfVirtualMachineVendorDeviceGroupInfo struct {
  7352  	VirtualMachineVendorDeviceGroupInfo []VirtualMachineVendorDeviceGroupInfo `xml:"VirtualMachineVendorDeviceGroupInfo,omitempty" json:"_value"`
  7353  }
  7354  
  7355  func init() {
  7356  	t["ArrayOfVirtualMachineVendorDeviceGroupInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineVendorDeviceGroupInfo)(nil)).Elem()
  7357  }
  7358  
  7359  // A boxed array of `VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo`. To be used in `Any` placeholders.
  7360  type ArrayOfVirtualMachineVendorDeviceGroupInfoComponentDeviceInfo struct {
  7361  	VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo []VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo `xml:"VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo,omitempty" json:"_value"`
  7362  }
  7363  
  7364  func init() {
  7365  	t["ArrayOfVirtualMachineVendorDeviceGroupInfoComponentDeviceInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineVendorDeviceGroupInfoComponentDeviceInfo)(nil)).Elem()
  7366  }
  7367  
  7368  // A boxed array of `VirtualMachineVgpuDeviceInfo`. To be used in `Any` placeholders.
  7369  type ArrayOfVirtualMachineVgpuDeviceInfo struct {
  7370  	VirtualMachineVgpuDeviceInfo []VirtualMachineVgpuDeviceInfo `xml:"VirtualMachineVgpuDeviceInfo,omitempty" json:"_value"`
  7371  }
  7372  
  7373  func init() {
  7374  	t["ArrayOfVirtualMachineVgpuDeviceInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineVgpuDeviceInfo)(nil)).Elem()
  7375  }
  7376  
  7377  // A boxed array of `VirtualMachineVgpuProfileInfo`. To be used in `Any` placeholders.
  7378  type ArrayOfVirtualMachineVgpuProfileInfo struct {
  7379  	VirtualMachineVgpuProfileInfo []VirtualMachineVgpuProfileInfo `xml:"VirtualMachineVgpuProfileInfo,omitempty" json:"_value"`
  7380  }
  7381  
  7382  func init() {
  7383  	t["ArrayOfVirtualMachineVgpuProfileInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineVgpuProfileInfo)(nil)).Elem()
  7384  }
  7385  
  7386  // A boxed array of `VirtualMachineVirtualDeviceGroupsDeviceGroup`. To be used in `Any` placeholders.
  7387  type ArrayOfVirtualMachineVirtualDeviceGroupsDeviceGroup struct {
  7388  	VirtualMachineVirtualDeviceGroupsDeviceGroup []BaseVirtualMachineVirtualDeviceGroupsDeviceGroup `xml:"VirtualMachineVirtualDeviceGroupsDeviceGroup,omitempty,typeattr" json:"_value"`
  7389  }
  7390  
  7391  func init() {
  7392  	t["ArrayOfVirtualMachineVirtualDeviceGroupsDeviceGroup"] = reflect.TypeOf((*ArrayOfVirtualMachineVirtualDeviceGroupsDeviceGroup)(nil)).Elem()
  7393  }
  7394  
  7395  // A boxed array of `VirtualNicManagerNetConfig`. To be used in `Any` placeholders.
  7396  type ArrayOfVirtualNicManagerNetConfig struct {
  7397  	VirtualNicManagerNetConfig []VirtualNicManagerNetConfig `xml:"VirtualNicManagerNetConfig,omitempty" json:"_value"`
  7398  }
  7399  
  7400  func init() {
  7401  	t["ArrayOfVirtualNicManagerNetConfig"] = reflect.TypeOf((*ArrayOfVirtualNicManagerNetConfig)(nil)).Elem()
  7402  }
  7403  
  7404  // A boxed array of `VirtualPCIPassthroughAllowedDevice`. To be used in `Any` placeholders.
  7405  type ArrayOfVirtualPCIPassthroughAllowedDevice struct {
  7406  	VirtualPCIPassthroughAllowedDevice []VirtualPCIPassthroughAllowedDevice `xml:"VirtualPCIPassthroughAllowedDevice,omitempty" json:"_value"`
  7407  }
  7408  
  7409  func init() {
  7410  	t["ArrayOfVirtualPCIPassthroughAllowedDevice"] = reflect.TypeOf((*ArrayOfVirtualPCIPassthroughAllowedDevice)(nil)).Elem()
  7411  }
  7412  
  7413  // A boxed array of `VirtualSCSISharing_enum`. To be used in `Any` placeholders.
  7414  type ArrayOfVirtualSCSISharing struct {
  7415  	VirtualSCSISharing []VirtualSCSISharing `xml:"VirtualSCSISharing,omitempty" json:"_value"`
  7416  }
  7417  
  7418  func init() {
  7419  	t["ArrayOfVirtualSCSISharing"] = reflect.TypeOf((*ArrayOfVirtualSCSISharing)(nil)).Elem()
  7420  }
  7421  
  7422  // A boxed array of `VirtualSwitchProfile`. To be used in `Any` placeholders.
  7423  type ArrayOfVirtualSwitchProfile struct {
  7424  	VirtualSwitchProfile []VirtualSwitchProfile `xml:"VirtualSwitchProfile,omitempty" json:"_value"`
  7425  }
  7426  
  7427  func init() {
  7428  	t["ArrayOfVirtualSwitchProfile"] = reflect.TypeOf((*ArrayOfVirtualSwitchProfile)(nil)).Elem()
  7429  }
  7430  
  7431  // A boxed array of `VmEventArgument`. To be used in `Any` placeholders.
  7432  type ArrayOfVmEventArgument struct {
  7433  	VmEventArgument []VmEventArgument `xml:"VmEventArgument,omitempty" json:"_value"`
  7434  }
  7435  
  7436  func init() {
  7437  	t["ArrayOfVmEventArgument"] = reflect.TypeOf((*ArrayOfVmEventArgument)(nil)).Elem()
  7438  }
  7439  
  7440  // A boxed array of `VmPodConfigForPlacement`. To be used in `Any` placeholders.
  7441  type ArrayOfVmPodConfigForPlacement struct {
  7442  	VmPodConfigForPlacement []VmPodConfigForPlacement `xml:"VmPodConfigForPlacement,omitempty" json:"_value"`
  7443  }
  7444  
  7445  func init() {
  7446  	t["ArrayOfVmPodConfigForPlacement"] = reflect.TypeOf((*ArrayOfVmPodConfigForPlacement)(nil)).Elem()
  7447  }
  7448  
  7449  // A boxed array of `VmPortGroupProfile`. To be used in `Any` placeholders.
  7450  type ArrayOfVmPortGroupProfile struct {
  7451  	VmPortGroupProfile []VmPortGroupProfile `xml:"VmPortGroupProfile,omitempty" json:"_value"`
  7452  }
  7453  
  7454  func init() {
  7455  	t["ArrayOfVmPortGroupProfile"] = reflect.TypeOf((*ArrayOfVmPortGroupProfile)(nil)).Elem()
  7456  }
  7457  
  7458  // A boxed array of `VmfsConfigOption`. To be used in `Any` placeholders.
  7459  type ArrayOfVmfsConfigOption struct {
  7460  	VmfsConfigOption []VmfsConfigOption `xml:"VmfsConfigOption,omitempty" json:"_value"`
  7461  }
  7462  
  7463  func init() {
  7464  	t["ArrayOfVmfsConfigOption"] = reflect.TypeOf((*ArrayOfVmfsConfigOption)(nil)).Elem()
  7465  }
  7466  
  7467  // A boxed array of `VmfsDatastoreOption`. To be used in `Any` placeholders.
  7468  type ArrayOfVmfsDatastoreOption struct {
  7469  	VmfsDatastoreOption []VmfsDatastoreOption `xml:"VmfsDatastoreOption,omitempty" json:"_value"`
  7470  }
  7471  
  7472  func init() {
  7473  	t["ArrayOfVmfsDatastoreOption"] = reflect.TypeOf((*ArrayOfVmfsDatastoreOption)(nil)).Elem()
  7474  }
  7475  
  7476  // A boxed array of `VnicPortArgument`. To be used in `Any` placeholders.
  7477  type ArrayOfVnicPortArgument struct {
  7478  	VnicPortArgument []VnicPortArgument `xml:"VnicPortArgument,omitempty" json:"_value"`
  7479  }
  7480  
  7481  func init() {
  7482  	t["ArrayOfVnicPortArgument"] = reflect.TypeOf((*ArrayOfVnicPortArgument)(nil)).Elem()
  7483  }
  7484  
  7485  // A boxed array of `VsanHostConfigInfo`. To be used in `Any` placeholders.
  7486  type ArrayOfVsanHostConfigInfo struct {
  7487  	VsanHostConfigInfo []VsanHostConfigInfo `xml:"VsanHostConfigInfo,omitempty" json:"_value"`
  7488  }
  7489  
  7490  func init() {
  7491  	t["ArrayOfVsanHostConfigInfo"] = reflect.TypeOf((*ArrayOfVsanHostConfigInfo)(nil)).Elem()
  7492  }
  7493  
  7494  // A boxed array of `VsanHostConfigInfoNetworkInfoPortConfig`. To be used in `Any` placeholders.
  7495  type ArrayOfVsanHostConfigInfoNetworkInfoPortConfig struct {
  7496  	VsanHostConfigInfoNetworkInfoPortConfig []VsanHostConfigInfoNetworkInfoPortConfig `xml:"VsanHostConfigInfoNetworkInfoPortConfig,omitempty" json:"_value"`
  7497  }
  7498  
  7499  func init() {
  7500  	t["ArrayOfVsanHostConfigInfoNetworkInfoPortConfig"] = reflect.TypeOf((*ArrayOfVsanHostConfigInfoNetworkInfoPortConfig)(nil)).Elem()
  7501  }
  7502  
  7503  // A boxed array of `VsanHostDiskMapInfo`. To be used in `Any` placeholders.
  7504  type ArrayOfVsanHostDiskMapInfo struct {
  7505  	VsanHostDiskMapInfo []VsanHostDiskMapInfo `xml:"VsanHostDiskMapInfo,omitempty" json:"_value"`
  7506  }
  7507  
  7508  func init() {
  7509  	t["ArrayOfVsanHostDiskMapInfo"] = reflect.TypeOf((*ArrayOfVsanHostDiskMapInfo)(nil)).Elem()
  7510  }
  7511  
  7512  // A boxed array of `VsanHostDiskMapResult`. To be used in `Any` placeholders.
  7513  type ArrayOfVsanHostDiskMapResult struct {
  7514  	VsanHostDiskMapResult []VsanHostDiskMapResult `xml:"VsanHostDiskMapResult,omitempty" json:"_value"`
  7515  }
  7516  
  7517  func init() {
  7518  	t["ArrayOfVsanHostDiskMapResult"] = reflect.TypeOf((*ArrayOfVsanHostDiskMapResult)(nil)).Elem()
  7519  }
  7520  
  7521  // A boxed array of `VsanHostDiskMapping`. To be used in `Any` placeholders.
  7522  type ArrayOfVsanHostDiskMapping struct {
  7523  	VsanHostDiskMapping []VsanHostDiskMapping `xml:"VsanHostDiskMapping,omitempty" json:"_value"`
  7524  }
  7525  
  7526  func init() {
  7527  	t["ArrayOfVsanHostDiskMapping"] = reflect.TypeOf((*ArrayOfVsanHostDiskMapping)(nil)).Elem()
  7528  }
  7529  
  7530  // A boxed array of `VsanHostDiskResult`. To be used in `Any` placeholders.
  7531  type ArrayOfVsanHostDiskResult struct {
  7532  	VsanHostDiskResult []VsanHostDiskResult `xml:"VsanHostDiskResult,omitempty" json:"_value"`
  7533  }
  7534  
  7535  func init() {
  7536  	t["ArrayOfVsanHostDiskResult"] = reflect.TypeOf((*ArrayOfVsanHostDiskResult)(nil)).Elem()
  7537  }
  7538  
  7539  // A boxed array of `VsanHostMembershipInfo`. To be used in `Any` placeholders.
  7540  type ArrayOfVsanHostMembershipInfo struct {
  7541  	VsanHostMembershipInfo []VsanHostMembershipInfo `xml:"VsanHostMembershipInfo,omitempty" json:"_value"`
  7542  }
  7543  
  7544  func init() {
  7545  	t["ArrayOfVsanHostMembershipInfo"] = reflect.TypeOf((*ArrayOfVsanHostMembershipInfo)(nil)).Elem()
  7546  }
  7547  
  7548  // A boxed array of `VsanHostRuntimeInfoDiskIssue`. To be used in `Any` placeholders.
  7549  type ArrayOfVsanHostRuntimeInfoDiskIssue struct {
  7550  	VsanHostRuntimeInfoDiskIssue []VsanHostRuntimeInfoDiskIssue `xml:"VsanHostRuntimeInfoDiskIssue,omitempty" json:"_value"`
  7551  }
  7552  
  7553  func init() {
  7554  	t["ArrayOfVsanHostRuntimeInfoDiskIssue"] = reflect.TypeOf((*ArrayOfVsanHostRuntimeInfoDiskIssue)(nil)).Elem()
  7555  }
  7556  
  7557  // A boxed array of `VsanNewPolicyBatch`. To be used in `Any` placeholders.
  7558  type ArrayOfVsanNewPolicyBatch struct {
  7559  	VsanNewPolicyBatch []VsanNewPolicyBatch `xml:"VsanNewPolicyBatch,omitempty" json:"_value"`
  7560  }
  7561  
  7562  func init() {
  7563  	t["ArrayOfVsanNewPolicyBatch"] = reflect.TypeOf((*ArrayOfVsanNewPolicyBatch)(nil)).Elem()
  7564  }
  7565  
  7566  // A boxed array of `VsanPolicyChangeBatch`. To be used in `Any` placeholders.
  7567  type ArrayOfVsanPolicyChangeBatch struct {
  7568  	VsanPolicyChangeBatch []VsanPolicyChangeBatch `xml:"VsanPolicyChangeBatch,omitempty" json:"_value"`
  7569  }
  7570  
  7571  func init() {
  7572  	t["ArrayOfVsanPolicyChangeBatch"] = reflect.TypeOf((*ArrayOfVsanPolicyChangeBatch)(nil)).Elem()
  7573  }
  7574  
  7575  // A boxed array of `VsanPolicySatisfiability`. To be used in `Any` placeholders.
  7576  type ArrayOfVsanPolicySatisfiability struct {
  7577  	VsanPolicySatisfiability []VsanPolicySatisfiability `xml:"VsanPolicySatisfiability,omitempty" json:"_value"`
  7578  }
  7579  
  7580  func init() {
  7581  	t["ArrayOfVsanPolicySatisfiability"] = reflect.TypeOf((*ArrayOfVsanPolicySatisfiability)(nil)).Elem()
  7582  }
  7583  
  7584  // A boxed array of `VsanUpgradeSystemNetworkPartitionInfo`. To be used in `Any` placeholders.
  7585  type ArrayOfVsanUpgradeSystemNetworkPartitionInfo struct {
  7586  	VsanUpgradeSystemNetworkPartitionInfo []VsanUpgradeSystemNetworkPartitionInfo `xml:"VsanUpgradeSystemNetworkPartitionInfo,omitempty" json:"_value"`
  7587  }
  7588  
  7589  func init() {
  7590  	t["ArrayOfVsanUpgradeSystemNetworkPartitionInfo"] = reflect.TypeOf((*ArrayOfVsanUpgradeSystemNetworkPartitionInfo)(nil)).Elem()
  7591  }
  7592  
  7593  // A boxed array of `VsanUpgradeSystemPreflightCheckIssue`. To be used in `Any` placeholders.
  7594  type ArrayOfVsanUpgradeSystemPreflightCheckIssue struct {
  7595  	VsanUpgradeSystemPreflightCheckIssue []BaseVsanUpgradeSystemPreflightCheckIssue `xml:"VsanUpgradeSystemPreflightCheckIssue,omitempty,typeattr" json:"_value"`
  7596  }
  7597  
  7598  func init() {
  7599  	t["ArrayOfVsanUpgradeSystemPreflightCheckIssue"] = reflect.TypeOf((*ArrayOfVsanUpgradeSystemPreflightCheckIssue)(nil)).Elem()
  7600  }
  7601  
  7602  // A boxed array of `VsanUpgradeSystemUpgradeHistoryItem`. To be used in `Any` placeholders.
  7603  type ArrayOfVsanUpgradeSystemUpgradeHistoryItem struct {
  7604  	VsanUpgradeSystemUpgradeHistoryItem []BaseVsanUpgradeSystemUpgradeHistoryItem `xml:"VsanUpgradeSystemUpgradeHistoryItem,omitempty,typeattr" json:"_value"`
  7605  }
  7606  
  7607  func init() {
  7608  	t["ArrayOfVsanUpgradeSystemUpgradeHistoryItem"] = reflect.TypeOf((*ArrayOfVsanUpgradeSystemUpgradeHistoryItem)(nil)).Elem()
  7609  }
  7610  
  7611  // A boxed array of `VslmTagEntry`. To be used in `Any` placeholders.
  7612  type ArrayOfVslmTagEntry struct {
  7613  	VslmTagEntry []VslmTagEntry `xml:"VslmTagEntry,omitempty" json:"_value"`
  7614  }
  7615  
  7616  func init() {
  7617  	t["ArrayOfVslmTagEntry"] = reflect.TypeOf((*ArrayOfVslmTagEntry)(nil)).Elem()
  7618  }
  7619  
  7620  type ArrayOfVslmInfrastructureObjectPolicy struct {
  7621  	VslmInfrastructureObjectPolicy []VslmInfrastructureObjectPolicy `xml:"vslmInfrastructureObjectPolicy,omitempty" json:"_value"`
  7622  }
  7623  
  7624  func init() {
  7625  	t["ArrayOfvslmInfrastructureObjectPolicy"] = reflect.TypeOf((*ArrayOfVslmInfrastructureObjectPolicy)(nil)).Elem()
  7626  }
  7627  
  7628  // An ArrayUpdateSpec data object type is a common superclass
  7629  // for supporting incremental updates to arrays.
  7630  //
  7631  // The common code pattern is:
  7632  //
  7633  //	class MyTypeSpec extrends ArrayUpdateSpec {
  7634  //	      MyTypeInfo info;
  7635  //	}
  7636  //
  7637  // The ArrayUpdateSpec contains the following:
  7638  //   - `*operation*`: the type of operation being performed.
  7639  //   - `*removeKey*`: In the case of a remove operation, the
  7640  //     key value that identifies the array to be removed.
  7641  type ArrayUpdateSpec struct {
  7642  	DynamicData
  7643  
  7644  	// The type of operation being performed on the specified virtual device.
  7645  	Operation ArrayUpdateOperation `xml:"operation" json:"operation"`
  7646  	// Key for the element to be removed.
  7647  	//
  7648  	// Only used if the operation
  7649  	// is "remove".
  7650  	RemoveKey AnyType `xml:"removeKey,omitempty,typeattr" json:"removeKey,omitempty"`
  7651  }
  7652  
  7653  func init() {
  7654  	t["ArrayUpdateSpec"] = reflect.TypeOf((*ArrayUpdateSpec)(nil)).Elem()
  7655  }
  7656  
  7657  type AssignUserToGroup AssignUserToGroupRequestType
  7658  
  7659  func init() {
  7660  	t["AssignUserToGroup"] = reflect.TypeOf((*AssignUserToGroup)(nil)).Elem()
  7661  }
  7662  
  7663  // The parameters of `HostLocalAccountManager.AssignUserToGroup`.
  7664  type AssignUserToGroupRequestType struct {
  7665  	This ManagedObjectReference `xml:"_this" json:"-"`
  7666  	// User ID of the account whose group membership is
  7667  	// being assigned.
  7668  	User string `xml:"user" json:"user"`
  7669  	// Destination group account to which the user is
  7670  	// being assigned.
  7671  	Group string `xml:"group" json:"group"`
  7672  }
  7673  
  7674  func init() {
  7675  	t["AssignUserToGroupRequestType"] = reflect.TypeOf((*AssignUserToGroupRequestType)(nil)).Elem()
  7676  }
  7677  
  7678  type AssignUserToGroupResponse struct {
  7679  }
  7680  
  7681  type AssociateProfile AssociateProfileRequestType
  7682  
  7683  func init() {
  7684  	t["AssociateProfile"] = reflect.TypeOf((*AssociateProfile)(nil)).Elem()
  7685  }
  7686  
  7687  // The parameters of `Profile.AssociateProfile`.
  7688  type AssociateProfileRequestType struct {
  7689  	This ManagedObjectReference `xml:"_this" json:"-"`
  7690  	// The entity(s) to associate with the profile.
  7691  	// If an entity is already associated with the profile, the association is
  7692  	// maintained and the vCenter Server does not perform any action.
  7693  	//
  7694  	// Refers instances of `ManagedEntity`.
  7695  	Entity []ManagedObjectReference `xml:"entity" json:"entity"`
  7696  }
  7697  
  7698  func init() {
  7699  	t["AssociateProfileRequestType"] = reflect.TypeOf((*AssociateProfileRequestType)(nil)).Elem()
  7700  }
  7701  
  7702  type AssociateProfileResponse struct {
  7703  }
  7704  
  7705  // The parameters of `VirtualMachine.AttachDisk_Task`.
  7706  type AttachDiskRequestType struct {
  7707  	This ManagedObjectReference `xml:"_this" json:"-"`
  7708  	// The ID of the virtual disk to be operated. See
  7709  	// `ID`
  7710  	DiskId ID `xml:"diskId" json:"diskId"`
  7711  	// The datastore where the virtual disk is located.
  7712  	//
  7713  	// Refers instance of `Datastore`.
  7714  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
  7715  	// Key of the controller the disk will connect to.
  7716  	// It can be unset if there is only one controller
  7717  	// (SCSI or SATA) with the available slot in the
  7718  	// virtual machine. If there are multiple SCSI or
  7719  	// SATA controllers available, user must specify
  7720  	// the controller; if there is no available
  7721  	// controllers, a `MissingController`
  7722  	// fault will be thrown.
  7723  	ControllerKey int32 `xml:"controllerKey,omitempty" json:"controllerKey,omitempty"`
  7724  	// The unit number of the attached disk on its controller.
  7725  	// If unset, the next available slot on the specified
  7726  	// controller or the only available controller will be
  7727  	// assigned to the attached disk.
  7728  	UnitNumber *int32 `xml:"unitNumber" json:"unitNumber,omitempty"`
  7729  }
  7730  
  7731  func init() {
  7732  	t["AttachDiskRequestType"] = reflect.TypeOf((*AttachDiskRequestType)(nil)).Elem()
  7733  }
  7734  
  7735  type AttachDisk_Task AttachDiskRequestType
  7736  
  7737  func init() {
  7738  	t["AttachDisk_Task"] = reflect.TypeOf((*AttachDisk_Task)(nil)).Elem()
  7739  }
  7740  
  7741  type AttachDisk_TaskResponse struct {
  7742  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  7743  }
  7744  
  7745  type AttachScsiLun AttachScsiLunRequestType
  7746  
  7747  func init() {
  7748  	t["AttachScsiLun"] = reflect.TypeOf((*AttachScsiLun)(nil)).Elem()
  7749  }
  7750  
  7751  // The parameters of `HostStorageSystem.AttachScsiLunEx_Task`.
  7752  type AttachScsiLunExRequestType struct {
  7753  	This ManagedObjectReference `xml:"_this" json:"-"`
  7754  	// each element specifies UUID of LUN to be attached.
  7755  	LunUuid []string `xml:"lunUuid" json:"lunUuid"`
  7756  }
  7757  
  7758  func init() {
  7759  	t["AttachScsiLunExRequestType"] = reflect.TypeOf((*AttachScsiLunExRequestType)(nil)).Elem()
  7760  }
  7761  
  7762  type AttachScsiLunEx_Task AttachScsiLunExRequestType
  7763  
  7764  func init() {
  7765  	t["AttachScsiLunEx_Task"] = reflect.TypeOf((*AttachScsiLunEx_Task)(nil)).Elem()
  7766  }
  7767  
  7768  type AttachScsiLunEx_TaskResponse struct {
  7769  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  7770  }
  7771  
  7772  // The parameters of `HostStorageSystem.AttachScsiLun`.
  7773  type AttachScsiLunRequestType struct {
  7774  	This ManagedObjectReference `xml:"_this" json:"-"`
  7775  	// The uuid of the ScsiLun to update.
  7776  	LunUuid string `xml:"lunUuid" json:"lunUuid"`
  7777  }
  7778  
  7779  func init() {
  7780  	t["AttachScsiLunRequestType"] = reflect.TypeOf((*AttachScsiLunRequestType)(nil)).Elem()
  7781  }
  7782  
  7783  type AttachScsiLunResponse struct {
  7784  }
  7785  
  7786  type AttachTagToVStorageObject AttachTagToVStorageObjectRequestType
  7787  
  7788  func init() {
  7789  	t["AttachTagToVStorageObject"] = reflect.TypeOf((*AttachTagToVStorageObject)(nil)).Elem()
  7790  }
  7791  
  7792  // The parameters of `VcenterVStorageObjectManager.AttachTagToVStorageObject`.
  7793  type AttachTagToVStorageObjectRequestType struct {
  7794  	This ManagedObjectReference `xml:"_this" json:"-"`
  7795  	// The identifier(ID) of the virtual storage object.
  7796  	Id ID `xml:"id" json:"id"`
  7797  	// The category to which the tag belongs.
  7798  	Category string `xml:"category" json:"category"`
  7799  	// The tag which has to be associated with the virtual storage
  7800  	// object.
  7801  	Tag string `xml:"tag" json:"tag"`
  7802  }
  7803  
  7804  func init() {
  7805  	t["AttachTagToVStorageObjectRequestType"] = reflect.TypeOf((*AttachTagToVStorageObjectRequestType)(nil)).Elem()
  7806  }
  7807  
  7808  type AttachTagToVStorageObjectResponse struct {
  7809  }
  7810  
  7811  type AttachVmfsExtent AttachVmfsExtentRequestType
  7812  
  7813  func init() {
  7814  	t["AttachVmfsExtent"] = reflect.TypeOf((*AttachVmfsExtent)(nil)).Elem()
  7815  }
  7816  
  7817  // The parameters of `HostStorageSystem.AttachVmfsExtent`.
  7818  type AttachVmfsExtentRequestType struct {
  7819  	This ManagedObjectReference `xml:"_this" json:"-"`
  7820  	// The path of the VMFS to extend. See `FileSystemMountInfo`.
  7821  	VmfsPath string `xml:"vmfsPath" json:"vmfsPath"`
  7822  	// A data object that describes the specification of a
  7823  	// Disk partition.
  7824  	Extent HostScsiDiskPartition `xml:"extent" json:"extent"`
  7825  }
  7826  
  7827  func init() {
  7828  	t["AttachVmfsExtentRequestType"] = reflect.TypeOf((*AttachVmfsExtentRequestType)(nil)).Elem()
  7829  }
  7830  
  7831  type AttachVmfsExtentResponse struct {
  7832  }
  7833  
  7834  // This fault is thrown when the requested change
  7835  // would result in a loss of full administrative privileges
  7836  // for at least one user or group.
  7837  type AuthMinimumAdminPermission struct {
  7838  	VimFault
  7839  }
  7840  
  7841  func init() {
  7842  	t["AuthMinimumAdminPermission"] = reflect.TypeOf((*AuthMinimumAdminPermission)(nil)).Elem()
  7843  }
  7844  
  7845  type AuthMinimumAdminPermissionFault AuthMinimumAdminPermission
  7846  
  7847  func init() {
  7848  	t["AuthMinimumAdminPermissionFault"] = reflect.TypeOf((*AuthMinimumAdminPermissionFault)(nil)).Elem()
  7849  }
  7850  
  7851  // The `AuthenticationProfile` data object represents the host configuration
  7852  // for authentication.
  7853  //
  7854  // If a profile plug-in defines policies or subprofiles, use the
  7855  // `ApplyProfile.policy` or `ApplyProfile.property`
  7856  // list to access the additional configuration data.
  7857  type AuthenticationProfile struct {
  7858  	ApplyProfile
  7859  
  7860  	// Subprofile representing the Active Directory configuration.
  7861  	ActiveDirectory *ActiveDirectoryProfile `xml:"activeDirectory,omitempty" json:"activeDirectory,omitempty"`
  7862  }
  7863  
  7864  func init() {
  7865  	t["AuthenticationProfile"] = reflect.TypeOf((*AuthenticationProfile)(nil)).Elem()
  7866  	minAPIVersionForType["AuthenticationProfile"] = "4.1"
  7867  }
  7868  
  7869  // Static strings for authorization.
  7870  type AuthorizationDescription struct {
  7871  	DynamicData
  7872  
  7873  	// Description of the privilege.
  7874  	Privilege []BaseElementDescription `xml:"privilege,typeattr" json:"privilege"`
  7875  	// Description of a category of similar privileges, grouped
  7876  	// together for convenience.
  7877  	PrivilegeGroup []BaseElementDescription `xml:"privilegeGroup,typeattr" json:"privilegeGroup"`
  7878  }
  7879  
  7880  func init() {
  7881  	t["AuthorizationDescription"] = reflect.TypeOf((*AuthorizationDescription)(nil)).Elem()
  7882  }
  7883  
  7884  // These events indicate authorization events.
  7885  type AuthorizationEvent struct {
  7886  	Event
  7887  }
  7888  
  7889  func init() {
  7890  	t["AuthorizationEvent"] = reflect.TypeOf((*AuthorizationEvent)(nil)).Elem()
  7891  }
  7892  
  7893  // This data object type provides access to some aspect of the system.
  7894  //
  7895  // Privileges are generally independent. This means a user with a privilege
  7896  // usually can perform an associated set of actions without needing any
  7897  // additional supporting privileges.
  7898  //
  7899  // Within each product version, privileges do not change.
  7900  // See `AuthorizationDescription` for
  7901  // detailed information on the privileges defined by the system.
  7902  type AuthorizationPrivilege struct {
  7903  	DynamicData
  7904  
  7905  	// Unique identifier.
  7906  	PrivId string `xml:"privId" json:"privId"`
  7907  	// Determines whether or not the privilege is applied on the parent entity.
  7908  	OnParent bool `xml:"onParent" json:"onParent"`
  7909  	// Privilege name.
  7910  	Name string `xml:"name" json:"name"`
  7911  	// Group name.
  7912  	PrivGroupName string `xml:"privGroupName" json:"privGroupName"`
  7913  }
  7914  
  7915  func init() {
  7916  	t["AuthorizationPrivilege"] = reflect.TypeOf((*AuthorizationPrivilege)(nil)).Elem()
  7917  }
  7918  
  7919  // This data object type specifies a collection of privileges used
  7920  // to grant access to users on managed entities.
  7921  type AuthorizationRole struct {
  7922  	DynamicData
  7923  
  7924  	// Unique role identifier.
  7925  	RoleId int32 `xml:"roleId" json:"roleId"`
  7926  	// Whether or not the role is system-defined.
  7927  	//
  7928  	// System-defined roles cannot be
  7929  	// changed.
  7930  	System bool `xml:"system" json:"system"`
  7931  	// System-defined or user-defined role name.
  7932  	Name string `xml:"name" json:"name"`
  7933  	// Displayable role information.
  7934  	Info BaseDescription `xml:"info,typeattr" json:"info"`
  7935  	// Privileges provided by this role, by privilege identifier.
  7936  	Privilege []string `xml:"privilege,omitempty" json:"privilege,omitempty"`
  7937  }
  7938  
  7939  func init() {
  7940  	t["AuthorizationRole"] = reflect.TypeOf((*AuthorizationRole)(nil)).Elem()
  7941  }
  7942  
  7943  // Defines the system default auto-start/auto-stop values.
  7944  type AutoStartDefaults struct {
  7945  	DynamicData
  7946  
  7947  	// Indicates whether or not auto-start manager is enabled.
  7948  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
  7949  	// System-default autoStart delay in seconds.
  7950  	//
  7951  	// The default is 120 seconds.
  7952  	StartDelay int32 `xml:"startDelay,omitempty" json:"startDelay,omitempty"`
  7953  	// System-default autoStop delay in seconds.
  7954  	//
  7955  	// The default is 120 seconds.
  7956  	StopDelay int32 `xml:"stopDelay,omitempty" json:"stopDelay,omitempty"`
  7957  	// System-default waitForHeartbeat setting.
  7958  	WaitForHeartbeat *bool `xml:"waitForHeartbeat" json:"waitForHeartbeat,omitempty"`
  7959  	// System-default power-off action.
  7960  	//
  7961  	// Used if the stopAction string in the
  7962  	// AutoPowerInfo object for a particular machine is set to systemDefault.
  7963  	// If stopAction and startAction for a virtual machine are both set to none,
  7964  	// that virtual machine is removed from the AutoStart sequence.
  7965  	StopAction string `xml:"stopAction,omitempty" json:"stopAction,omitempty"`
  7966  }
  7967  
  7968  func init() {
  7969  	t["AutoStartDefaults"] = reflect.TypeOf((*AutoStartDefaults)(nil)).Elem()
  7970  }
  7971  
  7972  // This object type describes the power-on / power-off behavior for a given virtual
  7973  // machine.
  7974  //
  7975  // Virtual machines can be configured to wait for a period of time before
  7976  // starting or to wait to receive a successful heartbeat from a virtual machine
  7977  // before starting the next virtual machine in the sequence.
  7978  //   - For a power-on operation, if waitForHeartbeat is true, then the power-on
  7979  //     sequence continues after the first heartbeat has been received. If
  7980  //     waitForHeartbeat is false, the system waits for the specified delay and
  7981  //     then continues the power-on sequence.
  7982  //   - For a power-off operation, if delay is non-zero, the requested power-off
  7983  //     action is invoked (powerOff, suspend, guestShutdown) on the virtual
  7984  //     machine and the system waits until the number of seconds specified in the
  7985  //     delay have passed.
  7986  //
  7987  // If startAction and stopAction for a virtual machine are both set to none, that
  7988  // virtual machine is removed from the AutoStart sequence.
  7989  // Virtual machines can be configured both to wait for a period of time before
  7990  // starting and to wait for a heartbeat. In such a case, the waiting virtual machine
  7991  // only waits until either of these conditions are met. In other words, a virtual
  7992  // machine starts in either of the following cases:
  7993  //   - After receiving a heartbeat but before the start delay has elapsed
  7994  //   - After the start delay has elapsed but before receiving a heartbeat
  7995  //
  7996  // This provides a better experience since as soon as one virtual machine begins
  7997  // sending heartbeats, indicating it has successfully started up, the next machine
  7998  // will begin starting up. This happens even if the startDelay has not yet elapsed.
  7999  // Similarly, if one virtual machine fails to begin sending heartbeats, perhaps
  8000  // because it could not start up, other machines are not blocked from starting up
  8001  // since the startDelay eventually elapses.
  8002  type AutoStartPowerInfo struct {
  8003  	DynamicData
  8004  
  8005  	// Virtual machine to power on or power off.
  8006  	//
  8007  	// Refers instance of `VirtualMachine`.
  8008  	Key ManagedObjectReference `xml:"key" json:"key"`
  8009  	// The autostart priority of this virtual machine.
  8010  	//
  8011  	// Virtual machines with a lower
  8012  	// number are powered on first. On host shutdown, the virtual machines are
  8013  	// shut down in reverse order, meaning those with a higher number are powered off
  8014  	// first.
  8015  	//
  8016  	// Positive values indicate a start order and -1 indicates the machine can be
  8017  	// powered on at any time. Machines with a -1 value are typically powered on and
  8018  	// off after all virtual machines with positive startOrder values. Failure to
  8019  	// meet the following requirements results in an InvalidArgument exception:
  8020  	//     - startOrder must be set to -1 if startAction is set to none
  8021  	//     - startOrder must be -1 or positive integers. Values such as 0 or
  8022  	//       \-2 are not valid.
  8023  	//     - startOrder is relative to other virtual machines in the autostart
  8024  	//       sequence. Hence specifying a startOrder of 4 when there are only 3
  8025  	//       virtual machines in the Autostart sequence is not valid.
  8026  	//
  8027  	// If a newly established or changed startOrder value for a virtual machine
  8028  	// matches an existing startOrder value, the newly applied value takes
  8029  	// precedence, and the existing value is incremented by one. The incremented
  8030  	// startOrder value is checked for collisions, and the same rule is applied if
  8031  	// one is found. This simple system ensures no two virtual machines ever have the
  8032  	// same order number.
  8033  	//
  8034  	// For example, consider the case where there are three virtual machines with
  8035  	// different startOrder values. Virtual machine A has not yet established a
  8036  	// startOrder, virtual machine B has a startOrder value of 1 and Virtual Machine
  8037  	// C has a startOrder value of 2. If virtual machine A's startOrder is set to 1,
  8038  	// then virtual machine B's startOrder is incremented to 2. This creates a
  8039  	// conflict with virtual machine C's startOrder value, which is also incremented,
  8040  	// this time to 3.
  8041  	StartOrder int32 `xml:"startOrder" json:"startOrder"`
  8042  	// Delay in seconds before continuing with the next virtual machine in the order
  8043  	// of machines to be started.
  8044  	//
  8045  	// If the delay is specified as -1, then the system
  8046  	// default is used.
  8047  	StartDelay       int32                         `xml:"startDelay" json:"startDelay"`
  8048  	WaitForHeartbeat AutoStartWaitHeartbeatSetting `xml:"waitForHeartbeat" json:"waitForHeartbeat"`
  8049  	// How to start the virtual machine.
  8050  	//
  8051  	// Valid settings are none or powerOn.
  8052  	// If set to none, then the virtual machine does not participate in auto-start.
  8053  	StartAction string `xml:"startAction" json:"startAction"`
  8054  	// Delay in seconds before continuing with the next virtual machine in the order
  8055  	// sequence.
  8056  	//
  8057  	// If the delay is -1, then the system default is used.
  8058  	StopDelay int32 `xml:"stopDelay" json:"stopDelay"`
  8059  	// Defines the stop action for the virtual machine.
  8060  	//
  8061  	// Can be set to none,
  8062  	// systemDefault, powerOff, or suspend. If set to none, then the virtual machine
  8063  	// does not participate in auto-stop.
  8064  	StopAction string `xml:"stopAction" json:"stopAction"`
  8065  }
  8066  
  8067  func init() {
  8068  	t["AutoStartPowerInfo"] = reflect.TypeOf((*AutoStartPowerInfo)(nil)).Elem()
  8069  }
  8070  
  8071  type AutoStartPowerOff AutoStartPowerOffRequestType
  8072  
  8073  func init() {
  8074  	t["AutoStartPowerOff"] = reflect.TypeOf((*AutoStartPowerOff)(nil)).Elem()
  8075  }
  8076  
  8077  type AutoStartPowerOffRequestType struct {
  8078  	This ManagedObjectReference `xml:"_this" json:"-"`
  8079  }
  8080  
  8081  func init() {
  8082  	t["AutoStartPowerOffRequestType"] = reflect.TypeOf((*AutoStartPowerOffRequestType)(nil)).Elem()
  8083  }
  8084  
  8085  type AutoStartPowerOffResponse struct {
  8086  }
  8087  
  8088  type AutoStartPowerOn AutoStartPowerOnRequestType
  8089  
  8090  func init() {
  8091  	t["AutoStartPowerOn"] = reflect.TypeOf((*AutoStartPowerOn)(nil)).Elem()
  8092  }
  8093  
  8094  type AutoStartPowerOnRequestType struct {
  8095  	This ManagedObjectReference `xml:"_this" json:"-"`
  8096  }
  8097  
  8098  func init() {
  8099  	t["AutoStartPowerOnRequestType"] = reflect.TypeOf((*AutoStartPowerOnRequestType)(nil)).Elem()
  8100  }
  8101  
  8102  type AutoStartPowerOnResponse struct {
  8103  }
  8104  
  8105  // Thrown if backupConfig blob is corrupted
  8106  type BackupBlobReadFailure struct {
  8107  	DvsFault
  8108  
  8109  	// The entity name on which backupConfig read failed
  8110  	EntityName string `xml:"entityName" json:"entityName"`
  8111  	// The entity type on which backupConfig read failed
  8112  	EntityType string `xml:"entityType" json:"entityType"`
  8113  	// The fault that occurred.
  8114  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
  8115  }
  8116  
  8117  func init() {
  8118  	t["BackupBlobReadFailure"] = reflect.TypeOf((*BackupBlobReadFailure)(nil)).Elem()
  8119  	minAPIVersionForType["BackupBlobReadFailure"] = "5.1"
  8120  }
  8121  
  8122  type BackupBlobReadFailureFault BackupBlobReadFailure
  8123  
  8124  func init() {
  8125  	t["BackupBlobReadFailureFault"] = reflect.TypeOf((*BackupBlobReadFailureFault)(nil)).Elem()
  8126  }
  8127  
  8128  // Thrown if backupConfig blob write fails
  8129  type BackupBlobWriteFailure struct {
  8130  	DvsFault
  8131  
  8132  	// The entity name on which backupConfig write failed
  8133  	EntityName string `xml:"entityName" json:"entityName"`
  8134  	// The entity type on which backupConfig write failed
  8135  	EntityType string `xml:"entityType" json:"entityType"`
  8136  	// The fault that occurred.
  8137  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
  8138  }
  8139  
  8140  func init() {
  8141  	t["BackupBlobWriteFailure"] = reflect.TypeOf((*BackupBlobWriteFailure)(nil)).Elem()
  8142  	minAPIVersionForType["BackupBlobWriteFailure"] = "5.1"
  8143  }
  8144  
  8145  type BackupBlobWriteFailureFault BackupBlobWriteFailure
  8146  
  8147  func init() {
  8148  	t["BackupBlobWriteFailureFault"] = reflect.TypeOf((*BackupBlobWriteFailureFault)(nil)).Elem()
  8149  }
  8150  
  8151  type BackupFirmwareConfiguration BackupFirmwareConfigurationRequestType
  8152  
  8153  func init() {
  8154  	t["BackupFirmwareConfiguration"] = reflect.TypeOf((*BackupFirmwareConfiguration)(nil)).Elem()
  8155  }
  8156  
  8157  type BackupFirmwareConfigurationRequestType struct {
  8158  	This ManagedObjectReference `xml:"_this" json:"-"`
  8159  }
  8160  
  8161  func init() {
  8162  	t["BackupFirmwareConfigurationRequestType"] = reflect.TypeOf((*BackupFirmwareConfigurationRequestType)(nil)).Elem()
  8163  }
  8164  
  8165  type BackupFirmwareConfigurationResponse struct {
  8166  	Returnval string `xml:"returnval" json:"returnval"`
  8167  }
  8168  
  8169  // This event records a failed user logon.
  8170  //
  8171  // Failed logons are due to no match existing
  8172  // between the provided user name and password combination and the combinations
  8173  // stored for authentication.
  8174  type BadUsernameSessionEvent struct {
  8175  	SessionEvent
  8176  
  8177  	// The IP address of the peer that initiated the connection.
  8178  	//
  8179  	// This may
  8180  	// be the client that originated the session, or it may be an intervening
  8181  	// proxy if the binding uses a protocol that supports proxies, such as HTTP.
  8182  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
  8183  }
  8184  
  8185  func init() {
  8186  	t["BadUsernameSessionEvent"] = reflect.TypeOf((*BadUsernameSessionEvent)(nil)).Elem()
  8187  }
  8188  
  8189  // This data object type contains the basic configuration for
  8190  // a virtual storage object or a virtual storage object snapshot.
  8191  type BaseConfigInfo struct {
  8192  	DynamicData
  8193  
  8194  	// ID of this object.
  8195  	Id ID `xml:"id" json:"id"`
  8196  	// Descriptive name of this object.
  8197  	Name string `xml:"name" json:"name"`
  8198  	// The date and time this object was created.
  8199  	CreateTime time.Time `xml:"createTime" json:"createTime"`
  8200  	// Choice of the deletion behavior of this virtual storage object.
  8201  	//
  8202  	// If not set, the default value is false.
  8203  	KeepAfterDeleteVm *bool `xml:"keepAfterDeleteVm" json:"keepAfterDeleteVm,omitempty" vim:"6.7"`
  8204  	// Is virtual storage object relocation disabled.
  8205  	//
  8206  	// If not set, the default value is false.
  8207  	RelocationDisabled *bool `xml:"relocationDisabled" json:"relocationDisabled,omitempty" vim:"6.7"`
  8208  	// Is virtual storage object supports native snapshot.
  8209  	//
  8210  	// If not set, the default value is false.
  8211  	NativeSnapshotSupported *bool `xml:"nativeSnapshotSupported" json:"nativeSnapshotSupported,omitempty" vim:"6.7"`
  8212  	// If Virtua storage object has changed block tracking enabled.
  8213  	//
  8214  	// If not set, the default value is false.
  8215  	ChangedBlockTrackingEnabled *bool `xml:"changedBlockTrackingEnabled" json:"changedBlockTrackingEnabled,omitempty" vim:"6.7"`
  8216  	// Backing of this object.
  8217  	Backing BaseBaseConfigInfoBackingInfo `xml:"backing,typeattr" json:"backing"`
  8218  	// Metadata associated with the FCD if available.
  8219  	Metadata []KeyValue `xml:"metadata,omitempty" json:"metadata,omitempty" vim:"7.0.2.0"`
  8220  	// VClock associated with the fcd when the operation completed.
  8221  	//
  8222  	// The files is unset if the operation is a retrieve.
  8223  	Vclock *VslmVClockInfo `xml:"vclock,omitempty" json:"vclock,omitempty" vim:"7.0.2.0"`
  8224  	// IDs of the IO Filters associated with the virtual disk.
  8225  	//
  8226  	// See `IoFilterInfo.id`.
  8227  	// The client cannot modify this information on a virtual machine.
  8228  	Iofilter []string `xml:"iofilter,omitempty" json:"iofilter,omitempty" vim:"6.7"`
  8229  }
  8230  
  8231  func init() {
  8232  	t["BaseConfigInfo"] = reflect.TypeOf((*BaseConfigInfo)(nil)).Elem()
  8233  	minAPIVersionForType["BaseConfigInfo"] = "6.5"
  8234  }
  8235  
  8236  // The data object type is a base type of backing of a virtual
  8237  // storage object.
  8238  type BaseConfigInfoBackingInfo struct {
  8239  	DynamicData
  8240  
  8241  	// The datastore managed object where this backing is located.
  8242  	//
  8243  	// Refers instance of `Datastore`.
  8244  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
  8245  }
  8246  
  8247  func init() {
  8248  	t["BaseConfigInfoBackingInfo"] = reflect.TypeOf((*BaseConfigInfoBackingInfo)(nil)).Elem()
  8249  	minAPIVersionForType["BaseConfigInfoBackingInfo"] = "6.5"
  8250  }
  8251  
  8252  // The data object type for disk file backing of a virtual storage
  8253  // object.
  8254  //
  8255  // Disk file backing provides full virtualization of the backend
  8256  // storage.
  8257  type BaseConfigInfoDiskFileBackingInfo struct {
  8258  	BaseConfigInfoFileBackingInfo
  8259  
  8260  	// Provisioning type.
  8261  	//
  8262  	// See `BaseConfigInfoDiskFileBackingInfoProvisioningType_enum` for the
  8263  	// supported types.
  8264  	ProvisioningType string `xml:"provisioningType" json:"provisioningType"`
  8265  }
  8266  
  8267  func init() {
  8268  	t["BaseConfigInfoDiskFileBackingInfo"] = reflect.TypeOf((*BaseConfigInfoDiskFileBackingInfo)(nil)).Elem()
  8269  	minAPIVersionForType["BaseConfigInfoDiskFileBackingInfo"] = "6.5"
  8270  }
  8271  
  8272  // Information for file backing of a virtual storage
  8273  // object.
  8274  //
  8275  // File backing is mainly used for virtual disks.
  8276  type BaseConfigInfoFileBackingInfo struct {
  8277  	BaseConfigInfoBackingInfo
  8278  
  8279  	// Full file path for the host file used in this backing.
  8280  	FilePath string `xml:"filePath" json:"filePath"`
  8281  	// Id refers to the backed storage object where the virtual storage object
  8282  	// is backed on.
  8283  	BackingObjectId string `xml:"backingObjectId,omitempty" json:"backingObjectId,omitempty"`
  8284  	// The parent of this virtual disk file, if this is a delta disk backing.
  8285  	//
  8286  	// This will be unset if this is the root disk backing.
  8287  	//
  8288  	// Note that the type of the backing is consistent throughout the chain;
  8289  	// any new delta disk backing which is added is of the same type as the
  8290  	// original disk. Also note that since the parent backing is not being
  8291  	// written to, it is possible that the parent backing may be shared among
  8292  	// multiple disks.
  8293  	//
  8294  	// Only raw disk mappings in
  8295  	// *virtual compatibility mode* can have parents.
  8296  	Parent BaseBaseConfigInfoFileBackingInfo `xml:"parent,omitempty,typeattr" json:"parent,omitempty"`
  8297  	// Size allocated by the FS for this file/chain/link/extent only.
  8298  	//
  8299  	// This property is used only for a delta disk whose
  8300  	// `BaseConfigInfoFileBackingInfo.parent` is set.
  8301  	DeltaSizeInMB int64 `xml:"deltaSizeInMB,omitempty" json:"deltaSizeInMB,omitempty"`
  8302  	// key id used to encrypt the backing disk.
  8303  	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty" vim:"7.0"`
  8304  }
  8305  
  8306  func init() {
  8307  	t["BaseConfigInfoFileBackingInfo"] = reflect.TypeOf((*BaseConfigInfoFileBackingInfo)(nil)).Elem()
  8308  	minAPIVersionForType["BaseConfigInfoFileBackingInfo"] = "6.5"
  8309  }
  8310  
  8311  // This data object type contains information about raw device mapping.
  8312  type BaseConfigInfoRawDiskMappingBackingInfo struct {
  8313  	BaseConfigInfoFileBackingInfo
  8314  
  8315  	// Unique identifier of the LUN accessed by the raw disk mapping.
  8316  	LunUuid string `xml:"lunUuid" json:"lunUuid"`
  8317  	// The compatibility mode of the raw disk mapping (RDM).
  8318  	//
  8319  	// This must be
  8320  	// specified when a new virtual disk with an RDM backing is created.
  8321  	//
  8322  	// See also `VirtualDiskCompatibilityMode_enum`.
  8323  	CompatibilityMode string `xml:"compatibilityMode" json:"compatibilityMode"`
  8324  }
  8325  
  8326  func init() {
  8327  	t["BaseConfigInfoRawDiskMappingBackingInfo"] = reflect.TypeOf((*BaseConfigInfoRawDiskMappingBackingInfo)(nil)).Elem()
  8328  	minAPIVersionForType["BaseConfigInfoRawDiskMappingBackingInfo"] = "6.5"
  8329  }
  8330  
  8331  // The parameters of `Folder.BatchAddHostsToCluster_Task`.
  8332  type BatchAddHostsToClusterRequestType struct {
  8333  	This ManagedObjectReference `xml:"_this" json:"-"`
  8334  	// Specifies the cluster to which hosts need to be
  8335  	// added.
  8336  	//
  8337  	// Refers instance of `ClusterComputeResource`.
  8338  	Cluster ManagedObjectReference `xml:"cluster" json:"cluster"`
  8339  	// Specifies a list of new hosts to be added to
  8340  	// the cluster. Hosts are first added as standalone hosts.
  8341  	NewHosts []FolderNewHostSpec `xml:"newHosts,omitempty" json:"newHosts,omitempty"`
  8342  	// Specifies a list of existing hosts to be
  8343  	// added to the cluster. Hosts are first moved to the desired state
  8344  	// before moving them to cluster.
  8345  	//
  8346  	// Refers instances of `HostSystem`.
  8347  	ExistingHosts []ManagedObjectReference `xml:"existingHosts,omitempty" json:"existingHosts,omitempty"`
  8348  	// Specifies the configuration for the compute
  8349  	// resource that will be created to contain all the hosts.
  8350  	CompResSpec BaseComputeResourceConfigSpec `xml:"compResSpec,omitempty,typeattr" json:"compResSpec,omitempty"`
  8351  	// Specifies desired state for hosts once added to
  8352  	// the cluster. If not specified, hosts are added to the cluster in their
  8353  	// current state. See `FolderDesiredHostState_enum` for valid values.
  8354  	DesiredState string `xml:"desiredState,omitempty" json:"desiredState,omitempty"`
  8355  }
  8356  
  8357  func init() {
  8358  	t["BatchAddHostsToClusterRequestType"] = reflect.TypeOf((*BatchAddHostsToClusterRequestType)(nil)).Elem()
  8359  }
  8360  
  8361  type BatchAddHostsToCluster_Task BatchAddHostsToClusterRequestType
  8362  
  8363  func init() {
  8364  	t["BatchAddHostsToCluster_Task"] = reflect.TypeOf((*BatchAddHostsToCluster_Task)(nil)).Elem()
  8365  }
  8366  
  8367  type BatchAddHostsToCluster_TaskResponse struct {
  8368  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  8369  }
  8370  
  8371  // The parameters of `Folder.BatchAddStandaloneHosts_Task`.
  8372  type BatchAddStandaloneHostsRequestType struct {
  8373  	This ManagedObjectReference `xml:"_this" json:"-"`
  8374  	// Specifies a list of host specifications for new hosts.
  8375  	NewHosts []FolderNewHostSpec `xml:"newHosts,omitempty" json:"newHosts,omitempty"`
  8376  	// Specifies the configuration for the compute
  8377  	// resource that will be created to contain all the
  8378  	// hosts.
  8379  	CompResSpec BaseComputeResourceConfigSpec `xml:"compResSpec,omitempty,typeattr" json:"compResSpec,omitempty"`
  8380  	// Flag to specify whether or not hosts should be
  8381  	// connected at the time they are added. A host will not
  8382  	// be added if a connection attempt is made and fails.
  8383  	AddConnected bool `xml:"addConnected" json:"addConnected"`
  8384  }
  8385  
  8386  func init() {
  8387  	t["BatchAddStandaloneHostsRequestType"] = reflect.TypeOf((*BatchAddStandaloneHostsRequestType)(nil)).Elem()
  8388  }
  8389  
  8390  type BatchAddStandaloneHosts_Task BatchAddStandaloneHostsRequestType
  8391  
  8392  func init() {
  8393  	t["BatchAddStandaloneHosts_Task"] = reflect.TypeOf((*BatchAddStandaloneHosts_Task)(nil)).Elem()
  8394  }
  8395  
  8396  type BatchAddStandaloneHosts_TaskResponse struct {
  8397  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  8398  }
  8399  
  8400  type BatchQueryConnectInfo BatchQueryConnectInfoRequestType
  8401  
  8402  func init() {
  8403  	t["BatchQueryConnectInfo"] = reflect.TypeOf((*BatchQueryConnectInfo)(nil)).Elem()
  8404  }
  8405  
  8406  // The parameters of `Datacenter.BatchQueryConnectInfo`.
  8407  type BatchQueryConnectInfoRequestType struct {
  8408  	This ManagedObjectReference `xml:"_this" json:"-"`
  8409  	// Information about the set of hosts to query.
  8410  	HostSpecs []HostConnectSpec `xml:"hostSpecs,omitempty" json:"hostSpecs,omitempty"`
  8411  }
  8412  
  8413  func init() {
  8414  	t["BatchQueryConnectInfoRequestType"] = reflect.TypeOf((*BatchQueryConnectInfoRequestType)(nil)).Elem()
  8415  }
  8416  
  8417  type BatchQueryConnectInfoResponse struct {
  8418  	Returnval []DatacenterBasicConnectInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
  8419  }
  8420  
  8421  // Results of Batch APIs.
  8422  type BatchResult struct {
  8423  	DynamicData
  8424  
  8425  	// Enum value for @link BatchResult.Result
  8426  	Result string `xml:"result" json:"result"`
  8427  	// Host for which the result applies.
  8428  	HostKey string `xml:"hostKey" json:"hostKey"`
  8429  	// The datastore that is created.
  8430  	//
  8431  	// Refers instance of `Datastore`.
  8432  	Ds *ManagedObjectReference `xml:"ds,omitempty" json:"ds,omitempty"`
  8433  	// 'fault' would be set if the operation was not successful
  8434  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
  8435  }
  8436  
  8437  func init() {
  8438  	t["BatchResult"] = reflect.TypeOf((*BatchResult)(nil)).Elem()
  8439  	minAPIVersionForType["BatchResult"] = "6.0"
  8440  }
  8441  
  8442  type BindVnic BindVnicRequestType
  8443  
  8444  func init() {
  8445  	t["BindVnic"] = reflect.TypeOf((*BindVnic)(nil)).Elem()
  8446  }
  8447  
  8448  // The parameters of `IscsiManager.BindVnic`.
  8449  type BindVnicRequestType struct {
  8450  	This ManagedObjectReference `xml:"_this" json:"-"`
  8451  	// iSCSI adapter name for which the Virtual NIC to
  8452  	// be added.
  8453  	IScsiHbaName string `xml:"iScsiHbaName" json:"iScsiHbaName"`
  8454  	// Virtual NIC that is to be bound to the iSCSI HBA
  8455  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
  8456  }
  8457  
  8458  func init() {
  8459  	t["BindVnicRequestType"] = reflect.TypeOf((*BindVnicRequestType)(nil)).Elem()
  8460  }
  8461  
  8462  type BindVnicResponse struct {
  8463  }
  8464  
  8465  // Fault indicating that firewall configuration prevents
  8466  // an operation from completing successfully.
  8467  type BlockedByFirewall struct {
  8468  	HostConfigFault
  8469  }
  8470  
  8471  func init() {
  8472  	t["BlockedByFirewall"] = reflect.TypeOf((*BlockedByFirewall)(nil)).Elem()
  8473  	minAPIVersionForType["BlockedByFirewall"] = "4.1"
  8474  }
  8475  
  8476  type BlockedByFirewallFault BlockedByFirewall
  8477  
  8478  func init() {
  8479  	t["BlockedByFirewallFault"] = reflect.TypeOf((*BlockedByFirewallFault)(nil)).Elem()
  8480  }
  8481  
  8482  // The BoolOption data object type describes if an option
  8483  // is supported ("true") and if the option is set to "true" or
  8484  // "false" by default.
  8485  type BoolOption struct {
  8486  	OptionType
  8487  
  8488  	// The flag to indicate whether or not the
  8489  	// option is supported.
  8490  	Supported bool `xml:"supported" json:"supported"`
  8491  	// The default value for the option.
  8492  	DefaultValue bool `xml:"defaultValue" json:"defaultValue"`
  8493  }
  8494  
  8495  func init() {
  8496  	t["BoolOption"] = reflect.TypeOf((*BoolOption)(nil)).Elem()
  8497  }
  8498  
  8499  // The boolean type of setting or configuration that may get an
  8500  // inherited value.
  8501  type BoolPolicy struct {
  8502  	InheritablePolicy
  8503  
  8504  	// The boolean value that is either set or inherited.
  8505  	Value *bool `xml:"value" json:"value,omitempty"`
  8506  }
  8507  
  8508  func init() {
  8509  	t["BoolPolicy"] = reflect.TypeOf((*BoolPolicy)(nil)).Elem()
  8510  	minAPIVersionForType["BoolPolicy"] = "4.0"
  8511  }
  8512  
  8513  type BrowseDiagnosticLog BrowseDiagnosticLogRequestType
  8514  
  8515  func init() {
  8516  	t["BrowseDiagnosticLog"] = reflect.TypeOf((*BrowseDiagnosticLog)(nil)).Elem()
  8517  }
  8518  
  8519  // The parameters of `DiagnosticManager.BrowseDiagnosticLog`.
  8520  type BrowseDiagnosticLogRequestType struct {
  8521  	This ManagedObjectReference `xml:"_this" json:"-"`
  8522  	// Specifies the host. If not specified, then it defaults
  8523  	// to the default server. For example, if called on
  8524  	// VirtualCenter, then the value defaults to VirtualCenter
  8525  	// logs.
  8526  	//
  8527  	// Refers instance of `HostSystem`.
  8528  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
  8529  	// A string key specifying the key for the log file to
  8530  	// browse. Keys can be obtained using the queryDescriptions
  8531  	// method.
  8532  	Key string `xml:"key" json:"key"`
  8533  	// The line number for the first entry to be returned. If the
  8534  	// parameter is not specified, then the operation returns
  8535  	// with lines starting from the top of the log.
  8536  	Start int32 `xml:"start,omitempty" json:"start,omitempty"`
  8537  	// The number of lines to return. If not specified, then
  8538  	// all lines are returned from the start value to the end of
  8539  	// the file.
  8540  	Lines int32 `xml:"lines,omitempty" json:"lines,omitempty"`
  8541  }
  8542  
  8543  func init() {
  8544  	t["BrowseDiagnosticLogRequestType"] = reflect.TypeOf((*BrowseDiagnosticLogRequestType)(nil)).Elem()
  8545  }
  8546  
  8547  type BrowseDiagnosticLogResponse struct {
  8548  	Returnval DiagnosticManagerLogHeader `xml:"returnval" json:"returnval"`
  8549  }
  8550  
  8551  // Fault indicating that the CAM server
  8552  // cannot be connected.
  8553  type CAMServerRefusedConnection struct {
  8554  	InvalidCAMServer
  8555  }
  8556  
  8557  func init() {
  8558  	t["CAMServerRefusedConnection"] = reflect.TypeOf((*CAMServerRefusedConnection)(nil)).Elem()
  8559  	minAPIVersionForType["CAMServerRefusedConnection"] = "5.0"
  8560  }
  8561  
  8562  type CAMServerRefusedConnectionFault CAMServerRefusedConnection
  8563  
  8564  func init() {
  8565  	t["CAMServerRefusedConnectionFault"] = reflect.TypeOf((*CAMServerRefusedConnectionFault)(nil)).Elem()
  8566  }
  8567  
  8568  type CanProvisionObjects CanProvisionObjectsRequestType
  8569  
  8570  func init() {
  8571  	t["CanProvisionObjects"] = reflect.TypeOf((*CanProvisionObjects)(nil)).Elem()
  8572  }
  8573  
  8574  // The parameters of `HostVsanInternalSystem.CanProvisionObjects`.
  8575  type CanProvisionObjectsRequestType struct {
  8576  	This ManagedObjectReference `xml:"_this" json:"-"`
  8577  	// List of NewPolicyBatch structure with sizes and policies.
  8578  	Npbs []VsanNewPolicyBatch `xml:"npbs" json:"npbs"`
  8579  	// Optionally populate PolicyCost even though
  8580  	// object cannot be provisioned in the current cluster topology.
  8581  	IgnoreSatisfiability *bool `xml:"ignoreSatisfiability" json:"ignoreSatisfiability,omitempty" vim:"6.0"`
  8582  }
  8583  
  8584  func init() {
  8585  	t["CanProvisionObjectsRequestType"] = reflect.TypeOf((*CanProvisionObjectsRequestType)(nil)).Elem()
  8586  }
  8587  
  8588  type CanProvisionObjectsResponse struct {
  8589  	Returnval []VsanPolicySatisfiability `xml:"returnval" json:"returnval"`
  8590  }
  8591  
  8592  type CancelRecommendation CancelRecommendationRequestType
  8593  
  8594  func init() {
  8595  	t["CancelRecommendation"] = reflect.TypeOf((*CancelRecommendation)(nil)).Elem()
  8596  }
  8597  
  8598  // The parameters of `ClusterComputeResource.CancelRecommendation`.
  8599  type CancelRecommendationRequestType struct {
  8600  	This ManagedObjectReference `xml:"_this" json:"-"`
  8601  	// The key field of the Recommendation.
  8602  	Key string `xml:"key" json:"key"`
  8603  }
  8604  
  8605  func init() {
  8606  	t["CancelRecommendationRequestType"] = reflect.TypeOf((*CancelRecommendationRequestType)(nil)).Elem()
  8607  }
  8608  
  8609  type CancelRecommendationResponse struct {
  8610  }
  8611  
  8612  type CancelRetrievePropertiesEx CancelRetrievePropertiesExRequestType
  8613  
  8614  func init() {
  8615  	t["CancelRetrievePropertiesEx"] = reflect.TypeOf((*CancelRetrievePropertiesEx)(nil)).Elem()
  8616  }
  8617  
  8618  // The parameters of `PropertyCollector.CancelRetrievePropertiesEx`.
  8619  type CancelRetrievePropertiesExRequestType struct {
  8620  	This ManagedObjectReference `xml:"_this" json:"-"`
  8621  	// the token returned in the previous `RetrieveResult` returned on the same session by the
  8622  	// same `PropertyCollector`.
  8623  	Token string `xml:"token" json:"token"`
  8624  }
  8625  
  8626  func init() {
  8627  	t["CancelRetrievePropertiesExRequestType"] = reflect.TypeOf((*CancelRetrievePropertiesExRequestType)(nil)).Elem()
  8628  }
  8629  
  8630  type CancelRetrievePropertiesExResponse struct {
  8631  }
  8632  
  8633  type CancelStorageDrsRecommendation CancelStorageDrsRecommendationRequestType
  8634  
  8635  func init() {
  8636  	t["CancelStorageDrsRecommendation"] = reflect.TypeOf((*CancelStorageDrsRecommendation)(nil)).Elem()
  8637  }
  8638  
  8639  // The parameters of `StorageResourceManager.CancelStorageDrsRecommendation`.
  8640  type CancelStorageDrsRecommendationRequestType struct {
  8641  	This ManagedObjectReference `xml:"_this" json:"-"`
  8642  	// The key field of the Recommendation.
  8643  	Key []string `xml:"key" json:"key"`
  8644  }
  8645  
  8646  func init() {
  8647  	t["CancelStorageDrsRecommendationRequestType"] = reflect.TypeOf((*CancelStorageDrsRecommendationRequestType)(nil)).Elem()
  8648  }
  8649  
  8650  type CancelStorageDrsRecommendationResponse struct {
  8651  }
  8652  
  8653  type CancelTask CancelTaskRequestType
  8654  
  8655  func init() {
  8656  	t["CancelTask"] = reflect.TypeOf((*CancelTask)(nil)).Elem()
  8657  }
  8658  
  8659  type CancelTaskRequestType struct {
  8660  	This ManagedObjectReference `xml:"_this" json:"-"`
  8661  }
  8662  
  8663  func init() {
  8664  	t["CancelTaskRequestType"] = reflect.TypeOf((*CancelTaskRequestType)(nil)).Elem()
  8665  }
  8666  
  8667  type CancelTaskResponse struct {
  8668  }
  8669  
  8670  type CancelWaitForUpdates CancelWaitForUpdatesRequestType
  8671  
  8672  func init() {
  8673  	t["CancelWaitForUpdates"] = reflect.TypeOf((*CancelWaitForUpdates)(nil)).Elem()
  8674  }
  8675  
  8676  type CancelWaitForUpdatesRequestType struct {
  8677  	This ManagedObjectReference `xml:"_this" json:"-"`
  8678  }
  8679  
  8680  func init() {
  8681  	t["CancelWaitForUpdatesRequestType"] = reflect.TypeOf((*CancelWaitForUpdatesRequestType)(nil)).Elem()
  8682  }
  8683  
  8684  type CancelWaitForUpdatesResponse struct {
  8685  }
  8686  
  8687  // An operation performed on the host was canceled.
  8688  //
  8689  // Typically,
  8690  // a previous event in the sequence of events contains more
  8691  // information about the cause of this cancellation.
  8692  type CanceledHostOperationEvent struct {
  8693  	HostEvent
  8694  }
  8695  
  8696  func init() {
  8697  	t["CanceledHostOperationEvent"] = reflect.TypeOf((*CanceledHostOperationEvent)(nil)).Elem()
  8698  }
  8699  
  8700  // This fault is thrown when an operation fails because of insufficient
  8701  // permissions to access a file.
  8702  type CannotAccessFile struct {
  8703  	FileFault
  8704  }
  8705  
  8706  func init() {
  8707  	t["CannotAccessFile"] = reflect.TypeOf((*CannotAccessFile)(nil)).Elem()
  8708  }
  8709  
  8710  type CannotAccessFileFault CannotAccessFile
  8711  
  8712  func init() {
  8713  	t["CannotAccessFileFault"] = reflect.TypeOf((*CannotAccessFileFault)(nil)).Elem()
  8714  }
  8715  
  8716  // An CannotAccessLocalSourceFault exception is thrown when a
  8717  // an attempt is made to upload license content
  8718  // and the local source cannot be accesed.
  8719  type CannotAccessLocalSource struct {
  8720  	VimFault
  8721  }
  8722  
  8723  func init() {
  8724  	t["CannotAccessLocalSource"] = reflect.TypeOf((*CannotAccessLocalSource)(nil)).Elem()
  8725  }
  8726  
  8727  type CannotAccessLocalSourceFault CannotAccessLocalSource
  8728  
  8729  func init() {
  8730  	t["CannotAccessLocalSourceFault"] = reflect.TypeOf((*CannotAccessLocalSourceFault)(nil)).Elem()
  8731  }
  8732  
  8733  // A network associated with the virtual machine is not accessible.
  8734  //
  8735  // If returned as
  8736  // part of migration checks, this is an error if either of the following is true,
  8737  // a warning otherwise:
  8738  //   - The virtual ethernet card device backing is a distributed virtual switch,
  8739  //     of which the destination host is not a member
  8740  //   - The virtual ethernet card device backing is a standard network and the
  8741  //     the device is connected
  8742  type CannotAccessNetwork struct {
  8743  	CannotAccessVmDevice
  8744  
  8745  	// A reference to the network that cannot be accessed
  8746  	//
  8747  	// Refers instance of `Network`.
  8748  	Network *ManagedObjectReference `xml:"network,omitempty" json:"network,omitempty" vim:"6.0"`
  8749  }
  8750  
  8751  func init() {
  8752  	t["CannotAccessNetwork"] = reflect.TypeOf((*CannotAccessNetwork)(nil)).Elem()
  8753  }
  8754  
  8755  type CannotAccessNetworkFault BaseCannotAccessNetwork
  8756  
  8757  func init() {
  8758  	t["CannotAccessNetworkFault"] = reflect.TypeOf((*CannotAccessNetworkFault)(nil)).Elem()
  8759  }
  8760  
  8761  // One of the virtual machine's components is not accessible on the execution host.
  8762  //
  8763  // This is a base class. Subclasses will encode the type of component that is not
  8764  // accessible.
  8765  type CannotAccessVmComponent struct {
  8766  	VmConfigFault
  8767  }
  8768  
  8769  func init() {
  8770  	t["CannotAccessVmComponent"] = reflect.TypeOf((*CannotAccessVmComponent)(nil)).Elem()
  8771  }
  8772  
  8773  type CannotAccessVmComponentFault BaseCannotAccessVmComponent
  8774  
  8775  func init() {
  8776  	t["CannotAccessVmComponentFault"] = reflect.TypeOf((*CannotAccessVmComponentFault)(nil)).Elem()
  8777  }
  8778  
  8779  // One or more of the virtual machine's configuration files are not accessible.
  8780  type CannotAccessVmConfig struct {
  8781  	CannotAccessVmComponent
  8782  
  8783  	// Contains the reason why the VM file could not be found.
  8784  	//
  8785  	// This is typically
  8786  	// a FileFault.
  8787  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
  8788  }
  8789  
  8790  func init() {
  8791  	t["CannotAccessVmConfig"] = reflect.TypeOf((*CannotAccessVmConfig)(nil)).Elem()
  8792  }
  8793  
  8794  type CannotAccessVmConfigFault CannotAccessVmConfig
  8795  
  8796  func init() {
  8797  	t["CannotAccessVmConfigFault"] = reflect.TypeOf((*CannotAccessVmConfigFault)(nil)).Elem()
  8798  }
  8799  
  8800  // One of the virtual machine's devices uses a backing that is not accessible
  8801  // on the host.
  8802  //
  8803  // Following is a discussion of this fault's use in migration validation.
  8804  // This is an error if the device is currently connected and a warning
  8805  // otherwise. Devices that can be disconnected can only be connected if the virtual
  8806  // machine is powered on.
  8807  //
  8808  // The usage of this fault is slightly different if the backing of a device is
  8809  // inherently host-local, and therefore not shared or globally named among
  8810  // hosts. (Examples of such backings: physical CD-ROM drive, physical serial
  8811  // port.) If a device with such a backing is currently connected, that will
  8812  // be a migration error. If the device is disconnected, there will be a
  8813  // warning if no backing with the same name exists on the destination host.
  8814  // If the device is disconnected and a backing with the same name exists on
  8815  // the destination host, this is neither a warning nor an error case, even
  8816  // though the destination host's backing is not the same instance as the
  8817  // source host's. It is assumed that use of the host-local backing is what is
  8818  // desired for the device.
  8819  type CannotAccessVmDevice struct {
  8820  	CannotAccessVmComponent
  8821  
  8822  	// The label of the device.
  8823  	Device string `xml:"device" json:"device"`
  8824  	// The backing of the device.
  8825  	Backing string `xml:"backing" json:"backing"`
  8826  	// The connected/disconnected state of the device.
  8827  	Connected bool `xml:"connected" json:"connected"`
  8828  }
  8829  
  8830  func init() {
  8831  	t["CannotAccessVmDevice"] = reflect.TypeOf((*CannotAccessVmDevice)(nil)).Elem()
  8832  }
  8833  
  8834  type CannotAccessVmDeviceFault BaseCannotAccessVmDevice
  8835  
  8836  func init() {
  8837  	t["CannotAccessVmDeviceFault"] = reflect.TypeOf((*CannotAccessVmDeviceFault)(nil)).Elem()
  8838  }
  8839  
  8840  // One of the virtual machine's virtual disks is not accessible.
  8841  type CannotAccessVmDisk struct {
  8842  	CannotAccessVmDevice
  8843  
  8844  	// The reason why the disk could not be accessed
  8845  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
  8846  }
  8847  
  8848  func init() {
  8849  	t["CannotAccessVmDisk"] = reflect.TypeOf((*CannotAccessVmDisk)(nil)).Elem()
  8850  }
  8851  
  8852  type CannotAccessVmDiskFault BaseCannotAccessVmDisk
  8853  
  8854  func init() {
  8855  	t["CannotAccessVmDiskFault"] = reflect.TypeOf((*CannotAccessVmDiskFault)(nil)).Elem()
  8856  }
  8857  
  8858  // Can not add a host with fault tolerance vms to be standalone
  8859  type CannotAddHostWithFTVmAsStandalone struct {
  8860  	HostConnectFault
  8861  }
  8862  
  8863  func init() {
  8864  	t["CannotAddHostWithFTVmAsStandalone"] = reflect.TypeOf((*CannotAddHostWithFTVmAsStandalone)(nil)).Elem()
  8865  	minAPIVersionForType["CannotAddHostWithFTVmAsStandalone"] = "4.0"
  8866  }
  8867  
  8868  type CannotAddHostWithFTVmAsStandaloneFault CannotAddHostWithFTVmAsStandalone
  8869  
  8870  func init() {
  8871  	t["CannotAddHostWithFTVmAsStandaloneFault"] = reflect.TypeOf((*CannotAddHostWithFTVmAsStandaloneFault)(nil)).Elem()
  8872  }
  8873  
  8874  // Can not add a host with fault tolerance vms to a different cluster other
  8875  // than the one used other vms in the same fault tolerance group.
  8876  type CannotAddHostWithFTVmToDifferentCluster struct {
  8877  	HostConnectFault
  8878  }
  8879  
  8880  func init() {
  8881  	t["CannotAddHostWithFTVmToDifferentCluster"] = reflect.TypeOf((*CannotAddHostWithFTVmToDifferentCluster)(nil)).Elem()
  8882  	minAPIVersionForType["CannotAddHostWithFTVmToDifferentCluster"] = "4.0"
  8883  }
  8884  
  8885  type CannotAddHostWithFTVmToDifferentClusterFault CannotAddHostWithFTVmToDifferentCluster
  8886  
  8887  func init() {
  8888  	t["CannotAddHostWithFTVmToDifferentClusterFault"] = reflect.TypeOf((*CannotAddHostWithFTVmToDifferentClusterFault)(nil)).Elem()
  8889  }
  8890  
  8891  // Can not add a host with fault tolerance vms to a non HA enabled cluster
  8892  type CannotAddHostWithFTVmToNonHACluster struct {
  8893  	HostConnectFault
  8894  }
  8895  
  8896  func init() {
  8897  	t["CannotAddHostWithFTVmToNonHACluster"] = reflect.TypeOf((*CannotAddHostWithFTVmToNonHACluster)(nil)).Elem()
  8898  	minAPIVersionForType["CannotAddHostWithFTVmToNonHACluster"] = "4.0"
  8899  }
  8900  
  8901  type CannotAddHostWithFTVmToNonHAClusterFault CannotAddHostWithFTVmToNonHACluster
  8902  
  8903  func init() {
  8904  	t["CannotAddHostWithFTVmToNonHAClusterFault"] = reflect.TypeOf((*CannotAddHostWithFTVmToNonHAClusterFault)(nil)).Elem()
  8905  }
  8906  
  8907  // This fault is used to report that the DRS behavior cannot be modified
  8908  // for a FT secondary virtual machine
  8909  type CannotChangeDrsBehaviorForFtSecondary struct {
  8910  	VmFaultToleranceIssue
  8911  
  8912  	// The virtual machine whose behavior cannot be modified
  8913  	//
  8914  	// Refers instance of `VirtualMachine`.
  8915  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
  8916  	// Name of the virtual machine
  8917  	VmName string `xml:"vmName" json:"vmName"`
  8918  }
  8919  
  8920  func init() {
  8921  	t["CannotChangeDrsBehaviorForFtSecondary"] = reflect.TypeOf((*CannotChangeDrsBehaviorForFtSecondary)(nil)).Elem()
  8922  	minAPIVersionForType["CannotChangeDrsBehaviorForFtSecondary"] = "4.1"
  8923  }
  8924  
  8925  type CannotChangeDrsBehaviorForFtSecondaryFault CannotChangeDrsBehaviorForFtSecondary
  8926  
  8927  func init() {
  8928  	t["CannotChangeDrsBehaviorForFtSecondaryFault"] = reflect.TypeOf((*CannotChangeDrsBehaviorForFtSecondaryFault)(nil)).Elem()
  8929  }
  8930  
  8931  // This fault is used to report that the HA settings cannot be modified
  8932  // for a FT secondary virtual machine
  8933  type CannotChangeHaSettingsForFtSecondary struct {
  8934  	VmFaultToleranceIssue
  8935  
  8936  	// The FT secondary virtual machine whose behavior cannot be modified
  8937  	//
  8938  	// Refers instance of `VirtualMachine`.
  8939  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
  8940  	// Name of the FT secondary virtual machine
  8941  	VmName string `xml:"vmName" json:"vmName"`
  8942  }
  8943  
  8944  func init() {
  8945  	t["CannotChangeHaSettingsForFtSecondary"] = reflect.TypeOf((*CannotChangeHaSettingsForFtSecondary)(nil)).Elem()
  8946  	minAPIVersionForType["CannotChangeHaSettingsForFtSecondary"] = "4.1"
  8947  }
  8948  
  8949  type CannotChangeHaSettingsForFtSecondaryFault CannotChangeHaSettingsForFtSecondary
  8950  
  8951  func init() {
  8952  	t["CannotChangeHaSettingsForFtSecondaryFault"] = reflect.TypeOf((*CannotChangeHaSettingsForFtSecondaryFault)(nil)).Elem()
  8953  }
  8954  
  8955  // Fault thrown for cases that a VSAN cluster UUID may not be changed.
  8956  //
  8957  // For example, the VSAN cluster UUID for a host may not be changed so long
  8958  // as that host is enabled for VSAN.
  8959  // The VSAN cluster UUID for a given `ClusterComputeResource` may
  8960  // not be changed so long as that vim.ClusterComputeResource is enabled for
  8961  // VSAN.
  8962  //
  8963  // See also `HostVsanSystem.UpdateVsan_Task`, `ComputeResource.ReconfigureComputeResource_Task`.
  8964  type CannotChangeVsanClusterUuid struct {
  8965  	VsanFault
  8966  }
  8967  
  8968  func init() {
  8969  	t["CannotChangeVsanClusterUuid"] = reflect.TypeOf((*CannotChangeVsanClusterUuid)(nil)).Elem()
  8970  	minAPIVersionForType["CannotChangeVsanClusterUuid"] = "5.5"
  8971  }
  8972  
  8973  type CannotChangeVsanClusterUuidFault CannotChangeVsanClusterUuid
  8974  
  8975  func init() {
  8976  	t["CannotChangeVsanClusterUuidFault"] = reflect.TypeOf((*CannotChangeVsanClusterUuidFault)(nil)).Elem()
  8977  }
  8978  
  8979  // Fault thrown for cases that a VSAN node UUID may not be changed.
  8980  //
  8981  // For example, the VSAN node UUID for a host may not be changed so long as
  8982  // that host is enabled for VSAN.
  8983  //
  8984  // See also `HostVsanSystem.UpdateVsan_Task`, `ComputeResource.ReconfigureComputeResource_Task`.
  8985  type CannotChangeVsanNodeUuid struct {
  8986  	VsanFault
  8987  }
  8988  
  8989  func init() {
  8990  	t["CannotChangeVsanNodeUuid"] = reflect.TypeOf((*CannotChangeVsanNodeUuid)(nil)).Elem()
  8991  	minAPIVersionForType["CannotChangeVsanNodeUuid"] = "5.5"
  8992  }
  8993  
  8994  type CannotChangeVsanNodeUuidFault CannotChangeVsanNodeUuid
  8995  
  8996  func init() {
  8997  	t["CannotChangeVsanNodeUuidFault"] = reflect.TypeOf((*CannotChangeVsanNodeUuidFault)(nil)).Elem()
  8998  }
  8999  
  9000  // This fault is used if FT compatible hosts cannot be computed for a VM
  9001  type CannotComputeFTCompatibleHosts struct {
  9002  	VmFaultToleranceIssue
  9003  
  9004  	// The virtual machine for FT compatible hosts is being computed
  9005  	//
  9006  	// Refers instance of `VirtualMachine`.
  9007  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
  9008  	// Name of the virtual machine
  9009  	VmName string `xml:"vmName" json:"vmName"`
  9010  }
  9011  
  9012  func init() {
  9013  	t["CannotComputeFTCompatibleHosts"] = reflect.TypeOf((*CannotComputeFTCompatibleHosts)(nil)).Elem()
  9014  	minAPIVersionForType["CannotComputeFTCompatibleHosts"] = "6.0"
  9015  }
  9016  
  9017  type CannotComputeFTCompatibleHostsFault CannotComputeFTCompatibleHosts
  9018  
  9019  func init() {
  9020  	t["CannotComputeFTCompatibleHostsFault"] = reflect.TypeOf((*CannotComputeFTCompatibleHostsFault)(nil)).Elem()
  9021  }
  9022  
  9023  // A CannotCreateFile exception is thrown if a file create
  9024  // operation fails.
  9025  type CannotCreateFile struct {
  9026  	FileFault
  9027  }
  9028  
  9029  func init() {
  9030  	t["CannotCreateFile"] = reflect.TypeOf((*CannotCreateFile)(nil)).Elem()
  9031  	minAPIVersionForType["CannotCreateFile"] = "2.5"
  9032  }
  9033  
  9034  type CannotCreateFileFault CannotCreateFile
  9035  
  9036  func init() {
  9037  	t["CannotCreateFileFault"] = reflect.TypeOf((*CannotCreateFileFault)(nil)).Elem()
  9038  }
  9039  
  9040  // The VirtualCenter server is unable to decrypt passwords stored in
  9041  // the customization specification.
  9042  type CannotDecryptPasswords struct {
  9043  	CustomizationFault
  9044  }
  9045  
  9046  func init() {
  9047  	t["CannotDecryptPasswords"] = reflect.TypeOf((*CannotDecryptPasswords)(nil)).Elem()
  9048  }
  9049  
  9050  type CannotDecryptPasswordsFault CannotDecryptPasswords
  9051  
  9052  func init() {
  9053  	t["CannotDecryptPasswordsFault"] = reflect.TypeOf((*CannotDecryptPasswordsFault)(nil)).Elem()
  9054  }
  9055  
  9056  // A CannotDeleteFile exception is thrown if a file-deletion
  9057  // operation fails.
  9058  type CannotDeleteFile struct {
  9059  	FileFault
  9060  }
  9061  
  9062  func init() {
  9063  	t["CannotDeleteFile"] = reflect.TypeOf((*CannotDeleteFile)(nil)).Elem()
  9064  }
  9065  
  9066  type CannotDeleteFileFault CannotDeleteFile
  9067  
  9068  func init() {
  9069  	t["CannotDeleteFileFault"] = reflect.TypeOf((*CannotDeleteFileFault)(nil)).Elem()
  9070  }
  9071  
  9072  // This fault is thrown when an attempt is made to disable DRS on a cluster,
  9073  // which contains a vApp.
  9074  type CannotDisableDrsOnClustersWithVApps struct {
  9075  	RuntimeFault
  9076  }
  9077  
  9078  func init() {
  9079  	t["CannotDisableDrsOnClustersWithVApps"] = reflect.TypeOf((*CannotDisableDrsOnClustersWithVApps)(nil)).Elem()
  9080  	minAPIVersionForType["CannotDisableDrsOnClustersWithVApps"] = "4.1"
  9081  }
  9082  
  9083  type CannotDisableDrsOnClustersWithVAppsFault CannotDisableDrsOnClustersWithVApps
  9084  
  9085  func init() {
  9086  	t["CannotDisableDrsOnClustersWithVAppsFault"] = reflect.TypeOf((*CannotDisableDrsOnClustersWithVAppsFault)(nil)).Elem()
  9087  }
  9088  
  9089  // Fault thrown when an attempt is made to disable snapshots on a virtual
  9090  // machine which has a snapshot.
  9091  //
  9092  // To disable the snapshot feature, the
  9093  // virtual machine must not currently have a snapshot.
  9094  type CannotDisableSnapshot struct {
  9095  	VmConfigFault
  9096  }
  9097  
  9098  func init() {
  9099  	t["CannotDisableSnapshot"] = reflect.TypeOf((*CannotDisableSnapshot)(nil)).Elem()
  9100  	minAPIVersionForType["CannotDisableSnapshot"] = "2.5"
  9101  }
  9102  
  9103  type CannotDisableSnapshotFault CannotDisableSnapshot
  9104  
  9105  func init() {
  9106  	t["CannotDisableSnapshotFault"] = reflect.TypeOf((*CannotDisableSnapshotFault)(nil)).Elem()
  9107  }
  9108  
  9109  // This fault is thrown when an attempt is made to disconnect a host, which
  9110  // has one or more fault tolerance vms and is not in maintenance mode.
  9111  type CannotDisconnectHostWithFaultToleranceVm struct {
  9112  	VimFault
  9113  
  9114  	// The name of the host to be disconnected
  9115  	HostName string `xml:"hostName" json:"hostName"`
  9116  }
  9117  
  9118  func init() {
  9119  	t["CannotDisconnectHostWithFaultToleranceVm"] = reflect.TypeOf((*CannotDisconnectHostWithFaultToleranceVm)(nil)).Elem()
  9120  	minAPIVersionForType["CannotDisconnectHostWithFaultToleranceVm"] = "4.0"
  9121  }
  9122  
  9123  type CannotDisconnectHostWithFaultToleranceVmFault CannotDisconnectHostWithFaultToleranceVm
  9124  
  9125  func init() {
  9126  	t["CannotDisconnectHostWithFaultToleranceVmFault"] = reflect.TypeOf((*CannotDisconnectHostWithFaultToleranceVmFault)(nil)).Elem()
  9127  }
  9128  
  9129  // This fault is thrown when an attempt is made to enable VM Component Protection
  9130  // on a cluster which contains a host that does not support this feature.
  9131  type CannotEnableVmcpForCluster struct {
  9132  	VimFault
  9133  
  9134  	// Report the host with APD timeout disabled.
  9135  	//
  9136  	// If the host is set it points to the host which is the reason
  9137  	// for this fault i.e this host has ADPTimeout disabled.
  9138  	//
  9139  	// Refers instance of `HostSystem`.
  9140  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
  9141  	// If set this reports the hostName.
  9142  	//
  9143  	// This is used for printing the host name in the
  9144  	// localized message as the host may have been removed
  9145  	// from the vCenter's inventory by the time localization would
  9146  	// be taking place.
  9147  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
  9148  	// This reports the reason for host not meeting the requirements
  9149  	// for enabling vSphere VMCP.
  9150  	//
  9151  	// It can be the following reason.
  9152  	//     - APDTimeout disabled.
  9153  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
  9154  }
  9155  
  9156  func init() {
  9157  	t["CannotEnableVmcpForCluster"] = reflect.TypeOf((*CannotEnableVmcpForCluster)(nil)).Elem()
  9158  	minAPIVersionForType["CannotEnableVmcpForCluster"] = "6.0"
  9159  }
  9160  
  9161  type CannotEnableVmcpForClusterFault CannotEnableVmcpForCluster
  9162  
  9163  func init() {
  9164  	t["CannotEnableVmcpForClusterFault"] = reflect.TypeOf((*CannotEnableVmcpForClusterFault)(nil)).Elem()
  9165  }
  9166  
  9167  // A virtual machine's total CPU feature requirements are determined by
  9168  // overlaying the requirements specified in its configuration (if any) on top
  9169  // of the requirements specified in the descriptor for its guest OS.
  9170  //
  9171  // It is
  9172  // therefore possible for a host change to implicitly change a virtual
  9173  // machine's CPU feature requirements. The guest OS descriptor may have
  9174  // different requirements on the new host. Or, if the virtual machine
  9175  // currently specifies requirements in its configuration, those requirements
  9176  // will be lost if the new host does not support this.
  9177  //
  9178  // This fault indicates that the virtual machine's CPU feature requirements
  9179  // would change because of a migration, and also that the destination host
  9180  // does not support storing CPU feature requirements in the virtual machine's
  9181  // configuration. (If the destination host does support such an action,
  9182  // WillModifyConfigCpuRequirements is used instead of this fault.)
  9183  //
  9184  // For a powered-off virtual machine, this is a warning. The migration may
  9185  // proceed, but the virtual machine will be operating under different
  9186  // CPU feature requirements if it is powered on after the migration.
  9187  //
  9188  // For a powered-on or suspended virtual machine, this is an error.
  9189  type CannotModifyConfigCpuRequirements struct {
  9190  	MigrationFault
  9191  }
  9192  
  9193  func init() {
  9194  	t["CannotModifyConfigCpuRequirements"] = reflect.TypeOf((*CannotModifyConfigCpuRequirements)(nil)).Elem()
  9195  }
  9196  
  9197  type CannotModifyConfigCpuRequirementsFault CannotModifyConfigCpuRequirements
  9198  
  9199  func init() {
  9200  	t["CannotModifyConfigCpuRequirementsFault"] = reflect.TypeOf((*CannotModifyConfigCpuRequirementsFault)(nil)).Elem()
  9201  }
  9202  
  9203  // This fault is thrown when an attempt is made to move a fault tolerance
  9204  // vm to a different resource pool or cluster.
  9205  type CannotMoveFaultToleranceVm struct {
  9206  	VimFault
  9207  
  9208  	// The type of the move
  9209  	MoveType string `xml:"moveType" json:"moveType"`
  9210  	// The virtual machine name to be moved.
  9211  	VmName string `xml:"vmName" json:"vmName"`
  9212  }
  9213  
  9214  func init() {
  9215  	t["CannotMoveFaultToleranceVm"] = reflect.TypeOf((*CannotMoveFaultToleranceVm)(nil)).Elem()
  9216  	minAPIVersionForType["CannotMoveFaultToleranceVm"] = "4.0"
  9217  }
  9218  
  9219  type CannotMoveFaultToleranceVmFault CannotMoveFaultToleranceVm
  9220  
  9221  func init() {
  9222  	t["CannotMoveFaultToleranceVmFault"] = reflect.TypeOf((*CannotMoveFaultToleranceVmFault)(nil)).Elem()
  9223  }
  9224  
  9225  // This fault is thrown when an attempt is made to move a host which has
  9226  // one or more fault tolerance vms out of the current cluster.
  9227  type CannotMoveHostWithFaultToleranceVm struct {
  9228  	VimFault
  9229  }
  9230  
  9231  func init() {
  9232  	t["CannotMoveHostWithFaultToleranceVm"] = reflect.TypeOf((*CannotMoveHostWithFaultToleranceVm)(nil)).Elem()
  9233  	minAPIVersionForType["CannotMoveHostWithFaultToleranceVm"] = "4.0"
  9234  }
  9235  
  9236  type CannotMoveHostWithFaultToleranceVmFault CannotMoveHostWithFaultToleranceVm
  9237  
  9238  func init() {
  9239  	t["CannotMoveHostWithFaultToleranceVmFault"] = reflect.TypeOf((*CannotMoveHostWithFaultToleranceVmFault)(nil)).Elem()
  9240  }
  9241  
  9242  // This fault is thrown when an attempt is made to relocate a virtual machine
  9243  // with virtual disk(s) having delta disk backing.
  9244  type CannotMoveVmWithDeltaDisk struct {
  9245  	MigrationFault
  9246  
  9247  	// The label of the delta disk device
  9248  	Device string `xml:"device" json:"device"`
  9249  }
  9250  
  9251  func init() {
  9252  	t["CannotMoveVmWithDeltaDisk"] = reflect.TypeOf((*CannotMoveVmWithDeltaDisk)(nil)).Elem()
  9253  	minAPIVersionForType["CannotMoveVmWithDeltaDisk"] = "5.0"
  9254  }
  9255  
  9256  type CannotMoveVmWithDeltaDiskFault CannotMoveVmWithDeltaDisk
  9257  
  9258  func init() {
  9259  	t["CannotMoveVmWithDeltaDiskFault"] = reflect.TypeOf((*CannotMoveVmWithDeltaDiskFault)(nil)).Elem()
  9260  }
  9261  
  9262  // This fault is thrown when an attempt is made to migrate a virtual machine
  9263  // with native delta disks to different datastores.
  9264  type CannotMoveVmWithNativeDeltaDisk struct {
  9265  	MigrationFault
  9266  }
  9267  
  9268  func init() {
  9269  	t["CannotMoveVmWithNativeDeltaDisk"] = reflect.TypeOf((*CannotMoveVmWithNativeDeltaDisk)(nil)).Elem()
  9270  	minAPIVersionForType["CannotMoveVmWithNativeDeltaDisk"] = "5.0"
  9271  }
  9272  
  9273  type CannotMoveVmWithNativeDeltaDiskFault CannotMoveVmWithNativeDeltaDisk
  9274  
  9275  func init() {
  9276  	t["CannotMoveVmWithNativeDeltaDiskFault"] = reflect.TypeOf((*CannotMoveVmWithNativeDeltaDiskFault)(nil)).Elem()
  9277  }
  9278  
  9279  // Fault thrown for the case that an attempt is made to move a host which
  9280  // is enabled for VSAN into an unsuitable `ClusterComputeResource`.
  9281  //
  9282  // The destination vim.ClusterComputeResource may be disabled for VSAN, or
  9283  // may be using VSAN with a different cluster UUID.
  9284  //
  9285  // See also `ClusterComputeResource.AddHost_Task`, `ClusterComputeResource.MoveHostInto_Task`, `ClusterComputeResource.MoveInto_Task`, `VsanClusterUuidMismatch`, `DestinationVsanDisabled`.
  9286  type CannotMoveVsanEnabledHost struct {
  9287  	VsanFault
  9288  }
  9289  
  9290  func init() {
  9291  	t["CannotMoveVsanEnabledHost"] = reflect.TypeOf((*CannotMoveVsanEnabledHost)(nil)).Elem()
  9292  	minAPIVersionForType["CannotMoveVsanEnabledHost"] = "5.5"
  9293  }
  9294  
  9295  type CannotMoveVsanEnabledHostFault BaseCannotMoveVsanEnabledHost
  9296  
  9297  func init() {
  9298  	t["CannotMoveVsanEnabledHostFault"] = reflect.TypeOf((*CannotMoveVsanEnabledHostFault)(nil)).Elem()
  9299  }
  9300  
  9301  // This fault is thrown when Storage DRS cannot recommend to place disks of
  9302  // a virtual machine without moving existing virtual disks in a
  9303  // datastore cluster.
  9304  type CannotPlaceWithoutPrerequisiteMoves struct {
  9305  	VimFault
  9306  }
  9307  
  9308  func init() {
  9309  	t["CannotPlaceWithoutPrerequisiteMoves"] = reflect.TypeOf((*CannotPlaceWithoutPrerequisiteMoves)(nil)).Elem()
  9310  	minAPIVersionForType["CannotPlaceWithoutPrerequisiteMoves"] = "5.1"
  9311  }
  9312  
  9313  type CannotPlaceWithoutPrerequisiteMovesFault CannotPlaceWithoutPrerequisiteMoves
  9314  
  9315  func init() {
  9316  	t["CannotPlaceWithoutPrerequisiteMovesFault"] = reflect.TypeOf((*CannotPlaceWithoutPrerequisiteMovesFault)(nil)).Elem()
  9317  }
  9318  
  9319  // This fault is reported when a user attempts to power off or
  9320  // suspend a VM when the HA master agent to which vCenter Server is
  9321  // connected does not manage the VM.
  9322  type CannotPowerOffVmInCluster struct {
  9323  	InvalidState
  9324  
  9325  	// The operation being performed.
  9326  	//
  9327  	// Values come from
  9328  	// `CannotPowerOffVmInClusterOperation_enum`.
  9329  	Operation string `xml:"operation" json:"operation"`
  9330  	// The Virtual Machine
  9331  	//
  9332  	// Refers instance of `VirtualMachine`.
  9333  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
  9334  	// Name of the Virtual Machine
  9335  	VmName string `xml:"vmName" json:"vmName"`
  9336  }
  9337  
  9338  func init() {
  9339  	t["CannotPowerOffVmInCluster"] = reflect.TypeOf((*CannotPowerOffVmInCluster)(nil)).Elem()
  9340  	minAPIVersionForType["CannotPowerOffVmInCluster"] = "5.0"
  9341  }
  9342  
  9343  type CannotPowerOffVmInClusterFault CannotPowerOffVmInCluster
  9344  
  9345  func init() {
  9346  	t["CannotPowerOffVmInClusterFault"] = reflect.TypeOf((*CannotPowerOffVmInClusterFault)(nil)).Elem()
  9347  }
  9348  
  9349  // Fault thrown for the case that an attempt is made to reconfigure VSAN
  9350  // when HA is currently enabled for a given `ClusterComputeResource`.
  9351  //
  9352  // See also `ComputeResource.ReconfigureComputeResource_Task`.
  9353  type CannotReconfigureVsanWhenHaEnabled struct {
  9354  	VsanFault
  9355  }
  9356  
  9357  func init() {
  9358  	t["CannotReconfigureVsanWhenHaEnabled"] = reflect.TypeOf((*CannotReconfigureVsanWhenHaEnabled)(nil)).Elem()
  9359  	minAPIVersionForType["CannotReconfigureVsanWhenHaEnabled"] = "5.5"
  9360  }
  9361  
  9362  type CannotReconfigureVsanWhenHaEnabledFault CannotReconfigureVsanWhenHaEnabled
  9363  
  9364  func init() {
  9365  	t["CannotReconfigureVsanWhenHaEnabledFault"] = reflect.TypeOf((*CannotReconfigureVsanWhenHaEnabledFault)(nil)).Elem()
  9366  }
  9367  
  9368  // A network associated with the virtual machine is accessible, but it
  9369  // cannot be used for some reason.
  9370  type CannotUseNetwork struct {
  9371  	VmConfigFault
  9372  
  9373  	// The label of the network device.
  9374  	Device string `xml:"device" json:"device"`
  9375  	// The backing of the network device.
  9376  	Backing string `xml:"backing" json:"backing"`
  9377  	// The connected/disconnected state of the device.
  9378  	Connected bool `xml:"connected" json:"connected"`
  9379  	// Reason describing why the network cannot be used.
  9380  	Reason string `xml:"reason" json:"reason"`
  9381  	// A reference to the network that cannot be used
  9382  	//
  9383  	// Refers instance of `Network`.
  9384  	Network *ManagedObjectReference `xml:"network,omitempty" json:"network,omitempty" vim:"6.0"`
  9385  }
  9386  
  9387  func init() {
  9388  	t["CannotUseNetwork"] = reflect.TypeOf((*CannotUseNetwork)(nil)).Elem()
  9389  	minAPIVersionForType["CannotUseNetwork"] = "5.5"
  9390  }
  9391  
  9392  type CannotUseNetworkFault CannotUseNetwork
  9393  
  9394  func init() {
  9395  	t["CannotUseNetworkFault"] = reflect.TypeOf((*CannotUseNetworkFault)(nil)).Elem()
  9396  }
  9397  
  9398  // A particular product may or may not support certain features.
  9399  //
  9400  // This data object
  9401  // indicates whether or not a service instance implements these features. This data
  9402  // object type indicates the circumstances under which an operation throws a
  9403  // `NotSupported` fault.
  9404  //
  9405  // Support for some features is indicated by the presence or absence of
  9406  // the manager object from the service instance. For example, the AlarmManager manager
  9407  // object indicates collecting alarms is supported.
  9408  // Other features indicate whether or not a given operation on an
  9409  // object throws a `NotSupported` fault.
  9410  //
  9411  // Some capabilities depend on the host or virtual machine
  9412  // version. These are specified by using the vim.host.Capability and
  9413  // vim.vm.Capability objects.
  9414  type Capability struct {
  9415  	DynamicData
  9416  
  9417  	// Indicates whether or not the service instance supports provisioning.
  9418  	//
  9419  	// For example, the `CloneVM` operation.
  9420  	ProvisioningSupported bool `xml:"provisioningSupported" json:"provisioningSupported"`
  9421  	// Indicates whether or not the service instance supports multiple hosts.
  9422  	MultiHostSupported bool `xml:"multiHostSupported" json:"multiHostSupported"`
  9423  	// Flag indicating whether host user accounts should have the option to
  9424  	// be granted shell access
  9425  	UserShellAccessSupported bool `xml:"userShellAccessSupported" json:"userShellAccessSupported" vim:"2.5"`
  9426  	// All supported Enhanced VMotion Compatibility modes.
  9427  	SupportedEVCMode []EVCMode `xml:"supportedEVCMode,omitempty" json:"supportedEVCMode,omitempty" vim:"4.0"`
  9428  	// All supported Enhanced VMotion Compatibility Graphics modes.
  9429  	SupportedEVCGraphicsMode []FeatureEVCMode `xml:"supportedEVCGraphicsMode,omitempty" json:"supportedEVCGraphicsMode,omitempty" vim:"7.0.1.0"`
  9430  	// Indicates whether network backup and restore feature is supported.
  9431  	NetworkBackupAndRestoreSupported *bool `xml:"networkBackupAndRestoreSupported" json:"networkBackupAndRestoreSupported,omitempty" vim:"5.1"`
  9432  	// Is DRS supported for Fault Tolerance VMs without enabling EVC.
  9433  	FtDrsWithoutEvcSupported *bool `xml:"ftDrsWithoutEvcSupported" json:"ftDrsWithoutEvcSupported,omitempty" vim:"6.7"`
  9434  	// Specifies if the workflow for setting up a HCI cluster is supported.
  9435  	HciWorkflowSupported *bool `xml:"hciWorkflowSupported" json:"hciWorkflowSupported,omitempty" vim:"6.7.1"`
  9436  	// Specifies the supported compute policy version.
  9437  	ComputePolicyVersion      int32 `xml:"computePolicyVersion,omitempty" json:"computePolicyVersion,omitempty" vim:"6.8.7"`
  9438  	ClusterPlacementSupported *bool `xml:"clusterPlacementSupported" json:"clusterPlacementSupported,omitempty"`
  9439  	// Specifies if lifecycle management of a Cluster is supported.
  9440  	LifecycleManagementSupported *bool `xml:"lifecycleManagementSupported" json:"lifecycleManagementSupported,omitempty" vim:"7.0"`
  9441  	// Specifies if host seeding for a cluster is supported.
  9442  	HostSeedingSupported *bool `xml:"hostSeedingSupported" json:"hostSeedingSupported,omitempty" vim:"7.0.2.0"`
  9443  	// Specifies if scalable shares for resource pools is supported.
  9444  	ScalableSharesSupported *bool `xml:"scalableSharesSupported" json:"scalableSharesSupported,omitempty" vim:"7.0"`
  9445  	// Specifies if highly available distributed clustering service is supported.
  9446  	HadcsSupported *bool `xml:"hadcsSupported" json:"hadcsSupported,omitempty" vim:"7.0.1.1"`
  9447  	// Specifies if desired configuration management platform is supported
  9448  	// on the cluster.
  9449  	ConfigMgmtSupported *bool `xml:"configMgmtSupported" json:"configMgmtSupported,omitempty" vim:"7.0.3.1"`
  9450  }
  9451  
  9452  func init() {
  9453  	t["Capability"] = reflect.TypeOf((*Capability)(nil)).Elem()
  9454  }
  9455  
  9456  // The parameters of `CertificateManager.CertMgrRefreshCACertificatesAndCRLs_Task`.
  9457  type CertMgrRefreshCACertificatesAndCRLsRequestType struct {
  9458  	This ManagedObjectReference `xml:"_this" json:"-"`
  9459  	// the hosts on which the certificates need to be refreshed
  9460  	//
  9461  	// Refers instances of `HostSystem`.
  9462  	Host []ManagedObjectReference `xml:"host" json:"host"`
  9463  }
  9464  
  9465  func init() {
  9466  	t["CertMgrRefreshCACertificatesAndCRLsRequestType"] = reflect.TypeOf((*CertMgrRefreshCACertificatesAndCRLsRequestType)(nil)).Elem()
  9467  }
  9468  
  9469  type CertMgrRefreshCACertificatesAndCRLs_Task CertMgrRefreshCACertificatesAndCRLsRequestType
  9470  
  9471  func init() {
  9472  	t["CertMgrRefreshCACertificatesAndCRLs_Task"] = reflect.TypeOf((*CertMgrRefreshCACertificatesAndCRLs_Task)(nil)).Elem()
  9473  }
  9474  
  9475  type CertMgrRefreshCACertificatesAndCRLs_TaskResponse struct {
  9476  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  9477  }
  9478  
  9479  // The parameters of `CertificateManager.CertMgrRefreshCertificates_Task`.
  9480  type CertMgrRefreshCertificatesRequestType struct {
  9481  	This ManagedObjectReference `xml:"_this" json:"-"`
  9482  	// the hosts on which the certificates need to be refreshed
  9483  	//
  9484  	// Refers instances of `HostSystem`.
  9485  	Host []ManagedObjectReference `xml:"host" json:"host"`
  9486  }
  9487  
  9488  func init() {
  9489  	t["CertMgrRefreshCertificatesRequestType"] = reflect.TypeOf((*CertMgrRefreshCertificatesRequestType)(nil)).Elem()
  9490  }
  9491  
  9492  type CertMgrRefreshCertificates_Task CertMgrRefreshCertificatesRequestType
  9493  
  9494  func init() {
  9495  	t["CertMgrRefreshCertificates_Task"] = reflect.TypeOf((*CertMgrRefreshCertificates_Task)(nil)).Elem()
  9496  }
  9497  
  9498  type CertMgrRefreshCertificates_TaskResponse struct {
  9499  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  9500  }
  9501  
  9502  // The parameters of `CertificateManager.CertMgrRevokeCertificates_Task`.
  9503  type CertMgrRevokeCertificatesRequestType struct {
  9504  	This ManagedObjectReference `xml:"_this" json:"-"`
  9505  	// the hosts on which the certificates need to be revoked
  9506  	//
  9507  	// Refers instances of `HostSystem`.
  9508  	Host []ManagedObjectReference `xml:"host" json:"host"`
  9509  }
  9510  
  9511  func init() {
  9512  	t["CertMgrRevokeCertificatesRequestType"] = reflect.TypeOf((*CertMgrRevokeCertificatesRequestType)(nil)).Elem()
  9513  }
  9514  
  9515  type CertMgrRevokeCertificates_Task CertMgrRevokeCertificatesRequestType
  9516  
  9517  func init() {
  9518  	t["CertMgrRevokeCertificates_Task"] = reflect.TypeOf((*CertMgrRevokeCertificates_Task)(nil)).Elem()
  9519  }
  9520  
  9521  type CertMgrRevokeCertificates_TaskResponse struct {
  9522  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  9523  }
  9524  
  9525  type ChangeAccessMode ChangeAccessModeRequestType
  9526  
  9527  func init() {
  9528  	t["ChangeAccessMode"] = reflect.TypeOf((*ChangeAccessMode)(nil)).Elem()
  9529  }
  9530  
  9531  // The parameters of `HostAccessManager.ChangeAccessMode`.
  9532  type ChangeAccessModeRequestType struct {
  9533  	This ManagedObjectReference `xml:"_this" json:"-"`
  9534  	// The affected user or group.
  9535  	Principal string `xml:"principal" json:"principal"`
  9536  	// True if principal refers to a group account,
  9537  	// false otherwise.
  9538  	IsGroup bool `xml:"isGroup" json:"isGroup"`
  9539  	// AccessMode to be granted.
  9540  	// `accessOther` is meaningless and
  9541  	// will result in InvalidArgument exception.
  9542  	AccessMode HostAccessMode `xml:"accessMode" json:"accessMode"`
  9543  }
  9544  
  9545  func init() {
  9546  	t["ChangeAccessModeRequestType"] = reflect.TypeOf((*ChangeAccessModeRequestType)(nil)).Elem()
  9547  }
  9548  
  9549  type ChangeAccessModeResponse struct {
  9550  }
  9551  
  9552  type ChangeFileAttributesInGuest ChangeFileAttributesInGuestRequestType
  9553  
  9554  func init() {
  9555  	t["ChangeFileAttributesInGuest"] = reflect.TypeOf((*ChangeFileAttributesInGuest)(nil)).Elem()
  9556  }
  9557  
  9558  // The parameters of `GuestFileManager.ChangeFileAttributesInGuest`.
  9559  type ChangeFileAttributesInGuestRequestType struct {
  9560  	This ManagedObjectReference `xml:"_this" json:"-"`
  9561  	// Virtual Machine to perform the operation on.
  9562  	//
  9563  	// Required privileges: VirtualMachine.GuestOperations.Modify
  9564  	//
  9565  	// Refers instance of `VirtualMachine`.
  9566  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
  9567  	// The guest authentication data. See
  9568  	// `GuestAuthentication`.
  9569  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
  9570  	// The complete path to the file to be copied in
  9571  	// the guest. If the file points to an symbolic link, then the
  9572  	// attributes of the target file are changed.
  9573  	GuestFilePath string `xml:"guestFilePath" json:"guestFilePath"`
  9574  	// Specifies the different file attributes of the
  9575  	// guest file to be changed.
  9576  	// See `GuestFileAttributes`.
  9577  	// If any property is not specified, then the specific attribute of
  9578  	// the file will be unchanged.
  9579  	FileAttributes BaseGuestFileAttributes `xml:"fileAttributes,typeattr" json:"fileAttributes"`
  9580  }
  9581  
  9582  func init() {
  9583  	t["ChangeFileAttributesInGuestRequestType"] = reflect.TypeOf((*ChangeFileAttributesInGuestRequestType)(nil)).Elem()
  9584  }
  9585  
  9586  type ChangeFileAttributesInGuestResponse struct {
  9587  }
  9588  
  9589  // The parameters of `CryptoManagerHost.ChangeKey_Task`.
  9590  type ChangeKeyRequestType struct {
  9591  	This ManagedObjectReference `xml:"_this" json:"-"`
  9592  	// The key that replaces the existing core dump encryption key
  9593  	NewKey CryptoKeyPlain `xml:"newKey" json:"newKey"`
  9594  }
  9595  
  9596  func init() {
  9597  	t["ChangeKeyRequestType"] = reflect.TypeOf((*ChangeKeyRequestType)(nil)).Elem()
  9598  }
  9599  
  9600  type ChangeKey_Task ChangeKeyRequestType
  9601  
  9602  func init() {
  9603  	t["ChangeKey_Task"] = reflect.TypeOf((*ChangeKey_Task)(nil)).Elem()
  9604  }
  9605  
  9606  type ChangeKey_TaskResponse struct {
  9607  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  9608  }
  9609  
  9610  type ChangeLockdownMode ChangeLockdownModeRequestType
  9611  
  9612  func init() {
  9613  	t["ChangeLockdownMode"] = reflect.TypeOf((*ChangeLockdownMode)(nil)).Elem()
  9614  }
  9615  
  9616  // The parameters of `HostAccessManager.ChangeLockdownMode`.
  9617  type ChangeLockdownModeRequestType struct {
  9618  	This ManagedObjectReference `xml:"_this" json:"-"`
  9619  	// The new desired lockdown mode.
  9620  	//
  9621  	// If this is the same as the current lockdown mode state, the
  9622  	// operation will silently succeed and nothing will be changed.
  9623  	//
  9624  	// If this is `lockdownDisabled`
  9625  	// then lockdown mode will be disabled and the system will
  9626  	// start service DCUI if it is not running.
  9627  	//
  9628  	// If this is `lockdownNormal`
  9629  	// then lockdown mode will be enabled and the system will
  9630  	// start service DCUI if it is not running.
  9631  	//
  9632  	// If this is `lockdownStrict`
  9633  	// then lockdown mode will be enabled and the system will
  9634  	// stop service DCUI if it is running.
  9635  	Mode HostLockdownMode `xml:"mode" json:"mode"`
  9636  }
  9637  
  9638  func init() {
  9639  	t["ChangeLockdownModeRequestType"] = reflect.TypeOf((*ChangeLockdownModeRequestType)(nil)).Elem()
  9640  }
  9641  
  9642  type ChangeLockdownModeResponse struct {
  9643  }
  9644  
  9645  type ChangeNFSUserPassword ChangeNFSUserPasswordRequestType
  9646  
  9647  func init() {
  9648  	t["ChangeNFSUserPassword"] = reflect.TypeOf((*ChangeNFSUserPassword)(nil)).Elem()
  9649  }
  9650  
  9651  // The parameters of `HostStorageSystem.ChangeNFSUserPassword`.
  9652  type ChangeNFSUserPasswordRequestType struct {
  9653  	This ManagedObjectReference `xml:"_this" json:"-"`
  9654  	// New password.
  9655  	Password string `xml:"password" json:"password"`
  9656  }
  9657  
  9658  func init() {
  9659  	t["ChangeNFSUserPasswordRequestType"] = reflect.TypeOf((*ChangeNFSUserPasswordRequestType)(nil)).Elem()
  9660  }
  9661  
  9662  type ChangeNFSUserPasswordResponse struct {
  9663  }
  9664  
  9665  type ChangeOwner ChangeOwnerRequestType
  9666  
  9667  func init() {
  9668  	t["ChangeOwner"] = reflect.TypeOf((*ChangeOwner)(nil)).Elem()
  9669  }
  9670  
  9671  // The parameters of `FileManager.ChangeOwner`.
  9672  type ChangeOwnerRequestType struct {
  9673  	This ManagedObjectReference `xml:"_this" json:"-"`
  9674  	Name string                 `xml:"name" json:"name"`
  9675  	// Required privileges: System.View
  9676  	//
  9677  	// Refers instance of `Datacenter`.
  9678  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
  9679  	Owner      string                  `xml:"owner" json:"owner"`
  9680  }
  9681  
  9682  func init() {
  9683  	t["ChangeOwnerRequestType"] = reflect.TypeOf((*ChangeOwnerRequestType)(nil)).Elem()
  9684  }
  9685  
  9686  type ChangeOwnerResponse struct {
  9687  }
  9688  
  9689  type ChangePassword ChangePasswordRequestType
  9690  
  9691  func init() {
  9692  	t["ChangePassword"] = reflect.TypeOf((*ChangePassword)(nil)).Elem()
  9693  }
  9694  
  9695  // The parameters of `HostLocalAccountManager.ChangePassword`.
  9696  type ChangePasswordRequestType struct {
  9697  	This ManagedObjectReference `xml:"_this" json:"-"`
  9698  	// the user whose password will be changed.
  9699  	User string `xml:"user" json:"user"`
  9700  	// the user's current (old) password.
  9701  	OldPassword string `xml:"oldPassword" json:"oldPassword"`
  9702  	// the user's new password.
  9703  	NewPassword string `xml:"newPassword" json:"newPassword"`
  9704  }
  9705  
  9706  func init() {
  9707  	t["ChangePasswordRequestType"] = reflect.TypeOf((*ChangePasswordRequestType)(nil)).Elem()
  9708  }
  9709  
  9710  type ChangePasswordResponse struct {
  9711  }
  9712  
  9713  // The event argument contains changes.
  9714  type ChangesInfoEventArgument struct {
  9715  	DynamicData
  9716  
  9717  	// Modified properties.
  9718  	Modified string `xml:"modified,omitempty" json:"modified,omitempty"`
  9719  	// Added properties.
  9720  	Added string `xml:"added,omitempty" json:"added,omitempty"`
  9721  	// Deleted properties.
  9722  	Deleted string `xml:"deleted,omitempty" json:"deleted,omitempty"`
  9723  }
  9724  
  9725  func init() {
  9726  	t["ChangesInfoEventArgument"] = reflect.TypeOf((*ChangesInfoEventArgument)(nil)).Elem()
  9727  	minAPIVersionForType["ChangesInfoEventArgument"] = "6.5"
  9728  }
  9729  
  9730  // The parameters of `ClusterEVCManager.CheckAddHostEvc_Task`.
  9731  type CheckAddHostEvcRequestType struct {
  9732  	This ManagedObjectReference `xml:"_this" json:"-"`
  9733  	// The spec that will be used to add the host.
  9734  	CnxSpec HostConnectSpec `xml:"cnxSpec" json:"cnxSpec"`
  9735  }
  9736  
  9737  func init() {
  9738  	t["CheckAddHostEvcRequestType"] = reflect.TypeOf((*CheckAddHostEvcRequestType)(nil)).Elem()
  9739  }
  9740  
  9741  type CheckAddHostEvc_Task CheckAddHostEvcRequestType
  9742  
  9743  func init() {
  9744  	t["CheckAddHostEvc_Task"] = reflect.TypeOf((*CheckAddHostEvc_Task)(nil)).Elem()
  9745  }
  9746  
  9747  type CheckAddHostEvc_TaskResponse struct {
  9748  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  9749  }
  9750  
  9751  // The parameters of `HostProfileManager.CheckAnswerFileStatus_Task`.
  9752  type CheckAnswerFileStatusRequestType struct {
  9753  	This ManagedObjectReference `xml:"_this" json:"-"`
  9754  	// Set of hosts for which the answer file status will be checked.
  9755  	//
  9756  	// Refers instances of `HostSystem`.
  9757  	Host []ManagedObjectReference `xml:"host" json:"host"`
  9758  }
  9759  
  9760  func init() {
  9761  	t["CheckAnswerFileStatusRequestType"] = reflect.TypeOf((*CheckAnswerFileStatusRequestType)(nil)).Elem()
  9762  }
  9763  
  9764  type CheckAnswerFileStatus_Task CheckAnswerFileStatusRequestType
  9765  
  9766  func init() {
  9767  	t["CheckAnswerFileStatus_Task"] = reflect.TypeOf((*CheckAnswerFileStatus_Task)(nil)).Elem()
  9768  }
  9769  
  9770  type CheckAnswerFileStatus_TaskResponse struct {
  9771  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  9772  }
  9773  
  9774  // The parameters of `VirtualMachineProvisioningChecker.CheckClone_Task`.
  9775  type CheckCloneRequestType struct {
  9776  	This ManagedObjectReference `xml:"_this" json:"-"`
  9777  	// The virtual machine we propose to clone.
  9778  	//
  9779  	// Refers instance of `VirtualMachine`.
  9780  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
  9781  	// The location of the new virtual machine.
  9782  	//
  9783  	// Refers instance of `Folder`.
  9784  	Folder ManagedObjectReference `xml:"folder" json:"folder"`
  9785  	// The name of the new virtual machine.
  9786  	Name string `xml:"name" json:"name"`
  9787  	// Specifies how to clone the virtual machine. In cases
  9788  	// where DRS would automatically select a host, all potential
  9789  	// hosts are tested against.
  9790  	Spec VirtualMachineCloneSpec `xml:"spec" json:"spec"`
  9791  	// The set of tests to run. If this argument is not set, all
  9792  	// tests will be run. See `CheckTestType_enum` for possible values.
  9793  	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
  9794  }
  9795  
  9796  func init() {
  9797  	t["CheckCloneRequestType"] = reflect.TypeOf((*CheckCloneRequestType)(nil)).Elem()
  9798  }
  9799  
  9800  type CheckClone_Task CheckCloneRequestType
  9801  
  9802  func init() {
  9803  	t["CheckClone_Task"] = reflect.TypeOf((*CheckClone_Task)(nil)).Elem()
  9804  }
  9805  
  9806  type CheckClone_TaskResponse struct {
  9807  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  9808  }
  9809  
  9810  // The parameters of `VirtualMachineCompatibilityChecker.CheckCompatibility_Task`.
  9811  type CheckCompatibilityRequestType struct {
  9812  	This ManagedObjectReference `xml:"_this" json:"-"`
  9813  	// The virtual machine we'd like to place.
  9814  	//
  9815  	// Refers instance of `VirtualMachine`.
  9816  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
  9817  	// The host we would like the virtual machine
  9818  	// to execute on. The host parameter may be left unset if the compute
  9819  	// resource associated with the pool represents a stand-alone host
  9820  	// or a DRS-enabled cluster. In the former case the stand-alone host is
  9821  	// used. In the latter case, each connected host in the cluster
  9822  	// that is not in maintenance mode is tested. If the virtual machine is a
  9823  	// template then either this parameter or the pool parameter must be set.
  9824  	//
  9825  	// Refers instance of `HostSystem`.
  9826  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
  9827  	// The resource pool we would like the virtual machine
  9828  	// to reside in. If the pool parameter is left unset, then the virtual
  9829  	// machine's current pool is assumed. If the virtual machine is a template
  9830  	// then either this parameter or the host parameter must be set.
  9831  	//
  9832  	// Refers instance of `ResourcePool`.
  9833  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
  9834  	// The set of tests to run. If this argument is not set, all
  9835  	// tests will be run. See `CheckTestType_enum` for possible values.
  9836  	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
  9837  }
  9838  
  9839  func init() {
  9840  	t["CheckCompatibilityRequestType"] = reflect.TypeOf((*CheckCompatibilityRequestType)(nil)).Elem()
  9841  }
  9842  
  9843  type CheckCompatibility_Task CheckCompatibilityRequestType
  9844  
  9845  func init() {
  9846  	t["CheckCompatibility_Task"] = reflect.TypeOf((*CheckCompatibility_Task)(nil)).Elem()
  9847  }
  9848  
  9849  type CheckCompatibility_TaskResponse struct {
  9850  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  9851  }
  9852  
  9853  // The parameters of `ProfileComplianceManager.CheckCompliance_Task`.
  9854  type CheckComplianceRequestType struct {
  9855  	This ManagedObjectReference `xml:"_this" json:"-"`
  9856  	// If specified, check compliance against the specified profiles.
  9857  	// If not specified, use the profiles associated with the entities.
  9858  	// If both Profiles and Entities are specified, Check the compliance of each
  9859  	// Entity against each of the profile specified.
  9860  	//
  9861  	// For more information, look at the KMap below.
  9862  	//
  9863  	// P represents if Profile is specified.
  9864  	//
  9865  	// E represents if Entity is specified.
  9866  	//
  9867  	//                     P                        ^P
  9868  	//           ---------------------------------------------------
  9869  	//           | Check compliance      |  Profiles associated    |
  9870  	//          E|  of each entity       |   with the specified    |
  9871  	//           |  against each of the  |   entity will be used   |
  9872  	//           |  profiles specified.  |   for checking          |
  9873  	//           |                       |   compliance.           |
  9874  	//           |                       |                         |
  9875  	//           |                       |                         |
  9876  	//           ---------------------------------------------------
  9877  	//           | All entities          |   InvalidArgument       |
  9878  	//           |  associated with the  |   Exception is thrown.  |
  9879  	//           |  profile are checked. |                         |
  9880  	//         ^E|                       |                         |
  9881  	//           |                       |                         |
  9882  	//           |                       |                         |
  9883  	//           |                       |                         |
  9884  	//           ---------------------------------------------------
  9885  	//
  9886  	// Refers instances of `Profile`.
  9887  	Profile []ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
  9888  	// If specified, the compliance check is done against this entity.
  9889  	//
  9890  	// Refers instances of `ManagedEntity`.
  9891  	Entity []ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
  9892  }
  9893  
  9894  func init() {
  9895  	t["CheckComplianceRequestType"] = reflect.TypeOf((*CheckComplianceRequestType)(nil)).Elem()
  9896  }
  9897  
  9898  type CheckCompliance_Task CheckComplianceRequestType
  9899  
  9900  func init() {
  9901  	t["CheckCompliance_Task"] = reflect.TypeOf((*CheckCompliance_Task)(nil)).Elem()
  9902  }
  9903  
  9904  type CheckCompliance_TaskResponse struct {
  9905  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  9906  }
  9907  
  9908  // The parameters of `ClusterEVCManager.CheckConfigureEvcMode_Task`.
  9909  type CheckConfigureEvcModeRequestType struct {
  9910  	This ManagedObjectReference `xml:"_this" json:"-"`
  9911  	// A key referencing the desired EVC mode.
  9912  	EvcModeKey string `xml:"evcModeKey" json:"evcModeKey"`
  9913  	// A key referencing the desired EVC Graphics
  9914  	// mode `Capability.supportedEVCGraphicsMode`.
  9915  	EvcGraphicsModeKey string `xml:"evcGraphicsModeKey,omitempty" json:"evcGraphicsModeKey,omitempty" vim:"7.0.1.0"`
  9916  }
  9917  
  9918  func init() {
  9919  	t["CheckConfigureEvcModeRequestType"] = reflect.TypeOf((*CheckConfigureEvcModeRequestType)(nil)).Elem()
  9920  }
  9921  
  9922  type CheckConfigureEvcMode_Task CheckConfigureEvcModeRequestType
  9923  
  9924  func init() {
  9925  	t["CheckConfigureEvcMode_Task"] = reflect.TypeOf((*CheckConfigureEvcMode_Task)(nil)).Elem()
  9926  }
  9927  
  9928  type CheckConfigureEvcMode_TaskResponse struct {
  9929  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  9930  }
  9931  
  9932  type CheckCustomizationResources CheckCustomizationResourcesRequestType
  9933  
  9934  func init() {
  9935  	t["CheckCustomizationResources"] = reflect.TypeOf((*CheckCustomizationResources)(nil)).Elem()
  9936  }
  9937  
  9938  // The parameters of `CustomizationSpecManager.CheckCustomizationResources`.
  9939  type CheckCustomizationResourcesRequestType struct {
  9940  	This ManagedObjectReference `xml:"_this" json:"-"`
  9941  	// Short name from the guest OS descriptor list describing the OS
  9942  	// we intend to customize.
  9943  	GuestOs string `xml:"guestOs" json:"guestOs"`
  9944  }
  9945  
  9946  func init() {
  9947  	t["CheckCustomizationResourcesRequestType"] = reflect.TypeOf((*CheckCustomizationResourcesRequestType)(nil)).Elem()
  9948  }
  9949  
  9950  type CheckCustomizationResourcesResponse struct {
  9951  }
  9952  
  9953  type CheckCustomizationSpec CheckCustomizationSpecRequestType
  9954  
  9955  func init() {
  9956  	t["CheckCustomizationSpec"] = reflect.TypeOf((*CheckCustomizationSpec)(nil)).Elem()
  9957  }
  9958  
  9959  // The parameters of `VirtualMachine.CheckCustomizationSpec`.
  9960  type CheckCustomizationSpecRequestType struct {
  9961  	This ManagedObjectReference `xml:"_this" json:"-"`
  9962  	// The customization specification to check.
  9963  	Spec CustomizationSpec `xml:"spec" json:"spec"`
  9964  }
  9965  
  9966  func init() {
  9967  	t["CheckCustomizationSpecRequestType"] = reflect.TypeOf((*CheckCustomizationSpecRequestType)(nil)).Elem()
  9968  }
  9969  
  9970  type CheckCustomizationSpecResponse struct {
  9971  }
  9972  
  9973  type CheckForUpdates CheckForUpdatesRequestType
  9974  
  9975  func init() {
  9976  	t["CheckForUpdates"] = reflect.TypeOf((*CheckForUpdates)(nil)).Elem()
  9977  }
  9978  
  9979  // The parameters of `PropertyCollector.CheckForUpdates`.
  9980  type CheckForUpdatesRequestType struct {
  9981  	This ManagedObjectReference `xml:"_this" json:"-"`
  9982  	// The data version currently known to the client. The value
  9983  	// must be either
  9984  	//     - the special initial version (an empty string)
  9985  	//     - a data version returned from `PropertyCollector.CheckForUpdates` or `PropertyCollector.WaitForUpdates` by the same `PropertyCollector` on the same session.
  9986  	//     - a non-truncated data version returned from `PropertyCollector.WaitForUpdatesEx` by the same `PropertyCollector` on the same
  9987  	//       session.
  9988  	Version string `xml:"version,omitempty" json:"version,omitempty"`
  9989  }
  9990  
  9991  func init() {
  9992  	t["CheckForUpdatesRequestType"] = reflect.TypeOf((*CheckForUpdatesRequestType)(nil)).Elem()
  9993  }
  9994  
  9995  type CheckForUpdatesResponse struct {
  9996  	Returnval *UpdateSet `xml:"returnval,omitempty" json:"returnval,omitempty"`
  9997  }
  9998  
  9999  // The parameters of `HostPatchManager.CheckHostPatch_Task`.
 10000  type CheckHostPatchRequestType struct {
 10001  	This ManagedObjectReference `xml:"_this" json:"-"`
 10002  	// a list of urls pointing to metadata.zip.
 10003  	MetaUrls []string `xml:"metaUrls,omitempty" json:"metaUrls,omitempty"`
 10004  	// a list of urls pointing to an "offline" bundle. It is not supported in 5.0 or later.
 10005  	BundleUrls []string                                   `xml:"bundleUrls,omitempty" json:"bundleUrls,omitempty"`
 10006  	Spec       *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 10007  }
 10008  
 10009  func init() {
 10010  	t["CheckHostPatchRequestType"] = reflect.TypeOf((*CheckHostPatchRequestType)(nil)).Elem()
 10011  }
 10012  
 10013  type CheckHostPatch_Task CheckHostPatchRequestType
 10014  
 10015  func init() {
 10016  	t["CheckHostPatch_Task"] = reflect.TypeOf((*CheckHostPatch_Task)(nil)).Elem()
 10017  }
 10018  
 10019  type CheckHostPatch_TaskResponse struct {
 10020  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 10021  }
 10022  
 10023  // The parameters of `VirtualMachineProvisioningChecker.CheckInstantClone_Task`.
 10024  type CheckInstantCloneRequestType struct {
 10025  	This ManagedObjectReference `xml:"_this" json:"-"`
 10026  	// The virtual machine we propose to instant clone.
 10027  	//
 10028  	// Refers instance of `VirtualMachine`.
 10029  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 10030  	// Specifies how to instant clone the virtual machine.
 10031  	Spec VirtualMachineInstantCloneSpec `xml:"spec" json:"spec"`
 10032  	// The set of tests to run. If this argument is not set, all
 10033  	// tests will be run. See `CheckTestType_enum` for possible values.
 10034  	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
 10035  }
 10036  
 10037  func init() {
 10038  	t["CheckInstantCloneRequestType"] = reflect.TypeOf((*CheckInstantCloneRequestType)(nil)).Elem()
 10039  }
 10040  
 10041  type CheckInstantClone_Task CheckInstantCloneRequestType
 10042  
 10043  func init() {
 10044  	t["CheckInstantClone_Task"] = reflect.TypeOf((*CheckInstantClone_Task)(nil)).Elem()
 10045  }
 10046  
 10047  type CheckInstantClone_TaskResponse struct {
 10048  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 10049  }
 10050  
 10051  type CheckLicenseFeature CheckLicenseFeatureRequestType
 10052  
 10053  func init() {
 10054  	t["CheckLicenseFeature"] = reflect.TypeOf((*CheckLicenseFeature)(nil)).Elem()
 10055  }
 10056  
 10057  // The parameters of `LicenseManager.CheckLicenseFeature`.
 10058  type CheckLicenseFeatureRequestType struct {
 10059  	This ManagedObjectReference `xml:"_this" json:"-"`
 10060  	// Host to act on if LicenseManager is not on a host.
 10061  	//
 10062  	// Refers instance of `HostSystem`.
 10063  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 10064  	// Name of the feature to enable.
 10065  	FeatureKey string `xml:"featureKey" json:"featureKey"`
 10066  }
 10067  
 10068  func init() {
 10069  	t["CheckLicenseFeatureRequestType"] = reflect.TypeOf((*CheckLicenseFeatureRequestType)(nil)).Elem()
 10070  }
 10071  
 10072  type CheckLicenseFeatureResponse struct {
 10073  	Returnval bool `xml:"returnval" json:"returnval"`
 10074  }
 10075  
 10076  // The parameters of `VirtualMachineProvisioningChecker.CheckMigrate_Task`.
 10077  type CheckMigrateRequestType struct {
 10078  	This ManagedObjectReference `xml:"_this" json:"-"`
 10079  	// The virtual machine we propose to migrate.
 10080  	//
 10081  	// Refers instance of `VirtualMachine`.
 10082  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 10083  	// The target host on which the virtual machines will run. The host
 10084  	// parameter may be left unset if the compute resource associated with
 10085  	// the target pool represents a stand-alone host or a DRS-enabled
 10086  	// cluster. In the former case the stand-alone host is used as the
 10087  	// target host. In the latter case, each connected host in the cluster
 10088  	// that is not in maintenance mode is tested as a target host.
 10089  	// If the virtual machine is a template then either this
 10090  	// parameter or the pool parameter must be set.
 10091  	//
 10092  	// Refers instance of `HostSystem`.
 10093  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 10094  	// The target resource pool for the virtual machines. If the
 10095  	// pool parameter is left unset, the target pool for each particular
 10096  	// virtual machine's migration will be that virtual machine's current
 10097  	// pool. If the virtual machine is a template then either this
 10098  	// parameter or the host parameter must be set.
 10099  	// The pool parameter must be set for testing the feasibility of
 10100  	// migration to a different datacenter or different vCenter service.
 10101  	//
 10102  	// Refers instance of `ResourcePool`.
 10103  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
 10104  	// The power state that the virtual machines must have. If
 10105  	// this argument is not set, each virtual machine is evaluated
 10106  	// according to its current power state.
 10107  	State VirtualMachinePowerState `xml:"state,omitempty" json:"state,omitempty"`
 10108  	// The set of tests to run. If this argument is not set, all
 10109  	// tests will be run. See `CheckTestType_enum` for possible values.
 10110  	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
 10111  }
 10112  
 10113  func init() {
 10114  	t["CheckMigrateRequestType"] = reflect.TypeOf((*CheckMigrateRequestType)(nil)).Elem()
 10115  }
 10116  
 10117  type CheckMigrate_Task CheckMigrateRequestType
 10118  
 10119  func init() {
 10120  	t["CheckMigrate_Task"] = reflect.TypeOf((*CheckMigrate_Task)(nil)).Elem()
 10121  }
 10122  
 10123  type CheckMigrate_TaskResponse struct {
 10124  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 10125  }
 10126  
 10127  // The parameters of `VirtualMachineCompatibilityChecker.CheckPowerOn_Task`.
 10128  type CheckPowerOnRequestType struct {
 10129  	This ManagedObjectReference `xml:"_this" json:"-"`
 10130  	// The virtual machine to power on.
 10131  	//
 10132  	// Refers instance of `VirtualMachine`.
 10133  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 10134  	// The host on which we want to power on the virtual machine.
 10135  	// The host parameter may be left unset if the compute
 10136  	// resource associated with the pool represents a stand-alone host
 10137  	// or a DRS-enabled cluster. In the former case the stand-alone host
 10138  	// is used. In the latter case, each connected host in the cluster
 10139  	// that is not in maintenance mode is tested. Either this parameter
 10140  	// or the pool parameter must be set.
 10141  	//
 10142  	// Refers instance of `HostSystem`.
 10143  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 10144  	// The resource pool we would like the virtual machine to run
 10145  	// in. If the pool parameter is left unset, we use the host's
 10146  	// root resource pool.
 10147  	//
 10148  	// Refers instance of `ResourcePool`.
 10149  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
 10150  	// The set of tests to run. If this argument is not set,
 10151  	// all tests will be run. See `CheckTestType_enum` for possible values.
 10152  	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
 10153  }
 10154  
 10155  func init() {
 10156  	t["CheckPowerOnRequestType"] = reflect.TypeOf((*CheckPowerOnRequestType)(nil)).Elem()
 10157  }
 10158  
 10159  type CheckPowerOn_Task CheckPowerOnRequestType
 10160  
 10161  func init() {
 10162  	t["CheckPowerOn_Task"] = reflect.TypeOf((*CheckPowerOn_Task)(nil)).Elem()
 10163  }
 10164  
 10165  type CheckPowerOn_TaskResponse struct {
 10166  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 10167  }
 10168  
 10169  // The parameters of `Profile.CheckProfileCompliance_Task`.
 10170  type CheckProfileComplianceRequestType struct {
 10171  	This ManagedObjectReference `xml:"_this" json:"-"`
 10172  	// If specified, the compliance check is performed on this entity.
 10173  	// If the entity is not specified, the vCenter Server runs a compliance check on all the
 10174  	// entities associated with the profile. The entity does not have to be associated with the
 10175  	// profile.
 10176  	//
 10177  	// Refers instances of `ManagedEntity`.
 10178  	Entity []ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 10179  }
 10180  
 10181  func init() {
 10182  	t["CheckProfileComplianceRequestType"] = reflect.TypeOf((*CheckProfileComplianceRequestType)(nil)).Elem()
 10183  }
 10184  
 10185  type CheckProfileCompliance_Task CheckProfileComplianceRequestType
 10186  
 10187  func init() {
 10188  	t["CheckProfileCompliance_Task"] = reflect.TypeOf((*CheckProfileCompliance_Task)(nil)).Elem()
 10189  }
 10190  
 10191  type CheckProfileCompliance_TaskResponse struct {
 10192  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 10193  }
 10194  
 10195  // The parameters of `VirtualMachineProvisioningChecker.CheckRelocate_Task`.
 10196  type CheckRelocateRequestType struct {
 10197  	This ManagedObjectReference `xml:"_this" json:"-"`
 10198  	// The virtual machine we propose to relocate.
 10199  	//
 10200  	// Refers instance of `VirtualMachine`.
 10201  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 10202  	// The specification of where to relocate the virtual machine.
 10203  	// In cases where DRS would automatically select a host, all potential
 10204  	// hosts are tested against.
 10205  	// The host parameter in the spec may be left unset for checking
 10206  	// feasibility of relocation to a different datacenter or different
 10207  	// vCenter service, if the compute resource associated with the
 10208  	// target pool represents a stand-alone host, the host is tested
 10209  	// against, otherwise each connected host in the cluster that is
 10210  	// not in maintenance mode represented by the target pool is tested
 10211  	// as a target host.
 10212  	Spec VirtualMachineRelocateSpec `xml:"spec" json:"spec"`
 10213  	// The set of tests to run. If this argument is not set, all
 10214  	// tests will be run. See `CheckTestType_enum` for possible values.
 10215  	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
 10216  }
 10217  
 10218  func init() {
 10219  	t["CheckRelocateRequestType"] = reflect.TypeOf((*CheckRelocateRequestType)(nil)).Elem()
 10220  }
 10221  
 10222  type CheckRelocate_Task CheckRelocateRequestType
 10223  
 10224  func init() {
 10225  	t["CheckRelocate_Task"] = reflect.TypeOf((*CheckRelocate_Task)(nil)).Elem()
 10226  }
 10227  
 10228  type CheckRelocate_TaskResponse struct {
 10229  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 10230  }
 10231  
 10232  // The result of a call to any of the methods in either
 10233  // `VirtualMachineCompatibilityChecker` or `VirtualMachineProvisioningChecker`.
 10234  type CheckResult struct {
 10235  	DynamicData
 10236  
 10237  	// The virtual machine involved in the testing.
 10238  	//
 10239  	// Refers instance of `VirtualMachine`.
 10240  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 10241  	// The host involved in the testing.
 10242  	//
 10243  	// Refers instance of `HostSystem`.
 10244  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 10245  	// A list of faults representing problems which may
 10246  	// require attention, but which are not fatal.
 10247  	Warning []LocalizedMethodFault `xml:"warning,omitempty" json:"warning,omitempty"`
 10248  	// A list of faults representing problems which are fatal
 10249  	// to the operation.
 10250  	//
 10251  	// For `VirtualMachineProvisioningChecker` an error means that the
 10252  	// given provisioning operation would fail.
 10253  	// For `VirtualMachineCompatibilityChecker` an error means that either
 10254  	// a power-on of this virtual machine would fail, or that the
 10255  	// virtual machine would not run correctly once powered-on.
 10256  	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 10257  }
 10258  
 10259  func init() {
 10260  	t["CheckResult"] = reflect.TypeOf((*CheckResult)(nil)).Elem()
 10261  	minAPIVersionForType["CheckResult"] = "4.0"
 10262  }
 10263  
 10264  // The parameters of `VirtualMachineCompatibilityChecker.CheckVmConfig_Task`.
 10265  type CheckVmConfigRequestType struct {
 10266  	This ManagedObjectReference `xml:"_this" json:"-"`
 10267  	// The specification of the virtual machine to create.
 10268  	Spec VirtualMachineConfigSpec `xml:"spec" json:"spec"`
 10269  	// The existing virtual machine to apply the spec to.
 10270  	// If this is not provided, the spec is assumed to be for the creation
 10271  	// of a new virtual machine.
 10272  	//
 10273  	// Refers instance of `VirtualMachine`.
 10274  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 10275  	// The host we would like the virtual machine
 10276  	// to execute on. The host parameter may be left unset if the compute
 10277  	// resource associated with the pool represents a stand-alone host
 10278  	// or a DRS-enabled cluster. In the former case the stand-alone host
 10279  	// is used. In the latter case, each connected host in the cluster
 10280  	// that is not in maintenance mode is tested. If the virtual machine
 10281  	// is a template, then either this parameter or the pool parameter
 10282  	// must be set.
 10283  	//
 10284  	// Refers instance of `HostSystem`.
 10285  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 10286  	// The resource pool we would like the virtual machine
 10287  	// to reside in. If the pool parameter is left unset, then we use the
 10288  	// host's root resource pool.
 10289  	//
 10290  	// Refers instance of `ResourcePool`.
 10291  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
 10292  	// The set of tests to run. If this argument is not set, all
 10293  	// tests will be run. See `CheckTestType_enum` for possible values.
 10294  	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
 10295  }
 10296  
 10297  func init() {
 10298  	t["CheckVmConfigRequestType"] = reflect.TypeOf((*CheckVmConfigRequestType)(nil)).Elem()
 10299  }
 10300  
 10301  type CheckVmConfig_Task CheckVmConfigRequestType
 10302  
 10303  func init() {
 10304  	t["CheckVmConfig_Task"] = reflect.TypeOf((*CheckVmConfig_Task)(nil)).Elem()
 10305  }
 10306  
 10307  type CheckVmConfig_TaskResponse struct {
 10308  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 10309  }
 10310  
 10311  // The ChoiceOption data object type defines a set of
 10312  // supported string values, a localizable description for each value,
 10313  // and the default value.
 10314  type ChoiceOption struct {
 10315  	OptionType
 10316  
 10317  	// The set of possible selections and descriptions.
 10318  	ChoiceInfo []BaseElementDescription `xml:"choiceInfo,typeattr" json:"choiceInfo"`
 10319  	// The index in ChoiceOption.value that serves as the default value.
 10320  	DefaultIndex int32 `xml:"defaultIndex,omitempty" json:"defaultIndex,omitempty"`
 10321  }
 10322  
 10323  func init() {
 10324  	t["ChoiceOption"] = reflect.TypeOf((*ChoiceOption)(nil)).Elem()
 10325  }
 10326  
 10327  type ClearComplianceStatus ClearComplianceStatusRequestType
 10328  
 10329  func init() {
 10330  	t["ClearComplianceStatus"] = reflect.TypeOf((*ClearComplianceStatus)(nil)).Elem()
 10331  }
 10332  
 10333  // The parameters of `ProfileComplianceManager.ClearComplianceStatus`.
 10334  type ClearComplianceStatusRequestType struct {
 10335  	This ManagedObjectReference `xml:"_this" json:"-"`
 10336  	// If specified, clear the ComplianceResult related to the Profile.
 10337  	//
 10338  	// Refers instances of `Profile`.
 10339  	Profile []ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
 10340  	// If specified, clear the ComplianceResult related to the entity.
 10341  	// If profile and entity are not specified, all the ComplianceResults will be cleared.
 10342  	//
 10343  	// Refers instances of `ManagedEntity`.
 10344  	Entity []ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 10345  }
 10346  
 10347  func init() {
 10348  	t["ClearComplianceStatusRequestType"] = reflect.TypeOf((*ClearComplianceStatusRequestType)(nil)).Elem()
 10349  }
 10350  
 10351  type ClearComplianceStatusResponse struct {
 10352  }
 10353  
 10354  type ClearNFSUser ClearNFSUserRequestType
 10355  
 10356  func init() {
 10357  	t["ClearNFSUser"] = reflect.TypeOf((*ClearNFSUser)(nil)).Elem()
 10358  }
 10359  
 10360  type ClearNFSUserRequestType struct {
 10361  	This ManagedObjectReference `xml:"_this" json:"-"`
 10362  }
 10363  
 10364  func init() {
 10365  	t["ClearNFSUserRequestType"] = reflect.TypeOf((*ClearNFSUserRequestType)(nil)).Elem()
 10366  }
 10367  
 10368  type ClearNFSUserResponse struct {
 10369  }
 10370  
 10371  type ClearSystemEventLog ClearSystemEventLogRequestType
 10372  
 10373  func init() {
 10374  	t["ClearSystemEventLog"] = reflect.TypeOf((*ClearSystemEventLog)(nil)).Elem()
 10375  }
 10376  
 10377  type ClearSystemEventLogRequestType struct {
 10378  	This ManagedObjectReference `xml:"_this" json:"-"`
 10379  }
 10380  
 10381  func init() {
 10382  	t["ClearSystemEventLogRequestType"] = reflect.TypeOf((*ClearSystemEventLogRequestType)(nil)).Elem()
 10383  }
 10384  
 10385  type ClearSystemEventLogResponse struct {
 10386  }
 10387  
 10388  type ClearTriggeredAlarms ClearTriggeredAlarmsRequestType
 10389  
 10390  func init() {
 10391  	t["ClearTriggeredAlarms"] = reflect.TypeOf((*ClearTriggeredAlarms)(nil)).Elem()
 10392  }
 10393  
 10394  // The parameters of `AlarmManager.ClearTriggeredAlarms`.
 10395  type ClearTriggeredAlarmsRequestType struct {
 10396  	This   ManagedObjectReference `xml:"_this" json:"-"`
 10397  	Filter AlarmFilterSpec        `xml:"filter" json:"filter"`
 10398  }
 10399  
 10400  func init() {
 10401  	t["ClearTriggeredAlarmsRequestType"] = reflect.TypeOf((*ClearTriggeredAlarmsRequestType)(nil)).Elem()
 10402  }
 10403  
 10404  type ClearTriggeredAlarmsResponse struct {
 10405  }
 10406  
 10407  type ClearVStorageObjectControlFlags ClearVStorageObjectControlFlagsRequestType
 10408  
 10409  func init() {
 10410  	t["ClearVStorageObjectControlFlags"] = reflect.TypeOf((*ClearVStorageObjectControlFlags)(nil)).Elem()
 10411  }
 10412  
 10413  // The parameters of `VcenterVStorageObjectManager.ClearVStorageObjectControlFlags`.
 10414  type ClearVStorageObjectControlFlagsRequestType struct {
 10415  	This ManagedObjectReference `xml:"_this" json:"-"`
 10416  	// The ID of the virtual storage object.
 10417  	Id ID `xml:"id" json:"id"`
 10418  	// The datastore where the source virtual storage
 10419  	// object is located.
 10420  	//
 10421  	// Required privileges: Datastore.FileManagement
 10422  	//
 10423  	// Refers instance of `Datastore`.
 10424  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 10425  	// control flags enum array to be cleared on the
 10426  	// VStorageObject. All control flags not included
 10427  	// in the array remain intact.
 10428  	ControlFlags []string `xml:"controlFlags,omitempty" json:"controlFlags,omitempty"`
 10429  }
 10430  
 10431  func init() {
 10432  	t["ClearVStorageObjectControlFlagsRequestType"] = reflect.TypeOf((*ClearVStorageObjectControlFlagsRequestType)(nil)).Elem()
 10433  }
 10434  
 10435  type ClearVStorageObjectControlFlagsResponse struct {
 10436  }
 10437  
 10438  // Fault indicating that the clock skew in the system exceeds the limit.
 10439  type ClockSkew struct {
 10440  	HostConfigFault
 10441  }
 10442  
 10443  func init() {
 10444  	t["ClockSkew"] = reflect.TypeOf((*ClockSkew)(nil)).Elem()
 10445  	minAPIVersionForType["ClockSkew"] = "4.1"
 10446  }
 10447  
 10448  type ClockSkewFault ClockSkew
 10449  
 10450  func init() {
 10451  	t["ClockSkewFault"] = reflect.TypeOf((*ClockSkewFault)(nil)).Elem()
 10452  }
 10453  
 10454  // An attempt is being made to clone a virtual machine from a snapshot
 10455  // point, and this is not supported.
 10456  //
 10457  // See also `VirtualMachineCloneSpec.snapshot`, `VirtualMachineCapability.snapshotConfigSupported`, `HostCapability.cloneFromSnapshotSupported`.
 10458  type CloneFromSnapshotNotSupported struct {
 10459  	MigrationFault
 10460  }
 10461  
 10462  func init() {
 10463  	t["CloneFromSnapshotNotSupported"] = reflect.TypeOf((*CloneFromSnapshotNotSupported)(nil)).Elem()
 10464  	minAPIVersionForType["CloneFromSnapshotNotSupported"] = "4.0"
 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  	minAPIVersionForType["ClusterAction"] = "2.5"
 10628  }
 10629  
 10630  // Base class for all action history.
 10631  type ClusterActionHistory struct {
 10632  	DynamicData
 10633  
 10634  	// The action that was executed recently.
 10635  	Action BaseClusterAction `xml:"action,typeattr" json:"action"`
 10636  	// The time when the action was executed.
 10637  	Time time.Time `xml:"time" json:"time"`
 10638  }
 10639  
 10640  func init() {
 10641  	t["ClusterActionHistory"] = reflect.TypeOf((*ClusterActionHistory)(nil)).Elem()
 10642  	minAPIVersionForType["ClusterActionHistory"] = "2.5"
 10643  }
 10644  
 10645  // The `ClusterAffinityRuleSpec` data object defines a set
 10646  // of virtual machines.
 10647  //
 10648  // DRS will attempt to schedule the virtual machines
 10649  // to run on the same host.
 10650  type ClusterAffinityRuleSpec struct {
 10651  	ClusterRuleInfo
 10652  
 10653  	// List of virtual machine references.
 10654  	//
 10655  	// Refers instances of `VirtualMachine`.
 10656  	Vm []ManagedObjectReference `xml:"vm" json:"vm"`
 10657  }
 10658  
 10659  func init() {
 10660  	t["ClusterAffinityRuleSpec"] = reflect.TypeOf((*ClusterAffinityRuleSpec)(nil)).Elem()
 10661  }
 10662  
 10663  // The `ClusterAntiAffinityRuleSpec` data object defines
 10664  // a set of virtual machines.
 10665  //
 10666  // DRS will attempt to schedule the virtual
 10667  // machines to run on different hosts.
 10668  type ClusterAntiAffinityRuleSpec struct {
 10669  	ClusterRuleInfo
 10670  
 10671  	// List of virtual machine references.
 10672  	//
 10673  	// Refers instances of `VirtualMachine`.
 10674  	Vm []ManagedObjectReference `xml:"vm" json:"vm"`
 10675  }
 10676  
 10677  func init() {
 10678  	t["ClusterAntiAffinityRuleSpec"] = reflect.TypeOf((*ClusterAntiAffinityRuleSpec)(nil)).Elem()
 10679  }
 10680  
 10681  // This data class reports virtual machine powerOn information.
 10682  type ClusterAttemptedVmInfo struct {
 10683  	DynamicData
 10684  
 10685  	// The virtual machine being powered on.
 10686  	//
 10687  	// Refers instance of `VirtualMachine`.
 10688  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 10689  	// The ID of the task, which monitors powering on.
 10690  	//
 10691  	// Refers instance of `Task`.
 10692  	Task *ManagedObjectReference `xml:"task,omitempty" json:"task,omitempty"`
 10693  }
 10694  
 10695  func init() {
 10696  	t["ClusterAttemptedVmInfo"] = reflect.TypeOf((*ClusterAttemptedVmInfo)(nil)).Elem()
 10697  	minAPIVersionForType["ClusterAttemptedVmInfo"] = "2.5"
 10698  }
 10699  
 10700  // Describes an action for the initial placement of a virtual machine in a
 10701  // cluster.
 10702  //
 10703  // This action is used by the cross cluster placement API when a
 10704  // virtual machine needs to be placed across a set of given clusters. See
 10705  // `Folder.PlaceVmsXCluster`. This action encapsulates details
 10706  // about the chosen cluster (via the resource pool inside that cluster), the
 10707  // chosen host and the chosen datastores for the disks of the virtual machine.
 10708  type ClusterClusterInitialPlacementAction struct {
 10709  	ClusterAction
 10710  
 10711  	// The host where the virtual machine should be initially placed.
 10712  	//
 10713  	// This field
 10714  	// is optional because the primary use case of
 10715  	// `Folder.PlaceVmsXCluster` is to select the best cluster for
 10716  	// placing VMs. This `ClusterClusterInitialPlacementAction.targetHost`
 10717  	// denotes the best host within the best cluster and it is only returned
 10718  	// if the client asks for it, which is determined by
 10719  	// `PlaceVmsXClusterSpec.hostRecommRequired`. If
 10720  	// `PlaceVmsXClusterSpec.hostRecommRequired` is set to true, then
 10721  	// the targetHost is returned with a valid value and if it is either set to
 10722  	// false or left unset, then targetHost is also left unset. When this field
 10723  	// is unset, then it means that the client did not ask for the target host
 10724  	// within the recommended cluster. It does not mean that there is no
 10725  	// recommended host for placing this VM in the recommended cluster.
 10726  	//
 10727  	// Refers instance of `HostSystem`.
 10728  	TargetHost *ManagedObjectReference `xml:"targetHost,omitempty" json:"targetHost,omitempty"`
 10729  	// The chosen resource pool for placing the virtual machine.
 10730  	//
 10731  	// This is non-
 10732  	// optional because recommending the best cluster (by recommending the
 10733  	// resource pool in the best cluster) is the primary use case for the
 10734  	// `ClusterClusterInitialPlacementAction`.
 10735  	//
 10736  	// Refers instance of `ResourcePool`.
 10737  	Pool ManagedObjectReference `xml:"pool" json:"pool"`
 10738  	// The config spec of the virtual machine to be placed.
 10739  	//
 10740  	// The `Folder.PlaceVmsXCluster` method takes
 10741  	// input of `VirtualMachineConfigSpec` from client and populates the backing
 10742  	// for each virtual disk and the VM home path in it unless the input
 10743  	// ConfigSpec already provides them. The existing settings in the input
 10744  	// ConfigSpec are preserved and not overridden in the returned ConfigSpec
 10745  	// in this action as well as the resulting
 10746  	// `ClusterRecommendation`. This field is set based on whether
 10747  	// the client needs `Folder.PlaceVmsXCluster` to recommend a
 10748  	// backing datastore for the disks of the candidate VMs or not, which is
 10749  	// specified via `PlaceVmsXClusterSpec.datastoreRecommRequired`.
 10750  	// If `PlaceVmsXClusterSpec.datastoreRecommRequired` is set to
 10751  	// true, then this
 10752  	// `ClusterClusterInitialPlacementAction.configSpec` is also set
 10753  	// with the backing of each disk populated. If
 10754  	// `PlaceVmsXClusterSpec.datastoreRecommRequired` is either set to
 10755  	// false or left unset, then this field is also left unset. When this field
 10756  	// is left unset, then it means that the client did not ask to populate the
 10757  	// backing datastore for the disks of the candidate VMs.
 10758  	ConfigSpec *VirtualMachineConfigSpec `xml:"configSpec,omitempty" json:"configSpec,omitempty"`
 10759  }
 10760  
 10761  func init() {
 10762  	t["ClusterClusterInitialPlacementAction"] = reflect.TypeOf((*ClusterClusterInitialPlacementAction)(nil)).Elem()
 10763  	minAPIVersionForType["ClusterClusterInitialPlacementAction"] = "8.0.0.1"
 10764  }
 10765  
 10766  // This event records that a compliance check was triggered
 10767  // on the cluster.
 10768  type ClusterComplianceCheckedEvent struct {
 10769  	ClusterEvent
 10770  
 10771  	Profile ProfileEventArgument `xml:"profile" json:"profile"`
 10772  }
 10773  
 10774  func init() {
 10775  	t["ClusterComplianceCheckedEvent"] = reflect.TypeOf((*ClusterComplianceCheckedEvent)(nil)).Elem()
 10776  	minAPIVersionForType["ClusterComplianceCheckedEvent"] = "4.0"
 10777  }
 10778  
 10779  // ClusterConfigResult is the result returned for the `ClusterComputeResource.ConfigureHCI_Task`
 10780  // method.
 10781  type ClusterComputeResourceClusterConfigResult struct {
 10782  	DynamicData
 10783  
 10784  	// List of failed hosts.
 10785  	FailedHosts []FolderFailedHostResult `xml:"failedHosts,omitempty" json:"failedHosts,omitempty"`
 10786  	// List of successfully configured hosts.
 10787  	//
 10788  	// Refers instances of `HostSystem`.
 10789  	ConfiguredHosts []ManagedObjectReference `xml:"configuredHosts,omitempty" json:"configuredHosts,omitempty"`
 10790  }
 10791  
 10792  func init() {
 10793  	t["ClusterComputeResourceClusterConfigResult"] = reflect.TypeOf((*ClusterComputeResourceClusterConfigResult)(nil)).Elem()
 10794  	minAPIVersionForType["ClusterComputeResourceClusterConfigResult"] = "6.7.1"
 10795  }
 10796  
 10797  // Describes the validations applicable to the network settings.
 10798  //
 10799  // These
 10800  // are based off the information recorded in
 10801  // `dvsSetting`.
 10802  type ClusterComputeResourceDVSConfigurationValidation struct {
 10803  	ClusterComputeResourceValidationResultBase
 10804  
 10805  	// Check if the DVS is alive.
 10806  	IsDvsValid bool `xml:"isDvsValid" json:"isDvsValid"`
 10807  	// Check if the portgroups are valid.
 10808  	IsDvpgValid bool `xml:"isDvpgValid" json:"isDvpgValid"`
 10809  }
 10810  
 10811  func init() {
 10812  	t["ClusterComputeResourceDVSConfigurationValidation"] = reflect.TypeOf((*ClusterComputeResourceDVSConfigurationValidation)(nil)).Elem()
 10813  	minAPIVersionForType["ClusterComputeResourceDVSConfigurationValidation"] = "6.7.1"
 10814  }
 10815  
 10816  // Contains reference to the DVS, list of physical nics attached to it,
 10817  // and list of dvportgroups created on it while initially configuring a
 10818  // cluster by calling the `ClusterComputeResource.ConfigureHCI_Task` method.
 10819  type ClusterComputeResourceDVSSetting struct {
 10820  	DynamicData
 10821  
 10822  	// Managed object reference to the DVS.
 10823  	//
 10824  	// Refers instance of `DistributedVirtualSwitch`.
 10825  	DvSwitch ManagedObjectReference `xml:"dvSwitch" json:"dvSwitch"`
 10826  	// List of physical nics attached to the DVS.
 10827  	PnicDevices []string `xml:"pnicDevices,omitempty" json:"pnicDevices,omitempty"`
 10828  	// Describes dvportgroups on the DVS and services residing on each one.
 10829  	DvPortgroupSetting []ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping `xml:"dvPortgroupSetting,omitempty" json:"dvPortgroupSetting,omitempty"`
 10830  }
 10831  
 10832  func init() {
 10833  	t["ClusterComputeResourceDVSSetting"] = reflect.TypeOf((*ClusterComputeResourceDVSSetting)(nil)).Elem()
 10834  	minAPIVersionForType["ClusterComputeResourceDVSSetting"] = "6.7.1"
 10835  }
 10836  
 10837  type ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping struct {
 10838  	DynamicData
 10839  
 10840  	// Managed object reference to the dvportgroup.
 10841  	//
 10842  	// Refers instance of `DistributedVirtualPortgroup`.
 10843  	DvPortgroup ManagedObjectReference `xml:"dvPortgroup" json:"dvPortgroup"`
 10844  	// Service to be configured on the virtual nics attached to this
 10845  	// dvportgroup.
 10846  	//
 10847  	// See `HostVirtualNicManagerNicType_enum` for
 10848  	// supported values.
 10849  	Service string `xml:"service" json:"service"`
 10850  }
 10851  
 10852  func init() {
 10853  	t["ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping"] = reflect.TypeOf((*ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping)(nil)).Elem()
 10854  }
 10855  
 10856  // Describes DVS related information to be configured by calling
 10857  // `ClusterComputeResource.ConfigureHCI_Task` method.
 10858  //
 10859  // Consists of name of the DVS, the physical adapters to be attached to it
 10860  // and the list of dvportgroups to be created on this DVS.
 10861  type ClusterComputeResourceDvsProfile struct {
 10862  	DynamicData
 10863  
 10864  	// Name of the new `DistributedVirtualSwitch`.
 10865  	DvsName string `xml:"dvsName,omitempty" json:"dvsName,omitempty"`
 10866  	// Managed object reference to an existing `DistributedVirtualSwitch`.
 10867  	//
 10868  	// Refers instance of `DistributedVirtualSwitch`.
 10869  	DvSwitch *ManagedObjectReference `xml:"dvSwitch,omitempty" json:"dvSwitch,omitempty"`
 10870  	// List of physical Nics to be attached to the DVS.
 10871  	PnicDevices        []string                                                          `xml:"pnicDevices,omitempty" json:"pnicDevices,omitempty"`
 10872  	DvPortgroupMapping []ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping `xml:"dvPortgroupMapping,omitempty" json:"dvPortgroupMapping,omitempty"`
 10873  }
 10874  
 10875  func init() {
 10876  	t["ClusterComputeResourceDvsProfile"] = reflect.TypeOf((*ClusterComputeResourceDvsProfile)(nil)).Elem()
 10877  	minAPIVersionForType["ClusterComputeResourceDvsProfile"] = "6.7.1"
 10878  }
 10879  
 10880  type ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping struct {
 10881  	DynamicData
 10882  
 10883  	// Specification for a new `DistributedVirtualPortgroup`.
 10884  	DvPortgroupSpec *DVPortgroupConfigSpec `xml:"dvPortgroupSpec,omitempty" json:"dvPortgroupSpec,omitempty"`
 10885  	// Managed object reference to an existing `DistributedVirtualPortgroup`.
 10886  	//
 10887  	// Refers instance of `DistributedVirtualPortgroup`.
 10888  	DvPortgroup *ManagedObjectReference `xml:"dvPortgroup,omitempty" json:"dvPortgroup,omitempty"`
 10889  	// Service to be configured on the virtual nics attached to this
 10890  	// dvportgroup.
 10891  	//
 10892  	// See `HostVirtualNicManagerNicType_enum` for
 10893  	// supported values.
 10894  	Service string `xml:"service" json:"service"`
 10895  }
 10896  
 10897  func init() {
 10898  	t["ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping"] = reflect.TypeOf((*ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping)(nil)).Elem()
 10899  }
 10900  
 10901  // This data object captures a subset of initial configuration of the cluster,
 10902  // which was configured by calling the `ClusterComputeResource.ConfigureHCI_Task` method.
 10903  type ClusterComputeResourceHCIConfigInfo struct {
 10904  	DynamicData
 10905  
 10906  	// Configuration pertinent to state of the HCI workflow.
 10907  	//
 10908  	// Valid
 10909  	// values are enumerated by the `HCIWorkflowState`
 10910  	// type.
 10911  	WorkflowState string `xml:"workflowState" json:"workflowState"`
 10912  	// Contains DVS related information captured while configuring
 10913  	// the cluster.
 10914  	DvsSetting []ClusterComputeResourceDVSSetting `xml:"dvsSetting,omitempty" json:"dvsSetting,omitempty"`
 10915  	// Contains a list of hosts that are currently configured using
 10916  	// `ClusterComputeResource.ConfigureHCI_Task` and `ClusterComputeResource.ExtendHCI_Task`
 10917  	// method.
 10918  	//
 10919  	// A failed host will not be part of this list.
 10920  	//
 10921  	// Refers instances of `HostSystem`.
 10922  	ConfiguredHosts []ManagedObjectReference `xml:"configuredHosts,omitempty" json:"configuredHosts,omitempty"`
 10923  	// Configuration of host services and host settings.
 10924  	HostConfigProfile *ClusterComputeResourceHostConfigurationProfile `xml:"hostConfigProfile,omitempty" json:"hostConfigProfile,omitempty"`
 10925  }
 10926  
 10927  func init() {
 10928  	t["ClusterComputeResourceHCIConfigInfo"] = reflect.TypeOf((*ClusterComputeResourceHCIConfigInfo)(nil)).Elem()
 10929  	minAPIVersionForType["ClusterComputeResourceHCIConfigInfo"] = "6.7.1"
 10930  }
 10931  
 10932  // Specification to configure the cluster.
 10933  type ClusterComputeResourceHCIConfigSpec struct {
 10934  	DynamicData
 10935  
 10936  	// Information related to network configuration.
 10937  	//
 10938  	// For each DvsProfile
 10939  	// object, specify either `ClusterComputeResourceDvsProfile.dvsName` or
 10940  	// `ClusterComputeResourceDvsProfile.dvSwitch`. Across all DvsProfile objects, specify
 10941  	// exactly one
 10942  	// `ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping.dvPortgroup` or
 10943  	// `ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping.dvPortgroupSpec` per
 10944  	// `ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping.service`.
 10945  	DvsProf []ClusterComputeResourceDvsProfile `xml:"dvsProf,omitempty" json:"dvsProf,omitempty"`
 10946  	// Configuration of host services and host settings.
 10947  	HostConfigProfile *ClusterComputeResourceHostConfigurationProfile `xml:"hostConfigProfile,omitempty" json:"hostConfigProfile,omitempty"`
 10948  	// vSan configuration specification.
 10949  	//
 10950  	// This is vim.vsan.ReconfigSpec object
 10951  	// represented via the VIM object.
 10952  	VSanConfigSpec *SDDCBase `xml:"vSanConfigSpec,omitempty" json:"vSanConfigSpec,omitempty"`
 10953  	// Describes cluster and EVC configuration.
 10954  	VcProf *ClusterComputeResourceVCProfile `xml:"vcProf,omitempty" json:"vcProf,omitempty"`
 10955  }
 10956  
 10957  func init() {
 10958  	t["ClusterComputeResourceHCIConfigSpec"] = reflect.TypeOf((*ClusterComputeResourceHCIConfigSpec)(nil)).Elem()
 10959  	minAPIVersionForType["ClusterComputeResourceHCIConfigSpec"] = "6.7.1"
 10960  }
 10961  
 10962  // Host configuration input to configure hosts in a cluster.
 10963  type ClusterComputeResourceHostConfigurationInput struct {
 10964  	DynamicData
 10965  
 10966  	Host        ManagedObjectReference                 `xml:"host" json:"host"`
 10967  	HostVmkNics []ClusterComputeResourceHostVmkNicInfo `xml:"hostVmkNics,omitempty" json:"hostVmkNics,omitempty"`
 10968  	// To apply configuration on the host, the host is expected to be in
 10969  	// maintenance mode.
 10970  	//
 10971  	// This constraint can be relaxed by setting this
 10972  	// flag to true.
 10973  	AllowedInNonMaintenanceMode *bool `xml:"allowedInNonMaintenanceMode" json:"allowedInNonMaintenanceMode,omitempty"`
 10974  }
 10975  
 10976  func init() {
 10977  	t["ClusterComputeResourceHostConfigurationInput"] = reflect.TypeOf((*ClusterComputeResourceHostConfigurationInput)(nil)).Elem()
 10978  	minAPIVersionForType["ClusterComputeResourceHostConfigurationInput"] = "6.7.1"
 10979  }
 10980  
 10981  // HostConfigurationProfile describes the configuration of services
 10982  // and settings which gets applied on every host in the HCI cluster.
 10983  type ClusterComputeResourceHostConfigurationProfile struct {
 10984  	DynamicData
 10985  
 10986  	// Date and time settings
 10987  	DateTimeConfig *HostDateTimeConfig `xml:"dateTimeConfig,omitempty" json:"dateTimeConfig,omitempty"`
 10988  	// Desired lockdown mode
 10989  	LockdownMode HostLockdownMode `xml:"lockdownMode,omitempty" json:"lockdownMode,omitempty"`
 10990  }
 10991  
 10992  func init() {
 10993  	t["ClusterComputeResourceHostConfigurationProfile"] = reflect.TypeOf((*ClusterComputeResourceHostConfigurationProfile)(nil)).Elem()
 10994  	minAPIVersionForType["ClusterComputeResourceHostConfigurationProfile"] = "6.7.1"
 10995  }
 10996  
 10997  // Describes the validations applicable to the settings on the host.
 10998  type ClusterComputeResourceHostConfigurationValidation struct {
 10999  	ClusterComputeResourceValidationResultBase
 11000  
 11001  	// Host being validated.
 11002  	//
 11003  	// Refers instance of `HostSystem`.
 11004  	Host ManagedObjectReference `xml:"host" json:"host"`
 11005  	// Check if the host is attached to the DVS on right adapters.
 11006  	IsDvsSettingValid *bool `xml:"isDvsSettingValid" json:"isDvsSettingValid,omitempty"`
 11007  	// Check if the adapters for services are present and on the right
 11008  	// portgroups.
 11009  	IsVmknicSettingValid *bool `xml:"isVmknicSettingValid" json:"isVmknicSettingValid,omitempty"`
 11010  	// Check if NTP is configured per specification.
 11011  	IsNtpSettingValid *bool `xml:"isNtpSettingValid" json:"isNtpSettingValid,omitempty"`
 11012  	// Check if lockdown mode is set per specification
 11013  	IsLockdownModeValid *bool `xml:"isLockdownModeValid" json:"isLockdownModeValid,omitempty"`
 11014  }
 11015  
 11016  func init() {
 11017  	t["ClusterComputeResourceHostConfigurationValidation"] = reflect.TypeOf((*ClusterComputeResourceHostConfigurationValidation)(nil)).Elem()
 11018  	minAPIVersionForType["ClusterComputeResourceHostConfigurationValidation"] = "6.7.1"
 11019  }
 11020  
 11021  // This data object describes how a vmknic on a host must be configured.
 11022  type ClusterComputeResourceHostVmkNicInfo struct {
 11023  	DynamicData
 11024  
 11025  	// NIC specification
 11026  	NicSpec HostVirtualNicSpec `xml:"nicSpec" json:"nicSpec"`
 11027  	// Service type for this adapter.
 11028  	//
 11029  	// See
 11030  	// `HostVirtualNicManagerNicType_enum` for supported values.
 11031  	Service string `xml:"service" json:"service"`
 11032  }
 11033  
 11034  func init() {
 11035  	t["ClusterComputeResourceHostVmkNicInfo"] = reflect.TypeOf((*ClusterComputeResourceHostVmkNicInfo)(nil)).Elem()
 11036  	minAPIVersionForType["ClusterComputeResourceHostVmkNicInfo"] = "6.7.1"
 11037  }
 11038  
 11039  // The `ClusterComputeResourceSummary` data object
 11040  // encapsulates runtime properties of a `ClusterComputeResource`.
 11041  type ClusterComputeResourceSummary struct {
 11042  	ComputeResourceSummary
 11043  
 11044  	// Deprecated as of vSphere API 4.0, use
 11045  	// `ClusterFailoverLevelAdmissionControlInfo.currentFailoverLevel`.
 11046  	//
 11047  	// Current failover level.
 11048  	//
 11049  	// This is the number of physical host failures that can
 11050  	// be tolerated without impacting the ability to satisfy the minimums for all
 11051  	// running virtual machines. This represents the current value, as opposed to
 11052  	// desired value configured by the user.
 11053  	CurrentFailoverLevel int32 `xml:"currentFailoverLevel" json:"currentFailoverLevel"`
 11054  	// Information about the current amount of resources available for a vSphere HA
 11055  	// cluster.
 11056  	//
 11057  	// The actual type of admissionControlInfo will depend on what kind of
 11058  	// `ClusterDasAdmissionControlPolicy` was used to configure the cluster.
 11059  	AdmissionControlInfo BaseClusterDasAdmissionControlInfo `xml:"admissionControlInfo,omitempty,typeattr" json:"admissionControlInfo,omitempty" vim:"4.0"`
 11060  	// Total number of migrations with VMotion that have been done internal to this
 11061  	// cluster.
 11062  	NumVmotions int32 `xml:"numVmotions" json:"numVmotions"`
 11063  	// The target balance, in terms of standard deviation, for a DRS cluster.
 11064  	//
 11065  	// Units are thousandths. For example, 12 represents 0.012.
 11066  	TargetBalance int32 `xml:"targetBalance,omitempty" json:"targetBalance,omitempty" vim:"4.0"`
 11067  	// The current balance, in terms of standard deviation, for a DRS cluster.
 11068  	//
 11069  	// Units are thousandths. For example, 12 represents 0.012.
 11070  	CurrentBalance int32 `xml:"currentBalance,omitempty" json:"currentBalance,omitempty" vim:"4.0"`
 11071  	// The DRS score of this cluster, in percentage.
 11072  	DrsScore int32 `xml:"drsScore,omitempty" json:"drsScore,omitempty" vim:"7.0"`
 11073  	// The number of VMs in this cluster corresponding to each DRS score
 11074  	// bucket.
 11075  	//
 11076  	// The buckets are defined as follows:
 11077  	//     - 0% - 20%
 11078  	//     - 21% - 40%
 11079  	//     - 41% - 60%
 11080  	//     - 61% - 80%
 11081  	//     - 81% - 100%
 11082  	NumVmsPerDrsScoreBucket []int32 `xml:"numVmsPerDrsScoreBucket,omitempty" json:"numVmsPerDrsScoreBucket,omitempty" vim:"7.0"`
 11083  	// The current usage summary for a DRS cluster.
 11084  	UsageSummary *ClusterUsageSummary `xml:"usageSummary,omitempty" json:"usageSummary,omitempty" vim:"6.0"`
 11085  	// The Enhanced VMotion Compatibility mode that is currently in effect
 11086  	// for all hosts in this cluster; unset if no EVC mode is active.
 11087  	//
 11088  	// See also `Capability.supportedEVCMode`.
 11089  	CurrentEVCModeKey string `xml:"currentEVCModeKey,omitempty" json:"currentEVCModeKey,omitempty" vim:"4.0"`
 11090  	// The Enhanced VMotion Compatibility Graphics mode that is currently in
 11091  	// effect for all hosts in this cluster; unset if no EVC mode is active.
 11092  	//
 11093  	// See also `Capability.supportedEVCGraphicsMode`.
 11094  	CurrentEVCGraphicsModeKey string `xml:"currentEVCGraphicsModeKey,omitempty" json:"currentEVCGraphicsModeKey,omitempty" vim:"7.0.1.0"`
 11095  	// Data pertaining to DAS.
 11096  	DasData BaseClusterDasData `xml:"dasData,omitempty,typeattr" json:"dasData,omitempty" vim:"5.0"`
 11097  	// Configuration pertinent to state of the cluster maintenance mode.
 11098  	//
 11099  	// Valid values are enumerated by the `ClusterMaintenanceModeStatus`
 11100  	// type.
 11101  	ClusterMaintenanceModeStatus string `xml:"clusterMaintenanceModeStatus,omitempty" json:"clusterMaintenanceModeStatus,omitempty" vim:"7.0.0.2"`
 11102  	// The health status of the vSphere Cluster Services in the cluster.
 11103  	//
 11104  	// Supported values are enumerated by the `VcsHealthStatus`
 11105  	// type.
 11106  	VcsHealthStatus string `xml:"vcsHealthStatus,omitempty" json:"vcsHealthStatus,omitempty" vim:"7.0.1.1"`
 11107  	// An array of hosts and number of resource slots on the host for
 11108  	// vSphere Cluster Services in the cluster.
 11109  	//
 11110  	// The number of resource slots on the host includes both following types:
 11111  	// 1\. Number of vCS VMs running on the host (resource reserved and occupied).
 11112  	// 2\. Number of reserved and unoccupied slots (reserved for new vCS VMs).
 11113  	VcsSlots []ClusterComputeResourceVcsSlots `xml:"vcsSlots,omitempty" json:"vcsSlots,omitempty" vim:"7.0.1.1"`
 11114  }
 11115  
 11116  func init() {
 11117  	t["ClusterComputeResourceSummary"] = reflect.TypeOf((*ClusterComputeResourceSummary)(nil)).Elem()
 11118  }
 11119  
 11120  // Describes cluster configuration for various vCenter services.
 11121  type ClusterComputeResourceVCProfile struct {
 11122  	DynamicData
 11123  
 11124  	// Cluster configurarion.
 11125  	ClusterSpec *ClusterConfigSpecEx `xml:"clusterSpec,omitempty" json:"clusterSpec,omitempty"`
 11126  	// EVC mode key.
 11127  	EvcModeKey string `xml:"evcModeKey,omitempty" json:"evcModeKey,omitempty"`
 11128  	// EVC Graphics mode key
 11129  	EvcGraphicsModeKey string `xml:"evcGraphicsModeKey,omitempty" json:"evcGraphicsModeKey,omitempty" vim:"7.0.1.0"`
 11130  }
 11131  
 11132  func init() {
 11133  	t["ClusterComputeResourceVCProfile"] = reflect.TypeOf((*ClusterComputeResourceVCProfile)(nil)).Elem()
 11134  	minAPIVersionForType["ClusterComputeResourceVCProfile"] = "6.7.1"
 11135  }
 11136  
 11137  // Describes the validation results.
 11138  type ClusterComputeResourceValidationResultBase struct {
 11139  	DynamicData
 11140  
 11141  	// Describes the messages relevant to the validation result
 11142  	Info []LocalizableMessage `xml:"info,omitempty" json:"info,omitempty"`
 11143  }
 11144  
 11145  func init() {
 11146  	t["ClusterComputeResourceValidationResultBase"] = reflect.TypeOf((*ClusterComputeResourceValidationResultBase)(nil)).Elem()
 11147  	minAPIVersionForType["ClusterComputeResourceValidationResultBase"] = "6.7.1"
 11148  }
 11149  
 11150  type ClusterComputeResourceVcsSlots struct {
 11151  	DynamicData
 11152  
 11153  	// Identifier of the system for which the slots are applicable.
 11154  	SystemId string `xml:"systemId,omitempty" json:"systemId,omitempty" vim:"7.0.3.0"`
 11155  	// The host that has vSphere Cluster Services slots.
 11156  	//
 11157  	// Refers instance of `HostSystem`.
 11158  	Host ManagedObjectReference `xml:"host" json:"host"`
 11159  	// Datastores on the host which are recommended for vCLS VM deployment.
 11160  	//
 11161  	// Refers instances of `Datastore`.
 11162  	Datastore []ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty" vim:"7.0.3.0"`
 11163  	// The number of total vSphere Cluster Services slots on the host.
 11164  	TotalSlots int32 `xml:"totalSlots" json:"totalSlots"`
 11165  }
 11166  
 11167  func init() {
 11168  	t["ClusterComputeResourceVcsSlots"] = reflect.TypeOf((*ClusterComputeResourceVcsSlots)(nil)).Elem()
 11169  }
 11170  
 11171  // Deprecated as of VI API 2.5, use `ClusterConfigInfoEx`.
 11172  //
 11173  // A complete cluster configuration.
 11174  type ClusterConfigInfo struct {
 11175  	DynamicData
 11176  
 11177  	// Cluster-wide configuration of the vSphere HA service.
 11178  	DasConfig ClusterDasConfigInfo `xml:"dasConfig" json:"dasConfig"`
 11179  	// List of virtual machine configurations for the vSphere HA
 11180  	// service.
 11181  	//
 11182  	// Each entry applies to one virtual machine.
 11183  	//
 11184  	// If a virtual machine is not specified in this array, the service uses
 11185  	// the default settings for that virtual machine.
 11186  	DasVmConfig []ClusterDasVmConfigInfo `xml:"dasVmConfig,omitempty" json:"dasVmConfig,omitempty"`
 11187  	// Cluster-wide configuration of the VMware DRS service.
 11188  	DrsConfig ClusterDrsConfigInfo `xml:"drsConfig" json:"drsConfig"`
 11189  	// List of virtual machine configurations for the VMware DRS
 11190  	// service.
 11191  	//
 11192  	// Each entry applies to one virtual machine.
 11193  	//
 11194  	// If a virtual machine is not specified in this array, the service uses
 11195  	// the default settings for that virtual machine.
 11196  	DrsVmConfig []ClusterDrsVmConfigInfo `xml:"drsVmConfig,omitempty" json:"drsVmConfig,omitempty"`
 11197  	// Cluster-wide rules.
 11198  	Rule []BaseClusterRuleInfo `xml:"rule,omitempty,typeattr" json:"rule,omitempty"`
 11199  }
 11200  
 11201  func init() {
 11202  	t["ClusterConfigInfo"] = reflect.TypeOf((*ClusterConfigInfo)(nil)).Elem()
 11203  }
 11204  
 11205  // The `ClusterConfigInfoEx` data object describes a complete cluster
 11206  // configuration.
 11207  //
 11208  // For information about configuring a cluster, see
 11209  // `ClusterConfigSpecEx`.
 11210  type ClusterConfigInfoEx struct {
 11211  	ComputeResourceConfigInfo
 11212  
 11213  	// Configuration for vCLS system VMs deployment.
 11214  	SystemVMsConfig *ClusterSystemVMsConfigInfo `xml:"systemVMsConfig,omitempty" json:"systemVMsConfig,omitempty" vim:"7.0.3.0"`
 11215  	// Cluster-wide configuration of the vSphere HA service.
 11216  	DasConfig ClusterDasConfigInfo `xml:"dasConfig" json:"dasConfig"`
 11217  	// List of virtual machine configurations for the vSphere HA
 11218  	// service.
 11219  	//
 11220  	// Each entry applies to one virtual machine.
 11221  	//
 11222  	// If a virtual machine is not specified in this array, the service uses
 11223  	// the default settings for that virtual machine.
 11224  	DasVmConfig []ClusterDasVmConfigInfo `xml:"dasVmConfig,omitempty" json:"dasVmConfig,omitempty"`
 11225  	// Cluster-wide configuration of the VMware DRS service.
 11226  	DrsConfig ClusterDrsConfigInfo `xml:"drsConfig" json:"drsConfig"`
 11227  	// List of virtual machine configurations for the VMware DRS
 11228  	// service.
 11229  	//
 11230  	// Each entry applies to one virtual machine.
 11231  	//
 11232  	// If a virtual machine is not specified in this array, the service uses
 11233  	// the default settings for that virtual machine.
 11234  	DrsVmConfig []ClusterDrsVmConfigInfo `xml:"drsVmConfig,omitempty" json:"drsVmConfig,omitempty"`
 11235  	// Cluster-wide rules.
 11236  	Rule []BaseClusterRuleInfo `xml:"rule,omitempty,typeattr" json:"rule,omitempty"`
 11237  	// Cluster-wide configuration of VM orchestration.
 11238  	Orchestration *ClusterOrchestrationInfo `xml:"orchestration,omitempty" json:"orchestration,omitempty" vim:"6.5"`
 11239  	// List of virtual machine configurations that apply during cluster wide
 11240  	// VM orchestration.
 11241  	//
 11242  	// Each entry applies to one virtual machine.
 11243  	//
 11244  	// If a virtual machine is not specified in this array, the service uses
 11245  	// the default settings for that virtual machine.
 11246  	VmOrchestration []ClusterVmOrchestrationInfo `xml:"vmOrchestration,omitempty" json:"vmOrchestration,omitempty" vim:"6.5"`
 11247  	// Cluster-wide configuration of the VMware DPM service.
 11248  	DpmConfigInfo *ClusterDpmConfigInfo `xml:"dpmConfigInfo,omitempty" json:"dpmConfigInfo,omitempty"`
 11249  	// List of host configurations for the VMware DPM
 11250  	// service.
 11251  	//
 11252  	// Each entry applies to one host.
 11253  	//
 11254  	// If a host is not specified in this array, the service uses
 11255  	// the cluster default settings for that host.
 11256  	DpmHostConfig []ClusterDpmHostConfigInfo `xml:"dpmHostConfig,omitempty" json:"dpmHostConfig,omitempty"`
 11257  	// Cluster-wide configuration of the VMware VSAN service.
 11258  	VsanConfigInfo *VsanClusterConfigInfo `xml:"vsanConfigInfo,omitempty" json:"vsanConfigInfo,omitempty" vim:"5.5"`
 11259  	// List of host configurations for the VMware VSAN service.
 11260  	//
 11261  	// Each entry applies to one host.
 11262  	//
 11263  	// If a host is not specified in this array, the service uses
 11264  	// the cluster default settings for that host.
 11265  	VsanHostConfig []VsanHostConfigInfo `xml:"vsanHostConfig,omitempty" json:"vsanHostConfig,omitempty" vim:"5.5"`
 11266  	// Cluster-wide groups.
 11267  	Group []BaseClusterGroupInfo `xml:"group,omitempty,typeattr" json:"group,omitempty" vim:"4.1"`
 11268  	// Cluster-wide configuration of the VMware InfraUpdateHA service.
 11269  	InfraUpdateHaConfig *ClusterInfraUpdateHaConfigInfo `xml:"infraUpdateHaConfig,omitempty" json:"infraUpdateHaConfig,omitempty" vim:"6.5"`
 11270  	// Cluster-wide configuration of the ProactiveDRS service.
 11271  	ProactiveDrsConfig *ClusterProactiveDrsConfigInfo `xml:"proactiveDrsConfig,omitempty" json:"proactiveDrsConfig,omitempty" vim:"6.5"`
 11272  	// Cluster-wide configuration of the encryption mode.
 11273  	CryptoConfig *ClusterCryptoConfigInfo `xml:"cryptoConfig,omitempty" json:"cryptoConfig,omitempty" vim:"7.0"`
 11274  }
 11275  
 11276  func init() {
 11277  	t["ClusterConfigInfoEx"] = reflect.TypeOf((*ClusterConfigInfoEx)(nil)).Elem()
 11278  	minAPIVersionForType["ClusterConfigInfoEx"] = "2.5"
 11279  }
 11280  
 11281  // Deprecated as of VI API 2.5, use `ClusterConfigSpecEx`.
 11282  //
 11283  // A complete cluster configuration.
 11284  //
 11285  // All fields are defined as
 11286  // optional. In case of a reconfiguration, unset fields are
 11287  // unchanged.
 11288  type ClusterConfigSpec struct {
 11289  	DynamicData
 11290  
 11291  	// Changes to the configuration of vSphere HA.
 11292  	DasConfig *ClusterDasConfigInfo `xml:"dasConfig,omitempty" json:"dasConfig,omitempty"`
 11293  	// Changes to the per-virtual-machine vSphere HA settings.
 11294  	DasVmConfigSpec []ClusterDasVmConfigSpec `xml:"dasVmConfigSpec,omitempty" json:"dasVmConfigSpec,omitempty"`
 11295  	// Changes to the configuration of the VMware DRS service.
 11296  	DrsConfig *ClusterDrsConfigInfo `xml:"drsConfig,omitempty" json:"drsConfig,omitempty"`
 11297  	// Changes to the per-virtual-machine DRS settings.
 11298  	DrsVmConfigSpec []ClusterDrsVmConfigSpec `xml:"drsVmConfigSpec,omitempty" json:"drsVmConfigSpec,omitempty"`
 11299  	// Changes to the set of rules.
 11300  	RulesSpec []ClusterRuleSpec `xml:"rulesSpec,omitempty" json:"rulesSpec,omitempty"`
 11301  }
 11302  
 11303  func init() {
 11304  	t["ClusterConfigSpec"] = reflect.TypeOf((*ClusterConfigSpec)(nil)).Elem()
 11305  }
 11306  
 11307  // The `ClusterConfigSpecEx` data object provides a set of update
 11308  // specifications for complete cluster configuration.
 11309  //
 11310  // You can configure a cluster when you create a new cluster
 11311  // (the `Folder.CreateClusterEx` method) or when you
 11312  // reconfigure an existing cluster
 11313  // (the `ComputeResource.ReconfigureComputeResource_Task` method).
 11314  //
 11315  // All fields are optional. If you set the <code>modify</code>
 11316  // parameter to <code>true</code> when you call
 11317  // `ComputeResource.ReconfigureComputeResource_Task`, an unset property has no effect
 11318  // on the existing property value in the cluster configuration on the Server.
 11319  // If you set the <code>modify</code> parameter to <code>false</code> when you
 11320  // reconfigure a cluster, the cluster configuration is reverted to the default
 11321  // values, then the new configuration values are applied.
 11322  //
 11323  // Use the properties defined for this object to configure
 11324  // the following services:
 11325  //
 11326  //   - HA (High Availability) -
 11327  //     provides failover protection for virtual machines
 11328  //     running in a cluster of ESX Server hosts.
 11329  //     The virtual machines are located in a `Datastore`, which
 11330  //     provides shared storage for the cluster.
 11331  //     When a failure occurs that affects a protected virtual machine,
 11332  //     HA will restart the virtual machine on another host.
 11333  //     When HA detects a host failure, either the host has failed or it may be
 11334  //     isolated from the network. The HA agent on an isolated host will power off
 11335  //     or shutdown the virtual machines running on that host so that they
 11336  //     can be restarted elsewhere.
 11337  //     See `ClusterDasVmSettingsIsolationResponse_enum` for information
 11338  //     about how a host handles network isolation.
 11339  //
 11340  //     When it chooses a failover host, HA selects a host that is compatible
 11341  //     with the virtual machine and that can support resource allocation for
 11342  //     that virtual machine so that service level guarantees remain intact.
 11343  //     HA does not consider hosts that are in maintenance mode, standby mode,
 11344  //     or which are disconnected from the vCenter Server. When a host powers
 11345  //     on or becomes available again, HA is reenabled on that host,
 11346  //     so it becomes available for failover again.
 11347  //     VMware recommends that you configure hosts and virtual machines
 11348  //     so that all virtual machines can run on all hosts in the cluster.
 11349  //     This will maximize the chances of restarting a VM after a failure.
 11350  //
 11351  //     HA also restarts a virtual machine after a guest operating system failure.
 11352  //     In this case, the virtual machine health monitoring service detects
 11353  //     the guest failure, and HA restarts the virtual machine on the same host.
 11354  //     The service monitors heartbeats from the VmTools service and optionally
 11355  //     heartbeats that are generated by a third-party application monitor.
 11356  //     See `ClusterVmToolsMonitoringSettings` and
 11357  //     `ClusterDasConfigInfo*.*ClusterDasConfigInfo.vmMonitoring`.
 11358  //
 11359  //     To enable HA for a cluster, set the
 11360  //     `ClusterDasConfigInfo*.*ClusterDasConfigInfo.enabled`
 11361  //     property to <code>true</code> and the
 11362  //     `ClusterDasConfigInfo*.*ClusterDasConfigInfo.hostMonitoring`
 11363  //     property to `enabled`.
 11364  //     (The vSphere API uses the substring "das" in object, property,
 11365  //     and method names for HA.<sup>1</sup>)
 11366  //
 11367  //   - DRS (Distributed Resource Scheduling) - provides automatic initial
 11368  //     virtual machine placement on any of the hosts in the cluster. DRS
 11369  //     also makes automatic resource relocation and optimization decisions
 11370  //     as hosts or virtual machines are added or removed from the cluster.
 11371  //     You can also configure DRS for manual control, so that it only makes
 11372  //     recommendations that you can review and carry out.
 11373  //
 11374  //     To enable DRS for a cluster, set the
 11375  //     `ClusterDrsConfigInfo*.*ClusterDrsConfigInfo.enabled`
 11376  //     property to <code>true</code>.
 11377  //
 11378  //   - DPM (Distributed Power Management) - supports optimized power
 11379  //     consumption on the cluster. When virtual machines in a DRS
 11380  //     cluster require fewer resources, DPM consolidates workloads
 11381  //     onto fewer servers while maintaining quality of service guarantees
 11382  //     and powers off the rest to reduce power consumption.
 11383  //     When more resources are required, DPM brings the powered-down hosts online.
 11384  //
 11385  //     To enable DPM for a cluster, set the
 11386  //     `ClusterDpmConfigInfo*.*ClusterDpmConfigInfo.enabled`
 11387  //     property to <code>true</code>.
 11388  //
 11389  //   - VSAN - aggregrates hosts' local disks to present a single
 11390  //     shared datastore to the cluster.
 11391  //
 11392  //     To enable VSAN for a cluster, set the
 11393  //     `VsanClusterConfigInfo.enabled` property to
 11394  //     <code>true</code> for `ClusterConfigSpecEx.vsanConfig`.
 11395  //
 11396  //   - InfraUpdateHA (Infrastructure update HA) - supports automatic
 11397  //     migration of virtual machines to hosts with low risk of a
 11398  //     catastrophic failure. Similar to DRS, you can also configure
 11399  //     InfraUpdateHA for manual control to only makes recommendations that
 11400  //     you can review and carry out. The health state of the hosts are
 11401  //     propagated to HA to enable restarting of virtual machines in healthy
 11402  //     hosts as possible.
 11403  //
 11404  //     To enable InfraUpdateHA for a cluster, set the
 11405  //     `ClusterInfraUpdateHaConfigInfo*.*ClusterInfraUpdateHaConfigInfo.enabled` property to
 11406  //     <code>true</code>.
 11407  //
 11408  //   - ProactiveDRS (Proactive Distributed Resources Scheduling) - supports
 11409  //     virtual machine load balancing decisions that take predicted
 11410  //     resource demand information into account.
 11411  //
 11412  //     To enable ProactiveDRS for a cluster, set the
 11413  //     `ClusterProactiveDrsConfigInfo*.*ClusterProactiveDrsConfigInfo.enabled` property to
 11414  //     <code>true</code>.
 11415  //
 11416  // The HA, DRS, and DPM services are integrated with the FT (Fault Tolerance)
 11417  // and EVC (Enhanced vMotion Compatibility) services.
 11418  // Use the `VirtualMachine.CreateSecondaryVM_Task` method to establish
 11419  // fault tolerance for a virtual machine. Use the vSphere Client to configure EVC.
 11420  // The HA, DRS, DPM, FT, and EVC services interact under
 11421  // the following circumstances.
 11422  //
 11423  //   - To determine initial placement of a virtual machine, DRS
 11424  //     checks to see if the HA admission control policy on a
 11425  //     potential host supports the addition of the powered on
 11426  //     virtual machine. With the default setting, DRS will not
 11427  //     power on more than four FT virtual machines per host.
 11428  //     You can use the configuration editor in the vSphere Client
 11429  //     to set the HA advanced option <code>das.maxFtVmsPerHost</code>
 11430  //     to the desired number or to zero to disable.
 11431  //
 11432  //   - When a host fails, HA determines placement within
 11433  //     the cluster when it restarts the virtual machines.
 11434  //     If there is insufficient capacity, and DPM has put one or more
 11435  //     compatible hosts into standby, HA relies on DPM to bring more
 11436  //     capacity online.
 11437  //
 11438  //   - To use FT in a cluster, the cluster must be HA-enabled.
 11439  //
 11440  //   - You can disable HA in a cluster while there are FT virtual
 11441  //     machines registered on hosts in the cluster.
 11442  //     While HA is disabled, powered on FT virtual machines will continue
 11443  //     to run, but HA will not restart any virtual machines after a failure.
 11444  //     When HA is disabled, you cannot use the following FT operations:
 11445  //
 11446  //   - Turn on FT (`VirtualMachine.CreateSecondaryVM_Task`)
 11447  //
 11448  //   - Enable FT (`VirtualMachine.EnableSecondaryVM_Task`)
 11449  //
 11450  //   - Power on an FT virtual machine
 11451  //     (`VirtualMachine.PowerOnVM_Task`)
 11452  //
 11453  //   - Test failover and test secondary restart
 11454  //     (`VirtualMachine.TerminateFaultTolerantVM_Task`)
 11455  //
 11456  //   - In a cluster using DRS and HA with admission control turned on
 11457  //     (`ClusterDasConfigInfo*.*ClusterDasConfigInfo.admissionControlEnabled`),
 11458  //     the vCenter Server might not migrate virtual machines from hosts
 11459  //     entering maintenance mode. This is because resources are reserved
 11460  //     to maintain the failover level. You must use vMotion to manually
 11461  //     migrate the virtual machines off the hosts.
 11462  //
 11463  //     When admission control is disabled, failover resource constraints
 11464  //     are not passed on to DRS and DPM. The constraints are not enforced.
 11465  //
 11466  //   - DRS determines virtual machine placement and status
 11467  //     (maintenance mode, standby mode) regardless of the impact
 11468  //     this might have on failover requirements.
 11469  //
 11470  //   - DPM powers off hosts (places them in standby mode)
 11471  //     even if doing so violates failover requirements.
 11472  //     If there is insufficient capacity when a failover
 11473  //     occurs, DPM will attempt to bring more capacity online
 11474  //     in order to correct the situation.
 11475  //
 11476  //   - You must enable EVC in a cluster to enable DRS to manage FT primary
 11477  //     and secondary virtual machine pairs in the cluster.
 11478  //     For information about EVC clusters, see `EVCMode`.
 11479  //
 11480  //     If EVC is disabled, vCenter automatically creates overrides
 11481  //     to disable DRS for FT primary/secondary pairs in the cluster.
 11482  //     vCenter will still use DRS to place a secondary virtual machine
 11483  //     when it powers on.
 11484  //     Attempts to remove the overrides or to enable DRS operations
 11485  //     will fail.
 11486  //
 11487  //   - EVC clusters support load balancing of powered on FT primary
 11488  //     and secondary virtual machines. DRS behavior
 11489  //     is governed by the overrides defined for the primary virtual
 11490  //     machine. The secondary inherits DRS behavior from its primary.
 11491  //     If you do not configure a DRS override for an FT virtual
 11492  //     machine, DRS uses the cluster default
 11493  //     (`ClusterDrsConfigInfo.defaultVmBehavior`).
 11494  //
 11495  // <sup>1</sup>High Availability was previously called Distributed
 11496  // Availability Services.
 11497  type ClusterConfigSpecEx struct {
 11498  	ComputeResourceConfigSpec
 11499  
 11500  	// Configuration for vCLS system VMs deployment.
 11501  	SystemVMsConfig *ClusterSystemVMsConfigSpec `xml:"systemVMsConfig,omitempty" json:"systemVMsConfig,omitempty" vim:"7.0.3.0"`
 11502  	// HA configuration; includes default settings for virtual machines.
 11503  	DasConfig *ClusterDasConfigInfo `xml:"dasConfig,omitempty" json:"dasConfig,omitempty"`
 11504  	// HA configuration for individual virtual machines.
 11505  	//
 11506  	// The entries in this array override the cluster default
 11507  	// settings
 11508  	// (`ClusterDasConfigInfo*.*ClusterDasConfigInfo.defaultVmSettings`).
 11509  	// You cannot specify an HA override for a secondary FT virtual
 11510  	// machine. The secondary virtual machine will inherit whatever
 11511  	// settings apply to its primary virtual machine. If you
 11512  	// include an entry for a secondary, the reconfigure method
 11513  	// will throw the fault
 11514  	// `CannotChangeHaSettingsForFtSecondary`.
 11515  	DasVmConfigSpec []ClusterDasVmConfigSpec `xml:"dasVmConfigSpec,omitempty" json:"dasVmConfigSpec,omitempty"`
 11516  	// DRS configuration; includes default settings for virtual machines.
 11517  	DrsConfig *ClusterDrsConfigInfo `xml:"drsConfig,omitempty" json:"drsConfig,omitempty"`
 11518  	// DRS configuration for individual virtual machines.
 11519  	//
 11520  	// The entries in this array override the cluster default
 11521  	// settings
 11522  	// (`ClusterDrsConfigInfo*.*ClusterDrsConfigInfo.defaultVmBehavior`).
 11523  	// You cannot specify a DRS override for a secondary FT virtual
 11524  	// machine. The secondary virtual machine will inherit whatever
 11525  	// setting applies to its primary virtual machine. If you
 11526  	// include an entry for a secondary, the reconfigure method
 11527  	// will throw the fault
 11528  	// `CannotChangeDrsBehaviorForFtSecondary`.
 11529  	DrsVmConfigSpec []ClusterDrsVmConfigSpec `xml:"drsVmConfigSpec,omitempty" json:"drsVmConfigSpec,omitempty"`
 11530  	// Cluster affinity and anti-affinity rule configuration.
 11531  	RulesSpec []ClusterRuleSpec `xml:"rulesSpec,omitempty" json:"rulesSpec,omitempty"`
 11532  	// Cluster configuration of VM orchestration.
 11533  	Orchestration *ClusterOrchestrationInfo `xml:"orchestration,omitempty" json:"orchestration,omitempty" vim:"6.5"`
 11534  	// List of specific VM configurations that apply during cluster wide
 11535  	// VM orchestration.
 11536  	//
 11537  	// Each entry applies to one virtual machine, and
 11538  	// overrides the cluster default settings.
 11539  	VmOrchestrationSpec []ClusterVmOrchestrationSpec `xml:"vmOrchestrationSpec,omitempty" json:"vmOrchestrationSpec,omitempty" vim:"6.5"`
 11540  	// DPM configuration; includes default settings for hosts.
 11541  	DpmConfig *ClusterDpmConfigInfo `xml:"dpmConfig,omitempty" json:"dpmConfig,omitempty"`
 11542  	// DPM configuration for individual hosts.
 11543  	//
 11544  	// The entries in this array override the cluster default
 11545  	// settings
 11546  	// (`ClusterDpmConfigInfo*.*ClusterDpmConfigInfo.defaultDpmBehavior`).
 11547  	DpmHostConfigSpec []ClusterDpmHostConfigSpec `xml:"dpmHostConfigSpec,omitempty" json:"dpmHostConfigSpec,omitempty"`
 11548  	// VSAN configuration; includes default settings for hosts.
 11549  	//
 11550  	// When it is requested to change, vSAN related sub tasks will be
 11551  	// generated automatically per member hosts, which are identified
 11552  	// by using cluster reconfiguration task id as
 11553  	// `TaskInfo.parentTaskKey`, and should be monitored
 11554  	// and tracked separatedly.
 11555  	VsanConfig *VsanClusterConfigInfo `xml:"vsanConfig,omitempty" json:"vsanConfig,omitempty" vim:"5.5"`
 11556  	// VSAN configuration for individual hosts.
 11557  	//
 11558  	// The entries in this array override the cluster default settings
 11559  	// as specified in `VsanClusterConfigInfo`.
 11560  	VsanHostConfigSpec []VsanHostConfigInfo `xml:"vsanHostConfigSpec,omitempty" json:"vsanHostConfigSpec,omitempty" vim:"5.5"`
 11561  	// Cluster-wide group configuration.
 11562  	//
 11563  	// The array contains one or more group specification objects.
 11564  	// A group specification object contains a virtual machine group
 11565  	// (`ClusterVmGroup`) or a host group (`ClusterHostGroup`).
 11566  	// Groups can be related; see `ClusterVmHostRuleInfo`.
 11567  	GroupSpec []ClusterGroupSpec `xml:"groupSpec,omitempty" json:"groupSpec,omitempty" vim:"4.1"`
 11568  	// InfraUpdateHA configuration.
 11569  	InfraUpdateHaConfig *ClusterInfraUpdateHaConfigInfo `xml:"infraUpdateHaConfig,omitempty" json:"infraUpdateHaConfig,omitempty" vim:"6.5"`
 11570  	// ProactiveDrs configuration.
 11571  	ProactiveDrsConfig *ClusterProactiveDrsConfigInfo `xml:"proactiveDrsConfig,omitempty" json:"proactiveDrsConfig,omitempty" vim:"6.5"`
 11572  	// Flag to place the cluster in the HCI workflow during cluster creation.
 11573  	//
 11574  	// This flag is specified only at the time of cluster creation.
 11575  	// A cluster cannot be reconfigured to place it in the HCI workflow.
 11576  	InHciWorkflow *bool `xml:"inHciWorkflow" json:"inHciWorkflow,omitempty" vim:"6.7.1"`
 11577  	// Cluster-wide configuration of encryption mode.
 11578  	CryptoConfig *ClusterCryptoConfigInfo `xml:"cryptoConfig,omitempty" json:"cryptoConfig,omitempty" vim:"7.0"`
 11579  }
 11580  
 11581  func init() {
 11582  	t["ClusterConfigSpecEx"] = reflect.TypeOf((*ClusterConfigSpecEx)(nil)).Elem()
 11583  	minAPIVersionForType["ClusterConfigSpecEx"] = "2.5"
 11584  }
 11585  
 11586  // This event records when a cluster is created.
 11587  type ClusterCreatedEvent struct {
 11588  	ClusterEvent
 11589  
 11590  	// The folder where the cluster is created.
 11591  	Parent FolderEventArgument `xml:"parent" json:"parent"`
 11592  }
 11593  
 11594  func init() {
 11595  	t["ClusterCreatedEvent"] = reflect.TypeOf((*ClusterCreatedEvent)(nil)).Elem()
 11596  }
 11597  
 11598  type ClusterCryptoConfigInfo struct {
 11599  	DynamicData
 11600  
 11601  	// The cluster encryption mode.
 11602  	//
 11603  	// See `ClusterCryptoConfigInfoCryptoMode_enum` for supported values.
 11604  	CryptoMode string `xml:"cryptoMode,omitempty" json:"cryptoMode,omitempty"`
 11605  }
 11606  
 11607  func init() {
 11608  	t["ClusterCryptoConfigInfo"] = reflect.TypeOf((*ClusterCryptoConfigInfo)(nil)).Elem()
 11609  }
 11610  
 11611  // Deprecated as of vSphere API 5.0, this object is no longer returned by
 11612  // vCenter Server. Availability information is now reported using
 11613  // `HostRuntimeInfo.dasHostState`.
 11614  //
 11615  // The `ClusterDasAamHostInfo` object contains a list of the ESX hosts
 11616  // in an HA cluster and a list that identifies the _primary_ hosts.
 11617  //
 11618  // (AAM is a component of the HA service.)
 11619  // The primary hosts share the joint responsibility of maintaining all cluster
 11620  // state and one will initiate failover actions should a failure occur.
 11621  //
 11622  // When you add an ESX host to a vSphere HA cluster, the host
 11623  // downloads HA agent components from the vCenter Server.
 11624  // The HA agent maintains communication with the vCenter Server.
 11625  //
 11626  // When the host downloads the HA agent, the host configures the agent
 11627  // to communicate with other agents in the cluster. A host that joins
 11628  // the cluster communicates with an existing primary host to complete
 11629  // its configuration (except when you are adding the first host to the cluster).
 11630  //   - The first five hosts added to the cluster are designated
 11631  //     as primary hosts. All subsequent hosts are designated as secondary hosts.
 11632  //   - If a primary host is removed from the cluster,
 11633  //     the vCenter Server promotes another host to primary status.
 11634  //   - There must be at least one functional primary host for vSphere HA
 11635  //     to operate correctly. If there is not an available primary host
 11636  //     (no response), host configuration for HA will fail.
 11637  //     If there is a total cluster failure, HA will begin restarting virtual
 11638  //     machines as soon as one host recovers and its HA agent is up and running.
 11639  //
 11640  // One of the primary hosts assumes the role of the active primary host.
 11641  // The active primary host responsibilities include the following activities:
 11642  //   - Decides where to restart virtual machines.
 11643  //   - Tracks failed restart attempts.
 11644  //   - Determines when it is appropriate to continue attempts to restart
 11645  //     a virtual machine.
 11646  //
 11647  // If the active primary host fails, another primary host replaces it.
 11648  type ClusterDasAamHostInfo struct {
 11649  	ClusterDasHostInfo
 11650  
 11651  	// The state of HA on the hosts.
 11652  	HostDasState []ClusterDasAamNodeState `xml:"hostDasState,omitempty" json:"hostDasState,omitempty"`
 11653  	// The list of primary hosts.
 11654  	PrimaryHosts []string `xml:"primaryHosts,omitempty" json:"primaryHosts,omitempty"`
 11655  }
 11656  
 11657  func init() {
 11658  	t["ClusterDasAamHostInfo"] = reflect.TypeOf((*ClusterDasAamHostInfo)(nil)).Elem()
 11659  	minAPIVersionForType["ClusterDasAamHostInfo"] = "4.0"
 11660  }
 11661  
 11662  // Deprecated as of vSphere API 5.0, this object is no longer returned by
 11663  // vCenter Server. See `HostRuntimeInfo.dasHostState` for a
 11664  // description of the objects now used.
 11665  //
 11666  // The `ClusterDasAamNodeState` data object represents the state
 11667  // of the HA service on an ESX host.
 11668  //
 11669  // (AAM is a component of this service.)
 11670  type ClusterDasAamNodeState struct {
 11671  	DynamicData
 11672  
 11673  	// Reference to the host.
 11674  	//
 11675  	// Refers instance of `HostSystem`.
 11676  	Host ManagedObjectReference `xml:"host" json:"host"`
 11677  	// Name of the host
 11678  	// (`HostSystem*.*ManagedEntity.name`).
 11679  	Name string `xml:"name" json:"name"`
 11680  	// Configuration state of the HA agent on the host.
 11681  	//
 11682  	// The property can be one of the following values:
 11683  	//
 11684  	// configuring
 11685  	// error
 11686  	// unconfiguring
 11687  	// running
 11688  	//
 11689  	// <code>configState</code> represents setting or resetting the HA
 11690  	// configuration on the host. If the configuration operation is
 11691  	// successful, the value of <code>configState</code> changes
 11692  	// to <code>running</code>. See `ClusterDasAamNodeStateDasState_enum`.
 11693  	ConfigState string `xml:"configState" json:"configState"`
 11694  	// The runtime state of the HA agent on the node.
 11695  	//
 11696  	// The property can be one of the following values:
 11697  	//
 11698  	// uninitialized
 11699  	// initialized
 11700  	// running
 11701  	// error
 11702  	// agentShutdown
 11703  	// nodeFailed
 11704  	//
 11705  	// See `ClusterDasAamNodeStateDasState_enum`.
 11706  	RuntimeState string `xml:"runtimeState" json:"runtimeState"`
 11707  }
 11708  
 11709  func init() {
 11710  	t["ClusterDasAamNodeState"] = reflect.TypeOf((*ClusterDasAamNodeState)(nil)).Elem()
 11711  	minAPIVersionForType["ClusterDasAamNodeState"] = "4.0"
 11712  }
 11713  
 11714  // Base class for admission control related information of a vSphere HA cluster.
 11715  type ClusterDasAdmissionControlInfo struct {
 11716  	DynamicData
 11717  }
 11718  
 11719  func init() {
 11720  	t["ClusterDasAdmissionControlInfo"] = reflect.TypeOf((*ClusterDasAdmissionControlInfo)(nil)).Elem()
 11721  	minAPIVersionForType["ClusterDasAdmissionControlInfo"] = "4.0"
 11722  }
 11723  
 11724  // Base class for specifying how admission control should be done for vSphere HA.
 11725  type ClusterDasAdmissionControlPolicy struct {
 11726  	DynamicData
 11727  
 11728  	// Percentage of resource reduction that a cluster of VMs can tolerate
 11729  	// in case of a failover.
 11730  	ResourceReductionToToleratePercent *int32 `xml:"resourceReductionToToleratePercent" json:"resourceReductionToToleratePercent,omitempty" vim:"6.5"`
 11731  	// Flag that determines whether strict admission control for persistent
 11732  	// memory is enabled.
 11733  	//
 11734  	// By default, this value is false.
 11735  	// This flag can only be set to true if
 11736  	// `ClusterDasConfigInfo.admissionControlEnabled` is set to true.
 11737  	// When you use persistent memory admission control, the following
 11738  	// operations are prevented, if doing so would violate the
 11739  	// `ClusterDasConfigInfo.admissionControlEnabled`.
 11740  	//     - Creating a virtual machine with persistent memory.
 11741  	//     - Adding a virtual persistent memory device to a virtual machine.
 11742  	//     - Increasing the capacity of a virtual persistent memory device.
 11743  	PMemAdmissionControlEnabled *bool `xml:"pMemAdmissionControlEnabled" json:"pMemAdmissionControlEnabled,omitempty" vim:"7.0.2.0"`
 11744  }
 11745  
 11746  func init() {
 11747  	t["ClusterDasAdmissionControlPolicy"] = reflect.TypeOf((*ClusterDasAdmissionControlPolicy)(nil)).Elem()
 11748  	minAPIVersionForType["ClusterDasAdmissionControlPolicy"] = "4.0"
 11749  }
 11750  
 11751  // Base class for advanced runtime information related to the high
 11752  // availability service for a cluster.
 11753  type ClusterDasAdvancedRuntimeInfo struct {
 11754  	DynamicData
 11755  
 11756  	// The information pertaining to the HA agents on the hosts
 11757  	DasHostInfo BaseClusterDasHostInfo `xml:"dasHostInfo,omitempty,typeattr" json:"dasHostInfo,omitempty"`
 11758  	// Whether HA VM Component Protection can be enabled for the cluster.
 11759  	VmcpSupported *ClusterDasAdvancedRuntimeInfoVmcpCapabilityInfo `xml:"vmcpSupported,omitempty" json:"vmcpSupported,omitempty" vim:"6.0"`
 11760  	// The map of a datastore to the set of hosts that are using
 11761  	// the datastore for storage heartbeating.
 11762  	HeartbeatDatastoreInfo []DasHeartbeatDatastoreInfo `xml:"heartbeatDatastoreInfo,omitempty" json:"heartbeatDatastoreInfo,omitempty" vim:"5.0"`
 11763  }
 11764  
 11765  func init() {
 11766  	t["ClusterDasAdvancedRuntimeInfo"] = reflect.TypeOf((*ClusterDasAdvancedRuntimeInfo)(nil)).Elem()
 11767  	minAPIVersionForType["ClusterDasAdvancedRuntimeInfo"] = "4.0"
 11768  }
 11769  
 11770  // Class for capability to support VM Component Protection
 11771  type ClusterDasAdvancedRuntimeInfoVmcpCapabilityInfo struct {
 11772  	DynamicData
 11773  
 11774  	// If all hosts in the cluster support the reaction of VM Component Protection
 11775  	// to storage All Paths Down timeout
 11776  	// (@link vim.host.MountInfo.InaccessibleReason#AllPathsDown\_Timeout}
 11777  	StorageAPDSupported bool `xml:"storageAPDSupported" json:"storageAPDSupported"`
 11778  	// If all hosts in the cluster support the reaction of VM Component Protection
 11779  	// to storage Permanent Device Loss
 11780  	// (@link vim.host.MountInfo.InaccessibleReason#PermanentDeviceLoss}
 11781  	StoragePDLSupported bool `xml:"storagePDLSupported" json:"storagePDLSupported"`
 11782  }
 11783  
 11784  func init() {
 11785  	t["ClusterDasAdvancedRuntimeInfoVmcpCapabilityInfo"] = reflect.TypeOf((*ClusterDasAdvancedRuntimeInfoVmcpCapabilityInfo)(nil)).Elem()
 11786  	minAPIVersionForType["ClusterDasAdvancedRuntimeInfoVmcpCapabilityInfo"] = "6.0"
 11787  }
 11788  
 11789  // The `ClusterDasConfigInfo` data object contains configuration data
 11790  // about the HA service on a cluster.
 11791  //
 11792  // All fields are optional. If you set the <code>modify</code>
 11793  // parameter to <code>true</code> when you call
 11794  // `ComputeResource.ReconfigureComputeResource_Task`, an unset property has no effect
 11795  // on the existing property value in the cluster configuration on the Server.
 11796  // If you set the <code>modify</code> parameter to <code>false</code> when you
 11797  // reconfigure a cluster, the cluster configuration is reverted to the default
 11798  // values, then the new configuration values are applied.
 11799  type ClusterDasConfigInfo struct {
 11800  	DynamicData
 11801  
 11802  	// Flag to indicate whether or not vSphere HA feature is enabled.
 11803  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 11804  	// Level of HA Virtual Machine Health Monitoring Service.
 11805  	//
 11806  	// You can monitor both guest and application heartbeats, guest heartbeats only,
 11807  	// or you can disable the service. See `ClusterDasConfigInfoVmMonitoringState_enum`.
 11808  	// The default value is `vmMonitoringDisabled`.
 11809  	//
 11810  	// The Service level specified for the cluster determines
 11811  	// the possible monitoring settings that you can use for individual virtual machines.
 11812  	// See `ClusterVmToolsMonitoringSettings*.*ClusterVmToolsMonitoringSettings.vmMonitoring`.
 11813  	VmMonitoring string `xml:"vmMonitoring,omitempty" json:"vmMonitoring,omitempty" vim:"4.0"`
 11814  	// Determines whether HA restarts virtual machines after a host fails.
 11815  	//
 11816  	// The default value is
 11817  	// `ClusterDasConfigInfoServiceState_enum*.*enabled`.
 11818  	// This property is meaningful only when
 11819  	// `ClusterDasConfigInfo*.*ClusterDasConfigInfo.enabled` is <code>true</code>.
 11820  	//
 11821  	// When <code>hostMonitoring</code> is
 11822  	// `enabled`, HA restarts virtual machines
 11823  	// after a host fails.
 11824  	//
 11825  	// When <code>hostMonitoring</code> is
 11826  	// `disabled`, HA does not restart
 11827  	// virtual machines after a host fails.
 11828  	// The status of Host Monitoring does not affect other services such
 11829  	// as virtual machine Health Monitoring or Fault Tolerance.
 11830  	// The rest of the cluster operations follow normal processing.
 11831  	// No configuration information is lost and re-enabling the service
 11832  	// is a quick operation.
 11833  	HostMonitoring string `xml:"hostMonitoring,omitempty" json:"hostMonitoring,omitempty" vim:"4.0"`
 11834  	// This property indicates if vSphere HA VM Component Protection service
 11835  	// is enabled.
 11836  	//
 11837  	// The default value is `disabled`.
 11838  	//
 11839  	// When <code>vmComponentProtecting</code> is set to
 11840  	// `disabled`, reaction to all types of VM
 11841  	// component failures is disabled.
 11842  	//
 11843  	// When <code>vmComponentProtecting</code> is set to
 11844  	// `enabled`, VM Component Protection service
 11845  	// will detect and react to component failures. The actual reaction is determined
 11846  	// by `ClusterVmComponentProtectionSettings` which is referenced by both cluster
 11847  	// level configuration (`ClusterDasConfigInfo.defaultVmSettings`) and per-VM
 11848  	// override `ClusterConfigInfoEx.dasVmConfig`.
 11849  	VmComponentProtecting string `xml:"vmComponentProtecting,omitempty" json:"vmComponentProtecting,omitempty" vim:"6.0"`
 11850  	// Deprecated as of vSphere API 4.0, use
 11851  	// `ClusterFailoverLevelAdmissionControlPolicy` to set
 11852  	// `ClusterDasConfigInfo.admissionControlPolicy`.
 11853  	//
 11854  	// Configured failover level.
 11855  	//
 11856  	// This is the number of physical host failures
 11857  	// that can be tolerated without impacting the ability to satisfy the
 11858  	// minimums for all running virtual machines. Acceptable values range from one to
 11859  	// four.
 11860  	FailoverLevel int32 `xml:"failoverLevel,omitempty" json:"failoverLevel,omitempty"`
 11861  	// Virtual machine admission control policy for vSphere HA.
 11862  	//
 11863  	// The policies specify resource availability for failover support.
 11864  	//     - Failover host admission policy
 11865  	//       `ClusterFailoverHostAdmissionControlPolicy` -
 11866  	//       specify one or more dedicated failover hosts.
 11867  	//     - Failover level policy
 11868  	//       `ClusterFailoverLevelAdmissionControlPolicy` -
 11869  	//       the limit of host failures for which resources are reserved.
 11870  	//       When you use the failover level policy,
 11871  	//       HA partitions resources into slots. A slot represents the minimum
 11872  	//       CPU and memory resources that are required to support
 11873  	//       any powered on virtual machine in the cluster.
 11874  	//       To retrieve information about partitioned resources, use the
 11875  	//       `ClusterComputeResource.RetrieveDasAdvancedRuntimeInfo`
 11876  	//       method.
 11877  	//     - Resources admission policy
 11878  	//       `ClusterFailoverResourcesAdmissionControlPolicy` -
 11879  	//       CPU and memory resources reserved for failover support.
 11880  	//       When you use the resources policy, you can reserve
 11881  	//       a percentage of the aggregate cluster resource for failover.
 11882  	AdmissionControlPolicy BaseClusterDasAdmissionControlPolicy `xml:"admissionControlPolicy,omitempty,typeattr" json:"admissionControlPolicy,omitempty" vim:"4.0"`
 11883  	// Flag that determines whether strict admission control is enabled.
 11884  	//
 11885  	// When you use admission control, the following operations are
 11886  	// prevented, if doing so would violate the `ClusterDasConfigInfo.admissionControlPolicy`.
 11887  	//     - Powering on a virtual machine in the cluster.
 11888  	//     - Migrating a virtual machine into the cluster.
 11889  	//     - Increasing the CPU or memory reservation of powered-on
 11890  	//       virtual machines in the cluster.
 11891  	//
 11892  	// With admission control disabled, there is no assurance that
 11893  	// all virtual machines in the HA cluster can be restarted after
 11894  	// a host failure. VMware recommends that you do not disable
 11895  	// admission control, but you might need to do so temporarily,
 11896  	// for the following reasons:
 11897  	//     - If you need to violate the failover constraints when there
 11898  	//       are not enough resources to support them (for example,
 11899  	//       if you are placing hosts in standby mode to test them
 11900  	//       for use with DPM).
 11901  	//     - If an automated process needs to take actions that might
 11902  	//       temporarily violate the failover constraints (for example,
 11903  	//       as part of an upgrade directed by VMware Update Manager).
 11904  	//     - If you need to perform testing or maintenance operations.
 11905  	AdmissionControlEnabled *bool `xml:"admissionControlEnabled" json:"admissionControlEnabled,omitempty"`
 11906  	// Cluster-wide defaults for virtual machine HA settings.
 11907  	//
 11908  	// When a virtual machine has no HA configuration
 11909  	// (`ClusterDasVmConfigSpec`), it uses the values
 11910  	// specified here.
 11911  	DefaultVmSettings *ClusterDasVmSettings `xml:"defaultVmSettings,omitempty" json:"defaultVmSettings,omitempty" vim:"2.5"`
 11912  	// Advanced settings.
 11913  	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 11914  	// The list of preferred datastores to use for storage heartbeating.
 11915  	//
 11916  	// Each of the specified datastores should be active and mounted
 11917  	// by more than one host. There is no limit on the number of specified
 11918  	// datastores and no priority among them.
 11919  	// The specified datastores will replace those previously specified and
 11920  	// an empty list will delete all such earlier specified ones.
 11921  	//
 11922  	// vCenter Server chooses the heartbeat datastores for a host from the
 11923  	// set specified by `ClusterDasConfigInfo.hBDatastoreCandidatePolicy`.
 11924  	// The choice is made based on datastore connectivity and storage array
 11925  	// redundancy (in case of VMFS).
 11926  	//
 11927  	// The final set of selected heartbeat datastores is reported via
 11928  	// `ClusterDasAdvancedRuntimeInfo.heartbeatDatastoreInfo`.
 11929  	//
 11930  	// Refers instances of `Datastore`.
 11931  	HeartbeatDatastore []ManagedObjectReference `xml:"heartbeatDatastore,omitempty" json:"heartbeatDatastore,omitempty" vim:"5.0"`
 11932  	// The policy on what datastores will be used by vCenter Server to choose
 11933  	// heartbeat datastores.
 11934  	//
 11935  	// See `ClusterDasConfigInfoHBDatastoreCandidate_enum` for all options.
 11936  	// The default value is
 11937  	// `allFeasibleDsWithUserPreference`.
 11938  	HBDatastoreCandidatePolicy string `xml:"hBDatastoreCandidatePolicy,omitempty" json:"hBDatastoreCandidatePolicy,omitempty" vim:"5.0"`
 11939  }
 11940  
 11941  func init() {
 11942  	t["ClusterDasConfigInfo"] = reflect.TypeOf((*ClusterDasConfigInfo)(nil)).Elem()
 11943  }
 11944  
 11945  // Base class for DAS data for high availability service for a cluster.
 11946  type ClusterDasData struct {
 11947  	DynamicData
 11948  }
 11949  
 11950  func init() {
 11951  	t["ClusterDasData"] = reflect.TypeOf((*ClusterDasData)(nil)).Elem()
 11952  	minAPIVersionForType["ClusterDasData"] = "5.0"
 11953  }
 11954  
 11955  // This class contains the summary of the data that DAS needs/uses.
 11956  //
 11957  // The actual data is available in `ClusterDasDataDetails` and can be retrieved
 11958  // using the `ClusterComputeResource.RetrieveDasData` method.
 11959  // This class is meant for VMware internal use only.
 11960  type ClusterDasDataSummary struct {
 11961  	ClusterDasData
 11962  
 11963  	// The version corresponding to the hostList
 11964  	HostListVersion int64 `xml:"hostListVersion" json:"hostListVersion"`
 11965  	// The version corresponding to the clusterConfig
 11966  	ClusterConfigVersion int64 `xml:"clusterConfigVersion" json:"clusterConfigVersion"`
 11967  	// The version corresponding to the compatList
 11968  	CompatListVersion int64 `xml:"compatListVersion" json:"compatListVersion"`
 11969  }
 11970  
 11971  func init() {
 11972  	t["ClusterDasDataSummary"] = reflect.TypeOf((*ClusterDasDataSummary)(nil)).Elem()
 11973  	minAPIVersionForType["ClusterDasDataSummary"] = "5.0"
 11974  }
 11975  
 11976  // Advanced runtime information related to the high availability service
 11977  // for a cluster that has been configured with a failover level admission control
 11978  // policy.
 11979  //
 11980  // See `ClusterFailoverLevelAdmissionControlPolicy`.
 11981  type ClusterDasFailoverLevelAdvancedRuntimeInfo struct {
 11982  	ClusterDasAdvancedRuntimeInfo
 11983  
 11984  	// Slot information for this cluster.
 11985  	SlotInfo ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo `xml:"slotInfo" json:"slotInfo"`
 11986  	// The total number of slots available in the cluster.
 11987  	//
 11988  	// See also `ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo`.
 11989  	TotalSlots int32 `xml:"totalSlots" json:"totalSlots"`
 11990  	// The number of slots currently being used.
 11991  	//
 11992  	// See also `ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo`.
 11993  	UsedSlots int32 `xml:"usedSlots" json:"usedSlots"`
 11994  	// The number of slots that are not used by currently powered on virtual machines
 11995  	// and not reserved to satisfy the configured failover level.
 11996  	//
 11997  	// This number gives
 11998  	// an indication of how many additional virtual machines can be powered on in
 11999  	// this cluster without violating the failover level (assuming the new virtual
 12000  	// machine's reservations are satisfied by the current slot size).
 12001  	// This value is computed as follows (where m is the configured failover level):
 12002  	// Remove the m largest hosts (ie. the ones with the most slots) from the list
 12003  	// of "good" hosts (see `ClusterDasFailoverLevelAdvancedRuntimeInfo.totalGoodHosts`). Sum up the number of slots on
 12004  	// the remaining hosts and deduct the number of currently used slots
 12005  	// (see `ClusterDasFailoverLevelAdvancedRuntimeInfo.usedSlots`). If this number is negative, use zero instead.
 12006  	//
 12007  	// See also `ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo`.
 12008  	UnreservedSlots int32 `xml:"unreservedSlots" json:"unreservedSlots"`
 12009  	// The total number of powered on vms in the cluster.
 12010  	TotalVms int32 `xml:"totalVms" json:"totalVms"`
 12011  	// The total number of hosts in the cluster.
 12012  	TotalHosts int32 `xml:"totalHosts" json:"totalHosts"`
 12013  	// The total number of connected hosts that are not in maintance mode and that
 12014  	// do not have any DAS-related config issues on them.
 12015  	TotalGoodHosts int32                                                 `xml:"totalGoodHosts" json:"totalGoodHosts"`
 12016  	HostSlots      []ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots `xml:"hostSlots,omitempty" json:"hostSlots,omitempty"`
 12017  	// The list of virtual machines whose reservations and memory overhead are not
 12018  	// satisfied by a single slot.
 12019  	VmsRequiringMultipleSlots []ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots `xml:"vmsRequiringMultipleSlots,omitempty" json:"vmsRequiringMultipleSlots,omitempty" vim:"5.1"`
 12020  }
 12021  
 12022  func init() {
 12023  	t["ClusterDasFailoverLevelAdvancedRuntimeInfo"] = reflect.TypeOf((*ClusterDasFailoverLevelAdvancedRuntimeInfo)(nil)).Elem()
 12024  	minAPIVersionForType["ClusterDasFailoverLevelAdvancedRuntimeInfo"] = "4.0"
 12025  }
 12026  
 12027  type ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots struct {
 12028  	DynamicData
 12029  
 12030  	// The reference to the host.
 12031  	//
 12032  	// Refers instance of `HostSystem`.
 12033  	Host ManagedObjectReference `xml:"host" json:"host"`
 12034  	// The number of slots in this host.
 12035  	Slots int32 `xml:"slots" json:"slots"`
 12036  }
 12037  
 12038  func init() {
 12039  	t["ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots"] = reflect.TypeOf((*ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots)(nil)).Elem()
 12040  }
 12041  
 12042  // A slot represents an amount of memory and cpu resources on a physical host for use
 12043  // by a virtual machine.
 12044  //
 12045  // It is used in computing the resources to be reserved for
 12046  // failover.
 12047  type ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo struct {
 12048  	DynamicData
 12049  
 12050  	// Deprecated as of vSphere API 5.0, the number of vcpus is no longer used
 12051  	// for slot calculations.
 12052  	//
 12053  	// The number of virtual cpus of a slot is defined as the maximum number of
 12054  	// virtual cpus any powered on virtual machine has.
 12055  	NumVcpus int32 `xml:"numVcpus" json:"numVcpus"`
 12056  	// The cpu speed of a slot is defined as the maximum cpu reservation of any
 12057  	// powered on virtual machine in the cluster, or any otherwise defined minimum,
 12058  	// whichever is larger.
 12059  	CpuMHz int32 `xml:"cpuMHz" json:"cpuMHz"`
 12060  	// The memory size of a slot is defined as the maximum memory reservation plus
 12061  	// memory overhead of any powered on virtual machine in the cluster, or any
 12062  	// otherwise defined minimum, whichever is larger.
 12063  	MemoryMB int32 `xml:"memoryMB" json:"memoryMB"`
 12064  }
 12065  
 12066  func init() {
 12067  	t["ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo"] = reflect.TypeOf((*ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo)(nil)).Elem()
 12068  	minAPIVersionForType["ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo"] = "4.0"
 12069  }
 12070  
 12071  type ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots struct {
 12072  	DynamicData
 12073  
 12074  	// The reference to the virtual machine
 12075  	//
 12076  	// Refers instance of `VirtualMachine`.
 12077  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 12078  	// The number of slots required by this virtual machine
 12079  	Slots int32 `xml:"slots" json:"slots"`
 12080  }
 12081  
 12082  func init() {
 12083  	t["ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots"] = reflect.TypeOf((*ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots)(nil)).Elem()
 12084  }
 12085  
 12086  // The `ClusterDasFdmHostState` data object
 12087  // describes the availability state of each active host in a
 12088  // vSphere HA enabled cluster.
 12089  //
 12090  // In a vSphere HA cluster, the active hosts form a fault domain.
 12091  // A host is inactive if it is in standby or maintenance mode, or
 12092  // it has been disconnected from vCenter Server. A vSphere HA
 12093  // agent, called the Fault Domain Manager (FDM), runs on each host in the
 12094  // fault domain.
 12095  //
 12096  // One FDM serves as the master and the remaining FDMs as its slaves.
 12097  // The master is responsible for monitoring the availability of the hosts
 12098  // and VMs in the cluster, and restarting any VMs that fail due to a
 12099  // host failure or non-user-initiated power offs. The master is also
 12100  // responsible for reporting fault-domain state to vCenter Server.
 12101  //
 12102  // The master FDM is determined through election by the FDMs that are
 12103  // alive at the time. An election occurs in the following circumstances:
 12104  //   - When the vSphere HA feature is enabled for the cluster.
 12105  //   - When the master's host fails.
 12106  //   - When the management network is partitioned. In a network partition
 12107  //     there will be a master for each partition. However, only one master
 12108  //     will be responsible for a given VM. When the partition is
 12109  //     resolved, all but one of the masters will abdicate.
 12110  //   - After a host in a vSphere HA cluster powers back up following a failure
 12111  //     that caused all hosts in the cluster to power off.
 12112  //
 12113  // The slaves are responsible for reporting state updates to the master and
 12114  // restarting VMs as required. All FDMs provide the VM/Application Health
 12115  // Monitoring Service.
 12116  type ClusterDasFdmHostState struct {
 12117  	DynamicData
 12118  
 12119  	// The Availability State of a host based on information
 12120  	// reported by the entity given by the
 12121  	// `ClusterDasFdmHostState.stateReporter` property.
 12122  	//
 12123  	// See
 12124  	// `ClusterDasFdmAvailabilityState_enum` for the set of
 12125  	// states.
 12126  	State string `xml:"state" json:"state"`
 12127  	// The entity reporting the state of the host.
 12128  	//
 12129  	// If the reporter is a host,
 12130  	// the property reports which host, whereas if the reporter is vCenter Server,
 12131  	// the property is unset.
 12132  	//
 12133  	// Refers instance of `HostSystem`.
 12134  	StateReporter *ManagedObjectReference `xml:"stateReporter,omitempty" json:"stateReporter,omitempty"`
 12135  }
 12136  
 12137  func init() {
 12138  	t["ClusterDasFdmHostState"] = reflect.TypeOf((*ClusterDasFdmHostState)(nil)).Elem()
 12139  	minAPIVersionForType["ClusterDasFdmHostState"] = "5.0"
 12140  }
 12141  
 12142  // HA specific advanced information pertaining to the hosts in the cluster.
 12143  type ClusterDasHostInfo struct {
 12144  	DynamicData
 12145  }
 12146  
 12147  func init() {
 12148  	t["ClusterDasHostInfo"] = reflect.TypeOf((*ClusterDasHostInfo)(nil)).Elem()
 12149  	minAPIVersionForType["ClusterDasHostInfo"] = "4.0"
 12150  }
 12151  
 12152  // A host recommendation for a virtual machine managed by the VMware
 12153  // HA Service.
 12154  type ClusterDasHostRecommendation struct {
 12155  	DynamicData
 12156  
 12157  	// The recommended host.
 12158  	//
 12159  	// Refers instance of `HostSystem`.
 12160  	Host ManagedObjectReference `xml:"host" json:"host"`
 12161  	// Rating as computed by DRS for a DRS-enabled cluster.
 12162  	//
 12163  	// Rating
 12164  	// range from 1 to 5, and the higher the rating, the stronger DRS
 12165  	// suggests this host is picked for the operation.
 12166  	DrsRating int32 `xml:"drsRating,omitempty" json:"drsRating,omitempty"`
 12167  }
 12168  
 12169  func init() {
 12170  	t["ClusterDasHostRecommendation"] = reflect.TypeOf((*ClusterDasHostRecommendation)(nil)).Elem()
 12171  	minAPIVersionForType["ClusterDasHostRecommendation"] = "4.0"
 12172  }
 12173  
 12174  // The `ClusterDasVmConfigInfo` data object contains
 12175  // the HA configuration for a single virtual machine.
 12176  //
 12177  // All fields are optional. If you set the <code>modify</code>
 12178  // parameter to <code>true</code> when you call
 12179  // `ComputeResource.ReconfigureComputeResource_Task`, an unset property has no effect
 12180  // on the existing property value in the cluster configuration on the Server.
 12181  // If you set the <code>modify</code> parameter to <code>false</code> when you
 12182  // reconfigure a cluster, the cluster configuration is reverted to the default
 12183  // values, then the new configuration values are applied.
 12184  type ClusterDasVmConfigInfo struct {
 12185  	DynamicData
 12186  
 12187  	// Reference to the virtual machine.
 12188  	//
 12189  	// Refers instance of `VirtualMachine`.
 12190  	Key ManagedObjectReference `xml:"key" json:"key"`
 12191  	// Deprecated as of VI API 2.5, use
 12192  	// `ClusterDasVmConfigInfo.dasSettings*.*ClusterDasVmSettings.restartPriority`.
 12193  	// If you specify `ClusterDasVmConfigInfo.restartPriority` here and in
 12194  	// `ClusterDasVmSettings`, the value in `ClusterDasVmSettings`
 12195  	// has precedence.
 12196  	//
 12197  	// Restart priority for a virtual machine.
 12198  	//
 12199  	// If there is nothing specified here, then the defaults are picked up from
 12200  	// `ClusterDasConfigInfo.defaultVmSettings`.
 12201  	RestartPriority DasVmPriority `xml:"restartPriority,omitempty" json:"restartPriority,omitempty"`
 12202  	// Deprecated as of VI API 2.5, use
 12203  	// `ClusterDasVmConfigInfo.dasSettings*.*ClusterDasVmSettings.isolationResponse`.
 12204  	// If you specify both `ClusterDasVmConfigInfo.powerOffOnIsolation` and
 12205  	// `ClusterDasVmSettings.isolationResponse`, the value in
 12206  	// `ClusterDasVmSettings.isolationResponse` has precedence.
 12207  	//
 12208  	// Flag to indicate whether or not the virtual machine should be powered off if a
 12209  	// host determines that it is isolated from the rest of the compute resource.
 12210  	//
 12211  	// If there is nothing specified here, then the defaults are picked up from
 12212  	// `ClusterDasConfigInfo.defaultVmSettings`.
 12213  	PowerOffOnIsolation *bool `xml:"powerOffOnIsolation" json:"powerOffOnIsolation,omitempty"`
 12214  	// HA settings that apply to this virtual machine.
 12215  	//
 12216  	// Values specified in this object override the cluster-wide
 12217  	// defaults for virtual machines (`ClusterDasConfigInfo.defaultVmSettings`).
 12218  	DasSettings *ClusterDasVmSettings `xml:"dasSettings,omitempty" json:"dasSettings,omitempty" vim:"2.5"`
 12219  }
 12220  
 12221  func init() {
 12222  	t["ClusterDasVmConfigInfo"] = reflect.TypeOf((*ClusterDasVmConfigInfo)(nil)).Elem()
 12223  }
 12224  
 12225  // An incremental update to the per-virtual-machine vSphere HA configuration.
 12226  type ClusterDasVmConfigSpec struct {
 12227  	ArrayUpdateSpec
 12228  
 12229  	Info *ClusterDasVmConfigInfo `xml:"info,omitempty" json:"info,omitempty"`
 12230  }
 12231  
 12232  func init() {
 12233  	t["ClusterDasVmConfigSpec"] = reflect.TypeOf((*ClusterDasVmConfigSpec)(nil)).Elem()
 12234  }
 12235  
 12236  // The `ClusterDasVmSettings` data object contains the HA configuration
 12237  // settings specified for a single virtual machine (identified by
 12238  // `ClusterDasVmConfigInfo*.*ClusterDasVmConfigInfo.key`)
 12239  // or as cluster-wide defaults
 12240  // `ClusterDasConfigInfo*.*ClusterDasConfigInfo.defaultVmSettings`
 12241  //
 12242  // All fields are optional. If you set the <code>modify</code> parameter to
 12243  // <code>true</code> when you call `ComputeResource.ReconfigureComputeResource_Task`,
 12244  // an unset property has no effect on the existing property value in the
 12245  // cluster configuration on the Server. If you set the <code>modify</code>
 12246  // parameter to <code>false</code> when you reconfigure a cluster, the cluster
 12247  // configuration is reverted to the default values, then the new configuration
 12248  // values are applied.
 12249  type ClusterDasVmSettings struct {
 12250  	DynamicData
 12251  
 12252  	// Restart priority for a virtual machine.
 12253  	//
 12254  	// If not specified at either the cluster level or
 12255  	// the virtual machine level, this will default to <code>medium</code>.
 12256  	//
 12257  	// See also `ClusterDasVmSettingsRestartPriority_enum`.
 12258  	RestartPriority string `xml:"restartPriority,omitempty" json:"restartPriority,omitempty"`
 12259  	// This setting is used to specify a maximum time the lower priority VMs
 12260  	// should wait for the higher priority VMs to be ready.
 12261  	//
 12262  	// If the higher
 12263  	// priority Vms are not ready by this time, then the lower priority VMs
 12264  	// are restarted irrespective of the VM ready state. This timeout can be
 12265  	// used to prevent the failover of lower priority VMs to be stuck
 12266  	// infinitely.
 12267  	//
 12268  	// This timeout is not used if ready condition is
 12269  	// `none`
 12270  	//
 12271  	// Timeout specified in seconds. To use cluster setting for a VM override,
 12272  	// set to -1 in per-VM.
 12273  	// setting.
 12274  	RestartPriorityTimeout int32 `xml:"restartPriorityTimeout,omitempty" json:"restartPriorityTimeout,omitempty" vim:"6.5"`
 12275  	// Indicates whether or not the virtual machine should be powered off if a
 12276  	// host determines that it is isolated from the rest of the compute
 12277  	// resource.
 12278  	//
 12279  	// If not specified at either the cluster level or
 12280  	// the virtual machine level, this will default to <code>powerOff</code>.
 12281  	//
 12282  	// See also `ClusterDasVmSettingsIsolationResponse_enum`.
 12283  	IsolationResponse string `xml:"isolationResponse,omitempty" json:"isolationResponse,omitempty"`
 12284  	// Configuration for the VM Health Monitoring Service.
 12285  	VmToolsMonitoringSettings *ClusterVmToolsMonitoringSettings `xml:"vmToolsMonitoringSettings,omitempty" json:"vmToolsMonitoringSettings,omitempty" vim:"4.0"`
 12286  	// Configuration for the VM Component Protection Service.
 12287  	VmComponentProtectionSettings *ClusterVmComponentProtectionSettings `xml:"vmComponentProtectionSettings,omitempty" json:"vmComponentProtectionSettings,omitempty" vim:"6.0"`
 12288  }
 12289  
 12290  func init() {
 12291  	t["ClusterDasVmSettings"] = reflect.TypeOf((*ClusterDasVmSettings)(nil)).Elem()
 12292  	minAPIVersionForType["ClusterDasVmSettings"] = "2.5"
 12293  }
 12294  
 12295  // An incremental update to a Datastore list.
 12296  type ClusterDatastoreUpdateSpec struct {
 12297  	ArrayUpdateSpec
 12298  
 12299  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 12300  }
 12301  
 12302  func init() {
 12303  	t["ClusterDatastoreUpdateSpec"] = reflect.TypeOf((*ClusterDatastoreUpdateSpec)(nil)).Elem()
 12304  	minAPIVersionForType["ClusterDatastoreUpdateSpec"] = "7.0.3.0"
 12305  }
 12306  
 12307  // The `ClusterDependencyRuleInfo` data object indentifies VM-to-VM
 12308  // dependencies.
 12309  //
 12310  // A VM-VM Dependency rule identifies the following groups.
 12311  //   - A virtual machine group - `ClusterDependencyRuleInfo.vmGroup`
 12312  //   - A "depends on" virtual machine group - `ClusterDependencyRuleInfo.dependsOnVmGroup`.
 12313  //
 12314  // The VMs in `ClusterDependencyRuleInfo.vmGroup` depends on the list of VMs specified in `ClusterDependencyRuleInfo.dependsOnVmGroup`.
 12315  //
 12316  // For example, this rule is used during vSphere HA VM recovery
 12317  // orchestration. vSphere HA will not restart the VMs in `ClusterDependencyRuleInfo.vmGroup`
 12318  // until all the VMs in `ClusterDependencyRuleInfo.dependsOnVmGroup` are deemded "ready" (See
 12319  // `ClusterVmReadiness`).
 12320  //
 12321  // All the virtual machines referenced by this rule must be in
 12322  // the same cluster.
 12323  type ClusterDependencyRuleInfo struct {
 12324  	ClusterRuleInfo
 12325  
 12326  	// Virtual group name.
 12327  	//
 12328  	// The virtual group may contain one or more virtual
 12329  	// machines.
 12330  	// `ClusterVmGroup*.*ClusterGroupInfo.name`
 12331  	VmGroup string `xml:"vmGroup" json:"vmGroup"`
 12332  	// Depdendency virtual group name
 12333  	// (`ClusterVmGroup*.*ClusterGroupInfo.name`).
 12334  	//
 12335  	// The virtual group may contain one or more virtual machines.
 12336  	DependsOnVmGroup string `xml:"dependsOnVmGroup" json:"dependsOnVmGroup"`
 12337  }
 12338  
 12339  func init() {
 12340  	t["ClusterDependencyRuleInfo"] = reflect.TypeOf((*ClusterDependencyRuleInfo)(nil)).Elem()
 12341  	minAPIVersionForType["ClusterDependencyRuleInfo"] = "6.5"
 12342  }
 12343  
 12344  // This event records when a cluster is destroyed.
 12345  type ClusterDestroyedEvent struct {
 12346  	ClusterEvent
 12347  }
 12348  
 12349  func init() {
 12350  	t["ClusterDestroyedEvent"] = reflect.TypeOf((*ClusterDestroyedEvent)(nil)).Elem()
 12351  }
 12352  
 12353  // Configuration of the VMware DPM service.
 12354  //
 12355  // All fields are defined as optional. In case of a reconfiguration,
 12356  // unset fields are not changed.
 12357  type ClusterDpmConfigInfo struct {
 12358  	DynamicData
 12359  
 12360  	// Flag indicating whether or not the service is enabled.
 12361  	//
 12362  	// This
 12363  	// service can not be enabled, unless DRS is enabled as well.
 12364  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 12365  	// Specifies the default VMware DPM behavior for
 12366  	// hosts.
 12367  	//
 12368  	// This default behavior can be overridden on a per host
 12369  	// basis using the `ClusterDpmHostConfigInfo` object.
 12370  	DefaultDpmBehavior DpmBehavior `xml:"defaultDpmBehavior,omitempty" json:"defaultDpmBehavior,omitempty"`
 12371  	// DPM generates only those recommendations that are above the
 12372  	// specified rating.
 12373  	//
 12374  	// Ratings vary from 1 to 5. This setting applies
 12375  	// to both manual and automated (@link DpmBehavior) DPM clusters.
 12376  	HostPowerActionRate int32 `xml:"hostPowerActionRate,omitempty" json:"hostPowerActionRate,omitempty" vim:"4.0"`
 12377  	// Deprecated as of vSphere API 4.1, use
 12378  	// `ClusterDrsConfigInfo.option`.
 12379  	//
 12380  	// Advanced settings.
 12381  	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 12382  }
 12383  
 12384  func init() {
 12385  	t["ClusterDpmConfigInfo"] = reflect.TypeOf((*ClusterDpmConfigInfo)(nil)).Elem()
 12386  	minAPIVersionForType["ClusterDpmConfigInfo"] = "2.5"
 12387  }
 12388  
 12389  // DPM configuration for a single host.
 12390  //
 12391  // This makes
 12392  // it possible to override the default behavior for an individual
 12393  // host.
 12394  type ClusterDpmHostConfigInfo struct {
 12395  	DynamicData
 12396  
 12397  	// Reference to the host.
 12398  	//
 12399  	// Refers instance of `HostSystem`.
 12400  	Key ManagedObjectReference `xml:"key" json:"key"`
 12401  	// Flag to indicate whether or not VirtualCenter is allowed to perform any
 12402  	// power related operations or recommendations for this host.
 12403  	//
 12404  	// If this flag is false, the host is effectively excluded from
 12405  	// DPM service.
 12406  	//
 12407  	// If no individual DPM specification exists for a host,
 12408  	// this property defaults to true.
 12409  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 12410  	// Specifies the particular DPM behavior for this host.
 12411  	//
 12412  	// See also `ClusterDpmConfigInfo`.
 12413  	Behavior DpmBehavior `xml:"behavior,omitempty" json:"behavior,omitempty"`
 12414  }
 12415  
 12416  func init() {
 12417  	t["ClusterDpmHostConfigInfo"] = reflect.TypeOf((*ClusterDpmHostConfigInfo)(nil)).Elem()
 12418  	minAPIVersionForType["ClusterDpmHostConfigInfo"] = "2.5"
 12419  }
 12420  
 12421  // The `ClusterDpmHostConfigSpec` data object provides information
 12422  // that the Server uses to update the DPM configuration for a
 12423  // single host (identified by the
 12424  // `ClusterDpmHostConfigInfo.key` property).
 12425  //
 12426  // The host DPM configuration overrides the cluster
 12427  // default DPM setting
 12428  // (`ClusterConfigSpecEx*.*ClusterConfigSpecEx.dpmConfig`).
 12429  //
 12430  // The vSphere API defines three update operations
 12431  // (`ArrayUpdateSpec*.*ArrayUpdateSpec.operation`).
 12432  //   - add: Define DPM behavior for a host. If the cluster
 12433  //     configuration already includes a DPM behavior override
 12434  //     for the specified host, this operation
 12435  //     removes the existing override and adds the new one.
 12436  //     The new DPM override will use the cluster default value
 12437  //     if you do not specify the behavior property
 12438  //     (`ClusterDpmConfigInfo.defaultDpmBehavior`).
 12439  //   - edit: Perform an incremental update to an existing
 12440  //     DPM configuration entry for a host.
 12441  //     The reconfigure method changes only the properties
 12442  //     that you set in the data object. The entry must exist
 12443  //     in the
 12444  //     `ClusterConfigSpecEx*.*ClusterConfigSpecEx.dpmHostConfigSpec` array.
 12445  //   - remove: Remove the DPM override for the specified
 12446  //     host. To identify the host to delete, use the
 12447  //     `ArrayUpdateSpec.removeKey` property
 12448  //     to specify the `ClusterDpmHostConfigInfo.key`
 12449  //     in the host override.
 12450  //
 12451  // Use the `ComputeResource.ReconfigureComputeResource_Task` method
 12452  // to update the DPM configuration. If you set the modify parameter
 12453  // to true, you can use any of the three operations (add, edit, or remove).
 12454  // If you set the modify parameter to false, you can use only the
 12455  // add operation.
 12456  type ClusterDpmHostConfigSpec struct {
 12457  	ArrayUpdateSpec
 12458  
 12459  	Info *ClusterDpmHostConfigInfo `xml:"info,omitempty" json:"info,omitempty"`
 12460  }
 12461  
 12462  func init() {
 12463  	t["ClusterDpmHostConfigSpec"] = reflect.TypeOf((*ClusterDpmHostConfigSpec)(nil)).Elem()
 12464  	minAPIVersionForType["ClusterDpmHostConfigSpec"] = "2.5"
 12465  }
 12466  
 12467  // The `ClusterDrsConfigInfo` data object contains configuration information
 12468  // for the VMware DRS service.
 12469  //
 12470  // All fields are optional. If you set the <code>modify</code>
 12471  // parameter to <code>true</code> when you call
 12472  // `ComputeResource.ReconfigureComputeResource_Task`, an unset property has no effect
 12473  // on the existing property value in the cluster configuration on the Server.
 12474  // If you set the <code>modify</code> parameter to <code>false</code> when you
 12475  // reconfigure a cluster, the cluster configuration is reverted to the default
 12476  // values, then the new configuration values are applied.
 12477  type ClusterDrsConfigInfo struct {
 12478  	DynamicData
 12479  
 12480  	// Deprecated as of vSphere API 7.0.
 12481  	// To disable DRS load balancing, please use the lowest DRS aggressiveness
 12482  	// level, setting `ClusterDrsConfigInfo.vmotionRate` to 5, and/or
 12483  	// setting `ClusterDrsConfigInfo.defaultVmBehavior` to manual.
 12484  	// The former only generates manadatory move recommendations, not load
 12485  	// balancing recommendations. The latter only generates recommendations,
 12486  	// without executing them.
 12487  	// To remove all the child resource pools, please find the root resource
 12488  	// pool `ComputeResource.resourcePool`, and destroy all its
 12489  	// children `ResourcePool.DestroyChildren`.
 12490  	// Vice versa.
 12491  	//
 12492  	// Flag indicating whether or not DRS service is enabled.
 12493  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 12494  	// Flag that dictates whether DRS Behavior overrides for individual
 12495  	// virtual machines (`ClusterDrsVmConfigInfo`) are enabled.
 12496  	//
 12497  	// The default
 12498  	// value is <code>true</code>.
 12499  	//
 12500  	// When this flag is <code>true</code>, the
 12501  	// `ClusterConfigSpecEx*.*ClusterConfigSpecEx.drsVmConfigSpec`
 12502  	// values override the `ClusterDrsConfigInfo.defaultVmBehavior`.
 12503  	//
 12504  	// When this flag is <code>false</code>, the
 12505  	// `ClusterDrsConfigInfo.defaultVmBehavior` value applies to all virtual
 12506  	// machines, with the following exception: in a cluster that has EVC disabled,
 12507  	// you cannot override the virtual machine setting
 12508  	// (`ClusterConfigSpecEx.drsVmConfigSpec`)
 12509  	// for Fault Tolerance virtual machines.
 12510  	EnableVmBehaviorOverrides *bool `xml:"enableVmBehaviorOverrides" json:"enableVmBehaviorOverrides,omitempty" vim:"4.0"`
 12511  	// Specifies the cluster-wide default DRS behavior for virtual machines.
 12512  	//
 12513  	// You can override the default behavior for a virtual machine
 12514  	// by using the `ClusterDrsVmConfigInfo` object.
 12515  	DefaultVmBehavior DrsBehavior `xml:"defaultVmBehavior,omitempty" json:"defaultVmBehavior,omitempty"`
 12516  	// Threshold for generated `ClusterRecommendation`s.
 12517  	//
 12518  	// DRS generates only those recommendations that are above the
 12519  	// specified vmotionRate. Ratings vary from 1 to 5. This setting applies
 12520  	// to manual, partiallyAutomated, and fullyAutomated
 12521  	// DRS clusters. See `DrsBehavior_enum`.
 12522  	VmotionRate int32 `xml:"vmotionRate,omitempty" json:"vmotionRate,omitempty"`
 12523  	// Specifies the scaling behavior of the shares of all resource pools
 12524  	// in the cluster.
 12525  	//
 12526  	// See `ResourceConfigSpecScaleSharesBehavior_enum`
 12527  	// for possible values. If any scaling behavior other than
 12528  	// `disabled` is specified,
 12529  	// the system will scale the CPU and memory shares allocated to each
 12530  	// resource pool with the total shares of all powered on virtual machines
 12531  	// under each respective pool. The system will also use the
 12532  	// `SharesInfo` set on each resource pool as a multiplier for the
 12533  	// scale. Setting the
 12534  	// `ClusterDrsConfigInfo.scaleDescendantsShares` on the cluster
 12535  	// is equivalent to setting the
 12536  	// `ResourceConfigSpec.scaleDescendantsShares` on the root
 12537  	// resource pool.
 12538  	ScaleDescendantsShares string `xml:"scaleDescendantsShares,omitempty" json:"scaleDescendantsShares,omitempty" vim:"7.0"`
 12539  	// Advanced settings.
 12540  	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 12541  }
 12542  
 12543  func init() {
 12544  	t["ClusterDrsConfigInfo"] = reflect.TypeOf((*ClusterDrsConfigInfo)(nil)).Elem()
 12545  }
 12546  
 12547  // The faults generated by DRS when it tries to make recommendations
 12548  // for rule enforcement, power management, etc., and indexed in a tree
 12549  // structure with reason for recommendations and VM to migrate (optional)
 12550  // as the index keys.
 12551  type ClusterDrsFaults struct {
 12552  	DynamicData
 12553  
 12554  	// A reason code explaining why this set of recommendations were attempted
 12555  	// by DRS when it generated the faults.
 12556  	Reason string `xml:"reason" json:"reason"`
 12557  	// The faults grouped by VMs that DRS was trying to migrate.
 12558  	FaultsByVm []BaseClusterDrsFaultsFaultsByVm `xml:"faultsByVm,typeattr" json:"faultsByVm"`
 12559  }
 12560  
 12561  func init() {
 12562  	t["ClusterDrsFaults"] = reflect.TypeOf((*ClusterDrsFaults)(nil)).Elem()
 12563  	minAPIVersionForType["ClusterDrsFaults"] = "4.0"
 12564  }
 12565  
 12566  // The faults generated by storage DRS when it tries to move a virtual disk.
 12567  type ClusterDrsFaultsFaultsByVirtualDisk struct {
 12568  	ClusterDrsFaultsFaultsByVm
 12569  
 12570  	// The virtual disk that storage DRS was trying to migrate when it
 12571  	// generated the faults.
 12572  	//
 12573  	// If this property is NULL, the fault is not
 12574  	// associated with a particular virtual disk.
 12575  	Disk *VirtualDiskId `xml:"disk,omitempty" json:"disk,omitempty"`
 12576  }
 12577  
 12578  func init() {
 12579  	t["ClusterDrsFaultsFaultsByVirtualDisk"] = reflect.TypeOf((*ClusterDrsFaultsFaultsByVirtualDisk)(nil)).Elem()
 12580  	minAPIVersionForType["ClusterDrsFaultsFaultsByVirtualDisk"] = "5.0"
 12581  }
 12582  
 12583  // FaultsByVm is the faults generated by DRS when it tries to
 12584  // move a VM.
 12585  type ClusterDrsFaultsFaultsByVm struct {
 12586  	DynamicData
 12587  
 12588  	// The VM that DRS was trying to migrate when it generated the faults.
 12589  	//
 12590  	// If this property is NULL, the fault is not associated with a particular VM.
 12591  	//
 12592  	// Refers instance of `VirtualMachine`.
 12593  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 12594  	// The faults generated by DRS when it was trying to move the given VM.
 12595  	Fault []LocalizedMethodFault `xml:"fault" json:"fault"`
 12596  }
 12597  
 12598  func init() {
 12599  	t["ClusterDrsFaultsFaultsByVm"] = reflect.TypeOf((*ClusterDrsFaultsFaultsByVm)(nil)).Elem()
 12600  	minAPIVersionForType["ClusterDrsFaultsFaultsByVm"] = "4.0"
 12601  }
 12602  
 12603  // Describes a single virtual machine migration.
 12604  type ClusterDrsMigration struct {
 12605  	DynamicData
 12606  
 12607  	// A unique key that identifies this recommendation.
 12608  	//
 12609  	// This
 12610  	// is used as an argument to
 12611  	// ComputeResource.applyRecommendation.
 12612  	Key string `xml:"key" json:"key"`
 12613  	// The time this recommendation was computed.
 12614  	Time time.Time `xml:"time" json:"time"`
 12615  	// The virtual machine selected for migration.
 12616  	//
 12617  	// Refers instance of `VirtualMachine`.
 12618  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 12619  	// Current CPU load for the virtual machine, in MHz.
 12620  	//
 12621  	// This property is only populated for recommendations.
 12622  	CpuLoad int32 `xml:"cpuLoad,omitempty" json:"cpuLoad,omitempty"`
 12623  	// Current memory load for the virtual machine, in bytes.
 12624  	//
 12625  	// This field is only populated for recommendations.
 12626  	MemoryLoad int64 `xml:"memoryLoad,omitempty" json:"memoryLoad,omitempty"`
 12627  	// Source host.
 12628  	//
 12629  	// Refers instance of `HostSystem`.
 12630  	Source ManagedObjectReference `xml:"source" json:"source"`
 12631  	// Current CPU load on the source host, in MHz.
 12632  	SourceCpuLoad int32 `xml:"sourceCpuLoad,omitempty" json:"sourceCpuLoad,omitempty"`
 12633  	// Current memory usage on the source host, in bytes.
 12634  	SourceMemoryLoad int64 `xml:"sourceMemoryLoad,omitempty" json:"sourceMemoryLoad,omitempty"`
 12635  	// Destination host.
 12636  	//
 12637  	// Refers instance of `HostSystem`.
 12638  	Destination ManagedObjectReference `xml:"destination" json:"destination"`
 12639  	// Current CPU load on the destination host, in MHz.
 12640  	DestinationCpuLoad int32 `xml:"destinationCpuLoad,omitempty" json:"destinationCpuLoad,omitempty"`
 12641  	// Current memory usage on the destination host, in bytes.
 12642  	DestinationMemoryLoad int64 `xml:"destinationMemoryLoad,omitempty" json:"destinationMemoryLoad,omitempty"`
 12643  }
 12644  
 12645  func init() {
 12646  	t["ClusterDrsMigration"] = reflect.TypeOf((*ClusterDrsMigration)(nil)).Elem()
 12647  }
 12648  
 12649  // Deprecated as of VI API 2.5 use `ClusterRecommendation`.
 12650  //
 12651  // DrsRecommendation describes a recommendation to migrate
 12652  // one or more virtual machines.
 12653  type ClusterDrsRecommendation struct {
 12654  	DynamicData
 12655  
 12656  	// Key to identify the recommendation when calling applyRecommendation.
 12657  	Key string `xml:"key" json:"key"`
 12658  	// A rating of the recommendation.
 12659  	//
 12660  	// Valid values range from 1 (lowest confidence) to 5 (highest confidence).
 12661  	Rating int32 `xml:"rating" json:"rating"`
 12662  	// A reason code explaining why this set of migrations is being suggested.
 12663  	Reason string `xml:"reason" json:"reason"`
 12664  	// Text that provides more information about the reason code for the suggested
 12665  	// set of migrations.
 12666  	ReasonText string `xml:"reasonText" json:"reasonText"`
 12667  	// Deprecated a more general `recommendation` list should be used. This recommendation type
 12668  	// and the migrationList is kept for backward compatibility.
 12669  	//
 12670  	// List of migrations in this recommendation and all the parent
 12671  	// recommendations on which this recommendation depends.
 12672  	//
 12673  	// All the
 12674  	// migrations in this list can be constructed from `ClusterRecommendation.prerequisite` and `ClusterRecommendation.action`.
 12675  	MigrationList []ClusterDrsMigration `xml:"migrationList" json:"migrationList"`
 12676  }
 12677  
 12678  func init() {
 12679  	t["ClusterDrsRecommendation"] = reflect.TypeOf((*ClusterDrsRecommendation)(nil)).Elem()
 12680  }
 12681  
 12682  // DRS configuration for a single virtual machine.
 12683  //
 12684  // This makes it possible
 12685  // to override the default behavior for an individual virtual machine.
 12686  type ClusterDrsVmConfigInfo struct {
 12687  	DynamicData
 12688  
 12689  	// Reference to the virtual machine.
 12690  	//
 12691  	// Refers instance of `VirtualMachine`.
 12692  	Key ManagedObjectReference `xml:"key" json:"key"`
 12693  	// Flag to indicate whether or not VirtualCenter is allowed to perform any
 12694  	// DRS migration or initial placement recommendations for this virtual
 12695  	// machine.
 12696  	//
 12697  	// If this flag is false, the virtual machine is effectively excluded from
 12698  	// DRS.
 12699  	//
 12700  	// If no individual DRS specification exists for a virtual machine,
 12701  	// this property defaults to true.
 12702  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 12703  	// Specifies the particular DRS behavior for this virtual machine.
 12704  	//
 12705  	// See also `ClusterDrsConfigInfo`.
 12706  	Behavior DrsBehavior `xml:"behavior,omitempty" json:"behavior,omitempty"`
 12707  }
 12708  
 12709  func init() {
 12710  	t["ClusterDrsVmConfigInfo"] = reflect.TypeOf((*ClusterDrsVmConfigInfo)(nil)).Elem()
 12711  }
 12712  
 12713  // Updates the per-virtual-machine DRS configuration.
 12714  //
 12715  // To update the DRS configuration of a virtual machine, a copy of this object
 12716  // is included in the `ClusterConfigSpecEx` object passed to the method
 12717  // `ComputeResource.ReconfigureComputeResource_Task`.
 12718  //
 12719  // If _reconfigureEx_ is used to
 12720  // incrementally update the cluster configuration (i.e., the parameter `*modify*` is true),
 12721  // then three operations are provided for updating the DRS configuration for a virtual machine.
 12722  // These operations are listed below (see `ArrayUpdateSpec` for more
 12723  // information on these operations).
 12724  //   - add: add a configuration for the virtual machine, overwritting the existing
 12725  //     configuration if one exists
 12726  //   - edit: incrmentally update the existing configuration; an existing configuration
 12727  //     must exist
 12728  //   - remove: remove the existing configuration; an existing configuration must exist
 12729  //
 12730  // If, instead, this method is used to overwrite the cluster configuration (i.e., the parameter
 12731  // `*modify*` is false) thereby creating a new configuration, only the add operation is allowed.
 12732  // In this case, _add_ creates a DRS configuration for a virtual machine in the new cluster
 12733  // configuration.
 12734  type ClusterDrsVmConfigSpec struct {
 12735  	ArrayUpdateSpec
 12736  
 12737  	Info *ClusterDrsVmConfigInfo `xml:"info,omitempty" json:"info,omitempty"`
 12738  }
 12739  
 12740  func init() {
 12741  	t["ClusterDrsVmConfigSpec"] = reflect.TypeOf((*ClusterDrsVmConfigSpec)(nil)).Elem()
 12742  }
 12743  
 12744  type ClusterEVCManagerCheckResult struct {
 12745  	DynamicData
 12746  
 12747  	// The EVC mode being tested for legal application.
 12748  	EvcModeKey string `xml:"evcModeKey" json:"evcModeKey"`
 12749  	// A problem that would prevent applying the desired EVC mode.
 12750  	Error LocalizedMethodFault `xml:"error" json:"error"`
 12751  	// The set of hosts which would generate the fault described by the
 12752  	// `ClusterEVCManagerCheckResult.error` property when the desired EVC mode is applied.
 12753  	//
 12754  	// Refers instances of `HostSystem`.
 12755  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 12756  }
 12757  
 12758  func init() {
 12759  	t["ClusterEVCManagerCheckResult"] = reflect.TypeOf((*ClusterEVCManagerCheckResult)(nil)).Elem()
 12760  }
 12761  
 12762  type ClusterEVCManagerEVCState struct {
 12763  	DynamicData
 12764  
 12765  	// All supported EVC modes.
 12766  	//
 12767  	// Identical to
 12768  	// `Capability.supportedEVCMode`.
 12769  	SupportedEVCMode []EVCMode `xml:"supportedEVCMode" json:"supportedEVCMode"`
 12770  	// If unset, then EVC is disabled.
 12771  	//
 12772  	// If set, then EVC is enabled, and the
 12773  	// value references an EVC mode described in one of the elements of the
 12774  	// `ClusterEVCManagerEVCState.supportedEVCMode` array property. The EVC mode determines the
 12775  	// set of guaranteed clusterwide CPU features. While EVC is enabled, CPU
 12776  	// compatibility issues will not block any VMotion within the cluster
 12777  	// (unless some VM is specifically configured to do different CPUID
 12778  	// overrides).
 12779  	CurrentEVCModeKey string `xml:"currentEVCModeKey,omitempty" json:"currentEVCModeKey,omitempty"`
 12780  	// Deprecated as of vSphere API 6.5 use `ClusterEVCManagerEVCState.featureCapability`.
 12781  	//
 12782  	// When EVC is enabled, this array contains the CPU feature bits that are
 12783  	// guaranteed (by EVC) to be the same among all hosts in the cluster.
 12784  	//
 12785  	// This property has the same value as the guaranteedCPUFeatures property
 12786  	// of the configured EVC mode. On any host in the EVC cluster, the CPU
 12787  	// features either naturally match these values because of the CPU
 12788  	// hardware, or else CPU feature override is used to mask out differences
 12789  	// and enforce a match. This array is empty when EVC is disabled.
 12790  	GuaranteedCPUFeatures []HostCpuIdInfo `xml:"guaranteedCPUFeatures,omitempty" json:"guaranteedCPUFeatures,omitempty"`
 12791  	// When EVC is enabled, this array contains the feature capabilities that
 12792  	// are guaranteed (by EVC) to be the same among all hosts in the cluster.
 12793  	//
 12794  	// This property has the same value as the featureCapability property
 12795  	// of the configured EVC mode. On any host in the EVC cluster, the feature
 12796  	// capabilities either naturally match these values because of the CPU
 12797  	// hardware, or else feature masks are used to mask out differences and
 12798  	// enforce a match. This array is empty when EVC is disabled.
 12799  	FeatureCapability []HostFeatureCapability `xml:"featureCapability,omitempty" json:"featureCapability,omitempty"`
 12800  	// The masks (modifications to a host's feature capabilities) that limit a
 12801  	// host's capabilities to that of the EVC mode baseline.
 12802  	FeatureMask []HostFeatureMask `xml:"featureMask,omitempty" json:"featureMask,omitempty"`
 12803  	// The conditions that must be true of a host's feature capabilities in order
 12804  	// for the host to meet the minimum requirements of the EVC mode baseline.
 12805  	FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty" json:"featureRequirement,omitempty"`
 12806  }
 12807  
 12808  func init() {
 12809  	t["ClusterEVCManagerEVCState"] = reflect.TypeOf((*ClusterEVCManagerEVCState)(nil)).Elem()
 12810  }
 12811  
 12812  type ClusterEnterMaintenanceMode ClusterEnterMaintenanceModeRequestType
 12813  
 12814  func init() {
 12815  	t["ClusterEnterMaintenanceMode"] = reflect.TypeOf((*ClusterEnterMaintenanceMode)(nil)).Elem()
 12816  }
 12817  
 12818  // The parameters of `ClusterComputeResource.ClusterEnterMaintenanceMode`.
 12819  type ClusterEnterMaintenanceModeRequestType struct {
 12820  	This ManagedObjectReference `xml:"_this" json:"-"`
 12821  	// The array of hosts to put into maintenance mode.
 12822  	//
 12823  	// Required privileges: Host.Config.Maintenance
 12824  	//
 12825  	// Refers instances of `HostSystem`.
 12826  	Host []ManagedObjectReference `xml:"host" json:"host"`
 12827  	// An array of `OptionValue`
 12828  	// options for this query. The specified options override the
 12829  	// advanced options in `ClusterDrsConfigInfo`.
 12830  	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 12831  }
 12832  
 12833  func init() {
 12834  	t["ClusterEnterMaintenanceModeRequestType"] = reflect.TypeOf((*ClusterEnterMaintenanceModeRequestType)(nil)).Elem()
 12835  }
 12836  
 12837  type ClusterEnterMaintenanceModeResponse struct {
 12838  	Returnval ClusterEnterMaintenanceResult `xml:"returnval" json:"returnval"`
 12839  }
 12840  
 12841  // EnterMaintenanceResult is the base class of the result returned to the
 12842  // `ClusterComputeResource.ClusterEnterMaintenanceMode` method.
 12843  type ClusterEnterMaintenanceResult struct {
 12844  	DynamicData
 12845  
 12846  	// The list of recommendations for hosts that Virtual Center will
 12847  	// be able to evacuate.
 12848  	//
 12849  	// Each recommendation consists of a host
 12850  	// maintenance action `ClusterAction` for a host, along
 12851  	// with zero or more vmotions for evacuation. Application of the
 12852  	// recommendations is not supported currently. The client will have
 12853  	// to put the hosts into maintenance mode by calling the separate
 12854  	// method `HostSystem.EnterMaintenanceMode_Task`.
 12855  	Recommendations []ClusterRecommendation `xml:"recommendations,omitempty" json:"recommendations,omitempty"`
 12856  	// The faults that explain why the Virtual Center cannot evacuate
 12857  	// some hosts.
 12858  	Fault *ClusterDrsFaults `xml:"fault,omitempty" json:"fault,omitempty"`
 12859  }
 12860  
 12861  func init() {
 12862  	t["ClusterEnterMaintenanceResult"] = reflect.TypeOf((*ClusterEnterMaintenanceResult)(nil)).Elem()
 12863  	minAPIVersionForType["ClusterEnterMaintenanceResult"] = "5.0"
 12864  }
 12865  
 12866  // These are cluster events.
 12867  type ClusterEvent struct {
 12868  	Event
 12869  }
 12870  
 12871  func init() {
 12872  	t["ClusterEvent"] = reflect.TypeOf((*ClusterEvent)(nil)).Elem()
 12873  }
 12874  
 12875  // The current admission control related information if the cluster was configured
 12876  // with a FailoverHostAdmissionControlPolicy.
 12877  type ClusterFailoverHostAdmissionControlInfo struct {
 12878  	ClusterDasAdmissionControlInfo
 12879  
 12880  	// Status of the failover hosts in the cluster.
 12881  	HostStatus []ClusterFailoverHostAdmissionControlInfoHostStatus `xml:"hostStatus,omitempty" json:"hostStatus,omitempty"`
 12882  }
 12883  
 12884  func init() {
 12885  	t["ClusterFailoverHostAdmissionControlInfo"] = reflect.TypeOf((*ClusterFailoverHostAdmissionControlInfo)(nil)).Elem()
 12886  	minAPIVersionForType["ClusterFailoverHostAdmissionControlInfo"] = "4.0"
 12887  }
 12888  
 12889  // Data object containing the status of a failover host.
 12890  type ClusterFailoverHostAdmissionControlInfoHostStatus struct {
 12891  	DynamicData
 12892  
 12893  	// The failover host.
 12894  	//
 12895  	// Refers instance of `HostSystem`.
 12896  	Host ManagedObjectReference `xml:"host" json:"host"`
 12897  	// The status of the failover host.
 12898  	//
 12899  	// The status is green for a connected host with no vSphere HA errors and
 12900  	// no virtual machines running on it.
 12901  	// The status is yellow for a connected host with no vSphere HA errors and
 12902  	// some virtual machines running on it.
 12903  	// The status red for a disconnected or not responding host, a host that
 12904  	// is in maintenance or standby mode or that has a vSphere HA error on it.
 12905  	Status ManagedEntityStatus `xml:"status" json:"status"`
 12906  }
 12907  
 12908  func init() {
 12909  	t["ClusterFailoverHostAdmissionControlInfoHostStatus"] = reflect.TypeOf((*ClusterFailoverHostAdmissionControlInfoHostStatus)(nil)).Elem()
 12910  	minAPIVersionForType["ClusterFailoverHostAdmissionControlInfoHostStatus"] = "4.0"
 12911  }
 12912  
 12913  // The `ClusterFailoverHostAdmissionControlPolicy` dedicates
 12914  // one or more hosts for use during failover.
 12915  //
 12916  // When a host fails with this policy in place, vSphere HA attempts
 12917  // to restart its virtual machines on a dedicated failover host.
 12918  // If this is not possible, for example the failover host itself has failed
 12919  // or it has insufficient resources, HA attempts to restart those virtual
 12920  // machines on another host in the cluster.
 12921  //
 12922  // To support the availabilty of a failover host,
 12923  // the vCenter Server will prevent users from powering on virtual machines
 12924  // on that host, or from using vMotion to migrate virtual machines to the host.
 12925  // Also, DRS does not use the failover host for load balancing.
 12926  //
 12927  // To obtain the status of a failover host, use the
 12928  // `ClusterFailoverHostAdmissionControlInfo.hostStatus`
 12929  // property
 12930  // (`ClusterComputeResourceSummary*.*ClusterComputeResourceSummary.admissionControlInfo*.*ClusterFailoverHostAdmissionControlInfo.hostStatus`).
 12931  type ClusterFailoverHostAdmissionControlPolicy struct {
 12932  	ClusterDasAdmissionControlPolicy
 12933  
 12934  	// List of managed object references to failover hosts.
 12935  	//
 12936  	// Refers instances of `HostSystem`.
 12937  	FailoverHosts []ManagedObjectReference `xml:"failoverHosts,omitempty" json:"failoverHosts,omitempty"`
 12938  	// Number of host failures that should be tolerated, still guaranteeing
 12939  	// sufficient resources to restart virtual machines on available hosts.
 12940  	//
 12941  	// If not set, we assume 1.
 12942  	FailoverLevel int32 `xml:"failoverLevel,omitempty" json:"failoverLevel,omitempty" vim:"6.5"`
 12943  }
 12944  
 12945  func init() {
 12946  	t["ClusterFailoverHostAdmissionControlPolicy"] = reflect.TypeOf((*ClusterFailoverHostAdmissionControlPolicy)(nil)).Elem()
 12947  	minAPIVersionForType["ClusterFailoverHostAdmissionControlPolicy"] = "4.0"
 12948  }
 12949  
 12950  // The current admission control related information if the cluster was
 12951  // configured with a FailoverLevelAdmissionControlPolicy.
 12952  type ClusterFailoverLevelAdmissionControlInfo struct {
 12953  	ClusterDasAdmissionControlInfo
 12954  
 12955  	// Current failover level.
 12956  	//
 12957  	// This is the number of physical host failures that
 12958  	// can be tolerated without impacting the ability to satisfy the minimums for
 12959  	// all running virtual machines. This represents the current value, as
 12960  	// opposed to desired value configured by the user.
 12961  	CurrentFailoverLevel int32 `xml:"currentFailoverLevel" json:"currentFailoverLevel"`
 12962  }
 12963  
 12964  func init() {
 12965  	t["ClusterFailoverLevelAdmissionControlInfo"] = reflect.TypeOf((*ClusterFailoverLevelAdmissionControlInfo)(nil)).Elem()
 12966  	minAPIVersionForType["ClusterFailoverLevelAdmissionControlInfo"] = "4.0"
 12967  }
 12968  
 12969  // The `ClusterFailoverLevelAdmissionControlPolicy`
 12970  // defines the number of host failures that should be tolerated and still
 12971  // guarantee enough unfragmented resources to failover all powered on virtual
 12972  // machines on those failed hosts.
 12973  //
 12974  // When you use the failover level policy, vSphere HA partitions resources
 12975  // into slots. A slot represents the minimum CPU and memory resources
 12976  // that are required to support any powered-on virtual machine in the cluster.
 12977  //
 12978  // With the failover level policy in place, HA uses the following slot
 12979  // calculations to control virtual machine migration within the cluster:
 12980  //
 12981  //  1. Calculate the slot size from CPU and memory reservations.
 12982  //     The CPU value is the largest CPU reservation for all powered-on
 12983  //     virtual machines in the cluster. The memory value is the largest
 12984  //     memory reservation (plus memory overhead).
 12985  //
 12986  //     If your cluster contains any virtual machines that have much larger
 12987  //     reservations than the others, they will distort slot size calculation.
 12988  //     To avoid this, you can specify an upper bound for slot sizes;
 12989  //     use the configuration editor in the vSphere Client to set the
 12990  //     das.slotCpuInMHz and das.slotMemInMB attributes. When you use these
 12991  //     attributes, there is a risk that resource fragmentation will cause
 12992  //     virtual machines with resource requirements larger than the slot size
 12993  //     to be assigned multiple slots. In a cluster that is close to capacity,
 12994  //     there might be enough slots in aggregate for HA to successfully
 12995  //     failover a virtual machine. However, if those slots are located
 12996  //     on multiple hosts, a virtual machine assigned multiple slots cannot
 12997  //     use them because a virtual machine can run on only a single host
 12998  //     at a time.
 12999  //
 13000  //  2. Determine how many slots each host in the cluster can hold.
 13001  //     HA uses the CPU and memory resources in a host's root resource pool
 13002  //     to determine host slot capacity, not the total physical resources
 13003  //     of the host. Resources used for virtualization purposes are not
 13004  //     included. HA uses connected hosts that are not in maintenance mode
 13005  //     and that do not have any HA errors.
 13006  //
 13007  //     The CPU slot resource is the host CPU resource amount divided
 13008  //     by the CPU component of the slot size; the result is rounded down.
 13009  //     HA makes the same calculation for host memory resource amount.
 13010  //     HA compares the results; the lower of the two numbers is the
 13011  //     host slot capacity.
 13012  //
 13013  //  3. Determine the current failover capacity of the cluster. This is the
 13014  //     number of hosts (starting from the largest) that can fail and still
 13015  //     leave enough slots to satisfy all of the powered-on virtual machines.
 13016  //
 13017  //  4. Compare the current failover capacity to the configured
 13018  //     `ClusterFailoverLevelAdmissionControlPolicy.failoverLevel`.
 13019  //     If the current failover capacity is less than the configured
 13020  //     failover level, HA disallows the operation.
 13021  type ClusterFailoverLevelAdmissionControlPolicy struct {
 13022  	ClusterDasAdmissionControlPolicy
 13023  
 13024  	// Number of host failures that should be tolerated, still guaranteeing
 13025  	// sufficient resources to restart virtual machines on available hosts.
 13026  	FailoverLevel int32 `xml:"failoverLevel" json:"failoverLevel"`
 13027  	// A policy for how to compute the slot size.
 13028  	//
 13029  	// If left unset, the slot is
 13030  	// computed using the maximum reservations and memory overhead of any
 13031  	// powered on virtual machine in the cluster.
 13032  	SlotPolicy BaseClusterSlotPolicy `xml:"slotPolicy,omitempty,typeattr" json:"slotPolicy,omitempty" vim:"5.1"`
 13033  }
 13034  
 13035  func init() {
 13036  	t["ClusterFailoverLevelAdmissionControlPolicy"] = reflect.TypeOf((*ClusterFailoverLevelAdmissionControlPolicy)(nil)).Elem()
 13037  	minAPIVersionForType["ClusterFailoverLevelAdmissionControlPolicy"] = "4.0"
 13038  }
 13039  
 13040  // The current admission control related information if the cluster was configured
 13041  // with a FailoverResourcesAdmissionControlPolicy.
 13042  type ClusterFailoverResourcesAdmissionControlInfo struct {
 13043  	ClusterDasAdmissionControlInfo
 13044  
 13045  	// The percentage of cpu resources in the cluster available for failover.
 13046  	CurrentCpuFailoverResourcesPercent int32 `xml:"currentCpuFailoverResourcesPercent" json:"currentCpuFailoverResourcesPercent"`
 13047  	// The percentage of memory resources in the cluster available for failover.
 13048  	CurrentMemoryFailoverResourcesPercent int32 `xml:"currentMemoryFailoverResourcesPercent" json:"currentMemoryFailoverResourcesPercent"`
 13049  	// The percentage of persistent memory resources in the cluster available
 13050  	// for failover.
 13051  	CurrentPMemFailoverResourcesPercent int32 `xml:"currentPMemFailoverResourcesPercent,omitempty" json:"currentPMemFailoverResourcesPercent,omitempty" vim:"7.0.2.0"`
 13052  }
 13053  
 13054  func init() {
 13055  	t["ClusterFailoverResourcesAdmissionControlInfo"] = reflect.TypeOf((*ClusterFailoverResourcesAdmissionControlInfo)(nil)).Elem()
 13056  	minAPIVersionForType["ClusterFailoverResourcesAdmissionControlInfo"] = "4.0"
 13057  }
 13058  
 13059  // The `ClusterFailoverResourcesAdmissionControlPolicy`
 13060  // reserves a specified percentage of aggregate cluster resources for failover.
 13061  //
 13062  // With the resources failover policy in place, vSphere HA uses the following
 13063  // calculations to control virtual machine migration in the cluster.
 13064  //  1. Calculate the total resource requirements for all powered-on
 13065  //     virtual machines in the cluster.
 13066  //  2. Calculate the total host resources available for virtual machines.
 13067  //  3. Calculate the Current CPU failover capacity, memory failover
 13068  //     capacity and optionally, persistent memory failover capacity
 13069  //     for the cluster.
 13070  //  4. Compare the current CPU failover capacity and current memory failover
 13071  //     capacity with the configured resource percentages
 13072  //     (`ClusterFailoverResourcesAdmissionControlPolicy.cpuFailoverResourcesPercent`
 13073  //     and
 13074  //     `ClusterFailoverResourcesAdmissionControlPolicy.memoryFailoverResourcesPercent`).
 13075  //     If either current capacity is less than the corresponding configured
 13076  //     capacity, HA does not allow the operation.
 13077  //
 13078  // HA uses the actual reservations of the virtual machines. If a virtual machine
 13079  // does not have reservations, meaning that the reservation is 0, a default
 13080  // of 0MB memory and 256MHz CPU is applied. This is controlled by the same
 13081  // HA advanced options used for the failover level policy
 13082  // (`ClusterFailoverLevelAdmissionControlPolicy`).
 13083  type ClusterFailoverResourcesAdmissionControlPolicy struct {
 13084  	ClusterDasAdmissionControlPolicy
 13085  
 13086  	// Percentage of CPU resources in the cluster to reserve for failover.
 13087  	//
 13088  	// You can specify up to 100% of CPU resources for failover.
 13089  	CpuFailoverResourcesPercent int32 `xml:"cpuFailoverResourcesPercent" json:"cpuFailoverResourcesPercent"`
 13090  	// Percentage of memory resources in the cluster to reserve for failover.
 13091  	//
 13092  	// You can specify up to 100% of memory resources for failover.
 13093  	MemoryFailoverResourcesPercent int32 `xml:"memoryFailoverResourcesPercent" json:"memoryFailoverResourcesPercent"`
 13094  	// Number of host failures that should be tolerated, still guaranteeing
 13095  	// sufficient resources to restart virtual machines on available hosts.
 13096  	//
 13097  	// If not set, we assume 1.
 13098  	FailoverLevel int32 `xml:"failoverLevel,omitempty" json:"failoverLevel,omitempty" vim:"6.5"`
 13099  	// Flag to enable user input values for
 13100  	// `ClusterFailoverResourcesAdmissionControlPolicy.cpuFailoverResourcesPercent`
 13101  	// and
 13102  	// `ClusterFailoverResourcesAdmissionControlPolicy.memoryFailoverResourcesPercent`
 13103  	// By default, this is true and the default calculation is using the
 13104  	// `ClusterFailoverResourcesAdmissionControlPolicy.failoverLevel`
 13105  	// hosts' resources.
 13106  	//
 13107  	// If users want to override the percentage values,
 13108  	// they must disable the auto-compute by setting this field to false.
 13109  	AutoComputePercentages *bool `xml:"autoComputePercentages" json:"autoComputePercentages,omitempty" vim:"6.5"`
 13110  	// Percentage of persistent memory resources in the cluster to reserve for
 13111  	// the failover.
 13112  	//
 13113  	// You can specify up to 100% of persistent memory resources for failover.
 13114  	PMemFailoverResourcesPercent int32 `xml:"pMemFailoverResourcesPercent,omitempty" json:"pMemFailoverResourcesPercent,omitempty" vim:"7.0.2.0"`
 13115  	// Flag to enable user input values for
 13116  	// `ClusterFailoverResourcesAdmissionControlPolicy.pMemFailoverResourcesPercent`
 13117  	// By default, this is true and the default calculation is done using the
 13118  	// `ClusterFailoverResourcesAdmissionControlPolicy.failoverLevel` hosts' resources.
 13119  	//
 13120  	// If a user wants to override the percentage values, they
 13121  	// must disable the auto-compute by setting this field to false.
 13122  	AutoComputePMemFailoverResourcesPercent *bool `xml:"autoComputePMemFailoverResourcesPercent" json:"autoComputePMemFailoverResourcesPercent,omitempty" vim:"7.0.2.0"`
 13123  }
 13124  
 13125  func init() {
 13126  	t["ClusterFailoverResourcesAdmissionControlPolicy"] = reflect.TypeOf((*ClusterFailoverResourcesAdmissionControlPolicy)(nil)).Elem()
 13127  	minAPIVersionForType["ClusterFailoverResourcesAdmissionControlPolicy"] = "4.0"
 13128  }
 13129  
 13130  // This policy allows setting a fixed slot size
 13131  type ClusterFixedSizeSlotPolicy struct {
 13132  	ClusterSlotPolicy
 13133  
 13134  	// The cpu component of the slot size (in MHz)
 13135  	Cpu int32 `xml:"cpu" json:"cpu"`
 13136  	// The memory component of the slot size (in megabytes)
 13137  	Memory int32 `xml:"memory" json:"memory"`
 13138  }
 13139  
 13140  func init() {
 13141  	t["ClusterFixedSizeSlotPolicy"] = reflect.TypeOf((*ClusterFixedSizeSlotPolicy)(nil)).Elem()
 13142  	minAPIVersionForType["ClusterFixedSizeSlotPolicy"] = "5.1"
 13143  }
 13144  
 13145  // `ClusterGroupInfo` is the base type for all virtual machine
 13146  // and host groups.
 13147  //
 13148  // All virtual machines and hosts that are part of a group
 13149  // must be part of the same cluster.
 13150  type ClusterGroupInfo struct {
 13151  	DynamicData
 13152  
 13153  	// Unique name of the group.
 13154  	Name string `xml:"name" json:"name"`
 13155  	// Flag to indicate whether the group is created by the user or the system.
 13156  	UserCreated *bool `xml:"userCreated" json:"userCreated,omitempty" vim:"5.0"`
 13157  	// Unique ID for the group.
 13158  	//
 13159  	// uniqueID is unique within a cluster.
 13160  	// Groups residing in different clusters might share a uniqueID.
 13161  	UniqueID string `xml:"uniqueID,omitempty" json:"uniqueID,omitempty" vim:"6.0"`
 13162  }
 13163  
 13164  func init() {
 13165  	t["ClusterGroupInfo"] = reflect.TypeOf((*ClusterGroupInfo)(nil)).Elem()
 13166  	minAPIVersionForType["ClusterGroupInfo"] = "4.1"
 13167  }
 13168  
 13169  // An incremental update to the cluster-wide groups.
 13170  type ClusterGroupSpec struct {
 13171  	ArrayUpdateSpec
 13172  
 13173  	Info BaseClusterGroupInfo `xml:"info,omitempty,typeattr" json:"info,omitempty"`
 13174  }
 13175  
 13176  func init() {
 13177  	t["ClusterGroupSpec"] = reflect.TypeOf((*ClusterGroupSpec)(nil)).Elem()
 13178  	minAPIVersionForType["ClusterGroupSpec"] = "4.1"
 13179  }
 13180  
 13181  // The `ClusterHostGroup` data object identifies hosts for VM-Host rules.
 13182  //
 13183  // VM-Host rules determine placement of virtual machines on hosts in a cluster.
 13184  // The logic specified in a `ClusterVmHostRuleInfo` object
 13185  // determines where virtual machines can be powered-on.
 13186  type ClusterHostGroup struct {
 13187  	ClusterGroupInfo
 13188  
 13189  	// List of hosts that are part of this group.
 13190  	//
 13191  	// A host group can contain zero or more hosts.
 13192  	//
 13193  	// Refers instances of `HostSystem`.
 13194  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 13195  }
 13196  
 13197  func init() {
 13198  	t["ClusterHostGroup"] = reflect.TypeOf((*ClusterHostGroup)(nil)).Elem()
 13199  	minAPIVersionForType["ClusterHostGroup"] = "4.1"
 13200  }
 13201  
 13202  // Describes a HostSystem's quarantine or maintenance mode change action.
 13203  type ClusterHostInfraUpdateHaModeAction struct {
 13204  	ClusterAction
 13205  
 13206  	// Specify the action type.
 13207  	//
 13208  	// Values are of type
 13209  	// `OperationType`.
 13210  	OperationType string `xml:"operationType" json:"operationType"`
 13211  }
 13212  
 13213  func init() {
 13214  	t["ClusterHostInfraUpdateHaModeAction"] = reflect.TypeOf((*ClusterHostInfraUpdateHaModeAction)(nil)).Elem()
 13215  	minAPIVersionForType["ClusterHostInfraUpdateHaModeAction"] = "6.5"
 13216  }
 13217  
 13218  // Describes a single host power action.
 13219  type ClusterHostPowerAction struct {
 13220  	ClusterAction
 13221  
 13222  	// Specify whether the action is power on or power off
 13223  	OperationType HostPowerOperationType `xml:"operationType" json:"operationType"`
 13224  	// Estimated power consumption of the host.
 13225  	//
 13226  	// In case of power-on,
 13227  	// this is the projected increase in the cluster's power
 13228  	// consumption. In case of power off, this is the projected
 13229  	// decrease in the cluster's power consumption
 13230  	PowerConsumptionWatt int32 `xml:"powerConsumptionWatt,omitempty" json:"powerConsumptionWatt,omitempty"`
 13231  	// CPU capacity of the host in units of MHz.
 13232  	//
 13233  	// In case of power-on
 13234  	// action, this is the projected increase in the cluster's CPU
 13235  	// capacity. In case of power off, this is the projected decrease
 13236  	// in the cluster's CPU capacity.
 13237  	CpuCapacityMHz int32 `xml:"cpuCapacityMHz,omitempty" json:"cpuCapacityMHz,omitempty"`
 13238  	// Memory capacity of the host in units of MM.
 13239  	//
 13240  	// In case of power-on
 13241  	// action, this is the projected increase in the cluster's memory
 13242  	// capacity. In case of power off, this is the projected decrease
 13243  	// in the cluster's memory capacity.
 13244  	MemCapacityMB int32 `xml:"memCapacityMB,omitempty" json:"memCapacityMB,omitempty"`
 13245  }
 13246  
 13247  func init() {
 13248  	t["ClusterHostPowerAction"] = reflect.TypeOf((*ClusterHostPowerAction)(nil)).Elem()
 13249  	minAPIVersionForType["ClusterHostPowerAction"] = "2.5"
 13250  }
 13251  
 13252  // A DRS recommended host for either powering on, resuming or
 13253  // reverting a virtual machine, or migrating a virtual machine from
 13254  // outside the cluster.
 13255  type ClusterHostRecommendation struct {
 13256  	DynamicData
 13257  
 13258  	// The recommended host.
 13259  	//
 13260  	// Refers instance of `HostSystem`.
 13261  	Host ManagedObjectReference `xml:"host" json:"host"`
 13262  	// Rating for the recommendation.
 13263  	//
 13264  	// Ratings range from 1 to 5, and
 13265  	// the higher the rating, the stronger DRS suggests this host is
 13266  	// picked for the operation.
 13267  	Rating int32 `xml:"rating" json:"rating"`
 13268  }
 13269  
 13270  func init() {
 13271  	t["ClusterHostRecommendation"] = reflect.TypeOf((*ClusterHostRecommendation)(nil)).Elem()
 13272  }
 13273  
 13274  // Configuration of the vSphere InfraUpdateHA service.
 13275  //
 13276  // All fields are defined as optional. In case of a reconfiguration,
 13277  // unset fields are not changed.
 13278  type ClusterInfraUpdateHaConfigInfo struct {
 13279  	DynamicData
 13280  
 13281  	// Flag indicating whether or not the service is enabled.
 13282  	//
 13283  	// InfraUpdateHA
 13284  	// will not be active, unless DRS is enabled as well.
 13285  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 13286  	// Configured behavior.
 13287  	//
 13288  	// Values are of type
 13289  	// `BehaviorType`.
 13290  	Behavior string `xml:"behavior,omitempty" json:"behavior,omitempty"`
 13291  	// Configured remediation for moderately degraded hosts.
 13292  	//
 13293  	// Values are of type
 13294  	// `RemediationType`.
 13295  	// Configuring MaintenanceMode for moderateRemedation and QuarantineMode for
 13296  	// severeRemediation is not supported and will throw InvalidArgument.
 13297  	ModerateRemediation string `xml:"moderateRemediation,omitempty" json:"moderateRemediation,omitempty"`
 13298  	// Configured remediation for severely degraded hosts.
 13299  	//
 13300  	// Values are of type
 13301  	// `RemediationType`.
 13302  	SevereRemediation string `xml:"severeRemediation,omitempty" json:"severeRemediation,omitempty"`
 13303  	// The list of health update providers configured for this cluster.
 13304  	//
 13305  	// Providers are identified by their id.
 13306  	//
 13307  	// When reconfiguring the cluster, a list with a single element {""} will
 13308  	// clear the list of providers.
 13309  	//
 13310  	// If the provider list is empty, InfraUpdateHA will not be active.
 13311  	Providers []string `xml:"providers,omitempty" json:"providers,omitempty"`
 13312  }
 13313  
 13314  func init() {
 13315  	t["ClusterInfraUpdateHaConfigInfo"] = reflect.TypeOf((*ClusterInfraUpdateHaConfigInfo)(nil)).Elem()
 13316  	minAPIVersionForType["ClusterInfraUpdateHaConfigInfo"] = "6.5"
 13317  }
 13318  
 13319  // Describes an initial placement of a single virtual machine
 13320  type ClusterInitialPlacementAction struct {
 13321  	ClusterAction
 13322  
 13323  	// The host where the virtual machine should be initially placed.
 13324  	//
 13325  	// Refers instance of `HostSystem`.
 13326  	TargetHost ManagedObjectReference `xml:"targetHost" json:"targetHost"`
 13327  	// The resource pool to place the virtual machine into in case this
 13328  	// action is for migrating from outside cluster.
 13329  	//
 13330  	// Refers instance of `ResourcePool`.
 13331  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
 13332  }
 13333  
 13334  func init() {
 13335  	t["ClusterInitialPlacementAction"] = reflect.TypeOf((*ClusterInitialPlacementAction)(nil)).Elem()
 13336  	minAPIVersionForType["ClusterInitialPlacementAction"] = "2.5"
 13337  }
 13338  
 13339  // Information about an IO Filter on a compute resource.
 13340  type ClusterIoFilterInfo struct {
 13341  	IoFilterInfo
 13342  
 13343  	// The operation that was performed for the IO Filter.
 13344  	//
 13345  	// The set of possible values are described in
 13346  	// `IoFilterOperation_enum`.
 13347  	// If opType is `uninstall`,
 13348  	// and the uninstallation of the filter was sucessful on all the hosts
 13349  	// in the cluster, the filter will be removed from the cluster's filter
 13350  	// list.
 13351  	OpType string `xml:"opType" json:"opType"`
 13352  	// The URL of the VIB package that the IO Filter is installed from.
 13353  	//
 13354  	// The property is unset if the information is not available.
 13355  	VibUrl string `xml:"vibUrl,omitempty" json:"vibUrl,omitempty" vim:"6.5"`
 13356  }
 13357  
 13358  func init() {
 13359  	t["ClusterIoFilterInfo"] = reflect.TypeOf((*ClusterIoFilterInfo)(nil)).Elem()
 13360  	minAPIVersionForType["ClusterIoFilterInfo"] = "6.0"
 13361  }
 13362  
 13363  // Describes a single VM migration action.
 13364  type ClusterMigrationAction struct {
 13365  	ClusterAction
 13366  
 13367  	// The details of the migration action
 13368  	DrsMigration *ClusterDrsMigration `xml:"drsMigration,omitempty" json:"drsMigration,omitempty"`
 13369  }
 13370  
 13371  func init() {
 13372  	t["ClusterMigrationAction"] = reflect.TypeOf((*ClusterMigrationAction)(nil)).Elem()
 13373  	minAPIVersionForType["ClusterMigrationAction"] = "2.5"
 13374  }
 13375  
 13376  // The Cluster network config spec allows specification of
 13377  // the second network adapter is used for communication between
 13378  // the nodes of a VCHA cluster.
 13379  type ClusterNetworkConfigSpec struct {
 13380  	DynamicData
 13381  
 13382  	// The portgroup that is associated with the VCHA Cluster IP
 13383  	// address for VCHA cluster traffic for the second adapter to be
 13384  	// added to the Active vCenter.
 13385  	//
 13386  	// Refers instance of `Network`.
 13387  	NetworkPortGroup ManagedObjectReference `xml:"networkPortGroup" json:"networkPortGroup"`
 13388  	// VCHA Cluster network configuration of the node.
 13389  	//
 13390  	// All cluster communication (state replication, heartbeat,
 13391  	// cluster messages) happens over this network.
 13392  	// Only a single Gateway IPv4 Address is supported.
 13393  	// IPAddress and NetMask must be specified or an InvalidArgument
 13394  	// exception will be reported.
 13395  	IpSettings CustomizationIPSettings `xml:"ipSettings" json:"ipSettings"`
 13396  }
 13397  
 13398  func init() {
 13399  	t["ClusterNetworkConfigSpec"] = reflect.TypeOf((*ClusterNetworkConfigSpec)(nil)).Elem()
 13400  	minAPIVersionForType["ClusterNetworkConfigSpec"] = "6.5"
 13401  }
 13402  
 13403  // This data class reports one virtual machine powerOn failure.
 13404  type ClusterNotAttemptedVmInfo struct {
 13405  	DynamicData
 13406  
 13407  	// The virtual machine that can not be powered on.
 13408  	//
 13409  	// Refers instance of `VirtualMachine`.
 13410  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 13411  	// The exception returned.
 13412  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 13413  }
 13414  
 13415  func init() {
 13416  	t["ClusterNotAttemptedVmInfo"] = reflect.TypeOf((*ClusterNotAttemptedVmInfo)(nil)).Elem()
 13417  	minAPIVersionForType["ClusterNotAttemptedVmInfo"] = "2.5"
 13418  }
 13419  
 13420  // vSphere cluster VM orchestration settings.
 13421  //
 13422  // Used by vSphere HA when restarting failed VMs. For example, if a host
 13423  // fails, vSphere HA identifies the list of VMs to be restarted. The order in
 13424  // which the failed VMs to be restarted is determined by:
 13425  //   - VM restart priority setting (`ClusterDasVmSettings.restartPriority`).
 13426  //     Lower priority VMs are restarted only after higher priority VMs are
 13427  //     restarted and ready (`ClusterVmReadiness`).
 13428  //   - VM dependency rule (`ClusterDependencyRuleInfo`). If a VM
 13429  //     depends on other VMs, then it will be restarted only after all the VMs in
 13430  //     its dependency list are ready. Cyclic dependency is not permitted across
 13431  //     VMs. Also, higher priority VMs cannot depend on lower priority VMs.
 13432  type ClusterOrchestrationInfo struct {
 13433  	DynamicData
 13434  
 13435  	// Cluster-wide defaults for virtual machine readiness
 13436  	DefaultVmReadiness *ClusterVmReadiness `xml:"defaultVmReadiness,omitempty" json:"defaultVmReadiness,omitempty"`
 13437  }
 13438  
 13439  func init() {
 13440  	t["ClusterOrchestrationInfo"] = reflect.TypeOf((*ClusterOrchestrationInfo)(nil)).Elem()
 13441  	minAPIVersionForType["ClusterOrchestrationInfo"] = "6.5"
 13442  }
 13443  
 13444  // This event records when a cluster's host capacity cannot satisfy resource
 13445  // configuration constraints.
 13446  type ClusterOvercommittedEvent struct {
 13447  	ClusterEvent
 13448  }
 13449  
 13450  func init() {
 13451  	t["ClusterOvercommittedEvent"] = reflect.TypeOf((*ClusterOvercommittedEvent)(nil)).Elem()
 13452  }
 13453  
 13454  // PowerOnVmResult is the base class of the result returned to the
 13455  // `Datacenter.PowerOnMultiVM_Task` method.
 13456  type ClusterPowerOnVmResult struct {
 13457  	DynamicData
 13458  
 13459  	// The list of virtual machines the Virtual Center has attempted to power on.
 13460  	//
 13461  	// For a virtual machine not managed by DRS, a task ID is also returned.
 13462  	Attempted []ClusterAttemptedVmInfo `xml:"attempted,omitempty" json:"attempted,omitempty"`
 13463  	// The list of virtual machines DRS can not find suitable hosts for powering on.
 13464  	//
 13465  	// There is one fault associated with each virtual machine.
 13466  	NotAttempted []ClusterNotAttemptedVmInfo `xml:"notAttempted,omitempty" json:"notAttempted,omitempty"`
 13467  	// The list of recommendations that need the client to approve manually.
 13468  	Recommendations []ClusterRecommendation `xml:"recommendations,omitempty" json:"recommendations,omitempty"`
 13469  }
 13470  
 13471  func init() {
 13472  	t["ClusterPowerOnVmResult"] = reflect.TypeOf((*ClusterPowerOnVmResult)(nil)).Elem()
 13473  	minAPIVersionForType["ClusterPowerOnVmResult"] = "2.5"
 13474  }
 13475  
 13476  // The `ClusterPreemptibleVmPairInfo` data object contains the monitored and the
 13477  // preemptible VM pair in a HA-enabled cluster.
 13478  //
 13479  // Monitored virtual machine is a desired protected virtual machine in
 13480  // HA-enabled cluster when it is powered on. Any failures of this VM will
 13481  // continue to be handled by HA based on the VM's settings in cluster.
 13482  //
 13483  // Preemptible virtual machine is the desired protected virtual machine in HA
 13484  // when it is powered on. The lowest restart priority "disabled"
 13485  // `ClusterDasVmSettingsRestartPriority_enum` will be enforced for the
 13486  // `ClusterPreemptibleVmPairInfo.preemptibleVm`. A virtual machine can be marked as preemptible
 13487  // irrespective of its `powerState` but its
 13488  // extra configuration should identify it as preemptible.
 13489  //
 13490  // In case of failure of `ClusterPreemptibleVmPairInfo.monitoredVm`, the `ClusterPreemptibleVmPairInfo.preemptibleVm` will
 13491  // be terminated. This will free up any resources associated with
 13492  // `ClusterPreemptibleVmPairInfo.preemptibleVm`.
 13493  //
 13494  // In case of insufficient resources for failover of any VM in the cluster, the
 13495  // `ClusterPreemptibleVmPairInfo.preemptibleVm` will be terminated to free up resources.
 13496  //
 13497  // This data object is intended for VMware use and other usage is not
 13498  // supported. This data object will be removed in a future release.
 13499  type ClusterPreemptibleVmPairInfo struct {
 13500  	DynamicData
 13501  
 13502  	// Server-assigned unique ID for pairs.
 13503  	//
 13504  	// When adding a new pair, do not
 13505  	// specify this property. The server will assign the key and any assigned
 13506  	// value will be ignored.
 13507  	Id int32 `xml:"id,omitempty" json:"id,omitempty"`
 13508  	// The virtual machine whose failure will cause the virtual machine specified
 13509  	// by `ClusterPreemptibleVmPairInfo.preemptibleVm` to be terminated.
 13510  	//
 13511  	// Refers instance of `VirtualMachine`.
 13512  	MonitoredVm ManagedObjectReference `xml:"monitoredVm" json:"monitoredVm"`
 13513  	// The preemptible virtual machine associated with the virtual machine
 13514  	// specified as `ClusterPreemptibleVmPairInfo.monitoredVm`.
 13515  	//
 13516  	// Refers instance of `VirtualMachine`.
 13517  	PreemptibleVm ManagedObjectReference `xml:"preemptibleVm" json:"preemptibleVm"`
 13518  }
 13519  
 13520  func init() {
 13521  	t["ClusterPreemptibleVmPairInfo"] = reflect.TypeOf((*ClusterPreemptibleVmPairInfo)(nil)).Elem()
 13522  	minAPIVersionForType["ClusterPreemptibleVmPairInfo"] = "8.0.0.1"
 13523  }
 13524  
 13525  // Provides monitored and preemptible VM pair along with any of the operations
 13526  // (add, edit or remove) to append, modify or remove this pair info from
 13527  // `ClusterPreemptibleVmPairInfo` list.
 13528  //
 13529  // This data object is intended for VMware use and other usage is not supported.
 13530  // This data object will be removed in a future release.
 13531  type ClusterPreemptibleVmPairSpec struct {
 13532  	ArrayUpdateSpec
 13533  
 13534  	Info *ClusterPreemptibleVmPairInfo `xml:"info,omitempty" json:"info,omitempty"`
 13535  }
 13536  
 13537  func init() {
 13538  	t["ClusterPreemptibleVmPairSpec"] = reflect.TypeOf((*ClusterPreemptibleVmPairSpec)(nil)).Elem()
 13539  	minAPIVersionForType["ClusterPreemptibleVmPairSpec"] = "8.0.0.1"
 13540  }
 13541  
 13542  type ClusterProactiveDrsConfigInfo struct {
 13543  	DynamicData
 13544  
 13545  	// Flag indicating whether or not the service is enabled.
 13546  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 13547  }
 13548  
 13549  func init() {
 13550  	t["ClusterProactiveDrsConfigInfo"] = reflect.TypeOf((*ClusterProactiveDrsConfigInfo)(nil)).Elem()
 13551  }
 13552  
 13553  // DataObject completely specifying the configuration of
 13554  // the profile.
 13555  type ClusterProfileCompleteConfigSpec struct {
 13556  	ClusterProfileConfigSpec
 13557  
 13558  	// User defined compliance profile for the cluster.
 13559  	//
 13560  	// If unset, clear the complyProfile.
 13561  	ComplyProfile *ComplianceProfile `xml:"complyProfile,omitempty" json:"complyProfile,omitempty"`
 13562  }
 13563  
 13564  func init() {
 13565  	t["ClusterProfileCompleteConfigSpec"] = reflect.TypeOf((*ClusterProfileCompleteConfigSpec)(nil)).Elem()
 13566  	minAPIVersionForType["ClusterProfileCompleteConfigSpec"] = "4.0"
 13567  }
 13568  
 13569  type ClusterProfileConfigInfo struct {
 13570  	ProfileConfigInfo
 13571  
 13572  	// Compliance profile for the cluster
 13573  	ComplyProfile *ComplianceProfile `xml:"complyProfile,omitempty" json:"complyProfile,omitempty"`
 13574  }
 13575  
 13576  func init() {
 13577  	t["ClusterProfileConfigInfo"] = reflect.TypeOf((*ClusterProfileConfigInfo)(nil)).Elem()
 13578  }
 13579  
 13580  // DataObject which allows reconfiguration of a profile
 13581  // based on services that will be available on the cluster.
 13582  type ClusterProfileConfigServiceCreateSpec struct {
 13583  	ClusterProfileConfigSpec
 13584  
 13585  	// Type of the service for which the ClusterProfile is being requested.
 13586  	//
 13587  	// If more than one service is specified, the created ClusterProfile
 13588  	// will cater for all the services.
 13589  	// Possible values are specified by
 13590  	// `ClusterProfileServiceType_enum`.
 13591  	// If unset, clear the compliance expressions on the profile.
 13592  	ServiceType []string `xml:"serviceType,omitempty" json:"serviceType,omitempty"`
 13593  }
 13594  
 13595  func init() {
 13596  	t["ClusterProfileConfigServiceCreateSpec"] = reflect.TypeOf((*ClusterProfileConfigServiceCreateSpec)(nil)).Elem()
 13597  	minAPIVersionForType["ClusterProfileConfigServiceCreateSpec"] = "4.0"
 13598  }
 13599  
 13600  // DataObject which is a baseclass for other configuration
 13601  // specifications.
 13602  type ClusterProfileConfigSpec struct {
 13603  	ClusterProfileCreateSpec
 13604  }
 13605  
 13606  func init() {
 13607  	t["ClusterProfileConfigSpec"] = reflect.TypeOf((*ClusterProfileConfigSpec)(nil)).Elem()
 13608  	minAPIVersionForType["ClusterProfileConfigSpec"] = "4.0"
 13609  }
 13610  
 13611  // Base class for Cluster CreateSpecs
 13612  type ClusterProfileCreateSpec struct {
 13613  	ProfileCreateSpec
 13614  }
 13615  
 13616  func init() {
 13617  	t["ClusterProfileCreateSpec"] = reflect.TypeOf((*ClusterProfileCreateSpec)(nil)).Elem()
 13618  	minAPIVersionForType["ClusterProfileCreateSpec"] = "4.0"
 13619  }
 13620  
 13621  // Recommendation is the base class for any packaged group of
 13622  // actions that are intended to take the system from one
 13623  // state to another one.
 13624  type ClusterRecommendation struct {
 13625  	DynamicData
 13626  
 13627  	// Key to identify the recommendation when calling applyRecommendation.
 13628  	Key string `xml:"key" json:"key"`
 13629  	// Type of the recommendation.
 13630  	//
 13631  	// This differentiates between various
 13632  	// of recommendations aimed at achieving different goals.
 13633  	Type string `xml:"type" json:"type"`
 13634  	// The time this recommendation was computed.
 13635  	Time time.Time `xml:"time" json:"time"`
 13636  	// A rating of the recommendation.
 13637  	//
 13638  	// Valid values range from 1 (lowest confidence) to 5 (highest confidence).
 13639  	Rating int32 `xml:"rating" json:"rating"`
 13640  	// A reason code explaining why this set of migrations is being suggested.
 13641  	Reason string `xml:"reason" json:"reason"`
 13642  	// Text that provides more information about the reason code for the suggested
 13643  	// set of migrations.
 13644  	ReasonText string `xml:"reasonText" json:"reasonText"`
 13645  	// Text that provides warnings about potential adverse implications of
 13646  	// applying this recommendation
 13647  	WarningText string `xml:"warningText,omitempty" json:"warningText,omitempty" vim:"6.0"`
 13648  	// Warning about potential adverse implications of applying a recommendation
 13649  	WarningDetails *LocalizableMessage `xml:"warningDetails,omitempty" json:"warningDetails,omitempty" vim:"6.0"`
 13650  	// This recommendation may depend on some other recommendations.
 13651  	//
 13652  	// The prerequisite recommendations are listed by their keys.
 13653  	Prerequisite []string `xml:"prerequisite,omitempty" json:"prerequisite,omitempty"`
 13654  	// List of actions that are executed as part of this recommendation
 13655  	Action []BaseClusterAction `xml:"action,omitempty,typeattr" json:"action,omitempty"`
 13656  	// The target object of this recommendation.
 13657  	Target *ManagedObjectReference `xml:"target,omitempty" json:"target,omitempty"`
 13658  }
 13659  
 13660  func init() {
 13661  	t["ClusterRecommendation"] = reflect.TypeOf((*ClusterRecommendation)(nil)).Elem()
 13662  	minAPIVersionForType["ClusterRecommendation"] = "2.5"
 13663  }
 13664  
 13665  // This event records when a cluster is reconfigured.
 13666  type ClusterReconfiguredEvent struct {
 13667  	ClusterEvent
 13668  
 13669  	// The configuration values changed during the reconfiguration.
 13670  	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty" vim:"6.5"`
 13671  }
 13672  
 13673  func init() {
 13674  	t["ClusterReconfiguredEvent"] = reflect.TypeOf((*ClusterReconfiguredEvent)(nil)).Elem()
 13675  }
 13676  
 13677  // This class contains cpu, memory and storage usage information at cluster
 13678  // level.
 13679  type ClusterResourceUsageSummary struct {
 13680  	DynamicData
 13681  
 13682  	CpuUsedMHz        int32 `xml:"cpuUsedMHz" json:"cpuUsedMHz"`
 13683  	CpuCapacityMHz    int32 `xml:"cpuCapacityMHz" json:"cpuCapacityMHz"`
 13684  	MemUsedMB         int32 `xml:"memUsedMB" json:"memUsedMB"`
 13685  	MemCapacityMB     int32 `xml:"memCapacityMB" json:"memCapacityMB"`
 13686  	PMemAvailableMB   int64 `xml:"pMemAvailableMB,omitempty" json:"pMemAvailableMB,omitempty"`
 13687  	PMemCapacityMB    int64 `xml:"pMemCapacityMB,omitempty" json:"pMemCapacityMB,omitempty"`
 13688  	StorageUsedMB     int64 `xml:"storageUsedMB" json:"storageUsedMB"`
 13689  	StorageCapacityMB int64 `xml:"storageCapacityMB" json:"storageCapacityMB"`
 13690  }
 13691  
 13692  func init() {
 13693  	t["ClusterResourceUsageSummary"] = reflect.TypeOf((*ClusterResourceUsageSummary)(nil)).Elem()
 13694  	minAPIVersionForType["ClusterResourceUsageSummary"] = "6.0"
 13695  }
 13696  
 13697  // The `ClusterRuleInfo` data object is the base type for affinity
 13698  // and anti-affinity rules.
 13699  //
 13700  // The affinity and anti-affinity rules
 13701  // are DRS (Distributed Resource Scheduling) rules that affect the placement
 13702  // of virtual machines in a cluster. Hosts and virtual machines referenced
 13703  // in a DRS rule must be in the same cluster.
 13704  //
 13705  // Note: DRS rules are different than an individual host's CPU affinity rules
 13706  // (`VirtualMachineAffinityInfo`).
 13707  //
 13708  // The Server uses DRS rule objects to describe the current rule configuration
 13709  // (`ClusterConfigInfoEx*.*ClusterConfigInfoEx.rule`).
 13710  // Your client application uses rule objects to configure the affinity and
 13711  // anti-affinity rules
 13712  // (`ClusterConfigSpecEx*.*ClusterConfigSpecEx.rulesSpec`).
 13713  //
 13714  // You can create the following types of rules:
 13715  //   - An affinity rule defines a set of virtual machines that should run
 13716  //     on the same host.
 13717  //     The `ClusterAffinityRuleSpec` object describes a rule that
 13718  //     identifies virtual machines, but does not identify any specific host.
 13719  //   - An anti-affinity rule defines a set of virtual machines that should run
 13720  //     on different hosts.
 13721  //     The `ClusterAntiAffinityRuleSpec` object describes a rule that
 13722  //     identifies virtual machines, but does not identify any specific host.
 13723  //   - A VM-Host rule defines affinity and anti-affinity relationships between
 13724  //     virtual machines and hosts.
 13725  //     The `ClusterVmHostRuleInfo` object describes a rule that identifies
 13726  //     a virtual machine group (`ClusterVmGroup`) and affinity and
 13727  //     anti-affinity host groups (`ClusterHostGroup`).
 13728  //
 13729  // Rule configuration is a dynamic process. When you create or modify a DRS rule,
 13730  // the Server applies the rule to the cluster. If the existing cluster configuration
 13731  // violates the rule, the Server attempts to correct the situation. If that is not
 13732  // possible, the Server generates a fault and produces a log event.
 13733  // DRS rules do not have precedence; all rules are applied equally.
 13734  // DRS does not validate one rule against another. If you create conflicting
 13735  // rules, the older rule takes precedence and DRS disables the newer rule.
 13736  //
 13737  // Improperly used, DRS rules can fragment the cluster and inhibit the proper
 13738  // functioning of DRS, HA, and DPM services. vSphere services never
 13739  // take any actions that would result in the violation of mandatory DRS rules.
 13740  // An operation that violates a mandatory rule would produce the following
 13741  // consequences.
 13742  //   - DRS does not evacuate virtual machines to place a host in maintenance
 13743  //     mode.
 13744  //   - DRS does not place virtual machines for power-on or load balance virtual
 13745  //     machines.
 13746  //   - HA does not perform failovers.
 13747  //   - DPM does not optimize power management by placing hosts into standby
 13748  //     mode.
 13749  //
 13750  // To avoid these situations, exercise caution when creating more than one
 13751  // mandatory rule, or consider using only optional rules. Make sure that
 13752  // the number of hosts with which a virtual machine is related by affinity rule
 13753  // is large enough that losing a host does not prevent the virtual machine
 13754  // from running.
 13755  //
 13756  // For manual and partially automated DRS clusters, the Server produces migration
 13757  // recommendations to satisfy the DRS rules. You are not required to act on the
 13758  // recommendations, but the Server maintains the recommendations until the rules
 13759  // are satisfied.
 13760  type ClusterRuleInfo struct {
 13761  	DynamicData
 13762  
 13763  	// Unique ID for rules.
 13764  	//
 13765  	// When adding a new rule, do not specify this property.
 13766  	// The Server will assign the key.
 13767  	Key int32 `xml:"key,omitempty" json:"key,omitempty"`
 13768  	// Flag to indicate whether or not the rule is currently satisfied.
 13769  	Status ManagedEntityStatus `xml:"status,omitempty" json:"status,omitempty"`
 13770  	// Flag to indicate whether or not the rule is enabled.
 13771  	//
 13772  	// Set this property
 13773  	// when you configure the rule. The default value is false (disabled).
 13774  	// If there is a rule conflict, the Server can override the setting to disable
 13775  	// a rule.
 13776  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 13777  	// Name of the rule.
 13778  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 13779  	// Flag to indicate whether compliance with this rule is mandatory or optional.
 13780  	//
 13781  	// The default value is false (optional).
 13782  	//     - A mandatory rule will prevent a virtual machine from being powered on
 13783  	//       or migrated to a host that does not satisfy the rule.
 13784  	//     - An optional rule specifies a preference. DRS takes an optional rule
 13785  	//       into consideration when it places a virtual machine in the cluster.
 13786  	//       DRS will act on an optional rule as long as it does not impact
 13787  	//       the ability of the host to satisfy current CPU or memory requirements
 13788  	//       for virtual machines on the system. (As long as the operation does not
 13789  	//       cause any host to be more than 100% utilized.)
 13790  	Mandatory *bool `xml:"mandatory" json:"mandatory,omitempty" vim:"4.1"`
 13791  	// Flag to indicate whether the rule is created by the user or the system.
 13792  	UserCreated *bool `xml:"userCreated" json:"userCreated,omitempty" vim:"4.1"`
 13793  	// Flag to indicate whether or not the placement of Virtual Machines is currently
 13794  	// in compliance with this rule.
 13795  	//
 13796  	// The Server does not currently use this property.
 13797  	InCompliance *bool `xml:"inCompliance" json:"inCompliance,omitempty" vim:"4.1"`
 13798  	// UUID for the rule.
 13799  	//
 13800  	// When adding a new rule, do not specify this
 13801  	// property. The Server will assign the key.
 13802  	RuleUuid string `xml:"ruleUuid,omitempty" json:"ruleUuid,omitempty" vim:"6.0"`
 13803  }
 13804  
 13805  func init() {
 13806  	t["ClusterRuleInfo"] = reflect.TypeOf((*ClusterRuleInfo)(nil)).Elem()
 13807  }
 13808  
 13809  // An incremental update to the cluster rules.
 13810  type ClusterRuleSpec struct {
 13811  	ArrayUpdateSpec
 13812  
 13813  	Info BaseClusterRuleInfo `xml:"info,omitempty,typeattr" json:"info,omitempty"`
 13814  }
 13815  
 13816  func init() {
 13817  	t["ClusterRuleSpec"] = reflect.TypeOf((*ClusterRuleSpec)(nil)).Elem()
 13818  }
 13819  
 13820  // The base class `ClusterSlotPolicy` is used for specifying how
 13821  // the slot size is to be computed for the failover level HA admission control
 13822  // policy.
 13823  //
 13824  // By default, vSphere HA defines the slot size using the largest memory
 13825  // and cpu reservations of any powered on virtual machine in the cluster.
 13826  // Subclasses of this class define various policies to modify how the slot size
 13827  // is chosen to prevent outlier virtual machines (i.e. those with much larger
 13828  // reservations than the average) from skewing the slot size. If such a policy is chosen,
 13829  // outlier virtual machines will use multiple slots. Using such a policy introduces
 13830  // a risk that vSphere HA will be unable to failover these virtual machines because
 13831  // of resource fragmentation.
 13832  type ClusterSlotPolicy struct {
 13833  	DynamicData
 13834  }
 13835  
 13836  func init() {
 13837  	t["ClusterSlotPolicy"] = reflect.TypeOf((*ClusterSlotPolicy)(nil)).Elem()
 13838  	minAPIVersionForType["ClusterSlotPolicy"] = "5.1"
 13839  }
 13840  
 13841  // This event records when a cluster's overall status changed.
 13842  type ClusterStatusChangedEvent struct {
 13843  	ClusterEvent
 13844  
 13845  	// The old (`status`).
 13846  	OldStatus string `xml:"oldStatus" json:"oldStatus"`
 13847  	// The new (`status`).
 13848  	NewStatus string `xml:"newStatus" json:"newStatus"`
 13849  }
 13850  
 13851  func init() {
 13852  	t["ClusterStatusChangedEvent"] = reflect.TypeOf((*ClusterStatusChangedEvent)(nil)).Elem()
 13853  }
 13854  
 13855  // Configuration for System VMs deployment.
 13856  type ClusterSystemVMsConfigInfo struct {
 13857  	DynamicData
 13858  
 13859  	// The only datastores which can be used for System VMs deployment.
 13860  	//
 13861  	// Refers instances of `Datastore`.
 13862  	AllowedDatastores []ManagedObjectReference `xml:"allowedDatastores,omitempty" json:"allowedDatastores,omitempty"`
 13863  	// Datastores which cannot be used for System VMs deployment.
 13864  	//
 13865  	// Refers instances of `Datastore`.
 13866  	NotAllowedDatastores []ManagedObjectReference `xml:"notAllowedDatastores,omitempty" json:"notAllowedDatastores,omitempty"`
 13867  	// Tag categories identifying datastores, which cannot be used for System VMs
 13868  	// deployment.
 13869  	DsTagCategoriesToExclude []string `xml:"dsTagCategoriesToExclude,omitempty" json:"dsTagCategoriesToExclude,omitempty"`
 13870  	// The System VM deployment mode for vSphere clusters.
 13871  	//
 13872  	// Supported values are enumerated by the
 13873  	// `DeploymentMode`
 13874  	// type.
 13875  	// An unset value implies SYSTEM\_MANAGED,
 13876  	// unless the cluster is put in "Retreat Mode".
 13877  	DeploymentMode string `xml:"deploymentMode,omitempty" json:"deploymentMode,omitempty" vim:"8.0.2.0"`
 13878  }
 13879  
 13880  func init() {
 13881  	t["ClusterSystemVMsConfigInfo"] = reflect.TypeOf((*ClusterSystemVMsConfigInfo)(nil)).Elem()
 13882  	minAPIVersionForType["ClusterSystemVMsConfigInfo"] = "7.0.3.0"
 13883  }
 13884  
 13885  // Configuration for System VMs deployment.
 13886  type ClusterSystemVMsConfigSpec struct {
 13887  	DynamicData
 13888  
 13889  	// The only datastores which can be used for System VMs deployment.
 13890  	AllowedDatastores []ClusterDatastoreUpdateSpec `xml:"allowedDatastores,omitempty" json:"allowedDatastores,omitempty"`
 13891  	// Datastores which cannot be used for System VMs deployment.
 13892  	NotAllowedDatastores []ClusterDatastoreUpdateSpec `xml:"notAllowedDatastores,omitempty" json:"notAllowedDatastores,omitempty"`
 13893  	// Tag categories identifying datastores, which cannot be used for System VMs
 13894  	// deployment.
 13895  	DsTagCategoriesToExclude []ClusterTagCategoryUpdateSpec `xml:"dsTagCategoriesToExclude,omitempty" json:"dsTagCategoriesToExclude,omitempty"`
 13896  	// The System VM deployment mode for vSphere clusters.
 13897  	//
 13898  	// Supported values are enumerated by the
 13899  	// `DeploymentMode`
 13900  	// type.
 13901  	// Providing an unset value does not modify deploymentMode.
 13902  	DeploymentMode string `xml:"deploymentMode,omitempty" json:"deploymentMode,omitempty" vim:"8.0.2.0"`
 13903  }
 13904  
 13905  func init() {
 13906  	t["ClusterSystemVMsConfigSpec"] = reflect.TypeOf((*ClusterSystemVMsConfigSpec)(nil)).Elem()
 13907  	minAPIVersionForType["ClusterSystemVMsConfigSpec"] = "7.0.3.0"
 13908  }
 13909  
 13910  // An incremental update to a TagCategory list.
 13911  type ClusterTagCategoryUpdateSpec struct {
 13912  	ArrayUpdateSpec
 13913  
 13914  	Category string `xml:"category,omitempty" json:"category,omitempty"`
 13915  }
 13916  
 13917  func init() {
 13918  	t["ClusterTagCategoryUpdateSpec"] = reflect.TypeOf((*ClusterTagCategoryUpdateSpec)(nil)).Elem()
 13919  	minAPIVersionForType["ClusterTagCategoryUpdateSpec"] = "7.0.3.0"
 13920  }
 13921  
 13922  // This class contains cluster usage summary that is populated
 13923  // by DRS and used by Cloud Placement Engine in VCD.
 13924  type ClusterUsageSummary struct {
 13925  	DynamicData
 13926  
 13927  	// Total CPU capacity of the cluster.
 13928  	TotalCpuCapacityMhz int32 `xml:"totalCpuCapacityMhz" json:"totalCpuCapacityMhz"`
 13929  	// Total memory capacity of the cluster.
 13930  	TotalMemCapacityMB int32 `xml:"totalMemCapacityMB" json:"totalMemCapacityMB"`
 13931  	// Sum of CPU reservation of all the Resource Pools and powered-on VMs in the cluster.
 13932  	CpuReservationMhz int32 `xml:"cpuReservationMhz" json:"cpuReservationMhz"`
 13933  	// Sum of memory reservation of all the Resource Pools and powered-on VMs in the cluster.
 13934  	MemReservationMB int32 `xml:"memReservationMB" json:"memReservationMB"`
 13935  	// Sum of CPU reservation of all the powered-off VMs in the cluster.
 13936  	PoweredOffCpuReservationMhz int32 `xml:"poweredOffCpuReservationMhz,omitempty" json:"poweredOffCpuReservationMhz,omitempty"`
 13937  	// Sum of memory reservation of all the powered-off VMs in the cluster.
 13938  	PoweredOffMemReservationMB int32 `xml:"poweredOffMemReservationMB,omitempty" json:"poweredOffMemReservationMB,omitempty"`
 13939  	// Sum of CPU demand of all the powered-on VMs in the cluster.
 13940  	CpuDemandMhz int32 `xml:"cpuDemandMhz" json:"cpuDemandMhz"`
 13941  	// Sum of memory demand of all the powered-on VMs in the cluster.
 13942  	MemDemandMB int32 `xml:"memDemandMB" json:"memDemandMB"`
 13943  	// Generation number of the usage stats.
 13944  	//
 13945  	// Updated during every DRS load
 13946  	// balancing call.
 13947  	StatsGenNumber int64 `xml:"statsGenNumber" json:"statsGenNumber"`
 13948  	// This is the current CPU entitlement across the cluster
 13949  	CpuEntitledMhz int32 `xml:"cpuEntitledMhz" json:"cpuEntitledMhz"`
 13950  	// This is the current memory entitlement across the cluster
 13951  	MemEntitledMB int32 `xml:"memEntitledMB" json:"memEntitledMB"`
 13952  	// The number of powered off VMs in the cluster
 13953  	PoweredOffVmCount int32 `xml:"poweredOffVmCount" json:"poweredOffVmCount"`
 13954  	// The number of VMs in the cluster
 13955  	TotalVmCount int32 `xml:"totalVmCount" json:"totalVmCount"`
 13956  }
 13957  
 13958  func init() {
 13959  	t["ClusterUsageSummary"] = reflect.TypeOf((*ClusterUsageSummary)(nil)).Elem()
 13960  	minAPIVersionForType["ClusterUsageSummary"] = "6.0"
 13961  }
 13962  
 13963  // vSphere HA Virtual Machine Component Protection Service settings.
 13964  //
 13965  // vSphere HA Virtual Machine Component Protection Service detects
 13966  // and reacts to storage failures that do not necessarily cause a
 13967  // virtual machine to go down, but may impact the health or QoS of
 13968  // the virtual machine.
 13969  //
 13970  // All fields are defined as optional. In case of a reconfiguration, fields left unset
 13971  // are not changed.
 13972  type ClusterVmComponentProtectionSettings struct {
 13973  	DynamicData
 13974  
 13975  	// VM storage protection setting for storage failures categorized as All Paths
 13976  	// Down (APD).
 13977  	//
 13978  	// APD is a condition where a storage has become inaccessible
 13979  	// for unknown reasons. It only indicates loss of connectivity and does not indicate
 13980  	// storage device failure or LUN removal (Permenant Device Loss or PDL). The details
 13981  	// of APD and PDL are described in `HostMountInfoInaccessibleReason_enum`.
 13982  	//
 13983  	// This property is meaningful only when vSphere HA is turned on. Valid values are
 13984  	// specified by `ClusterVmComponentProtectionSettingsStorageVmReaction_enum`. The default value is
 13985  	// `disabled` for cluster setting and
 13986  	// `clusterDefault` for per-VM setting.
 13987  	//
 13988  	// When an APD condition happens and the host begins timing out I/Os
 13989  	// (@link vim.host.MountInfo.InaccessibleReason#AllPathsDown\_Timeout}, VM Component
 13990  	// Protection service will react based on the specific value of this property:
 13991  	//     - `**disabled**`, no reaction, i.e., no
 13992  	//       VM failover and no event reporting for the failures.
 13993  	//     - `**warning**`, service will issue events,
 13994  	//       alarms and/or config issues for component failures.
 13995  	//     - `**restartConservative**`, service will
 13996  	//       terminate the impacted VMs after a preconfigured time interval
 13997  	//       (`ClusterVmComponentProtectionSettings.vmTerminateDelayForAPDSec`) if they are to be restarted.
 13998  	//     - `**restartAggressive**`, service might
 13999  	//       terminate the impacted VMs after a preconfigured time interval
 14000  	//       (`ClusterVmComponentProtectionSettings.vmTerminateDelayForAPDSec`). In some cases, a VM is terminated
 14001  	//       even if it may not able to be restarted or lose Fault Tolerance redundancy.
 14002  	//     - `**clusterDefault**`, service will implement
 14003  	//       cluster default.
 14004  	VmStorageProtectionForAPD string `xml:"vmStorageProtectionForAPD,omitempty" json:"vmStorageProtectionForAPD,omitempty"`
 14005  	// This property indicates if APD timeout will be enabled for all the hosts
 14006  	// in the cluster when vSphere HA is configured.
 14007  	//
 14008  	// The details of APD timeout are
 14009  	// described in `HostMountInfoInaccessibleReason_enum`.
 14010  	//
 14011  	// If `ClusterDasConfigInfo.vmComponentProtecting` is `disabled`,
 14012  	// the property will be ignored. Otherwise, for each host in the cluster,
 14013  	// APD timeout will be enabled. Note that no change will be made for a host if it
 14014  	// already had APD timeout enabled.
 14015  	//
 14016  	// This property is meaningful only for cluster setting. It is ignored if specified at VM level.
 14017  	// The default value is false if not specified.
 14018  	//
 14019  	// Note that this property is not persisted by vSphere backend. It does not impact any cluster
 14020  	// reconfiguration or host operation (such as adding a host to a cluster) that might happen later.
 14021  	EnableAPDTimeoutForHosts *bool `xml:"enableAPDTimeoutForHosts" json:"enableAPDTimeoutForHosts,omitempty"`
 14022  	// The time interval after an APD timeout has been declared and before VM Component
 14023  	// Protection service will terminate the VM.
 14024  	//
 14025  	// The value only applies if
 14026  	// `ClusterVmComponentProtectionSettings.vmStorageProtectionForAPD` is set to `restartConservative` or
 14027  	// `restartAggressive`.
 14028  	//
 14029  	// The default value is 180 seconds if not specified. To use cluster setting for a VM override,
 14030  	// set to -1 in per-VM setting.
 14031  	VmTerminateDelayForAPDSec int32 `xml:"vmTerminateDelayForAPDSec,omitempty" json:"vmTerminateDelayForAPDSec,omitempty"`
 14032  	// Action taken by VM Component Protection service for a powered on VM when APD
 14033  	// condition clears after APD timeout.
 14034  	//
 14035  	// This property is meaningful only when vSphere HA is turned on. Valid values are
 14036  	// specified by `ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared_enum`. The default value is
 14037  	// `none` for cluster setting and
 14038  	// `useClusterDefault` for per-VM setting.
 14039  	VmReactionOnAPDCleared string `xml:"vmReactionOnAPDCleared,omitempty" json:"vmReactionOnAPDCleared,omitempty"`
 14040  	// VM storage protection setting for storage failures categorized as Permenant Device
 14041  	// Loss (PDL).
 14042  	//
 14043  	// PDL indicates storage device failure or LUN removal. In case of PDL,
 14044  	// the failed datastore or device is unlikely to recover. The details of PDL are
 14045  	// described in `HostMountInfoInaccessibleReason_enum`.
 14046  	//
 14047  	// This property is meaningful only when vSphere HA is turned on. Valid values are
 14048  	// `disabled`, `warning`,
 14049  	// `restartAggressive` and `clusterDefault`.
 14050  	// The default value is `disabled` for cluster setting and
 14051  	// `clusterDefault` for per-VM setting.
 14052  	//
 14053  	// When set to `restartAggressive`, VM Component Protection service
 14054  	// will immediately terminate the VMs impacted by PDL and will attempt to restart the VMs
 14055  	// with best effort. When set to the other values, the behavior is the same as described for
 14056  	// `ClusterVmComponentProtectionSettings.vmStorageProtectionForAPD`.
 14057  	VmStorageProtectionForPDL string `xml:"vmStorageProtectionForPDL,omitempty" json:"vmStorageProtectionForPDL,omitempty"`
 14058  }
 14059  
 14060  func init() {
 14061  	t["ClusterVmComponentProtectionSettings"] = reflect.TypeOf((*ClusterVmComponentProtectionSettings)(nil)).Elem()
 14062  	minAPIVersionForType["ClusterVmComponentProtectionSettings"] = "6.0"
 14063  }
 14064  
 14065  // The `ClusterVmGroup` data object identifies virtual machines
 14066  // for VM-Host rules.
 14067  //
 14068  // VM-Host rules determine placement of virtual machines
 14069  // on hosts in a cluster.
 14070  // The logic specified in a `ClusterVmHostRuleInfo` object
 14071  // determines where virtual machines can be powered-on.
 14072  //
 14073  // If a virtual machine is removed from the cluster, it loses its DRS group
 14074  // affiliation. The Server does not restore any group affiliations if the
 14075  // virtual machine is returned to the cluster.
 14076  type ClusterVmGroup struct {
 14077  	ClusterGroupInfo
 14078  
 14079  	// List of virtual machines that are part of this group.
 14080  	//
 14081  	// A virtual machine group can contain zero or more virtual machines.
 14082  	//
 14083  	// Refers instances of `VirtualMachine`.
 14084  	Vm []ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 14085  }
 14086  
 14087  func init() {
 14088  	t["ClusterVmGroup"] = reflect.TypeOf((*ClusterVmGroup)(nil)).Elem()
 14089  	minAPIVersionForType["ClusterVmGroup"] = "4.1"
 14090  }
 14091  
 14092  // A `ClusterVmHostRuleInfo` object identifies virtual machines
 14093  // and host groups that determine virtual machine placement. The virtual
 14094  // machines and hosts referenced by a VM-Host rule must be in the same cluster.
 14095  //
 14096  // A VM-Host rule identifies the following groups.
 14097  //   - A virtual machine group (`ClusterVmGroup`).
 14098  //   - Two host groups - an affine host group and an anti-affine host group
 14099  //     (`ClusterHostGroup`).
 14100  //     At least one of the groups must contain one or more hosts.
 14101  //
 14102  // `ClusterVmHostRuleInfo` stores only the names of the relevant
 14103  // virtual machine and host groups. The group contents are stored in
 14104  // the virtual machine and host group objects.
 14105  //
 14106  // When you modify a VM-Host rule, only the fields that are specified are set.
 14107  type ClusterVmHostRuleInfo struct {
 14108  	ClusterRuleInfo
 14109  
 14110  	// Virtual group name (`ClusterVmGroup*.*ClusterGroupInfo.name`).
 14111  	//
 14112  	// The virtual group may contain one or more virtual machines.
 14113  	VmGroupName string `xml:"vmGroupName,omitempty" json:"vmGroupName,omitempty"`
 14114  	// Name of the affine host group
 14115  	// (`ClusterHostGroup*.*ClusterGroupInfo.name`).
 14116  	//
 14117  	// The affine host group identifies hosts on which
 14118  	// `ClusterVmHostRuleInfo.vmGroupName` virtual machines can be powered-on.
 14119  	// The value of the `ClusterRuleInfo.mandatory` property
 14120  	// determines how the Server interprets the rule.
 14121  	AffineHostGroupName string `xml:"affineHostGroupName,omitempty" json:"affineHostGroupName,omitempty"`
 14122  	// Name of the anti-affine host group
 14123  	// (`ClusterHostGroup*.*ClusterGroupInfo.name`).
 14124  	//
 14125  	// The anti-affine host group identifies hosts on which
 14126  	// `ClusterVmHostRuleInfo.vmGroupName` virtual machines should not
 14127  	// be powered-on.
 14128  	// The value of the `ClusterRuleInfo.mandatory` property
 14129  	// determines how the Server interprets the rule.
 14130  	AntiAffineHostGroupName string `xml:"antiAffineHostGroupName,omitempty" json:"antiAffineHostGroupName,omitempty"`
 14131  }
 14132  
 14133  func init() {
 14134  	t["ClusterVmHostRuleInfo"] = reflect.TypeOf((*ClusterVmHostRuleInfo)(nil)).Elem()
 14135  	minAPIVersionForType["ClusterVmHostRuleInfo"] = "4.1"
 14136  }
 14137  
 14138  // The `ClusterVmOrchestrationInfo` data object contains the orchestration
 14139  // configuration for a single virtual machine.
 14140  //
 14141  // This makes it possible to
 14142  // override the defaut behavior for an individual virtual machine.
 14143  type ClusterVmOrchestrationInfo struct {
 14144  	DynamicData
 14145  
 14146  	// Reference to the VM that the ready state is applied to.
 14147  	//
 14148  	// Refers instance of `VirtualMachine`.
 14149  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 14150  	// Readiness policy that apply to this virtual machine.
 14151  	//
 14152  	// Values specified in this object override the cluster-wide
 14153  	// defaults for virtual machines.
 14154  	// `ClusterOrchestrationInfo.defaultVmReadiness`
 14155  	VmReadiness ClusterVmReadiness `xml:"vmReadiness" json:"vmReadiness"`
 14156  }
 14157  
 14158  func init() {
 14159  	t["ClusterVmOrchestrationInfo"] = reflect.TypeOf((*ClusterVmOrchestrationInfo)(nil)).Elem()
 14160  	minAPIVersionForType["ClusterVmOrchestrationInfo"] = "6.5"
 14161  }
 14162  
 14163  // An incremental update to the per-VM orchestration config.
 14164  type ClusterVmOrchestrationSpec struct {
 14165  	ArrayUpdateSpec
 14166  
 14167  	Info *ClusterVmOrchestrationInfo `xml:"info,omitempty" json:"info,omitempty"`
 14168  }
 14169  
 14170  func init() {
 14171  	t["ClusterVmOrchestrationSpec"] = reflect.TypeOf((*ClusterVmOrchestrationSpec)(nil)).Elem()
 14172  	minAPIVersionForType["ClusterVmOrchestrationSpec"] = "6.5"
 14173  }
 14174  
 14175  // VM readiness policy specifies when a VM is deemed ready.
 14176  //
 14177  // This is used in cluster VM orchestration settings. For example, vSphere HA
 14178  // restarts lower priority VMs only after higher priority VMs are ready.
 14179  type ClusterVmReadiness struct {
 14180  	DynamicData
 14181  
 14182  	// Ready condition for a virtual machine.
 14183  	//
 14184  	// See `ClusterVmReadinessReadyCondition_enum`.
 14185  	//
 14186  	// If not specified at either the cluster level or the virtual machine
 14187  	// level, this will default to `none`.
 14188  	ReadyCondition string `xml:"readyCondition,omitempty" json:"readyCondition,omitempty"`
 14189  	// Additional delay in seconds after ready condition is met.
 14190  	//
 14191  	// A VM is
 14192  	// considered ready at this point.
 14193  	//
 14194  	// If not specified in a VM override, cluster default setting is
 14195  	// used. Alternatively, set to -1 in per-VM setting to use cluster default
 14196  	// value.
 14197  	PostReadyDelay int32 `xml:"postReadyDelay,omitempty" json:"postReadyDelay,omitempty"`
 14198  }
 14199  
 14200  func init() {
 14201  	t["ClusterVmReadiness"] = reflect.TypeOf((*ClusterVmReadiness)(nil)).Elem()
 14202  	minAPIVersionForType["ClusterVmReadiness"] = "6.5"
 14203  }
 14204  
 14205  // The `ClusterVmToolsMonitoringSettings` data object contains
 14206  // virtual machine monitoring settings that are used by the Virtual Machine Health Monitoring Service.
 14207  //
 14208  // The Service checks the VMware Tools heartbeat of a virtual machine.
 14209  // If heartbeats have not been received within a specified time interval, the Service
 14210  // declares the virtual machine as failed and resets the virtual machine.
 14211  //
 14212  // These settings are applied to individual virtual machines during cluster reconfiguration
 14213  // (`ClusterDasVmConfigInfo*.*ClusterDasVmConfigInfo.dasSettings*.*ClusterDasVmSettings.vmToolsMonitoringSettings`). You can also specify them as default values
 14214  // (`ClusterDasConfigInfo*.*ClusterDasConfigInfo.defaultVmSettings`).
 14215  //
 14216  // All fields are optional. In case of a reconfiguration, fields left unset are not changed.
 14217  type ClusterVmToolsMonitoringSettings struct {
 14218  	DynamicData
 14219  
 14220  	// Deprecated as of vSphere API 4.1, use `ClusterVmToolsMonitoringSettings.vmMonitoring`.
 14221  	//
 14222  	// Flag indicating whether or not the Virtual Machine Health Monitoring
 14223  	// service is enabled.
 14224  	//
 14225  	// The Server does not use this property.
 14226  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 14227  	// Indicates the type of virtual machine monitoring.
 14228  	//
 14229  	// Specify a string value corresponding to one of the
 14230  	// following `ClusterDasConfigInfoVmMonitoringState_enum` values:
 14231  	//     - <code>vmMonitoringDisabled</code> (the default value)
 14232  	//     - <code>vmMonitoringOnly</code>
 14233  	//     - <code>vmAndAppMonitoring</code>
 14234  	//
 14235  	// The individual VMware Tools setting for virtual machine monitoring depends on
 14236  	// the HA Virtual Machine Health Monitoring Service level that is
 14237  	// defined for the cluster
 14238  	// (`ClusterDasConfigInfo*.*ClusterDasConfigInfo.vmMonitoring`).
 14239  	// The following list indicates the supported VMware Tools <code>vmMonitoring</code> values
 14240  	// according to the cluster configuration.
 14241  	//     - If the cluster configuration specifies <code>vmMonitoringDisabled</code>,
 14242  	//       the Service is disabled and the HA Service ignores the VMware Tools monitoring setting.
 14243  	//     - If the cluster configuration specifies <code>vmMonitoringOnly</code>,
 14244  	//       the Service supports <code>vmMonitoringOnly</code> or <code>vmMonitoringDisabled</code> only.
 14245  	//     - If the cluster configuration specifies <code>vmAndAppMonitoring</code>,
 14246  	//       you can use any of the `ClusterDasConfigInfoVmMonitoringState_enum` values.
 14247  	//
 14248  	// The `ClusterVmToolsMonitoringSettings.clusterSettings` value has no
 14249  	// effect on the constraint imposed by the HA Virtual Machine Health Monitoring Service
 14250  	// level that is defined for the cluster
 14251  	// (`ClusterDasConfigInfo*.*ClusterDasConfigInfo.vmMonitoring`).
 14252  	//
 14253  	// Application monitoring events are generated regardless of the
 14254  	// currently configured type of virtual machine monitoring.
 14255  	// You can use these events even if monitoring is being disabled
 14256  	// or set to <code>vmMonitoringOnly</code>.
 14257  	VmMonitoring string `xml:"vmMonitoring,omitempty" json:"vmMonitoring,omitempty" vim:"4.1"`
 14258  	// Flag indicating whether to use the cluster settings or the per VM settings.
 14259  	//
 14260  	// The default value is true.
 14261  	ClusterSettings *bool `xml:"clusterSettings" json:"clusterSettings,omitempty"`
 14262  	// If no heartbeat has been received for at least the specified number of seconds,
 14263  	// the virtual machine is declared as failed.
 14264  	//
 14265  	// The default value is 30.
 14266  	FailureInterval int32 `xml:"failureInterval,omitempty" json:"failureInterval,omitempty"`
 14267  	// The number of seconds for the virtual machine's heartbeats to stabilize
 14268  	// after the virtual machine has been powered on.
 14269  	//
 14270  	// This time should include
 14271  	// the guest operating system boot-up time. The virtual machine monitoring
 14272  	// will begin only after this period.
 14273  	//
 14274  	// The default value is 120.
 14275  	MinUpTime int32 `xml:"minUpTime,omitempty" json:"minUpTime,omitempty"`
 14276  	// Maximum number of failures and automated resets allowed during the time that
 14277  	// `ClusterVmToolsMonitoringSettings.maxFailureWindow` specifies.
 14278  	//
 14279  	// If `ClusterVmToolsMonitoringSettings.maxFailureWindow` is -1
 14280  	// (no window), this represents the absolute number of failures after which
 14281  	// automated response is stopped.
 14282  	//
 14283  	// If a virtual machine exceeds this threshold, in-depth problem analysis is
 14284  	// usually needed.
 14285  	//
 14286  	// The default value is 3.
 14287  	MaxFailures int32 `xml:"maxFailures,omitempty" json:"maxFailures,omitempty"`
 14288  	// The number of seconds for the window during which up to `ClusterVmToolsMonitoringSettings.maxFailures`
 14289  	// resets can occur before automated responses stop.
 14290  	//
 14291  	// If set to -1, no failure window is specified.
 14292  	//
 14293  	// The default value is -1.
 14294  	MaxFailureWindow int32 `xml:"maxFailureWindow,omitempty" json:"maxFailureWindow,omitempty"`
 14295  }
 14296  
 14297  func init() {
 14298  	t["ClusterVmToolsMonitoringSettings"] = reflect.TypeOf((*ClusterVmToolsMonitoringSettings)(nil)).Elem()
 14299  	minAPIVersionForType["ClusterVmToolsMonitoringSettings"] = "4.0"
 14300  }
 14301  
 14302  // The distributed virtual switch received a reconfiguration request to
 14303  // activate ipfix monitoring of the switch traffic.
 14304  //
 14305  // However, the address
 14306  // and/or the port of the ipfix collector has not been specified.
 14307  type CollectorAddressUnset struct {
 14308  	DvsFault
 14309  }
 14310  
 14311  func init() {
 14312  	t["CollectorAddressUnset"] = reflect.TypeOf((*CollectorAddressUnset)(nil)).Elem()
 14313  	minAPIVersionForType["CollectorAddressUnset"] = "5.1"
 14314  }
 14315  
 14316  type CollectorAddressUnsetFault CollectorAddressUnset
 14317  
 14318  func init() {
 14319  	t["CollectorAddressUnsetFault"] = reflect.TypeOf((*CollectorAddressUnsetFault)(nil)).Elem()
 14320  }
 14321  
 14322  type ComplianceFailure struct {
 14323  	DynamicData
 14324  
 14325  	// String uniquely identifying the failure.
 14326  	FailureType string `xml:"failureType" json:"failureType"`
 14327  	// Message which describes the compliance failures
 14328  	// message.key serves as a key to the localized
 14329  	// message catalog.
 14330  	Message LocalizableMessage `xml:"message" json:"message"`
 14331  	// Name of the Expression which generated the ComplianceFailure
 14332  	ExpressionName string `xml:"expressionName,omitempty" json:"expressionName,omitempty"`
 14333  	// If complianceStatus is non-compliant, failureValues will
 14334  	// contain values of the non-compliant fields on the host and
 14335  	// in the profile.
 14336  	FailureValues []ComplianceFailureComplianceFailureValues `xml:"failureValues,omitempty" json:"failureValues,omitempty" vim:"6.5"`
 14337  }
 14338  
 14339  func init() {
 14340  	t["ComplianceFailure"] = reflect.TypeOf((*ComplianceFailure)(nil)).Elem()
 14341  }
 14342  
 14343  type ComplianceFailureComplianceFailureValues struct {
 14344  	DynamicData
 14345  
 14346  	// Unique key to a message in the localized message catalog,
 14347  	// identifying the fields being compared.
 14348  	ComparisonIdentifier string `xml:"comparisonIdentifier" json:"comparisonIdentifier"`
 14349  	// Name of the profile instance, in case of non-singleton profiles.
 14350  	ProfileInstance string `xml:"profileInstance,omitempty" json:"profileInstance,omitempty"`
 14351  	// Value of the non-compliant field on the host.
 14352  	HostValue AnyType `xml:"hostValue,omitempty,typeattr" json:"hostValue,omitempty"`
 14353  	// Value of the non-compliant field in the profile.
 14354  	ProfileValue AnyType `xml:"profileValue,omitempty,typeattr" json:"profileValue,omitempty"`
 14355  }
 14356  
 14357  func init() {
 14358  	t["ComplianceFailureComplianceFailureValues"] = reflect.TypeOf((*ComplianceFailureComplianceFailureValues)(nil)).Elem()
 14359  }
 14360  
 14361  // This dataObject contains information about location of applyProfile
 14362  // which was responsible for generation of a particular ComplianceExpression.
 14363  type ComplianceLocator struct {
 14364  	DynamicData
 14365  
 14366  	// Exression for which the Locator corresponds to
 14367  	ExpressionName string `xml:"expressionName" json:"expressionName"`
 14368  	// Complete path to the profile/policy which was responsible for the
 14369  	// generation of the ComplianceExpression.
 14370  	//
 14371  	// \[ProfilePath + policyId\] will uniquely identify a Policy.
 14372  	ApplyPath ProfilePropertyPath `xml:"applyPath" json:"applyPath"`
 14373  }
 14374  
 14375  func init() {
 14376  	t["ComplianceLocator"] = reflect.TypeOf((*ComplianceLocator)(nil)).Elem()
 14377  	minAPIVersionForType["ComplianceLocator"] = "4.0"
 14378  }
 14379  
 14380  // DataObject contains the verifications that need to be done
 14381  // to make sure the entity is in compliance.
 14382  type ComplianceProfile struct {
 14383  	DynamicData
 14384  
 14385  	// List of expressions that make up the ComplianceChecks.
 14386  	Expression []BaseProfileExpression `xml:"expression,typeattr" json:"expression"`
 14387  	// Name of the Expression which is the root of the expression tree.
 14388  	RootExpression string `xml:"rootExpression" json:"rootExpression"`
 14389  }
 14390  
 14391  func init() {
 14392  	t["ComplianceProfile"] = reflect.TypeOf((*ComplianceProfile)(nil)).Elem()
 14393  	minAPIVersionForType["ComplianceProfile"] = "4.0"
 14394  }
 14395  
 14396  // DataObject representing the result from a ComplianceCheck
 14397  type ComplianceResult struct {
 14398  	DynamicData
 14399  
 14400  	// Profile for which the ComplianceResult applies
 14401  	//
 14402  	// Refers instance of `Profile`.
 14403  	Profile *ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
 14404  	// Indicates the compliance status of the entity.
 14405  	//
 14406  	// See @link Status
 14407  	ComplianceStatus string `xml:"complianceStatus" json:"complianceStatus"`
 14408  	// Entity on which the compliance check was carried out.
 14409  	//
 14410  	// Entity can be a Cluster, Host and so on.
 14411  	//
 14412  	// Refers instance of `ManagedEntity`.
 14413  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 14414  	// Time at which compliance check was last run on the entity
 14415  	CheckTime *time.Time `xml:"checkTime" json:"checkTime,omitempty"`
 14416  	// If complianceStatus is non-compliant, failure will
 14417  	// contain additional information about the compliance errors.
 14418  	Failure []ComplianceFailure `xml:"failure,omitempty" json:"failure,omitempty"`
 14419  }
 14420  
 14421  func init() {
 14422  	t["ComplianceResult"] = reflect.TypeOf((*ComplianceResult)(nil)).Elem()
 14423  	minAPIVersionForType["ComplianceResult"] = "4.0"
 14424  }
 14425  
 14426  // The parameters of `HostProfileManager.CompositeHostProfile_Task`.
 14427  type CompositeHostProfileRequestType struct {
 14428  	This                   ManagedObjectReference   `xml:"_this" json:"-"`
 14429  	Source                 ManagedObjectReference   `xml:"source" json:"source"`
 14430  	Targets                []ManagedObjectReference `xml:"targets,omitempty" json:"targets,omitempty"`
 14431  	ToBeMerged             *HostApplyProfile        `xml:"toBeMerged,omitempty" json:"toBeMerged,omitempty"`
 14432  	ToBeReplacedWith       *HostApplyProfile        `xml:"toBeReplacedWith,omitempty" json:"toBeReplacedWith,omitempty"`
 14433  	ToBeDeleted            *HostApplyProfile        `xml:"toBeDeleted,omitempty" json:"toBeDeleted,omitempty"`
 14434  	EnableStatusToBeCopied *HostApplyProfile        `xml:"enableStatusToBeCopied,omitempty" json:"enableStatusToBeCopied,omitempty"`
 14435  }
 14436  
 14437  func init() {
 14438  	t["CompositeHostProfileRequestType"] = reflect.TypeOf((*CompositeHostProfileRequestType)(nil)).Elem()
 14439  }
 14440  
 14441  type CompositeHostProfile_Task CompositeHostProfileRequestType
 14442  
 14443  func init() {
 14444  	t["CompositeHostProfile_Task"] = reflect.TypeOf((*CompositeHostProfile_Task)(nil)).Elem()
 14445  }
 14446  
 14447  type CompositeHostProfile_TaskResponse struct {
 14448  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 14449  }
 14450  
 14451  // DataObject represents a composite Policy that is created by the user
 14452  // using different PolicyOptions.
 14453  //
 14454  // The options set in the CompositePolicyOption
 14455  // should be derived from the possible options as indicated by the
 14456  // CompositePolicyOptionMetadata.
 14457  type CompositePolicyOption struct {
 14458  	PolicyOption
 14459  
 14460  	// List of policy options that are composed and applicable for
 14461  	// this composite policy option.
 14462  	//
 14463  	// The selected PolicyOptions in a CompositePolicyOption will be used in the
 14464  	// policy. PolicyOptions need not be specified if they are not desired for
 14465  	// the CompositePolicyOption.
 14466  	// Order of PolicyOptions in the PolicyOption array is not significant.
 14467  	// The host profile policy engine will not respect order of PolicyOptions.
 14468  	// It will apply PolicyOptions in a pre-determined order.
 14469  	// Clients of the API must produce PolicyOption in the same order as specified
 14470  	// in the metadata.
 14471  	Option []BasePolicyOption `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 14472  }
 14473  
 14474  func init() {
 14475  	t["CompositePolicyOption"] = reflect.TypeOf((*CompositePolicyOption)(nil)).Elem()
 14476  	minAPIVersionForType["CompositePolicyOption"] = "4.0"
 14477  }
 14478  
 14479  type ComputeDiskPartitionInfo ComputeDiskPartitionInfoRequestType
 14480  
 14481  func init() {
 14482  	t["ComputeDiskPartitionInfo"] = reflect.TypeOf((*ComputeDiskPartitionInfo)(nil)).Elem()
 14483  }
 14484  
 14485  type ComputeDiskPartitionInfoForResize ComputeDiskPartitionInfoForResizeRequestType
 14486  
 14487  func init() {
 14488  	t["ComputeDiskPartitionInfoForResize"] = reflect.TypeOf((*ComputeDiskPartitionInfoForResize)(nil)).Elem()
 14489  }
 14490  
 14491  // The parameters of `HostStorageSystem.ComputeDiskPartitionInfoForResize`.
 14492  type ComputeDiskPartitionInfoForResizeRequestType struct {
 14493  	This ManagedObjectReference `xml:"_this" json:"-"`
 14494  	// The disk partition to resize.
 14495  	Partition HostScsiDiskPartition `xml:"partition" json:"partition"`
 14496  	// Specifies the desired block range for the resized
 14497  	// partition. The start of the block range specified should match
 14498  	// that of the current partition.
 14499  	BlockRange HostDiskPartitionBlockRange `xml:"blockRange" json:"blockRange"`
 14500  	// Specifies the desired partition format to be
 14501  	// computed from the block range.
 14502  	// If partitionFormat is not specified, the existing partitionFormat
 14503  	// on disk is used, if the disk is not blank and mbr otherwise.
 14504  	PartitionFormat string `xml:"partitionFormat,omitempty" json:"partitionFormat,omitempty" vim:"5.0"`
 14505  }
 14506  
 14507  func init() {
 14508  	t["ComputeDiskPartitionInfoForResizeRequestType"] = reflect.TypeOf((*ComputeDiskPartitionInfoForResizeRequestType)(nil)).Elem()
 14509  }
 14510  
 14511  type ComputeDiskPartitionInfoForResizeResponse struct {
 14512  	Returnval HostDiskPartitionInfo `xml:"returnval" json:"returnval"`
 14513  }
 14514  
 14515  // The parameters of `HostStorageSystem.ComputeDiskPartitionInfo`.
 14516  type ComputeDiskPartitionInfoRequestType struct {
 14517  	This ManagedObjectReference `xml:"_this" json:"-"`
 14518  	// The name of the device path for the specific disk.
 14519  	DevicePath string `xml:"devicePath" json:"devicePath"`
 14520  	// A data object that describes the disk partition layout.
 14521  	Layout HostDiskPartitionLayout `xml:"layout" json:"layout"`
 14522  	// Specifies the desired partition format to be
 14523  	// computed from the block range.
 14524  	// If partitionFormat is not specified, the existing partitionFormat
 14525  	// on disk is used, if the disk is not blank and mbr otherwise.
 14526  	PartitionFormat string `xml:"partitionFormat,omitempty" json:"partitionFormat,omitempty" vim:"5.0"`
 14527  }
 14528  
 14529  func init() {
 14530  	t["ComputeDiskPartitionInfoRequestType"] = reflect.TypeOf((*ComputeDiskPartitionInfoRequestType)(nil)).Elem()
 14531  }
 14532  
 14533  type ComputeDiskPartitionInfoResponse struct {
 14534  	Returnval HostDiskPartitionInfo `xml:"returnval" json:"returnval"`
 14535  }
 14536  
 14537  // Configuration of the compute resource; applies to both standalone hosts
 14538  // and clusters.
 14539  type ComputeResourceConfigInfo struct {
 14540  	DynamicData
 14541  
 14542  	// Swapfile placement policy for virtual machines within this compute
 14543  	// resource.
 14544  	//
 14545  	// Any policy except for "inherit" is a valid value for this
 14546  	// property; the default is "vmDirectory". This setting will be honored
 14547  	// for each virtual machine within the compute resource for which the
 14548  	// following is true:
 14549  	//     - The virtual machine is executing on a host that has the
 14550  	//       `perVmSwapFiles` capability.
 14551  	//     - The virtual machine configuration's
 14552  	//       `swapPlacement` property is set
 14553  	//       to "inherit".
 14554  	//
 14555  	// See also `VirtualMachineConfigInfoSwapPlacementType_enum`.
 14556  	VmSwapPlacement string `xml:"vmSwapPlacement" json:"vmSwapPlacement"`
 14557  	// Flag indicating whether or not the SPBM(Storage Policy Based Management)
 14558  	// feature is enabled on this compute resource
 14559  	SpbmEnabled *bool `xml:"spbmEnabled" json:"spbmEnabled,omitempty" vim:"5.0"`
 14560  	// Key for Default Hardware Version used on this compute resource
 14561  	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
 14562  	//
 14563  	// This field affects
 14564  	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
 14565  	// by `ComputeResource.environmentBrowser` of this object and all its children
 14566  	// with this field unset.
 14567  	DefaultHardwareVersionKey string `xml:"defaultHardwareVersionKey,omitempty" json:"defaultHardwareVersionKey,omitempty" vim:"5.1"`
 14568  	// Key for Maximum Hardware Version used on this compute resource
 14569  	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
 14570  	//
 14571  	// This field affects
 14572  	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
 14573  	// by `ComputeResource.environmentBrowser` of this object and all its children
 14574  	// with this field unset.
 14575  	MaximumHardwareVersionKey string `xml:"maximumHardwareVersionKey,omitempty" json:"maximumHardwareVersionKey,omitempty" vim:"7.0.2.0"`
 14576  }
 14577  
 14578  func init() {
 14579  	t["ComputeResourceConfigInfo"] = reflect.TypeOf((*ComputeResourceConfigInfo)(nil)).Elem()
 14580  	minAPIVersionForType["ComputeResourceConfigInfo"] = "2.5"
 14581  }
 14582  
 14583  // Changes to apply to the compute resource configuration.
 14584  type ComputeResourceConfigSpec struct {
 14585  	DynamicData
 14586  
 14587  	// New setting for the swapfile placement policy.
 14588  	//
 14589  	// Any change to this
 14590  	// policy will affect virtual machines that subsequently power on or
 14591  	// resume from a suspended state in this compute resource, or that
 14592  	// migrate to a host in this compute resource while powered on; virtual
 14593  	// machines that are currently powered on in this compute resource will
 14594  	// not yet be affected.
 14595  	//
 14596  	// See also `VirtualMachineConfigInfoSwapPlacementType_enum`.
 14597  	VmSwapPlacement string `xml:"vmSwapPlacement,omitempty" json:"vmSwapPlacement,omitempty"`
 14598  	// Flag indicating whether or not the SPBM(Storage Policy Based Management)
 14599  	// feature is enabled on this compute resource
 14600  	SpbmEnabled *bool `xml:"spbmEnabled" json:"spbmEnabled,omitempty" vim:"5.0"`
 14601  	// Key for Default Hardware Version to be used on this compute resource
 14602  	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
 14603  	//
 14604  	// Setting this field affects
 14605  	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
 14606  	// by `ComputeResource.environmentBrowser` of this object and all its children
 14607  	// with this field unset.
 14608  	DefaultHardwareVersionKey string `xml:"defaultHardwareVersionKey,omitempty" json:"defaultHardwareVersionKey,omitempty" vim:"5.1"`
 14609  	// Desired software spec for the set of physical compute resources.
 14610  	//
 14611  	// This
 14612  	// parameter is only supported in vim.Folder#createClusterEx operation.
 14613  	DesiredSoftwareSpec *DesiredSoftwareSpec `xml:"desiredSoftwareSpec,omitempty" json:"desiredSoftwareSpec,omitempty" vim:"7.0"`
 14614  	// Key for Maximum Hardware Version to be used on this compute resource
 14615  	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
 14616  	//
 14617  	// Setting this field affects
 14618  	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
 14619  	// by `ComputeResource.environmentBrowser` of this object and all its children
 14620  	// with this field unset.
 14621  	MaximumHardwareVersionKey string `xml:"maximumHardwareVersionKey,omitempty" json:"maximumHardwareVersionKey,omitempty" vim:"7.0.2.0"`
 14622  	// Flag indicating whether or not the vLCM (vSphere Lifecycle Manager)
 14623  	// Config Manager feature is enabled on this compute resource.
 14624  	//
 14625  	// If the
 14626  	// flag is not set, the Config Manager feature will be disabled by
 14627  	// default. This parameter is only supported in `Folder.CreateClusterEx`
 14628  	// operation.
 14629  	EnableConfigManager *bool `xml:"enableConfigManager" json:"enableConfigManager,omitempty" vim:"7.0.3.1"`
 14630  }
 14631  
 14632  func init() {
 14633  	t["ComputeResourceConfigSpec"] = reflect.TypeOf((*ComputeResourceConfigSpec)(nil)).Elem()
 14634  	minAPIVersionForType["ComputeResourceConfigSpec"] = "2.5"
 14635  }
 14636  
 14637  // The event argument is a ComputeResource object.
 14638  type ComputeResourceEventArgument struct {
 14639  	EntityEventArgument
 14640  
 14641  	// The ComputeResource object.
 14642  	//
 14643  	// Refers instance of `ComputeResource`.
 14644  	ComputeResource ManagedObjectReference `xml:"computeResource" json:"computeResource"`
 14645  }
 14646  
 14647  func init() {
 14648  	t["ComputeResourceEventArgument"] = reflect.TypeOf((*ComputeResourceEventArgument)(nil)).Elem()
 14649  }
 14650  
 14651  // The `ComputeResourceHostSPBMLicenseInfo` data object
 14652  // encapsulates the SPBM(Storage Policy Based Management) license
 14653  // information for a host.
 14654  type ComputeResourceHostSPBMLicenseInfo struct {
 14655  	DynamicData
 14656  
 14657  	Host         ManagedObjectReference                                 `xml:"host" json:"host"`
 14658  	LicenseState ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState `xml:"licenseState" json:"licenseState"`
 14659  }
 14660  
 14661  func init() {
 14662  	t["ComputeResourceHostSPBMLicenseInfo"] = reflect.TypeOf((*ComputeResourceHostSPBMLicenseInfo)(nil)).Elem()
 14663  	minAPIVersionForType["ComputeResourceHostSPBMLicenseInfo"] = "5.0"
 14664  }
 14665  
 14666  // This data object contains a specification for a single candidate host
 14667  // for the host seeding operation.
 14668  //
 14669  // If the candidate host is:
 14670  // \- A new host not managed by vCenter Server: A `HostConnectSpec`
 14671  // needs to be provided.
 14672  // \- A host managed by vCenter Server: A `HostSystem`
 14673  // needs to be provided.
 14674  type ComputeResourceHostSeedSpecSingleHostSpec struct {
 14675  	DynamicData
 14676  
 14677  	// Connection Spec for a new host.
 14678  	NewHostCnxSpec *HostConnectSpec `xml:"newHostCnxSpec,omitempty" json:"newHostCnxSpec,omitempty"`
 14679  	// Reference to an existing host.
 14680  	//
 14681  	// Refers instance of `HostSystem`.
 14682  	ExistingHost *ManagedObjectReference `xml:"existingHost,omitempty" json:"existingHost,omitempty"`
 14683  }
 14684  
 14685  func init() {
 14686  	t["ComputeResourceHostSeedSpecSingleHostSpec"] = reflect.TypeOf((*ComputeResourceHostSeedSpecSingleHostSpec)(nil)).Elem()
 14687  }
 14688  
 14689  // This data object type encapsulates a typical set of ComputeResource information
 14690  // that is useful for list views and summary pages.
 14691  type ComputeResourceSummary struct {
 14692  	DynamicData
 14693  
 14694  	// Aggregated CPU resources of all hosts, in MHz.
 14695  	TotalCpu int32 `xml:"totalCpu" json:"totalCpu"`
 14696  	// Aggregated memory resources of all hosts, in bytes.
 14697  	TotalMemory int64 `xml:"totalMemory" json:"totalMemory"`
 14698  	// Number of physical CPU cores.
 14699  	//
 14700  	// Physical CPU cores are the processors contained
 14701  	// by a CPU package.
 14702  	NumCpuCores int16 `xml:"numCpuCores" json:"numCpuCores"`
 14703  	// Aggregated number of CPU threads.
 14704  	NumCpuThreads int16 `xml:"numCpuThreads" json:"numCpuThreads"`
 14705  	// Effective CPU resources (in MHz) available to run virtual machines.
 14706  	//
 14707  	// This is the
 14708  	// aggregated effective resource level from all running hosts. Hosts that are in
 14709  	// maintenance mode or are unresponsive are not counted. Resources used by the
 14710  	// VMware Service Console are not included in the aggregate. This value represents
 14711  	// the amount of resources available for the root resource pool for running
 14712  	// virtual machines.
 14713  	EffectiveCpu int32 `xml:"effectiveCpu" json:"effectiveCpu"`
 14714  	// Effective memory resources (in MB) available to run virtual machines.
 14715  	//
 14716  	// This is the aggregated effective resource level from all running hosts. Hosts
 14717  	// that are in maintenance mode or are unresponsive are not counted.
 14718  	// Resources used by the VMware Service Console are not included in the aggregate.
 14719  	// This value represents the amount of resources available for the root
 14720  	// resource pool for running virtual machines.
 14721  	EffectiveMemory int64 `xml:"effectiveMemory" json:"effectiveMemory"`
 14722  	// Total number of hosts.
 14723  	NumHosts int32 `xml:"numHosts" json:"numHosts"`
 14724  	// Total number of effective hosts.
 14725  	NumEffectiveHosts int32 `xml:"numEffectiveHosts" json:"numEffectiveHosts"`
 14726  	// Overall alarm status.
 14727  	//
 14728  	// In releases after vSphere API 5.0, vSphere Servers might not
 14729  	// generate property collector update notifications for this property.
 14730  	// To obtain the latest value of the property, you can use
 14731  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 14732  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 14733  	// an empty string for the version parameter.
 14734  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 14735  	// contain values for this property when some other property on the DataObject changes.
 14736  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 14737  	// version parameter, the value for this property may not be current.
 14738  	OverallStatus ManagedEntityStatus `xml:"overallStatus" json:"overallStatus"`
 14739  }
 14740  
 14741  func init() {
 14742  	t["ComputeResourceSummary"] = reflect.TypeOf((*ComputeResourceSummary)(nil)).Elem()
 14743  }
 14744  
 14745  // A ConcurrentAccess fault is thrown when an operation
 14746  // fails because another operation has modified the
 14747  // datastructure.
 14748  //
 14749  // For non-transactional operations, such as a recursive
 14750  // delete of a subtree of the inventory, the operation might
 14751  // fail with ConcurrentAccess if another thread has added
 14752  // a new entity to the hierarchy.
 14753  type ConcurrentAccess struct {
 14754  	VimFault
 14755  }
 14756  
 14757  func init() {
 14758  	t["ConcurrentAccess"] = reflect.TypeOf((*ConcurrentAccess)(nil)).Elem()
 14759  }
 14760  
 14761  type ConcurrentAccessFault ConcurrentAccess
 14762  
 14763  func init() {
 14764  	t["ConcurrentAccessFault"] = reflect.TypeOf((*ConcurrentAccessFault)(nil)).Elem()
 14765  }
 14766  
 14767  // The ConfigTarget class contains information about "physical" devices that can
 14768  // be used to back virtual devices.
 14769  type ConfigTarget struct {
 14770  	DynamicData
 14771  
 14772  	// Number of logical CPUs that can be used to run virtual machines.
 14773  	//
 14774  	// If invoked against a cluster, this is the total number of logical CPUs
 14775  	// available in the cluster.
 14776  	NumCpus int32 `xml:"numCpus" json:"numCpus"`
 14777  	// Number of physical CPU cores that are available to run virtual machines.
 14778  	//
 14779  	// If invoked against a cluster, this is the total number of physical CPUs
 14780  	// available in the cluster.
 14781  	NumCpuCores int32 `xml:"numCpuCores" json:"numCpuCores"`
 14782  	// Number of NUMA nodes.
 14783  	//
 14784  	// If invoked against a cluster, this is the total number of NUMA nodes
 14785  	// available in the cluster.
 14786  	NumNumaNodes int32 `xml:"numNumaNodes" json:"numNumaNodes"`
 14787  	// Maximum number of CPUs available on a single host.
 14788  	//
 14789  	// For standalone hosts, this value will be the same as numCpus.
 14790  	MaxCpusPerHost int32 `xml:"maxCpusPerHost,omitempty" json:"maxCpusPerHost,omitempty" vim:"7.0"`
 14791  	// Presence of System Management Controller, indicates the host is
 14792  	// Apple hardware, and thus capable of running Mac OS guest as VM.
 14793  	SmcPresent *bool `xml:"smcPresent" json:"smcPresent,omitempty" vim:"5.0"`
 14794  	// List of datastores available for virtual disks and associated storage.
 14795  	Datastore []VirtualMachineDatastoreInfo `xml:"datastore,omitempty" json:"datastore,omitempty"`
 14796  	// List of networks available for virtual network adapters.
 14797  	Network []VirtualMachineNetworkInfo `xml:"network,omitempty" json:"network,omitempty"`
 14798  	// List of opaque networks available for virtual network adapters.
 14799  	OpaqueNetwork []OpaqueNetworkTargetInfo `xml:"opaqueNetwork,omitempty" json:"opaqueNetwork,omitempty" vim:"5.5"`
 14800  	// List of networks available from DistributedVirtualSwitch for virtual
 14801  	// network adapters.
 14802  	DistributedVirtualPortgroup []DistributedVirtualPortgroupInfo `xml:"distributedVirtualPortgroup,omitempty" json:"distributedVirtualPortgroup,omitempty" vim:"4.0"`
 14803  	// List of distributed virtual switch available for virtual network
 14804  	// adapters.
 14805  	DistributedVirtualSwitch []DistributedVirtualSwitchInfo `xml:"distributedVirtualSwitch,omitempty" json:"distributedVirtualSwitch,omitempty" vim:"4.0"`
 14806  	// List of CD-ROM devices available for use by virtual CD-ROMs.
 14807  	//
 14808  	// Used for
 14809  	// `VirtualCdromAtapiBackingInfo`.
 14810  	CdRom []VirtualMachineCdromInfo `xml:"cdRom,omitempty" json:"cdRom,omitempty"`
 14811  	// List of serial devices available to support virtualization.
 14812  	//
 14813  	// Used for
 14814  	// `VirtualSerialPortDeviceBackingInfo`.
 14815  	Serial []VirtualMachineSerialInfo `xml:"serial,omitempty" json:"serial,omitempty"`
 14816  	// List of parallel devices available to support virtualization.
 14817  	//
 14818  	// Used for
 14819  	// `VirtualParallelPortDeviceBackingInfo`.
 14820  	Parallel []VirtualMachineParallelInfo `xml:"parallel,omitempty" json:"parallel,omitempty"`
 14821  	// List of sound devices available to support virtualization.
 14822  	//
 14823  	// Used for
 14824  	// `VirtualSoundCardDeviceBackingInfo`.
 14825  	Sound []VirtualMachineSoundInfo `xml:"sound,omitempty" json:"sound,omitempty" vim:"2.5"`
 14826  	// List of USB devices on the host that are available to support
 14827  	// virtualization.
 14828  	//
 14829  	// Used for
 14830  	// `VirtualUSBUSBBackingInfo`.
 14831  	Usb []VirtualMachineUsbInfo `xml:"usb,omitempty" json:"usb,omitempty" vim:"2.5"`
 14832  	// List of floppy devices available for use by virtual floppies.
 14833  	//
 14834  	// Used for
 14835  	// `VirtualFloppyDeviceBackingInfo`.
 14836  	Floppy []VirtualMachineFloppyInfo `xml:"floppy,omitempty" json:"floppy,omitempty"`
 14837  	// Legacy switch names when using the LegacyNetworkBacking types.
 14838  	LegacyNetworkInfo []VirtualMachineLegacyNetworkSwitchInfo `xml:"legacyNetworkInfo,omitempty" json:"legacyNetworkInfo,omitempty"`
 14839  	// List of generic SCSI devices.
 14840  	ScsiPassthrough []VirtualMachineScsiPassthroughInfo `xml:"scsiPassthrough,omitempty" json:"scsiPassthrough,omitempty"`
 14841  	// List of physical SCSI disks that can be used as targets for raw disk mapping
 14842  	// backings.
 14843  	ScsiDisk []VirtualMachineScsiDiskDeviceInfo `xml:"scsiDisk,omitempty" json:"scsiDisk,omitempty"`
 14844  	// List of physical IDE disks that can be used as targets for raw disk backings.
 14845  	IdeDisk []VirtualMachineIdeDiskDeviceInfo `xml:"ideDisk,omitempty" json:"ideDisk,omitempty"`
 14846  	// Maximum recommended memory size, in MB, for creating a new virtual machine.
 14847  	MaxMemMBOptimalPerf int32 `xml:"maxMemMBOptimalPerf" json:"maxMemMBOptimalPerf"`
 14848  	// Maximum supported memory size, in MB, for creating a new virtual machine.
 14849  	//
 14850  	// Maximum allowed size is smaller of this and limit in
 14851  	// `GuestOsDescriptor.supportedMaxMemMB`. When invoked on the
 14852  	// cluster, maximum size that can be created on at least one host
 14853  	// in the cluster is reported.
 14854  	SupportedMaxMemMB int32 `xml:"supportedMaxMemMB,omitempty" json:"supportedMaxMemMB,omitempty" vim:"7.0"`
 14855  	// Information about the current available resources on the current resource pool
 14856  	// for a virtual machine.
 14857  	//
 14858  	// This field is only populated from an Environment browser
 14859  	// obtained from a virtual machine.
 14860  	ResourcePool *ResourcePoolRuntimeInfo `xml:"resourcePool,omitempty" json:"resourcePool,omitempty"`
 14861  	// Information whether a virtual machine with this ConfigTarget can auto vmotion.
 14862  	//
 14863  	// This field is only populated from an Environment browser obtained from a
 14864  	// virtual machine.
 14865  	AutoVmotion *bool `xml:"autoVmotion" json:"autoVmotion,omitempty"`
 14866  	// List of generic PCI devices.
 14867  	PciPassthrough []BaseVirtualMachinePciPassthroughInfo `xml:"pciPassthrough,omitempty,typeattr" json:"pciPassthrough,omitempty" vim:"4.0"`
 14868  	// List of SRIOV devices.
 14869  	Sriov []VirtualMachineSriovInfo `xml:"sriov,omitempty" json:"sriov,omitempty" vim:"5.5"`
 14870  	// List of vFlash modules.
 14871  	VFlashModule []VirtualMachineVFlashModuleInfo `xml:"vFlashModule,omitempty" json:"vFlashModule,omitempty" vim:"5.5"`
 14872  	// List of shared GPU passthrough types.
 14873  	SharedGpuPassthroughTypes []VirtualMachinePciSharedGpuPassthroughInfo `xml:"sharedGpuPassthroughTypes,omitempty" json:"sharedGpuPassthroughTypes,omitempty" vim:"6.0"`
 14874  	// Maximum available persistent memory reservation on a compute resource
 14875  	// in MB.
 14876  	AvailablePersistentMemoryReservationMB int64 `xml:"availablePersistentMemoryReservationMB,omitempty" json:"availablePersistentMemoryReservationMB,omitempty" vim:"6.7"`
 14877  	// List of Dynamic DirectPath PCI devices.
 14878  	DynamicPassthrough []VirtualMachineDynamicPassthroughInfo `xml:"dynamicPassthrough,omitempty" json:"dynamicPassthrough,omitempty" vim:"7.0"`
 14879  	// Intel SGX information.
 14880  	SgxTargetInfo *VirtualMachineSgxTargetInfo `xml:"sgxTargetInfo,omitempty" json:"sgxTargetInfo,omitempty" vim:"7.0"`
 14881  	// List of host clock resources available to support virtual precision
 14882  	// clock device.
 14883  	//
 14884  	// Used for
 14885  	// `VirtualPrecisionClockSystemClockBackingInfo`
 14886  	PrecisionClockInfo []VirtualMachinePrecisionClockInfo `xml:"precisionClockInfo,omitempty" json:"precisionClockInfo,omitempty" vim:"7.0"`
 14887  	// Indicates whether the compute resource is capable of running AMD Secure
 14888  	// Encrypted Virtualization (SEV) enabled virtual machines.
 14889  	//
 14890  	// The compute
 14891  	// resource supports SEV when this value is set to true.
 14892  	SevSupported *bool `xml:"sevSupported" json:"sevSupported,omitempty" vim:"7.0.1.0"`
 14893  	// List of vGPU device capabilities.
 14894  	VgpuDeviceInfo []VirtualMachineVgpuDeviceInfo `xml:"vgpuDeviceInfo,omitempty" json:"vgpuDeviceInfo,omitempty" vim:"7.0.3.0"`
 14895  	// List of vGPU profile attributes.
 14896  	VgpuProfileInfo []VirtualMachineVgpuProfileInfo `xml:"vgpuProfileInfo,omitempty" json:"vgpuProfileInfo,omitempty" vim:"7.0.3.0"`
 14897  	// List of PCI Vendor Device Groups.
 14898  	VendorDeviceGroupInfo []VirtualMachineVendorDeviceGroupInfo `xml:"vendorDeviceGroupInfo,omitempty" json:"vendorDeviceGroupInfo,omitempty" vim:"8.0.0.1"`
 14899  	// Max SMT (Simultaneous multithreading) threads.
 14900  	MaxSimultaneousThreads int32 `xml:"maxSimultaneousThreads,omitempty" json:"maxSimultaneousThreads,omitempty" vim:"8.0.0.1"`
 14901  	// List of Device Virtualization Extensions (DVX) classes.
 14902  	DvxClassInfo []VirtualMachineDvxClassInfo `xml:"dvxClassInfo,omitempty" json:"dvxClassInfo,omitempty" vim:"8.0.0.1"`
 14903  }
 14904  
 14905  func init() {
 14906  	t["ConfigTarget"] = reflect.TypeOf((*ConfigTarget)(nil)).Elem()
 14907  }
 14908  
 14909  type ConfigureCryptoKey ConfigureCryptoKeyRequestType
 14910  
 14911  func init() {
 14912  	t["ConfigureCryptoKey"] = reflect.TypeOf((*ConfigureCryptoKey)(nil)).Elem()
 14913  }
 14914  
 14915  // The parameters of `HostSystem.ConfigureCryptoKey`.
 14916  type ConfigureCryptoKeyRequestType struct {
 14917  	This ManagedObjectReference `xml:"_this" json:"-"`
 14918  	// The key to be used for coredump encryption. If unset, uses
 14919  	// existing host or cluster key or new key is generated from
 14920  	// the default KMIP server.
 14921  	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty"`
 14922  }
 14923  
 14924  func init() {
 14925  	t["ConfigureCryptoKeyRequestType"] = reflect.TypeOf((*ConfigureCryptoKeyRequestType)(nil)).Elem()
 14926  }
 14927  
 14928  type ConfigureCryptoKeyResponse struct {
 14929  }
 14930  
 14931  // The parameters of `StorageResourceManager.ConfigureDatastoreIORM_Task`.
 14932  type ConfigureDatastoreIORMRequestType struct {
 14933  	This ManagedObjectReference `xml:"_this" json:"-"`
 14934  	// The datastore to be configured.
 14935  	//
 14936  	// Refers instance of `Datastore`.
 14937  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 14938  	// The configuration spec.
 14939  	Spec StorageIORMConfigSpec `xml:"spec" json:"spec"`
 14940  }
 14941  
 14942  func init() {
 14943  	t["ConfigureDatastoreIORMRequestType"] = reflect.TypeOf((*ConfigureDatastoreIORMRequestType)(nil)).Elem()
 14944  }
 14945  
 14946  type ConfigureDatastoreIORM_Task ConfigureDatastoreIORMRequestType
 14947  
 14948  func init() {
 14949  	t["ConfigureDatastoreIORM_Task"] = reflect.TypeOf((*ConfigureDatastoreIORM_Task)(nil)).Elem()
 14950  }
 14951  
 14952  type ConfigureDatastoreIORM_TaskResponse struct {
 14953  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 14954  }
 14955  
 14956  type ConfigureDatastorePrincipal ConfigureDatastorePrincipalRequestType
 14957  
 14958  func init() {
 14959  	t["ConfigureDatastorePrincipal"] = reflect.TypeOf((*ConfigureDatastorePrincipal)(nil)).Elem()
 14960  }
 14961  
 14962  // The parameters of `HostDatastoreSystem.ConfigureDatastorePrincipal`.
 14963  type ConfigureDatastorePrincipalRequestType struct {
 14964  	This ManagedObjectReference `xml:"_this" json:"-"`
 14965  	// Datastore principal user name.
 14966  	UserName string `xml:"userName" json:"userName"`
 14967  	// Optional password for systems that require password for
 14968  	// user impersonation.
 14969  	Password string `xml:"password,omitempty" json:"password,omitempty"`
 14970  }
 14971  
 14972  func init() {
 14973  	t["ConfigureDatastorePrincipalRequestType"] = reflect.TypeOf((*ConfigureDatastorePrincipalRequestType)(nil)).Elem()
 14974  }
 14975  
 14976  type ConfigureDatastorePrincipalResponse struct {
 14977  }
 14978  
 14979  // The parameters of `ClusterEVCManager.ConfigureEvcMode_Task`.
 14980  type ConfigureEvcModeRequestType struct {
 14981  	This ManagedObjectReference `xml:"_this" json:"-"`
 14982  	// A key referencing the desired EVC mode.
 14983  	EvcModeKey string `xml:"evcModeKey" json:"evcModeKey"`
 14984  	// A key referencing the desired EVC Graphics
 14985  	// mode `Capability.supportedEVCGraphicsMode`.
 14986  	EvcGraphicsModeKey string `xml:"evcGraphicsModeKey,omitempty" json:"evcGraphicsModeKey,omitempty" vim:"7.0.1.0"`
 14987  }
 14988  
 14989  func init() {
 14990  	t["ConfigureEvcModeRequestType"] = reflect.TypeOf((*ConfigureEvcModeRequestType)(nil)).Elem()
 14991  }
 14992  
 14993  type ConfigureEvcMode_Task ConfigureEvcModeRequestType
 14994  
 14995  func init() {
 14996  	t["ConfigureEvcMode_Task"] = reflect.TypeOf((*ConfigureEvcMode_Task)(nil)).Elem()
 14997  }
 14998  
 14999  type ConfigureEvcMode_TaskResponse struct {
 15000  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15001  }
 15002  
 15003  // The parameters of `ClusterComputeResource.ConfigureHCI_Task`.
 15004  type ConfigureHCIRequestType struct {
 15005  	This ManagedObjectReference `xml:"_this" json:"-"`
 15006  	// Specification to configure the cluster,
 15007  	// see `ClusterComputeResourceHCIConfigSpec`
 15008  	// for details. The `DistributedVirtualSwitch` and
 15009  	// `DistributedVirtualPortgroup` objects contained
 15010  	// within the specification must be in the same datacenter as the
 15011  	// cluster. Specify `ClusterComputeResourceHCIConfigSpec.vSanConfigSpec` only when
 15012  	// vSan is enabled on the cluster.
 15013  	ClusterSpec ClusterComputeResourceHCIConfigSpec `xml:"clusterSpec" json:"clusterSpec"`
 15014  	// Inputs to configure each host in the cluster,
 15015  	// see `ClusterComputeResourceHostConfigurationInput`
 15016  	// for details. Hosts in this list should be part of the cluster and
 15017  	// should be in maintenance mode for them to be configured per
 15018  	// specification. If this parameter is not specified, the API
 15019  	// operates on all the hosts in the cluster. Hosts which were not
 15020  	// configured due to not being in maintenance
 15021  	// mode will be returned in `ClusterComputeResourceClusterConfigResult.failedHosts`.
 15022  	HostInputs []ClusterComputeResourceHostConfigurationInput `xml:"hostInputs,omitempty" json:"hostInputs,omitempty"`
 15023  }
 15024  
 15025  func init() {
 15026  	t["ConfigureHCIRequestType"] = reflect.TypeOf((*ConfigureHCIRequestType)(nil)).Elem()
 15027  }
 15028  
 15029  type ConfigureHCI_Task ConfigureHCIRequestType
 15030  
 15031  func init() {
 15032  	t["ConfigureHCI_Task"] = reflect.TypeOf((*ConfigureHCI_Task)(nil)).Elem()
 15033  }
 15034  
 15035  type ConfigureHCI_TaskResponse struct {
 15036  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15037  }
 15038  
 15039  // The parameters of `HostCacheConfigurationManager.ConfigureHostCache_Task`.
 15040  type ConfigureHostCacheRequestType struct {
 15041  	This ManagedObjectReference `xml:"_this" json:"-"`
 15042  	// Specification for solid state drive cache configuration.
 15043  	Spec HostCacheConfigurationSpec `xml:"spec" json:"spec"`
 15044  }
 15045  
 15046  func init() {
 15047  	t["ConfigureHostCacheRequestType"] = reflect.TypeOf((*ConfigureHostCacheRequestType)(nil)).Elem()
 15048  }
 15049  
 15050  type ConfigureHostCache_Task ConfigureHostCacheRequestType
 15051  
 15052  func init() {
 15053  	t["ConfigureHostCache_Task"] = reflect.TypeOf((*ConfigureHostCache_Task)(nil)).Elem()
 15054  }
 15055  
 15056  type ConfigureHostCache_TaskResponse struct {
 15057  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15058  }
 15059  
 15060  type ConfigureLicenseSource ConfigureLicenseSourceRequestType
 15061  
 15062  func init() {
 15063  	t["ConfigureLicenseSource"] = reflect.TypeOf((*ConfigureLicenseSource)(nil)).Elem()
 15064  }
 15065  
 15066  // The parameters of `LicenseManager.ConfigureLicenseSource`.
 15067  type ConfigureLicenseSourceRequestType struct {
 15068  	This ManagedObjectReference `xml:"_this" json:"-"`
 15069  	// Host for which the license manager should be reconfigured.
 15070  	//
 15071  	// Refers instance of `HostSystem`.
 15072  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 15073  	// ServedSource or LocalSource.
 15074  	LicenseSource BaseLicenseSource `xml:"licenseSource,typeattr" json:"licenseSource"`
 15075  }
 15076  
 15077  func init() {
 15078  	t["ConfigureLicenseSourceRequestType"] = reflect.TypeOf((*ConfigureLicenseSourceRequestType)(nil)).Elem()
 15079  }
 15080  
 15081  type ConfigureLicenseSourceResponse struct {
 15082  }
 15083  
 15084  type ConfigurePowerPolicy ConfigurePowerPolicyRequestType
 15085  
 15086  func init() {
 15087  	t["ConfigurePowerPolicy"] = reflect.TypeOf((*ConfigurePowerPolicy)(nil)).Elem()
 15088  }
 15089  
 15090  // The parameters of `HostPowerSystem.ConfigurePowerPolicy`.
 15091  type ConfigurePowerPolicyRequestType struct {
 15092  	This ManagedObjectReference `xml:"_this" json:"-"`
 15093  	// A key from one of the policies in
 15094  	// `PowerSystemCapability.availablePolicy`.
 15095  	Key int32 `xml:"key" json:"key"`
 15096  }
 15097  
 15098  func init() {
 15099  	t["ConfigurePowerPolicyRequestType"] = reflect.TypeOf((*ConfigurePowerPolicyRequestType)(nil)).Elem()
 15100  }
 15101  
 15102  type ConfigurePowerPolicyResponse struct {
 15103  }
 15104  
 15105  // The parameters of `StorageResourceManager.ConfigureStorageDrsForPod_Task`.
 15106  type ConfigureStorageDrsForPodRequestType struct {
 15107  	This ManagedObjectReference `xml:"_this" json:"-"`
 15108  	// The storage pod.
 15109  	//
 15110  	// Required privileges: StoragePod.Config
 15111  	//
 15112  	// Refers instance of `StoragePod`.
 15113  	Pod ManagedObjectReference `xml:"pod" json:"pod"`
 15114  	// A set of storage Drs configuration changes to apply to the storage pod.
 15115  	// The specification can be a complete set of changes or a partial
 15116  	// set of changes, applied incrementally.
 15117  	Spec StorageDrsConfigSpec `xml:"spec" json:"spec"`
 15118  	// Flag to specify whether the specification ("spec") should
 15119  	// be applied incrementally. If "modify" is false and the
 15120  	// operation succeeds, then the configuration of the storage pod
 15121  	// matches the specification exactly; in this case any unset
 15122  	// portions of the specification will result in unset or
 15123  	// default portions of the configuration.
 15124  	Modify bool `xml:"modify" json:"modify"`
 15125  }
 15126  
 15127  func init() {
 15128  	t["ConfigureStorageDrsForPodRequestType"] = reflect.TypeOf((*ConfigureStorageDrsForPodRequestType)(nil)).Elem()
 15129  }
 15130  
 15131  type ConfigureStorageDrsForPod_Task ConfigureStorageDrsForPodRequestType
 15132  
 15133  func init() {
 15134  	t["ConfigureStorageDrsForPod_Task"] = reflect.TypeOf((*ConfigureStorageDrsForPod_Task)(nil)).Elem()
 15135  }
 15136  
 15137  type ConfigureStorageDrsForPod_TaskResponse struct {
 15138  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15139  }
 15140  
 15141  // The parameters of `HostVFlashManager.ConfigureVFlashResourceEx_Task`.
 15142  type ConfigureVFlashResourceExRequestType struct {
 15143  	This ManagedObjectReference `xml:"_this" json:"-"`
 15144  	// An array of device path names that identify disks.
 15145  	// See `ScsiDisk`.
 15146  	DevicePath []string `xml:"devicePath,omitempty" json:"devicePath,omitempty"`
 15147  }
 15148  
 15149  func init() {
 15150  	t["ConfigureVFlashResourceExRequestType"] = reflect.TypeOf((*ConfigureVFlashResourceExRequestType)(nil)).Elem()
 15151  }
 15152  
 15153  type ConfigureVFlashResourceEx_Task ConfigureVFlashResourceExRequestType
 15154  
 15155  func init() {
 15156  	t["ConfigureVFlashResourceEx_Task"] = reflect.TypeOf((*ConfigureVFlashResourceEx_Task)(nil)).Elem()
 15157  }
 15158  
 15159  type ConfigureVFlashResourceEx_TaskResponse struct {
 15160  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15161  }
 15162  
 15163  // Thrown if the configurations of the objects are in conflict.
 15164  type ConflictingConfiguration struct {
 15165  	DvsFault
 15166  
 15167  	// The configurations that are in conflict.
 15168  	ConfigInConflict []ConflictingConfigurationConfig `xml:"configInConflict" json:"configInConflict"`
 15169  }
 15170  
 15171  func init() {
 15172  	t["ConflictingConfiguration"] = reflect.TypeOf((*ConflictingConfiguration)(nil)).Elem()
 15173  	minAPIVersionForType["ConflictingConfiguration"] = "5.5"
 15174  }
 15175  
 15176  // This class defines the configuration that is in conflict.
 15177  type ConflictingConfigurationConfig struct {
 15178  	DynamicData
 15179  
 15180  	// The entity on which the configuration is in conflict.
 15181  	//
 15182  	// Refers instance of `ManagedEntity`.
 15183  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 15184  	// The property paths that are in conflict.
 15185  	PropertyPath string `xml:"propertyPath" json:"propertyPath"`
 15186  }
 15187  
 15188  func init() {
 15189  	t["ConflictingConfigurationConfig"] = reflect.TypeOf((*ConflictingConfigurationConfig)(nil)).Elem()
 15190  	minAPIVersionForType["ConflictingConfigurationConfig"] = "5.5"
 15191  }
 15192  
 15193  type ConflictingConfigurationFault ConflictingConfiguration
 15194  
 15195  func init() {
 15196  	t["ConflictingConfigurationFault"] = reflect.TypeOf((*ConflictingConfigurationFault)(nil)).Elem()
 15197  }
 15198  
 15199  // ConflictingDatastoreFound is thrown when the conflicting datastores
 15200  // with the same url but backed by different disks are found in the host
 15201  // and the target datacenter.
 15202  type ConflictingDatastoreFound struct {
 15203  	RuntimeFault
 15204  
 15205  	// The name of the datastore.
 15206  	Name string `xml:"name" json:"name"`
 15207  	// The unique locator for the datastore.
 15208  	Url string `xml:"url" json:"url"`
 15209  }
 15210  
 15211  func init() {
 15212  	t["ConflictingDatastoreFound"] = reflect.TypeOf((*ConflictingDatastoreFound)(nil)).Elem()
 15213  	minAPIVersionForType["ConflictingDatastoreFound"] = "5.1"
 15214  }
 15215  
 15216  type ConflictingDatastoreFoundFault ConflictingDatastoreFound
 15217  
 15218  func init() {
 15219  	t["ConflictingDatastoreFoundFault"] = reflect.TypeOf((*ConflictingDatastoreFoundFault)(nil)).Elem()
 15220  }
 15221  
 15222  type ConnectNvmeController ConnectNvmeControllerRequestType
 15223  
 15224  func init() {
 15225  	t["ConnectNvmeController"] = reflect.TypeOf((*ConnectNvmeController)(nil)).Elem()
 15226  }
 15227  
 15228  // The parameters of `HostStorageSystem.ConnectNvmeControllerEx_Task`.
 15229  type ConnectNvmeControllerExRequestType struct {
 15230  	This ManagedObjectReference `xml:"_this" json:"-"`
 15231  	// A list of data objects, each specifying the parameters
 15232  	// necessary to connect to an NVMe controller.
 15233  	ConnectSpec []HostNvmeConnectSpec `xml:"connectSpec,omitempty" json:"connectSpec,omitempty"`
 15234  }
 15235  
 15236  func init() {
 15237  	t["ConnectNvmeControllerExRequestType"] = reflect.TypeOf((*ConnectNvmeControllerExRequestType)(nil)).Elem()
 15238  }
 15239  
 15240  type ConnectNvmeControllerEx_Task ConnectNvmeControllerExRequestType
 15241  
 15242  func init() {
 15243  	t["ConnectNvmeControllerEx_Task"] = reflect.TypeOf((*ConnectNvmeControllerEx_Task)(nil)).Elem()
 15244  }
 15245  
 15246  type ConnectNvmeControllerEx_TaskResponse struct {
 15247  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15248  }
 15249  
 15250  // The parameters of `HostStorageSystem.ConnectNvmeController`.
 15251  type ConnectNvmeControllerRequestType struct {
 15252  	This ManagedObjectReference `xml:"_this" json:"-"`
 15253  	// A data object that specifies the parameters
 15254  	// necessary to connect to the controller.
 15255  	ConnectSpec HostNvmeConnectSpec `xml:"connectSpec" json:"connectSpec"`
 15256  }
 15257  
 15258  func init() {
 15259  	t["ConnectNvmeControllerRequestType"] = reflect.TypeOf((*ConnectNvmeControllerRequestType)(nil)).Elem()
 15260  }
 15261  
 15262  type ConnectNvmeControllerResponse struct {
 15263  }
 15264  
 15265  type ConnectedIso struct {
 15266  	OvfExport
 15267  
 15268  	// The CD-ROM drive that caused the event.
 15269  	Cdrom VirtualCdrom `xml:"cdrom" json:"cdrom"`
 15270  	// The filename of the ISO
 15271  	Filename string `xml:"filename" json:"filename"`
 15272  }
 15273  
 15274  func init() {
 15275  	t["ConnectedIso"] = reflect.TypeOf((*ConnectedIso)(nil)).Elem()
 15276  }
 15277  
 15278  type ConnectedIsoFault ConnectedIso
 15279  
 15280  func init() {
 15281  	t["ConnectedIsoFault"] = reflect.TypeOf((*ConnectedIsoFault)(nil)).Elem()
 15282  }
 15283  
 15284  type ConsolidateVMDisksRequestType struct {
 15285  	This ManagedObjectReference `xml:"_this" json:"-"`
 15286  }
 15287  
 15288  func init() {
 15289  	t["ConsolidateVMDisksRequestType"] = reflect.TypeOf((*ConsolidateVMDisksRequestType)(nil)).Elem()
 15290  }
 15291  
 15292  type ConsolidateVMDisks_Task ConsolidateVMDisksRequestType
 15293  
 15294  func init() {
 15295  	t["ConsolidateVMDisks_Task"] = reflect.TypeOf((*ConsolidateVMDisks_Task)(nil)).Elem()
 15296  }
 15297  
 15298  type ConsolidateVMDisks_TaskResponse struct {
 15299  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15300  }
 15301  
 15302  type ContinueRetrievePropertiesEx ContinueRetrievePropertiesExRequestType
 15303  
 15304  func init() {
 15305  	t["ContinueRetrievePropertiesEx"] = reflect.TypeOf((*ContinueRetrievePropertiesEx)(nil)).Elem()
 15306  }
 15307  
 15308  // The parameters of `PropertyCollector.ContinueRetrievePropertiesEx`.
 15309  type ContinueRetrievePropertiesExRequestType struct {
 15310  	This ManagedObjectReference `xml:"_this" json:"-"`
 15311  	// the token returned in the previous `RetrieveResult` returned on the same session by the
 15312  	// same `PropertyCollector`.
 15313  	Token string `xml:"token" json:"token"`
 15314  }
 15315  
 15316  func init() {
 15317  	t["ContinueRetrievePropertiesExRequestType"] = reflect.TypeOf((*ContinueRetrievePropertiesExRequestType)(nil)).Elem()
 15318  }
 15319  
 15320  type ContinueRetrievePropertiesExResponse struct {
 15321  	Returnval RetrieveResult `xml:"returnval" json:"returnval"`
 15322  }
 15323  
 15324  type ConvertNamespacePathToUuidPath ConvertNamespacePathToUuidPathRequestType
 15325  
 15326  func init() {
 15327  	t["ConvertNamespacePathToUuidPath"] = reflect.TypeOf((*ConvertNamespacePathToUuidPath)(nil)).Elem()
 15328  }
 15329  
 15330  // The parameters of `DatastoreNamespaceManager.ConvertNamespacePathToUuidPath`.
 15331  type ConvertNamespacePathToUuidPathRequestType struct {
 15332  	This ManagedObjectReference `xml:"_this" json:"-"`
 15333  	// The datacenter of the namespace path. Needs to be set
 15334  	// when making the call to VC; ignored when the call is
 15335  	// made to ESX.
 15336  	//
 15337  	// Refers instance of `Datacenter`.
 15338  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 15339  	// Namesapce URL of the form
 15340  	// > \[ds://\]/vmfs/volumes/\[_datastore-uuid_\]/\[_directory-name_\]/...
 15341  	// >
 15342  	NamespaceUrl string `xml:"namespaceUrl" json:"namespaceUrl"`
 15343  }
 15344  
 15345  func init() {
 15346  	t["ConvertNamespacePathToUuidPathRequestType"] = reflect.TypeOf((*ConvertNamespacePathToUuidPathRequestType)(nil)).Elem()
 15347  }
 15348  
 15349  type ConvertNamespacePathToUuidPathResponse struct {
 15350  	Returnval string `xml:"returnval" json:"returnval"`
 15351  }
 15352  
 15353  // The parameters of `FileManager.CopyDatastoreFile_Task`.
 15354  type CopyDatastoreFileRequestType struct {
 15355  	This ManagedObjectReference `xml:"_this" json:"-"`
 15356  	// The name of the source, either a URL or a
 15357  	// datastore path referring to the file or folder to be copied.
 15358  	SourceName string `xml:"sourceName" json:"sourceName"`
 15359  	// If <code>sourceName</code> is a datastore path, the
 15360  	// datacenter for that datastore path.
 15361  	// Not needed when invoked directly on ESX.
 15362  	// If not specified on a call to VirtualCenter,
 15363  	// <code>sourceName</code> must be a URL.
 15364  	//
 15365  	// Required privileges: System.View
 15366  	//
 15367  	// Refers instance of `Datacenter`.
 15368  	SourceDatacenter *ManagedObjectReference `xml:"sourceDatacenter,omitempty" json:"sourceDatacenter,omitempty"`
 15369  	// The name of the destination, either a
 15370  	// URL or a datastore path referring to the destination file
 15371  	// or folder.
 15372  	DestinationName string `xml:"destinationName" json:"destinationName"`
 15373  	// If <code>destinationName</code> is a datastore
 15374  	// path, the datacenter for that datastore path.
 15375  	// Not needed when invoked directly on ESX.
 15376  	// If not specified on a call to VirtualCenter, it is assumed that
 15377  	// the destination path belongs to the source datacenter.
 15378  	//
 15379  	// Required privileges: System.View
 15380  	//
 15381  	// Refers instance of `Datacenter`.
 15382  	DestinationDatacenter *ManagedObjectReference `xml:"destinationDatacenter,omitempty" json:"destinationDatacenter,omitempty"`
 15383  	// If true, overwrite any identically named file
 15384  	// at the destination. If not specified, it is assumed to be false.
 15385  	Force *bool `xml:"force" json:"force,omitempty"`
 15386  }
 15387  
 15388  func init() {
 15389  	t["CopyDatastoreFileRequestType"] = reflect.TypeOf((*CopyDatastoreFileRequestType)(nil)).Elem()
 15390  }
 15391  
 15392  type CopyDatastoreFile_Task CopyDatastoreFileRequestType
 15393  
 15394  func init() {
 15395  	t["CopyDatastoreFile_Task"] = reflect.TypeOf((*CopyDatastoreFile_Task)(nil)).Elem()
 15396  }
 15397  
 15398  type CopyDatastoreFile_TaskResponse struct {
 15399  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15400  }
 15401  
 15402  // The parameters of `VirtualDiskManager.CopyVirtualDisk_Task`.
 15403  type CopyVirtualDiskRequestType struct {
 15404  	This ManagedObjectReference `xml:"_this" json:"-"`
 15405  	// The name of the source, either a datastore path
 15406  	// or a URL referring to the virtual disk to be copied.
 15407  	SourceName string `xml:"sourceName" json:"sourceName"`
 15408  	// If <code>sourceName</code> is a datastore path, the
 15409  	// datacenter for that datastore path.
 15410  	// Not needed when invoked directly on ESX.
 15411  	// If not specified on a call to VirtualCenter,
 15412  	// <code>sourceName</code> must be a URL.
 15413  	//
 15414  	// Refers instance of `Datacenter`.
 15415  	SourceDatacenter *ManagedObjectReference `xml:"sourceDatacenter,omitempty" json:"sourceDatacenter,omitempty"`
 15416  	// The name of the destination, either a datastore path
 15417  	// or a URL referring to the virtual disk to be created.
 15418  	DestName string `xml:"destName" json:"destName"`
 15419  	// If <code>destName</code> is a datastore
 15420  	// path, the datacenter for that datastore path.
 15421  	// Not needed when invoked directly on ESX.
 15422  	// If not specified on a call to VirtualCenter, it is assumed that
 15423  	// the destination path belongs to the source datacenter.
 15424  	//
 15425  	// Refers instance of `Datacenter`.
 15426  	DestDatacenter *ManagedObjectReference `xml:"destDatacenter,omitempty" json:"destDatacenter,omitempty"`
 15427  	// The specification of the virtual disk to be created.
 15428  	// If not specified, a preallocated format and busLogic adapter type is assumed.
 15429  	DestSpec BaseVirtualDiskSpec `xml:"destSpec,omitempty,typeattr" json:"destSpec,omitempty"`
 15430  	// The force flag is currently ignored. The FileAlreadyExists fault is thrown if
 15431  	// the destination file already exists.
 15432  	Force *bool `xml:"force" json:"force,omitempty"`
 15433  }
 15434  
 15435  func init() {
 15436  	t["CopyVirtualDiskRequestType"] = reflect.TypeOf((*CopyVirtualDiskRequestType)(nil)).Elem()
 15437  }
 15438  
 15439  type CopyVirtualDisk_Task CopyVirtualDiskRequestType
 15440  
 15441  func init() {
 15442  	t["CopyVirtualDisk_Task"] = reflect.TypeOf((*CopyVirtualDisk_Task)(nil)).Elem()
 15443  }
 15444  
 15445  type CopyVirtualDisk_TaskResponse struct {
 15446  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15447  }
 15448  
 15449  // Deprecated as of VI API 2.5, use `CpuIncompatible` and its other subclasses,
 15450  // not this one.
 15451  //
 15452  // Compatibility between the virtual machine's host and its CPU
 15453  // feature requirements cannot be determined, because not enough information
 15454  // is available about the CPU features of the host.
 15455  type CpuCompatibilityUnknown struct {
 15456  	CpuIncompatible
 15457  }
 15458  
 15459  func init() {
 15460  	t["CpuCompatibilityUnknown"] = reflect.TypeOf((*CpuCompatibilityUnknown)(nil)).Elem()
 15461  }
 15462  
 15463  type CpuCompatibilityUnknownFault CpuCompatibilityUnknown
 15464  
 15465  func init() {
 15466  	t["CpuCompatibilityUnknownFault"] = reflect.TypeOf((*CpuCompatibilityUnknownFault)(nil)).Elem()
 15467  }
 15468  
 15469  // Thrown when virtual CPUs cannot be hot-added or hot-removed from
 15470  // the virtual machine.
 15471  type CpuHotPlugNotSupported struct {
 15472  	VmConfigFault
 15473  }
 15474  
 15475  func init() {
 15476  	t["CpuHotPlugNotSupported"] = reflect.TypeOf((*CpuHotPlugNotSupported)(nil)).Elem()
 15477  	minAPIVersionForType["CpuHotPlugNotSupported"] = "4.0"
 15478  }
 15479  
 15480  type CpuHotPlugNotSupportedFault CpuHotPlugNotSupported
 15481  
 15482  func init() {
 15483  	t["CpuHotPlugNotSupportedFault"] = reflect.TypeOf((*CpuHotPlugNotSupportedFault)(nil)).Elem()
 15484  }
 15485  
 15486  // Deprecated as of vSphere API 6.5 use
 15487  // `FeatureRequirementsNotMet`.
 15488  //
 15489  // The host is not compatible with the CPU feature requirements of the
 15490  // virtual machine, for a particular CPUID register.
 15491  //
 15492  // A subclass of this fault
 15493  // may be used to express the incompatibilities in a more easily
 15494  // understandable format.
 15495  type CpuIncompatible struct {
 15496  	VirtualHardwareCompatibilityIssue
 15497  
 15498  	// The CpuIdInfo level where a problem was detected.
 15499  	//
 15500  	// Other levels may
 15501  	// also have problems.
 15502  	Level int32 `xml:"level" json:"level"`
 15503  	// The CpuIdInfo register where a problem was detected.
 15504  	//
 15505  	// Other registers
 15506  	// may also have problems. Possible register names are eax, ebx, ecx, or edx.
 15507  	RegisterName string `xml:"registerName" json:"registerName"`
 15508  	// The contents of the register on the target host, in CpuIdInfo register
 15509  	// format.
 15510  	//
 15511  	// The '-' character indicates an unknown value.
 15512  	RegisterBits string `xml:"registerBits,omitempty" json:"registerBits,omitempty" vim:"2.5"`
 15513  	// The desired values for the register's bits.
 15514  	//
 15515  	// The 'x' character indicates
 15516  	// don't-care.
 15517  	DesiredBits string `xml:"desiredBits,omitempty" json:"desiredBits,omitempty" vim:"2.5"`
 15518  	// The host that is not compatible with the requirements.
 15519  	//
 15520  	// Refers instance of `HostSystem`.
 15521  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty" vim:"2.5"`
 15522  }
 15523  
 15524  func init() {
 15525  	t["CpuIncompatible"] = reflect.TypeOf((*CpuIncompatible)(nil)).Elem()
 15526  }
 15527  
 15528  // Deprecated as of vSphere API 6.5 use
 15529  // `FeatureRequirementsNotMet`.
 15530  //
 15531  // Convenience subclass for calling out some named features among the
 15532  // incompatibilities found in CPUID level 1 register ecx.
 15533  type CpuIncompatible1ECX struct {
 15534  	CpuIncompatible
 15535  
 15536  	// Flag to indicate bit 0 is incompatible.
 15537  	Sse3 bool `xml:"sse3" json:"sse3"`
 15538  	// Flag to indicate bit 1 is incompatible.
 15539  	Pclmulqdq *bool `xml:"pclmulqdq" json:"pclmulqdq,omitempty" vim:"5.0"`
 15540  	// Flag to indicate bit 9 is incompatible.
 15541  	Ssse3 bool `xml:"ssse3" json:"ssse3"`
 15542  	// Flag to indicate bit 19 is incompatible.
 15543  	Sse41 bool `xml:"sse41" json:"sse41"`
 15544  	// Flag to indicate bit 20 is incompatible.
 15545  	Sse42 bool `xml:"sse42" json:"sse42"`
 15546  	// Flag to indicate bit 25 is incompatible.
 15547  	Aes *bool `xml:"aes" json:"aes,omitempty" vim:"5.0"`
 15548  	// Flag to indicate that bits other than 0/1/9/19/20/25 are incompatible.
 15549  	//
 15550  	// I.e. the detected incompatibilities cannot be completely described by
 15551  	// the sse3, pclmulqdq, ssse3, sse41, sse42, and/or aes flags.
 15552  	Other bool `xml:"other" json:"other"`
 15553  	// Flag to indicate that the sse3, pclmulqdq, ssse3, sse41, sse42, and aes
 15554  	// flags are all false, and the "other" flag is true.
 15555  	//
 15556  	// Purely a convenience
 15557  	// property for the client processing this fault.
 15558  	OtherOnly bool `xml:"otherOnly" json:"otherOnly"`
 15559  }
 15560  
 15561  func init() {
 15562  	t["CpuIncompatible1ECX"] = reflect.TypeOf((*CpuIncompatible1ECX)(nil)).Elem()
 15563  	minAPIVersionForType["CpuIncompatible1ECX"] = "2.5"
 15564  }
 15565  
 15566  type CpuIncompatible1ECXFault CpuIncompatible1ECX
 15567  
 15568  func init() {
 15569  	t["CpuIncompatible1ECXFault"] = reflect.TypeOf((*CpuIncompatible1ECXFault)(nil)).Elem()
 15570  }
 15571  
 15572  // Deprecated as of vSphere API 6.5 use
 15573  // `FeatureRequirementsNotMet`.
 15574  //
 15575  // Convenience subclass for calling out some named features among the
 15576  // incompatibilities found in CPUID level 0x80000001 register edx.
 15577  type CpuIncompatible81EDX struct {
 15578  	CpuIncompatible
 15579  
 15580  	// Flag to indicate bit 20 is incompatible.
 15581  	Nx bool `xml:"nx" json:"nx"`
 15582  	// Flag to indicate bit 25 is incompatible.
 15583  	Ffxsr bool `xml:"ffxsr" json:"ffxsr"`
 15584  	// Flag to indicate bit 27 is incompatible.
 15585  	Rdtscp bool `xml:"rdtscp" json:"rdtscp"`
 15586  	// Flag to indicate bit 29 is incompatible.
 15587  	Lm bool `xml:"lm" json:"lm"`
 15588  	// Flag to indicate that bits other than 20/25/27/29 are incompatible.
 15589  	//
 15590  	// I.e. the detected incompatibilities cannot be completely described by
 15591  	// the nx, ffxsr, rdtscp, and/or lm flags.
 15592  	Other bool `xml:"other" json:"other"`
 15593  	// Flag to indicate that the nx, ffxsr, rdtscp, and lm flags are all false,
 15594  	// and the "other" flag is true.
 15595  	//
 15596  	// Purely a convenience property for the
 15597  	// client processing this fault.
 15598  	OtherOnly bool `xml:"otherOnly" json:"otherOnly"`
 15599  }
 15600  
 15601  func init() {
 15602  	t["CpuIncompatible81EDX"] = reflect.TypeOf((*CpuIncompatible81EDX)(nil)).Elem()
 15603  	minAPIVersionForType["CpuIncompatible81EDX"] = "2.5"
 15604  }
 15605  
 15606  type CpuIncompatible81EDXFault CpuIncompatible81EDX
 15607  
 15608  func init() {
 15609  	t["CpuIncompatible81EDXFault"] = reflect.TypeOf((*CpuIncompatible81EDXFault)(nil)).Elem()
 15610  }
 15611  
 15612  type CpuIncompatibleFault BaseCpuIncompatible
 15613  
 15614  func init() {
 15615  	t["CpuIncompatibleFault"] = reflect.TypeOf((*CpuIncompatibleFault)(nil)).Elem()
 15616  }
 15617  
 15618  type CreateAlarm CreateAlarmRequestType
 15619  
 15620  func init() {
 15621  	t["CreateAlarm"] = reflect.TypeOf((*CreateAlarm)(nil)).Elem()
 15622  }
 15623  
 15624  // The parameters of `AlarmManager.CreateAlarm`.
 15625  type CreateAlarmRequestType struct {
 15626  	This ManagedObjectReference `xml:"_this" json:"-"`
 15627  	// The entity with which the alarm is associated.
 15628  	//
 15629  	// Required privileges: Alarm.Create
 15630  	//
 15631  	// Refers instance of `ManagedEntity`.
 15632  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 15633  	// The specification for the new alarm.
 15634  	Spec BaseAlarmSpec `xml:"spec,typeattr" json:"spec"`
 15635  }
 15636  
 15637  func init() {
 15638  	t["CreateAlarmRequestType"] = reflect.TypeOf((*CreateAlarmRequestType)(nil)).Elem()
 15639  }
 15640  
 15641  type CreateAlarmResponse struct {
 15642  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15643  }
 15644  
 15645  // The parameters of `ResourcePool.CreateChildVM_Task`.
 15646  type CreateChildVMRequestType struct {
 15647  	This ManagedObjectReference `xml:"_this" json:"-"`
 15648  	// The configuration of the virtual machine hardware.
 15649  	Config VirtualMachineConfigSpec `xml:"config" json:"config"`
 15650  	// The target host on which the virtual machine will run. This must
 15651  	// specify a host that is a member of the ComputeResource indirectly
 15652  	// specified by the pool. For a stand-alone host or a cluster with DRS,
 15653  	// host can be omitted, and the system selects a default.
 15654  	//
 15655  	// Refers instance of `HostSystem`.
 15656  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 15657  }
 15658  
 15659  func init() {
 15660  	t["CreateChildVMRequestType"] = reflect.TypeOf((*CreateChildVMRequestType)(nil)).Elem()
 15661  }
 15662  
 15663  type CreateChildVM_Task CreateChildVMRequestType
 15664  
 15665  func init() {
 15666  	t["CreateChildVM_Task"] = reflect.TypeOf((*CreateChildVM_Task)(nil)).Elem()
 15667  }
 15668  
 15669  type CreateChildVM_TaskResponse struct {
 15670  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15671  }
 15672  
 15673  type CreateCluster CreateClusterRequestType
 15674  
 15675  func init() {
 15676  	t["CreateCluster"] = reflect.TypeOf((*CreateCluster)(nil)).Elem()
 15677  }
 15678  
 15679  type CreateClusterEx CreateClusterExRequestType
 15680  
 15681  func init() {
 15682  	t["CreateClusterEx"] = reflect.TypeOf((*CreateClusterEx)(nil)).Elem()
 15683  }
 15684  
 15685  // The parameters of `Folder.CreateClusterEx`.
 15686  type CreateClusterExRequestType struct {
 15687  	This ManagedObjectReference `xml:"_this" json:"-"`
 15688  	// Name for the new cluster.
 15689  	Name string `xml:"name" json:"name"`
 15690  	// Specification for the cluster.
 15691  	Spec ClusterConfigSpecEx `xml:"spec" json:"spec"`
 15692  }
 15693  
 15694  func init() {
 15695  	t["CreateClusterExRequestType"] = reflect.TypeOf((*CreateClusterExRequestType)(nil)).Elem()
 15696  }
 15697  
 15698  type CreateClusterExResponse struct {
 15699  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15700  }
 15701  
 15702  // The parameters of `Folder.CreateCluster`.
 15703  type CreateClusterRequestType struct {
 15704  	This ManagedObjectReference `xml:"_this" json:"-"`
 15705  	// Name for the new cluster.
 15706  	Name string `xml:"name" json:"name"`
 15707  	// Specification for the cluster.
 15708  	Spec ClusterConfigSpec `xml:"spec" json:"spec"`
 15709  }
 15710  
 15711  func init() {
 15712  	t["CreateClusterRequestType"] = reflect.TypeOf((*CreateClusterRequestType)(nil)).Elem()
 15713  }
 15714  
 15715  type CreateClusterResponse struct {
 15716  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15717  }
 15718  
 15719  type CreateCollectorForEvents CreateCollectorForEventsRequestType
 15720  
 15721  func init() {
 15722  	t["CreateCollectorForEvents"] = reflect.TypeOf((*CreateCollectorForEvents)(nil)).Elem()
 15723  }
 15724  
 15725  // The parameters of `EventManager.CreateCollectorForEvents`.
 15726  type CreateCollectorForEventsRequestType struct {
 15727  	This ManagedObjectReference `xml:"_this" json:"-"`
 15728  	// The event query filter.
 15729  	Filter EventFilterSpec `xml:"filter" json:"filter"`
 15730  }
 15731  
 15732  func init() {
 15733  	t["CreateCollectorForEventsRequestType"] = reflect.TypeOf((*CreateCollectorForEventsRequestType)(nil)).Elem()
 15734  }
 15735  
 15736  type CreateCollectorForEventsResponse struct {
 15737  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15738  }
 15739  
 15740  type CreateCollectorForTasks CreateCollectorForTasksRequestType
 15741  
 15742  func init() {
 15743  	t["CreateCollectorForTasks"] = reflect.TypeOf((*CreateCollectorForTasks)(nil)).Elem()
 15744  }
 15745  
 15746  // The parameters of `TaskManager.CreateCollectorForTasks`.
 15747  type CreateCollectorForTasksRequestType struct {
 15748  	This ManagedObjectReference `xml:"_this" json:"-"`
 15749  	// The specification for the task query filter.
 15750  	Filter TaskFilterSpec `xml:"filter" json:"filter"`
 15751  }
 15752  
 15753  func init() {
 15754  	t["CreateCollectorForTasksRequestType"] = reflect.TypeOf((*CreateCollectorForTasksRequestType)(nil)).Elem()
 15755  }
 15756  
 15757  type CreateCollectorForTasksResponse struct {
 15758  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15759  }
 15760  
 15761  type CreateContainerView CreateContainerViewRequestType
 15762  
 15763  func init() {
 15764  	t["CreateContainerView"] = reflect.TypeOf((*CreateContainerView)(nil)).Elem()
 15765  }
 15766  
 15767  // The parameters of `ViewManager.CreateContainerView`.
 15768  type CreateContainerViewRequestType struct {
 15769  	This ManagedObjectReference `xml:"_this" json:"-"`
 15770  	// A reference to an instance of a `Folder`,
 15771  	// `Datacenter`, `ComputeResource`,
 15772  	// `ResourcePool`, or `HostSystem` object.
 15773  	//
 15774  	// Required privileges: System.View
 15775  	//
 15776  	// Refers instance of `ManagedEntity`.
 15777  	Container ManagedObjectReference `xml:"container" json:"container"`
 15778  	// An optional list of managed entity types. The server
 15779  	// associates only objects of the specified type(s) with the view.
 15780  	// If you specify an empty array, the server uses all types.
 15781  	Type []string `xml:"type,omitempty" json:"type,omitempty"`
 15782  	// Whether to include only the immediate children of the
 15783  	// container instance, or to include additional objects by
 15784  	// following paths beyond the immediate children.
 15785  	//
 15786  	// When recursive is false, the list of objects contains
 15787  	// only immediate children.
 15788  	// When recursive is true, the server populates the list
 15789  	// by following references beyond the immediate children
 15790  	// (using a child's references, and then references in the
 15791  	// resulting objects, and so on).
 15792  	//
 15793  	// Depending on the container type, the server will use the following
 15794  	// properties of the container instance to obtain objects for the
 15795  	// view's object list:
 15796  	//     - `Folder` object - `Folder.childEntity`
 15797  	//       property.
 15798  	//       If recursive is false, the container list includes the reference
 15799  	//       to the child entity in the folder instance.
 15800  	//       If recursive is true, the server will follow the child
 15801  	//       folder path(s) to collect additional childEntity references.
 15802  	//     - `ResourcePool` object - `ResourcePool.vm`
 15803  	//       and `ResourcePool.resourcePool` properties.
 15804  	//       If recursive is false, the object list will contain references
 15805  	//       to the virtual machines associated with this resource pool,
 15806  	//       and references to virtual machines associated with the
 15807  	//       immediate child resource pools. If recursive is true,
 15808  	//       the server will follow all child resource pool paths
 15809  	//       extending from the immediate children (and their children,
 15810  	//       and so on) to collect additional references to virtual machines.
 15811  	//     - `ComputeResource` object - `ComputeResource.host`
 15812  	//       and `ComputeResource.resourcePool` properties.
 15813  	//       If recursive is false, the object list will contain references
 15814  	//       to the host systems associated with this compute resource,
 15815  	//       references to virtual machines associated with the
 15816  	//       host systems, and references to virtual machines associated
 15817  	//       with the immediate child resource pools.
 15818  	//       If recursive is true, the server will follow the child
 15819  	//       resource pool paths (and their child resource pool paths,
 15820  	//       and so on) to collect additional references to virtual machines.
 15821  	//     - `Datacenter` object - `Datacenter.vmFolder`,
 15822  	//       `Datacenter.hostFolder`,
 15823  	//       `Datacenter.datastoreFolder`, and
 15824  	//       `Datacenter.networkFolder` properties.
 15825  	//       If recursive is set to false, the server uses the
 15826  	//       immediate child folders for the virtual machines,
 15827  	//       hosts, datastores, and networks associated with this
 15828  	//       datacenter. If recursive is set to true, the server
 15829  	//       will follow the folder paths to collect references
 15830  	//       to additional objects.
 15831  	//     - `HostSystem` object - `HostSystem.vm`
 15832  	//       property.
 15833  	//       The view object list contains references to the virtual machines
 15834  	//       associated with this host system. The value of recursive does not
 15835  	//       affect this behavior.
 15836  	Recursive bool `xml:"recursive" json:"recursive"`
 15837  }
 15838  
 15839  func init() {
 15840  	t["CreateContainerViewRequestType"] = reflect.TypeOf((*CreateContainerViewRequestType)(nil)).Elem()
 15841  }
 15842  
 15843  type CreateContainerViewResponse struct {
 15844  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15845  }
 15846  
 15847  type CreateCustomizationSpec CreateCustomizationSpecRequestType
 15848  
 15849  func init() {
 15850  	t["CreateCustomizationSpec"] = reflect.TypeOf((*CreateCustomizationSpec)(nil)).Elem()
 15851  }
 15852  
 15853  // The parameters of `CustomizationSpecManager.CreateCustomizationSpec`.
 15854  type CreateCustomizationSpecRequestType struct {
 15855  	This ManagedObjectReference `xml:"_this" json:"-"`
 15856  	Item CustomizationSpecItem  `xml:"item" json:"item"`
 15857  }
 15858  
 15859  func init() {
 15860  	t["CreateCustomizationSpecRequestType"] = reflect.TypeOf((*CreateCustomizationSpecRequestType)(nil)).Elem()
 15861  }
 15862  
 15863  type CreateCustomizationSpecResponse struct {
 15864  }
 15865  
 15866  // The parameters of `DistributedVirtualSwitch.CreateDVPortgroup_Task`.
 15867  type CreateDVPortgroupRequestType struct {
 15868  	This ManagedObjectReference `xml:"_this" json:"-"`
 15869  	// The specification for the portgroup.
 15870  	Spec DVPortgroupConfigSpec `xml:"spec" json:"spec"`
 15871  }
 15872  
 15873  func init() {
 15874  	t["CreateDVPortgroupRequestType"] = reflect.TypeOf((*CreateDVPortgroupRequestType)(nil)).Elem()
 15875  }
 15876  
 15877  type CreateDVPortgroup_Task CreateDVPortgroupRequestType
 15878  
 15879  func init() {
 15880  	t["CreateDVPortgroup_Task"] = reflect.TypeOf((*CreateDVPortgroup_Task)(nil)).Elem()
 15881  }
 15882  
 15883  type CreateDVPortgroup_TaskResponse struct {
 15884  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15885  }
 15886  
 15887  // The parameters of `Folder.CreateDVS_Task`.
 15888  type CreateDVSRequestType struct {
 15889  	This ManagedObjectReference `xml:"_this" json:"-"`
 15890  	// The `DVSCreateSpec`
 15891  	// to create the distributed virtual switch.
 15892  	Spec DVSCreateSpec `xml:"spec" json:"spec"`
 15893  }
 15894  
 15895  func init() {
 15896  	t["CreateDVSRequestType"] = reflect.TypeOf((*CreateDVSRequestType)(nil)).Elem()
 15897  }
 15898  
 15899  type CreateDVS_Task CreateDVSRequestType
 15900  
 15901  func init() {
 15902  	t["CreateDVS_Task"] = reflect.TypeOf((*CreateDVS_Task)(nil)).Elem()
 15903  }
 15904  
 15905  type CreateDVS_TaskResponse struct {
 15906  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15907  }
 15908  
 15909  type CreateDatacenter CreateDatacenterRequestType
 15910  
 15911  func init() {
 15912  	t["CreateDatacenter"] = reflect.TypeOf((*CreateDatacenter)(nil)).Elem()
 15913  }
 15914  
 15915  // The parameters of `Folder.CreateDatacenter`.
 15916  type CreateDatacenterRequestType struct {
 15917  	This ManagedObjectReference `xml:"_this" json:"-"`
 15918  	// Name for the new datacenter. An entity name
 15919  	// must be a non-empty string of less than 80 characters.
 15920  	// The slash (/), backslash (\\) and percent (%) will be escaped
 15921  	// using the URL syntax. For example, %2F.
 15922  	Name string `xml:"name" json:"name"`
 15923  }
 15924  
 15925  func init() {
 15926  	t["CreateDatacenterRequestType"] = reflect.TypeOf((*CreateDatacenterRequestType)(nil)).Elem()
 15927  }
 15928  
 15929  type CreateDatacenterResponse struct {
 15930  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15931  }
 15932  
 15933  type CreateDefaultProfile CreateDefaultProfileRequestType
 15934  
 15935  func init() {
 15936  	t["CreateDefaultProfile"] = reflect.TypeOf((*CreateDefaultProfile)(nil)).Elem()
 15937  }
 15938  
 15939  // The parameters of `HostProfileManager.CreateDefaultProfile`.
 15940  type CreateDefaultProfileRequestType struct {
 15941  	This ManagedObjectReference `xml:"_this" json:"-"`
 15942  	// Type of profile to create. The profile types
 15943  	// are system-defined
 15944  	// (`ApplyProfile*.*ApplyProfile.profileTypeName`).
 15945  	ProfileType string `xml:"profileType" json:"profileType"`
 15946  	// If specified, the method returns a profile object
 15947  	// containing data for the named profile. The type name does not have
 15948  	// to be system-defined. A user-defined profile can include various
 15949  	// dynamically-defined profiles.
 15950  	ProfileTypeName string `xml:"profileTypeName,omitempty" json:"profileTypeName,omitempty" vim:"5.0"`
 15951  	// Base profile used during the operation.
 15952  	//
 15953  	// Refers instance of `Profile`.
 15954  	Profile *ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty" vim:"5.0"`
 15955  }
 15956  
 15957  func init() {
 15958  	t["CreateDefaultProfileRequestType"] = reflect.TypeOf((*CreateDefaultProfileRequestType)(nil)).Elem()
 15959  }
 15960  
 15961  type CreateDefaultProfileResponse struct {
 15962  	Returnval BaseApplyProfile `xml:"returnval,typeattr" json:"returnval"`
 15963  }
 15964  
 15965  type CreateDescriptor CreateDescriptorRequestType
 15966  
 15967  func init() {
 15968  	t["CreateDescriptor"] = reflect.TypeOf((*CreateDescriptor)(nil)).Elem()
 15969  }
 15970  
 15971  // The parameters of `OvfManager.CreateDescriptor`.
 15972  type CreateDescriptorRequestType struct {
 15973  	This ManagedObjectReference `xml:"_this" json:"-"`
 15974  	// The entity to export. Supported types are `VirtualMachine`
 15975  	// and `VirtualApp`.
 15976  	//
 15977  	// Required privileges: VApp.Export
 15978  	//
 15979  	// Refers instance of `ManagedEntity`.
 15980  	Obj ManagedObjectReference `xml:"obj" json:"obj"`
 15981  	// Parameters to the method, bundled in an instance of
 15982  	// CreateDescriptorParams.
 15983  	Cdp OvfCreateDescriptorParams `xml:"cdp" json:"cdp"`
 15984  }
 15985  
 15986  func init() {
 15987  	t["CreateDescriptorRequestType"] = reflect.TypeOf((*CreateDescriptorRequestType)(nil)).Elem()
 15988  }
 15989  
 15990  type CreateDescriptorResponse struct {
 15991  	Returnval OvfCreateDescriptorResult `xml:"returnval" json:"returnval"`
 15992  }
 15993  
 15994  type CreateDiagnosticPartition CreateDiagnosticPartitionRequestType
 15995  
 15996  func init() {
 15997  	t["CreateDiagnosticPartition"] = reflect.TypeOf((*CreateDiagnosticPartition)(nil)).Elem()
 15998  }
 15999  
 16000  // The parameters of `HostDiagnosticSystem.CreateDiagnosticPartition`.
 16001  type CreateDiagnosticPartitionRequestType struct {
 16002  	This ManagedObjectReference            `xml:"_this" json:"-"`
 16003  	Spec HostDiagnosticPartitionCreateSpec `xml:"spec" json:"spec"`
 16004  }
 16005  
 16006  func init() {
 16007  	t["CreateDiagnosticPartitionRequestType"] = reflect.TypeOf((*CreateDiagnosticPartitionRequestType)(nil)).Elem()
 16008  }
 16009  
 16010  type CreateDiagnosticPartitionResponse struct {
 16011  }
 16012  
 16013  type CreateDirectory CreateDirectoryRequestType
 16014  
 16015  func init() {
 16016  	t["CreateDirectory"] = reflect.TypeOf((*CreateDirectory)(nil)).Elem()
 16017  }
 16018  
 16019  // The parameters of `DatastoreNamespaceManager.CreateDirectory`.
 16020  type CreateDirectoryRequestType struct {
 16021  	This ManagedObjectReference `xml:"_this" json:"-"`
 16022  	// datastore on which to create a top-level directory
 16023  	//
 16024  	// Required privileges: Datastore.Config
 16025  	//
 16026  	// Refers instance of `Datastore`.
 16027  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 16028  	// display name hint for the directory to create
 16029  	DisplayName string `xml:"displayName,omitempty" json:"displayName,omitempty"`
 16030  	// opaque storage policy to associate with the directory
 16031  	Policy string `xml:"policy,omitempty" json:"policy,omitempty"`
 16032  	// directory size in MB on vvol/vsan backed object storage.
 16033  	// default directory size will be used for vsan backed
 16034  	// object storage if not set.
 16035  	Size int64 `xml:"size,omitempty" json:"size,omitempty" vim:"7.0.2.0"`
 16036  }
 16037  
 16038  func init() {
 16039  	t["CreateDirectoryRequestType"] = reflect.TypeOf((*CreateDirectoryRequestType)(nil)).Elem()
 16040  }
 16041  
 16042  type CreateDirectoryResponse struct {
 16043  	Returnval string `xml:"returnval" json:"returnval"`
 16044  }
 16045  
 16046  // The parameters of `VcenterVStorageObjectManager.CreateDiskFromSnapshot_Task`.
 16047  type CreateDiskFromSnapshotRequestType struct {
 16048  	This ManagedObjectReference `xml:"_this" json:"-"`
 16049  	// The ID of the virtual storage object.
 16050  	Id ID `xml:"id" json:"id"`
 16051  	// The datastore where the source virtual storage object
 16052  	// is located.
 16053  	//
 16054  	// Refers instance of `Datastore`.
 16055  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 16056  	// The ID of the snapshot of the virtual storage object.
 16057  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 16058  	// A user friendly name to be associated with the new disk.
 16059  	Name string `xml:"name" json:"name"`
 16060  	// SPBM Profile requirement on the new virtual storage object.
 16061  	// If not specified datastore default policy would be
 16062  	// assigned.
 16063  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 16064  	// Crypto information of the new disk.
 16065  	// If unset and if profile contains an encryption iofilter and
 16066  	// if snapshto is unencrypted, then cyrpto will be of
 16067  	// type CryptoSpecEncrypt, and filled with keyId that is
 16068  	// automatically generated and keyProviderId that is the
 16069  	// default kms cluster.
 16070  	// If unset and if profile is a default policy and if snapshot
 16071  	// is unenrypted, then crypto is treated as CryptoSpecNoOp.
 16072  	// If unset and if profile contains an encryption iofilter and
 16073  	// if snapshot is encrypted, then cyrpto is treated as
 16074  	// CryptoSpecNoOp.
 16075  	// If unset and if profile is a default policy and if
 16076  	// snapshot is encrypted, then cyrpto is treated as
 16077  	// CryptoSpecDecrypt.
 16078  	// To recrypt the disk during creating disk, crypto has to be
 16079  	// present.
 16080  	Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr" json:"crypto,omitempty"`
 16081  	// Relative location in the specified datastore where disk needs
 16082  	// to be created. If not specified disk gets created at the
 16083  	// defualt VStorageObject location on the specified datastore.
 16084  	Path string `xml:"path,omitempty" json:"path,omitempty"`
 16085  }
 16086  
 16087  func init() {
 16088  	t["CreateDiskFromSnapshotRequestType"] = reflect.TypeOf((*CreateDiskFromSnapshotRequestType)(nil)).Elem()
 16089  }
 16090  
 16091  type CreateDiskFromSnapshot_Task CreateDiskFromSnapshotRequestType
 16092  
 16093  func init() {
 16094  	t["CreateDiskFromSnapshot_Task"] = reflect.TypeOf((*CreateDiskFromSnapshot_Task)(nil)).Elem()
 16095  }
 16096  
 16097  type CreateDiskFromSnapshot_TaskResponse struct {
 16098  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16099  }
 16100  
 16101  // The parameters of `VcenterVStorageObjectManager.CreateDisk_Task`.
 16102  type CreateDiskRequestType struct {
 16103  	This ManagedObjectReference `xml:"_this" json:"-"`
 16104  	// The specification of the virtual storage object
 16105  	// to be created.
 16106  	Spec VslmCreateSpec `xml:"spec" json:"spec"`
 16107  }
 16108  
 16109  func init() {
 16110  	t["CreateDiskRequestType"] = reflect.TypeOf((*CreateDiskRequestType)(nil)).Elem()
 16111  }
 16112  
 16113  type CreateDisk_Task CreateDiskRequestType
 16114  
 16115  func init() {
 16116  	t["CreateDisk_Task"] = reflect.TypeOf((*CreateDisk_Task)(nil)).Elem()
 16117  }
 16118  
 16119  type CreateDisk_TaskResponse struct {
 16120  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16121  }
 16122  
 16123  type CreateFilter CreateFilterRequestType
 16124  
 16125  func init() {
 16126  	t["CreateFilter"] = reflect.TypeOf((*CreateFilter)(nil)).Elem()
 16127  }
 16128  
 16129  // The parameters of `PropertyCollector.CreateFilter`.
 16130  type CreateFilterRequestType struct {
 16131  	This ManagedObjectReference `xml:"_this" json:"-"`
 16132  	// The specifications for the filter.
 16133  	Spec PropertyFilterSpec `xml:"spec" json:"spec"`
 16134  	// Flag to specify whether a change to a nested property should report
 16135  	// only the nested change or the entire specified property value. If the
 16136  	// value is true, a change should report only the nested property. If
 16137  	// the value is false, a change should report the enclosing property
 16138  	// named in the filter.
 16139  	PartialUpdates bool `xml:"partialUpdates" json:"partialUpdates"`
 16140  }
 16141  
 16142  func init() {
 16143  	t["CreateFilterRequestType"] = reflect.TypeOf((*CreateFilterRequestType)(nil)).Elem()
 16144  }
 16145  
 16146  type CreateFilterResponse struct {
 16147  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16148  }
 16149  
 16150  type CreateFolder CreateFolderRequestType
 16151  
 16152  func init() {
 16153  	t["CreateFolder"] = reflect.TypeOf((*CreateFolder)(nil)).Elem()
 16154  }
 16155  
 16156  // The parameters of `Folder.CreateFolder`.
 16157  type CreateFolderRequestType struct {
 16158  	This ManagedObjectReference `xml:"_this" json:"-"`
 16159  	// The name to be given the new folder. An entity name
 16160  	// must be a non-empty string of less than 80 characters.
 16161  	// The slash (/), backslash (\\) and percent (%) will be escaped
 16162  	// using the URL syntax. For example, %2F. Any percent (%)
 16163  	// character used in this parameter must be escaped, unless
 16164  	// it is used to start an escape sequence. Clients may also
 16165  	// escape any other characters in this parameter.
 16166  	Name string `xml:"name" json:"name"`
 16167  }
 16168  
 16169  func init() {
 16170  	t["CreateFolderRequestType"] = reflect.TypeOf((*CreateFolderRequestType)(nil)).Elem()
 16171  }
 16172  
 16173  type CreateFolderResponse struct {
 16174  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16175  }
 16176  
 16177  type CreateGroup CreateGroupRequestType
 16178  
 16179  func init() {
 16180  	t["CreateGroup"] = reflect.TypeOf((*CreateGroup)(nil)).Elem()
 16181  }
 16182  
 16183  // The parameters of `HostLocalAccountManager.CreateGroup`.
 16184  type CreateGroupRequestType struct {
 16185  	This ManagedObjectReference `xml:"_this" json:"-"`
 16186  	// Specification of group being created.
 16187  	Group BaseHostAccountSpec `xml:"group,typeattr" json:"group"`
 16188  }
 16189  
 16190  func init() {
 16191  	t["CreateGroupRequestType"] = reflect.TypeOf((*CreateGroupRequestType)(nil)).Elem()
 16192  }
 16193  
 16194  type CreateGroupResponse struct {
 16195  }
 16196  
 16197  type CreateImportSpec CreateImportSpecRequestType
 16198  
 16199  func init() {
 16200  	t["CreateImportSpec"] = reflect.TypeOf((*CreateImportSpec)(nil)).Elem()
 16201  }
 16202  
 16203  // The parameters of `OvfManager.CreateImportSpec`.
 16204  type CreateImportSpecRequestType struct {
 16205  	This ManagedObjectReference `xml:"_this" json:"-"`
 16206  	// The OVF descriptor of the entity.
 16207  	OvfDescriptor string `xml:"ovfDescriptor" json:"ovfDescriptor"`
 16208  	// The resource pool to import the entity to. May be a
 16209  	// vApp.
 16210  	//
 16211  	// Required privileges: VApp.Import
 16212  	//
 16213  	// Refers instance of `ResourcePool`.
 16214  	ResourcePool ManagedObjectReference `xml:"resourcePool" json:"resourcePool"`
 16215  	// The datastore on which to create the inventory objects
 16216  	// of the entity, for example "storage1". The privilege
 16217  	// Datastore.AllocateSpace is required on the datastore.
 16218  	//
 16219  	// Required privileges: Datastore.AllocateSpace
 16220  	//
 16221  	// Refers instance of `Datastore`.
 16222  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 16223  	// Additional parameters to the method, bundled in an instance of
 16224  	// CreateImportSpecParams.
 16225  	Cisp OvfCreateImportSpecParams `xml:"cisp" json:"cisp"`
 16226  }
 16227  
 16228  func init() {
 16229  	t["CreateImportSpecRequestType"] = reflect.TypeOf((*CreateImportSpecRequestType)(nil)).Elem()
 16230  }
 16231  
 16232  type CreateImportSpecResponse struct {
 16233  	Returnval OvfCreateImportSpecResult `xml:"returnval" json:"returnval"`
 16234  }
 16235  
 16236  type CreateInventoryView CreateInventoryViewRequestType
 16237  
 16238  func init() {
 16239  	t["CreateInventoryView"] = reflect.TypeOf((*CreateInventoryView)(nil)).Elem()
 16240  }
 16241  
 16242  type CreateInventoryViewRequestType struct {
 16243  	This ManagedObjectReference `xml:"_this" json:"-"`
 16244  }
 16245  
 16246  func init() {
 16247  	t["CreateInventoryViewRequestType"] = reflect.TypeOf((*CreateInventoryViewRequestType)(nil)).Elem()
 16248  }
 16249  
 16250  type CreateInventoryViewResponse struct {
 16251  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16252  }
 16253  
 16254  type CreateIpPool CreateIpPoolRequestType
 16255  
 16256  func init() {
 16257  	t["CreateIpPool"] = reflect.TypeOf((*CreateIpPool)(nil)).Elem()
 16258  }
 16259  
 16260  // The parameters of `IpPoolManager.CreateIpPool`.
 16261  type CreateIpPoolRequestType struct {
 16262  	This ManagedObjectReference `xml:"_this" json:"-"`
 16263  	// The datacenter on which to create the pool.
 16264  	//
 16265  	// Required privileges: Datacenter.IpPoolConfig
 16266  	//
 16267  	// Refers instance of `Datacenter`.
 16268  	Dc ManagedObjectReference `xml:"dc" json:"dc"`
 16269  	// The IP pool to create on the server
 16270  	Pool IpPool `xml:"pool" json:"pool"`
 16271  }
 16272  
 16273  func init() {
 16274  	t["CreateIpPoolRequestType"] = reflect.TypeOf((*CreateIpPoolRequestType)(nil)).Elem()
 16275  }
 16276  
 16277  type CreateIpPoolResponse struct {
 16278  	Returnval int32 `xml:"returnval" json:"returnval"`
 16279  }
 16280  
 16281  type CreateListView CreateListViewRequestType
 16282  
 16283  func init() {
 16284  	t["CreateListView"] = reflect.TypeOf((*CreateListView)(nil)).Elem()
 16285  }
 16286  
 16287  type CreateListViewFromView CreateListViewFromViewRequestType
 16288  
 16289  func init() {
 16290  	t["CreateListViewFromView"] = reflect.TypeOf((*CreateListViewFromView)(nil)).Elem()
 16291  }
 16292  
 16293  // The parameters of `ViewManager.CreateListViewFromView`.
 16294  type CreateListViewFromViewRequestType struct {
 16295  	This ManagedObjectReference `xml:"_this" json:"-"`
 16296  	// The view that will provide the object list for the
 16297  	// new ListView object.
 16298  	//
 16299  	// Refers instance of `View`.
 16300  	View ManagedObjectReference `xml:"view" json:"view"`
 16301  }
 16302  
 16303  func init() {
 16304  	t["CreateListViewFromViewRequestType"] = reflect.TypeOf((*CreateListViewFromViewRequestType)(nil)).Elem()
 16305  }
 16306  
 16307  type CreateListViewFromViewResponse struct {
 16308  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16309  }
 16310  
 16311  // The parameters of `ViewManager.CreateListView`.
 16312  type CreateListViewRequestType struct {
 16313  	This ManagedObjectReference `xml:"_this" json:"-"`
 16314  	// The initial list of objects in the view.
 16315  	//
 16316  	// Required privileges: System.View
 16317  	Obj []ManagedObjectReference `xml:"obj,omitempty" json:"obj,omitempty"`
 16318  }
 16319  
 16320  func init() {
 16321  	t["CreateListViewRequestType"] = reflect.TypeOf((*CreateListViewRequestType)(nil)).Elem()
 16322  }
 16323  
 16324  type CreateListViewResponse struct {
 16325  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16326  }
 16327  
 16328  type CreateLocalDatastore CreateLocalDatastoreRequestType
 16329  
 16330  func init() {
 16331  	t["CreateLocalDatastore"] = reflect.TypeOf((*CreateLocalDatastore)(nil)).Elem()
 16332  }
 16333  
 16334  // The parameters of `HostDatastoreSystem.CreateLocalDatastore`.
 16335  type CreateLocalDatastoreRequestType struct {
 16336  	This ManagedObjectReference `xml:"_this" json:"-"`
 16337  	// The name of a datastore to create on the local host.
 16338  	Name string `xml:"name" json:"name"`
 16339  	// The file path for a directory in which the virtual machine data
 16340  	// will be stored.
 16341  	Path string `xml:"path" json:"path"`
 16342  }
 16343  
 16344  func init() {
 16345  	t["CreateLocalDatastoreRequestType"] = reflect.TypeOf((*CreateLocalDatastoreRequestType)(nil)).Elem()
 16346  }
 16347  
 16348  type CreateLocalDatastoreResponse struct {
 16349  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16350  }
 16351  
 16352  type CreateNasDatastore CreateNasDatastoreRequestType
 16353  
 16354  func init() {
 16355  	t["CreateNasDatastore"] = reflect.TypeOf((*CreateNasDatastore)(nil)).Elem()
 16356  }
 16357  
 16358  // The parameters of `HostDatastoreSystem.CreateNasDatastore`.
 16359  type CreateNasDatastoreRequestType struct {
 16360  	This ManagedObjectReference `xml:"_this" json:"-"`
 16361  	// The specification for creating a network-attached storage volume.
 16362  	Spec HostNasVolumeSpec `xml:"spec" json:"spec"`
 16363  }
 16364  
 16365  func init() {
 16366  	t["CreateNasDatastoreRequestType"] = reflect.TypeOf((*CreateNasDatastoreRequestType)(nil)).Elem()
 16367  }
 16368  
 16369  type CreateNasDatastoreResponse struct {
 16370  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16371  }
 16372  
 16373  // The parameters of `HostNvdimmSystem.CreateNvdimmNamespace_Task`.
 16374  type CreateNvdimmNamespaceRequestType struct {
 16375  	This ManagedObjectReference `xml:"_this" json:"-"`
 16376  	// Parameters to create the required namespace.
 16377  	CreateSpec NvdimmNamespaceCreateSpec `xml:"createSpec" json:"createSpec"`
 16378  }
 16379  
 16380  func init() {
 16381  	t["CreateNvdimmNamespaceRequestType"] = reflect.TypeOf((*CreateNvdimmNamespaceRequestType)(nil)).Elem()
 16382  }
 16383  
 16384  type CreateNvdimmNamespace_Task CreateNvdimmNamespaceRequestType
 16385  
 16386  func init() {
 16387  	t["CreateNvdimmNamespace_Task"] = reflect.TypeOf((*CreateNvdimmNamespace_Task)(nil)).Elem()
 16388  }
 16389  
 16390  type CreateNvdimmNamespace_TaskResponse struct {
 16391  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16392  }
 16393  
 16394  // The parameters of `HostNvdimmSystem.CreateNvdimmPMemNamespace_Task`.
 16395  type CreateNvdimmPMemNamespaceRequestType struct {
 16396  	This ManagedObjectReference `xml:"_this" json:"-"`
 16397  	// Parameters to create the required namespace.
 16398  	CreateSpec NvdimmPMemNamespaceCreateSpec `xml:"createSpec" json:"createSpec"`
 16399  }
 16400  
 16401  func init() {
 16402  	t["CreateNvdimmPMemNamespaceRequestType"] = reflect.TypeOf((*CreateNvdimmPMemNamespaceRequestType)(nil)).Elem()
 16403  }
 16404  
 16405  type CreateNvdimmPMemNamespace_Task CreateNvdimmPMemNamespaceRequestType
 16406  
 16407  func init() {
 16408  	t["CreateNvdimmPMemNamespace_Task"] = reflect.TypeOf((*CreateNvdimmPMemNamespace_Task)(nil)).Elem()
 16409  }
 16410  
 16411  type CreateNvdimmPMemNamespace_TaskResponse struct {
 16412  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16413  }
 16414  
 16415  type CreateNvmeOverRdmaAdapter CreateNvmeOverRdmaAdapterRequestType
 16416  
 16417  func init() {
 16418  	t["CreateNvmeOverRdmaAdapter"] = reflect.TypeOf((*CreateNvmeOverRdmaAdapter)(nil)).Elem()
 16419  }
 16420  
 16421  // The parameters of `HostStorageSystem.CreateNvmeOverRdmaAdapter`.
 16422  type CreateNvmeOverRdmaAdapterRequestType struct {
 16423  	This ManagedObjectReference `xml:"_this" json:"-"`
 16424  	// The device name of the RDMA device
 16425  	// to be used to create the software adapter.
 16426  	// Can be obtained from `HostRdmaDevice.device`.
 16427  	RdmaDeviceName string `xml:"rdmaDeviceName" json:"rdmaDeviceName"`
 16428  }
 16429  
 16430  func init() {
 16431  	t["CreateNvmeOverRdmaAdapterRequestType"] = reflect.TypeOf((*CreateNvmeOverRdmaAdapterRequestType)(nil)).Elem()
 16432  }
 16433  
 16434  type CreateNvmeOverRdmaAdapterResponse struct {
 16435  }
 16436  
 16437  type CreateObjectScheduledTask CreateObjectScheduledTaskRequestType
 16438  
 16439  func init() {
 16440  	t["CreateObjectScheduledTask"] = reflect.TypeOf((*CreateObjectScheduledTask)(nil)).Elem()
 16441  }
 16442  
 16443  // The parameters of `ScheduledTaskManager.CreateObjectScheduledTask`.
 16444  type CreateObjectScheduledTaskRequestType struct {
 16445  	This ManagedObjectReference `xml:"_this" json:"-"`
 16446  	// The managed object for which the
 16447  	// scheduled task triggers an action. You can
 16448  	// schedule tasks on any managed object.
 16449  	//
 16450  	// Required privileges: ScheduledTask.Create
 16451  	Obj ManagedObjectReference `xml:"obj" json:"obj"`
 16452  	// The specification for the new scheduled task.
 16453  	Spec BaseScheduledTaskSpec `xml:"spec,typeattr" json:"spec"`
 16454  }
 16455  
 16456  func init() {
 16457  	t["CreateObjectScheduledTaskRequestType"] = reflect.TypeOf((*CreateObjectScheduledTaskRequestType)(nil)).Elem()
 16458  }
 16459  
 16460  type CreateObjectScheduledTaskResponse struct {
 16461  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16462  }
 16463  
 16464  type CreatePerfInterval CreatePerfIntervalRequestType
 16465  
 16466  func init() {
 16467  	t["CreatePerfInterval"] = reflect.TypeOf((*CreatePerfInterval)(nil)).Elem()
 16468  }
 16469  
 16470  // The parameters of `PerformanceManager.CreatePerfInterval`.
 16471  type CreatePerfIntervalRequestType struct {
 16472  	This ManagedObjectReference `xml:"_this" json:"-"`
 16473  	// A custom interval, specified as the number of seconds to hold data in the
 16474  	// database, a user-specified unique name, and a sampling period (in
 16475  	// seconds).
 16476  	IntervalId PerfInterval `xml:"intervalId" json:"intervalId"`
 16477  }
 16478  
 16479  func init() {
 16480  	t["CreatePerfIntervalRequestType"] = reflect.TypeOf((*CreatePerfIntervalRequestType)(nil)).Elem()
 16481  }
 16482  
 16483  type CreatePerfIntervalResponse struct {
 16484  }
 16485  
 16486  type CreateProfile CreateProfileRequestType
 16487  
 16488  func init() {
 16489  	t["CreateProfile"] = reflect.TypeOf((*CreateProfile)(nil)).Elem()
 16490  }
 16491  
 16492  // The parameters of `ProfileManager.CreateProfile`.
 16493  type CreateProfileRequestType struct {
 16494  	This ManagedObjectReference `xml:"_this" json:"-"`
 16495  	// Specification for the profile being created.
 16496  	// Usually a derived class CreateSpec can be used to create the Profile.
 16497  	CreateSpec BaseProfileCreateSpec `xml:"createSpec,typeattr" json:"createSpec"`
 16498  }
 16499  
 16500  func init() {
 16501  	t["CreateProfileRequestType"] = reflect.TypeOf((*CreateProfileRequestType)(nil)).Elem()
 16502  }
 16503  
 16504  type CreateProfileResponse struct {
 16505  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16506  }
 16507  
 16508  type CreatePropertyCollector CreatePropertyCollectorRequestType
 16509  
 16510  func init() {
 16511  	t["CreatePropertyCollector"] = reflect.TypeOf((*CreatePropertyCollector)(nil)).Elem()
 16512  }
 16513  
 16514  type CreatePropertyCollectorRequestType struct {
 16515  	This ManagedObjectReference `xml:"_this" json:"-"`
 16516  }
 16517  
 16518  func init() {
 16519  	t["CreatePropertyCollectorRequestType"] = reflect.TypeOf((*CreatePropertyCollectorRequestType)(nil)).Elem()
 16520  }
 16521  
 16522  type CreatePropertyCollectorResponse struct {
 16523  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16524  }
 16525  
 16526  type CreateRegistryKeyInGuest CreateRegistryKeyInGuestRequestType
 16527  
 16528  func init() {
 16529  	t["CreateRegistryKeyInGuest"] = reflect.TypeOf((*CreateRegistryKeyInGuest)(nil)).Elem()
 16530  }
 16531  
 16532  // The parameters of `GuestWindowsRegistryManager.CreateRegistryKeyInGuest`.
 16533  type CreateRegistryKeyInGuestRequestType struct {
 16534  	This ManagedObjectReference `xml:"_this" json:"-"`
 16535  	// Virtual machine to perform the operation on.
 16536  	//
 16537  	// Required privileges: VirtualMachine.GuestOperations.Modify
 16538  	//
 16539  	// Refers instance of `VirtualMachine`.
 16540  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 16541  	// The guest authentication data.
 16542  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 16543  	// The path to the registry key to be created.
 16544  	KeyName GuestRegKeyNameSpec `xml:"keyName" json:"keyName"`
 16545  	// If true, the key is created in memory and is not
 16546  	// preserved across system reboot. Otherwise, it shall
 16547  	// persist in the file system.
 16548  	IsVolatile bool `xml:"isVolatile" json:"isVolatile"`
 16549  	// User defined class type for this key. May be omitted.
 16550  	ClassType string `xml:"classType,omitempty" json:"classType,omitempty"`
 16551  }
 16552  
 16553  func init() {
 16554  	t["CreateRegistryKeyInGuestRequestType"] = reflect.TypeOf((*CreateRegistryKeyInGuestRequestType)(nil)).Elem()
 16555  }
 16556  
 16557  type CreateRegistryKeyInGuestResponse struct {
 16558  }
 16559  
 16560  type CreateResourcePool CreateResourcePoolRequestType
 16561  
 16562  func init() {
 16563  	t["CreateResourcePool"] = reflect.TypeOf((*CreateResourcePool)(nil)).Elem()
 16564  }
 16565  
 16566  // The parameters of `ResourcePool.CreateResourcePool`.
 16567  type CreateResourcePoolRequestType struct {
 16568  	This ManagedObjectReference `xml:"_this" json:"-"`
 16569  	// The name of the ResourcePool. Any % (percent) character
 16570  	// used in this parameter must be escaped, unless it is used
 16571  	// to start an escape sequence. Clients may also escape any
 16572  	// other characters in this parameter.
 16573  	Name string `xml:"name" json:"name"`
 16574  	// The spec for the ResourcePool.
 16575  	// All values in ResourceAllocationInfo must be specified and
 16576  	// are not optional.
 16577  	Spec ResourceConfigSpec `xml:"spec" json:"spec"`
 16578  }
 16579  
 16580  func init() {
 16581  	t["CreateResourcePoolRequestType"] = reflect.TypeOf((*CreateResourcePoolRequestType)(nil)).Elem()
 16582  }
 16583  
 16584  type CreateResourcePoolResponse struct {
 16585  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16586  }
 16587  
 16588  type CreateScheduledTask CreateScheduledTaskRequestType
 16589  
 16590  func init() {
 16591  	t["CreateScheduledTask"] = reflect.TypeOf((*CreateScheduledTask)(nil)).Elem()
 16592  }
 16593  
 16594  // The parameters of `ScheduledTaskManager.CreateScheduledTask`.
 16595  type CreateScheduledTaskRequestType struct {
 16596  	This ManagedObjectReference `xml:"_this" json:"-"`
 16597  	// The managed entity (or entities) for which the
 16598  	// scheduled task triggers an action. You can
 16599  	// schedule tasks on any managed entity. If the
 16600  	// scheduled task is associated with a leaf node in
 16601  	// the inventory tree, it applies only to a single
 16602  	// entity (virtual machine or host). If the
 16603  	// task is associated with a folder, a datacenter, a
 16604  	// compute resource, or a resource pool, it applies to
 16605  	// the virtual machine or host descendants of the entity.
 16606  	//
 16607  	// Required privileges: ScheduledTask.Create
 16608  	//
 16609  	// Refers instance of `ManagedEntity`.
 16610  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 16611  	// The specification for the new scheduled task.
 16612  	Spec BaseScheduledTaskSpec `xml:"spec,typeattr" json:"spec"`
 16613  }
 16614  
 16615  func init() {
 16616  	t["CreateScheduledTaskRequestType"] = reflect.TypeOf((*CreateScheduledTaskRequestType)(nil)).Elem()
 16617  }
 16618  
 16619  type CreateScheduledTaskResponse struct {
 16620  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16621  }
 16622  
 16623  type CreateScreenshotRequestType struct {
 16624  	This ManagedObjectReference `xml:"_this" json:"-"`
 16625  }
 16626  
 16627  func init() {
 16628  	t["CreateScreenshotRequestType"] = reflect.TypeOf((*CreateScreenshotRequestType)(nil)).Elem()
 16629  }
 16630  
 16631  type CreateScreenshot_Task CreateScreenshotRequestType
 16632  
 16633  func init() {
 16634  	t["CreateScreenshot_Task"] = reflect.TypeOf((*CreateScreenshot_Task)(nil)).Elem()
 16635  }
 16636  
 16637  type CreateScreenshot_TaskResponse struct {
 16638  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16639  }
 16640  
 16641  // The parameters of `VirtualMachine.CreateSecondaryVMEx_Task`.
 16642  type CreateSecondaryVMExRequestType struct {
 16643  	This ManagedObjectReference `xml:"_this" json:"-"`
 16644  	// The host where the secondary virtual machine is to be
 16645  	// created and powered on. If no host is specified, a compatible host will be
 16646  	// selected by the system. If a host cannot be found for the secondary or the specified
 16647  	// host is not suitable, the secondary will not be created and a fault will be returned.
 16648  	//
 16649  	// Refers instance of `HostSystem`.
 16650  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 16651  	// This parameter `FaultToleranceVMConfigSpec` can
 16652  	// be used to specify the storage location of the fault tolerance
 16653  	// tie-breaker file, secondary configuration file and secondary
 16654  	// disks.
 16655  	//
 16656  	// If the virtual machine is on a vSAN datastore, then the
 16657  	// Fault Tolerance secondary virtual machine and the tie-breaker
 16658  	// file also have to be placed on that same vSAN datastore.
 16659  	// Conversely, if a primary VM is not using vSAN datastore,
 16660  	// then its Fault Tolerance secondary virtual machine can
 16661  	// not be placed on a vSAN datastore. Fault Tolerance is not
 16662  	// supported for VMs that are using both vSAN and non-vSAN
 16663  	// datastores for its configuration and disks.
 16664  	//
 16665  	// If the virtual machine is using persistent memory for any of
 16666  	// its disks, then its corresponding secondary disk placement
 16667  	// entry should not be specified in the
 16668  	// `FaultToleranceVMConfigSpec`. The system will
 16669  	// automatically place the corresponding secondary disk on
 16670  	// persistent memory.
 16671  	Spec *FaultToleranceConfigSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 16672  }
 16673  
 16674  func init() {
 16675  	t["CreateSecondaryVMExRequestType"] = reflect.TypeOf((*CreateSecondaryVMExRequestType)(nil)).Elem()
 16676  }
 16677  
 16678  type CreateSecondaryVMEx_Task CreateSecondaryVMExRequestType
 16679  
 16680  func init() {
 16681  	t["CreateSecondaryVMEx_Task"] = reflect.TypeOf((*CreateSecondaryVMEx_Task)(nil)).Elem()
 16682  }
 16683  
 16684  type CreateSecondaryVMEx_TaskResponse struct {
 16685  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16686  }
 16687  
 16688  // The parameters of `VirtualMachine.CreateSecondaryVM_Task`.
 16689  type CreateSecondaryVMRequestType struct {
 16690  	This ManagedObjectReference `xml:"_this" json:"-"`
 16691  	// The host where the secondary virtual machine is to be
 16692  	// created and powered on. If no host is specified, a compatible host will be
 16693  	// selected by the system. If a host cannot be found for the secondary or the specified
 16694  	// host is not suitable, the secondary will not be created and a fault will be returned.
 16695  	//
 16696  	// Refers instance of `HostSystem`.
 16697  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 16698  }
 16699  
 16700  func init() {
 16701  	t["CreateSecondaryVMRequestType"] = reflect.TypeOf((*CreateSecondaryVMRequestType)(nil)).Elem()
 16702  }
 16703  
 16704  type CreateSecondaryVM_Task CreateSecondaryVMRequestType
 16705  
 16706  func init() {
 16707  	t["CreateSecondaryVM_Task"] = reflect.TypeOf((*CreateSecondaryVM_Task)(nil)).Elem()
 16708  }
 16709  
 16710  type CreateSecondaryVM_TaskResponse struct {
 16711  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16712  }
 16713  
 16714  // The parameters of `VirtualMachine.CreateSnapshotEx_Task`.
 16715  type CreateSnapshotExRequestType struct {
 16716  	This ManagedObjectReference `xml:"_this" json:"-"`
 16717  	// The name for this snapshot. The name need not be unique for
 16718  	// this virtual machine.
 16719  	Name string `xml:"name" json:"name"`
 16720  	// A description for this snapshot. If omitted, a default
 16721  	// description may be provided.
 16722  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 16723  	// If TRUE, a dump of the internal state of the virtual machine
 16724  	// (basically a memory dump) is included in the snapshot. Memory snapshots
 16725  	// consume time and resources, and thus take longer to create.
 16726  	// When set to FALSE, the power state of the snapshot is set to powered off.
 16727  	//
 16728  	// `capabilities`
 16729  	// indicates whether or not this virtual machine supports this operation.
 16730  	// For a virtual machine in suspended state we always include memory
 16731  	// unless `VirtualMachineCapability.diskOnlySnapshotOnSuspendedVMSupported` is
 16732  	// true.
 16733  	Memory bool `xml:"memory" json:"memory"`
 16734  	// Spec for granular control over quiesce details.
 16735  	// If quiesceSpec is set and the virtual machine is powered on when the
 16736  	// snapshot is taken, VMware Tools is used to quiesce the file
 16737  	// system in the virtual machine. This assures that a disk snapshot
 16738  	// represents a consistent state of the guest file systems. If the virtual
 16739  	// machine is powered off or VMware Tools are not available, the quiesce
 16740  	// spec is ignored. If the spec type is `VirtualMachineGuestQuiesceSpec`, the
 16741  	// default quiescing process will be applied. If the spec type is
 16742  	// `VirtualMachineWindowsQuiesceSpec` and Guest OS is Windows, the parameters
 16743  	// will control the VSS process.
 16744  	QuiesceSpec BaseVirtualMachineGuestQuiesceSpec `xml:"quiesceSpec,omitempty,typeattr" json:"quiesceSpec,omitempty"`
 16745  }
 16746  
 16747  func init() {
 16748  	t["CreateSnapshotExRequestType"] = reflect.TypeOf((*CreateSnapshotExRequestType)(nil)).Elem()
 16749  }
 16750  
 16751  type CreateSnapshotEx_Task CreateSnapshotExRequestType
 16752  
 16753  func init() {
 16754  	t["CreateSnapshotEx_Task"] = reflect.TypeOf((*CreateSnapshotEx_Task)(nil)).Elem()
 16755  }
 16756  
 16757  type CreateSnapshotEx_TaskResponse struct {
 16758  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16759  }
 16760  
 16761  // The parameters of `VirtualMachine.CreateSnapshot_Task`.
 16762  type CreateSnapshotRequestType struct {
 16763  	This ManagedObjectReference `xml:"_this" json:"-"`
 16764  	// The name for this snapshot. The name need not be unique for
 16765  	// this virtual machine.
 16766  	Name string `xml:"name" json:"name"`
 16767  	// A description for this snapshot. If omitted, a default
 16768  	// description may be provided.
 16769  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 16770  	// If TRUE, a dump of the internal state of the virtual machine
 16771  	// (basically a memory dump) is included in the snapshot. Memory snapshots
 16772  	// consume time and resources, and thus take longer to create. When set to FALSE,
 16773  	// the power state of the snapshot is set to powered off.
 16774  	//
 16775  	// `capabilities`
 16776  	// indicates whether or not this virtual machine supports this operation.
 16777  	// For a virtual machine in suspended state we always include memory
 16778  	// unless `VirtualMachineCapability.diskOnlySnapshotOnSuspendedVMSupported` is
 16779  	// true.
 16780  	Memory bool `xml:"memory" json:"memory"`
 16781  	// If TRUE and the virtual machine is powered on when the
 16782  	// snapshot is taken, VMware Tools is used to quiesce the file
 16783  	// system in the virtual machine. This assures that a disk snapshot
 16784  	// represents a consistent state of the guest file systems. If the virtual machine
 16785  	// is powered off or VMware Tools are not available, the quiesce flag is ignored.
 16786  	Quiesce bool `xml:"quiesce" json:"quiesce"`
 16787  }
 16788  
 16789  func init() {
 16790  	t["CreateSnapshotRequestType"] = reflect.TypeOf((*CreateSnapshotRequestType)(nil)).Elem()
 16791  }
 16792  
 16793  type CreateSnapshot_Task CreateSnapshotRequestType
 16794  
 16795  func init() {
 16796  	t["CreateSnapshot_Task"] = reflect.TypeOf((*CreateSnapshot_Task)(nil)).Elem()
 16797  }
 16798  
 16799  type CreateSnapshot_TaskResponse struct {
 16800  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16801  }
 16802  
 16803  type CreateSoftwareAdapter CreateSoftwareAdapterRequestType
 16804  
 16805  func init() {
 16806  	t["CreateSoftwareAdapter"] = reflect.TypeOf((*CreateSoftwareAdapter)(nil)).Elem()
 16807  }
 16808  
 16809  // The parameters of `HostStorageSystem.CreateSoftwareAdapter`.
 16810  type CreateSoftwareAdapterRequestType struct {
 16811  	This ManagedObjectReference `xml:"_this" json:"-"`
 16812  	// A data object that specifices the parameters necessary
 16813  	// to create a software host bus adapter of a specific type.
 16814  	Spec BaseHostHbaCreateSpec `xml:"spec,typeattr" json:"spec"`
 16815  }
 16816  
 16817  func init() {
 16818  	t["CreateSoftwareAdapterRequestType"] = reflect.TypeOf((*CreateSoftwareAdapterRequestType)(nil)).Elem()
 16819  }
 16820  
 16821  type CreateSoftwareAdapterResponse struct {
 16822  }
 16823  
 16824  type CreateStoragePod CreateStoragePodRequestType
 16825  
 16826  func init() {
 16827  	t["CreateStoragePod"] = reflect.TypeOf((*CreateStoragePod)(nil)).Elem()
 16828  }
 16829  
 16830  // The parameters of `Folder.CreateStoragePod`.
 16831  type CreateStoragePodRequestType struct {
 16832  	This ManagedObjectReference `xml:"_this" json:"-"`
 16833  	// Name for the new storage pod.
 16834  	Name string `xml:"name" json:"name"`
 16835  }
 16836  
 16837  func init() {
 16838  	t["CreateStoragePodRequestType"] = reflect.TypeOf((*CreateStoragePodRequestType)(nil)).Elem()
 16839  }
 16840  
 16841  type CreateStoragePodResponse struct {
 16842  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16843  }
 16844  
 16845  type CreateTask CreateTaskRequestType
 16846  
 16847  func init() {
 16848  	t["CreateTask"] = reflect.TypeOf((*CreateTask)(nil)).Elem()
 16849  }
 16850  
 16851  // This data object type specifies the type of task to be created
 16852  // when this action is triggered.
 16853  type CreateTaskAction struct {
 16854  	Action
 16855  
 16856  	// Extension registered task type identifier
 16857  	// for type of task being created.
 16858  	TaskTypeId string `xml:"taskTypeId" json:"taskTypeId"`
 16859  	// Whether the task should be cancelable.
 16860  	Cancelable bool `xml:"cancelable" json:"cancelable"`
 16861  }
 16862  
 16863  func init() {
 16864  	t["CreateTaskAction"] = reflect.TypeOf((*CreateTaskAction)(nil)).Elem()
 16865  	minAPIVersionForType["CreateTaskAction"] = "2.5"
 16866  }
 16867  
 16868  // The parameters of `TaskManager.CreateTask`.
 16869  type CreateTaskRequestType struct {
 16870  	This ManagedObjectReference `xml:"_this" json:"-"`
 16871  	// ManagedObject with which Task will be associated
 16872  	Obj ManagedObjectReference `xml:"obj" json:"obj"`
 16873  	// Extension registered task type identifier
 16874  	// for type of task being created
 16875  	TaskTypeId string `xml:"taskTypeId" json:"taskTypeId"`
 16876  	// The name of the user on whose behalf the
 16877  	// Extension is creating the task
 16878  	InitiatedBy string `xml:"initiatedBy,omitempty" json:"initiatedBy,omitempty"`
 16879  	// True if the task should be cancelable,
 16880  	// false otherwise
 16881  	Cancelable bool `xml:"cancelable" json:"cancelable"`
 16882  	// Key of the task that is the parent of this task
 16883  	ParentTaskKey string `xml:"parentTaskKey,omitempty" json:"parentTaskKey,omitempty" vim:"4.0"`
 16884  	// Activation Id is a client-provided token to link an
 16885  	// API call with a task. When provided, the activationId is added to the
 16886  	// `TaskInfo`
 16887  	ActivationId string `xml:"activationId,omitempty" json:"activationId,omitempty" vim:"6.0"`
 16888  }
 16889  
 16890  func init() {
 16891  	t["CreateTaskRequestType"] = reflect.TypeOf((*CreateTaskRequestType)(nil)).Elem()
 16892  }
 16893  
 16894  type CreateTaskResponse struct {
 16895  	Returnval TaskInfo `xml:"returnval" json:"returnval"`
 16896  }
 16897  
 16898  type CreateTemporaryDirectoryInGuest CreateTemporaryDirectoryInGuestRequestType
 16899  
 16900  func init() {
 16901  	t["CreateTemporaryDirectoryInGuest"] = reflect.TypeOf((*CreateTemporaryDirectoryInGuest)(nil)).Elem()
 16902  }
 16903  
 16904  // The parameters of `GuestFileManager.CreateTemporaryDirectoryInGuest`.
 16905  type CreateTemporaryDirectoryInGuestRequestType struct {
 16906  	This ManagedObjectReference `xml:"_this" json:"-"`
 16907  	// Virtual Machine to perform the operation on.
 16908  	//
 16909  	// Required privileges: VirtualMachine.GuestOperations.Modify
 16910  	//
 16911  	// Refers instance of `VirtualMachine`.
 16912  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 16913  	// The guest authentication data. See
 16914  	// `GuestAuthentication`.
 16915  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 16916  	// The prefix to be given to the new temporary directory.
 16917  	Prefix string `xml:"prefix" json:"prefix"`
 16918  	// The suffix to be given to the new temporary directory.
 16919  	Suffix string `xml:"suffix" json:"suffix"`
 16920  	// The complete path to the directory in which to create the
 16921  	// new directory. If unset or an empty string, a guest-specific location
 16922  	// will be used.
 16923  	DirectoryPath string `xml:"directoryPath,omitempty" json:"directoryPath,omitempty"`
 16924  }
 16925  
 16926  func init() {
 16927  	t["CreateTemporaryDirectoryInGuestRequestType"] = reflect.TypeOf((*CreateTemporaryDirectoryInGuestRequestType)(nil)).Elem()
 16928  }
 16929  
 16930  type CreateTemporaryDirectoryInGuestResponse struct {
 16931  	Returnval string `xml:"returnval" json:"returnval"`
 16932  }
 16933  
 16934  type CreateTemporaryFileInGuest CreateTemporaryFileInGuestRequestType
 16935  
 16936  func init() {
 16937  	t["CreateTemporaryFileInGuest"] = reflect.TypeOf((*CreateTemporaryFileInGuest)(nil)).Elem()
 16938  }
 16939  
 16940  // The parameters of `GuestFileManager.CreateTemporaryFileInGuest`.
 16941  type CreateTemporaryFileInGuestRequestType struct {
 16942  	This ManagedObjectReference `xml:"_this" json:"-"`
 16943  	// Virtual Machine to perform the operation on.
 16944  	//
 16945  	// Required privileges: VirtualMachine.GuestOperations.Modify
 16946  	//
 16947  	// Refers instance of `VirtualMachine`.
 16948  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 16949  	// The guest authentication data. See
 16950  	// `GuestAuthentication`.
 16951  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 16952  	// The prefix to be given to the new temporary file.
 16953  	Prefix string `xml:"prefix" json:"prefix"`
 16954  	// The suffix to be given to the new temporary file.
 16955  	Suffix string `xml:"suffix" json:"suffix"`
 16956  	// The complete path to the directory in which to
 16957  	// create the file.
 16958  	// If unset, or an empty string, a guest-specific location will be used.
 16959  	DirectoryPath string `xml:"directoryPath,omitempty" json:"directoryPath,omitempty"`
 16960  }
 16961  
 16962  func init() {
 16963  	t["CreateTemporaryFileInGuestRequestType"] = reflect.TypeOf((*CreateTemporaryFileInGuestRequestType)(nil)).Elem()
 16964  }
 16965  
 16966  type CreateTemporaryFileInGuestResponse struct {
 16967  	Returnval string `xml:"returnval" json:"returnval"`
 16968  }
 16969  
 16970  type CreateUser CreateUserRequestType
 16971  
 16972  func init() {
 16973  	t["CreateUser"] = reflect.TypeOf((*CreateUser)(nil)).Elem()
 16974  }
 16975  
 16976  // The parameters of `HostLocalAccountManager.CreateUser`.
 16977  type CreateUserRequestType struct {
 16978  	This ManagedObjectReference `xml:"_this" json:"-"`
 16979  	// Specification of user being created.
 16980  	User BaseHostAccountSpec `xml:"user,typeattr" json:"user"`
 16981  }
 16982  
 16983  func init() {
 16984  	t["CreateUserRequestType"] = reflect.TypeOf((*CreateUserRequestType)(nil)).Elem()
 16985  }
 16986  
 16987  type CreateUserResponse struct {
 16988  }
 16989  
 16990  type CreateVApp CreateVAppRequestType
 16991  
 16992  func init() {
 16993  	t["CreateVApp"] = reflect.TypeOf((*CreateVApp)(nil)).Elem()
 16994  }
 16995  
 16996  // The parameters of `ResourcePool.CreateVApp`.
 16997  type CreateVAppRequestType struct {
 16998  	This ManagedObjectReference `xml:"_this" json:"-"`
 16999  	// The name of the vApp container in the inventory
 17000  	Name string `xml:"name" json:"name"`
 17001  	// The resource configuration for the vApp container (same as for a
 17002  	// regular resource pool).
 17003  	ResSpec ResourceConfigSpec `xml:"resSpec" json:"resSpec"`
 17004  	// The specification of the vApp specific meta-data.
 17005  	ConfigSpec VAppConfigSpec `xml:"configSpec" json:"configSpec"`
 17006  	// The parent folder for the vApp. This must be null if this is
 17007  	// a child vApp.
 17008  	//
 17009  	// Refers instance of `Folder`.
 17010  	VmFolder *ManagedObjectReference `xml:"vmFolder,omitempty" json:"vmFolder,omitempty"`
 17011  }
 17012  
 17013  func init() {
 17014  	t["CreateVAppRequestType"] = reflect.TypeOf((*CreateVAppRequestType)(nil)).Elem()
 17015  }
 17016  
 17017  type CreateVAppResponse struct {
 17018  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 17019  }
 17020  
 17021  // The parameters of `Folder.CreateVM_Task`.
 17022  type CreateVMRequestType struct {
 17023  	This ManagedObjectReference `xml:"_this" json:"-"`
 17024  	// The configuration of the virtual machine hardware.
 17025  	Config VirtualMachineConfigSpec `xml:"config" json:"config"`
 17026  	// The resource pool to which the virtual machine will be attached.
 17027  	//
 17028  	// Required privileges: Resource.AssignVMToPool
 17029  	//
 17030  	// Refers instance of `ResourcePool`.
 17031  	Pool ManagedObjectReference `xml:"pool" json:"pool"`
 17032  	// The target host on which the virtual machine will run. This must
 17033  	// specify a host that is a member of the ComputeResource indirectly
 17034  	// specified by the pool. For a stand-alone host or a cluster with DRS,
 17035  	// host can be omitted, and the system selects a default.
 17036  	//
 17037  	// Refers instance of `HostSystem`.
 17038  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 17039  }
 17040  
 17041  func init() {
 17042  	t["CreateVMRequestType"] = reflect.TypeOf((*CreateVMRequestType)(nil)).Elem()
 17043  }
 17044  
 17045  type CreateVM_Task CreateVMRequestType
 17046  
 17047  func init() {
 17048  	t["CreateVM_Task"] = reflect.TypeOf((*CreateVM_Task)(nil)).Elem()
 17049  }
 17050  
 17051  type CreateVM_TaskResponse struct {
 17052  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 17053  }
 17054  
 17055  // The parameters of `VirtualDiskManager.CreateVirtualDisk_Task`.
 17056  type CreateVirtualDiskRequestType struct {
 17057  	This ManagedObjectReference `xml:"_this" json:"-"`
 17058  	// The name of the disk, either a datastore path or a
 17059  	// URL referring to the virtual disk to be created.
 17060  	Name string `xml:"name" json:"name"`
 17061  	// If <code>name</code> is a datastore path, the datacenter for
 17062  	// that datastore path. Not needed when invoked directly on ESX.
 17063  	// If not specified on a call to VirtualCenter,
 17064  	// <code>name</code> must be a URL.
 17065  	//
 17066  	// Refers instance of `Datacenter`.
 17067  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 17068  	// The specification of the virtual disk to be created.
 17069  	Spec BaseVirtualDiskSpec `xml:"spec,typeattr" json:"spec"`
 17070  }
 17071  
 17072  func init() {
 17073  	t["CreateVirtualDiskRequestType"] = reflect.TypeOf((*CreateVirtualDiskRequestType)(nil)).Elem()
 17074  }
 17075  
 17076  type CreateVirtualDisk_Task CreateVirtualDiskRequestType
 17077  
 17078  func init() {
 17079  	t["CreateVirtualDisk_Task"] = reflect.TypeOf((*CreateVirtualDisk_Task)(nil)).Elem()
 17080  }
 17081  
 17082  type CreateVirtualDisk_TaskResponse struct {
 17083  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 17084  }
 17085  
 17086  type CreateVmfsDatastore CreateVmfsDatastoreRequestType
 17087  
 17088  func init() {
 17089  	t["CreateVmfsDatastore"] = reflect.TypeOf((*CreateVmfsDatastore)(nil)).Elem()
 17090  }
 17091  
 17092  // The parameters of `HostDatastoreSystem.CreateVmfsDatastore`.
 17093  type CreateVmfsDatastoreRequestType struct {
 17094  	This ManagedObjectReference `xml:"_this" json:"-"`
 17095  	// The specification for creating a datastore backed by a VMFS.
 17096  	Spec VmfsDatastoreCreateSpec `xml:"spec" json:"spec"`
 17097  }
 17098  
 17099  func init() {
 17100  	t["CreateVmfsDatastoreRequestType"] = reflect.TypeOf((*CreateVmfsDatastoreRequestType)(nil)).Elem()
 17101  }
 17102  
 17103  type CreateVmfsDatastoreResponse struct {
 17104  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 17105  }
 17106  
 17107  type CreateVvolDatastore CreateVvolDatastoreRequestType
 17108  
 17109  func init() {
 17110  	t["CreateVvolDatastore"] = reflect.TypeOf((*CreateVvolDatastore)(nil)).Elem()
 17111  }
 17112  
 17113  // The parameters of `HostDatastoreSystem.CreateVvolDatastore`.
 17114  type CreateVvolDatastoreRequestType struct {
 17115  	This ManagedObjectReference `xml:"_this" json:"-"`
 17116  	// Specification for creating a Virtual-Volume based datastore.
 17117  	Spec HostDatastoreSystemVvolDatastoreSpec `xml:"spec" json:"spec"`
 17118  }
 17119  
 17120  func init() {
 17121  	t["CreateVvolDatastoreRequestType"] = reflect.TypeOf((*CreateVvolDatastoreRequestType)(nil)).Elem()
 17122  }
 17123  
 17124  type CreateVvolDatastoreResponse struct {
 17125  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 17126  }
 17127  
 17128  // Data Object representing a cryptographic key.
 17129  type CryptoKeyId struct {
 17130  	DynamicData
 17131  
 17132  	// Unique key ID.
 17133  	//
 17134  	// When creating a key may be replaced with the ID generated by the KMS
 17135  	// server.
 17136  	// An empty string must be used when encrypting with a Trusted Key Provider,
 17137  	// because the key is generated at the time of encryption.
 17138  	KeyId string `xml:"keyId" json:"keyId"`
 17139  	// The provider holding the key data.
 17140  	//
 17141  	// May be ignored if the key is known to be stored in another provider.
 17142  	ProviderId *KeyProviderId `xml:"providerId,omitempty" json:"providerId,omitempty"`
 17143  }
 17144  
 17145  func init() {
 17146  	t["CryptoKeyId"] = reflect.TypeOf((*CryptoKeyId)(nil)).Elem()
 17147  	minAPIVersionForType["CryptoKeyId"] = "6.5"
 17148  }
 17149  
 17150  // Data Object representing a plain text cryptographic key.
 17151  type CryptoKeyPlain struct {
 17152  	DynamicData
 17153  
 17154  	KeyId     CryptoKeyId `xml:"keyId" json:"keyId"`
 17155  	Algorithm string      `xml:"algorithm" json:"algorithm"`
 17156  	KeyData   string      `xml:"keyData" json:"keyData"`
 17157  }
 17158  
 17159  func init() {
 17160  	t["CryptoKeyPlain"] = reflect.TypeOf((*CryptoKeyPlain)(nil)).Elem()
 17161  	minAPIVersionForType["CryptoKeyPlain"] = "6.5"
 17162  }
 17163  
 17164  // CryptoKeyResult.java --
 17165  // Data Object representing a cryptographic key operation result.
 17166  type CryptoKeyResult struct {
 17167  	DynamicData
 17168  
 17169  	KeyId   CryptoKeyId `xml:"keyId" json:"keyId"`
 17170  	Success bool        `xml:"success" json:"success"`
 17171  	Reason  string      `xml:"reason,omitempty" json:"reason,omitempty"`
 17172  	// Fault which includes details about the error.
 17173  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty" vim:"7.0.1.0"`
 17174  }
 17175  
 17176  func init() {
 17177  	t["CryptoKeyResult"] = reflect.TypeOf((*CryptoKeyResult)(nil)).Elem()
 17178  	minAPIVersionForType["CryptoKeyResult"] = "6.5"
 17179  }
 17180  
 17181  type CryptoManagerHostDisable CryptoManagerHostDisableRequestType
 17182  
 17183  func init() {
 17184  	t["CryptoManagerHostDisable"] = reflect.TypeOf((*CryptoManagerHostDisable)(nil)).Elem()
 17185  }
 17186  
 17187  type CryptoManagerHostDisableRequestType struct {
 17188  	This ManagedObjectReference `xml:"_this" json:"-"`
 17189  }
 17190  
 17191  func init() {
 17192  	t["CryptoManagerHostDisableRequestType"] = reflect.TypeOf((*CryptoManagerHostDisableRequestType)(nil)).Elem()
 17193  }
 17194  
 17195  type CryptoManagerHostDisableResponse struct {
 17196  }
 17197  
 17198  type CryptoManagerHostEnable CryptoManagerHostEnableRequestType
 17199  
 17200  func init() {
 17201  	t["CryptoManagerHostEnable"] = reflect.TypeOf((*CryptoManagerHostEnable)(nil)).Elem()
 17202  }
 17203  
 17204  // The parameters of `CryptoManagerHost.CryptoManagerHostEnable`.
 17205  type CryptoManagerHostEnableRequestType struct {
 17206  	This ManagedObjectReference `xml:"_this" json:"-"`
 17207  	// The key to be used for core dump encryption
 17208  	InitialKey CryptoKeyPlain `xml:"initialKey" json:"initialKey"`
 17209  }
 17210  
 17211  func init() {
 17212  	t["CryptoManagerHostEnableRequestType"] = reflect.TypeOf((*CryptoManagerHostEnableRequestType)(nil)).Elem()
 17213  }
 17214  
 17215  type CryptoManagerHostEnableResponse struct {
 17216  }
 17217  
 17218  // Status of a Crypto key on host.
 17219  type CryptoManagerHostKeyStatus struct {
 17220  	DynamicData
 17221  
 17222  	// Crypto key Id.
 17223  	KeyId CryptoKeyId `xml:"keyId" json:"keyId"`
 17224  	// Whether the key is present in key cache for crypto operation.
 17225  	Present bool `xml:"present" json:"present"`
 17226  	// Key management type.
 17227  	//
 17228  	// See `CryptoManagerHostKeyManagementType_enum` for valid values.
 17229  	ManagementType string `xml:"managementType,omitempty" json:"managementType,omitempty"`
 17230  }
 17231  
 17232  func init() {
 17233  	t["CryptoManagerHostKeyStatus"] = reflect.TypeOf((*CryptoManagerHostKeyStatus)(nil)).Elem()
 17234  	minAPIVersionForType["CryptoManagerHostKeyStatus"] = "8.0.1.0"
 17235  }
 17236  
 17237  type CryptoManagerHostPrepare CryptoManagerHostPrepareRequestType
 17238  
 17239  func init() {
 17240  	t["CryptoManagerHostPrepare"] = reflect.TypeOf((*CryptoManagerHostPrepare)(nil)).Elem()
 17241  }
 17242  
 17243  type CryptoManagerHostPrepareRequestType struct {
 17244  	This ManagedObjectReference `xml:"_this" json:"-"`
 17245  }
 17246  
 17247  func init() {
 17248  	t["CryptoManagerHostPrepareRequestType"] = reflect.TypeOf((*CryptoManagerHostPrepareRequestType)(nil)).Elem()
 17249  }
 17250  
 17251  type CryptoManagerHostPrepareResponse struct {
 17252  }
 17253  
 17254  type CryptoManagerKmipCertSignRequest struct {
 17255  	DynamicData
 17256  
 17257  	// Common name for the certificate sign request.
 17258  	//
 17259  	// This is fully qualified domain name that you wish to secure.
 17260  	CommonName string `xml:"commonName,omitempty" json:"commonName,omitempty"`
 17261  	// Organization name for the certificate sign request.
 17262  	//
 17263  	// Usually the legal name of a company or entity and
 17264  	// should include any suffixes such as Ltd., Inc., or Corp.
 17265  	Organization string `xml:"organization,omitempty" json:"organization,omitempty"`
 17266  	// Organizational unit name for the certificate sign request.
 17267  	//
 17268  	// Internal organization department/division name.
 17269  	OrganizationUnit string `xml:"organizationUnit,omitempty" json:"organizationUnit,omitempty"`
 17270  	// Locality name for the certificate sign request.
 17271  	//
 17272  	// Town, city, village, etc.
 17273  	Locality string `xml:"locality,omitempty" json:"locality,omitempty"`
 17274  	// State name for the certificate sign request.
 17275  	//
 17276  	// Province, region, county or state.
 17277  	State string `xml:"state,omitempty" json:"state,omitempty"`
 17278  	// Country Name for the certificate sign request.
 17279  	//
 17280  	// The two-letter ISO code for the country where your
 17281  	// organization is located.
 17282  	Country string `xml:"country,omitempty" json:"country,omitempty"`
 17283  	// Email address for the certificate sign request.
 17284  	//
 17285  	// The organization contact, usually of the certificate
 17286  	// administrator or IT department.
 17287  	Email string `xml:"email,omitempty" json:"email,omitempty"`
 17288  }
 17289  
 17290  func init() {
 17291  	t["CryptoManagerKmipCertSignRequest"] = reflect.TypeOf((*CryptoManagerKmipCertSignRequest)(nil)).Elem()
 17292  }
 17293  
 17294  // Basic information of a certificate.
 17295  type CryptoManagerKmipCertificateInfo struct {
 17296  	DynamicData
 17297  
 17298  	// Subject identifies whom the certificate is issued to.
 17299  	Subject string `xml:"subject" json:"subject"`
 17300  	// Issuer identifies the party that issued this certificate.
 17301  	Issuer string `xml:"issuer" json:"issuer"`
 17302  	// The unique serial number of the certificate given by issuer.
 17303  	SerialNumber string `xml:"serialNumber" json:"serialNumber"`
 17304  	// The beginning time of the period of validity.
 17305  	NotBefore time.Time `xml:"notBefore" json:"notBefore"`
 17306  	// The ending time of the period of validity.
 17307  	NotAfter time.Time `xml:"notAfter" json:"notAfter"`
 17308  	// The SSL SHA1 fingerprint of the certificate.
 17309  	Fingerprint string `xml:"fingerprint" json:"fingerprint"`
 17310  	// The timestamp when the state of the certificate is checked.
 17311  	CheckTime time.Time `xml:"checkTime" json:"checkTime"`
 17312  	// Total seconds since this certificate has entered valid state.
 17313  	//
 17314  	// It is the time difference between "now" and "notBefore".
 17315  	// If it is negative value, that means the certificate will become
 17316  	// valid in a future time.
 17317  	SecondsSinceValid int32 `xml:"secondsSinceValid,omitempty" json:"secondsSinceValid,omitempty"`
 17318  	// Total seconds before this certificate expires.
 17319  	//
 17320  	// It is the time difference between "notAfter" and "now".
 17321  	// If it is negative value, that means the certificate has already
 17322  	// expired.
 17323  	SecondsBeforeExpire int32 `xml:"secondsBeforeExpire,omitempty" json:"secondsBeforeExpire,omitempty"`
 17324  }
 17325  
 17326  func init() {
 17327  	t["CryptoManagerKmipCertificateInfo"] = reflect.TypeOf((*CryptoManagerKmipCertificateInfo)(nil)).Elem()
 17328  	minAPIVersionForType["CryptoManagerKmipCertificateInfo"] = "6.5"
 17329  }
 17330  
 17331  // Status of a KMIP cluster.
 17332  type CryptoManagerKmipClusterStatus struct {
 17333  	DynamicData
 17334  
 17335  	// The ID of the KMIP cluster.
 17336  	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
 17337  	// KMS cluster overall status.
 17338  	OverallStatus ManagedEntityStatus `xml:"overallStatus,omitempty" json:"overallStatus,omitempty" vim:"7.0"`
 17339  	// Key provider management type.
 17340  	//
 17341  	// See `KmipClusterInfoKmsManagementType_enum` for valid values.
 17342  	ManagementType string `xml:"managementType,omitempty" json:"managementType,omitempty" vim:"7.0"`
 17343  	// Status of the KMIP servers in this cluster.
 17344  	Servers []CryptoManagerKmipServerStatus `xml:"servers" json:"servers"`
 17345  	// The basic information about the client's certificate.
 17346  	ClientCertInfo *CryptoManagerKmipCertificateInfo `xml:"clientCertInfo,omitempty" json:"clientCertInfo,omitempty"`
 17347  }
 17348  
 17349  func init() {
 17350  	t["CryptoManagerKmipClusterStatus"] = reflect.TypeOf((*CryptoManagerKmipClusterStatus)(nil)).Elem()
 17351  	minAPIVersionForType["CryptoManagerKmipClusterStatus"] = "6.5"
 17352  }
 17353  
 17354  // Status of a Crypto key
 17355  type CryptoManagerKmipCryptoKeyStatus struct {
 17356  	DynamicData
 17357  
 17358  	// Crypto key Id
 17359  	KeyId CryptoKeyId `xml:"keyId" json:"keyId"`
 17360  	// If the key is available for crypto operation
 17361  	KeyAvailable *bool `xml:"keyAvailable" json:"keyAvailable,omitempty"`
 17362  	// The reason for key not available, valid when keyAvailable is false.
 17363  	//
 17364  	// `CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason_enum` lists the set of supported values.
 17365  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 17366  	// The list of VMs which use that key
 17367  	//
 17368  	// Refers instances of `VirtualMachine`.
 17369  	EncryptedVMs []ManagedObjectReference `xml:"encryptedVMs,omitempty" json:"encryptedVMs,omitempty"`
 17370  	// The lists of hosts which use that key as host key
 17371  	//
 17372  	// Refers instances of `HostSystem`.
 17373  	AffectedHosts []ManagedObjectReference `xml:"affectedHosts,omitempty" json:"affectedHosts,omitempty"`
 17374  	// The identifier list for the 3rd party who are using the key
 17375  	ReferencedByTags []string `xml:"referencedByTags,omitempty" json:"referencedByTags,omitempty"`
 17376  }
 17377  
 17378  func init() {
 17379  	t["CryptoManagerKmipCryptoKeyStatus"] = reflect.TypeOf((*CryptoManagerKmipCryptoKeyStatus)(nil)).Elem()
 17380  	minAPIVersionForType["CryptoManagerKmipCryptoKeyStatus"] = "6.7.2"
 17381  }
 17382  
 17383  // Crypto key custom attribute spec
 17384  type CryptoManagerKmipCustomAttributeSpec struct {
 17385  	DynamicData
 17386  
 17387  	// Crypto key custom attributes
 17388  	Attributes []KeyValue `xml:"attributes,omitempty" json:"attributes,omitempty"`
 17389  }
 17390  
 17391  func init() {
 17392  	t["CryptoManagerKmipCustomAttributeSpec"] = reflect.TypeOf((*CryptoManagerKmipCustomAttributeSpec)(nil)).Elem()
 17393  	minAPIVersionForType["CryptoManagerKmipCustomAttributeSpec"] = "8.0.1.0"
 17394  }
 17395  
 17396  // Information about the KMIP server certificate.
 17397  type CryptoManagerKmipServerCertInfo struct {
 17398  	DynamicData
 17399  
 17400  	// The server certificate.
 17401  	Certificate string `xml:"certificate" json:"certificate"`
 17402  	// The basic information about server's certificate.
 17403  	CertInfo *CryptoManagerKmipCertificateInfo `xml:"certInfo,omitempty" json:"certInfo,omitempty"`
 17404  	// Whether this KMS server is trusted by local Kmip client.
 17405  	ClientTrustServer *bool `xml:"clientTrustServer" json:"clientTrustServer,omitempty"`
 17406  }
 17407  
 17408  func init() {
 17409  	t["CryptoManagerKmipServerCertInfo"] = reflect.TypeOf((*CryptoManagerKmipServerCertInfo)(nil)).Elem()
 17410  	minAPIVersionForType["CryptoManagerKmipServerCertInfo"] = "6.5"
 17411  }
 17412  
 17413  // Status of a KMIP server.
 17414  type CryptoManagerKmipServerStatus struct {
 17415  	DynamicData
 17416  
 17417  	// Name of the KMIP server.
 17418  	Name string `xml:"name" json:"name"`
 17419  	// KMIP server status.
 17420  	Status ManagedEntityStatus `xml:"status" json:"status"`
 17421  	// KMIP server connection status description.
 17422  	ConnectionStatus string `xml:"connectionStatus" json:"connectionStatus"`
 17423  	// The basic information about the KMIP server's certificate.
 17424  	CertInfo *CryptoManagerKmipCertificateInfo `xml:"certInfo,omitempty" json:"certInfo,omitempty"`
 17425  	// Whether this KMS server is trusted by local Kmip client.
 17426  	ClientTrustServer *bool `xml:"clientTrustServer" json:"clientTrustServer,omitempty"`
 17427  	// Whether this KMS server trusts the local Kmip client.
 17428  	ServerTrustClient *bool `xml:"serverTrustClient" json:"serverTrustClient,omitempty"`
 17429  }
 17430  
 17431  func init() {
 17432  	t["CryptoManagerKmipServerStatus"] = reflect.TypeOf((*CryptoManagerKmipServerStatus)(nil)).Elem()
 17433  	minAPIVersionForType["CryptoManagerKmipServerStatus"] = "6.5"
 17434  }
 17435  
 17436  // This data object type encapsulates virtual machine or disk encryption
 17437  // settings.
 17438  type CryptoSpec struct {
 17439  	DynamicData
 17440  }
 17441  
 17442  func init() {
 17443  	t["CryptoSpec"] = reflect.TypeOf((*CryptoSpec)(nil)).Elem()
 17444  	minAPIVersionForType["CryptoSpec"] = "6.5"
 17445  }
 17446  
 17447  // This data object type encapsulates virtual machine or disk encryption
 17448  // settings for decryption operation.
 17449  type CryptoSpecDecrypt struct {
 17450  	CryptoSpec
 17451  }
 17452  
 17453  func init() {
 17454  	t["CryptoSpecDecrypt"] = reflect.TypeOf((*CryptoSpecDecrypt)(nil)).Elem()
 17455  	minAPIVersionForType["CryptoSpecDecrypt"] = "6.5"
 17456  }
 17457  
 17458  // This data object type encapsulates virtual machine or disk cryptographic
 17459  // settings for deep reencryption operation.
 17460  type CryptoSpecDeepRecrypt struct {
 17461  	CryptoSpec
 17462  
 17463  	NewKeyId CryptoKeyId `xml:"newKeyId" json:"newKeyId"`
 17464  }
 17465  
 17466  func init() {
 17467  	t["CryptoSpecDeepRecrypt"] = reflect.TypeOf((*CryptoSpecDeepRecrypt)(nil)).Elem()
 17468  	minAPIVersionForType["CryptoSpecDeepRecrypt"] = "6.5"
 17469  }
 17470  
 17471  // This data object type encapsulates virtual machine or disk cryptohraphic
 17472  // settings for encryption operation.
 17473  type CryptoSpecEncrypt struct {
 17474  	CryptoSpec
 17475  
 17476  	CryptoKeyId CryptoKeyId `xml:"cryptoKeyId" json:"cryptoKeyId"`
 17477  }
 17478  
 17479  func init() {
 17480  	t["CryptoSpecEncrypt"] = reflect.TypeOf((*CryptoSpecEncrypt)(nil)).Elem()
 17481  	minAPIVersionForType["CryptoSpecEncrypt"] = "6.5"
 17482  }
 17483  
 17484  // This data object type indicates that the encryption settings of the
 17485  // virtual machine or disk should not be modified by the operation.
 17486  type CryptoSpecNoOp struct {
 17487  	CryptoSpec
 17488  }
 17489  
 17490  func init() {
 17491  	t["CryptoSpecNoOp"] = reflect.TypeOf((*CryptoSpecNoOp)(nil)).Elem()
 17492  	minAPIVersionForType["CryptoSpecNoOp"] = "6.5"
 17493  }
 17494  
 17495  // This data object type indicates that the operation requires keys to be sent
 17496  // but the encryption settings of the virtual machine or disk
 17497  // should not be modified by the operation.
 17498  type CryptoSpecRegister struct {
 17499  	CryptoSpecNoOp
 17500  
 17501  	// The key the VM/disk is already encrypted with.
 17502  	CryptoKeyId CryptoKeyId `xml:"cryptoKeyId" json:"cryptoKeyId"`
 17503  }
 17504  
 17505  func init() {
 17506  	t["CryptoSpecRegister"] = reflect.TypeOf((*CryptoSpecRegister)(nil)).Elem()
 17507  	minAPIVersionForType["CryptoSpecRegister"] = "6.5"
 17508  }
 17509  
 17510  // This data object type encapsulates virtual machine or disk cryptographic
 17511  // settings for shallow reencryption operation.
 17512  type CryptoSpecShallowRecrypt struct {
 17513  	CryptoSpec
 17514  
 17515  	NewKeyId CryptoKeyId `xml:"newKeyId" json:"newKeyId"`
 17516  }
 17517  
 17518  func init() {
 17519  	t["CryptoSpecShallowRecrypt"] = reflect.TypeOf((*CryptoSpecShallowRecrypt)(nil)).Elem()
 17520  	minAPIVersionForType["CryptoSpecShallowRecrypt"] = "6.5"
 17521  }
 17522  
 17523  type CryptoUnlockRequestType struct {
 17524  	This ManagedObjectReference `xml:"_this" json:"-"`
 17525  }
 17526  
 17527  func init() {
 17528  	t["CryptoUnlockRequestType"] = reflect.TypeOf((*CryptoUnlockRequestType)(nil)).Elem()
 17529  }
 17530  
 17531  type CryptoUnlock_Task CryptoUnlockRequestType
 17532  
 17533  func init() {
 17534  	t["CryptoUnlock_Task"] = reflect.TypeOf((*CryptoUnlock_Task)(nil)).Elem()
 17535  }
 17536  
 17537  type CryptoUnlock_TaskResponse struct {
 17538  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 17539  }
 17540  
 17541  type CurrentTime CurrentTimeRequestType
 17542  
 17543  func init() {
 17544  	t["CurrentTime"] = reflect.TypeOf((*CurrentTime)(nil)).Elem()
 17545  }
 17546  
 17547  type CurrentTimeRequestType struct {
 17548  	This ManagedObjectReference `xml:"_this" json:"-"`
 17549  }
 17550  
 17551  func init() {
 17552  	t["CurrentTimeRequestType"] = reflect.TypeOf((*CurrentTimeRequestType)(nil)).Elem()
 17553  }
 17554  
 17555  type CurrentTimeResponse struct {
 17556  	Returnval time.Time `xml:"returnval" json:"returnval"`
 17557  }
 17558  
 17559  // Describes a custom field.
 17560  type CustomFieldDef struct {
 17561  	DynamicData
 17562  
 17563  	// A unique ID used to reference this custom field in assignments.
 17564  	//
 17565  	// This
 17566  	// ID is unique for the lifetime of the field (even across
 17567  	// rename operations).
 17568  	Key int32 `xml:"key" json:"key"`
 17569  	// Name of the field.
 17570  	Name string `xml:"name" json:"name"`
 17571  	// Type of the field.
 17572  	Type string `xml:"type" json:"type"`
 17573  	// Type of object for which the field is valid.
 17574  	//
 17575  	// If not specified,
 17576  	// the field is valid for all managed objects.
 17577  	ManagedObjectType string `xml:"managedObjectType,omitempty" json:"managedObjectType,omitempty" vim:"2.5"`
 17578  	// The set of privileges to apply on this field definition
 17579  	FieldDefPrivileges *PrivilegePolicyDef `xml:"fieldDefPrivileges,omitempty" json:"fieldDefPrivileges,omitempty" vim:"2.5"`
 17580  	// The set of privileges to apply on instances of this field
 17581  	FieldInstancePrivileges *PrivilegePolicyDef `xml:"fieldInstancePrivileges,omitempty" json:"fieldInstancePrivileges,omitempty" vim:"2.5"`
 17582  }
 17583  
 17584  func init() {
 17585  	t["CustomFieldDef"] = reflect.TypeOf((*CustomFieldDef)(nil)).Elem()
 17586  }
 17587  
 17588  // This event records the addition of a custom field definition.
 17589  type CustomFieldDefAddedEvent struct {
 17590  	CustomFieldDefEvent
 17591  }
 17592  
 17593  func init() {
 17594  	t["CustomFieldDefAddedEvent"] = reflect.TypeOf((*CustomFieldDefAddedEvent)(nil)).Elem()
 17595  }
 17596  
 17597  // This event records a custom field definition event.
 17598  type CustomFieldDefEvent struct {
 17599  	CustomFieldEvent
 17600  
 17601  	// The unique identifier of the custom field definition.
 17602  	FieldKey int32 `xml:"fieldKey" json:"fieldKey"`
 17603  	// The name of the custom field.
 17604  	Name string `xml:"name" json:"name"`
 17605  }
 17606  
 17607  func init() {
 17608  	t["CustomFieldDefEvent"] = reflect.TypeOf((*CustomFieldDefEvent)(nil)).Elem()
 17609  }
 17610  
 17611  // This event records the removal of a custom field definition.
 17612  type CustomFieldDefRemovedEvent struct {
 17613  	CustomFieldDefEvent
 17614  }
 17615  
 17616  func init() {
 17617  	t["CustomFieldDefRemovedEvent"] = reflect.TypeOf((*CustomFieldDefRemovedEvent)(nil)).Elem()
 17618  }
 17619  
 17620  // This event records the renaming of a custom field definition.
 17621  type CustomFieldDefRenamedEvent struct {
 17622  	CustomFieldDefEvent
 17623  
 17624  	NewName string `xml:"newName" json:"newName"`
 17625  }
 17626  
 17627  func init() {
 17628  	t["CustomFieldDefRenamedEvent"] = reflect.TypeOf((*CustomFieldDefRenamedEvent)(nil)).Elem()
 17629  }
 17630  
 17631  // These are custom field events.
 17632  type CustomFieldEvent struct {
 17633  	Event
 17634  }
 17635  
 17636  func init() {
 17637  	t["CustomFieldEvent"] = reflect.TypeOf((*CustomFieldEvent)(nil)).Elem()
 17638  }
 17639  
 17640  // Subtype for string values (currently the only supported type).
 17641  type CustomFieldStringValue struct {
 17642  	CustomFieldValue
 17643  
 17644  	// Value assigned to the custom field.
 17645  	Value string `xml:"value" json:"value"`
 17646  }
 17647  
 17648  func init() {
 17649  	t["CustomFieldStringValue"] = reflect.TypeOf((*CustomFieldStringValue)(nil)).Elem()
 17650  }
 17651  
 17652  // Base type for storing values.
 17653  type CustomFieldValue struct {
 17654  	DynamicData
 17655  
 17656  	// The ID of the field to which this value belongs.
 17657  	Key int32 `xml:"key" json:"key"`
 17658  }
 17659  
 17660  func init() {
 17661  	t["CustomFieldValue"] = reflect.TypeOf((*CustomFieldValue)(nil)).Elem()
 17662  }
 17663  
 17664  // This event records a change to a custom field value for a particular entity.
 17665  type CustomFieldValueChangedEvent struct {
 17666  	CustomFieldEvent
 17667  
 17668  	// The entity on which the field value was changed.
 17669  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
 17670  	// The custom field whose value was changed for the entity.
 17671  	FieldKey int32 `xml:"fieldKey" json:"fieldKey"`
 17672  	// The name of the custom field at the time the value was changed.
 17673  	Name string `xml:"name" json:"name"`
 17674  	// The new value that was set.
 17675  	Value string `xml:"value" json:"value"`
 17676  	// The previous service state.
 17677  	PrevState string `xml:"prevState,omitempty" json:"prevState,omitempty" vim:"6.5"`
 17678  }
 17679  
 17680  func init() {
 17681  	t["CustomFieldValueChangedEvent"] = reflect.TypeOf((*CustomFieldValueChangedEvent)(nil)).Elem()
 17682  }
 17683  
 17684  // Data object type to associate a virtual network adapter with its IP settings.
 17685  type CustomizationAdapterMapping struct {
 17686  	DynamicData
 17687  
 17688  	// The MAC address of a network adapter being customized.
 17689  	//
 17690  	// The client cannot change
 17691  	// this value because the guest operating system has no control over the MAC
 17692  	// address of a virtual network adapter.
 17693  	//
 17694  	// This property is optional. If it is not included, the customization process maps
 17695  	// the settings from the list of AdapterMappings.IPSettings in the
 17696  	// Specification.nicSettingMap to the virtual machine's network adapters, in PCI
 17697  	// slot order. The first virtual network adapter on the PCI bus is assigned
 17698  	// nicSettingMap\[0\].IPSettings, the second adapter is assigned
 17699  	// nicSettingMap\[1\].IPSettings, and so on.
 17700  	//
 17701  	// In vSphere 7.0 series, the MAC addresses must be specified in the
 17702  	// ascending order of pciSlotNumber, otherwise a MAC address mismatch error
 17703  	// will be reported. For further details, see the
 17704  	// https://kb.vmware.com/s/article/87648
 17705  	MacAddress string `xml:"macAddress,omitempty" json:"macAddress,omitempty"`
 17706  	// The IP settings for the associated virtual network adapter.
 17707  	Adapter CustomizationIPSettings `xml:"adapter" json:"adapter"`
 17708  }
 17709  
 17710  func init() {
 17711  	t["CustomizationAdapterMapping"] = reflect.TypeOf((*CustomizationAdapterMapping)(nil)).Elem()
 17712  }
 17713  
 17714  // Use automatic address configuration to generate linklocal ipv6 addresses
 17715  type CustomizationAutoIpV6Generator struct {
 17716  	CustomizationIpV6Generator
 17717  }
 17718  
 17719  func init() {
 17720  	t["CustomizationAutoIpV6Generator"] = reflect.TypeOf((*CustomizationAutoIpV6Generator)(nil)).Elem()
 17721  	minAPIVersionForType["CustomizationAutoIpV6Generator"] = "4.0"
 17722  }
 17723  
 17724  // Guest customization settings to customize a Linux guest operating
 17725  // system with raw cloud-init data.
 17726  type CustomizationCloudinitPrep struct {
 17727  	CustomizationIdentitySettings
 17728  
 17729  	// Metadata includes the network, instance id and hostname that cloud-init
 17730  	// processes to configure the VM.
 17731  	//
 17732  	// It is in json or yaml format.
 17733  	// The max size of the metadata is 524288 bytes.
 17734  	// See detail information about <a href="https://cloudinit.readthedocs.io/en/latest/topics/instancedata.html#"target="_blank">Instance Metadata</a>.
 17735  	Metadata string `xml:"metadata" json:"metadata"`
 17736  	// Userdata is the user custom content that cloud-init processes to
 17737  	// configure the VM.
 17738  	//
 17739  	// The max size of the userdata is 524288 bytes.
 17740  	// See detail information about <a href="https://cloudinit.readthedocs.io/en/latest/topics/format.html"target="_blank">User-Data formats</a>.
 17741  	Userdata string `xml:"userdata,omitempty" json:"userdata,omitempty"`
 17742  }
 17743  
 17744  func init() {
 17745  	t["CustomizationCloudinitPrep"] = reflect.TypeOf((*CustomizationCloudinitPrep)(nil)).Elem()
 17746  	minAPIVersionForType["CustomizationCloudinitPrep"] = "7.0.3.0"
 17747  }
 17748  
 17749  // Use a command-line program configured with the VirtualCenter server.
 17750  type CustomizationCustomIpGenerator struct {
 17751  	CustomizationIpGenerator
 17752  
 17753  	// An optional argument that is passed to the utility for this IP address.
 17754  	//
 17755  	// The
 17756  	// meaning of this field is user-defined, in the script.
 17757  	Argument string `xml:"argument,omitempty" json:"argument,omitempty"`
 17758  }
 17759  
 17760  func init() {
 17761  	t["CustomizationCustomIpGenerator"] = reflect.TypeOf((*CustomizationCustomIpGenerator)(nil)).Elem()
 17762  }
 17763  
 17764  // Use a command-line program configured with the VirtualCenter server.
 17765  type CustomizationCustomIpV6Generator struct {
 17766  	CustomizationIpV6Generator
 17767  
 17768  	// An optional argument that is passed to the utility for this ipv6 address.
 17769  	//
 17770  	// The
 17771  	// meaning of this field is user-defined, in the script.
 17772  	Argument string `xml:"argument,omitempty" json:"argument,omitempty"`
 17773  }
 17774  
 17775  func init() {
 17776  	t["CustomizationCustomIpV6Generator"] = reflect.TypeOf((*CustomizationCustomIpV6Generator)(nil)).Elem()
 17777  	minAPIVersionForType["CustomizationCustomIpV6Generator"] = "4.0"
 17778  }
 17779  
 17780  // Specifies that the VirtualCenter server will launch an external application to
 17781  // generate the (hostname/IP).
 17782  //
 17783  // The command line for this application must be specified
 17784  // in the server configuration file (vpxd.cfg) in the vpxd/name-ip-generator key.
 17785  type CustomizationCustomName struct {
 17786  	CustomizationName
 17787  
 17788  	// An optional argument that is passed to the utility for this IP address.
 17789  	//
 17790  	// The
 17791  	// meaning of this field is user-defined in the script.
 17792  	Argument string `xml:"argument,omitempty" json:"argument,omitempty"`
 17793  }
 17794  
 17795  func init() {
 17796  	t["CustomizationCustomName"] = reflect.TypeOf((*CustomizationCustomName)(nil)).Elem()
 17797  }
 17798  
 17799  // Use a DHCP server to configure the virtual network adapter.
 17800  type CustomizationDhcpIpGenerator struct {
 17801  	CustomizationIpGenerator
 17802  }
 17803  
 17804  func init() {
 17805  	t["CustomizationDhcpIpGenerator"] = reflect.TypeOf((*CustomizationDhcpIpGenerator)(nil)).Elem()
 17806  }
 17807  
 17808  // Use a DHCP server to configure ipv6 address
 17809  type CustomizationDhcpIpV6Generator struct {
 17810  	CustomizationIpV6Generator
 17811  }
 17812  
 17813  func init() {
 17814  	t["CustomizationDhcpIpV6Generator"] = reflect.TypeOf((*CustomizationDhcpIpV6Generator)(nil)).Elem()
 17815  	minAPIVersionForType["CustomizationDhcpIpV6Generator"] = "4.0"
 17816  }
 17817  
 17818  // Base for customization events.
 17819  type CustomizationEvent struct {
 17820  	VmEvent
 17821  
 17822  	// The location of the in-guest customization log which will contain
 17823  	// details of the customization operation.
 17824  	LogLocation string `xml:"logLocation,omitempty" json:"logLocation,omitempty"`
 17825  }
 17826  
 17827  func init() {
 17828  	t["CustomizationEvent"] = reflect.TypeOf((*CustomizationEvent)(nil)).Elem()
 17829  	minAPIVersionForType["CustomizationEvent"] = "2.5"
 17830  }
 17831  
 17832  // The customization sequence in the guest failed.
 17833  type CustomizationFailed struct {
 17834  	CustomizationEvent
 17835  
 17836  	// Reason why the customization failed @see CustomizationFailed.ReasonCode .
 17837  	Reason string `xml:"reason,omitempty" json:"reason,omitempty" vim:"7.0"`
 17838  }
 17839  
 17840  func init() {
 17841  	t["CustomizationFailed"] = reflect.TypeOf((*CustomizationFailed)(nil)).Elem()
 17842  	minAPIVersionForType["CustomizationFailed"] = "2.5"
 17843  }
 17844  
 17845  // Base for exceptions that can be thrown from the customizer.
 17846  type CustomizationFault struct {
 17847  	VimFault
 17848  }
 17849  
 17850  func init() {
 17851  	t["CustomizationFault"] = reflect.TypeOf((*CustomizationFault)(nil)).Elem()
 17852  }
 17853  
 17854  type CustomizationFaultFault BaseCustomizationFault
 17855  
 17856  func init() {
 17857  	t["CustomizationFaultFault"] = reflect.TypeOf((*CustomizationFaultFault)(nil)).Elem()
 17858  }
 17859  
 17860  // Use a static IP Address for the virtual network adapter.
 17861  type CustomizationFixedIp struct {
 17862  	CustomizationIpGenerator
 17863  
 17864  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 17865  }
 17866  
 17867  func init() {
 17868  	t["CustomizationFixedIp"] = reflect.TypeOf((*CustomizationFixedIp)(nil)).Elem()
 17869  }
 17870  
 17871  // Use a static ipv6 address for the virtual network adapter
 17872  type CustomizationFixedIpV6 struct {
 17873  	CustomizationIpV6Generator
 17874  
 17875  	IpAddress  string `xml:"ipAddress" json:"ipAddress"`
 17876  	SubnetMask int32  `xml:"subnetMask" json:"subnetMask"`
 17877  }
 17878  
 17879  func init() {
 17880  	t["CustomizationFixedIpV6"] = reflect.TypeOf((*CustomizationFixedIpV6)(nil)).Elem()
 17881  	minAPIVersionForType["CustomizationFixedIpV6"] = "4.0"
 17882  }
 17883  
 17884  // A fixed name.
 17885  type CustomizationFixedName struct {
 17886  	CustomizationName
 17887  
 17888  	// The virtual machine name specified by the client.
 17889  	Name string `xml:"name" json:"name"`
 17890  }
 17891  
 17892  func init() {
 17893  	t["CustomizationFixedName"] = reflect.TypeOf((*CustomizationFixedName)(nil)).Elem()
 17894  }
 17895  
 17896  // A collection of global IP settings for a virtual network adapter.
 17897  //
 17898  // In Linux, DNS
 17899  // server settings are global. The settings can either be statically set or supplied
 17900  // by a DHCP server.
 17901  type CustomizationGlobalIPSettings struct {
 17902  	DynamicData
 17903  
 17904  	// List of name resolution suffixes for the virtual network adapter.
 17905  	//
 17906  	// This list
 17907  	// applies to both Windows and Linux guest customization. For Linux, this setting
 17908  	// is global, whereas in Windows, this setting is listed on a per-adapter basis,
 17909  	// even though the setting is global in Windows.
 17910  	DnsSuffixList []string `xml:"dnsSuffixList,omitempty" json:"dnsSuffixList,omitempty"`
 17911  	// List of DNS servers, for a virtual network adapter with a static IP address.
 17912  	//
 17913  	// If
 17914  	// this list is empty, then the guest operating system is expected to use a DHCP
 17915  	// server to get its DNS server settings. These settings configure the virtual
 17916  	// machine to use the specified DNS servers. These DNS server settings are listed
 17917  	// in order of preference.
 17918  	DnsServerList []string `xml:"dnsServerList,omitempty" json:"dnsServerList,omitempty"`
 17919  }
 17920  
 17921  func init() {
 17922  	t["CustomizationGlobalIPSettings"] = reflect.TypeOf((*CustomizationGlobalIPSettings)(nil)).Elem()
 17923  }
 17924  
 17925  // The commands listed in the GuiRunOnce data object type are executed when a user
 17926  // logs on the first time after customization completes.
 17927  //
 17928  // The logon may be driven by
 17929  // the `AutoLogon` setting.
 17930  //
 17931  // The GuiRunOnce data object type maps to the GuiRunOnce key in the
 17932  // `sysprep.xml` answer file. These values are transferred into the
 17933  // `sysprep.xml` file that VirtualCenter stores on the target virtual disk. For
 17934  // more detailed information, see <a href="https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx"target="_blank">Performing Unattended Installations</a>.
 17935  type CustomizationGuiRunOnce struct {
 17936  	DynamicData
 17937  
 17938  	// A list of commands to run at first user logon, after guest customization.
 17939  	CommandList []string `xml:"commandList" json:"commandList"`
 17940  }
 17941  
 17942  func init() {
 17943  	t["CustomizationGuiRunOnce"] = reflect.TypeOf((*CustomizationGuiRunOnce)(nil)).Elem()
 17944  }
 17945  
 17946  // The GuiUnattended type maps to the GuiUnattended key in the `sysprep.xml`
 17947  // answer file.
 17948  //
 17949  // These values are plugged directly into the `sysprep.xml` file
 17950  // that VirtualCenter stores on the target virtual disk. For more detailed
 17951  // information, see <a href="https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx"target="_blank">Performing Unattended Installations</a>.
 17952  type CustomizationGuiUnattended struct {
 17953  	DynamicData
 17954  
 17955  	// The new administrator password for the machine.
 17956  	//
 17957  	// To specify that the password
 17958  	// should be set to blank (that is, no password), set the password value to NULL.
 17959  	// Because of encryption, "" is NOT a valid value.
 17960  	//
 17961  	// If password is set to blank and `CustomizationGuiUnattended.autoLogon` is set, the
 17962  	// guest customization will fail.
 17963  	//
 17964  	// If the XML file is generated by the VirtualCenter Customization Wizard, then the
 17965  	// password is encrypted. Otherwise, the client should set the plainText attribute
 17966  	// to true, so that the customization process does not attempt to decrypt the
 17967  	// string.
 17968  	Password *CustomizationPassword `xml:"password,omitempty" json:"password,omitempty"`
 17969  	// The time zone index for the virtual machine.
 17970  	//
 17971  	// Numbers correspond to time zones
 17972  	// 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>.
 17973  	TimeZone int32 `xml:"timeZone" json:"timeZone"`
 17974  	// Flag to determine whether or not the machine automatically logs on as
 17975  	// Administrator.
 17976  	//
 17977  	// See also the password property.
 17978  	//
 17979  	// If the AutoLogon flag is set, `CustomizationGuiUnattended.password` must not be
 17980  	// blank or the guest customization will fail.
 17981  	AutoLogon bool `xml:"autoLogon" json:"autoLogon"`
 17982  	// If the AutoLogon flag is set, then the AutoLogonCount property specifies the
 17983  	// number of times the machine should automatically log on as Administrator.
 17984  	//
 17985  	// Generally it should be 1, but if your setup requires a number of reboots, you
 17986  	// may want to increase it. This number may be determined by the list of commands
 17987  	// executed by the `GuiRunOnce` command.
 17988  	AutoLogonCount int32 `xml:"autoLogonCount" json:"autoLogonCount"`
 17989  }
 17990  
 17991  func init() {
 17992  	t["CustomizationGuiUnattended"] = reflect.TypeOf((*CustomizationGuiUnattended)(nil)).Elem()
 17993  }
 17994  
 17995  // IP settings for a virtual network adapter.
 17996  type CustomizationIPSettings struct {
 17997  	DynamicData
 17998  
 17999  	// Specification to obtain a unique IP address for this virtual network adapter.
 18000  	Ip BaseCustomizationIpGenerator `xml:"ip,typeattr" json:"ip"`
 18001  	// Subnet mask for this virtual network adapter.
 18002  	SubnetMask string `xml:"subnetMask,omitempty" json:"subnetMask,omitempty"`
 18003  	// For a virtual network adapter with a static IP address, this data object type
 18004  	// contains a list of gateways, in order of preference.
 18005  	Gateway []string `xml:"gateway,omitempty" json:"gateway,omitempty"`
 18006  	// This contains the IpGenerator, subnet mask and gateway info for all
 18007  	// the ipv6 addresses associated with the virtual network adapter.
 18008  	IpV6Spec *CustomizationIPSettingsIpV6AddressSpec `xml:"ipV6Spec,omitempty" json:"ipV6Spec,omitempty" vim:"4.0"`
 18009  	// A list of server IP addresses to use for DNS lookup in a Windows guest operating
 18010  	// system.
 18011  	//
 18012  	// In Windows, these settings are adapter-specific, whereas in Linux, they
 18013  	// are global. As a result, the Linux guest customization process ignores this
 18014  	// setting and looks for its DNS servers in the globalIPSettings object.
 18015  	//
 18016  	// Specify these servers in order of preference. If this list is not empty, and if
 18017  	// a DHCP IpGenerator is used, then these settings override the DHCP settings.
 18018  	DnsServerList []string `xml:"dnsServerList,omitempty" json:"dnsServerList,omitempty"`
 18019  	// A DNS domain suffix such as vmware.com.
 18020  	DnsDomain string `xml:"dnsDomain,omitempty" json:"dnsDomain,omitempty"`
 18021  	// The IP address of the primary WINS server.
 18022  	//
 18023  	// This property is ignored for Linux
 18024  	// guest operating systems.
 18025  	PrimaryWINS string `xml:"primaryWINS,omitempty" json:"primaryWINS,omitempty"`
 18026  	// The IP address of the secondary WINS server.
 18027  	//
 18028  	// This property is ignored for Linux
 18029  	// guest operating systems.
 18030  	SecondaryWINS string `xml:"secondaryWINS,omitempty" json:"secondaryWINS,omitempty"`
 18031  	// NetBIOS setting for Windows.
 18032  	NetBIOS CustomizationNetBIOSMode `xml:"netBIOS,omitempty" json:"netBIOS,omitempty"`
 18033  }
 18034  
 18035  func init() {
 18036  	t["CustomizationIPSettings"] = reflect.TypeOf((*CustomizationIPSettings)(nil)).Elem()
 18037  }
 18038  
 18039  // IPv6 settings
 18040  type CustomizationIPSettingsIpV6AddressSpec struct {
 18041  	DynamicData
 18042  
 18043  	// ipv6 address generators
 18044  	Ip []BaseCustomizationIpV6Generator `xml:"ip,typeattr" json:"ip"`
 18045  	// gateways
 18046  	Gateway []string `xml:"gateway,omitempty" json:"gateway,omitempty"`
 18047  }
 18048  
 18049  func init() {
 18050  	t["CustomizationIPSettingsIpV6AddressSpec"] = reflect.TypeOf((*CustomizationIPSettingsIpV6AddressSpec)(nil)).Elem()
 18051  	minAPIVersionForType["CustomizationIPSettingsIpV6AddressSpec"] = "4.0"
 18052  }
 18053  
 18054  // The Identification data object type provides information needed to join a workgroup
 18055  // or domain.
 18056  //
 18057  // The Identification data object type maps to the Identification key in the
 18058  // `sysprep.xml` answer file. These values are transferred into the
 18059  // `sysprep.xml` file that VirtualCenter stores on the target virtual disk. For
 18060  // more detailed information, see <a href="https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx"target="_blank">Performing Unattended Installations</a>.
 18061  type CustomizationIdentification struct {
 18062  	DynamicData
 18063  
 18064  	// The workgroup that the virtual machine should join.
 18065  	//
 18066  	// If this value is supplied,
 18067  	// then the domain name and authentication fields must be empty.
 18068  	JoinWorkgroup string `xml:"joinWorkgroup,omitempty" json:"joinWorkgroup,omitempty"`
 18069  	// The domain that the virtual machine should join.
 18070  	//
 18071  	// If this value is supplied, then
 18072  	// domainAdmin and domainAdminPassword must also be supplied, and the workgroup
 18073  	// name must be empty.
 18074  	JoinDomain string `xml:"joinDomain,omitempty" json:"joinDomain,omitempty"`
 18075  	// This is the domain user account used for authentication if the virtual machine
 18076  	// is joining a domain.
 18077  	//
 18078  	// The user does not need to be a domain administrator, but
 18079  	// the account must have the privileges required to add computers to the domain.
 18080  	DomainAdmin string `xml:"domainAdmin,omitempty" json:"domainAdmin,omitempty"`
 18081  	// This is the password for the domain user account used for authentication if the
 18082  	// virtual machine is joining a domain.
 18083  	DomainAdminPassword *CustomizationPassword `xml:"domainAdminPassword,omitempty" json:"domainAdminPassword,omitempty"`
 18084  	// This is the MachineObjectOU which specifies the full LDAP path name of
 18085  	// the OU to which the computer belongs.
 18086  	//
 18087  	// For example, OU=MyOu,DC=MyDom,DC=MyCompany,DC=com
 18088  	// Refer to: https://docs.microsoft.com/en-us/windows-hardware/customize/
 18089  	// desktop/unattend/microsoft-windows-unattendedjoin-
 18090  	// identification-machineobjectou
 18091  	DomainOU string `xml:"domainOU,omitempty" json:"domainOU,omitempty" vim:"8.0.2.0"`
 18092  }
 18093  
 18094  func init() {
 18095  	t["CustomizationIdentification"] = reflect.TypeOf((*CustomizationIdentification)(nil)).Elem()
 18096  }
 18097  
 18098  // Base type for sysprep, sysprepText, or linuxPrep object type.
 18099  type CustomizationIdentitySettings struct {
 18100  	DynamicData
 18101  }
 18102  
 18103  func init() {
 18104  	t["CustomizationIdentitySettings"] = reflect.TypeOf((*CustomizationIdentitySettings)(nil)).Elem()
 18105  }
 18106  
 18107  // Base type for the various IP specification possibilities.
 18108  type CustomizationIpGenerator struct {
 18109  	DynamicData
 18110  }
 18111  
 18112  func init() {
 18113  	t["CustomizationIpGenerator"] = reflect.TypeOf((*CustomizationIpGenerator)(nil)).Elem()
 18114  }
 18115  
 18116  // Base type for the various IpV6 specification possibilities
 18117  type CustomizationIpV6Generator struct {
 18118  	DynamicData
 18119  }
 18120  
 18121  func init() {
 18122  	t["CustomizationIpV6Generator"] = reflect.TypeOf((*CustomizationIpV6Generator)(nil)).Elem()
 18123  	minAPIVersionForType["CustomizationIpV6Generator"] = "4.0"
 18124  }
 18125  
 18126  // The LicenseFilePrintData type maps directly to the LicenseFilePrintData key in the
 18127  // `sysprep.xml` answer file.
 18128  //
 18129  // These values are transferred into the
 18130  // `sysprep.xml` file that VirtualCenter stores on the target virtual disk. For
 18131  // more detailed information, see <a href="https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx"target="_blank">Performing Unattended Installations</a>.
 18132  // LicenseFilePrintData provides licensing information for Windows server operating
 18133  // systems.
 18134  type CustomizationLicenseFilePrintData struct {
 18135  	DynamicData
 18136  
 18137  	// Server licensing mode
 18138  	AutoMode CustomizationLicenseDataMode `xml:"autoMode" json:"autoMode"`
 18139  	// This key is valid only if AutoMode = PerServer.
 18140  	//
 18141  	// The integer value indicates the
 18142  	// number of client licenses purchased for the VirtualCenter server being
 18143  	// installed.
 18144  	AutoUsers int32 `xml:"autoUsers,omitempty" json:"autoUsers,omitempty"`
 18145  }
 18146  
 18147  func init() {
 18148  	t["CustomizationLicenseFilePrintData"] = reflect.TypeOf((*CustomizationLicenseFilePrintData)(nil)).Elem()
 18149  }
 18150  
 18151  // Failed to set Linux identity.
 18152  type CustomizationLinuxIdentityFailed struct {
 18153  	CustomizationFailed
 18154  }
 18155  
 18156  func init() {
 18157  	t["CustomizationLinuxIdentityFailed"] = reflect.TypeOf((*CustomizationLinuxIdentityFailed)(nil)).Elem()
 18158  	minAPIVersionForType["CustomizationLinuxIdentityFailed"] = "2.5"
 18159  }
 18160  
 18161  // Base object type for optional operations supported by the customization process for
 18162  // Linux.
 18163  type CustomizationLinuxOptions struct {
 18164  	CustomizationOptions
 18165  }
 18166  
 18167  func init() {
 18168  	t["CustomizationLinuxOptions"] = reflect.TypeOf((*CustomizationLinuxOptions)(nil)).Elem()
 18169  }
 18170  
 18171  // This is the Linux counterpart to the Windows Sysprep object.
 18172  //
 18173  // LinuxPrep contains
 18174  // machine-wide settings that identify a Linux machine in the same way that the
 18175  // Sysprep type identifies a Windows machine.
 18176  type CustomizationLinuxPrep struct {
 18177  	CustomizationIdentitySettings
 18178  
 18179  	// The network host name of the (Linux) virtual machine.
 18180  	HostName BaseCustomizationName `xml:"hostName,typeattr" json:"hostName"`
 18181  	// The fully qualified domain name.
 18182  	Domain string `xml:"domain" json:"domain"`
 18183  	// The case-sensitive timezone, such as Europe/Sofia.
 18184  	//
 18185  	// <a href="timezone.html"title="Display list of Valid timeZone values...">
 18186  	// **Valid timeZone values**</a> are based on the tz (timezone)
 18187  	// database used by Linux and other Unix systems.
 18188  	// The values are strings (xsd:string) in the form "Area/Location," in which
 18189  	// Area is a continent or ocean name, and Location is the city, island, or
 18190  	// other regional designation.
 18191  	//
 18192  	// 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>.
 18193  	TimeZone string `xml:"timeZone,omitempty" json:"timeZone,omitempty" vim:"4.0"`
 18194  	// Specifies whether the hardware clock is in UTC or local time.
 18195  	//     - True when the hardware clock is in UTC.
 18196  	//     - False when the hardware clock is in local time.
 18197  	HwClockUTC *bool `xml:"hwClockUTC" json:"hwClockUTC,omitempty" vim:"4.0"`
 18198  	// The script to run before and after GOS customization.
 18199  	ScriptText string `xml:"scriptText,omitempty" json:"scriptText,omitempty" vim:"7.0"`
 18200  }
 18201  
 18202  func init() {
 18203  	t["CustomizationLinuxPrep"] = reflect.TypeOf((*CustomizationLinuxPrep)(nil)).Elem()
 18204  }
 18205  
 18206  // A base object type for a virtual machine name that can be either fixed or
 18207  // auto-generated.
 18208  type CustomizationName struct {
 18209  	DynamicData
 18210  }
 18211  
 18212  func init() {
 18213  	t["CustomizationName"] = reflect.TypeOf((*CustomizationName)(nil)).Elem()
 18214  }
 18215  
 18216  // Network setup failed in the guest during customization.
 18217  type CustomizationNetworkSetupFailed struct {
 18218  	CustomizationFailed
 18219  }
 18220  
 18221  func init() {
 18222  	t["CustomizationNetworkSetupFailed"] = reflect.TypeOf((*CustomizationNetworkSetupFailed)(nil)).Elem()
 18223  	minAPIVersionForType["CustomizationNetworkSetupFailed"] = "2.5"
 18224  }
 18225  
 18226  // Base object type for optional operations supported by the customization process.
 18227  type CustomizationOptions struct {
 18228  	DynamicData
 18229  }
 18230  
 18231  func init() {
 18232  	t["CustomizationOptions"] = reflect.TypeOf((*CustomizationOptions)(nil)).Elem()
 18233  }
 18234  
 18235  // Contains a password string and a flag that specifies whether the string is in plain
 18236  // text or encrypted.
 18237  type CustomizationPassword struct {
 18238  	DynamicData
 18239  
 18240  	// The password string.
 18241  	//
 18242  	// It is encrypted if the associated plainText flag is false.
 18243  	Value string `xml:"value" json:"value"`
 18244  	// Flag to specify whether or not the password is in plain text, rather than
 18245  	// encrypted.
 18246  	PlainText bool `xml:"plainText" json:"plainText"`
 18247  }
 18248  
 18249  func init() {
 18250  	t["CustomizationPassword"] = reflect.TypeOf((*CustomizationPassword)(nil)).Elem()
 18251  }
 18252  
 18253  // A customization operation is already pending on this virtual
 18254  // machine and is awaiting power-up to complete.
 18255  type CustomizationPending struct {
 18256  	CustomizationFault
 18257  }
 18258  
 18259  func init() {
 18260  	t["CustomizationPending"] = reflect.TypeOf((*CustomizationPending)(nil)).Elem()
 18261  	minAPIVersionForType["CustomizationPending"] = "2.5"
 18262  }
 18263  
 18264  type CustomizationPendingFault CustomizationPending
 18265  
 18266  func init() {
 18267  	t["CustomizationPendingFault"] = reflect.TypeOf((*CustomizationPendingFault)(nil)).Elem()
 18268  }
 18269  
 18270  // Specifies that a unique name should be generated by concatenating the base string
 18271  // with a number.
 18272  //
 18273  // Virtual machine names are unique across the set of hosts and virtual machines known
 18274  // to the VirtualCenter instance. VirtualCenter tracks the network names of virtual
 18275  // machines as well as hosts. VMware Tools runs in a guest operating system and
 18276  // reports information to VirtualCenter, including the network name of the guest.
 18277  type CustomizationPrefixName struct {
 18278  	CustomizationName
 18279  
 18280  	// Base prefix, to which a unique number is appended.
 18281  	Base string `xml:"base" json:"base"`
 18282  }
 18283  
 18284  func init() {
 18285  	t["CustomizationPrefixName"] = reflect.TypeOf((*CustomizationPrefixName)(nil)).Elem()
 18286  }
 18287  
 18288  // The Specification data object type contains information required to customize a
 18289  // virtual machine when deploying it or migrating it to a new host.
 18290  type CustomizationSpec struct {
 18291  	DynamicData
 18292  
 18293  	// Optional operations (either LinuxOptions or WinOptions).
 18294  	Options BaseCustomizationOptions `xml:"options,omitempty,typeattr" json:"options,omitempty"`
 18295  	// Network identity and settings, similar to Microsoft's Sysprep tool.
 18296  	//
 18297  	// This is a
 18298  	// Sysprep, LinuxPrep, CloudinitPrep, or SysprepText object.
 18299  	Identity BaseCustomizationIdentitySettings `xml:"identity,typeattr" json:"identity"`
 18300  	// Global IP settings constitute the IP settings that are not specific to a
 18301  	// particular virtual network adapter.
 18302  	GlobalIPSettings CustomizationGlobalIPSettings `xml:"globalIPSettings" json:"globalIPSettings"`
 18303  	// IP settings that are specific to a particular virtual network adapter.
 18304  	//
 18305  	// The
 18306  	// AdapterMapping object maps a network adapter's MAC address to its Adapter
 18307  	// settings object. May be empty if there are no network adapters, else should
 18308  	// match number of network adapters in the VM.
 18309  	NicSettingMap []CustomizationAdapterMapping `xml:"nicSettingMap,omitempty" json:"nicSettingMap,omitempty"`
 18310  	// Byte array containing the public key used to encrypt any passwords stored in the
 18311  	// specification.
 18312  	//
 18313  	// Both the client and the server can use this to determine if
 18314  	// stored passwords can be decrypted by the server or if the passwords need to be
 18315  	// re-entered and re-encrypted before the specification can be used.
 18316  	EncryptionKey []byte `xml:"encryptionKey,omitempty" json:"encryptionKey,omitempty"`
 18317  }
 18318  
 18319  func init() {
 18320  	t["CustomizationSpec"] = reflect.TypeOf((*CustomizationSpec)(nil)).Elem()
 18321  }
 18322  
 18323  // Information about a specification.
 18324  type CustomizationSpecInfo struct {
 18325  	DynamicData
 18326  
 18327  	// Unique name of the specification.
 18328  	Name string `xml:"name" json:"name"`
 18329  	// Description of the specification.
 18330  	Description string `xml:"description" json:"description"`
 18331  	// Guest operating system for this specification (Linux or Windows).
 18332  	Type string `xml:"type" json:"type"`
 18333  	// The changeVersion is a unique identifier for a given version
 18334  	// of the configuration.
 18335  	//
 18336  	// Each change to the configuration will
 18337  	// update this value. This is typically implemented as an ever
 18338  	// increasing count or a time-stamp. However, a client should
 18339  	// always treat this as an opaque string.
 18340  	//
 18341  	// If specified when updating a specification, the changes will only be
 18342  	// applied if the current changeVersion matches the specified changeVersion. This
 18343  	// field can be used to guard against updates that has happened
 18344  	// between the configInfo was read and until it is applied.
 18345  	ChangeVersion string `xml:"changeVersion,omitempty" json:"changeVersion,omitempty"`
 18346  	// Time when the specification was last modified.
 18347  	//
 18348  	// This time is ignored when
 18349  	// the CustomizationSpecItem containing this is used as an input to
 18350  	// CustomizationSpecManager.create.
 18351  	LastUpdateTime *time.Time `xml:"lastUpdateTime" json:"lastUpdateTime,omitempty"`
 18352  }
 18353  
 18354  func init() {
 18355  	t["CustomizationSpecInfo"] = reflect.TypeOf((*CustomizationSpecInfo)(nil)).Elem()
 18356  }
 18357  
 18358  // Specification information and the Specification object.
 18359  type CustomizationSpecItem struct {
 18360  	DynamicData
 18361  
 18362  	// Information about the specification - name, description, and so on.
 18363  	Info CustomizationSpecInfo `xml:"info" json:"info"`
 18364  	// The customization specification.
 18365  	Spec CustomizationSpec `xml:"spec" json:"spec"`
 18366  }
 18367  
 18368  func init() {
 18369  	t["CustomizationSpecItem"] = reflect.TypeOf((*CustomizationSpecItem)(nil)).Elem()
 18370  }
 18371  
 18372  type CustomizationSpecItemToXml CustomizationSpecItemToXmlRequestType
 18373  
 18374  func init() {
 18375  	t["CustomizationSpecItemToXml"] = reflect.TypeOf((*CustomizationSpecItemToXml)(nil)).Elem()
 18376  }
 18377  
 18378  // The parameters of `CustomizationSpecManager.CustomizationSpecItemToXml`.
 18379  type CustomizationSpecItemToXmlRequestType struct {
 18380  	This ManagedObjectReference `xml:"_this" json:"-"`
 18381  	Item CustomizationSpecItem  `xml:"item" json:"item"`
 18382  }
 18383  
 18384  func init() {
 18385  	t["CustomizationSpecItemToXmlRequestType"] = reflect.TypeOf((*CustomizationSpecItemToXmlRequestType)(nil)).Elem()
 18386  }
 18387  
 18388  type CustomizationSpecItemToXmlResponse struct {
 18389  	Returnval string `xml:"returnval" json:"returnval"`
 18390  }
 18391  
 18392  // The customization sequence has started in the VM guest.
 18393  type CustomizationStartedEvent struct {
 18394  	CustomizationEvent
 18395  }
 18396  
 18397  func init() {
 18398  	t["CustomizationStartedEvent"] = reflect.TypeOf((*CustomizationStartedEvent)(nil)).Elem()
 18399  	minAPIVersionForType["CustomizationStartedEvent"] = "2.5"
 18400  }
 18401  
 18402  // Use stateless autoconfiguration to configure to ipv6 address
 18403  type CustomizationStatelessIpV6Generator struct {
 18404  	CustomizationIpV6Generator
 18405  }
 18406  
 18407  func init() {
 18408  	t["CustomizationStatelessIpV6Generator"] = reflect.TypeOf((*CustomizationStatelessIpV6Generator)(nil)).Elem()
 18409  	minAPIVersionForType["CustomizationStatelessIpV6Generator"] = "4.0"
 18410  }
 18411  
 18412  // The customization sequence completed successfully in the guest.
 18413  type CustomizationSucceeded struct {
 18414  	CustomizationEvent
 18415  }
 18416  
 18417  func init() {
 18418  	t["CustomizationSucceeded"] = reflect.TypeOf((*CustomizationSucceeded)(nil)).Elem()
 18419  	minAPIVersionForType["CustomizationSucceeded"] = "2.5"
 18420  }
 18421  
 18422  // An object representation of a Windows `sysprep.xml` answer file.
 18423  //
 18424  // The sysprep
 18425  // type encloses all the individual keys listed in a `sysprep.xml` file. For
 18426  // more detailed information, see <a href="https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx"target="_blank">Performing Unattended Installations</a>.
 18427  type CustomizationSysprep struct {
 18428  	CustomizationIdentitySettings
 18429  
 18430  	// An object representation of the sysprep GuiUnattended key.
 18431  	GuiUnattended CustomizationGuiUnattended `xml:"guiUnattended" json:"guiUnattended"`
 18432  	// An object representation of the sysprep UserData key.
 18433  	UserData CustomizationUserData `xml:"userData" json:"userData"`
 18434  	// An object representation of the sysprep GuiRunOnce key.
 18435  	GuiRunOnce *CustomizationGuiRunOnce `xml:"guiRunOnce,omitempty" json:"guiRunOnce,omitempty"`
 18436  	// An object representation of the sysprep Identification key.
 18437  	Identification CustomizationIdentification `xml:"identification" json:"identification"`
 18438  	// An object representation of the sysprep LicenseFilePrintData key.
 18439  	//
 18440  	// Required only
 18441  	// for Windows 2000 Server and Windows Server 2003.
 18442  	LicenseFilePrintData *CustomizationLicenseFilePrintData `xml:"licenseFilePrintData,omitempty" json:"licenseFilePrintData,omitempty"`
 18443  }
 18444  
 18445  func init() {
 18446  	t["CustomizationSysprep"] = reflect.TypeOf((*CustomizationSysprep)(nil)).Elem()
 18447  }
 18448  
 18449  // Sysprep failed to run in the guest during customization.
 18450  //
 18451  // This will most like
 18452  // have been caused by the fact that the wrong sysprep was used for the guest,
 18453  // so we include the version information in the event.
 18454  type CustomizationSysprepFailed struct {
 18455  	CustomizationFailed
 18456  
 18457  	// The version string for the sysprep files that were included in the
 18458  	// customization package.
 18459  	SysprepVersion string `xml:"sysprepVersion" json:"sysprepVersion"`
 18460  	// The version string for the system
 18461  	SystemVersion string `xml:"systemVersion" json:"systemVersion"`
 18462  }
 18463  
 18464  func init() {
 18465  	t["CustomizationSysprepFailed"] = reflect.TypeOf((*CustomizationSysprepFailed)(nil)).Elem()
 18466  	minAPIVersionForType["CustomizationSysprepFailed"] = "2.5"
 18467  }
 18468  
 18469  // An alternate way to specify the `sysprep.xml` answer file.
 18470  //
 18471  // This string is
 18472  // written to the `sysprep.xml` answer file on the target virtual disk.
 18473  type CustomizationSysprepText struct {
 18474  	CustomizationIdentitySettings
 18475  
 18476  	// Text for the `sysprep.xml` answer file.
 18477  	//
 18478  	// 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
 18479  	// <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>.
 18480  	Value string `xml:"value" json:"value"`
 18481  }
 18482  
 18483  func init() {
 18484  	t["CustomizationSysprepText"] = reflect.TypeOf((*CustomizationSysprepText)(nil)).Elem()
 18485  }
 18486  
 18487  // The customization sequence failed unexpectedly in the guest.
 18488  type CustomizationUnknownFailure struct {
 18489  	CustomizationFailed
 18490  }
 18491  
 18492  func init() {
 18493  	t["CustomizationUnknownFailure"] = reflect.TypeOf((*CustomizationUnknownFailure)(nil)).Elem()
 18494  	minAPIVersionForType["CustomizationUnknownFailure"] = "2.5"
 18495  }
 18496  
 18497  // The IP address is left unspecified.
 18498  //
 18499  // The user must be prompted to supply an IP
 18500  // address.
 18501  type CustomizationUnknownIpGenerator struct {
 18502  	CustomizationIpGenerator
 18503  }
 18504  
 18505  func init() {
 18506  	t["CustomizationUnknownIpGenerator"] = reflect.TypeOf((*CustomizationUnknownIpGenerator)(nil)).Elem()
 18507  }
 18508  
 18509  // The ipv6 address is left unspecified.
 18510  //
 18511  // The user must be prompted to supply an ipv6
 18512  // address.
 18513  type CustomizationUnknownIpV6Generator struct {
 18514  	CustomizationIpV6Generator
 18515  }
 18516  
 18517  func init() {
 18518  	t["CustomizationUnknownIpV6Generator"] = reflect.TypeOf((*CustomizationUnknownIpV6Generator)(nil)).Elem()
 18519  	minAPIVersionForType["CustomizationUnknownIpV6Generator"] = "4.0"
 18520  }
 18521  
 18522  // Indicates that the name is not specified in advance.
 18523  //
 18524  // The client should prompt the
 18525  // user for the value to complete the specification.
 18526  type CustomizationUnknownName struct {
 18527  	CustomizationName
 18528  }
 18529  
 18530  func init() {
 18531  	t["CustomizationUnknownName"] = reflect.TypeOf((*CustomizationUnknownName)(nil)).Elem()
 18532  }
 18533  
 18534  // Personal data pertaining to the owner of the virtual machine.
 18535  //
 18536  // The UserData data object type maps to the UserData key in the `sysprep.xml`
 18537  // answer file. These values are transferred directly into the `sysprep.xml`
 18538  // file that VirtualCenter stores on the target virtual disk. For more detailed
 18539  // information, see <a href="https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx"target="_blank">Performing Unattended Installations</a>.
 18540  type CustomizationUserData struct {
 18541  	DynamicData
 18542  
 18543  	// User's full name.
 18544  	FullName string `xml:"fullName" json:"fullName"`
 18545  	// User's organization.
 18546  	OrgName string `xml:"orgName" json:"orgName"`
 18547  	// The computer name of the (Windows) virtual machine.
 18548  	//
 18549  	// Computer name may contain
 18550  	// letters (A-Z), numbers(0-9) and hyphens (-) but no spaces or periods (.).
 18551  	// The name may not consists entirely of digits.
 18552  	// Computer name is restricted to 15 characters in length. If the computer
 18553  	// name is longer than 15 characters, it will be truncated to 15 characters.
 18554  	ComputerName BaseCustomizationName `xml:"computerName,typeattr" json:"computerName"`
 18555  	// Microsoft Sysprep requires that a valid serial number be included in the answer
 18556  	// file when mini-setup runs.
 18557  	//
 18558  	// This serial number is ignored if the original guest
 18559  	// operating system was installed using a volume-licensed CD.
 18560  	ProductId string `xml:"productId" json:"productId"`
 18561  }
 18562  
 18563  func init() {
 18564  	t["CustomizationUserData"] = reflect.TypeOf((*CustomizationUserData)(nil)).Elem()
 18565  }
 18566  
 18567  // Specifies that VirtualCenter should generate a virtual machine name from a base
 18568  // prefix comprising the virtual machine entity name.
 18569  //
 18570  // A number is appended, if
 18571  // necessary, to make it unique.
 18572  //
 18573  // Virtual machine names are unique across the set of hosts and virtual machines known
 18574  // to the VirtualCenter instance. VMware Tools reports the names of existing virtual
 18575  // machines.
 18576  type CustomizationVirtualMachineName struct {
 18577  	CustomizationName
 18578  }
 18579  
 18580  func init() {
 18581  	t["CustomizationVirtualMachineName"] = reflect.TypeOf((*CustomizationVirtualMachineName)(nil)).Elem()
 18582  }
 18583  
 18584  // Optional operations supported by the customization process for Windows.
 18585  type CustomizationWinOptions struct {
 18586  	CustomizationOptions
 18587  
 18588  	// The customization process should modify the machine's security identifier (SID).
 18589  	//
 18590  	// For Vista OS and greater, SID will always be modified and a value of false will
 18591  	// generate an error.
 18592  	ChangeSID bool `xml:"changeSID" json:"changeSID"`
 18593  	// Deprecated as of VI API 2.5, this value is ignored. Removing user accounts
 18594  	// during customization is no longer supported. To change the
 18595  	// administrator password, set the administrator password to
 18596  	// blank in the master vm. Sysprep will then be able to change the
 18597  	// password to the one specified by the `CustomizationGuiUnattended.password`.
 18598  	//
 18599  	// If deleteAccounts is true, then all user accounts are removed from the system as
 18600  	// part of the customization.
 18601  	//
 18602  	// Mini-setup creates a new Administrator account with a
 18603  	// blank password.
 18604  	DeleteAccounts bool `xml:"deleteAccounts" json:"deleteAccounts"`
 18605  	// A value of type SysprepRebootOption specifying the action that should be
 18606  	// taken after running sysprep.
 18607  	//
 18608  	// Defaults to "reboot".
 18609  	Reboot CustomizationSysprepRebootOption `xml:"reboot,omitempty" json:"reboot,omitempty" vim:"2.5"`
 18610  }
 18611  
 18612  func init() {
 18613  	t["CustomizationWinOptions"] = reflect.TypeOf((*CustomizationWinOptions)(nil)).Elem()
 18614  }
 18615  
 18616  // The parameters of `VirtualMachineGuestCustomizationManager.CustomizeGuest_Task`.
 18617  type CustomizeGuestRequestType struct {
 18618  	This ManagedObjectReference `xml:"_this" json:"-"`
 18619  	// The Virtual Machine managed object reference.
 18620  	//
 18621  	// Refers instance of `VirtualMachine`.
 18622  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 18623  	// The guest authentication data. See
 18624  	// `GuestAuthentication`.
 18625  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 18626  	// Is a `CustomizationSpec`.
 18627  	// It specifies the virtual machine's configuration.
 18628  	Spec CustomizationSpec `xml:"spec" json:"spec"`
 18629  	// addtional key/value pair list to support
 18630  	// third party customization.
 18631  	ConfigParams []BaseOptionValue `xml:"configParams,omitempty,typeattr" json:"configParams,omitempty"`
 18632  }
 18633  
 18634  func init() {
 18635  	t["CustomizeGuestRequestType"] = reflect.TypeOf((*CustomizeGuestRequestType)(nil)).Elem()
 18636  }
 18637  
 18638  type CustomizeGuest_Task CustomizeGuestRequestType
 18639  
 18640  func init() {
 18641  	t["CustomizeGuest_Task"] = reflect.TypeOf((*CustomizeGuest_Task)(nil)).Elem()
 18642  }
 18643  
 18644  type CustomizeGuest_TaskResponse struct {
 18645  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 18646  }
 18647  
 18648  // The parameters of `VirtualMachine.CustomizeVM_Task`.
 18649  type CustomizeVMRequestType struct {
 18650  	This ManagedObjectReference `xml:"_this" json:"-"`
 18651  	// The customization specification object.
 18652  	Spec CustomizationSpec `xml:"spec" json:"spec"`
 18653  }
 18654  
 18655  func init() {
 18656  	t["CustomizeVMRequestType"] = reflect.TypeOf((*CustomizeVMRequestType)(nil)).Elem()
 18657  }
 18658  
 18659  type CustomizeVM_Task CustomizeVMRequestType
 18660  
 18661  func init() {
 18662  	t["CustomizeVM_Task"] = reflect.TypeOf((*CustomizeVM_Task)(nil)).Elem()
 18663  }
 18664  
 18665  type CustomizeVM_TaskResponse struct {
 18666  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 18667  }
 18668  
 18669  // Management related configuration of a DistributedVirtualPort.
 18670  type DVPortConfigInfo struct {
 18671  	DynamicData
 18672  
 18673  	// The name of the port.
 18674  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 18675  	// Deprecated as of vSphere API 5.5.
 18676  	//
 18677  	// The eligible entities that can connect to the port.
 18678  	//
 18679  	// If unset, there
 18680  	// is no restriction on which entity can connect to the port. If set,
 18681  	// only the entities in the specified list or their child entities are
 18682  	// allowed to connect to the port. If scopes are defined at both port
 18683  	// and portgroup level, they are taken as an "AND" relationship. If such
 18684  	// a relationship doesn't make sense, the reconfigure operation will
 18685  	// raise an exception.
 18686  	//
 18687  	// Refers instances of `ManagedEntity`.
 18688  	Scope []ManagedObjectReference `xml:"scope,omitempty" json:"scope,omitempty"`
 18689  	// A description string of the port.
 18690  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 18691  	// The network configuration of the port.
 18692  	Setting BaseDVPortSetting `xml:"setting,omitempty,typeattr" json:"setting,omitempty"`
 18693  	// The version string of the configuration.
 18694  	ConfigVersion string `xml:"configVersion" json:"configVersion"`
 18695  }
 18696  
 18697  func init() {
 18698  	t["DVPortConfigInfo"] = reflect.TypeOf((*DVPortConfigInfo)(nil)).Elem()
 18699  	minAPIVersionForType["DVPortConfigInfo"] = "4.0"
 18700  }
 18701  
 18702  // Specification to reconfigure a `DistributedVirtualPort`.
 18703  type DVPortConfigSpec struct {
 18704  	DynamicData
 18705  
 18706  	// The operation to remove or modify the existing ports.
 18707  	//
 18708  	// The valid values
 18709  	// are:
 18710  	//     - `edit`
 18711  	//     - `remove`
 18712  	Operation string `xml:"operation" json:"operation"`
 18713  	// Key of the port to be reconfigured.
 18714  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 18715  	// The name of the port.
 18716  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 18717  	// Deprecated as of vSphere API 5.5.
 18718  	//
 18719  	// The eligible entities that can connect to the port, for detail see
 18720  	// `DVPortConfigInfo.scope`.
 18721  	//
 18722  	// Refers instances of `ManagedEntity`.
 18723  	Scope []ManagedObjectReference `xml:"scope,omitempty" json:"scope,omitempty"`
 18724  	// The description string of the port.
 18725  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 18726  	// The network setting of the port.
 18727  	Setting BaseDVPortSetting `xml:"setting,omitempty,typeattr" json:"setting,omitempty"`
 18728  	// The version string of the configuration.
 18729  	ConfigVersion string `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
 18730  }
 18731  
 18732  func init() {
 18733  	t["DVPortConfigSpec"] = reflect.TypeOf((*DVPortConfigSpec)(nil)).Elem()
 18734  	minAPIVersionForType["DVPortConfigSpec"] = "4.0"
 18735  }
 18736  
 18737  // The virtual machine is configured to use a DVPort, which is not
 18738  // supported on the host.
 18739  //
 18740  // This could be because the host
 18741  // does not support VDS at all, or because the host has not
 18742  // joined a VDS.
 18743  type DVPortNotSupported struct {
 18744  	DeviceBackingNotSupported
 18745  }
 18746  
 18747  func init() {
 18748  	t["DVPortNotSupported"] = reflect.TypeOf((*DVPortNotSupported)(nil)).Elem()
 18749  	minAPIVersionForType["DVPortNotSupported"] = "4.1"
 18750  }
 18751  
 18752  type DVPortNotSupportedFault DVPortNotSupported
 18753  
 18754  func init() {
 18755  	t["DVPortNotSupportedFault"] = reflect.TypeOf((*DVPortNotSupportedFault)(nil)).Elem()
 18756  }
 18757  
 18758  // The `DVPortSetting` data object
 18759  // describes the network configuration of a `DistributedVirtualPort`.
 18760  type DVPortSetting struct {
 18761  	DynamicData
 18762  
 18763  	// Indicates whether this port is blocked.
 18764  	//
 18765  	// If a port is blocked,
 18766  	// packet forwarding is stopped.
 18767  	Blocked *BoolPolicy `xml:"blocked,omitempty" json:"blocked,omitempty"`
 18768  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 18769  	// there is no replacement.
 18770  	//
 18771  	// Indicates whether this port is allowed to do VMDirectPath Gen2 network passthrough.
 18772  	//
 18773  	// Direct path capability is defined at host, switch, and device levels.
 18774  	// See the <code>vmDirectPathGen2Supported</code> properties on the
 18775  	// `DVSFeatureCapability`,
 18776  	// `HostCapability`, `PhysicalNic`,
 18777  	// and `VirtualEthernetCardOption` objects.
 18778  	VmDirectPathGen2Allowed *BoolPolicy `xml:"vmDirectPathGen2Allowed,omitempty" json:"vmDirectPathGen2Allowed,omitempty" vim:"4.1"`
 18779  	// Network shaping policy for controlling throughput of inbound traffic.
 18780  	InShapingPolicy *DVSTrafficShapingPolicy `xml:"inShapingPolicy,omitempty" json:"inShapingPolicy,omitempty"`
 18781  	// Network shaping policy for controlling throughput of outbound traffic.
 18782  	OutShapingPolicy *DVSTrafficShapingPolicy `xml:"outShapingPolicy,omitempty" json:"outShapingPolicy,omitempty"`
 18783  	// Opaque binary blob that stores vendor specific configuration.
 18784  	VendorSpecificConfig *DVSVendorSpecificConfig `xml:"vendorSpecificConfig,omitempty" json:"vendorSpecificConfig,omitempty"`
 18785  	// Deprecated as of vSphere API 6.0
 18786  	// Use `DVPortgroupConfigInfo.vmVnicNetworkResourcePoolKey` instead
 18787  	// to reference the virtual NIC network resource pool.
 18788  	//
 18789  	// The key of user defined network resource pool to be associated with a port.
 18790  	//
 18791  	// The default value for this property is "-1", indicating that
 18792  	// this port is not associated with any network resource pool.
 18793  	NetworkResourcePoolKey *StringPolicy `xml:"networkResourcePoolKey,omitempty" json:"networkResourcePoolKey,omitempty" vim:"5.0"`
 18794  	// Configuration for Network Filter Policy.
 18795  	FilterPolicy *DvsFilterPolicy `xml:"filterPolicy,omitempty" json:"filterPolicy,omitempty" vim:"5.5"`
 18796  }
 18797  
 18798  func init() {
 18799  	t["DVPortSetting"] = reflect.TypeOf((*DVPortSetting)(nil)).Elem()
 18800  	minAPIVersionForType["DVPortSetting"] = "4.0"
 18801  }
 18802  
 18803  // The state of a DistributedVirtualPort.
 18804  type DVPortState struct {
 18805  	DynamicData
 18806  
 18807  	// Run time information of the port.
 18808  	//
 18809  	// This property is set only when the port is running.
 18810  	RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty" json:"runtimeInfo,omitempty"`
 18811  	// Statistics of the port.
 18812  	Stats DistributedVirtualSwitchPortStatistics `xml:"stats" json:"stats"`
 18813  	// Opaque binary blob that stores vendor-specific runtime state data.
 18814  	VendorSpecificState []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificState,omitempty" json:"vendorSpecificState,omitempty"`
 18815  }
 18816  
 18817  func init() {
 18818  	t["DVPortState"] = reflect.TypeOf((*DVPortState)(nil)).Elem()
 18819  	minAPIVersionForType["DVPortState"] = "4.0"
 18820  }
 18821  
 18822  // The `DVPortStatus` data object
 18823  // contains runtime information about a `DistributedVirtualPort`.
 18824  type DVPortStatus struct {
 18825  	DynamicData
 18826  
 18827  	// Indicates whether the port is in linkUp status.
 18828  	LinkUp bool `xml:"linkUp" json:"linkUp"`
 18829  	// Indicates whether the port is blocked by switch implementation.
 18830  	Blocked bool `xml:"blocked" json:"blocked"`
 18831  	// VLAN ID of the port.
 18832  	VlanIds []NumericRange `xml:"vlanIds,omitempty" json:"vlanIds,omitempty"`
 18833  	// True if the port VLAN tagging/stripping is disabled.
 18834  	TrunkingMode *bool `xml:"trunkingMode" json:"trunkingMode,omitempty"`
 18835  	// Maximum transmission unit (MTU) of the port.
 18836  	//
 18837  	// You can set the MTU only
 18838  	// at the switch level
 18839  	// (`VMwareDVSConfigSpec`).
 18840  	// If you attempt to change it at the portgroup or port level,
 18841  	// the Server throws an exception.
 18842  	Mtu int32 `xml:"mtu,omitempty" json:"mtu,omitempty"`
 18843  	// Name of the connected entity.
 18844  	LinkPeer string `xml:"linkPeer,omitempty" json:"linkPeer,omitempty"`
 18845  	// The MAC address that is used at this port.
 18846  	MacAddress string `xml:"macAddress,omitempty" json:"macAddress,omitempty"`
 18847  	// Additional information regarding the current status of the port.
 18848  	StatusDetail string `xml:"statusDetail,omitempty" json:"statusDetail,omitempty" vim:"4.1"`
 18849  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
 18850  	// supported and there is no replacement.
 18851  	//
 18852  	// Indicates whether VMDirectPath Gen 2 is active on this port.
 18853  	//
 18854  	// If false, the reason(s) for inactivity will be provided in one or
 18855  	// more of `DVPortStatus.vmDirectPathGen2InactiveReasonNetwork`,
 18856  	// `DVPortStatus.vmDirectPathGen2InactiveReasonOther`,
 18857  	// and `DVPortStatus.vmDirectPathGen2InactiveReasonExtended`.
 18858  	//
 18859  	// If the host software is not capable of VMDirectPath Gen 2,
 18860  	// this property will be unset. See
 18861  	// `HostCapability*.*HostCapability.vmDirectPathGen2Supported`.
 18862  	VmDirectPathGen2Active *bool `xml:"vmDirectPathGen2Active" json:"vmDirectPathGen2Active,omitempty" vim:"4.1"`
 18863  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
 18864  	// supported and there is no replacement.
 18865  	//
 18866  	// If `DVPortStatus.vmDirectPathGen2Active` is false, this array will be
 18867  	// populated with reasons for the inactivity that are related to network
 18868  	// state or configuration.
 18869  	//
 18870  	// The reasons are chosen from the
 18871  	// `DVPortStatusVmDirectPathGen2InactiveReasonNetwork_enum`
 18872  	// values.
 18873  	//
 18874  	// Other reasons for inactivity will be provided in
 18875  	// `DVPortStatus.vmDirectPathGen2InactiveReasonOther`. If there is a reason
 18876  	// for inactivity that cannot be described by the available constants,
 18877  	// `DVPortStatus.vmDirectPathGen2InactiveReasonExtended` will be populated
 18878  	// with an additional explanation provided by the platform.
 18879  	//
 18880  	// Note that this list of reasons is not guaranteed to be exhaustive.
 18881  	VmDirectPathGen2InactiveReasonNetwork []string `xml:"vmDirectPathGen2InactiveReasonNetwork,omitempty" json:"vmDirectPathGen2InactiveReasonNetwork,omitempty" vim:"4.1"`
 18882  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
 18883  	// supported and there is no replacement.
 18884  	//
 18885  	// If `DVPortStatus.vmDirectPathGen2Active` is false, this array will be
 18886  	// populated with reasons for the inactivity that are not related to
 18887  	// network state or configuration.
 18888  	//
 18889  	// The reasons are chosen from the
 18890  	// `DVPortStatusVmDirectPathGen2InactiveReasonOther_enum`
 18891  	// values.
 18892  	//
 18893  	// Network-related reasons for inactivity will be provided in
 18894  	// `DVPortStatus.vmDirectPathGen2InactiveReasonNetwork`. If there is a reason
 18895  	// for inactivity that cannot be described by the available constants,
 18896  	// `DVPortStatus.vmDirectPathGen2InactiveReasonExtended` will be populated
 18897  	// with an additional explanation provided by the platform.
 18898  	//
 18899  	// Note that this list of reasons is not guaranteed to be exhaustive.
 18900  	//
 18901  	// See also `HostCapability.vmDirectPathGen2Supported`.
 18902  	VmDirectPathGen2InactiveReasonOther []string `xml:"vmDirectPathGen2InactiveReasonOther,omitempty" json:"vmDirectPathGen2InactiveReasonOther,omitempty" vim:"4.1"`
 18903  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
 18904  	// supported and there is no replacement.
 18905  	//
 18906  	// If `DVPortStatus.vmDirectPathGen2Active` is false, this property may
 18907  	// contain an explanation provided by the platform, beyond the reasons
 18908  	// (if any) listed in `DVPortStatus.vmDirectPathGen2InactiveReasonNetwork`
 18909  	// and/or `DVPortStatus.vmDirectPathGen2InactiveReasonOther`.
 18910  	VmDirectPathGen2InactiveReasonExtended string `xml:"vmDirectPathGen2InactiveReasonExtended,omitempty" json:"vmDirectPathGen2InactiveReasonExtended,omitempty" vim:"4.1"`
 18911  }
 18912  
 18913  func init() {
 18914  	t["DVPortStatus"] = reflect.TypeOf((*DVPortStatus)(nil)).Elem()
 18915  	minAPIVersionForType["DVPortStatus"] = "4.0"
 18916  }
 18917  
 18918  // The `DVPortgroupConfigInfo` data object defines
 18919  // the configuration of a `DistributedVirtualPortgroup`.
 18920  type DVPortgroupConfigInfo struct {
 18921  	DynamicData
 18922  
 18923  	// Key of the portgroup.
 18924  	Key string `xml:"key" json:"key"`
 18925  	// Name of the portgroup.
 18926  	Name string `xml:"name" json:"name"`
 18927  	// Number of ports in the portgroup.
 18928  	NumPorts int32 `xml:"numPorts" json:"numPorts"`
 18929  	// Distributed virtual switch that the portgroup is defined on.
 18930  	//
 18931  	// This property should always be set unless the user's setting
 18932  	// does not have System.Read privilege on the object referred to
 18933  	// by this property.
 18934  	//
 18935  	// Refers instance of `DistributedVirtualSwitch`.
 18936  	DistributedVirtualSwitch *ManagedObjectReference `xml:"distributedVirtualSwitch,omitempty" json:"distributedVirtualSwitch,omitempty"`
 18937  	// Common network setting for all the ports in the portgroup.
 18938  	DefaultPortConfig BaseDVPortSetting `xml:"defaultPortConfig,omitempty,typeattr" json:"defaultPortConfig,omitempty"`
 18939  	// Description of the portgroup.
 18940  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 18941  	// Type of portgroup.
 18942  	//
 18943  	// See
 18944  	// `DistributedVirtualPortgroup*.*DistributedVirtualPortgroupPortgroupType_enum`
 18945  	// for possible values.
 18946  	Type string `xml:"type" json:"type"`
 18947  	// Backing type of portgroup.
 18948  	//
 18949  	// See
 18950  	// `DistributedVirtualPortgroup*.*DistributedVirtualPortgroupBackingType_enum`
 18951  	// for possible values.
 18952  	// The default value is "standard"
 18953  	BackingType string `xml:"backingType,omitempty" json:"backingType,omitempty" vim:"7.0"`
 18954  	// Portgroup policy.
 18955  	Policy BaseDVPortgroupPolicy `xml:"policy,typeattr" json:"policy"`
 18956  	// If set, a name will be automatically generated based on this format
 18957  	// string for a port when it is created in or moved into the portgroup.
 18958  	//
 18959  	// The format string can contain meta tags that will be resolved
 18960  	// to the corresponding values in generating a name, if applicable for
 18961  	// the port at the time of name generation.
 18962  	//
 18963  	// To insert a meta tag in the format string,
 18964  	// enclose the names defined as meta tag names inside angle brackets.
 18965  	// See `DistributedVirtualPortgroupMetaTagName_enum` for a list of
 18966  	// currently available meta tags. For example,
 18967  	// "redNetwork-&lt;portIndex&gt;" and "&lt;dvsName&gt;-pnic&lt;portIndex&gt;"
 18968  	// result in generated port names like "redNetwork-2" and "switch-pnic3".
 18969  	//
 18970  	// If a meta tag is recognized, but there is no applicable value, the tag
 18971  	// will be expanded to empty string. If an arbitrary name appears inside
 18972  	// a "&lt;&gt;" pair and is not recognized as one of the defined meta tags,
 18973  	// the substring is treated as-is and appear unchanged in the generated name.
 18974  	//
 18975  	// To prevent a meta tag from being expanded, prefix the meta tag with a
 18976  	// '\\' (backslash). For example, the format string "abc\\&lt;portIndex&gt;def"
 18977  	// results in the generated port name "abc&lt;portIndex&gt;def".
 18978  	PortNameFormat string `xml:"portNameFormat,omitempty" json:"portNameFormat,omitempty"`
 18979  	// Deprecated as of vSphere API 5.5.
 18980  	//
 18981  	// Eligible entities that can connect to the portgroup.
 18982  	//
 18983  	// If unset,
 18984  	// there is no restriction on which entity can connect to the portgroup.
 18985  	// If set, only the entities in the specified list or their child
 18986  	// entities are allowed to connect to the portgroup. If scopes are
 18987  	// defined at both port and portgroup level, they are taken as an "AND"
 18988  	// relationship. If such a relationship doesn't make sense, the
 18989  	// reconfigure operation will raise an exception.
 18990  	//
 18991  	// Refers instances of `ManagedEntity`.
 18992  	Scope []ManagedObjectReference `xml:"scope,omitempty" json:"scope,omitempty"`
 18993  	// Opaque binary blob that stores vendor specific configuration.
 18994  	VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty" json:"vendorSpecificConfig,omitempty"`
 18995  	// Configuration version number.
 18996  	ConfigVersion string `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
 18997  	// If set to true, this property ignores the limit on the number of ports in the
 18998  	// portgroup.
 18999  	//
 19000  	// When a Virtual Machine/Host tries to connect to the portgroup and there
 19001  	// are no free ports available in the portgroup, new ports will be automatically
 19002  	// added to the portgroup. The flag is currently supported only for static portgroups.
 19003  	//
 19004  	// When this property is set to true, the portgroup becomes a potential candidate for
 19005  	// auto-shrink. Once the portgroup has auto-expanded then its disconnected ports are
 19006  	// likely to be deleted automatically, as a part of auto-shrink step, if there are more
 19007  	// than certain number of free ports. If the portgroup never auto-expanded, then it will
 19008  	// never lose any free ports.
 19009  	AutoExpand *bool `xml:"autoExpand" json:"autoExpand,omitempty" vim:"5.0"`
 19010  	// The key of virtual NIC network resource pool to be associated with a portgroup.
 19011  	//
 19012  	// The default value for this property is unset, indicating that
 19013  	// this portgroup is not associated with any virtual NIC network resource pool.
 19014  	// To clear the value of this property and revert to unset, set the
 19015  	// `DVPortgroupConfigSpec.vmVnicNetworkResourcePoolKey`
 19016  	// to "-1" in an update operation.
 19017  	VmVnicNetworkResourcePoolKey string `xml:"vmVnicNetworkResourcePoolKey,omitempty" json:"vmVnicNetworkResourcePoolKey,omitempty" vim:"6.0"`
 19018  	// Indicates whether the portgroup is an uplink portroup.
 19019  	Uplink *bool `xml:"uplink" json:"uplink,omitempty" vim:"6.5"`
 19020  	// The UUID of transport zone to be associated with a NSX portgroup.
 19021  	TransportZoneUuid string `xml:"transportZoneUuid,omitempty" json:"transportZoneUuid,omitempty" vim:"7.0"`
 19022  	// The name of transport zone to be associated with a NSX portgroup.
 19023  	TransportZoneName string `xml:"transportZoneName,omitempty" json:"transportZoneName,omitempty" vim:"7.0"`
 19024  	// The logical switch UUID, which is used by NSX portgroup
 19025  	LogicalSwitchUuid string `xml:"logicalSwitchUuid,omitempty" json:"logicalSwitchUuid,omitempty" vim:"7.0"`
 19026  	// The segment ID of logical switch
 19027  	SegmentId string `xml:"segmentId,omitempty" json:"segmentId,omitempty" vim:"7.0"`
 19028  }
 19029  
 19030  func init() {
 19031  	t["DVPortgroupConfigInfo"] = reflect.TypeOf((*DVPortgroupConfigInfo)(nil)).Elem()
 19032  	minAPIVersionForType["DVPortgroupConfigInfo"] = "4.0"
 19033  }
 19034  
 19035  // The `DVPortgroupConfigSpec`
 19036  // data object contains configuration data for a
 19037  // `DistributedVirtualPortgroup`.
 19038  //
 19039  // Use the
 19040  // `DistributedVirtualPortgroup.ReconfigureDVPortgroup_Task`
 19041  // method to apply the configuration to the portgroup.
 19042  type DVPortgroupConfigSpec struct {
 19043  	DynamicData
 19044  
 19045  	// Version string of the configuration that this spec is trying to
 19046  	// change.
 19047  	//
 19048  	// This property is required in reconfiguring a portgroup and
 19049  	// should be set to the same value as the
 19050  	// `DVPortgroupConfigInfo.configVersion`.
 19051  	// This property is ignored in creating a portgroup if set.
 19052  	ConfigVersion string `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
 19053  	// Name of the portgroup.
 19054  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 19055  	// Number of ports in the portgroup.
 19056  	//
 19057  	// Setting this number larger than the
 19058  	// number of existing ports in the portgroup causes new ports to
 19059  	// be added to the portgroup to meet the number. Setting this property
 19060  	// smaller than the number of existing ports deletes the free ports
 19061  	// from the portgroup. If the number cannot be met by deleting free ports,
 19062  	// a fault is raised. If new ports are added to the portgroup, they
 19063  	// are also added to the switch. For portgroups of type ephemeral this
 19064  	// property is ignored.
 19065  	NumPorts int32 `xml:"numPorts,omitempty" json:"numPorts,omitempty"`
 19066  	// Format of the name of the ports when ports are created in the portgroup.
 19067  	//
 19068  	// For details see `DVPortgroupConfigInfo.portNameFormat`.
 19069  	PortNameFormat string `xml:"portNameFormat,omitempty" json:"portNameFormat,omitempty"`
 19070  	// Default network setting for all the ports in the portgroup.
 19071  	DefaultPortConfig BaseDVPortSetting `xml:"defaultPortConfig,omitempty,typeattr" json:"defaultPortConfig,omitempty"`
 19072  	// Description of the portgroup.
 19073  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 19074  	// Type of portgroup.
 19075  	//
 19076  	// See
 19077  	// `DistributedVirtualPortgroup*.*DistributedVirtualPortgroupPortgroupType_enum`
 19078  	// for possible values.
 19079  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 19080  	// Backing type of portgroup.
 19081  	//
 19082  	// See
 19083  	// `DistributedVirtualPortgroup*.*DistributedVirtualPortgroupBackingType_enum`
 19084  	// for possible values.
 19085  	// The default value is "standard"
 19086  	BackingType string `xml:"backingType,omitempty" json:"backingType,omitempty" vim:"7.0"`
 19087  	// Deprecated as of vSphere API 5.5.
 19088  	//
 19089  	// Eligible entities that can connect to the port.
 19090  	//
 19091  	// See
 19092  	// `DVPortgroupConfigInfo*.*DVPortgroupConfigInfo.scope`.
 19093  	//
 19094  	// Refers instances of `ManagedEntity`.
 19095  	Scope []ManagedObjectReference `xml:"scope,omitempty" json:"scope,omitempty"`
 19096  	// Portgroup policy.
 19097  	Policy BaseDVPortgroupPolicy `xml:"policy,omitempty,typeattr" json:"policy,omitempty"`
 19098  	// Opaque binary blob that stores vendor specific configuration.
 19099  	VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty" json:"vendorSpecificConfig,omitempty"`
 19100  	// If set to true, this property ignores the limit on the number of ports in the
 19101  	// portgroup.
 19102  	//
 19103  	// When a Virtual Machine/Host tries to connect to the portgroup and there
 19104  	// are no free ports available in the portgroup, new ports will be automatically
 19105  	// added to the portgroup. The flag is currently supported only for static portgroups.
 19106  	//
 19107  	// Setting this property to true makes the portgroup a potential candidate for
 19108  	// auto-shrink. Once the portgroup has auto-expanded then its disconnected ports are
 19109  	// likely to be deleted automatically, as a part of auto-shrink step, if there are more
 19110  	// than certain number of free ports. If the portgroup never auto-expanded, then it will
 19111  	// never lose any free ports.
 19112  	AutoExpand *bool `xml:"autoExpand" json:"autoExpand,omitempty" vim:"5.0"`
 19113  	// The key of virtual NIC network resource pool to be associated with a portgroup.
 19114  	//
 19115  	// Setting this property to "-1", would mean that this portgroup
 19116  	// is not associated with any virtual NIC network resource pool.
 19117  	VmVnicNetworkResourcePoolKey string `xml:"vmVnicNetworkResourcePoolKey,omitempty" json:"vmVnicNetworkResourcePoolKey,omitempty" vim:"6.0"`
 19118  	// The UUID of transport zone to be associated with a NSX portgroup.
 19119  	TransportZoneUuid string `xml:"transportZoneUuid,omitempty" json:"transportZoneUuid,omitempty" vim:"7.0"`
 19120  	// The name of transport zone to be associated with a NSX portgroup.
 19121  	TransportZoneName string `xml:"transportZoneName,omitempty" json:"transportZoneName,omitempty" vim:"7.0"`
 19122  	// The logical switch UUID, which is used by NSX portgroup
 19123  	LogicalSwitchUuid string `xml:"logicalSwitchUuid,omitempty" json:"logicalSwitchUuid,omitempty" vim:"7.0"`
 19124  	// The segment ID of logical switch
 19125  	SegmentId string `xml:"segmentId,omitempty" json:"segmentId,omitempty" vim:"7.0"`
 19126  }
 19127  
 19128  func init() {
 19129  	t["DVPortgroupConfigSpec"] = reflect.TypeOf((*DVPortgroupConfigSpec)(nil)).Elem()
 19130  	minAPIVersionForType["DVPortgroupConfigSpec"] = "4.0"
 19131  }
 19132  
 19133  // Two distributed virtual portgroup was created.
 19134  type DVPortgroupCreatedEvent struct {
 19135  	DVPortgroupEvent
 19136  }
 19137  
 19138  func init() {
 19139  	t["DVPortgroupCreatedEvent"] = reflect.TypeOf((*DVPortgroupCreatedEvent)(nil)).Elem()
 19140  	minAPIVersionForType["DVPortgroupCreatedEvent"] = "4.0"
 19141  }
 19142  
 19143  // Two distributed virtual portgroup was destroyed.
 19144  type DVPortgroupDestroyedEvent struct {
 19145  	DVPortgroupEvent
 19146  }
 19147  
 19148  func init() {
 19149  	t["DVPortgroupDestroyedEvent"] = reflect.TypeOf((*DVPortgroupDestroyedEvent)(nil)).Elem()
 19150  	minAPIVersionForType["DVPortgroupDestroyedEvent"] = "4.0"
 19151  }
 19152  
 19153  // DVPortgroup related events.
 19154  type DVPortgroupEvent struct {
 19155  	Event
 19156  }
 19157  
 19158  func init() {
 19159  	t["DVPortgroupEvent"] = reflect.TypeOf((*DVPortgroupEvent)(nil)).Elem()
 19160  	minAPIVersionForType["DVPortgroupEvent"] = "4.0"
 19161  }
 19162  
 19163  // The DistributedVirtualPortgroup policies.
 19164  //
 19165  // This field is not applicable
 19166  // when queried directly against an ESX host.
 19167  type DVPortgroupPolicy struct {
 19168  	DynamicData
 19169  
 19170  	// Allow the `DVPortSetting.blocked` setting
 19171  	// of an individual port to override the setting in
 19172  	// `DVPortgroupConfigInfo.defaultPortConfig` of
 19173  	// a portgroup.
 19174  	BlockOverrideAllowed bool `xml:"blockOverrideAllowed" json:"blockOverrideAllowed"`
 19175  	// Allow the `DVPortSetting.inShapingPolicy` or
 19176  	// `DVPortSetting.outShapingPolicy` settings
 19177  	// of an individual port to override the setting in
 19178  	// `DVPortgroupConfigInfo.defaultPortConfig` of
 19179  	// a portgroup.
 19180  	ShapingOverrideAllowed bool `xml:"shapingOverrideAllowed" json:"shapingOverrideAllowed"`
 19181  	// Allow the `DVPortSetting.vendorSpecificConfig`
 19182  	// setting of an individual port to override the setting in
 19183  	// `DVPortgroupConfigInfo.defaultPortConfig` of
 19184  	// a portgroup.
 19185  	VendorConfigOverrideAllowed bool `xml:"vendorConfigOverrideAllowed" json:"vendorConfigOverrideAllowed"`
 19186  	// Allow a live port to be moved in and out of the portgroup.
 19187  	LivePortMovingAllowed bool `xml:"livePortMovingAllowed" json:"livePortMovingAllowed"`
 19188  	// If true, reset the port network setting back to the portgroup setting
 19189  	// (thus removing the per-port setting) when the port is disconnected from
 19190  	// the connectee.
 19191  	PortConfigResetAtDisconnect bool `xml:"portConfigResetAtDisconnect" json:"portConfigResetAtDisconnect"`
 19192  	// Allow the setting of
 19193  	// `DVPortSetting.networkResourcePoolKey` of an
 19194  	// individual port to override the setting in
 19195  	// `DVPortgroupConfigInfo.defaultPortConfig`
 19196  	// of a portgroup.
 19197  	NetworkResourcePoolOverrideAllowed *bool `xml:"networkResourcePoolOverrideAllowed" json:"networkResourcePoolOverrideAllowed,omitempty" vim:"5.0"`
 19198  	// Allow the setting of
 19199  	// `DVPortSetting.filterPolicy`,
 19200  	// for an individual port to override the setting in
 19201  	// `DVPortgroupConfigInfo.defaultPortConfig` of
 19202  	// a portgroup.
 19203  	TrafficFilterOverrideAllowed *bool `xml:"trafficFilterOverrideAllowed" json:"trafficFilterOverrideAllowed,omitempty" vim:"5.5"`
 19204  }
 19205  
 19206  func init() {
 19207  	t["DVPortgroupPolicy"] = reflect.TypeOf((*DVPortgroupPolicy)(nil)).Elem()
 19208  	minAPIVersionForType["DVPortgroupPolicy"] = "4.0"
 19209  }
 19210  
 19211  // Two distributed virtual portgroup was reconfigured.
 19212  type DVPortgroupReconfiguredEvent struct {
 19213  	DVPortgroupEvent
 19214  
 19215  	// The reconfiguration spec.
 19216  	ConfigSpec DVPortgroupConfigSpec `xml:"configSpec" json:"configSpec"`
 19217  	// The configuration values changed during the reconfiguration.
 19218  	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty" vim:"6.5"`
 19219  }
 19220  
 19221  func init() {
 19222  	t["DVPortgroupReconfiguredEvent"] = reflect.TypeOf((*DVPortgroupReconfiguredEvent)(nil)).Elem()
 19223  	minAPIVersionForType["DVPortgroupReconfiguredEvent"] = "4.0"
 19224  }
 19225  
 19226  // Two distributed virtual portgroup was renamed.
 19227  type DVPortgroupRenamedEvent struct {
 19228  	DVPortgroupEvent
 19229  
 19230  	// The old portgroup name.
 19231  	OldName string `xml:"oldName" json:"oldName"`
 19232  	// The new portgroup name.
 19233  	NewName string `xml:"newName" json:"newName"`
 19234  }
 19235  
 19236  func init() {
 19237  	t["DVPortgroupRenamedEvent"] = reflect.TypeOf((*DVPortgroupRenamedEvent)(nil)).Elem()
 19238  	minAPIVersionForType["DVPortgroupRenamedEvent"] = "4.0"
 19239  }
 19240  
 19241  // The parameters of `DistributedVirtualPortgroup.DVPortgroupRollback_Task`.
 19242  type DVPortgroupRollbackRequestType struct {
 19243  	This ManagedObjectReference `xml:"_this" json:"-"`
 19244  	// The backup of Distributed Virtual PortGroup entity.
 19245  	EntityBackup *EntityBackupConfig `xml:"entityBackup,omitempty" json:"entityBackup,omitempty"`
 19246  }
 19247  
 19248  func init() {
 19249  	t["DVPortgroupRollbackRequestType"] = reflect.TypeOf((*DVPortgroupRollbackRequestType)(nil)).Elem()
 19250  }
 19251  
 19252  type DVPortgroupRollback_Task DVPortgroupRollbackRequestType
 19253  
 19254  func init() {
 19255  	t["DVPortgroupRollback_Task"] = reflect.TypeOf((*DVPortgroupRollback_Task)(nil)).Elem()
 19256  }
 19257  
 19258  type DVPortgroupRollback_TaskResponse struct {
 19259  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 19260  }
 19261  
 19262  // Class to specify selection criteria of list of vNetwork Distributed Portgroups.
 19263  type DVPortgroupSelection struct {
 19264  	SelectionSet
 19265  
 19266  	// vSphere Distributed Switch uuid
 19267  	DvsUuid string `xml:"dvsUuid" json:"dvsUuid"`
 19268  	// List of vNetwork Distributed Portgroup keys
 19269  	PortgroupKey []string `xml:"portgroupKey" json:"portgroupKey"`
 19270  }
 19271  
 19272  func init() {
 19273  	t["DVPortgroupSelection"] = reflect.TypeOf((*DVPortgroupSelection)(nil)).Elem()
 19274  	minAPIVersionForType["DVPortgroupSelection"] = "5.0"
 19275  }
 19276  
 19277  // The `DVSBackupRestoreCapability` data object
 19278  // describes backup, restore, and rollback capabilities for distributed virtual
 19279  // switches and distributed virtual portgroups.
 19280  //
 19281  // Backup and restore capabilities are indicated for `DistributedVirtualSwitch`.
 19282  // Rollback capability is indicated for `DistributedVirtualSwitch`
 19283  // and `DistributedVirtualPortgroup`.
 19284  type DVSBackupRestoreCapability struct {
 19285  	DynamicData
 19286  
 19287  	// Indicates whether backup, restore, and rollback are supported.
 19288  	BackupRestoreSupported bool `xml:"backupRestoreSupported" json:"backupRestoreSupported"`
 19289  }
 19290  
 19291  func init() {
 19292  	t["DVSBackupRestoreCapability"] = reflect.TypeOf((*DVSBackupRestoreCapability)(nil)).Elem()
 19293  	minAPIVersionForType["DVSBackupRestoreCapability"] = "5.1"
 19294  }
 19295  
 19296  // The `DVSCapability` data object
 19297  // describes the distributed virtual switch features and indicates
 19298  // the level of configuration that is allowed.
 19299  type DVSCapability struct {
 19300  	DynamicData
 19301  
 19302  	// Indicates whether this switch allows vCenter users to modify
 19303  	// the switch configuration at the switch level,
 19304  	// except for host member, policy, and scope operations.
 19305  	DvsOperationSupported *bool `xml:"dvsOperationSupported" json:"dvsOperationSupported,omitempty"`
 19306  	// Indicates whether this switch allows vCenter users to modify
 19307  	// the switch configuration at the portgroup level,
 19308  	// except for host member, policy, and scope operations.
 19309  	DvPortGroupOperationSupported *bool `xml:"dvPortGroupOperationSupported" json:"dvPortGroupOperationSupported,omitempty"`
 19310  	// Indicates whether this switch allows vCenter users to modify
 19311  	// the switch configuration at the port level,
 19312  	// except for host member, policy, and scope operations.
 19313  	DvPortOperationSupported *bool `xml:"dvPortOperationSupported" json:"dvPortOperationSupported,omitempty"`
 19314  	// List of host component product information that is compatible
 19315  	// with the current switch implementation.
 19316  	CompatibleHostComponentProductInfo []DistributedVirtualSwitchHostProductSpec `xml:"compatibleHostComponentProductInfo,omitempty" json:"compatibleHostComponentProductInfo,omitempty"`
 19317  	// Indicators for which version-specific distributed virtual switch
 19318  	// features are available on this switch.
 19319  	//
 19320  	// This information is read-only, with the following exception.
 19321  	// For a third-party distributed switch implementation, you can
 19322  	// set the property
 19323  	// `DVSFeatureCapability*.*DVSFeatureCapability.vmDirectPathGen2Supported`
 19324  	// during switch creation or when you call the
 19325  	// `DistributedVirtualSwitch.UpdateDvsCapability` method.
 19326  	FeaturesSupported BaseDVSFeatureCapability `xml:"featuresSupported,omitempty,typeattr" json:"featuresSupported,omitempty" vim:"4.1"`
 19327  }
 19328  
 19329  func init() {
 19330  	t["DVSCapability"] = reflect.TypeOf((*DVSCapability)(nil)).Elem()
 19331  	minAPIVersionForType["DVSCapability"] = "4.0"
 19332  }
 19333  
 19334  // Configuration of a `DistributedVirtualSwitch`.
 19335  type DVSConfigInfo struct {
 19336  	DynamicData
 19337  
 19338  	// Generated UUID of the switch.
 19339  	//
 19340  	// Unique across vCenter Server
 19341  	// inventory and instances.
 19342  	Uuid string `xml:"uuid" json:"uuid"`
 19343  	// Name of the switch.
 19344  	Name string `xml:"name" json:"name"`
 19345  	// Number of standalone ports in the switch.
 19346  	//
 19347  	// Standalone ports are
 19348  	// ports that do not belong to any portgroup.
 19349  	NumStandalonePorts int32 `xml:"numStandalonePorts" json:"numStandalonePorts"`
 19350  	// Current number of ports, not including conflict ports.
 19351  	NumPorts int32 `xml:"numPorts" json:"numPorts"`
 19352  	// Maximum number of ports allowed in the switch,
 19353  	// not including conflict ports.
 19354  	MaxPorts int32 `xml:"maxPorts" json:"maxPorts"`
 19355  	// Uplink port policy.
 19356  	UplinkPortPolicy BaseDVSUplinkPortPolicy `xml:"uplinkPortPolicy,typeattr" json:"uplinkPortPolicy"`
 19357  	// List of uplink portgroups.
 19358  	//
 19359  	// When adding host members, the server
 19360  	// uses the `DVSConfigInfo.uplinkPortPolicy` to create a number of
 19361  	// uplink ports for the host. If portgroups are shown here,
 19362  	// those uplink ports will be added to the portgroups, with uplink ports
 19363  	// evenly spread among the portgroups.
 19364  	//
 19365  	// Refers instances of `DistributedVirtualPortgroup`.
 19366  	UplinkPortgroup []ManagedObjectReference `xml:"uplinkPortgroup,omitempty" json:"uplinkPortgroup,omitempty"`
 19367  	// Default configuration for the ports in the switch, if the port
 19368  	// does not inherit configuration from the parent portgroup or has
 19369  	// its own configuration.
 19370  	DefaultPortConfig BaseDVPortSetting `xml:"defaultPortConfig,typeattr" json:"defaultPortConfig"`
 19371  	// Hosts that join the switch.
 19372  	Host []DistributedVirtualSwitchHostMember `xml:"host,omitempty" json:"host,omitempty"`
 19373  	// Vendor, product, and version information for the implementation
 19374  	// module of the switch.
 19375  	ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo" json:"productInfo"`
 19376  	// Intended vendor, product, and version information for the
 19377  	// implementation module of the switch.
 19378  	TargetInfo *DistributedVirtualSwitchProductSpec `xml:"targetInfo,omitempty" json:"targetInfo,omitempty"`
 19379  	// Key of the extension registered by the remote server that
 19380  	// controls the switch.
 19381  	ExtensionKey string `xml:"extensionKey,omitempty" json:"extensionKey,omitempty"`
 19382  	// Opaque binary blob that stores vendor specific configuration.
 19383  	VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty" json:"vendorSpecificConfig,omitempty"`
 19384  	// Usage policy of the switch.
 19385  	Policy *DVSPolicy `xml:"policy,omitempty" json:"policy,omitempty"`
 19386  	// Description string for the switch.
 19387  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 19388  	// Version string of the configuration.
 19389  	ConfigVersion string `xml:"configVersion" json:"configVersion"`
 19390  	// Human operator contact information.
 19391  	Contact DVSContactInfo `xml:"contact" json:"contact"`
 19392  	// IP address for the switch, specified using IPv4 dot notation.
 19393  	//
 19394  	// The
 19395  	// utility of this address is defined by other switch features.
 19396  	SwitchIpAddress string `xml:"switchIpAddress,omitempty" json:"switchIpAddress,omitempty" vim:"5.0"`
 19397  	// Create time of the switch.
 19398  	CreateTime time.Time `xml:"createTime" json:"createTime"`
 19399  	// Boolean to indicate if network I/O control is enabled on the
 19400  	// switch.
 19401  	NetworkResourceManagementEnabled *bool `xml:"networkResourceManagementEnabled" json:"networkResourceManagementEnabled,omitempty" vim:"4.1"`
 19402  	// Default host proxy switch maximum port number
 19403  	DefaultProxySwitchMaxNumPorts int32 `xml:"defaultProxySwitchMaxNumPorts,omitempty" json:"defaultProxySwitchMaxNumPorts,omitempty" vim:"5.1"`
 19404  	// VDS health check configuration.
 19405  	HealthCheckConfig []BaseDVSHealthCheckConfig `xml:"healthCheckConfig,omitempty,typeattr" json:"healthCheckConfig,omitempty" vim:"5.1"`
 19406  	// Host infrastructure traffic class resource configuration.
 19407  	InfrastructureTrafficResourceConfig []DvsHostInfrastructureTrafficResource `xml:"infrastructureTrafficResourceConfig,omitempty" json:"infrastructureTrafficResourceConfig,omitempty" vim:"6.0"`
 19408  	// Dynamic Host infrastructure traffic class resource configuration.
 19409  	NetResourcePoolTrafficResourceConfig []DvsHostInfrastructureTrafficResource `xml:"netResourcePoolTrafficResourceConfig,omitempty" json:"netResourcePoolTrafficResourceConfig,omitempty" vim:"6.7"`
 19410  	// Network resource control version of the switch.
 19411  	//
 19412  	// Possible value can be of
 19413  	// `DistributedVirtualSwitchNetworkResourceControlVersion_enum`.
 19414  	NetworkResourceControlVersion string `xml:"networkResourceControlVersion,omitempty" json:"networkResourceControlVersion,omitempty" vim:"6.0"`
 19415  	// The Virtual NIC network resource pool information for the switch.
 19416  	VmVnicNetworkResourcePool []DVSVmVnicNetworkResourcePool `xml:"vmVnicNetworkResourcePool,omitempty" json:"vmVnicNetworkResourcePool,omitempty" vim:"6.0"`
 19417  	// The percentage of physical nic link speed
 19418  	// `PhysicalNicLinkInfo.speedMb`
 19419  	// available for infrastructure traffic reservation.
 19420  	//
 19421  	// If this value is 75, then for a 1Gbps physical nic, only
 19422  	// 750Mbps is allowed for all infrastructure traffic reservations.
 19423  	PnicCapacityRatioForReservation int32 `xml:"pnicCapacityRatioForReservation,omitempty" json:"pnicCapacityRatioForReservation,omitempty" vim:"6.0"`
 19424  }
 19425  
 19426  func init() {
 19427  	t["DVSConfigInfo"] = reflect.TypeOf((*DVSConfigInfo)(nil)).Elem()
 19428  	minAPIVersionForType["DVSConfigInfo"] = "4.0"
 19429  }
 19430  
 19431  // The `DVSConfigSpec`
 19432  // data object contains configuration data for a
 19433  // `DistributedVirtualSwitch`.
 19434  //
 19435  // Use the `DistributedVirtualSwitch.ReconfigureDvs_Task`
 19436  // method to apply the configuration to the
 19437  // switch.
 19438  type DVSConfigSpec struct {
 19439  	DynamicData
 19440  
 19441  	// The version string of the configuration that this spec is trying to
 19442  	// change.
 19443  	//
 19444  	// This property is required in reconfiguring a switch
 19445  	// and should be set to the same value as
 19446  	// `DVSConfigInfo.configVersion`.
 19447  	// This property is ignored during switch creation.
 19448  	ConfigVersion string `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
 19449  	// The name of the switch.
 19450  	//
 19451  	// Must be unique in the parent folder.
 19452  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 19453  	// The number of standalone ports in the switch.
 19454  	//
 19455  	// Standalone ports are
 19456  	// ports that do not belong to any portgroup. If set to a number larger
 19457  	// than number of existing standalone ports in the switch, new ports get
 19458  	// created to meet the number. If set to a number smaller than the number
 19459  	// of existing standalone ports, free ports (uplink ports excluded) are
 19460  	// deleted to meet the number. If the set number cannot be met by
 19461  	// deleting free standalone ports, a fault is raised.
 19462  	NumStandalonePorts int32 `xml:"numStandalonePorts,omitempty" json:"numStandalonePorts,omitempty"`
 19463  	// Deprecated as of vSphere API 5.0
 19464  	// The default value of this propoerty is maxint and there is no reason
 19465  	// for users to change it to a lower value.
 19466  	//
 19467  	// The maximum number of DistributedVirtualPorts allowed in the switch.
 19468  	//
 19469  	// If specified in a reconfigure operation, this number cannot be smaller
 19470  	// than the number of existing DistributedVirtualPorts.
 19471  	MaxPorts int32 `xml:"maxPorts,omitempty" json:"maxPorts,omitempty"`
 19472  	// The uplink port policy.
 19473  	UplinkPortPolicy BaseDVSUplinkPortPolicy `xml:"uplinkPortPolicy,omitempty,typeattr" json:"uplinkPortPolicy,omitempty"`
 19474  	// The uplink portgroups.
 19475  	//
 19476  	// Refers instances of `DistributedVirtualPortgroup`.
 19477  	UplinkPortgroup []ManagedObjectReference `xml:"uplinkPortgroup,omitempty" json:"uplinkPortgroup,omitempty"`
 19478  	// The default configuration for ports.
 19479  	DefaultPortConfig BaseDVPortSetting `xml:"defaultPortConfig,omitempty,typeattr" json:"defaultPortConfig,omitempty"`
 19480  	// The host member specification.
 19481  	//
 19482  	// A particular host should have only one entry
 19483  	// in this array. Duplicate entries for the same host will raise a fault.
 19484  	// The host version should be compatible with the version of
 19485  	// `DistributedVirtualSwitch`. Use
 19486  	// `DistributedVirtualSwitchManager.QueryDvsCheckCompatibility`
 19487  	// to check for compatibility.
 19488  	Host []DistributedVirtualSwitchHostMemberConfigSpec `xml:"host,omitempty" json:"host,omitempty"`
 19489  	// The key of the extension registered by a remote server that
 19490  	// controls the switch.
 19491  	ExtensionKey string `xml:"extensionKey,omitempty" json:"extensionKey,omitempty"`
 19492  	// Set the description string of the switch.
 19493  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 19494  	// The usage policy of the switch.
 19495  	Policy *DVSPolicy `xml:"policy,omitempty" json:"policy,omitempty"`
 19496  	// Set the opaque blob that stores vendor specific configuration.
 19497  	VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty" json:"vendorSpecificConfig,omitempty"`
 19498  	// Set the human operator contact information.
 19499  	Contact *DVSContactInfo `xml:"contact,omitempty" json:"contact,omitempty"`
 19500  	// IP address for the switch, specified using IPv4 dot notation.
 19501  	//
 19502  	// IPv6 address is not supported for this property.
 19503  	// The utility of this address is defined by other switch features.
 19504  	// switchIpAddress would be ignored when IPFIX collector uses IPv6.
 19505  	SwitchIpAddress string `xml:"switchIpAddress,omitempty" json:"switchIpAddress,omitempty" vim:"5.0"`
 19506  	// The default host proxy switch maximum port number
 19507  	DefaultProxySwitchMaxNumPorts int32 `xml:"defaultProxySwitchMaxNumPorts,omitempty" json:"defaultProxySwitchMaxNumPorts,omitempty" vim:"5.1"`
 19508  	// The host infrastructure traffic resource allocation specification.
 19509  	//
 19510  	// Only the traffic class resource allocations identified in the list
 19511  	// will be updated. The other traffic class resource allocations that are not
 19512  	// specified will not change.
 19513  	InfrastructureTrafficResourceConfig []DvsHostInfrastructureTrafficResource `xml:"infrastructureTrafficResourceConfig,omitempty" json:"infrastructureTrafficResourceConfig,omitempty" vim:"6.0"`
 19514  	// The dynamic host infrastructure traffic resource allocation
 19515  	// specification.
 19516  	NetResourcePoolTrafficResourceConfig []DvsHostInfrastructureTrafficResource `xml:"netResourcePoolTrafficResourceConfig,omitempty" json:"netResourcePoolTrafficResourceConfig,omitempty" vim:"6.7"`
 19517  	// Indicates the Network Resource Control APIs that are supported on the switch.
 19518  	//
 19519  	// Possible value can be of
 19520  	// `DistributedVirtualSwitchNetworkResourceControlVersion_enum`.
 19521  	NetworkResourceControlVersion string `xml:"networkResourceControlVersion,omitempty" json:"networkResourceControlVersion,omitempty" vim:"6.0"`
 19522  }
 19523  
 19524  func init() {
 19525  	t["DVSConfigSpec"] = reflect.TypeOf((*DVSConfigSpec)(nil)).Elem()
 19526  	minAPIVersionForType["DVSConfigSpec"] = "4.0"
 19527  }
 19528  
 19529  // Contact information of a human operator.
 19530  type DVSContactInfo struct {
 19531  	DynamicData
 19532  
 19533  	// The name of the person who is responsible for the switch.
 19534  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 19535  	// The contact information for the person.
 19536  	Contact string `xml:"contact,omitempty" json:"contact,omitempty"`
 19537  }
 19538  
 19539  func init() {
 19540  	t["DVSContactInfo"] = reflect.TypeOf((*DVSContactInfo)(nil)).Elem()
 19541  	minAPIVersionForType["DVSContactInfo"] = "4.0"
 19542  }
 19543  
 19544  // Specification to create a `DistributedVirtualSwitch`.
 19545  type DVSCreateSpec struct {
 19546  	DynamicData
 19547  
 19548  	// Configuration data.
 19549  	ConfigSpec BaseDVSConfigSpec `xml:"configSpec,typeattr" json:"configSpec"`
 19550  	// Product information for this switch implementation.
 19551  	//
 19552  	// If you
 19553  	// do not specify this property, the Server will use the latest
 19554  	// version to create the `DistributedVirtualSwitch`.
 19555  	ProductInfo *DistributedVirtualSwitchProductSpec `xml:"productInfo,omitempty" json:"productInfo,omitempty"`
 19556  	// Capability of the switch.
 19557  	Capability *DVSCapability `xml:"capability,omitempty" json:"capability,omitempty"`
 19558  }
 19559  
 19560  func init() {
 19561  	t["DVSCreateSpec"] = reflect.TypeOf((*DVSCreateSpec)(nil)).Elem()
 19562  	minAPIVersionForType["DVSCreateSpec"] = "4.0"
 19563  }
 19564  
 19565  // This data object type describes the network adapter failover
 19566  // detection algorithm for a network adapter team.
 19567  type DVSFailureCriteria struct {
 19568  	InheritablePolicy
 19569  
 19570  	// To use link speed as the criteria, _checkSpeed_ must be one of
 19571  	// the following values:
 19572  	//     - `*exact*`: Use exact speed to detect link failure.
 19573  	//       `*speed*` is the configured exact speed in megabits per second.
 19574  	//     - `*minimum*`: Use minimum speed to detect failure.
 19575  	//       `*speed*` is the configured minimum speed in megabits per second.
 19576  	//     - **empty string**: Do not use link speed to detect failure.
 19577  	//       `*speed*` is unused in this case.
 19578  	CheckSpeed *StringPolicy `xml:"checkSpeed,omitempty" json:"checkSpeed,omitempty"`
 19579  	// See also `DVSFailureCriteria.checkSpeed`.
 19580  	Speed *IntPolicy `xml:"speed,omitempty" json:"speed,omitempty"`
 19581  	// The flag to indicate whether or not to use the link duplex reported
 19582  	// by the driver as link selection criteria.
 19583  	//
 19584  	// If `*checkDuplex*` is true, then fullDuplex is the configured
 19585  	// duplex mode. The link is considered bad if the link duplex reported
 19586  	// by driver is not the same as fullDuplex.
 19587  	//
 19588  	// If `*checkDuplex*` is false, then fullDuplex is unused, and
 19589  	// link duplexity is not used as a detection method.
 19590  	CheckDuplex *BoolPolicy `xml:"checkDuplex,omitempty" json:"checkDuplex,omitempty"`
 19591  	// See also `DVSFailureCriteria.checkDuplex`.
 19592  	FullDuplex *BoolPolicy `xml:"fullDuplex,omitempty" json:"fullDuplex,omitempty"`
 19593  	// The flag to indicate whether or not to use link error percentage
 19594  	// to detect failure.
 19595  	//
 19596  	// If `*checkErrorPercent*` is true, then percentage is the configured
 19597  	// error percentage that is tolerated. The link is considered bad
 19598  	// if error rate exceeds percentage.
 19599  	//
 19600  	// If `*checkErrorPercent*` is false, percentage is unused, and
 19601  	// error percentage is not used as a detection method.
 19602  	CheckErrorPercent *BoolPolicy `xml:"checkErrorPercent,omitempty" json:"checkErrorPercent,omitempty"`
 19603  	// See also `DVSFailureCriteria.checkErrorPercent`.
 19604  	Percentage *IntPolicy `xml:"percentage,omitempty" json:"percentage,omitempty"`
 19605  	// The flag to indicate whether or not to enable this property to
 19606  	// enable beacon probing as a method to validate
 19607  	// the link status of a physical network adapter.
 19608  	//
 19609  	// `*checkBeacon*` can be enabled only if the VirtualSwitch has been
 19610  	// configured to use the beacon. Attempting to set `*checkBeacon*`
 19611  	// on a PortGroup or VirtualSwitch that does not have beacon probing
 19612  	// configured for the applicable VirtualSwitch results in an error.
 19613  	CheckBeacon *BoolPolicy `xml:"checkBeacon,omitempty" json:"checkBeacon,omitempty"`
 19614  }
 19615  
 19616  func init() {
 19617  	t["DVSFailureCriteria"] = reflect.TypeOf((*DVSFailureCriteria)(nil)).Elem()
 19618  	minAPIVersionForType["DVSFailureCriteria"] = "4.0"
 19619  }
 19620  
 19621  // The `DVSFeatureCapability` data object
 19622  // represents the capabilities supported by a
 19623  // `DistributedVirtualSwitch`.
 19624  //
 19625  // These properties are read-only with
 19626  // the exception of
 19627  // `DVSFeatureCapability.vmDirectPathGen2Supported`.
 19628  type DVSFeatureCapability struct {
 19629  	DynamicData
 19630  
 19631  	// Deprecated as of vSphere API 5.0, use
 19632  	// <code>networkResourceManagementCapability</code>.`DVSNetworkResourceManagementCapability.networkResourceManagementSupported`.
 19633  	//
 19634  	// Indicates whether network I/O control is
 19635  	// supported on the vSphere Distributed Switch.
 19636  	NetworkResourceManagementSupported bool `xml:"networkResourceManagementSupported" json:"networkResourceManagementSupported"`
 19637  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 19638  	// there is no replacement.
 19639  	//
 19640  	// Indicates whether VMDirectPath Gen 2 is supported on the
 19641  	// distributed virtual switch.
 19642  	//
 19643  	// See
 19644  	// `HostCapability*.*HostCapability.vmDirectPathGen2Supported`
 19645  	// and `PhysicalNic*.*PhysicalNic.vmDirectPathGen2Supported`.
 19646  	//
 19647  	// For a third-party distributed switch implementation, you can
 19648  	// specify this property during switch creation or when you call the
 19649  	// `DistributedVirtualSwitch.UpdateDvsCapability` method.
 19650  	//
 19651  	// VMDirectPath Gen 2 is supported in
 19652  	// vSphere Distributed Switch Version 4.1 or later.
 19653  	VmDirectPathGen2Supported *bool `xml:"vmDirectPathGen2Supported" json:"vmDirectPathGen2Supported,omitempty"`
 19654  	// The available teaming modes for the vSphere Distributed Switch.
 19655  	//
 19656  	// The
 19657  	// value can be one or more of
 19658  	// `DistributedVirtualSwitchNicTeamingPolicyMode_enum`.
 19659  	NicTeamingPolicy []string `xml:"nicTeamingPolicy,omitempty" json:"nicTeamingPolicy,omitempty"`
 19660  	// Deprecated as of vSphere API 5.0, use
 19661  	// <code>networkResourceManagementCapability</code>.`DVSNetworkResourceManagementCapability.networkResourcePoolHighShareValue`.
 19662  	//
 19663  	// This is the value for `high`
 19664  	// in `DVSNetworkResourcePoolAllocationInfo.shares`.
 19665  	//
 19666  	// This
 19667  	// implicitly defines the legal range of share values to be between 1 and this.
 19668  	// This also defines values for other level types, such as
 19669  	// `normal` being one half of this value and
 19670  	// `low` being one fourth of this value.
 19671  	NetworkResourcePoolHighShareValue int32 `xml:"networkResourcePoolHighShareValue,omitempty" json:"networkResourcePoolHighShareValue,omitempty"`
 19672  	// Network resource management capabilities supported by a
 19673  	// distributed virtual switch.
 19674  	NetworkResourceManagementCapability *DVSNetworkResourceManagementCapability `xml:"networkResourceManagementCapability,omitempty" json:"networkResourceManagementCapability,omitempty" vim:"5.0"`
 19675  	// Health check capabilities supported by a `VmwareDistributedVirtualSwitch`.
 19676  	HealthCheckCapability BaseDVSHealthCheckCapability `xml:"healthCheckCapability,omitempty,typeattr" json:"healthCheckCapability,omitempty" vim:"5.1"`
 19677  	// Host rollback capability.
 19678  	//
 19679  	// If <code>rollbackCapability</code>.`DVSRollbackCapability.rollbackSupported`
 19680  	// is true, network operations that disconnect the the host are rolled back.
 19681  	RollbackCapability *DVSRollbackCapability `xml:"rollbackCapability,omitempty" json:"rollbackCapability,omitempty" vim:"5.1"`
 19682  	// Backup, restore, and rollback capabilities.
 19683  	//
 19684  	// Backup and restore
 19685  	// are supported only for `VmwareDistributedVirtualSwitch`.
 19686  	// Rollback is supported for `VmwareDistributedVirtualSwitch`
 19687  	// and `DistributedVirtualPortgroup`.
 19688  	// For information about backup and restore, see the
 19689  	// `DistributedVirtualSwitchManager` methods
 19690  	// `DistributedVirtualSwitchManager.DVSManagerExportEntity_Task` and
 19691  	// `DistributedVirtualSwitchManager.DVSManagerImportEntity_Task`.
 19692  	// For information about rollback, see the
 19693  	// `DistributedVirtualSwitch*.*DistributedVirtualSwitch.DVSRollback_Task`
 19694  	// and `DistributedVirtualPortgroup*.*DistributedVirtualPortgroup.DVPortgroupRollback_Task`
 19695  	// methods.
 19696  	BackupRestoreCapability *DVSBackupRestoreCapability `xml:"backupRestoreCapability,omitempty" json:"backupRestoreCapability,omitempty" vim:"5.1"`
 19697  	// Indicates whether Network Filter feature is
 19698  	// supported in vSphere Distributed Switch.
 19699  	NetworkFilterSupported *bool `xml:"networkFilterSupported" json:"networkFilterSupported,omitempty" vim:"5.5"`
 19700  	// Indicates whether MAC learning feature is
 19701  	// supported in vSphere Distributed Switch.
 19702  	MacLearningSupported *bool `xml:"macLearningSupported" json:"macLearningSupported,omitempty" vim:"6.7"`
 19703  }
 19704  
 19705  func init() {
 19706  	t["DVSFeatureCapability"] = reflect.TypeOf((*DVSFeatureCapability)(nil)).Elem()
 19707  	minAPIVersionForType["DVSFeatureCapability"] = "4.1"
 19708  }
 19709  
 19710  // Health check capabilities of health check supported by the
 19711  // vSphere Distributed Switch
 19712  type DVSHealthCheckCapability struct {
 19713  	DynamicData
 19714  }
 19715  
 19716  func init() {
 19717  	t["DVSHealthCheckCapability"] = reflect.TypeOf((*DVSHealthCheckCapability)(nil)).Elem()
 19718  	minAPIVersionForType["DVSHealthCheckCapability"] = "5.1"
 19719  }
 19720  
 19721  // The `DVSHealthCheckConfig` data object
 19722  // defines vSphere Distributed Switch health check configuration.
 19723  type DVSHealthCheckConfig struct {
 19724  	DynamicData
 19725  
 19726  	// True if enable health check.
 19727  	Enable *bool `xml:"enable" json:"enable,omitempty"`
 19728  	// Interval of health check, in minutes.
 19729  	Interval int32 `xml:"interval,omitempty" json:"interval,omitempty"`
 19730  }
 19731  
 19732  func init() {
 19733  	t["DVSHealthCheckConfig"] = reflect.TypeOf((*DVSHealthCheckConfig)(nil)).Elem()
 19734  	minAPIVersionForType["DVSHealthCheckConfig"] = "5.1"
 19735  }
 19736  
 19737  // This data object type describes the information about the host local port.
 19738  //
 19739  // A host local port is created to resurrect the management network connection
 19740  // on a VMkernel Virtual NIC.
 19741  type DVSHostLocalPortInfo struct {
 19742  	DynamicData
 19743  
 19744  	// UUID of the vSphere Distributed Switch that management interface is connected to.
 19745  	SwitchUuid string `xml:"switchUuid" json:"switchUuid"`
 19746  	// Portkey of the DVPort that management interface is now connected to.
 19747  	PortKey string `xml:"portKey" json:"portKey"`
 19748  	// The configuration of the new host local port.
 19749  	Setting BaseDVPortSetting `xml:"setting,typeattr" json:"setting"`
 19750  	// The Virtual NIC device connected to this port
 19751  	Vnic string `xml:"vnic" json:"vnic"`
 19752  }
 19753  
 19754  func init() {
 19755  	t["DVSHostLocalPortInfo"] = reflect.TypeOf((*DVSHostLocalPortInfo)(nil)).Elem()
 19756  	minAPIVersionForType["DVSHostLocalPortInfo"] = "5.1"
 19757  }
 19758  
 19759  // This data object type describes MAC learning policy of a port.
 19760  type DVSMacLearningPolicy struct {
 19761  	InheritablePolicy
 19762  
 19763  	// The flag to indicate if source MAC address learning is allowed.
 19764  	Enabled bool `xml:"enabled" json:"enabled"`
 19765  	// The flag to allow flooding of unlearned MAC for ingress traffic.
 19766  	AllowUnicastFlooding *bool `xml:"allowUnicastFlooding" json:"allowUnicastFlooding,omitempty"`
 19767  	// The maximum number of MAC addresses that can be learned.
 19768  	Limit *int32 `xml:"limit" json:"limit,omitempty"`
 19769  	// The default switching policy after MAC limit is exceeded.
 19770  	//
 19771  	// See `DVSMacLimitPolicyType_enum`
 19772  	// for valid values.
 19773  	LimitPolicy string `xml:"limitPolicy,omitempty" json:"limitPolicy,omitempty"`
 19774  }
 19775  
 19776  func init() {
 19777  	t["DVSMacLearningPolicy"] = reflect.TypeOf((*DVSMacLearningPolicy)(nil)).Elem()
 19778  	minAPIVersionForType["DVSMacLearningPolicy"] = "6.7"
 19779  }
 19780  
 19781  // This data object type describes MAC management policy of a port.
 19782  type DVSMacManagementPolicy struct {
 19783  	InheritablePolicy
 19784  
 19785  	// The flag to indicate whether or not all traffic is seen
 19786  	// on the port.
 19787  	AllowPromiscuous *bool `xml:"allowPromiscuous" json:"allowPromiscuous,omitempty"`
 19788  	// The flag to indicate whether or not the Media Access
 19789  	// Control (MAC) address can be changed.
 19790  	MacChanges *bool `xml:"macChanges" json:"macChanges,omitempty"`
 19791  	// The flag to indicate whether or not the virtual network adapter
 19792  	// should be allowed to send network traffic with a different MAC
 19793  	// address than that of the virtual network adapter.
 19794  	ForgedTransmits *bool `xml:"forgedTransmits" json:"forgedTransmits,omitempty"`
 19795  	// The MAC learning policy.
 19796  	MacLearningPolicy *DVSMacLearningPolicy `xml:"macLearningPolicy,omitempty" json:"macLearningPolicy,omitempty"`
 19797  }
 19798  
 19799  func init() {
 19800  	t["DVSMacManagementPolicy"] = reflect.TypeOf((*DVSMacManagementPolicy)(nil)).Elem()
 19801  	minAPIVersionForType["DVSMacManagementPolicy"] = "6.7"
 19802  }
 19803  
 19804  // Configuration specification for a DistributedVirtualSwitch or
 19805  // DistributedVirtualPortgroup.
 19806  type DVSManagerDvsConfigTarget struct {
 19807  	DynamicData
 19808  
 19809  	// List of any DistributedVirtualPortgroup available for host Virtual NIC connection.
 19810  	DistributedVirtualPortgroup []DistributedVirtualPortgroupInfo `xml:"distributedVirtualPortgroup,omitempty" json:"distributedVirtualPortgroup,omitempty"`
 19811  	// List of any DistributedVirtualSwitch available for host Virtual NIC connection.
 19812  	DistributedVirtualSwitch []DistributedVirtualSwitchInfo `xml:"distributedVirtualSwitch,omitempty" json:"distributedVirtualSwitch,omitempty"`
 19813  }
 19814  
 19815  func init() {
 19816  	t["DVSManagerDvsConfigTarget"] = reflect.TypeOf((*DVSManagerDvsConfigTarget)(nil)).Elem()
 19817  	minAPIVersionForType["DVSManagerDvsConfigTarget"] = "4.0"
 19818  }
 19819  
 19820  // The parameters of `DistributedVirtualSwitchManager.DVSManagerExportEntity_Task`.
 19821  type DVSManagerExportEntityRequestType struct {
 19822  	This ManagedObjectReference `xml:"_this" json:"-"`
 19823  	// The selection criteria for a set of
 19824  	// entities to export the configuration.
 19825  	SelectionSet []BaseSelectionSet `xml:"selectionSet,typeattr" json:"selectionSet"`
 19826  }
 19827  
 19828  func init() {
 19829  	t["DVSManagerExportEntityRequestType"] = reflect.TypeOf((*DVSManagerExportEntityRequestType)(nil)).Elem()
 19830  }
 19831  
 19832  type DVSManagerExportEntity_Task DVSManagerExportEntityRequestType
 19833  
 19834  func init() {
 19835  	t["DVSManagerExportEntity_Task"] = reflect.TypeOf((*DVSManagerExportEntity_Task)(nil)).Elem()
 19836  }
 19837  
 19838  type DVSManagerExportEntity_TaskResponse struct {
 19839  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 19840  }
 19841  
 19842  // The parameters of `DistributedVirtualSwitchManager.DVSManagerImportEntity_Task`.
 19843  type DVSManagerImportEntityRequestType struct {
 19844  	This ManagedObjectReference `xml:"_this" json:"-"`
 19845  	// Configuration of one or more entities to be imported.
 19846  	// The entity backup configuration is returned
 19847  	// by the `DistributedVirtualSwitchManager.DVSManagerExportEntity_Task` method.
 19848  	EntityBackup []EntityBackupConfig `xml:"entityBackup" json:"entityBackup"`
 19849  	// Specifies whether to create a new configuration
 19850  	// or restore a previous configuration. See `EntityImportType_enum` for valid values.
 19851  	ImportType string `xml:"importType" json:"importType"`
 19852  }
 19853  
 19854  func init() {
 19855  	t["DVSManagerImportEntityRequestType"] = reflect.TypeOf((*DVSManagerImportEntityRequestType)(nil)).Elem()
 19856  }
 19857  
 19858  type DVSManagerImportEntity_Task DVSManagerImportEntityRequestType
 19859  
 19860  func init() {
 19861  	t["DVSManagerImportEntity_Task"] = reflect.TypeOf((*DVSManagerImportEntity_Task)(nil)).Elem()
 19862  }
 19863  
 19864  type DVSManagerImportEntity_TaskResponse struct {
 19865  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 19866  }
 19867  
 19868  type DVSManagerLookupDvPortGroup DVSManagerLookupDvPortGroupRequestType
 19869  
 19870  func init() {
 19871  	t["DVSManagerLookupDvPortGroup"] = reflect.TypeOf((*DVSManagerLookupDvPortGroup)(nil)).Elem()
 19872  }
 19873  
 19874  // The parameters of `DistributedVirtualSwitchManager.DVSManagerLookupDvPortGroup`.
 19875  type DVSManagerLookupDvPortGroupRequestType struct {
 19876  	This ManagedObjectReference `xml:"_this" json:"-"`
 19877  	// The UUID of the `DistributedVirtualSwitch`.
 19878  	SwitchUuid string `xml:"switchUuid" json:"switchUuid"`
 19879  	// The key that identifies a
 19880  	// `DistributedVirtualPortgroup`.
 19881  	PortgroupKey string `xml:"portgroupKey" json:"portgroupKey"`
 19882  }
 19883  
 19884  func init() {
 19885  	t["DVSManagerLookupDvPortGroupRequestType"] = reflect.TypeOf((*DVSManagerLookupDvPortGroupRequestType)(nil)).Elem()
 19886  }
 19887  
 19888  type DVSManagerLookupDvPortGroupResponse struct {
 19889  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 19890  }
 19891  
 19892  // This class is used to store valid PhysicalNics for a specific host
 19893  type DVSManagerPhysicalNicsList struct {
 19894  	DynamicData
 19895  
 19896  	Host         ManagedObjectReference `xml:"host" json:"host"`
 19897  	PhysicalNics []PhysicalNic          `xml:"physicalNics,omitempty" json:"physicalNics,omitempty"`
 19898  }
 19899  
 19900  func init() {
 19901  	t["DVSManagerPhysicalNicsList"] = reflect.TypeOf((*DVSManagerPhysicalNicsList)(nil)).Elem()
 19902  	minAPIVersionForType["DVSManagerPhysicalNicsList"] = "8.0.0.1"
 19903  }
 19904  
 19905  // The uplink port policy specifies an array of uniform names
 19906  // for the uplink ports across the hosts.
 19907  //
 19908  // The size of the array indicates
 19909  // the number of uplink ports that will be created for each host in the
 19910  // switch.
 19911  //
 19912  // When the names in this array change, the uplink ports on all the
 19913  // hosts are automatically renamed accordingly. Increasing the number
 19914  // of names in the array automatically creates additional uplink ports
 19915  // bearing the added name on each host. Decreasing the number of name
 19916  // automatically deletes the unused uplink ports on each host. Decreasing
 19917  // beyond the number of unused uplink port raises a fault.
 19918  //
 19919  // This policy overrides the portgroup port naming format
 19920  // (`DVPortgroupConfigSpec*.*DVPortgroupConfigSpec.portNameFormat`),
 19921  // if both are defined and the uplink ports are created in a uplink portgroup.
 19922  type DVSNameArrayUplinkPortPolicy struct {
 19923  	DVSUplinkPortPolicy
 19924  
 19925  	// The uniform name of uplink ports on each host.
 19926  	UplinkPortName []string `xml:"uplinkPortName" json:"uplinkPortName"`
 19927  }
 19928  
 19929  func init() {
 19930  	t["DVSNameArrayUplinkPortPolicy"] = reflect.TypeOf((*DVSNameArrayUplinkPortPolicy)(nil)).Elem()
 19931  	minAPIVersionForType["DVSNameArrayUplinkPortPolicy"] = "4.0"
 19932  }
 19933  
 19934  // Dataobject representing the feature capabilities of network resource management
 19935  // supported by the vSphere Distributed Switch.
 19936  type DVSNetworkResourceManagementCapability struct {
 19937  	DynamicData
 19938  
 19939  	// Indicates whether network I/O control is
 19940  	// supported on the vSphere Distributed Switch.
 19941  	//
 19942  	// Network I/O control
 19943  	// is supported in vSphere Distributed Switch Version 4.1 or later.
 19944  	NetworkResourceManagementSupported bool `xml:"networkResourceManagementSupported" json:"networkResourceManagementSupported"`
 19945  	// High share level (`SharesLevel_enum*.*high`)
 19946  	// for `DVSNetworkResourcePoolAllocationInfo*.*DVSNetworkResourcePoolAllocationInfo.shares`.
 19947  	//
 19948  	// The <code>networkResourcePoolHighshareValue</code> property implicitly defines
 19949  	// the legal range of share values to be between 1 and this value.
 19950  	// This property also defines values for other level types, such as
 19951  	// `normal` being one half of this value and
 19952  	// `low` being one fourth of this value.
 19953  	// This feature is supported in vSphere Distributed
 19954  	// Switch Version 4.1 or later.
 19955  	NetworkResourcePoolHighShareValue int32 `xml:"networkResourcePoolHighShareValue" json:"networkResourcePoolHighShareValue"`
 19956  	// Indicates whether Qos Tag(802.1p priority tag)is supported on the
 19957  	// vSphere Distributed Switch.
 19958  	//
 19959  	// Qos Tag is supported in vSphere
 19960  	// Distributed Switch Version 5.0 or later.
 19961  	QosSupported bool `xml:"qosSupported" json:"qosSupported"`
 19962  	// Indicates whether the switch supports creating user defined resource
 19963  	// pools.
 19964  	//
 19965  	// This feature is supported in vSphere Distributed
 19966  	// Switch Version 5.0 or later.
 19967  	UserDefinedNetworkResourcePoolsSupported bool `xml:"userDefinedNetworkResourcePoolsSupported" json:"userDefinedNetworkResourcePoolsSupported"`
 19968  	// Flag to indicate whether Network Resource Control version 3 is supported.
 19969  	//
 19970  	// The API supported by Network Resouce Control version 3 include:
 19971  	// 1. VM virtual NIC network resource specification
 19972  	//        `VirtualEthernetCardResourceAllocation`
 19973  	// 2. VM virtual NIC network resource pool specification
 19974  	//        `DVSVmVnicNetworkResourcePool`
 19975  	// 3. Host infrastructure traffic network resource specification
 19976  	//        `DvsHostInfrastructureTrafficResource`
 19977  	//
 19978  	// Network Resource Control version 3 is supported for Switch Version 6.0 or later.
 19979  	NetworkResourceControlVersion3Supported *bool `xml:"networkResourceControlVersion3Supported" json:"networkResourceControlVersion3Supported,omitempty" vim:"6.0"`
 19980  	// Indicates whether user defined infrastructure traffic pool
 19981  	// supported in vSphere Distributed Switch.
 19982  	UserDefinedInfraTrafficPoolSupported *bool `xml:"userDefinedInfraTrafficPoolSupported" json:"userDefinedInfraTrafficPoolSupported,omitempty" vim:"6.7"`
 19983  }
 19984  
 19985  func init() {
 19986  	t["DVSNetworkResourceManagementCapability"] = reflect.TypeOf((*DVSNetworkResourceManagementCapability)(nil)).Elem()
 19987  	minAPIVersionForType["DVSNetworkResourceManagementCapability"] = "5.0"
 19988  }
 19989  
 19990  // Deprecated as of vSphere API 6.0
 19991  // Use `DvsHostInfrastructureTrafficResource`
 19992  // to manage resource allocation for host infrastructure traffic.
 19993  // Use `DVSVmVnicNetworkResourcePool` to manage
 19994  // resource allocation for user defined pools.
 19995  //
 19996  // The `DVSNetworkResourcePool` data object
 19997  // describes the resource configuration and management
 19998  // of network resource pools.
 19999  type DVSNetworkResourcePool struct {
 20000  	DynamicData
 20001  
 20002  	// Key of the network resource pool.
 20003  	Key string `xml:"key" json:"key"`
 20004  	// Name of the network resource pool.
 20005  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 20006  	// Description of the network resource pool.
 20007  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 20008  	// Configuration version for the network resource pool.
 20009  	ConfigVersion string `xml:"configVersion" json:"configVersion"`
 20010  	// Resource settings of the resource pool.
 20011  	AllocationInfo DVSNetworkResourcePoolAllocationInfo `xml:"allocationInfo" json:"allocationInfo"`
 20012  }
 20013  
 20014  func init() {
 20015  	t["DVSNetworkResourcePool"] = reflect.TypeOf((*DVSNetworkResourcePool)(nil)).Elem()
 20016  	minAPIVersionForType["DVSNetworkResourcePool"] = "4.1"
 20017  }
 20018  
 20019  // Resource allocation information for a network resource pool.
 20020  type DVSNetworkResourcePoolAllocationInfo struct {
 20021  	DynamicData
 20022  
 20023  	// Maximum allowed usage for network clients belonging to
 20024  	// this resource pool per host.
 20025  	//
 20026  	// The utilization of network clients belonging to this resource pool
 20027  	// will not exceed the specified limit even if there are available
 20028  	// network resources. If set to -1, then there is no limit on the network
 20029  	// resource usage for clients belonging to this resource pool. Units are
 20030  	// in Mbits/sec. When setting the allocation of a particular resource
 20031  	// pool, if the property is unset, it is treated as no change and the
 20032  	// property is not updated. An unset limit value while reading back the
 20033  	// allocation information of a network resource pool indicates that
 20034  	// there is no limit on the network resource usage for the clients
 20035  	// belonging to this resource group.
 20036  	Limit *int64 `xml:"limit" json:"limit,omitempty"`
 20037  	// Share settings associated with the network resource pool to
 20038  	// facilitate proportional sharing of the physical network resources.
 20039  	//
 20040  	// If the property is unset when setting the allocation of a particular
 20041  	// resource pool, it is treated as unset and the property is not updated.
 20042  	// The property is always set when reading back the allocation
 20043  	// information of a network resource pool.
 20044  	Shares *SharesInfo `xml:"shares,omitempty" json:"shares,omitempty"`
 20045  	// 802.1p tag to be used for this resource pool.
 20046  	//
 20047  	// The tag is a priority value
 20048  	// in the range 0..7 for Quality of Service operations on network traffic.
 20049  	PriorityTag int32 `xml:"priorityTag,omitempty" json:"priorityTag,omitempty" vim:"5.0"`
 20050  }
 20051  
 20052  func init() {
 20053  	t["DVSNetworkResourcePoolAllocationInfo"] = reflect.TypeOf((*DVSNetworkResourcePoolAllocationInfo)(nil)).Elem()
 20054  	minAPIVersionForType["DVSNetworkResourcePoolAllocationInfo"] = "4.1"
 20055  }
 20056  
 20057  // The `DVSNetworkResourcePoolConfigSpec` data object
 20058  // contains properties to create or update a network resource pool
 20059  // for a distributed virtual switch.
 20060  type DVSNetworkResourcePoolConfigSpec struct {
 20061  	DynamicData
 20062  
 20063  	// Key of the network resource pool.
 20064  	//
 20065  	// The property is ignored for
 20066  	// `DistributedVirtualSwitch*.*DistributedVirtualSwitch.AddNetworkResourcePool`
 20067  	// operations.
 20068  	Key string `xml:"key" json:"key"`
 20069  	// Unique identifier for a given version
 20070  	// of the configuration.
 20071  	//
 20072  	// Each change to the configuration will
 20073  	// update this value. This is typically implemented as a
 20074  	// non-decreasing count or a time-stamp. However, a client should
 20075  	// always treat this as an opaque string.
 20076  	//
 20077  	// If you specify the configuration version when you update
 20078  	// the resource configuration, the Server will apply the changes
 20079  	// only if the specified identifier matches the current
 20080  	// `DVSNetworkResourcePool*.*DVSNetworkResourcePool.configVersion`
 20081  	// value. You can use this field to guard against updates
 20082  	// that may have occurred between the time when the client
 20083  	// reads `DVSNetworkResourcePool.configVersion`
 20084  	// and when the configuration is applied.
 20085  	ConfigVersion string `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
 20086  	// Network resource allocation for the network resource pool.
 20087  	AllocationInfo *DVSNetworkResourcePoolAllocationInfo `xml:"allocationInfo,omitempty" json:"allocationInfo,omitempty"`
 20088  	// User defined name for the resource pool.
 20089  	//
 20090  	// The property is required for
 20091  	// `DistributedVirtualSwitch*.*DistributedVirtualSwitch.AddNetworkResourcePool`
 20092  	// operations.
 20093  	Name string `xml:"name,omitempty" json:"name,omitempty" vim:"5.0"`
 20094  	// User-defined description for the resource pool.
 20095  	Description string `xml:"description,omitempty" json:"description,omitempty" vim:"5.0"`
 20096  }
 20097  
 20098  func init() {
 20099  	t["DVSNetworkResourcePoolConfigSpec"] = reflect.TypeOf((*DVSNetworkResourcePoolConfigSpec)(nil)).Elem()
 20100  	minAPIVersionForType["DVSNetworkResourcePoolConfigSpec"] = "4.1"
 20101  }
 20102  
 20103  // The switch usage policy types
 20104  type DVSPolicy struct {
 20105  	DynamicData
 20106  
 20107  	// Whether downloading a new proxy VirtualSwitch module to the host is
 20108  	// allowed to be automatically executed by the switch.
 20109  	AutoPreInstallAllowed *bool `xml:"autoPreInstallAllowed" json:"autoPreInstallAllowed,omitempty"`
 20110  	// Whether upgrading of the switch is allowed to be automatically
 20111  	// executed by the switch.
 20112  	AutoUpgradeAllowed *bool `xml:"autoUpgradeAllowed" json:"autoUpgradeAllowed,omitempty"`
 20113  	// Whether to allow upgrading a switch when some of the hosts failed to
 20114  	// install the needed module.
 20115  	//
 20116  	// The vCenter Server will reattempt the
 20117  	// pre-install operation of the host module on those failed hosts,
 20118  	// whenever they reconnect to vCenter.
 20119  	PartialUpgradeAllowed *bool `xml:"partialUpgradeAllowed" json:"partialUpgradeAllowed,omitempty"`
 20120  }
 20121  
 20122  func init() {
 20123  	t["DVSPolicy"] = reflect.TypeOf((*DVSPolicy)(nil)).Elem()
 20124  	minAPIVersionForType["DVSPolicy"] = "4.0"
 20125  }
 20126  
 20127  // The `DVSRollbackCapability` data object
 20128  // describes the rollback capabilities for a `DistributedVirtualSwitch`.
 20129  type DVSRollbackCapability struct {
 20130  	DynamicData
 20131  
 20132  	// Indicates whether rollback is supported on the distributed switch.
 20133  	RollbackSupported bool `xml:"rollbackSupported" json:"rollbackSupported"`
 20134  }
 20135  
 20136  func init() {
 20137  	t["DVSRollbackCapability"] = reflect.TypeOf((*DVSRollbackCapability)(nil)).Elem()
 20138  	minAPIVersionForType["DVSRollbackCapability"] = "5.1"
 20139  }
 20140  
 20141  // The parameters of `DistributedVirtualSwitch.DVSRollback_Task`.
 20142  type DVSRollbackRequestType struct {
 20143  	This ManagedObjectReference `xml:"_this" json:"-"`
 20144  	// Backup of a distributed virtual switch, returned by
 20145  	// the `DistributedVirtualSwitchManager.DVSManagerExportEntity_Task`
 20146  	// method.
 20147  	EntityBackup *EntityBackupConfig `xml:"entityBackup,omitempty" json:"entityBackup,omitempty"`
 20148  }
 20149  
 20150  func init() {
 20151  	t["DVSRollbackRequestType"] = reflect.TypeOf((*DVSRollbackRequestType)(nil)).Elem()
 20152  }
 20153  
 20154  type DVSRollback_Task DVSRollbackRequestType
 20155  
 20156  func init() {
 20157  	t["DVSRollback_Task"] = reflect.TypeOf((*DVSRollback_Task)(nil)).Elem()
 20158  }
 20159  
 20160  type DVSRollback_TaskResponse struct {
 20161  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 20162  }
 20163  
 20164  // The `DVSRuntimeInfo` data object defines
 20165  // runtime information for a vSphere Distributed Switch.
 20166  type DVSRuntimeInfo struct {
 20167  	DynamicData
 20168  
 20169  	// Runtime information of the hosts that joined the switch.
 20170  	HostMemberRuntime []HostMemberRuntimeInfo `xml:"hostMemberRuntime,omitempty" json:"hostMemberRuntime,omitempty"`
 20171  	// The bandwidth reservation information for the switch.
 20172  	ResourceRuntimeInfo *DvsResourceRuntimeInfo `xml:"resourceRuntimeInfo,omitempty" json:"resourceRuntimeInfo,omitempty" vim:"6.0"`
 20173  }
 20174  
 20175  func init() {
 20176  	t["DVSRuntimeInfo"] = reflect.TypeOf((*DVSRuntimeInfo)(nil)).Elem()
 20177  	minAPIVersionForType["DVSRuntimeInfo"] = "5.1"
 20178  }
 20179  
 20180  // This data object type describes security policy governing ports.
 20181  type DVSSecurityPolicy struct {
 20182  	InheritablePolicy
 20183  
 20184  	// The flag to indicate whether or not all traffic is seen
 20185  	// on the port.
 20186  	AllowPromiscuous *BoolPolicy `xml:"allowPromiscuous,omitempty" json:"allowPromiscuous,omitempty"`
 20187  	// The flag to indicate whether or not the Media Access
 20188  	// Control (MAC) address can be changed.
 20189  	MacChanges *BoolPolicy `xml:"macChanges,omitempty" json:"macChanges,omitempty"`
 20190  	// The flag to indicate whether or not the virtual network adapter
 20191  	// should be allowed to send network traffic with a different MAC
 20192  	// address than that of the virtual network adapter.
 20193  	ForgedTransmits *BoolPolicy `xml:"forgedTransmits,omitempty" json:"forgedTransmits,omitempty"`
 20194  }
 20195  
 20196  func init() {
 20197  	t["DVSSecurityPolicy"] = reflect.TypeOf((*DVSSecurityPolicy)(nil)).Elem()
 20198  	minAPIVersionForType["DVSSecurityPolicy"] = "4.0"
 20199  }
 20200  
 20201  // Class to specify selection criteria of vSphere Distributed Switch.
 20202  type DVSSelection struct {
 20203  	SelectionSet
 20204  
 20205  	// vSphere Distributed Switch uuid
 20206  	DvsUuid string `xml:"dvsUuid" json:"dvsUuid"`
 20207  }
 20208  
 20209  func init() {
 20210  	t["DVSSelection"] = reflect.TypeOf((*DVSSelection)(nil)).Elem()
 20211  	minAPIVersionForType["DVSSelection"] = "5.0"
 20212  }
 20213  
 20214  // Summary of the distributed switch configuration.
 20215  type DVSSummary struct {
 20216  	DynamicData
 20217  
 20218  	// The name of the switch.
 20219  	Name string `xml:"name" json:"name"`
 20220  	// The generated UUID of the switch.
 20221  	Uuid string `xml:"uuid" json:"uuid"`
 20222  	// Current number of ports, not including conflict ports.
 20223  	NumPorts int32 `xml:"numPorts" json:"numPorts"`
 20224  	// The product information for the implementation of the switch.
 20225  	ProductInfo *DistributedVirtualSwitchProductSpec `xml:"productInfo,omitempty" json:"productInfo,omitempty"`
 20226  	// The names of the hosts that join the switch.
 20227  	//
 20228  	// Refers instances of `HostSystem`.
 20229  	HostMember []ManagedObjectReference `xml:"hostMember,omitempty" json:"hostMember,omitempty"`
 20230  	// The Virtual Machines with Virtual NICs that connect to the switch.
 20231  	//
 20232  	// In releases after vSphere API 5.0, vSphere Servers might not
 20233  	// generate property collector update notifications for this property.
 20234  	// To obtain the latest value of the property, you can use
 20235  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 20236  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 20237  	// an empty string for the version parameter.
 20238  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 20239  	// contain values for this property when some other property on the DataObject changes.
 20240  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 20241  	// version parameter, the value for this property may not be current.
 20242  	//
 20243  	// Refers instances of `VirtualMachine`.
 20244  	Vm []ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 20245  	// The hosts with Virtual NICs that connect to the switch.
 20246  	//
 20247  	// Refers instances of `HostSystem`.
 20248  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 20249  	// The names of the portgroups that are defined on the switch.
 20250  	PortgroupName []string `xml:"portgroupName,omitempty" json:"portgroupName,omitempty"`
 20251  	// A description string of the switch.
 20252  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 20253  	// The human operator contact information.
 20254  	Contact *DVSContactInfo `xml:"contact,omitempty" json:"contact,omitempty"`
 20255  	// The number of hosts in the switch.
 20256  	//
 20257  	// The value of this property
 20258  	// is not affected by the privileges granted to the current user.
 20259  	NumHosts int32 `xml:"numHosts,omitempty" json:"numHosts,omitempty" vim:"5.5"`
 20260  }
 20261  
 20262  func init() {
 20263  	t["DVSSummary"] = reflect.TypeOf((*DVSSummary)(nil)).Elem()
 20264  	minAPIVersionForType["DVSSummary"] = "4.0"
 20265  }
 20266  
 20267  // This data object type describes traffic shaping policy.
 20268  type DVSTrafficShapingPolicy struct {
 20269  	InheritablePolicy
 20270  
 20271  	// The flag to indicate whether or not traffic shaper is enabled on
 20272  	// the port.
 20273  	Enabled *BoolPolicy `xml:"enabled,omitempty" json:"enabled,omitempty"`
 20274  	// The average bandwidth in bits per second if shaping is enabled on
 20275  	// the port.
 20276  	AverageBandwidth *LongPolicy `xml:"averageBandwidth,omitempty" json:"averageBandwidth,omitempty"`
 20277  	// The peak bandwidth during bursts in bits per second if traffic
 20278  	// shaping is enabled on the port.
 20279  	PeakBandwidth *LongPolicy `xml:"peakBandwidth,omitempty" json:"peakBandwidth,omitempty"`
 20280  	// The maximum burst size allowed in bytes if shaping is enabled on
 20281  	// the port.
 20282  	BurstSize *LongPolicy `xml:"burstSize,omitempty" json:"burstSize,omitempty"`
 20283  }
 20284  
 20285  func init() {
 20286  	t["DVSTrafficShapingPolicy"] = reflect.TypeOf((*DVSTrafficShapingPolicy)(nil)).Elem()
 20287  	minAPIVersionForType["DVSTrafficShapingPolicy"] = "4.0"
 20288  }
 20289  
 20290  // The base class for uplink port policy.
 20291  type DVSUplinkPortPolicy struct {
 20292  	DynamicData
 20293  }
 20294  
 20295  func init() {
 20296  	t["DVSUplinkPortPolicy"] = reflect.TypeOf((*DVSUplinkPortPolicy)(nil)).Elem()
 20297  	minAPIVersionForType["DVSUplinkPortPolicy"] = "4.0"
 20298  }
 20299  
 20300  // This data object type describes vendor specific configuration.
 20301  type DVSVendorSpecificConfig struct {
 20302  	InheritablePolicy
 20303  
 20304  	// An opaque binary blob that stores vendor specific configuration.
 20305  	KeyValue []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"keyValue,omitempty" json:"keyValue,omitempty"`
 20306  }
 20307  
 20308  func init() {
 20309  	t["DVSVendorSpecificConfig"] = reflect.TypeOf((*DVSVendorSpecificConfig)(nil)).Elem()
 20310  	minAPIVersionForType["DVSVendorSpecificConfig"] = "4.0"
 20311  }
 20312  
 20313  // DataObject describing the resource configuration and management of
 20314  // virtual NIC network resource pools.
 20315  type DVSVmVnicNetworkResourcePool struct {
 20316  	DynamicData
 20317  
 20318  	// The key of the virtual NIC network resource pool.
 20319  	Key string `xml:"key" json:"key"`
 20320  	// The name of the virtual NIC network resource pool.
 20321  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 20322  	// The description of the virtual NIC network resource pool.
 20323  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 20324  	// The config version for the virtual NIC network resource pool.
 20325  	ConfigVersion string `xml:"configVersion" json:"configVersion"`
 20326  	// The resource settings of the virtual NIC network resource pool.
 20327  	AllocationInfo *DvsVmVnicResourceAllocation `xml:"allocationInfo,omitempty" json:"allocationInfo,omitempty"`
 20328  }
 20329  
 20330  func init() {
 20331  	t["DVSVmVnicNetworkResourcePool"] = reflect.TypeOf((*DVSVmVnicNetworkResourcePool)(nil)).Elem()
 20332  	minAPIVersionForType["DVSVmVnicNetworkResourcePool"] = "6.0"
 20333  }
 20334  
 20335  // The `DailyTaskScheduler` data object sets the time for daily
 20336  // task execution.
 20337  //
 20338  // You set the hour and the inherited minute
 20339  // property to complete the schedule. By default, the scheduled task
 20340  // will run once every day at the specified hour and minute.
 20341  //
 20342  // If you set the interval to a value greater than 1, the task will
 20343  // execute at the specified daily interval. (For example, an interval
 20344  // of 2 will cause the task to execute at the specified hour and minute
 20345  // every 2 days.)
 20346  type DailyTaskScheduler struct {
 20347  	HourlyTaskScheduler
 20348  
 20349  	// The hour at which the `RecurrentTaskScheduler` runs the task.
 20350  	//
 20351  	// Use UTC (Coordinated Universal Time) values in the range
 20352  	// 0 to 23, where 0 = 12:00 a.m. (UTC) and 12 = 12:00 p.m. (UTC).
 20353  	//
 20354  	// For vCenter 2.x and prior releases, use the server's local time.
 20355  	// For example, use Eastern Standard Time (EST) or Pacific Daylight Time (PDT),
 20356  	// rather than UTC.
 20357  	Hour int32 `xml:"hour" json:"hour"`
 20358  }
 20359  
 20360  func init() {
 20361  	t["DailyTaskScheduler"] = reflect.TypeOf((*DailyTaskScheduler)(nil)).Elem()
 20362  }
 20363  
 20364  // This event records when admission control checks have been disabled in a HA
 20365  // cluster.
 20366  type DasAdmissionControlDisabledEvent struct {
 20367  	ClusterEvent
 20368  }
 20369  
 20370  func init() {
 20371  	t["DasAdmissionControlDisabledEvent"] = reflect.TypeOf((*DasAdmissionControlDisabledEvent)(nil)).Elem()
 20372  }
 20373  
 20374  // This event records when admission control checks have been enabled in a HA cluster.
 20375  type DasAdmissionControlEnabledEvent struct {
 20376  	ClusterEvent
 20377  }
 20378  
 20379  func init() {
 20380  	t["DasAdmissionControlEnabledEvent"] = reflect.TypeOf((*DasAdmissionControlEnabledEvent)(nil)).Elem()
 20381  }
 20382  
 20383  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 20384  //
 20385  // This event records that VirtualCenter has re-established contact with a
 20386  // primary host in this HA cluster.
 20387  type DasAgentFoundEvent struct {
 20388  	ClusterEvent
 20389  }
 20390  
 20391  func init() {
 20392  	t["DasAgentFoundEvent"] = reflect.TypeOf((*DasAgentFoundEvent)(nil)).Elem()
 20393  }
 20394  
 20395  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 20396  //
 20397  // This event records that VirtualCenter cannot contact any primary host
 20398  // in this HA cluster.
 20399  //
 20400  // HA designates some hosts as primary hosts in the HA
 20401  // cluster. When adding a new host to an existing cluster, HA needs to
 20402  // contact one of the primary hosts to finish the configuration. VirtualCenter
 20403  // has lost contact with all primary nodes in the connected state. Attempts
 20404  // to configure HA on a host in this cluster will fail until a
 20405  // DasAgentFoundEvent is logged or unless this is the first node to be
 20406  // configured. For example, if all the other hosts are disconnected first.
 20407  type DasAgentUnavailableEvent struct {
 20408  	ClusterEvent
 20409  }
 20410  
 20411  func init() {
 20412  	t["DasAgentUnavailableEvent"] = reflect.TypeOf((*DasAgentUnavailableEvent)(nil)).Elem()
 20413  }
 20414  
 20415  // This event records that all hosts have been isolated from the network in a
 20416  // HA cluster.
 20417  type DasClusterIsolatedEvent struct {
 20418  	ClusterEvent
 20419  }
 20420  
 20421  func init() {
 20422  	t["DasClusterIsolatedEvent"] = reflect.TypeOf((*DasClusterIsolatedEvent)(nil)).Elem()
 20423  	minAPIVersionForType["DasClusterIsolatedEvent"] = "4.0"
 20424  }
 20425  
 20426  // This fault indicates that some error has occurred during the
 20427  // configuration of the host for HA.
 20428  //
 20429  // This may be subclassed by a more specific fault.
 20430  type DasConfigFault struct {
 20431  	VimFault
 20432  
 20433  	// The reason why the HA configuration failed, if known.
 20434  	//
 20435  	// Values should come from `DasConfigFaultDasConfigFaultReason_enum`.
 20436  	Reason string `xml:"reason,omitempty" json:"reason,omitempty" vim:"4.0"`
 20437  	// The output (stdout/stderr) from executing the configuration.
 20438  	Output string `xml:"output,omitempty" json:"output,omitempty" vim:"4.0"`
 20439  	// The list of events containing details why the configuration failed, if known.
 20440  	Event []BaseEvent `xml:"event,omitempty,typeattr" json:"event,omitempty" vim:"4.0"`
 20441  }
 20442  
 20443  func init() {
 20444  	t["DasConfigFault"] = reflect.TypeOf((*DasConfigFault)(nil)).Elem()
 20445  }
 20446  
 20447  type DasConfigFaultFault DasConfigFault
 20448  
 20449  func init() {
 20450  	t["DasConfigFaultFault"] = reflect.TypeOf((*DasConfigFaultFault)(nil)).Elem()
 20451  }
 20452  
 20453  // This event records when a cluster has been disabled for HA.
 20454  type DasDisabledEvent struct {
 20455  	ClusterEvent
 20456  }
 20457  
 20458  func init() {
 20459  	t["DasDisabledEvent"] = reflect.TypeOf((*DasDisabledEvent)(nil)).Elem()
 20460  }
 20461  
 20462  // This event records when a cluster has been enabled for HA.
 20463  type DasEnabledEvent struct {
 20464  	ClusterEvent
 20465  }
 20466  
 20467  func init() {
 20468  	t["DasEnabledEvent"] = reflect.TypeOf((*DasEnabledEvent)(nil)).Elem()
 20469  }
 20470  
 20471  // Class for the selection of heartbeat datastores
 20472  type DasHeartbeatDatastoreInfo struct {
 20473  	DynamicData
 20474  
 20475  	Datastore ManagedObjectReference   `xml:"datastore" json:"datastore"`
 20476  	Hosts     []ManagedObjectReference `xml:"hosts" json:"hosts"`
 20477  }
 20478  
 20479  func init() {
 20480  	t["DasHeartbeatDatastoreInfo"] = reflect.TypeOf((*DasHeartbeatDatastoreInfo)(nil)).Elem()
 20481  	minAPIVersionForType["DasHeartbeatDatastoreInfo"] = "5.0"
 20482  }
 20483  
 20484  // This event records when a host failure has been detected by HA.
 20485  type DasHostFailedEvent struct {
 20486  	ClusterEvent
 20487  
 20488  	// The host that failed.
 20489  	FailedHost HostEventArgument `xml:"failedHost" json:"failedHost"`
 20490  }
 20491  
 20492  func init() {
 20493  	t["DasHostFailedEvent"] = reflect.TypeOf((*DasHostFailedEvent)(nil)).Elem()
 20494  }
 20495  
 20496  // This event records that a host has been isolated from the network in a
 20497  // HA cluster.
 20498  //
 20499  // Since an isolated host cannot be distinguished from a failed
 20500  // host except by the isolated host itself, this event is logged when the
 20501  // isolated host regains network connectivity.
 20502  type DasHostIsolatedEvent struct {
 20503  	ClusterEvent
 20504  
 20505  	// The host that was isolated.
 20506  	IsolatedHost HostEventArgument `xml:"isolatedHost" json:"isolatedHost"`
 20507  }
 20508  
 20509  func init() {
 20510  	t["DasHostIsolatedEvent"] = reflect.TypeOf((*DasHostIsolatedEvent)(nil)).Elem()
 20511  }
 20512  
 20513  // A DatabaseError exception is thrown if an
 20514  // operation failed when accessing the external
 20515  // database.
 20516  //
 20517  // This typically is because
 20518  // the database is (temporarily) unavailable or
 20519  // because of network problems.
 20520  type DatabaseError struct {
 20521  	RuntimeFault
 20522  }
 20523  
 20524  func init() {
 20525  	t["DatabaseError"] = reflect.TypeOf((*DatabaseError)(nil)).Elem()
 20526  }
 20527  
 20528  type DatabaseErrorFault DatabaseError
 20529  
 20530  func init() {
 20531  	t["DatabaseErrorFault"] = reflect.TypeOf((*DatabaseErrorFault)(nil)).Elem()
 20532  }
 20533  
 20534  // DatabaseSizeEstimate contains information about the size
 20535  // required to by the database.
 20536  type DatabaseSizeEstimate struct {
 20537  	DynamicData
 20538  
 20539  	// The estimated size required in MB
 20540  	Size int64 `xml:"size" json:"size"`
 20541  }
 20542  
 20543  func init() {
 20544  	t["DatabaseSizeEstimate"] = reflect.TypeOf((*DatabaseSizeEstimate)(nil)).Elem()
 20545  	minAPIVersionForType["DatabaseSizeEstimate"] = "4.0"
 20546  }
 20547  
 20548  // DatabaseSizeParam contains information about a sample inventory.
 20549  //
 20550  // Using this
 20551  // information, database size requirements for that sample inventory can be computed.
 20552  // Depending on the accuracy of estimate desired, users can choose to specify
 20553  // the number of different types of managed entities. The numHosts and
 20554  // numVirtualMachines are the only two required fields. Rest are all optional
 20555  // fields filled up by Virtual Center based on some heuristics.
 20556  // These parameters need not represent a real inventory. The user can use these
 20557  // parameters to estimate the database size required by a hypothetical
 20558  // VirtualCenter setup.
 20559  type DatabaseSizeParam struct {
 20560  	DynamicData
 20561  
 20562  	// Object to capture inventory description
 20563  	InventoryDesc InventoryDescription `xml:"inventoryDesc" json:"inventoryDesc"`
 20564  	// Object to capture performance statistics
 20565  	// related parameters
 20566  	PerfStatsDesc *PerformanceStatisticsDescription `xml:"perfStatsDesc,omitempty" json:"perfStatsDesc,omitempty"`
 20567  }
 20568  
 20569  func init() {
 20570  	t["DatabaseSizeParam"] = reflect.TypeOf((*DatabaseSizeParam)(nil)).Elem()
 20571  	minAPIVersionForType["DatabaseSizeParam"] = "4.0"
 20572  }
 20573  
 20574  // BasicConnectInfo consists of essential information about the host.
 20575  //
 20576  // This
 20577  // is a subset of `HostConnectInfo` and contains the information
 20578  // which is relevant when it comes to dealing with a set of hosts.
 20579  type DatacenterBasicConnectInfo struct {
 20580  	DynamicData
 20581  
 20582  	// Target host.
 20583  	Hostname string `xml:"hostname,omitempty" json:"hostname,omitempty"`
 20584  	// Error encountered while querying the host.
 20585  	//
 20586  	// See
 20587  	// `Datacenter.QueryConnectionInfo` for the list of exceptions which can
 20588  	// be represented here.
 20589  	Error *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 20590  	// IP address of the VirtualCenter already managing this host, if any.
 20591  	ServerIp string `xml:"serverIp,omitempty" json:"serverIp,omitempty"`
 20592  	// Specifies the number of VMs on the host.
 20593  	NumVm int32 `xml:"numVm,omitempty" json:"numVm,omitempty"`
 20594  	// Specifies the number of powered-on VMs on the host.
 20595  	NumPoweredOnVm int32 `xml:"numPoweredOnVm,omitempty" json:"numPoweredOnVm,omitempty"`
 20596  	// Information about the software running on the host.
 20597  	HostProductInfo *AboutInfo `xml:"hostProductInfo,omitempty" json:"hostProductInfo,omitempty"`
 20598  	// Hardware vendor identification.
 20599  	HardwareVendor string `xml:"hardwareVendor,omitempty" json:"hardwareVendor,omitempty"`
 20600  	// System model identification.
 20601  	HardwareModel string `xml:"hardwareModel,omitempty" json:"hardwareModel,omitempty"`
 20602  }
 20603  
 20604  func init() {
 20605  	t["DatacenterBasicConnectInfo"] = reflect.TypeOf((*DatacenterBasicConnectInfo)(nil)).Elem()
 20606  	minAPIVersionForType["DatacenterBasicConnectInfo"] = "6.7.1"
 20607  }
 20608  
 20609  // Configuration of the datacenter.
 20610  type DatacenterConfigInfo struct {
 20611  	DynamicData
 20612  
 20613  	// Key for Default Hardware Version used on this datacenter
 20614  	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
 20615  	//
 20616  	// This field affects
 20617  	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
 20618  	// by `ComputeResource.environmentBrowser` of all its children
 20619  	// with this field unset.
 20620  	DefaultHardwareVersionKey string `xml:"defaultHardwareVersionKey,omitempty" json:"defaultHardwareVersionKey,omitempty"`
 20621  	// Key for Maximum Hardware Version used on this datacenter
 20622  	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
 20623  	//
 20624  	// This field affects
 20625  	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
 20626  	// by `ComputeResource.environmentBrowser` of all its children
 20627  	// with this field unset.
 20628  	MaximumHardwareVersionKey string `xml:"maximumHardwareVersionKey,omitempty" json:"maximumHardwareVersionKey,omitempty" vim:"7.0.2.0"`
 20629  }
 20630  
 20631  func init() {
 20632  	t["DatacenterConfigInfo"] = reflect.TypeOf((*DatacenterConfigInfo)(nil)).Elem()
 20633  	minAPIVersionForType["DatacenterConfigInfo"] = "5.1"
 20634  }
 20635  
 20636  // Changes to apply to the datacenter configuration.
 20637  type DatacenterConfigSpec struct {
 20638  	DynamicData
 20639  
 20640  	// Key for Default Hardware Version to be used on this datacenter
 20641  	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
 20642  	//
 20643  	// Setting this field affects
 20644  	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
 20645  	// by `ComputeResource.environmentBrowser` of all its children
 20646  	// with this field unset.
 20647  	DefaultHardwareVersionKey string `xml:"defaultHardwareVersionKey,omitempty" json:"defaultHardwareVersionKey,omitempty"`
 20648  	// Key for Maximum Hardware Version to be used on this datacenter
 20649  	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
 20650  	//
 20651  	// Setting this field affects
 20652  	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
 20653  	// by `ComputeResource.environmentBrowser` of all its children
 20654  	// with this field unset.
 20655  	MaximumHardwareVersionKey string `xml:"maximumHardwareVersionKey,omitempty" json:"maximumHardwareVersionKey,omitempty" vim:"7.0.2.0"`
 20656  }
 20657  
 20658  func init() {
 20659  	t["DatacenterConfigSpec"] = reflect.TypeOf((*DatacenterConfigSpec)(nil)).Elem()
 20660  	minAPIVersionForType["DatacenterConfigSpec"] = "5.1"
 20661  }
 20662  
 20663  type DatacenterCreatedEvent struct {
 20664  	DatacenterEvent
 20665  
 20666  	// The folder where the datacenter is created.
 20667  	Parent FolderEventArgument `xml:"parent" json:"parent"`
 20668  }
 20669  
 20670  func init() {
 20671  	t["DatacenterCreatedEvent"] = reflect.TypeOf((*DatacenterCreatedEvent)(nil)).Elem()
 20672  }
 20673  
 20674  // These are datacenter events.
 20675  type DatacenterEvent struct {
 20676  	Event
 20677  }
 20678  
 20679  func init() {
 20680  	t["DatacenterEvent"] = reflect.TypeOf((*DatacenterEvent)(nil)).Elem()
 20681  	minAPIVersionForType["DatacenterEvent"] = "2.5"
 20682  }
 20683  
 20684  // The event argument is a Datacenter object.
 20685  type DatacenterEventArgument struct {
 20686  	EntityEventArgument
 20687  
 20688  	// The Datacenter object.
 20689  	//
 20690  	// Refers instance of `Datacenter`.
 20691  	Datacenter ManagedObjectReference `xml:"datacenter" json:"datacenter"`
 20692  }
 20693  
 20694  func init() {
 20695  	t["DatacenterEventArgument"] = reflect.TypeOf((*DatacenterEventArgument)(nil)).Elem()
 20696  }
 20697  
 20698  // The input arguments had entities that did not belong to the same
 20699  // datacenter.
 20700  type DatacenterMismatch struct {
 20701  	MigrationFault
 20702  
 20703  	// The list of invalid arguments.
 20704  	InvalidArgument []DatacenterMismatchArgument `xml:"invalidArgument" json:"invalidArgument"`
 20705  	// The expected datacenter for the arguments.
 20706  	//
 20707  	// Refers instance of `Datacenter`.
 20708  	ExpectedDatacenter ManagedObjectReference `xml:"expectedDatacenter" json:"expectedDatacenter"`
 20709  }
 20710  
 20711  func init() {
 20712  	t["DatacenterMismatch"] = reflect.TypeOf((*DatacenterMismatch)(nil)).Elem()
 20713  }
 20714  
 20715  // An input entity argument that belongs to a mismatched datacenter.
 20716  type DatacenterMismatchArgument struct {
 20717  	DynamicData
 20718  
 20719  	// The invalid input entity.
 20720  	//
 20721  	// Refers instance of `ManagedEntity`.
 20722  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 20723  	// The datacenter for this entity.
 20724  	//
 20725  	// Refers instance of `Datacenter`.
 20726  	InputDatacenter *ManagedObjectReference `xml:"inputDatacenter,omitempty" json:"inputDatacenter,omitempty"`
 20727  }
 20728  
 20729  func init() {
 20730  	t["DatacenterMismatchArgument"] = reflect.TypeOf((*DatacenterMismatchArgument)(nil)).Elem()
 20731  }
 20732  
 20733  type DatacenterMismatchFault DatacenterMismatch
 20734  
 20735  func init() {
 20736  	t["DatacenterMismatchFault"] = reflect.TypeOf((*DatacenterMismatchFault)(nil)).Elem()
 20737  }
 20738  
 20739  type DatacenterRenamedEvent struct {
 20740  	DatacenterEvent
 20741  
 20742  	// The old datacenter name.
 20743  	OldName string `xml:"oldName" json:"oldName"`
 20744  	// The new datacenter name.
 20745  	NewName string `xml:"newName" json:"newName"`
 20746  }
 20747  
 20748  func init() {
 20749  	t["DatacenterRenamedEvent"] = reflect.TypeOf((*DatacenterRenamedEvent)(nil)).Elem()
 20750  }
 20751  
 20752  // Information about the capabilities of this datastore.
 20753  type DatastoreCapability struct {
 20754  	DynamicData
 20755  
 20756  	// Indicates whether or not directories can be created on this datastore.
 20757  	DirectoryHierarchySupported bool `xml:"directoryHierarchySupported" json:"directoryHierarchySupported"`
 20758  	// Indicates whether or not raw disk mappings can be created on this datastore.
 20759  	RawDiskMappingsSupported bool `xml:"rawDiskMappingsSupported" json:"rawDiskMappingsSupported"`
 20760  	// Indicates whether or not the datastore supports thin provisioning on a per file
 20761  	// basis.
 20762  	//
 20763  	// When thin provisioning is used, backing storage is lazily allocated.
 20764  	//
 20765  	// This is supported by VMFS3. VMFS2 always allocates storage eagerly. Thus, this
 20766  	// value is false for VMFS2. Most NAS systems always use thin provisioning.
 20767  	// They do not support configuring this on a per file basis, so for NAS systems
 20768  	// this value is also false.
 20769  	PerFileThinProvisioningSupported bool `xml:"perFileThinProvisioningSupported" json:"perFileThinProvisioningSupported"`
 20770  	// Indicates whether the datastore supports Storage I/O Resource Management.
 20771  	StorageIORMSupported *bool `xml:"storageIORMSupported" json:"storageIORMSupported,omitempty" vim:"4.1"`
 20772  	// Indicates whether the datastore supports native snapshot feature which is
 20773  	// based on Copy-On-Write.
 20774  	NativeSnapshotSupported *bool `xml:"nativeSnapshotSupported" json:"nativeSnapshotSupported,omitempty" vim:"5.1"`
 20775  	// Indicates whether the datastore supports traditional top-level
 20776  	// directory creation.
 20777  	//
 20778  	// See also `DatastoreNamespaceManager`.
 20779  	TopLevelDirectoryCreateSupported *bool `xml:"topLevelDirectoryCreateSupported" json:"topLevelDirectoryCreateSupported,omitempty" vim:"5.5"`
 20780  	// Indicates whether the datastore supports the Flex-SE(SeSparse) feature.
 20781  	SeSparseSupported *bool `xml:"seSparseSupported" json:"seSparseSupported,omitempty" vim:"5.5"`
 20782  	// Indicates whether the datastore supports the vmfsSparse feature.
 20783  	//
 20784  	// True for VMFS3/VMFS5/NFS/NFS41, False for VMFS6.
 20785  	// If value is undefined, then it should be read as supported.
 20786  	VmfsSparseSupported *bool `xml:"vmfsSparseSupported" json:"vmfsSparseSupported,omitempty" vim:"6.5"`
 20787  	// Indicates whether the datastore supports the vsanSparse feature.
 20788  	VsanSparseSupported *bool `xml:"vsanSparseSupported" json:"vsanSparseSupported,omitempty" vim:"6.5"`
 20789  	// Deprecated as of vSphere API 8.0, and there is no replacement for it.
 20790  	//
 20791  	// Indicates whether the datastore supports the upit feature.
 20792  	UpitSupported *bool `xml:"upitSupported" json:"upitSupported,omitempty" vim:"6.5"`
 20793  	// On certain datastores (e.g.
 20794  	//
 20795  	// 2016 PMEM datastore) VMDK expand is not supported.
 20796  	// This field tells user if VMDK on this datastore can be expanded or not.
 20797  	// If value is undefined, then it should be read as supported.
 20798  	VmdkExpandSupported *bool `xml:"vmdkExpandSupported" json:"vmdkExpandSupported,omitempty" vim:"6.7"`
 20799  	// Indicates whether the datastore supports clustered VMDK feature.
 20800  	ClusteredVmdkSupported *bool `xml:"clusteredVmdkSupported" json:"clusteredVmdkSupported,omitempty" vim:"7.0"`
 20801  }
 20802  
 20803  func init() {
 20804  	t["DatastoreCapability"] = reflect.TypeOf((*DatastoreCapability)(nil)).Elem()
 20805  }
 20806  
 20807  // This event records when increase in a datastore's capacity is observed.
 20808  //
 20809  // It may happen due to different reasons, like extending or expanding a
 20810  // datastore.
 20811  type DatastoreCapacityIncreasedEvent struct {
 20812  	DatastoreEvent
 20813  
 20814  	// The old datastore capacity.
 20815  	OldCapacity int64 `xml:"oldCapacity" json:"oldCapacity"`
 20816  	// The new datastore capacity.
 20817  	NewCapacity int64 `xml:"newCapacity" json:"newCapacity"`
 20818  }
 20819  
 20820  func init() {
 20821  	t["DatastoreCapacityIncreasedEvent"] = reflect.TypeOf((*DatastoreCapacityIncreasedEvent)(nil)).Elem()
 20822  	minAPIVersionForType["DatastoreCapacityIncreasedEvent"] = "4.0"
 20823  }
 20824  
 20825  // This event records when a datastore is removed from VirtualCenter.
 20826  type DatastoreDestroyedEvent struct {
 20827  	DatastoreEvent
 20828  }
 20829  
 20830  func init() {
 20831  	t["DatastoreDestroyedEvent"] = reflect.TypeOf((*DatastoreDestroyedEvent)(nil)).Elem()
 20832  }
 20833  
 20834  // This event records when a host is added to VirtualCenter
 20835  // and datastores are discovered.
 20836  type DatastoreDiscoveredEvent struct {
 20837  	HostEvent
 20838  
 20839  	// The associated datastore.
 20840  	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
 20841  }
 20842  
 20843  func init() {
 20844  	t["DatastoreDiscoveredEvent"] = reflect.TypeOf((*DatastoreDiscoveredEvent)(nil)).Elem()
 20845  }
 20846  
 20847  // This event records when a duplicate datastore name is found.
 20848  //
 20849  // This event is used in VirtualCenter 1.x and is included for
 20850  // backward compatibility.
 20851  type DatastoreDuplicatedEvent struct {
 20852  	DatastoreEvent
 20853  }
 20854  
 20855  func init() {
 20856  	t["DatastoreDuplicatedEvent"] = reflect.TypeOf((*DatastoreDuplicatedEvent)(nil)).Elem()
 20857  }
 20858  
 20859  type DatastoreEnterMaintenanceMode DatastoreEnterMaintenanceModeRequestType
 20860  
 20861  func init() {
 20862  	t["DatastoreEnterMaintenanceMode"] = reflect.TypeOf((*DatastoreEnterMaintenanceMode)(nil)).Elem()
 20863  }
 20864  
 20865  type DatastoreEnterMaintenanceModeRequestType struct {
 20866  	This ManagedObjectReference `xml:"_this" json:"-"`
 20867  }
 20868  
 20869  func init() {
 20870  	t["DatastoreEnterMaintenanceModeRequestType"] = reflect.TypeOf((*DatastoreEnterMaintenanceModeRequestType)(nil)).Elem()
 20871  }
 20872  
 20873  type DatastoreEnterMaintenanceModeResponse struct {
 20874  	Returnval StoragePlacementResult `xml:"returnval" json:"returnval"`
 20875  }
 20876  
 20877  // These are datastore events.
 20878  type DatastoreEvent struct {
 20879  	Event
 20880  
 20881  	// The associated datastore.
 20882  	Datastore *DatastoreEventArgument `xml:"datastore,omitempty" json:"datastore,omitempty"`
 20883  }
 20884  
 20885  func init() {
 20886  	t["DatastoreEvent"] = reflect.TypeOf((*DatastoreEvent)(nil)).Elem()
 20887  }
 20888  
 20889  // The event argument is a Datastore object.
 20890  type DatastoreEventArgument struct {
 20891  	EntityEventArgument
 20892  
 20893  	// The Datastore object.
 20894  	//
 20895  	// Refers instance of `Datastore`.
 20896  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 20897  }
 20898  
 20899  func init() {
 20900  	t["DatastoreEventArgument"] = reflect.TypeOf((*DatastoreEventArgument)(nil)).Elem()
 20901  }
 20902  
 20903  type DatastoreExitMaintenanceModeRequestType struct {
 20904  	This ManagedObjectReference `xml:"_this" json:"-"`
 20905  }
 20906  
 20907  func init() {
 20908  	t["DatastoreExitMaintenanceModeRequestType"] = reflect.TypeOf((*DatastoreExitMaintenanceModeRequestType)(nil)).Elem()
 20909  }
 20910  
 20911  type DatastoreExitMaintenanceMode_Task DatastoreExitMaintenanceModeRequestType
 20912  
 20913  func init() {
 20914  	t["DatastoreExitMaintenanceMode_Task"] = reflect.TypeOf((*DatastoreExitMaintenanceMode_Task)(nil)).Elem()
 20915  }
 20916  
 20917  type DatastoreExitMaintenanceMode_TaskResponse struct {
 20918  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 20919  }
 20920  
 20921  // This event records copy of a file or directory.
 20922  type DatastoreFileCopiedEvent struct {
 20923  	DatastoreFileEvent
 20924  
 20925  	// Source datastore.
 20926  	SourceDatastore DatastoreEventArgument `xml:"sourceDatastore" json:"sourceDatastore"`
 20927  	// Datastore path of the source file or directory.
 20928  	SourceFile string `xml:"sourceFile" json:"sourceFile"`
 20929  }
 20930  
 20931  func init() {
 20932  	t["DatastoreFileCopiedEvent"] = reflect.TypeOf((*DatastoreFileCopiedEvent)(nil)).Elem()
 20933  	minAPIVersionForType["DatastoreFileCopiedEvent"] = "4.0"
 20934  }
 20935  
 20936  // This event records deletion of a file or directory.
 20937  type DatastoreFileDeletedEvent struct {
 20938  	DatastoreFileEvent
 20939  }
 20940  
 20941  func init() {
 20942  	t["DatastoreFileDeletedEvent"] = reflect.TypeOf((*DatastoreFileDeletedEvent)(nil)).Elem()
 20943  	minAPIVersionForType["DatastoreFileDeletedEvent"] = "4.0"
 20944  }
 20945  
 20946  // Base class for events related to datastore file and directory
 20947  // operations.
 20948  //
 20949  // Property _datastore_ inherited from DatastoreEvent refers
 20950  // to the destination datastore in case there is more than datastore
 20951  // involved in the operation.
 20952  type DatastoreFileEvent struct {
 20953  	DatastoreEvent
 20954  
 20955  	// Datastore path of the target file or directory.
 20956  	TargetFile string `xml:"targetFile" json:"targetFile"`
 20957  	// Identifier of the initiator of the file operation.
 20958  	SourceOfOperation string `xml:"sourceOfOperation,omitempty" json:"sourceOfOperation,omitempty" vim:"6.5"`
 20959  	// Indicator whether the datastore file operation succeeded.
 20960  	Succeeded *bool `xml:"succeeded" json:"succeeded,omitempty" vim:"6.5"`
 20961  }
 20962  
 20963  func init() {
 20964  	t["DatastoreFileEvent"] = reflect.TypeOf((*DatastoreFileEvent)(nil)).Elem()
 20965  	minAPIVersionForType["DatastoreFileEvent"] = "4.0"
 20966  }
 20967  
 20968  // This event records move of a file or directory.
 20969  type DatastoreFileMovedEvent struct {
 20970  	DatastoreFileEvent
 20971  
 20972  	// Source datastore.
 20973  	SourceDatastore DatastoreEventArgument `xml:"sourceDatastore" json:"sourceDatastore"`
 20974  	// Datastore path of the source file or directory.
 20975  	SourceFile string `xml:"sourceFile" json:"sourceFile"`
 20976  }
 20977  
 20978  func init() {
 20979  	t["DatastoreFileMovedEvent"] = reflect.TypeOf((*DatastoreFileMovedEvent)(nil)).Elem()
 20980  	minAPIVersionForType["DatastoreFileMovedEvent"] = "4.0"
 20981  }
 20982  
 20983  // Host-specific datastore information.
 20984  type DatastoreHostMount struct {
 20985  	DynamicData
 20986  
 20987  	// The host associated with this datastore.
 20988  	//
 20989  	// Refers instance of `HostSystem`.
 20990  	Key ManagedObjectReference `xml:"key" json:"key"`
 20991  	// Host-specific information about the mount.
 20992  	MountInfo HostMountInfo `xml:"mountInfo" json:"mountInfo"`
 20993  }
 20994  
 20995  func init() {
 20996  	t["DatastoreHostMount"] = reflect.TypeOf((*DatastoreHostMount)(nil)).Elem()
 20997  }
 20998  
 20999  // This event records that the configuration of storage I/O
 21000  // resource management for a datastore has changed.
 21001  type DatastoreIORMReconfiguredEvent struct {
 21002  	DatastoreEvent
 21003  }
 21004  
 21005  func init() {
 21006  	t["DatastoreIORMReconfiguredEvent"] = reflect.TypeOf((*DatastoreIORMReconfiguredEvent)(nil)).Elem()
 21007  	minAPIVersionForType["DatastoreIORMReconfiguredEvent"] = "4.1"
 21008  }
 21009  
 21010  // Detailed information about a datastore.
 21011  //
 21012  // This is a base type for derived types
 21013  // that have more specific details about a datastore.
 21014  //
 21015  // See also `HostVmfsVolume`, `HostNasVolume`, `HostLocalFileSystemVolume`.
 21016  type DatastoreInfo struct {
 21017  	DynamicData
 21018  
 21019  	// The name of the datastore.
 21020  	Name string `xml:"name" json:"name"`
 21021  	// The unique locator for the datastore.
 21022  	Url string `xml:"url" json:"url"`
 21023  	// Free space of this datastore, in bytes.
 21024  	//
 21025  	// The server periodically updates this
 21026  	// value. It can be explicitly refreshed with the Refresh operation.
 21027  	FreeSpace int64 `xml:"freeSpace" json:"freeSpace"`
 21028  	// The maximum size of a file that can reside on this file system volume.
 21029  	MaxFileSize int64 `xml:"maxFileSize" json:"maxFileSize"`
 21030  	// The maximum capacity of a virtual disk which can be created on this volume.
 21031  	MaxVirtualDiskCapacity int64 `xml:"maxVirtualDiskCapacity,omitempty" json:"maxVirtualDiskCapacity,omitempty" vim:"5.5"`
 21032  	// The maximum size of a snapshot or a swap file that can reside on this file system volume.
 21033  	MaxMemoryFileSize int64 `xml:"maxMemoryFileSize,omitempty" json:"maxMemoryFileSize,omitempty" vim:"6.0"`
 21034  	// Time when the free-space and capacity values in `DatastoreInfo` and
 21035  	// `DatastoreSummary` were updated.
 21036  	Timestamp *time.Time `xml:"timestamp" json:"timestamp,omitempty" vim:"4.0"`
 21037  	// The unique container ID of the datastore, if applicable.
 21038  	ContainerId string `xml:"containerId,omitempty" json:"containerId,omitempty" vim:"5.5"`
 21039  	// vSAN datastore container that this datastore is alias of.
 21040  	//
 21041  	// If this
 21042  	// field is unset then this datastore is not alias of any other vSAN
 21043  	// datastore.
 21044  	// See `DatastoreInfo.containerId`.
 21045  	AliasOf string `xml:"aliasOf,omitempty" json:"aliasOf,omitempty" vim:"6.7.1"`
 21046  }
 21047  
 21048  func init() {
 21049  	t["DatastoreInfo"] = reflect.TypeOf((*DatastoreInfo)(nil)).Elem()
 21050  }
 21051  
 21052  // Contains a mapping of an old mount path and its corresponding
 21053  // resignatured or remounted datastore
 21054  type DatastoreMountPathDatastorePair struct {
 21055  	DynamicData
 21056  
 21057  	// Old file path where file system volume is mounted, which
 21058  	// should be `path` value in
 21059  	// `HostMountInfo`
 21060  	OldMountPath string `xml:"oldMountPath" json:"oldMountPath"`
 21061  	// The resignatured or remounted datastore corresponding to the oldMountPath
 21062  	//
 21063  	// Refers instance of `Datastore`.
 21064  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 21065  }
 21066  
 21067  func init() {
 21068  	t["DatastoreMountPathDatastorePair"] = reflect.TypeOf((*DatastoreMountPathDatastorePair)(nil)).Elem()
 21069  	minAPIVersionForType["DatastoreMountPathDatastorePair"] = "4.1"
 21070  }
 21071  
 21072  type DatastoreNamespaceManagerDirectoryInfo struct {
 21073  	DynamicData
 21074  
 21075  	// Size in MB of underlying object.
 21076  	Capacity int64 `xml:"capacity" json:"capacity"`
 21077  	// Used size in MB in the VMFS volume.
 21078  	Used int64 `xml:"used" json:"used"`
 21079  }
 21080  
 21081  func init() {
 21082  	t["DatastoreNamespaceManagerDirectoryInfo"] = reflect.TypeOf((*DatastoreNamespaceManagerDirectoryInfo)(nil)).Elem()
 21083  }
 21084  
 21085  // This exception is thrown if a datastore is not
 21086  // writable on the target host.
 21087  type DatastoreNotWritableOnHost struct {
 21088  	InvalidDatastore
 21089  
 21090  	// The target host on which the datastore is not writable.
 21091  	//
 21092  	// Refers instance of `HostSystem`.
 21093  	Host ManagedObjectReference `xml:"host" json:"host"`
 21094  }
 21095  
 21096  func init() {
 21097  	t["DatastoreNotWritableOnHost"] = reflect.TypeOf((*DatastoreNotWritableOnHost)(nil)).Elem()
 21098  }
 21099  
 21100  type DatastoreNotWritableOnHostFault BaseDatastoreNotWritableOnHost
 21101  
 21102  func init() {
 21103  	t["DatastoreNotWritableOnHostFault"] = reflect.TypeOf((*DatastoreNotWritableOnHostFault)(nil)).Elem()
 21104  }
 21105  
 21106  // The DatastoreOption data object describes datastore options
 21107  // for a virtual machine.
 21108  type DatastoreOption struct {
 21109  	DynamicData
 21110  
 21111  	// The type of file system volumes on which this virtual machine cannot have
 21112  	// its disk and configuration files.
 21113  	UnsupportedVolumes []VirtualMachineDatastoreVolumeOption `xml:"unsupportedVolumes,omitempty" json:"unsupportedVolumes,omitempty"`
 21114  }
 21115  
 21116  func init() {
 21117  	t["DatastoreOption"] = reflect.TypeOf((*DatastoreOption)(nil)).Elem()
 21118  }
 21119  
 21120  // This event records that a datastore principal was configured on a host.
 21121  type DatastorePrincipalConfigured struct {
 21122  	HostEvent
 21123  
 21124  	DatastorePrincipal string `xml:"datastorePrincipal" json:"datastorePrincipal"`
 21125  }
 21126  
 21127  func init() {
 21128  	t["DatastorePrincipalConfigured"] = reflect.TypeOf((*DatastorePrincipalConfigured)(nil)).Elem()
 21129  }
 21130  
 21131  // This event records when a datastore is removed from a host
 21132  // but not from VirtualCenter.
 21133  type DatastoreRemovedOnHostEvent struct {
 21134  	HostEvent
 21135  
 21136  	// The associated datastore.
 21137  	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
 21138  }
 21139  
 21140  func init() {
 21141  	t["DatastoreRemovedOnHostEvent"] = reflect.TypeOf((*DatastoreRemovedOnHostEvent)(nil)).Elem()
 21142  }
 21143  
 21144  // This event records the renaming of a datastore.
 21145  type DatastoreRenamedEvent struct {
 21146  	DatastoreEvent
 21147  
 21148  	// The old datastore name.
 21149  	OldName string `xml:"oldName" json:"oldName"`
 21150  	// The new datastore name.
 21151  	NewName string `xml:"newName" json:"newName"`
 21152  }
 21153  
 21154  func init() {
 21155  	t["DatastoreRenamedEvent"] = reflect.TypeOf((*DatastoreRenamedEvent)(nil)).Elem()
 21156  }
 21157  
 21158  // This event records when a datastore is added to VirtualCenter
 21159  // and is renamed by VirtualCenter because this datastore already
 21160  // exists in VirtualCenter with a different name, or because the
 21161  // name conflicts with another datastore in VirtualCenter.
 21162  type DatastoreRenamedOnHostEvent struct {
 21163  	HostEvent
 21164  
 21165  	// The old datastore name.
 21166  	OldName string `xml:"oldName" json:"oldName"`
 21167  	// The new datastore name.
 21168  	NewName string `xml:"newName" json:"newName"`
 21169  }
 21170  
 21171  func init() {
 21172  	t["DatastoreRenamedOnHostEvent"] = reflect.TypeOf((*DatastoreRenamedOnHostEvent)(nil)).Elem()
 21173  }
 21174  
 21175  // Summary information about the datastore.
 21176  //
 21177  // The status fields and managed object
 21178  // reference is not set when an object of this type is created. These fields and
 21179  // references are typically set later when these objects are associated with a host.
 21180  type DatastoreSummary struct {
 21181  	DynamicData
 21182  
 21183  	// The reference to the managed object.
 21184  	//
 21185  	// Refers instance of `Datastore`.
 21186  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 21187  	// The name of the datastore.
 21188  	Name string `xml:"name" json:"name"`
 21189  	// The unique locator for the datastore.
 21190  	//
 21191  	// This property is guaranteed to be valid
 21192  	// only if `DatastoreSummary.accessible` is true.
 21193  	Url string `xml:"url" json:"url"`
 21194  	// Maximum capacity of this datastore, in bytes.
 21195  	//
 21196  	// This value is updated
 21197  	// periodically by the server. It can be explicitly refreshed with the Refresh
 21198  	// operation. This property is guaranteed to be valid only if `DatastoreSummary.accessible`
 21199  	// is true.
 21200  	Capacity int64 `xml:"capacity" json:"capacity"`
 21201  	// Available space of this datastore, in bytes.
 21202  	//
 21203  	// The server periodically
 21204  	// updates this value. It can be explicitly refreshed with the Refresh operation.
 21205  	// This property is guaranteed to be valid only if `DatastoreSummary.accessible` is true.
 21206  	FreeSpace int64 `xml:"freeSpace" json:"freeSpace"`
 21207  	// Total additional storage space, in bytes, potentially used by all
 21208  	// virtual machines on this datastore.
 21209  	//
 21210  	// The server periodically updates this
 21211  	// value.
 21212  	// It can be explicitly refreshed with the `Datastore.RefreshDatastoreStorageInfo` operation.
 21213  	// This property is valid only if `DatastoreSummary.accessible` is true.
 21214  	Uncommitted int64 `xml:"uncommitted,omitempty" json:"uncommitted,omitempty" vim:"4.0"`
 21215  	// The connectivity status of this datastore.
 21216  	//
 21217  	// If this is set to false, meaning the
 21218  	// datastore is not accessible, this datastore's capacity and freespace properties
 21219  	// cannot be validated. Furthermore, if this property is set to false, some of the
 21220  	// properties in this summary and in `DatastoreInfo` should not be
 21221  	// used. Refer to the documentation for the property of your interest.
 21222  	// For datastores accessed from multiple hosts, vCenter Server reports
 21223  	// `DatastoreSummary.accessible` as an aggregated value of the
 21224  	// properties reported in `HostMountInfo`. For instance,
 21225  	// if a datastore is accessible through a subset of hosts, then the value of
 21226  	// `DatastoreSummary.accessible` will be reported as true by
 21227  	// vCenter Server. And the reason for a daastore being inaccessible from a host
 21228  	// will be reported in `HostMountInfo.inaccessibleReason`
 21229  	Accessible bool `xml:"accessible" json:"accessible"`
 21230  	// More than one host in the datacenter has been configured with access to the
 21231  	// datastore.
 21232  	//
 21233  	// This is only provided by VirtualCenter.
 21234  	MultipleHostAccess *bool `xml:"multipleHostAccess" json:"multipleHostAccess,omitempty"`
 21235  	// Type of file system volume, such as VMFS or NFS.
 21236  	//
 21237  	// See also `HostFileSystemVolume.type`.
 21238  	Type string `xml:"type" json:"type"`
 21239  	// The current maintenance mode state of the datastore.
 21240  	//
 21241  	// The set of
 21242  	// possible values is described in `DatastoreSummaryMaintenanceModeState_enum`.
 21243  	MaintenanceMode string `xml:"maintenanceMode,omitempty" json:"maintenanceMode,omitempty" vim:"5.0"`
 21244  }
 21245  
 21246  func init() {
 21247  	t["DatastoreSummary"] = reflect.TypeOf((*DatastoreSummary)(nil)).Elem()
 21248  }
 21249  
 21250  // A pair of source and target VVol containers and mapping of VVol
 21251  // IDs from source to target.
 21252  type DatastoreVVolContainerFailoverPair struct {
 21253  	DynamicData
 21254  
 21255  	// Storage container on the source side.
 21256  	SrcContainer string `xml:"srcContainer,omitempty" json:"srcContainer,omitempty"`
 21257  	// Storage container on the target side.
 21258  	TgtContainer string `xml:"tgtContainer" json:"tgtContainer"`
 21259  	// Mapping of VVol IDs from source to target corresponding to the
 21260  	// given set of containers.
 21261  	VvolMapping []KeyValue `xml:"vvolMapping,omitempty" json:"vvolMapping,omitempty"`
 21262  }
 21263  
 21264  func init() {
 21265  	t["DatastoreVVolContainerFailoverPair"] = reflect.TypeOf((*DatastoreVVolContainerFailoverPair)(nil)).Elem()
 21266  	minAPIVersionForType["DatastoreVVolContainerFailoverPair"] = "6.5"
 21267  }
 21268  
 21269  // The `DateTimeProfile` data object represents host date and time configuration.
 21270  //
 21271  // Use the `ApplyProfile.policy` list for access to configuration data
 21272  // for the date and time profile. Use the `ApplyProfile.property` list
 21273  // for access to subprofiles, if any.
 21274  type DateTimeProfile struct {
 21275  	ApplyProfile
 21276  }
 21277  
 21278  func init() {
 21279  	t["DateTimeProfile"] = reflect.TypeOf((*DateTimeProfile)(nil)).Elem()
 21280  	minAPIVersionForType["DateTimeProfile"] = "4.0"
 21281  }
 21282  
 21283  type DecodeLicense DecodeLicenseRequestType
 21284  
 21285  func init() {
 21286  	t["DecodeLicense"] = reflect.TypeOf((*DecodeLicense)(nil)).Elem()
 21287  }
 21288  
 21289  // The parameters of `LicenseManager.DecodeLicense`.
 21290  type DecodeLicenseRequestType struct {
 21291  	This ManagedObjectReference `xml:"_this" json:"-"`
 21292  	// A license. E.g. a serial license.
 21293  	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
 21294  }
 21295  
 21296  func init() {
 21297  	t["DecodeLicenseRequestType"] = reflect.TypeOf((*DecodeLicenseRequestType)(nil)).Elem()
 21298  }
 21299  
 21300  type DecodeLicenseResponse struct {
 21301  	Returnval LicenseManagerLicenseInfo `xml:"returnval" json:"returnval"`
 21302  }
 21303  
 21304  type DefragmentAllDisks DefragmentAllDisksRequestType
 21305  
 21306  func init() {
 21307  	t["DefragmentAllDisks"] = reflect.TypeOf((*DefragmentAllDisks)(nil)).Elem()
 21308  }
 21309  
 21310  type DefragmentAllDisksRequestType struct {
 21311  	This ManagedObjectReference `xml:"_this" json:"-"`
 21312  }
 21313  
 21314  func init() {
 21315  	t["DefragmentAllDisksRequestType"] = reflect.TypeOf((*DefragmentAllDisksRequestType)(nil)).Elem()
 21316  }
 21317  
 21318  type DefragmentAllDisksResponse struct {
 21319  }
 21320  
 21321  // The parameters of `VirtualDiskManager.DefragmentVirtualDisk_Task`.
 21322  type DefragmentVirtualDiskRequestType struct {
 21323  	This ManagedObjectReference `xml:"_this" json:"-"`
 21324  	// The name of the disk, either a datastore path or a URL
 21325  	// referring to the virtual disk that should be defragmented.
 21326  	Name string `xml:"name" json:"name"`
 21327  	// If <code>name</code> is a datastore path, the datacenter for
 21328  	// that datastore path. Not needed when invoked directly on ESX.
 21329  	// If not specified on a call to VirtualCenter,
 21330  	// <code>name</code> must be a URL.
 21331  	//
 21332  	// Refers instance of `Datacenter`.
 21333  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 21334  }
 21335  
 21336  func init() {
 21337  	t["DefragmentVirtualDiskRequestType"] = reflect.TypeOf((*DefragmentVirtualDiskRequestType)(nil)).Elem()
 21338  }
 21339  
 21340  type DefragmentVirtualDisk_Task DefragmentVirtualDiskRequestType
 21341  
 21342  func init() {
 21343  	t["DefragmentVirtualDisk_Task"] = reflect.TypeOf((*DefragmentVirtualDisk_Task)(nil)).Elem()
 21344  }
 21345  
 21346  type DefragmentVirtualDisk_TaskResponse struct {
 21347  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 21348  }
 21349  
 21350  type DeleteCustomizationSpec DeleteCustomizationSpecRequestType
 21351  
 21352  func init() {
 21353  	t["DeleteCustomizationSpec"] = reflect.TypeOf((*DeleteCustomizationSpec)(nil)).Elem()
 21354  }
 21355  
 21356  // The parameters of `CustomizationSpecManager.DeleteCustomizationSpec`.
 21357  type DeleteCustomizationSpecRequestType struct {
 21358  	This ManagedObjectReference `xml:"_this" json:"-"`
 21359  	Name string                 `xml:"name" json:"name"`
 21360  }
 21361  
 21362  func init() {
 21363  	t["DeleteCustomizationSpecRequestType"] = reflect.TypeOf((*DeleteCustomizationSpecRequestType)(nil)).Elem()
 21364  }
 21365  
 21366  type DeleteCustomizationSpecResponse struct {
 21367  }
 21368  
 21369  // The parameters of `FileManager.DeleteDatastoreFile_Task`.
 21370  type DeleteDatastoreFileRequestType struct {
 21371  	This ManagedObjectReference `xml:"_this" json:"-"`
 21372  	// The name of the file or folder, either a URL or a datastore path
 21373  	// referring to the file or folder to be deleted.
 21374  	Name string `xml:"name" json:"name"`
 21375  	// If <code>name</code> is a datastore path, the datacenter for
 21376  	// that datastore path. Not needed when invoked directly on ESX.
 21377  	// If not specified on a call to VirtualCenter,
 21378  	// <code>name</code> must be a URL.
 21379  	//
 21380  	// Required privileges: System.View
 21381  	//
 21382  	// Refers instance of `Datacenter`.
 21383  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 21384  }
 21385  
 21386  func init() {
 21387  	t["DeleteDatastoreFileRequestType"] = reflect.TypeOf((*DeleteDatastoreFileRequestType)(nil)).Elem()
 21388  }
 21389  
 21390  type DeleteDatastoreFile_Task DeleteDatastoreFileRequestType
 21391  
 21392  func init() {
 21393  	t["DeleteDatastoreFile_Task"] = reflect.TypeOf((*DeleteDatastoreFile_Task)(nil)).Elem()
 21394  }
 21395  
 21396  type DeleteDatastoreFile_TaskResponse struct {
 21397  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 21398  }
 21399  
 21400  type DeleteDirectory DeleteDirectoryRequestType
 21401  
 21402  func init() {
 21403  	t["DeleteDirectory"] = reflect.TypeOf((*DeleteDirectory)(nil)).Elem()
 21404  }
 21405  
 21406  type DeleteDirectoryInGuest DeleteDirectoryInGuestRequestType
 21407  
 21408  func init() {
 21409  	t["DeleteDirectoryInGuest"] = reflect.TypeOf((*DeleteDirectoryInGuest)(nil)).Elem()
 21410  }
 21411  
 21412  // The parameters of `GuestFileManager.DeleteDirectoryInGuest`.
 21413  type DeleteDirectoryInGuestRequestType struct {
 21414  	This ManagedObjectReference `xml:"_this" json:"-"`
 21415  	// Virtual Machine to perform the operation on.
 21416  	//
 21417  	// Required privileges: VirtualMachine.GuestOperations.Modify
 21418  	//
 21419  	// Refers instance of `VirtualMachine`.
 21420  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 21421  	// The guest authentication data. See
 21422  	// `GuestAuthentication`.
 21423  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 21424  	// The complete path to the directory to be deleted.
 21425  	DirectoryPath string `xml:"directoryPath" json:"directoryPath"`
 21426  	// If true, all subdirectories are also deleted.
 21427  	// If false, the directory must be empty for the operation to succeed.
 21428  	Recursive bool `xml:"recursive" json:"recursive"`
 21429  }
 21430  
 21431  func init() {
 21432  	t["DeleteDirectoryInGuestRequestType"] = reflect.TypeOf((*DeleteDirectoryInGuestRequestType)(nil)).Elem()
 21433  }
 21434  
 21435  type DeleteDirectoryInGuestResponse struct {
 21436  }
 21437  
 21438  // The parameters of `DatastoreNamespaceManager.DeleteDirectory`.
 21439  type DeleteDirectoryRequestType struct {
 21440  	This ManagedObjectReference `xml:"_this" json:"-"`
 21441  	// The datacenter of the datastore path. Needs to be set
 21442  	// when making the call to VC; ignored when the call is
 21443  	// made to ESX.
 21444  	//
 21445  	// Required privileges: System.View
 21446  	//
 21447  	// Refers instance of `Datacenter`.
 21448  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 21449  	// Stable vmfs path of the directory to delete.
 21450  	DatastorePath string `xml:"datastorePath" json:"datastorePath"`
 21451  }
 21452  
 21453  func init() {
 21454  	t["DeleteDirectoryRequestType"] = reflect.TypeOf((*DeleteDirectoryRequestType)(nil)).Elem()
 21455  }
 21456  
 21457  type DeleteDirectoryResponse struct {
 21458  }
 21459  
 21460  type DeleteFile DeleteFileRequestType
 21461  
 21462  func init() {
 21463  	t["DeleteFile"] = reflect.TypeOf((*DeleteFile)(nil)).Elem()
 21464  }
 21465  
 21466  type DeleteFileInGuest DeleteFileInGuestRequestType
 21467  
 21468  func init() {
 21469  	t["DeleteFileInGuest"] = reflect.TypeOf((*DeleteFileInGuest)(nil)).Elem()
 21470  }
 21471  
 21472  // The parameters of `GuestFileManager.DeleteFileInGuest`.
 21473  type DeleteFileInGuestRequestType struct {
 21474  	This ManagedObjectReference `xml:"_this" json:"-"`
 21475  	// Virtual Machine to perform the operation on.
 21476  	//
 21477  	// Required privileges: VirtualMachine.GuestOperations.Modify
 21478  	//
 21479  	// Refers instance of `VirtualMachine`.
 21480  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 21481  	// The guest authentication data. See
 21482  	// `GuestAuthentication`.
 21483  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 21484  	// The complete path to the file or symbolic link to be deleted.
 21485  	FilePath string `xml:"filePath" json:"filePath"`
 21486  }
 21487  
 21488  func init() {
 21489  	t["DeleteFileInGuestRequestType"] = reflect.TypeOf((*DeleteFileInGuestRequestType)(nil)).Elem()
 21490  }
 21491  
 21492  type DeleteFileInGuestResponse struct {
 21493  }
 21494  
 21495  // The parameters of `HostDatastoreBrowser.DeleteFile`.
 21496  type DeleteFileRequestType struct {
 21497  	This          ManagedObjectReference `xml:"_this" json:"-"`
 21498  	DatastorePath string                 `xml:"datastorePath" json:"datastorePath"`
 21499  }
 21500  
 21501  func init() {
 21502  	t["DeleteFileRequestType"] = reflect.TypeOf((*DeleteFileRequestType)(nil)).Elem()
 21503  }
 21504  
 21505  type DeleteFileResponse struct {
 21506  }
 21507  
 21508  type DeleteHostSpecification DeleteHostSpecificationRequestType
 21509  
 21510  func init() {
 21511  	t["DeleteHostSpecification"] = reflect.TypeOf((*DeleteHostSpecification)(nil)).Elem()
 21512  }
 21513  
 21514  // The parameters of `HostSpecificationManager.DeleteHostSpecification`.
 21515  type DeleteHostSpecificationRequestType struct {
 21516  	This ManagedObjectReference `xml:"_this" json:"-"`
 21517  	// The specified host for which the specification will be
 21518  	// deleted.
 21519  	//
 21520  	// Refers instance of `HostSystem`.
 21521  	Host ManagedObjectReference `xml:"host" json:"host"`
 21522  }
 21523  
 21524  func init() {
 21525  	t["DeleteHostSpecificationRequestType"] = reflect.TypeOf((*DeleteHostSpecificationRequestType)(nil)).Elem()
 21526  }
 21527  
 21528  type DeleteHostSpecificationResponse struct {
 21529  }
 21530  
 21531  type DeleteHostSubSpecification DeleteHostSubSpecificationRequestType
 21532  
 21533  func init() {
 21534  	t["DeleteHostSubSpecification"] = reflect.TypeOf((*DeleteHostSubSpecification)(nil)).Elem()
 21535  }
 21536  
 21537  // The parameters of `HostSpecificationManager.DeleteHostSubSpecification`.
 21538  type DeleteHostSubSpecificationRequestType struct {
 21539  	This ManagedObjectReference `xml:"_this" json:"-"`
 21540  	// The specified host for which the sub specification will be
 21541  	// deleted.
 21542  	//
 21543  	// Refers instance of `HostSystem`.
 21544  	Host ManagedObjectReference `xml:"host" json:"host"`
 21545  	// The name of the host sub specification to be deleted.
 21546  	SubSpecName string `xml:"subSpecName" json:"subSpecName"`
 21547  }
 21548  
 21549  func init() {
 21550  	t["DeleteHostSubSpecificationRequestType"] = reflect.TypeOf((*DeleteHostSubSpecificationRequestType)(nil)).Elem()
 21551  }
 21552  
 21553  type DeleteHostSubSpecificationResponse struct {
 21554  }
 21555  
 21556  type DeleteNvdimmBlockNamespacesRequestType struct {
 21557  	This ManagedObjectReference `xml:"_this" json:"-"`
 21558  }
 21559  
 21560  func init() {
 21561  	t["DeleteNvdimmBlockNamespacesRequestType"] = reflect.TypeOf((*DeleteNvdimmBlockNamespacesRequestType)(nil)).Elem()
 21562  }
 21563  
 21564  type DeleteNvdimmBlockNamespaces_Task DeleteNvdimmBlockNamespacesRequestType
 21565  
 21566  func init() {
 21567  	t["DeleteNvdimmBlockNamespaces_Task"] = reflect.TypeOf((*DeleteNvdimmBlockNamespaces_Task)(nil)).Elem()
 21568  }
 21569  
 21570  type DeleteNvdimmBlockNamespaces_TaskResponse struct {
 21571  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 21572  }
 21573  
 21574  // The parameters of `HostNvdimmSystem.DeleteNvdimmNamespace_Task`.
 21575  type DeleteNvdimmNamespaceRequestType struct {
 21576  	This ManagedObjectReference `xml:"_this" json:"-"`
 21577  	// Details of namespace to be deleted.
 21578  	DeleteSpec NvdimmNamespaceDeleteSpec `xml:"deleteSpec" json:"deleteSpec"`
 21579  }
 21580  
 21581  func init() {
 21582  	t["DeleteNvdimmNamespaceRequestType"] = reflect.TypeOf((*DeleteNvdimmNamespaceRequestType)(nil)).Elem()
 21583  }
 21584  
 21585  type DeleteNvdimmNamespace_Task DeleteNvdimmNamespaceRequestType
 21586  
 21587  func init() {
 21588  	t["DeleteNvdimmNamespace_Task"] = reflect.TypeOf((*DeleteNvdimmNamespace_Task)(nil)).Elem()
 21589  }
 21590  
 21591  type DeleteNvdimmNamespace_TaskResponse struct {
 21592  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 21593  }
 21594  
 21595  type DeleteRegistryKeyInGuest DeleteRegistryKeyInGuestRequestType
 21596  
 21597  func init() {
 21598  	t["DeleteRegistryKeyInGuest"] = reflect.TypeOf((*DeleteRegistryKeyInGuest)(nil)).Elem()
 21599  }
 21600  
 21601  // The parameters of `GuestWindowsRegistryManager.DeleteRegistryKeyInGuest`.
 21602  type DeleteRegistryKeyInGuestRequestType struct {
 21603  	This ManagedObjectReference `xml:"_this" json:"-"`
 21604  	// Virtual machine to perform the operation on.
 21605  	//
 21606  	// Required privileges: VirtualMachine.GuestOperations.Modify
 21607  	//
 21608  	// Refers instance of `VirtualMachine`.
 21609  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 21610  	// The guest authentication data.
 21611  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 21612  	// The path to the registry key to be deleted.
 21613  	KeyName GuestRegKeyNameSpec `xml:"keyName" json:"keyName"`
 21614  	// If true, the key is deleted along with any subkeys (if
 21615  	// present). Otherwise, it shall only delete the key if it
 21616  	// has no subkeys.
 21617  	Recursive bool `xml:"recursive" json:"recursive"`
 21618  }
 21619  
 21620  func init() {
 21621  	t["DeleteRegistryKeyInGuestRequestType"] = reflect.TypeOf((*DeleteRegistryKeyInGuestRequestType)(nil)).Elem()
 21622  }
 21623  
 21624  type DeleteRegistryKeyInGuestResponse struct {
 21625  }
 21626  
 21627  type DeleteRegistryValueInGuest DeleteRegistryValueInGuestRequestType
 21628  
 21629  func init() {
 21630  	t["DeleteRegistryValueInGuest"] = reflect.TypeOf((*DeleteRegistryValueInGuest)(nil)).Elem()
 21631  }
 21632  
 21633  // The parameters of `GuestWindowsRegistryManager.DeleteRegistryValueInGuest`.
 21634  type DeleteRegistryValueInGuestRequestType struct {
 21635  	This ManagedObjectReference `xml:"_this" json:"-"`
 21636  	// Virtual machine to perform the operation on.
 21637  	//
 21638  	// Required privileges: VirtualMachine.GuestOperations.Modify
 21639  	//
 21640  	// Refers instance of `VirtualMachine`.
 21641  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 21642  	// The guest authentication data.
 21643  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 21644  	// The registry value name to be deleted.
 21645  	// The Value "name" (specified in
 21646  	// `GuestRegValueNameSpec`)
 21647  	// can be empty. If "name" is empty, it deletes the value
 21648  	// for the unnamed or default value of the given key.
 21649  	ValueName GuestRegValueNameSpec `xml:"valueName" json:"valueName"`
 21650  }
 21651  
 21652  func init() {
 21653  	t["DeleteRegistryValueInGuestRequestType"] = reflect.TypeOf((*DeleteRegistryValueInGuestRequestType)(nil)).Elem()
 21654  }
 21655  
 21656  type DeleteRegistryValueInGuestResponse struct {
 21657  }
 21658  
 21659  type DeleteScsiLunState DeleteScsiLunStateRequestType
 21660  
 21661  func init() {
 21662  	t["DeleteScsiLunState"] = reflect.TypeOf((*DeleteScsiLunState)(nil)).Elem()
 21663  }
 21664  
 21665  // The parameters of `HostStorageSystem.DeleteScsiLunState`.
 21666  type DeleteScsiLunStateRequestType struct {
 21667  	This ManagedObjectReference `xml:"_this" json:"-"`
 21668  	// The 'canonicalName' of the ScsiLun
 21669  	// whose state needs to be deleted.
 21670  	LunCanonicalName string `xml:"lunCanonicalName" json:"lunCanonicalName"`
 21671  }
 21672  
 21673  func init() {
 21674  	t["DeleteScsiLunStateRequestType"] = reflect.TypeOf((*DeleteScsiLunStateRequestType)(nil)).Elem()
 21675  }
 21676  
 21677  type DeleteScsiLunStateResponse struct {
 21678  }
 21679  
 21680  // The parameters of `VcenterVStorageObjectManager.DeleteSnapshot_Task`.
 21681  type DeleteSnapshotRequestType struct {
 21682  	This ManagedObjectReference `xml:"_this" json:"-"`
 21683  	// The ID of the virtual storage object.
 21684  	Id ID `xml:"id" json:"id"`
 21685  	// The datastore where the source virtual storage object
 21686  	// is located.
 21687  	//
 21688  	// Refers instance of `Datastore`.
 21689  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 21690  	// The ID of the snapshot of a virtual storage object.
 21691  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 21692  }
 21693  
 21694  func init() {
 21695  	t["DeleteSnapshotRequestType"] = reflect.TypeOf((*DeleteSnapshotRequestType)(nil)).Elem()
 21696  }
 21697  
 21698  type DeleteSnapshot_Task DeleteSnapshotRequestType
 21699  
 21700  func init() {
 21701  	t["DeleteSnapshot_Task"] = reflect.TypeOf((*DeleteSnapshot_Task)(nil)).Elem()
 21702  }
 21703  
 21704  type DeleteSnapshot_TaskResponse struct {
 21705  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 21706  }
 21707  
 21708  // The parameters of `VcenterVStorageObjectManager.DeleteVStorageObjectEx_Task`.
 21709  type DeleteVStorageObjectExRequestType struct {
 21710  	This ManagedObjectReference `xml:"_this" json:"-"`
 21711  	// The ID of the virtual storage object to be deleted.
 21712  	Id ID `xml:"id" json:"id"`
 21713  	// The datastore where the virtual storage object
 21714  	// is located.
 21715  	//
 21716  	// Refers instance of `Datastore`.
 21717  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 21718  }
 21719  
 21720  func init() {
 21721  	t["DeleteVStorageObjectExRequestType"] = reflect.TypeOf((*DeleteVStorageObjectExRequestType)(nil)).Elem()
 21722  }
 21723  
 21724  type DeleteVStorageObjectEx_Task DeleteVStorageObjectExRequestType
 21725  
 21726  func init() {
 21727  	t["DeleteVStorageObjectEx_Task"] = reflect.TypeOf((*DeleteVStorageObjectEx_Task)(nil)).Elem()
 21728  }
 21729  
 21730  type DeleteVStorageObjectEx_TaskResponse struct {
 21731  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 21732  }
 21733  
 21734  // The parameters of `VcenterVStorageObjectManager.DeleteVStorageObject_Task`.
 21735  type DeleteVStorageObjectRequestType struct {
 21736  	This ManagedObjectReference `xml:"_this" json:"-"`
 21737  	// The ID of the virtual storage object to be deleted.
 21738  	Id ID `xml:"id" json:"id"`
 21739  	// The datastore where the virtual storage object
 21740  	// is located.
 21741  	//
 21742  	// Refers instance of `Datastore`.
 21743  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 21744  }
 21745  
 21746  func init() {
 21747  	t["DeleteVStorageObjectRequestType"] = reflect.TypeOf((*DeleteVStorageObjectRequestType)(nil)).Elem()
 21748  }
 21749  
 21750  type DeleteVStorageObject_Task DeleteVStorageObjectRequestType
 21751  
 21752  func init() {
 21753  	t["DeleteVStorageObject_Task"] = reflect.TypeOf((*DeleteVStorageObject_Task)(nil)).Elem()
 21754  }
 21755  
 21756  type DeleteVStorageObject_TaskResponse struct {
 21757  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 21758  }
 21759  
 21760  type DeleteVffsVolumeState DeleteVffsVolumeStateRequestType
 21761  
 21762  func init() {
 21763  	t["DeleteVffsVolumeState"] = reflect.TypeOf((*DeleteVffsVolumeState)(nil)).Elem()
 21764  }
 21765  
 21766  // The parameters of `HostStorageSystem.DeleteVffsVolumeState`.
 21767  type DeleteVffsVolumeStateRequestType struct {
 21768  	This ManagedObjectReference `xml:"_this" json:"-"`
 21769  	// The VFFS UUID.
 21770  	VffsUuid string `xml:"vffsUuid" json:"vffsUuid"`
 21771  }
 21772  
 21773  func init() {
 21774  	t["DeleteVffsVolumeStateRequestType"] = reflect.TypeOf((*DeleteVffsVolumeStateRequestType)(nil)).Elem()
 21775  }
 21776  
 21777  type DeleteVffsVolumeStateResponse struct {
 21778  }
 21779  
 21780  // The parameters of `VirtualDiskManager.DeleteVirtualDisk_Task`.
 21781  type DeleteVirtualDiskRequestType struct {
 21782  	This ManagedObjectReference `xml:"_this" json:"-"`
 21783  	// The name of the disk, either a datastore path or a URL
 21784  	// referring to the virtual disk to be deleted.
 21785  	Name string `xml:"name" json:"name"`
 21786  	// If <code>name</code> is a datastore path, the datacenter for
 21787  	// that datastore path. Not needed when invoked directly on ESX.
 21788  	// If not specified on a call to VirtualCenter,
 21789  	// <code>name</code> must be a URL.
 21790  	//
 21791  	// Refers instance of `Datacenter`.
 21792  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 21793  }
 21794  
 21795  func init() {
 21796  	t["DeleteVirtualDiskRequestType"] = reflect.TypeOf((*DeleteVirtualDiskRequestType)(nil)).Elem()
 21797  }
 21798  
 21799  type DeleteVirtualDisk_Task DeleteVirtualDiskRequestType
 21800  
 21801  func init() {
 21802  	t["DeleteVirtualDisk_Task"] = reflect.TypeOf((*DeleteVirtualDisk_Task)(nil)).Elem()
 21803  }
 21804  
 21805  type DeleteVirtualDisk_TaskResponse struct {
 21806  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 21807  }
 21808  
 21809  type DeleteVmfsVolumeState DeleteVmfsVolumeStateRequestType
 21810  
 21811  func init() {
 21812  	t["DeleteVmfsVolumeState"] = reflect.TypeOf((*DeleteVmfsVolumeState)(nil)).Elem()
 21813  }
 21814  
 21815  // The parameters of `HostStorageSystem.DeleteVmfsVolumeState`.
 21816  type DeleteVmfsVolumeStateRequestType struct {
 21817  	This ManagedObjectReference `xml:"_this" json:"-"`
 21818  	// The VMFS UUID.
 21819  	VmfsUuid string `xml:"vmfsUuid" json:"vmfsUuid"`
 21820  }
 21821  
 21822  func init() {
 21823  	t["DeleteVmfsVolumeStateRequestType"] = reflect.TypeOf((*DeleteVmfsVolumeStateRequestType)(nil)).Elem()
 21824  }
 21825  
 21826  type DeleteVmfsVolumeStateResponse struct {
 21827  }
 21828  
 21829  type DeleteVsanObjects DeleteVsanObjectsRequestType
 21830  
 21831  func init() {
 21832  	t["DeleteVsanObjects"] = reflect.TypeOf((*DeleteVsanObjects)(nil)).Elem()
 21833  }
 21834  
 21835  // The parameters of `HostVsanInternalSystem.DeleteVsanObjects`.
 21836  type DeleteVsanObjectsRequestType struct {
 21837  	This ManagedObjectReference `xml:"_this" json:"-"`
 21838  	// List of object UUIDs to be deleted.
 21839  	Uuids []string `xml:"uuids" json:"uuids"`
 21840  	// Optional force delete.
 21841  	Force *bool `xml:"force" json:"force,omitempty"`
 21842  }
 21843  
 21844  func init() {
 21845  	t["DeleteVsanObjectsRequestType"] = reflect.TypeOf((*DeleteVsanObjectsRequestType)(nil)).Elem()
 21846  }
 21847  
 21848  type DeleteVsanObjectsResponse struct {
 21849  	Returnval []HostVsanInternalSystemDeleteVsanObjectsResult `xml:"returnval" json:"returnval"`
 21850  }
 21851  
 21852  // Thrown on an attempt to use an unsupported delta disk format.
 21853  type DeltaDiskFormatNotSupported struct {
 21854  	VmConfigFault
 21855  
 21856  	// The datastores which do not support the specified format.
 21857  	//
 21858  	// Refers instances of `Datastore`.
 21859  	Datastore []ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 21860  	// The format not supported.
 21861  	//
 21862  	// See `DeltaDiskFormat`.
 21863  	DeltaDiskFormat string `xml:"deltaDiskFormat" json:"deltaDiskFormat"`
 21864  }
 21865  
 21866  func init() {
 21867  	t["DeltaDiskFormatNotSupported"] = reflect.TypeOf((*DeltaDiskFormatNotSupported)(nil)).Elem()
 21868  	minAPIVersionForType["DeltaDiskFormatNotSupported"] = "5.0"
 21869  }
 21870  
 21871  type DeltaDiskFormatNotSupportedFault DeltaDiskFormatNotSupported
 21872  
 21873  func init() {
 21874  	t["DeltaDiskFormatNotSupportedFault"] = reflect.TypeOf((*DeltaDiskFormatNotSupportedFault)(nil)).Elem()
 21875  }
 21876  
 21877  // Static strings used for describing an object or property.
 21878  type Description struct {
 21879  	DynamicData
 21880  
 21881  	// Display label.
 21882  	Label string `xml:"label" json:"label"`
 21883  	// Summary description.
 21884  	Summary string `xml:"summary" json:"summary"`
 21885  }
 21886  
 21887  func init() {
 21888  	t["Description"] = reflect.TypeOf((*Description)(nil)).Elem()
 21889  }
 21890  
 21891  type DeselectVnic DeselectVnicRequestType
 21892  
 21893  func init() {
 21894  	t["DeselectVnic"] = reflect.TypeOf((*DeselectVnic)(nil)).Elem()
 21895  }
 21896  
 21897  type DeselectVnicForNicType DeselectVnicForNicTypeRequestType
 21898  
 21899  func init() {
 21900  	t["DeselectVnicForNicType"] = reflect.TypeOf((*DeselectVnicForNicType)(nil)).Elem()
 21901  }
 21902  
 21903  // The parameters of `HostVirtualNicManager.DeselectVnicForNicType`.
 21904  type DeselectVnicForNicTypeRequestType struct {
 21905  	This ManagedObjectReference `xml:"_this" json:"-"`
 21906  	// The type of VirtualNic that would be deselected
 21907  	NicType string `xml:"nicType" json:"nicType"`
 21908  	// The device that uniquely identifies the VirtualNic.
 21909  	Device string `xml:"device" json:"device"`
 21910  }
 21911  
 21912  func init() {
 21913  	t["DeselectVnicForNicTypeRequestType"] = reflect.TypeOf((*DeselectVnicForNicTypeRequestType)(nil)).Elem()
 21914  }
 21915  
 21916  type DeselectVnicForNicTypeResponse struct {
 21917  }
 21918  
 21919  type DeselectVnicRequestType struct {
 21920  	This ManagedObjectReference `xml:"_this" json:"-"`
 21921  }
 21922  
 21923  func init() {
 21924  	t["DeselectVnicRequestType"] = reflect.TypeOf((*DeselectVnicRequestType)(nil)).Elem()
 21925  }
 21926  
 21927  type DeselectVnicResponse struct {
 21928  }
 21929  
 21930  // Desired Software Spec is defined as combination of base-image and add-on
 21931  // component which user wants to install on ESX host or cluster.
 21932  type DesiredSoftwareSpec struct {
 21933  	DynamicData
 21934  
 21935  	// Describes a specific base-image spec for the ESX host.
 21936  	BaseImageSpec DesiredSoftwareSpecBaseImageSpec `xml:"baseImageSpec" json:"baseImageSpec"`
 21937  	// Vendor add-on info for desired software spec.
 21938  	VendorAddOnSpec *DesiredSoftwareSpecVendorAddOnSpec `xml:"vendorAddOnSpec,omitempty" json:"vendorAddOnSpec,omitempty"`
 21939  	// Additional components which should be part of the desired software
 21940  	// spec.
 21941  	//
 21942  	// These components would override the components present in
 21943  	// `DesiredSoftwareSpec.vendorAddOnSpec` and `DesiredSoftwareSpec.baseImageSpec`.
 21944  	Components []DesiredSoftwareSpecComponentSpec `xml:"components,omitempty" json:"components,omitempty" vim:"7.0.2.0"`
 21945  }
 21946  
 21947  func init() {
 21948  	t["DesiredSoftwareSpec"] = reflect.TypeOf((*DesiredSoftwareSpec)(nil)).Elem()
 21949  	minAPIVersionForType["DesiredSoftwareSpec"] = "7.0"
 21950  }
 21951  
 21952  // Describes base-image spec for the ESX host.
 21953  type DesiredSoftwareSpecBaseImageSpec struct {
 21954  	DynamicData
 21955  
 21956  	// Version of the base-image.
 21957  	Version string `xml:"version" json:"version"`
 21958  }
 21959  
 21960  func init() {
 21961  	t["DesiredSoftwareSpecBaseImageSpec"] = reflect.TypeOf((*DesiredSoftwareSpecBaseImageSpec)(nil)).Elem()
 21962  	minAPIVersionForType["DesiredSoftwareSpecBaseImageSpec"] = "7.0"
 21963  }
 21964  
 21965  // Component information for the ESX host.
 21966  type DesiredSoftwareSpecComponentSpec struct {
 21967  	DynamicData
 21968  
 21969  	// Name of the component.
 21970  	Name string `xml:"name" json:"name"`
 21971  	// Version of the component.
 21972  	//
 21973  	// This field is required in the
 21974  	// current release.
 21975  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 21976  }
 21977  
 21978  func init() {
 21979  	t["DesiredSoftwareSpecComponentSpec"] = reflect.TypeOf((*DesiredSoftwareSpecComponentSpec)(nil)).Elem()
 21980  	minAPIVersionForType["DesiredSoftwareSpecComponentSpec"] = "7.0.2.0"
 21981  }
 21982  
 21983  // Vendor specific add-on info for ESX host.
 21984  type DesiredSoftwareSpecVendorAddOnSpec struct {
 21985  	DynamicData
 21986  
 21987  	// Vendor add-on name.
 21988  	Name string `xml:"name" json:"name"`
 21989  	// Vendor add-on version.
 21990  	Version string `xml:"version" json:"version"`
 21991  }
 21992  
 21993  func init() {
 21994  	t["DesiredSoftwareSpecVendorAddOnSpec"] = reflect.TypeOf((*DesiredSoftwareSpecVendorAddOnSpec)(nil)).Elem()
 21995  	minAPIVersionForType["DesiredSoftwareSpecVendorAddOnSpec"] = "7.0"
 21996  }
 21997  
 21998  // For one of the networks that the virtual machine is using, the corresponding
 21999  // switch on the host is full.
 22000  //
 22001  // If returned as part of migration checks, this is an error
 22002  // if either of the following is true, a warning otherwise:
 22003  //   - The virtual ethernet card device backing is a distributed virtual switch
 22004  //   - The virtual ethernet card device backing is a standard network and the
 22005  //     the device is connected
 22006  type DestinationSwitchFull struct {
 22007  	CannotAccessNetwork
 22008  }
 22009  
 22010  func init() {
 22011  	t["DestinationSwitchFull"] = reflect.TypeOf((*DestinationSwitchFull)(nil)).Elem()
 22012  }
 22013  
 22014  type DestinationSwitchFullFault DestinationSwitchFull
 22015  
 22016  func init() {
 22017  	t["DestinationSwitchFullFault"] = reflect.TypeOf((*DestinationSwitchFullFault)(nil)).Elem()
 22018  }
 22019  
 22020  // Fault thrown for the case that an attempt is made to move a host which
 22021  // is enabled for VSAN into a `ClusterComputeResource` which is
 22022  // disabled for VSAN.
 22023  //
 22024  // See also `CannotMoveVsanEnabledHost`.
 22025  type DestinationVsanDisabled struct {
 22026  	CannotMoveVsanEnabledHost
 22027  
 22028  	// Name of the disabled destination `ClusterComputeResource`.
 22029  	//
 22030  	// See also `ManagedEntity.name`.
 22031  	DestinationCluster string `xml:"destinationCluster" json:"destinationCluster"`
 22032  }
 22033  
 22034  func init() {
 22035  	t["DestinationVsanDisabled"] = reflect.TypeOf((*DestinationVsanDisabled)(nil)).Elem()
 22036  	minAPIVersionForType["DestinationVsanDisabled"] = "5.5"
 22037  }
 22038  
 22039  type DestinationVsanDisabledFault DestinationVsanDisabled
 22040  
 22041  func init() {
 22042  	t["DestinationVsanDisabledFault"] = reflect.TypeOf((*DestinationVsanDisabledFault)(nil)).Elem()
 22043  }
 22044  
 22045  type DestroyChildren DestroyChildrenRequestType
 22046  
 22047  func init() {
 22048  	t["DestroyChildren"] = reflect.TypeOf((*DestroyChildren)(nil)).Elem()
 22049  }
 22050  
 22051  type DestroyChildrenRequestType struct {
 22052  	This ManagedObjectReference `xml:"_this" json:"-"`
 22053  }
 22054  
 22055  func init() {
 22056  	t["DestroyChildrenRequestType"] = reflect.TypeOf((*DestroyChildrenRequestType)(nil)).Elem()
 22057  }
 22058  
 22059  type DestroyChildrenResponse struct {
 22060  }
 22061  
 22062  type DestroyCollector DestroyCollectorRequestType
 22063  
 22064  func init() {
 22065  	t["DestroyCollector"] = reflect.TypeOf((*DestroyCollector)(nil)).Elem()
 22066  }
 22067  
 22068  type DestroyCollectorRequestType struct {
 22069  	This ManagedObjectReference `xml:"_this" json:"-"`
 22070  }
 22071  
 22072  func init() {
 22073  	t["DestroyCollectorRequestType"] = reflect.TypeOf((*DestroyCollectorRequestType)(nil)).Elem()
 22074  }
 22075  
 22076  type DestroyCollectorResponse struct {
 22077  }
 22078  
 22079  type DestroyDatastore DestroyDatastoreRequestType
 22080  
 22081  func init() {
 22082  	t["DestroyDatastore"] = reflect.TypeOf((*DestroyDatastore)(nil)).Elem()
 22083  }
 22084  
 22085  type DestroyDatastoreRequestType struct {
 22086  	This ManagedObjectReference `xml:"_this" json:"-"`
 22087  }
 22088  
 22089  func init() {
 22090  	t["DestroyDatastoreRequestType"] = reflect.TypeOf((*DestroyDatastoreRequestType)(nil)).Elem()
 22091  }
 22092  
 22093  type DestroyDatastoreResponse struct {
 22094  }
 22095  
 22096  type DestroyIpPool DestroyIpPoolRequestType
 22097  
 22098  func init() {
 22099  	t["DestroyIpPool"] = reflect.TypeOf((*DestroyIpPool)(nil)).Elem()
 22100  }
 22101  
 22102  // The parameters of `IpPoolManager.DestroyIpPool`.
 22103  type DestroyIpPoolRequestType struct {
 22104  	This ManagedObjectReference `xml:"_this" json:"-"`
 22105  	// The datacenter on which to find the pool
 22106  	//
 22107  	// Required privileges: Datacenter.IpPoolConfig
 22108  	//
 22109  	// Refers instance of `Datacenter`.
 22110  	Dc ManagedObjectReference `xml:"dc" json:"dc"`
 22111  	// The unique ID of the pool
 22112  	Id int32 `xml:"id" json:"id"`
 22113  	// If true, the pool will be destroyed even if it is in use
 22114  	Force bool `xml:"force" json:"force"`
 22115  }
 22116  
 22117  func init() {
 22118  	t["DestroyIpPoolRequestType"] = reflect.TypeOf((*DestroyIpPoolRequestType)(nil)).Elem()
 22119  }
 22120  
 22121  type DestroyIpPoolResponse struct {
 22122  }
 22123  
 22124  type DestroyNetwork DestroyNetworkRequestType
 22125  
 22126  func init() {
 22127  	t["DestroyNetwork"] = reflect.TypeOf((*DestroyNetwork)(nil)).Elem()
 22128  }
 22129  
 22130  type DestroyNetworkRequestType struct {
 22131  	This ManagedObjectReference `xml:"_this" json:"-"`
 22132  }
 22133  
 22134  func init() {
 22135  	t["DestroyNetworkRequestType"] = reflect.TypeOf((*DestroyNetworkRequestType)(nil)).Elem()
 22136  }
 22137  
 22138  type DestroyNetworkResponse struct {
 22139  }
 22140  
 22141  type DestroyProfile DestroyProfileRequestType
 22142  
 22143  func init() {
 22144  	t["DestroyProfile"] = reflect.TypeOf((*DestroyProfile)(nil)).Elem()
 22145  }
 22146  
 22147  type DestroyProfileRequestType struct {
 22148  	This ManagedObjectReference `xml:"_this" json:"-"`
 22149  }
 22150  
 22151  func init() {
 22152  	t["DestroyProfileRequestType"] = reflect.TypeOf((*DestroyProfileRequestType)(nil)).Elem()
 22153  }
 22154  
 22155  type DestroyProfileResponse struct {
 22156  }
 22157  
 22158  type DestroyPropertyCollector DestroyPropertyCollectorRequestType
 22159  
 22160  func init() {
 22161  	t["DestroyPropertyCollector"] = reflect.TypeOf((*DestroyPropertyCollector)(nil)).Elem()
 22162  }
 22163  
 22164  type DestroyPropertyCollectorRequestType struct {
 22165  	This ManagedObjectReference `xml:"_this" json:"-"`
 22166  }
 22167  
 22168  func init() {
 22169  	t["DestroyPropertyCollectorRequestType"] = reflect.TypeOf((*DestroyPropertyCollectorRequestType)(nil)).Elem()
 22170  }
 22171  
 22172  type DestroyPropertyCollectorResponse struct {
 22173  }
 22174  
 22175  type DestroyPropertyFilter DestroyPropertyFilterRequestType
 22176  
 22177  func init() {
 22178  	t["DestroyPropertyFilter"] = reflect.TypeOf((*DestroyPropertyFilter)(nil)).Elem()
 22179  }
 22180  
 22181  type DestroyPropertyFilterRequestType struct {
 22182  	This ManagedObjectReference `xml:"_this" json:"-"`
 22183  }
 22184  
 22185  func init() {
 22186  	t["DestroyPropertyFilterRequestType"] = reflect.TypeOf((*DestroyPropertyFilterRequestType)(nil)).Elem()
 22187  }
 22188  
 22189  type DestroyPropertyFilterResponse struct {
 22190  }
 22191  
 22192  type DestroyRequestType struct {
 22193  	This ManagedObjectReference `xml:"_this" json:"-"`
 22194  }
 22195  
 22196  func init() {
 22197  	t["DestroyRequestType"] = reflect.TypeOf((*DestroyRequestType)(nil)).Elem()
 22198  }
 22199  
 22200  type DestroyVffs DestroyVffsRequestType
 22201  
 22202  func init() {
 22203  	t["DestroyVffs"] = reflect.TypeOf((*DestroyVffs)(nil)).Elem()
 22204  }
 22205  
 22206  // The parameters of `HostStorageSystem.DestroyVffs`.
 22207  type DestroyVffsRequestType struct {
 22208  	This ManagedObjectReference `xml:"_this" json:"-"`
 22209  	// The path of the VFFS to destroy. See `FileSystemMountInfo`.
 22210  	VffsPath string `xml:"vffsPath" json:"vffsPath"`
 22211  }
 22212  
 22213  func init() {
 22214  	t["DestroyVffsRequestType"] = reflect.TypeOf((*DestroyVffsRequestType)(nil)).Elem()
 22215  }
 22216  
 22217  type DestroyVffsResponse struct {
 22218  }
 22219  
 22220  type DestroyView DestroyViewRequestType
 22221  
 22222  func init() {
 22223  	t["DestroyView"] = reflect.TypeOf((*DestroyView)(nil)).Elem()
 22224  }
 22225  
 22226  type DestroyViewRequestType struct {
 22227  	This ManagedObjectReference `xml:"_this" json:"-"`
 22228  }
 22229  
 22230  func init() {
 22231  	t["DestroyViewRequestType"] = reflect.TypeOf((*DestroyViewRequestType)(nil)).Elem()
 22232  }
 22233  
 22234  type DestroyViewResponse struct {
 22235  }
 22236  
 22237  type Destroy_Task DestroyRequestType
 22238  
 22239  func init() {
 22240  	t["Destroy_Task"] = reflect.TypeOf((*Destroy_Task)(nil)).Elem()
 22241  }
 22242  
 22243  type Destroy_TaskResponse struct {
 22244  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 22245  }
 22246  
 22247  // The parameters of `VirtualMachine.DetachDisk_Task`.
 22248  type DetachDiskRequestType struct {
 22249  	This ManagedObjectReference `xml:"_this" json:"-"`
 22250  	// The ID of the virtual disk to be operated. See
 22251  	// `ID`
 22252  	DiskId ID `xml:"diskId" json:"diskId"`
 22253  }
 22254  
 22255  func init() {
 22256  	t["DetachDiskRequestType"] = reflect.TypeOf((*DetachDiskRequestType)(nil)).Elem()
 22257  }
 22258  
 22259  type DetachDisk_Task DetachDiskRequestType
 22260  
 22261  func init() {
 22262  	t["DetachDisk_Task"] = reflect.TypeOf((*DetachDisk_Task)(nil)).Elem()
 22263  }
 22264  
 22265  type DetachDisk_TaskResponse struct {
 22266  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 22267  }
 22268  
 22269  type DetachScsiLun DetachScsiLunRequestType
 22270  
 22271  func init() {
 22272  	t["DetachScsiLun"] = reflect.TypeOf((*DetachScsiLun)(nil)).Elem()
 22273  }
 22274  
 22275  // The parameters of `HostStorageSystem.DetachScsiLunEx_Task`.
 22276  type DetachScsiLunExRequestType struct {
 22277  	This ManagedObjectReference `xml:"_this" json:"-"`
 22278  	// each element specifies UUID of LUN to be detached.
 22279  	LunUuid []string `xml:"lunUuid" json:"lunUuid"`
 22280  }
 22281  
 22282  func init() {
 22283  	t["DetachScsiLunExRequestType"] = reflect.TypeOf((*DetachScsiLunExRequestType)(nil)).Elem()
 22284  }
 22285  
 22286  type DetachScsiLunEx_Task DetachScsiLunExRequestType
 22287  
 22288  func init() {
 22289  	t["DetachScsiLunEx_Task"] = reflect.TypeOf((*DetachScsiLunEx_Task)(nil)).Elem()
 22290  }
 22291  
 22292  type DetachScsiLunEx_TaskResponse struct {
 22293  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 22294  }
 22295  
 22296  // The parameters of `HostStorageSystem.DetachScsiLun`.
 22297  type DetachScsiLunRequestType struct {
 22298  	This ManagedObjectReference `xml:"_this" json:"-"`
 22299  	// The uuid of the ScsiLun device to detach.
 22300  	LunUuid string `xml:"lunUuid" json:"lunUuid"`
 22301  }
 22302  
 22303  func init() {
 22304  	t["DetachScsiLunRequestType"] = reflect.TypeOf((*DetachScsiLunRequestType)(nil)).Elem()
 22305  }
 22306  
 22307  type DetachScsiLunResponse struct {
 22308  }
 22309  
 22310  type DetachTagFromVStorageObject DetachTagFromVStorageObjectRequestType
 22311  
 22312  func init() {
 22313  	t["DetachTagFromVStorageObject"] = reflect.TypeOf((*DetachTagFromVStorageObject)(nil)).Elem()
 22314  }
 22315  
 22316  // The parameters of `VcenterVStorageObjectManager.DetachTagFromVStorageObject`.
 22317  type DetachTagFromVStorageObjectRequestType struct {
 22318  	This ManagedObjectReference `xml:"_this" json:"-"`
 22319  	// The identifier(ID) of the virtual storage object.
 22320  	Id ID `xml:"id" json:"id"`
 22321  	// The category to which the tag belongs.
 22322  	Category string `xml:"category" json:"category"`
 22323  	// The tag which has to be disassociated with the virtual storage
 22324  	// object.
 22325  	Tag string `xml:"tag" json:"tag"`
 22326  }
 22327  
 22328  func init() {
 22329  	t["DetachTagFromVStorageObjectRequestType"] = reflect.TypeOf((*DetachTagFromVStorageObjectRequestType)(nil)).Elem()
 22330  }
 22331  
 22332  type DetachTagFromVStorageObjectResponse struct {
 22333  }
 22334  
 22335  // Specification used to create a host device backed virtual disk
 22336  type DeviceBackedVirtualDiskSpec struct {
 22337  	VirtualDiskSpec
 22338  
 22339  	// The deviceName of the backing device
 22340  	//
 22341  	// See also `ScsiLun`.
 22342  	Device string `xml:"device" json:"device"`
 22343  }
 22344  
 22345  func init() {
 22346  	t["DeviceBackedVirtualDiskSpec"] = reflect.TypeOf((*DeviceBackedVirtualDiskSpec)(nil)).Elem()
 22347  	minAPIVersionForType["DeviceBackedVirtualDiskSpec"] = "2.5"
 22348  }
 22349  
 22350  // The device is backed by a backing type which is not supported
 22351  // for this particular device.
 22352  //
 22353  // If this fault is returned as a subfault of
 22354  // DisallowedMigrationDeviceAttached, this indicates that although
 22355  // this backing for the device may be supported on the destination
 22356  // host, the hosts do not support the requested migration of the
 22357  // virtual machine while using this device with this backing.
 22358  type DeviceBackingNotSupported struct {
 22359  	DeviceNotSupported
 22360  
 22361  	// The type of the backing.
 22362  	Backing string `xml:"backing" json:"backing"`
 22363  }
 22364  
 22365  func init() {
 22366  	t["DeviceBackingNotSupported"] = reflect.TypeOf((*DeviceBackingNotSupported)(nil)).Elem()
 22367  	minAPIVersionForType["DeviceBackingNotSupported"] = "2.5"
 22368  }
 22369  
 22370  type DeviceBackingNotSupportedFault BaseDeviceBackingNotSupported
 22371  
 22372  func init() {
 22373  	t["DeviceBackingNotSupportedFault"] = reflect.TypeOf((*DeviceBackingNotSupportedFault)(nil)).Elem()
 22374  }
 22375  
 22376  // The device in question is supported, but the device-controller
 22377  // combination is not supported.
 22378  //
 22379  // If this fault is returned as a subfault of
 22380  // DisallowedMigrationDeviceAttached, this indicates that although
 22381  // this device-controller combination may be supported on the
 22382  // destination host, the hosts do not support the requested migration
 22383  // of the virtual machine while using this device and controller.
 22384  type DeviceControllerNotSupported struct {
 22385  	DeviceNotSupported
 22386  
 22387  	// The type of the controller.
 22388  	Controller string `xml:"controller" json:"controller"`
 22389  }
 22390  
 22391  func init() {
 22392  	t["DeviceControllerNotSupported"] = reflect.TypeOf((*DeviceControllerNotSupported)(nil)).Elem()
 22393  	minAPIVersionForType["DeviceControllerNotSupported"] = "2.5"
 22394  }
 22395  
 22396  type DeviceControllerNotSupportedFault DeviceControllerNotSupported
 22397  
 22398  func init() {
 22399  	t["DeviceControllerNotSupportedFault"] = reflect.TypeOf((*DeviceControllerNotSupportedFault)(nil)).Elem()
 22400  }
 22401  
 22402  // Identifier of a replication device group.
 22403  type DeviceGroupId struct {
 22404  	DynamicData
 22405  
 22406  	// ID of the device group.
 22407  	Id string `xml:"id" json:"id"`
 22408  }
 22409  
 22410  func init() {
 22411  	t["DeviceGroupId"] = reflect.TypeOf((*DeviceGroupId)(nil)).Elem()
 22412  	minAPIVersionForType["DeviceGroupId"] = "6.5"
 22413  }
 22414  
 22415  // A DeviceHotPlugNotSupported exception is thrown if the specified device
 22416  // cannot be hot-added or hot-removed from the virtual machine
 22417  // at this time.
 22418  type DeviceHotPlugNotSupported struct {
 22419  	InvalidDeviceSpec
 22420  }
 22421  
 22422  func init() {
 22423  	t["DeviceHotPlugNotSupported"] = reflect.TypeOf((*DeviceHotPlugNotSupported)(nil)).Elem()
 22424  	minAPIVersionForType["DeviceHotPlugNotSupported"] = "2.5 U2"
 22425  }
 22426  
 22427  type DeviceHotPlugNotSupportedFault DeviceHotPlugNotSupported
 22428  
 22429  func init() {
 22430  	t["DeviceHotPlugNotSupportedFault"] = reflect.TypeOf((*DeviceHotPlugNotSupportedFault)(nil)).Elem()
 22431  }
 22432  
 22433  // A DeviceNotFound exception is thrown if
 22434  // a device to be edited or removed
 22435  // cannot be found.
 22436  //
 22437  // Most likely, the client incorrectly passed
 22438  // the device key.
 22439  type DeviceNotFound struct {
 22440  	InvalidDeviceSpec
 22441  }
 22442  
 22443  func init() {
 22444  	t["DeviceNotFound"] = reflect.TypeOf((*DeviceNotFound)(nil)).Elem()
 22445  }
 22446  
 22447  type DeviceNotFoundFault DeviceNotFound
 22448  
 22449  func init() {
 22450  	t["DeviceNotFoundFault"] = reflect.TypeOf((*DeviceNotFoundFault)(nil)).Elem()
 22451  }
 22452  
 22453  // The virtual machine uses a device type that is not supported on the
 22454  // host.
 22455  //
 22456  // If this fault is returned as a subfault of
 22457  // `DisallowedMigrationDeviceAttached`, this indicates that although
 22458  // this device may be supported on the destination host, the hosts do
 22459  // not support the requested migration of the virtual machine while
 22460  // using this device.
 22461  type DeviceNotSupported struct {
 22462  	VirtualHardwareCompatibilityIssue
 22463  
 22464  	// The label of the device.
 22465  	Device string `xml:"device" json:"device"`
 22466  	// The specific reason why the device is not supported.
 22467  	//
 22468  	// Values should come from `DeviceNotSupportedReason_enum`.
 22469  	// This might not be set if we're not sure of the reason, or
 22470  	// if this doesn't make sense in the context. For example,
 22471  	// in the `DisallowedMigrationDeviceAttached` context
 22472  	// we already know the problem.
 22473  	Reason string `xml:"reason,omitempty" json:"reason,omitempty" vim:"2.5"`
 22474  }
 22475  
 22476  func init() {
 22477  	t["DeviceNotSupported"] = reflect.TypeOf((*DeviceNotSupported)(nil)).Elem()
 22478  }
 22479  
 22480  type DeviceNotSupportedFault BaseDeviceNotSupported
 22481  
 22482  func init() {
 22483  	t["DeviceNotSupportedFault"] = reflect.TypeOf((*DeviceNotSupportedFault)(nil)).Elem()
 22484  }
 22485  
 22486  // A DeviceUnsupportedForVmPlatform exception is thrown if the specified device
 22487  // is not supported on the platform on which the virtual machine is being
 22488  // created/configured.
 22489  //
 22490  // For example, this exception might be thrown if a client
 22491  // incorrectly attempts to add a device supported only on ESX Server to a
 22492  // virtual machine on a hosted product.
 22493  type DeviceUnsupportedForVmPlatform struct {
 22494  	InvalidDeviceSpec
 22495  }
 22496  
 22497  func init() {
 22498  	t["DeviceUnsupportedForVmPlatform"] = reflect.TypeOf((*DeviceUnsupportedForVmPlatform)(nil)).Elem()
 22499  	minAPIVersionForType["DeviceUnsupportedForVmPlatform"] = "2.5 U2"
 22500  }
 22501  
 22502  type DeviceUnsupportedForVmPlatformFault DeviceUnsupportedForVmPlatform
 22503  
 22504  func init() {
 22505  	t["DeviceUnsupportedForVmPlatformFault"] = reflect.TypeOf((*DeviceUnsupportedForVmPlatformFault)(nil)).Elem()
 22506  }
 22507  
 22508  // A DeviceUnsupportedForVmVersion exception is thrown if a specific device
 22509  // is not supported for a given version of the virtual machine.
 22510  type DeviceUnsupportedForVmVersion struct {
 22511  	InvalidDeviceSpec
 22512  
 22513  	// The current version of the virtual machine.
 22514  	CurrentVersion string `xml:"currentVersion" json:"currentVersion"`
 22515  	// The minimum expected virtual mahcine version needed to
 22516  	// support this device.
 22517  	ExpectedVersion string `xml:"expectedVersion" json:"expectedVersion"`
 22518  }
 22519  
 22520  func init() {
 22521  	t["DeviceUnsupportedForVmVersion"] = reflect.TypeOf((*DeviceUnsupportedForVmVersion)(nil)).Elem()
 22522  	minAPIVersionForType["DeviceUnsupportedForVmVersion"] = "2.5 U2"
 22523  }
 22524  
 22525  type DeviceUnsupportedForVmVersionFault DeviceUnsupportedForVmVersion
 22526  
 22527  func init() {
 22528  	t["DeviceUnsupportedForVmVersionFault"] = reflect.TypeOf((*DeviceUnsupportedForVmVersionFault)(nil)).Elem()
 22529  }
 22530  
 22531  type DiagnosticManagerAuditRecordResult struct {
 22532  	DynamicData
 22533  
 22534  	// Zero or more audit records returned.
 22535  	//
 22536  	// Each audit record is a UTF-8 string in RFC 5424 format. See RFC 5424,
 22537  	// page 8, for the ABNF grammar.
 22538  	//
 22539  	// The HOSTNAME and MSGID fields are set to "-", the structured data
 22540  	// contains the audit record parameters, no unstructured data will be
 22541  	// present, and each record is terminated with an ASCII LF (newline).
 22542  	Records []string `xml:"records,omitempty" json:"records,omitempty"`
 22543  	// The token to be used for subsequent read operations.
 22544  	//
 22545  	// The string is "opaque"; the format of this data changes over time.
 22546  	NextToken string `xml:"nextToken" json:"nextToken"`
 22547  }
 22548  
 22549  func init() {
 22550  	t["DiagnosticManagerAuditRecordResult"] = reflect.TypeOf((*DiagnosticManagerAuditRecordResult)(nil)).Elem()
 22551  }
 22552  
 22553  // Describes a location of a diagnostic bundle and the server to which
 22554  // it belongs.
 22555  //
 22556  // This is a return type for the generateLogBundles operation.
 22557  type DiagnosticManagerBundleInfo struct {
 22558  	DynamicData
 22559  
 22560  	// The host to which this diagnostic bundle belongs.
 22561  	//
 22562  	// If this is for the default server, then it is not set.
 22563  	//
 22564  	// Refers instance of `HostSystem`.
 22565  	System *ManagedObjectReference `xml:"system,omitempty" json:"system,omitempty"`
 22566  	// The location from which the diagnostic bundle can be downloaded.
 22567  	//
 22568  	// The host part of the URL is returned as '\*' if the hostname to be used
 22569  	// is the name of the server to which the call was made. For example, if
 22570  	// the call is made to vcsrv1.domain1.com, and the bundle is available
 22571  	// for download from http://vcsrv1.domain1.com/diagnostics/bundle.zip,
 22572  	// the URL returned may be http:// \* /diagnostics/bundle.zip. The client
 22573  	// replaces the asterisk with the server name on which it invoked the
 22574  	// call.
 22575  	Url string `xml:"url" json:"url"`
 22576  }
 22577  
 22578  func init() {
 22579  	t["DiagnosticManagerBundleInfo"] = reflect.TypeOf((*DiagnosticManagerBundleInfo)(nil)).Elem()
 22580  }
 22581  
 22582  // Describes a log file that is available on a server.
 22583  type DiagnosticManagerLogDescriptor struct {
 22584  	DynamicData
 22585  
 22586  	// A key to identify the log file for browsing and download operations.
 22587  	Key string `xml:"key" json:"key"`
 22588  	// The filename of the log.
 22589  	FileName string `xml:"fileName" json:"fileName"`
 22590  	// The application that generated the log file.
 22591  	//
 22592  	// For more information on currently supported creators, see
 22593  	// `DiagnosticManagerLogCreator_enum`.
 22594  	Creator string `xml:"creator" json:"creator"`
 22595  	// Describes the format of the log file.
 22596  	//
 22597  	// For more information on currently supported formats, see
 22598  	// `DiagnosticManagerLogFormat_enum`.
 22599  	Format string `xml:"format" json:"format"`
 22600  	// Describes the mime-type of the returned file.
 22601  	//
 22602  	// Typical
 22603  	// mime-types include:
 22604  	//     - text/plain - for a plain log file
 22605  	MimeType string `xml:"mimeType" json:"mimeType"`
 22606  	// Localized description of log file.
 22607  	Info BaseDescription `xml:"info,typeattr" json:"info"`
 22608  }
 22609  
 22610  func init() {
 22611  	t["DiagnosticManagerLogDescriptor"] = reflect.TypeOf((*DiagnosticManagerLogDescriptor)(nil)).Elem()
 22612  }
 22613  
 22614  // A header that is returned with a set of log entries.
 22615  //
 22616  // This header describes where entries are located in the log file. Log
 22617  // files typically grow dynamically, so indexes based on line numbers may
 22618  // become inaccurate.
 22619  type DiagnosticManagerLogHeader struct {
 22620  	DynamicData
 22621  
 22622  	// The first line of this log segment.
 22623  	LineStart int32 `xml:"lineStart" json:"lineStart"`
 22624  	// The last line of this log segment.
 22625  	LineEnd int32 `xml:"lineEnd" json:"lineEnd"`
 22626  	// Log entries, listed by line, for this log segment.
 22627  	LineText []string `xml:"lineText,omitempty" json:"lineText,omitempty"`
 22628  }
 22629  
 22630  func init() {
 22631  	t["DiagnosticManagerLogHeader"] = reflect.TypeOf((*DiagnosticManagerLogHeader)(nil)).Elem()
 22632  }
 22633  
 22634  // The digest file of the specified virtual disk is not supported.
 22635  //
 22636  // Typically, this fault is returned as part of a parent fault like
 22637  // `VmConfigIncompatibleForFaultTolerance`, indicating that the
 22638  // virtual disk's digest file needs to be changed before fault tolerance can be
 22639  // enabled on the associated virtual machine.
 22640  type DigestNotSupported struct {
 22641  	DeviceNotSupported
 22642  }
 22643  
 22644  func init() {
 22645  	t["DigestNotSupported"] = reflect.TypeOf((*DigestNotSupported)(nil)).Elem()
 22646  	minAPIVersionForType["DigestNotSupported"] = "6.0"
 22647  }
 22648  
 22649  type DigestNotSupportedFault DigestNotSupported
 22650  
 22651  func init() {
 22652  	t["DigestNotSupportedFault"] = reflect.TypeOf((*DigestNotSupportedFault)(nil)).Elem()
 22653  }
 22654  
 22655  // This fault is thrown when an operation fails because the specified
 22656  // directory is not empty.
 22657  type DirectoryNotEmpty struct {
 22658  	FileFault
 22659  }
 22660  
 22661  func init() {
 22662  	t["DirectoryNotEmpty"] = reflect.TypeOf((*DirectoryNotEmpty)(nil)).Elem()
 22663  	minAPIVersionForType["DirectoryNotEmpty"] = "5.0"
 22664  }
 22665  
 22666  type DirectoryNotEmptyFault DirectoryNotEmpty
 22667  
 22668  func init() {
 22669  	t["DirectoryNotEmptyFault"] = reflect.TypeOf((*DirectoryNotEmptyFault)(nil)).Elem()
 22670  }
 22671  
 22672  // Fault thrown when an attempt is made to move a disk with associated snapshots to a destination host.
 22673  //
 22674  // If such a move were to occur, snapshots associated with the disk would be irrevocably
 22675  // lost. This is always an error.
 22676  type DisableAdminNotSupported struct {
 22677  	HostConfigFault
 22678  }
 22679  
 22680  func init() {
 22681  	t["DisableAdminNotSupported"] = reflect.TypeOf((*DisableAdminNotSupported)(nil)).Elem()
 22682  	minAPIVersionForType["DisableAdminNotSupported"] = "2.5"
 22683  }
 22684  
 22685  type DisableAdminNotSupportedFault DisableAdminNotSupported
 22686  
 22687  func init() {
 22688  	t["DisableAdminNotSupportedFault"] = reflect.TypeOf((*DisableAdminNotSupportedFault)(nil)).Elem()
 22689  }
 22690  
 22691  type DisableAlarm DisableAlarmRequestType
 22692  
 22693  func init() {
 22694  	t["DisableAlarm"] = reflect.TypeOf((*DisableAlarm)(nil)).Elem()
 22695  }
 22696  
 22697  // The parameters of `AlarmManager.DisableAlarm`.
 22698  type DisableAlarmRequestType struct {
 22699  	This ManagedObjectReference `xml:"_this" json:"-"`
 22700  	// The Alarm being disabled.
 22701  	//
 22702  	// Required privileges: Alarm.ToggleEnableOnEntity
 22703  	//
 22704  	// Refers instance of `Alarm`.
 22705  	Alarm ManagedObjectReference `xml:"alarm" json:"alarm"`
 22706  	// The ManagedEntity on which to disable the alarm.
 22707  	//
 22708  	// Required privileges: System.Read
 22709  	//
 22710  	// Refers instance of `ManagedEntity`.
 22711  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 22712  }
 22713  
 22714  func init() {
 22715  	t["DisableAlarmRequestType"] = reflect.TypeOf((*DisableAlarmRequestType)(nil)).Elem()
 22716  }
 22717  
 22718  type DisableAlarmResponse struct {
 22719  }
 22720  
 22721  type DisableClusteredVmdkSupport DisableClusteredVmdkSupportRequestType
 22722  
 22723  func init() {
 22724  	t["DisableClusteredVmdkSupport"] = reflect.TypeOf((*DisableClusteredVmdkSupport)(nil)).Elem()
 22725  }
 22726  
 22727  // The parameters of `HostDatastoreSystem.DisableClusteredVmdkSupport`.
 22728  type DisableClusteredVmdkSupportRequestType struct {
 22729  	This ManagedObjectReference `xml:"_this" json:"-"`
 22730  	// Datastore on which clustered vmdk should be
 22731  	// disabled.
 22732  	//
 22733  	// Refers instance of `Datastore`.
 22734  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 22735  }
 22736  
 22737  func init() {
 22738  	t["DisableClusteredVmdkSupportRequestType"] = reflect.TypeOf((*DisableClusteredVmdkSupportRequestType)(nil)).Elem()
 22739  }
 22740  
 22741  type DisableClusteredVmdkSupportResponse struct {
 22742  }
 22743  
 22744  type DisableEvcModeRequestType struct {
 22745  	This ManagedObjectReference `xml:"_this" json:"-"`
 22746  }
 22747  
 22748  func init() {
 22749  	t["DisableEvcModeRequestType"] = reflect.TypeOf((*DisableEvcModeRequestType)(nil)).Elem()
 22750  }
 22751  
 22752  type DisableEvcMode_Task DisableEvcModeRequestType
 22753  
 22754  func init() {
 22755  	t["DisableEvcMode_Task"] = reflect.TypeOf((*DisableEvcMode_Task)(nil)).Elem()
 22756  }
 22757  
 22758  type DisableEvcMode_TaskResponse struct {
 22759  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 22760  }
 22761  
 22762  type DisableFeature DisableFeatureRequestType
 22763  
 22764  func init() {
 22765  	t["DisableFeature"] = reflect.TypeOf((*DisableFeature)(nil)).Elem()
 22766  }
 22767  
 22768  // The parameters of `LicenseManager.DisableFeature`.
 22769  type DisableFeatureRequestType struct {
 22770  	This ManagedObjectReference `xml:"_this" json:"-"`
 22771  	// Host to act on if LicenseManager is not on a host.
 22772  	//
 22773  	// Refers instance of `HostSystem`.
 22774  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 22775  	// key of the feature to disable.
 22776  	FeatureKey string `xml:"featureKey" json:"featureKey"`
 22777  }
 22778  
 22779  func init() {
 22780  	t["DisableFeatureRequestType"] = reflect.TypeOf((*DisableFeatureRequestType)(nil)).Elem()
 22781  }
 22782  
 22783  type DisableFeatureResponse struct {
 22784  	Returnval bool `xml:"returnval" json:"returnval"`
 22785  }
 22786  
 22787  type DisableHyperThreading DisableHyperThreadingRequestType
 22788  
 22789  func init() {
 22790  	t["DisableHyperThreading"] = reflect.TypeOf((*DisableHyperThreading)(nil)).Elem()
 22791  }
 22792  
 22793  type DisableHyperThreadingRequestType struct {
 22794  	This ManagedObjectReference `xml:"_this" json:"-"`
 22795  }
 22796  
 22797  func init() {
 22798  	t["DisableHyperThreadingRequestType"] = reflect.TypeOf((*DisableHyperThreadingRequestType)(nil)).Elem()
 22799  }
 22800  
 22801  type DisableHyperThreadingResponse struct {
 22802  }
 22803  
 22804  type DisableMultipathPath DisableMultipathPathRequestType
 22805  
 22806  func init() {
 22807  	t["DisableMultipathPath"] = reflect.TypeOf((*DisableMultipathPath)(nil)).Elem()
 22808  }
 22809  
 22810  // The parameters of `HostStorageSystem.DisableMultipathPath`.
 22811  type DisableMultipathPathRequestType struct {
 22812  	This ManagedObjectReference `xml:"_this" json:"-"`
 22813  	// The name of the path to disable.
 22814  	PathName string `xml:"pathName" json:"pathName"`
 22815  }
 22816  
 22817  func init() {
 22818  	t["DisableMultipathPathRequestType"] = reflect.TypeOf((*DisableMultipathPathRequestType)(nil)).Elem()
 22819  }
 22820  
 22821  type DisableMultipathPathResponse struct {
 22822  }
 22823  
 22824  type DisableRuleset DisableRulesetRequestType
 22825  
 22826  func init() {
 22827  	t["DisableRuleset"] = reflect.TypeOf((*DisableRuleset)(nil)).Elem()
 22828  }
 22829  
 22830  // The parameters of `HostFirewallSystem.DisableRuleset`.
 22831  type DisableRulesetRequestType struct {
 22832  	This ManagedObjectReference `xml:"_this" json:"-"`
 22833  	Id   string                 `xml:"id" json:"id"`
 22834  }
 22835  
 22836  func init() {
 22837  	t["DisableRulesetRequestType"] = reflect.TypeOf((*DisableRulesetRequestType)(nil)).Elem()
 22838  }
 22839  
 22840  type DisableRulesetResponse struct {
 22841  }
 22842  
 22843  // The parameters of `VirtualMachine.DisableSecondaryVM_Task`.
 22844  type DisableSecondaryVMRequestType struct {
 22845  	This ManagedObjectReference `xml:"_this" json:"-"`
 22846  	// The secondary virtual machine specified will be disabed.
 22847  	// This field must specify a secondary virtual machine that is part of the fault
 22848  	// tolerant group that this virtual machine is currently associated with. It can
 22849  	// only be invoked from the primary virtual machine in the group.
 22850  	//
 22851  	// Refers instance of `VirtualMachine`.
 22852  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 22853  }
 22854  
 22855  func init() {
 22856  	t["DisableSecondaryVMRequestType"] = reflect.TypeOf((*DisableSecondaryVMRequestType)(nil)).Elem()
 22857  }
 22858  
 22859  type DisableSecondaryVM_Task DisableSecondaryVMRequestType
 22860  
 22861  func init() {
 22862  	t["DisableSecondaryVM_Task"] = reflect.TypeOf((*DisableSecondaryVM_Task)(nil)).Elem()
 22863  }
 22864  
 22865  type DisableSecondaryVM_TaskResponse struct {
 22866  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 22867  }
 22868  
 22869  type DisableSmartCardAuthentication DisableSmartCardAuthenticationRequestType
 22870  
 22871  func init() {
 22872  	t["DisableSmartCardAuthentication"] = reflect.TypeOf((*DisableSmartCardAuthentication)(nil)).Elem()
 22873  }
 22874  
 22875  type DisableSmartCardAuthenticationRequestType struct {
 22876  	This ManagedObjectReference `xml:"_this" json:"-"`
 22877  }
 22878  
 22879  func init() {
 22880  	t["DisableSmartCardAuthenticationRequestType"] = reflect.TypeOf((*DisableSmartCardAuthenticationRequestType)(nil)).Elem()
 22881  }
 22882  
 22883  type DisableSmartCardAuthenticationResponse struct {
 22884  }
 22885  
 22886  // Fault thrown if the disallowed operation is invoked by the client.
 22887  //
 22888  // The
 22889  // change is disallowed because it conflicts with target state maintained
 22890  // by a service. The corresponding method is usually not disabled because
 22891  // only a subset of changes carried out by the method is disallowed. For
 22892  // example, an online extend executed via virtual machine reconfigure
 22893  // method is not allowed if replication is enabled on a virtual machine.
 22894  type DisallowedChangeByService struct {
 22895  	RuntimeFault
 22896  
 22897  	// The service that has disallowed the change.
 22898  	ServiceName string `xml:"serviceName" json:"serviceName"`
 22899  	// The change this is not allowed, the set of possible values is
 22900  	// described in `DisallowedChangeByServiceDisallowedChange_enum`.
 22901  	DisallowedChange string `xml:"disallowedChange,omitempty" json:"disallowedChange,omitempty"`
 22902  }
 22903  
 22904  func init() {
 22905  	t["DisallowedChangeByService"] = reflect.TypeOf((*DisallowedChangeByService)(nil)).Elem()
 22906  	minAPIVersionForType["DisallowedChangeByService"] = "5.0"
 22907  }
 22908  
 22909  type DisallowedChangeByServiceFault DisallowedChangeByService
 22910  
 22911  func init() {
 22912  	t["DisallowedChangeByServiceFault"] = reflect.TypeOf((*DisallowedChangeByServiceFault)(nil)).Elem()
 22913  }
 22914  
 22915  // Thrown when the `VirtualMachine.ReconfigVM_Task` operation
 22916  // includes a change to the `VirtualDiskMode_enum`
 22917  // property.
 22918  //
 22919  // This property cannot be changed as long as a virtual machine
 22920  // has an existing snapshot.
 22921  type DisallowedDiskModeChange struct {
 22922  	InvalidDeviceSpec
 22923  }
 22924  
 22925  func init() {
 22926  	t["DisallowedDiskModeChange"] = reflect.TypeOf((*DisallowedDiskModeChange)(nil)).Elem()
 22927  }
 22928  
 22929  type DisallowedDiskModeChangeFault DisallowedDiskModeChange
 22930  
 22931  func init() {
 22932  	t["DisallowedDiskModeChangeFault"] = reflect.TypeOf((*DisallowedDiskModeChangeFault)(nil)).Elem()
 22933  }
 22934  
 22935  // The virtual machine is using a type of device that prevents migration.
 22936  type DisallowedMigrationDeviceAttached struct {
 22937  	MigrationFault
 22938  
 22939  	// A fault specifies the particular device issue.
 22940  	//
 22941  	// This is typically
 22942  	// a subclass of VirtualHardwareCompatibilityIssue, such as
 22943  	// RawDiskNotSupported, RemoteDeviceNotSupported, or SharedBusControllerNotSupported
 22944  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 22945  }
 22946  
 22947  func init() {
 22948  	t["DisallowedMigrationDeviceAttached"] = reflect.TypeOf((*DisallowedMigrationDeviceAttached)(nil)).Elem()
 22949  }
 22950  
 22951  type DisallowedMigrationDeviceAttachedFault DisallowedMigrationDeviceAttached
 22952  
 22953  func init() {
 22954  	t["DisallowedMigrationDeviceAttachedFault"] = reflect.TypeOf((*DisallowedMigrationDeviceAttachedFault)(nil)).Elem()
 22955  }
 22956  
 22957  // Fault thrown when an attempt is made to perform a disallowed operation on a
 22958  // host that has been configured as a failover host in an cluster that has High
 22959  // Availability enabled.
 22960  //
 22961  // See `ClusterFailoverHostAdmissionControlPolicy`.
 22962  // Examples of such operations are destroying a host, moving a host out of a cluster,
 22963  // or powering on a virtual machine on a specific host.
 22964  type DisallowedOperationOnFailoverHost struct {
 22965  	RuntimeFault
 22966  
 22967  	// The failover host.
 22968  	//
 22969  	// Refers instance of `HostSystem`.
 22970  	Host ManagedObjectReference `xml:"host" json:"host"`
 22971  	// Name of the failover host.
 22972  	Hostname string `xml:"hostname" json:"hostname"`
 22973  }
 22974  
 22975  func init() {
 22976  	t["DisallowedOperationOnFailoverHost"] = reflect.TypeOf((*DisallowedOperationOnFailoverHost)(nil)).Elem()
 22977  	minAPIVersionForType["DisallowedOperationOnFailoverHost"] = "4.0"
 22978  }
 22979  
 22980  type DisallowedOperationOnFailoverHostFault DisallowedOperationOnFailoverHost
 22981  
 22982  func init() {
 22983  	t["DisallowedOperationOnFailoverHostFault"] = reflect.TypeOf((*DisallowedOperationOnFailoverHostFault)(nil)).Elem()
 22984  }
 22985  
 22986  type DisconnectHostRequestType struct {
 22987  	This ManagedObjectReference `xml:"_this" json:"-"`
 22988  }
 22989  
 22990  func init() {
 22991  	t["DisconnectHostRequestType"] = reflect.TypeOf((*DisconnectHostRequestType)(nil)).Elem()
 22992  }
 22993  
 22994  type DisconnectHost_Task DisconnectHostRequestType
 22995  
 22996  func init() {
 22997  	t["DisconnectHost_Task"] = reflect.TypeOf((*DisconnectHost_Task)(nil)).Elem()
 22998  }
 22999  
 23000  type DisconnectHost_TaskResponse struct {
 23001  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 23002  }
 23003  
 23004  type DisconnectNvmeController DisconnectNvmeControllerRequestType
 23005  
 23006  func init() {
 23007  	t["DisconnectNvmeController"] = reflect.TypeOf((*DisconnectNvmeController)(nil)).Elem()
 23008  }
 23009  
 23010  // The parameters of `HostStorageSystem.DisconnectNvmeControllerEx_Task`.
 23011  type DisconnectNvmeControllerExRequestType struct {
 23012  	This ManagedObjectReference `xml:"_this" json:"-"`
 23013  	// A list of data objects, each specifying the parameters
 23014  	// necessary to disconnect an NVMe controller.
 23015  	DisconnectSpec []HostNvmeDisconnectSpec `xml:"disconnectSpec,omitempty" json:"disconnectSpec,omitempty"`
 23016  }
 23017  
 23018  func init() {
 23019  	t["DisconnectNvmeControllerExRequestType"] = reflect.TypeOf((*DisconnectNvmeControllerExRequestType)(nil)).Elem()
 23020  }
 23021  
 23022  type DisconnectNvmeControllerEx_Task DisconnectNvmeControllerExRequestType
 23023  
 23024  func init() {
 23025  	t["DisconnectNvmeControllerEx_Task"] = reflect.TypeOf((*DisconnectNvmeControllerEx_Task)(nil)).Elem()
 23026  }
 23027  
 23028  type DisconnectNvmeControllerEx_TaskResponse struct {
 23029  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 23030  }
 23031  
 23032  // The parameters of `HostStorageSystem.DisconnectNvmeController`.
 23033  type DisconnectNvmeControllerRequestType struct {
 23034  	This ManagedObjectReference `xml:"_this" json:"-"`
 23035  	// A data object that specifies the parameters
 23036  	// necessary to perform the disconnection.
 23037  	DisconnectSpec HostNvmeDisconnectSpec `xml:"disconnectSpec" json:"disconnectSpec"`
 23038  }
 23039  
 23040  func init() {
 23041  	t["DisconnectNvmeControllerRequestType"] = reflect.TypeOf((*DisconnectNvmeControllerRequestType)(nil)).Elem()
 23042  }
 23043  
 23044  type DisconnectNvmeControllerResponse struct {
 23045  }
 23046  
 23047  // An attempt to enable Enhanced VMotion Compatibility on a cluster, or to
 23048  // select a less-featureful EVC mode for a cluster where EVC is already enabled,
 23049  // has failed because the cluster contains one or more disconnected hosts.
 23050  type DisconnectedHostsBlockingEVC struct {
 23051  	EVCConfigFault
 23052  }
 23053  
 23054  func init() {
 23055  	t["DisconnectedHostsBlockingEVC"] = reflect.TypeOf((*DisconnectedHostsBlockingEVC)(nil)).Elem()
 23056  	minAPIVersionForType["DisconnectedHostsBlockingEVC"] = "2.5u2"
 23057  }
 23058  
 23059  type DisconnectedHostsBlockingEVCFault DisconnectedHostsBlockingEVC
 23060  
 23061  func init() {
 23062  	t["DisconnectedHostsBlockingEVCFault"] = reflect.TypeOf((*DisconnectedHostsBlockingEVCFault)(nil)).Elem()
 23063  }
 23064  
 23065  type DiscoverFcoeHbas DiscoverFcoeHbasRequestType
 23066  
 23067  func init() {
 23068  	t["DiscoverFcoeHbas"] = reflect.TypeOf((*DiscoverFcoeHbas)(nil)).Elem()
 23069  }
 23070  
 23071  // The parameters of `HostStorageSystem.DiscoverFcoeHbas`.
 23072  type DiscoverFcoeHbasRequestType struct {
 23073  	This     ManagedObjectReference      `xml:"_this" json:"-"`
 23074  	FcoeSpec FcoeConfigFcoeSpecification `xml:"fcoeSpec" json:"fcoeSpec"`
 23075  }
 23076  
 23077  func init() {
 23078  	t["DiscoverFcoeHbasRequestType"] = reflect.TypeOf((*DiscoverFcoeHbasRequestType)(nil)).Elem()
 23079  }
 23080  
 23081  type DiscoverFcoeHbasResponse struct {
 23082  }
 23083  
 23084  type DiscoverNvmeControllers DiscoverNvmeControllersRequestType
 23085  
 23086  func init() {
 23087  	t["DiscoverNvmeControllers"] = reflect.TypeOf((*DiscoverNvmeControllers)(nil)).Elem()
 23088  }
 23089  
 23090  // The parameters of `HostStorageSystem.DiscoverNvmeControllers`.
 23091  type DiscoverNvmeControllersRequestType struct {
 23092  	This ManagedObjectReference `xml:"_this" json:"-"`
 23093  	// A data object that specifies the parameters
 23094  	// necessary to retrieve the Discovery Log.
 23095  	DiscoverSpec HostNvmeDiscoverSpec `xml:"discoverSpec" json:"discoverSpec"`
 23096  }
 23097  
 23098  func init() {
 23099  	t["DiscoverNvmeControllersRequestType"] = reflect.TypeOf((*DiscoverNvmeControllersRequestType)(nil)).Elem()
 23100  }
 23101  
 23102  type DiscoverNvmeControllersResponse struct {
 23103  	Returnval HostNvmeDiscoveryLog `xml:"returnval" json:"returnval"`
 23104  }
 23105  
 23106  // An area of the disk flagged as modified
 23107  type DiskChangeExtent struct {
 23108  	DynamicData
 23109  
 23110  	// Start offset (in bytes) of modified area
 23111  	Start int64 `xml:"start" json:"start"`
 23112  	// Length (in bytes) of modified area
 23113  	Length int64 `xml:"length" json:"length"`
 23114  }
 23115  
 23116  func init() {
 23117  	t["DiskChangeExtent"] = reflect.TypeOf((*DiskChangeExtent)(nil)).Elem()
 23118  	minAPIVersionForType["DiskChangeExtent"] = "4.0"
 23119  }
 23120  
 23121  // Data structure to describe areas in a disk associated with this VM that have
 23122  // been modified since a well-defined point in the past.
 23123  //
 23124  // Returned by
 23125  // `VirtualMachine.QueryChangedDiskAreas`. This data structure describes
 23126  // a subset of the disk identified by startOffset and length. All areas that
 23127  // have been modified within this interval are listed under changedArea.
 23128  type DiskChangeInfo struct {
 23129  	DynamicData
 23130  
 23131  	// Start offset (in bytes) of disk area described by this data structure.
 23132  	StartOffset int64 `xml:"startOffset" json:"startOffset"`
 23133  	// Length (in bytes) of disk area described by this data structure.
 23134  	Length int64 `xml:"length" json:"length"`
 23135  	// Modified disk areas.
 23136  	//
 23137  	// Might be empty if no parts of the disk between
 23138  	// startOffset and startOffset + length were modified.
 23139  	ChangedArea []DiskChangeExtent `xml:"changedArea,omitempty" json:"changedArea,omitempty"`
 23140  }
 23141  
 23142  func init() {
 23143  	t["DiskChangeInfo"] = reflect.TypeOf((*DiskChangeInfo)(nil)).Elem()
 23144  	minAPIVersionForType["DiskChangeInfo"] = "4.0"
 23145  }
 23146  
 23147  // This data object type contains the crypto information of all disks along
 23148  // the chain
 23149  type DiskCryptoSpec struct {
 23150  	DynamicData
 23151  
 23152  	// The parent in the chain.
 23153  	Parent *DiskCryptoSpec `xml:"parent,omitempty" json:"parent,omitempty"`
 23154  	// Crypto information of the current disk.
 23155  	Crypto BaseCryptoSpec `xml:"crypto,typeattr" json:"crypto"`
 23156  }
 23157  
 23158  func init() {
 23159  	t["DiskCryptoSpec"] = reflect.TypeOf((*DiskCryptoSpec)(nil)).Elem()
 23160  	minAPIVersionForType["DiskCryptoSpec"] = "7.0"
 23161  }
 23162  
 23163  // Fault used for disks which have existing, non-VSAN partitions.
 23164  //
 23165  // See also `HostStorageSystem.UpdateDiskPartitions`, `HostVsanSystem.QueryDisksForVsan`.
 23166  type DiskHasPartitions struct {
 23167  	VsanDiskFault
 23168  }
 23169  
 23170  func init() {
 23171  	t["DiskHasPartitions"] = reflect.TypeOf((*DiskHasPartitions)(nil)).Elem()
 23172  	minAPIVersionForType["DiskHasPartitions"] = "5.5"
 23173  }
 23174  
 23175  type DiskHasPartitionsFault DiskHasPartitions
 23176  
 23177  func init() {
 23178  	t["DiskHasPartitionsFault"] = reflect.TypeOf((*DiskHasPartitionsFault)(nil)).Elem()
 23179  }
 23180  
 23181  // Fault thrown for the case that an attempt is made to delete the last
 23182  // `VsanHostDiskMapping.nonSsd` from a `VsanHostDiskMapping`.
 23183  //
 23184  // See also `HostVsanSystem.RemoveDisk_Task`, `HostVsanSystem.RemoveDiskMapping_Task`.
 23185  type DiskIsLastRemainingNonSSD struct {
 23186  	VsanDiskFault
 23187  }
 23188  
 23189  func init() {
 23190  	t["DiskIsLastRemainingNonSSD"] = reflect.TypeOf((*DiskIsLastRemainingNonSSD)(nil)).Elem()
 23191  	minAPIVersionForType["DiskIsLastRemainingNonSSD"] = "5.5"
 23192  }
 23193  
 23194  type DiskIsLastRemainingNonSSDFault DiskIsLastRemainingNonSSD
 23195  
 23196  func init() {
 23197  	t["DiskIsLastRemainingNonSSDFault"] = reflect.TypeOf((*DiskIsLastRemainingNonSSDFault)(nil)).Elem()
 23198  }
 23199  
 23200  // Fault used for disks which are ineligible for VSAN because they are
 23201  // considered non-local.
 23202  //
 23203  // See also `HostVsanSystem.QueryDisksForVsan`.
 23204  type DiskIsNonLocal struct {
 23205  	VsanDiskFault
 23206  }
 23207  
 23208  func init() {
 23209  	t["DiskIsNonLocal"] = reflect.TypeOf((*DiskIsNonLocal)(nil)).Elem()
 23210  	minAPIVersionForType["DiskIsNonLocal"] = "5.5"
 23211  }
 23212  
 23213  type DiskIsNonLocalFault DiskIsNonLocal
 23214  
 23215  func init() {
 23216  	t["DiskIsNonLocalFault"] = reflect.TypeOf((*DiskIsNonLocalFault)(nil)).Elem()
 23217  }
 23218  
 23219  // Fault used for disks which are ineligible for VSAN because they are USB
 23220  // disks.
 23221  //
 23222  // See also `HostVsanSystem.QueryDisksForVsan`.
 23223  type DiskIsUSB struct {
 23224  	VsanDiskFault
 23225  }
 23226  
 23227  func init() {
 23228  	t["DiskIsUSB"] = reflect.TypeOf((*DiskIsUSB)(nil)).Elem()
 23229  	minAPIVersionForType["DiskIsUSB"] = "5.5"
 23230  }
 23231  
 23232  type DiskIsUSBFault DiskIsUSB
 23233  
 23234  func init() {
 23235  	t["DiskIsUSBFault"] = reflect.TypeOf((*DiskIsUSBFault)(nil)).Elem()
 23236  }
 23237  
 23238  // Specifying non-standard disk movement types is not supported.
 23239  //
 23240  // See also `VirtualMachineRelocateSpec.diskMoveType`, `VirtualMachineRelocateSpecDiskLocator.diskMoveType`.
 23241  type DiskMoveTypeNotSupported struct {
 23242  	MigrationFault
 23243  }
 23244  
 23245  func init() {
 23246  	t["DiskMoveTypeNotSupported"] = reflect.TypeOf((*DiskMoveTypeNotSupported)(nil)).Elem()
 23247  	minAPIVersionForType["DiskMoveTypeNotSupported"] = "4.0"
 23248  }
 23249  
 23250  type DiskMoveTypeNotSupportedFault DiskMoveTypeNotSupported
 23251  
 23252  func init() {
 23253  	t["DiskMoveTypeNotSupportedFault"] = reflect.TypeOf((*DiskMoveTypeNotSupportedFault)(nil)).Elem()
 23254  }
 23255  
 23256  // The host does not support the backings for the disks specified by the virtual
 23257  // machine.
 23258  //
 23259  // For example, this fault is thrown if a virtual machine is created from
 23260  // a template that specifies backings that the host does not have. Similarly, this fault
 23261  // is thrown if a virtual machine is registered on a host that does not support the
 23262  // specified backings.
 23263  type DiskNotSupported struct {
 23264  	VirtualHardwareCompatibilityIssue
 23265  
 23266  	// The ID of disk that is not supported.
 23267  	Disk int32 `xml:"disk" json:"disk"`
 23268  }
 23269  
 23270  func init() {
 23271  	t["DiskNotSupported"] = reflect.TypeOf((*DiskNotSupported)(nil)).Elem()
 23272  }
 23273  
 23274  type DiskNotSupportedFault BaseDiskNotSupported
 23275  
 23276  func init() {
 23277  	t["DiskNotSupportedFault"] = reflect.TypeOf((*DiskNotSupportedFault)(nil)).Elem()
 23278  }
 23279  
 23280  // Fault used for disks which are too small for usage by VSAN.
 23281  type DiskTooSmall struct {
 23282  	VsanDiskFault
 23283  }
 23284  
 23285  func init() {
 23286  	t["DiskTooSmall"] = reflect.TypeOf((*DiskTooSmall)(nil)).Elem()
 23287  	minAPIVersionForType["DiskTooSmall"] = "5.5"
 23288  }
 23289  
 23290  type DiskTooSmallFault DiskTooSmall
 23291  
 23292  func init() {
 23293  	t["DiskTooSmallFault"] = reflect.TypeOf((*DiskTooSmallFault)(nil)).Elem()
 23294  }
 23295  
 23296  type DissociateProfile DissociateProfileRequestType
 23297  
 23298  func init() {
 23299  	t["DissociateProfile"] = reflect.TypeOf((*DissociateProfile)(nil)).Elem()
 23300  }
 23301  
 23302  // The parameters of `Profile.DissociateProfile`.
 23303  type DissociateProfileRequestType struct {
 23304  	This ManagedObjectReference `xml:"_this" json:"-"`
 23305  	// List of entities. The vCenter Server will remove the associations
 23306  	// that the profile has with the entities in the list. If unset,
 23307  	// the Server removes all the associations that the profile has with any
 23308  	// managed entities in the inventory.
 23309  	// If the specified entity is not associated with the profile,
 23310  	// the Server does not perform any action.
 23311  	//
 23312  	// Refers instances of `ManagedEntity`.
 23313  	Entity []ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 23314  }
 23315  
 23316  func init() {
 23317  	t["DissociateProfileRequestType"] = reflect.TypeOf((*DissociateProfileRequestType)(nil)).Elem()
 23318  }
 23319  
 23320  type DissociateProfileResponse struct {
 23321  }
 23322  
 23323  // The `DistributedVirtualPort` data object represents a port in a
 23324  // `DistributedVirtualSwitch`.
 23325  //
 23326  // Virtual ports are part of a distributed
 23327  // virtual portgroup. Servers create virtual ports according to the portgroup type
 23328  // (`DistributedVirtualPortgroup*.*DistributedVirtualPortgroup.config*.*DVPortgroupConfigInfo.type`).
 23329  // See `DistributedVirtualPortgroupPortgroupType_enum`.
 23330  //   - To configure host network access by port, set the distributed virtual port
 23331  //     in the host virtual NIC specification
 23332  //     (`HostVirtualNicSpec*.*HostVirtualNicSpec.distributedVirtualPort*.*DistributedVirtualSwitchPortConnection.portKey`).
 23333  //   - To configure virtual machine network access by port, set the port
 23334  //     in the virtual Ethernet card backing
 23335  //     (`VirtualEthernetCard*.*VirtualDevice.backing*.*VirtualEthernetCardDistributedVirtualPortBackingInfo.port*.*DistributedVirtualSwitchPortConnection.portKey`).
 23336  type DistributedVirtualPort struct {
 23337  	DynamicData
 23338  
 23339  	// Port key.
 23340  	Key string `xml:"key" json:"key"`
 23341  	// Port configuration, including identifying information, network
 23342  	// settings, and the set of entities that can connect to the port.
 23343  	Config DVPortConfigInfo `xml:"config" json:"config"`
 23344  	// UUID of the `DistributedVirtualSwitch` to which the port belongs.
 23345  	DvsUuid string `xml:"dvsUuid" json:"dvsUuid"`
 23346  	// Key of the portgroup `DistributedVirtualPortgroup` to which
 23347  	// the port belongs, if any.
 23348  	PortgroupKey string `xml:"portgroupKey,omitempty" json:"portgroupKey,omitempty"`
 23349  	// `HostSystem` that services this port.
 23350  	//
 23351  	// Refers instance of `HostSystem`.
 23352  	ProxyHost *ManagedObjectReference `xml:"proxyHost,omitempty" json:"proxyHost,omitempty"`
 23353  	// Entity that connects to the port.
 23354  	Connectee *DistributedVirtualSwitchPortConnectee `xml:"connectee,omitempty" json:"connectee,omitempty"`
 23355  	// Specifies whether the port is a conflict port.
 23356  	//
 23357  	// A port could be marked
 23358  	// as conflict if an entity is discovered connecting to a port that is
 23359  	// already occupied, or if the host creates a port without conferring
 23360  	// with vCenter Server.
 23361  	//
 23362  	// The distributed virtual switch does not persist the runtime state
 23363  	// of a conflict port. Also, the port cannot move away from the host.
 23364  	// vCenter Server will not move a virtual machine (VMotion) that is
 23365  	// using a conflict port.
 23366  	Conflict bool `xml:"conflict" json:"conflict"`
 23367  	// If the port is marked conflict in the case of two entities connecting to
 23368  	// the same port (see
 23369  	// `DistributedVirtualPort.conflict`), this is the
 23370  	// key of the port which the connected entity is contending for.
 23371  	ConflictPortKey string `xml:"conflictPortKey,omitempty" json:"conflictPortKey,omitempty"`
 23372  	// Runtime state of the port.
 23373  	State *DVPortState `xml:"state,omitempty" json:"state,omitempty"`
 23374  	// Cookie representing the current instance of association between a
 23375  	// port and a virtual or physical NIC.
 23376  	//
 23377  	// See `DistributedVirtualSwitchPortConnection`.
 23378  	// The same cookie is present in the physical or virtual NIC configuration
 23379  	// (`DistributedVirtualSwitchPortConnection*.*DistributedVirtualSwitchPortConnection.connectionCookie`)
 23380  	// so that the Server can verify that the entity is the rightful
 23381  	// connectee of the port.
 23382  	ConnectionCookie int32 `xml:"connectionCookie,omitempty" json:"connectionCookie,omitempty"`
 23383  	// The last time the
 23384  	// `DistributedVirtualPort.state*.*DVPortState.runtimeInfo`
 23385  	// value was changed.
 23386  	LastStatusChange time.Time `xml:"lastStatusChange" json:"lastStatusChange"`
 23387  	// Specifies whether the port is a host local port.
 23388  	//
 23389  	// A host local port is created
 23390  	// to resurrect the management network connection on a VMkernel virtual NIC.
 23391  	// You cannot use vCenter Server to reconfigure this port and you cannot
 23392  	// reassign the port.
 23393  	HostLocalPort *bool `xml:"hostLocalPort" json:"hostLocalPort,omitempty" vim:"5.1"`
 23394  	// Populate the Id assigned to vmknic or vnic by external management plane
 23395  	// to port, if the port is connected to the nics.
 23396  	ExternalId string `xml:"externalId,omitempty" json:"externalId,omitempty" vim:"7.0"`
 23397  	// Populate the segmentPortId assigned to LSP.
 23398  	SegmentPortId string `xml:"segmentPortId,omitempty" json:"segmentPortId,omitempty" vim:"7.0"`
 23399  }
 23400  
 23401  func init() {
 23402  	t["DistributedVirtualPort"] = reflect.TypeOf((*DistributedVirtualPort)(nil)).Elem()
 23403  	minAPIVersionForType["DistributedVirtualPort"] = "4.0"
 23404  }
 23405  
 23406  // This class describes a DistributedVirtualPortgroup that a device backing
 23407  // can be attached to.
 23408  type DistributedVirtualPortgroupInfo struct {
 23409  	DynamicData
 23410  
 23411  	// The name of the switch.
 23412  	SwitchName string `xml:"switchName" json:"switchName"`
 23413  	// The UUID of the switch.
 23414  	SwitchUuid string `xml:"switchUuid" json:"switchUuid"`
 23415  	// The name of the portgroup.
 23416  	PortgroupName string `xml:"portgroupName" json:"portgroupName"`
 23417  	// The key of the portgroup.
 23418  	PortgroupKey string `xml:"portgroupKey" json:"portgroupKey"`
 23419  	// The type of portgroup.
 23420  	//
 23421  	// See `DistributedVirtualPortgroupPortgroupType_enum`
 23422  	PortgroupType string `xml:"portgroupType" json:"portgroupType"`
 23423  	// Whether this portgroup is an uplink portgroup.
 23424  	UplinkPortgroup bool `xml:"uplinkPortgroup" json:"uplinkPortgroup"`
 23425  	// The portgroup.
 23426  	//
 23427  	// Refers instance of `DistributedVirtualPortgroup`.
 23428  	Portgroup ManagedObjectReference `xml:"portgroup" json:"portgroup"`
 23429  	// Indicates whether network bandwidth reservation is supported on
 23430  	// the portgroup
 23431  	NetworkReservationSupported *bool `xml:"networkReservationSupported" json:"networkReservationSupported,omitempty" vim:"6.0"`
 23432  	// Backing type of portgroup.
 23433  	//
 23434  	// See
 23435  	// `DistributedVirtualPortgroup*.*DistributedVirtualPortgroupBackingType_enum`
 23436  	// for possible values.
 23437  	// The default value is "standard".
 23438  	BackingType string `xml:"backingType,omitempty" json:"backingType,omitempty" vim:"7.0"`
 23439  	// The logical switch UUID, which is used by NSX portgroup
 23440  	LogicalSwitchUuid string `xml:"logicalSwitchUuid,omitempty" json:"logicalSwitchUuid,omitempty" vim:"7.0"`
 23441  	// The segment ID of logical switch, which is used by NSX portroup
 23442  	SegmentId string `xml:"segmentId,omitempty" json:"segmentId,omitempty" vim:"7.0"`
 23443  }
 23444  
 23445  func init() {
 23446  	t["DistributedVirtualPortgroupInfo"] = reflect.TypeOf((*DistributedVirtualPortgroupInfo)(nil)).Elem()
 23447  	minAPIVersionForType["DistributedVirtualPortgroupInfo"] = "4.0"
 23448  }
 23449  
 23450  // The `DistributedVirtualPortgroupNsxPortgroupOperationResult`
 23451  // data object defines the result of NSX port group operations, including
 23452  // create, reconfigure and delete.
 23453  type DistributedVirtualPortgroupNsxPortgroupOperationResult struct {
 23454  	DynamicData
 23455  
 23456  	// The management object of NSX port group.
 23457  	//
 23458  	// For add operation, it indicates the port groups created successfully.
 23459  	// For reconfigure operation, it indicates the port groups updated
 23460  	// successfully.
 23461  	// For delete operation, it indicates the port groups failed deleted.
 23462  	//
 23463  	// Refers instances of `DistributedVirtualPortgroup`.
 23464  	Portgroups []ManagedObjectReference `xml:"portgroups,omitempty" json:"portgroups,omitempty"`
 23465  	// The failed port group operation details.
 23466  	Problems []DistributedVirtualPortgroupProblem `xml:"problems,omitempty" json:"problems,omitempty"`
 23467  }
 23468  
 23469  func init() {
 23470  	t["DistributedVirtualPortgroupNsxPortgroupOperationResult"] = reflect.TypeOf((*DistributedVirtualPortgroupNsxPortgroupOperationResult)(nil)).Elem()
 23471  	minAPIVersionForType["DistributedVirtualPortgroupNsxPortgroupOperationResult"] = "7.0"
 23472  }
 23473  
 23474  // The `DistributedVirtualPortgroupProblem`
 23475  // data object defines the error while excuting NSX port group operations.
 23476  type DistributedVirtualPortgroupProblem struct {
 23477  	DynamicData
 23478  
 23479  	// The problematic logical switch UUID
 23480  	LogicalSwitchUuid string `xml:"logicalSwitchUuid" json:"logicalSwitchUuid"`
 23481  	// The failure reason for each problematic logical switch UUID
 23482  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 23483  }
 23484  
 23485  func init() {
 23486  	t["DistributedVirtualPortgroupProblem"] = reflect.TypeOf((*DistributedVirtualPortgroupProblem)(nil)).Elem()
 23487  	minAPIVersionForType["DistributedVirtualPortgroupProblem"] = "7.0"
 23488  }
 23489  
 23490  // The `DistributedVirtualSwitchHostMember` data object represents an ESXi host that
 23491  // is a member of a distributed virtual switch.
 23492  //
 23493  // When you add a host to a switch
 23494  // (`DistributedVirtualSwitchHostMemberConfigSpec*.*DistributedVirtualSwitchHostMemberConfigSpec.host`),
 23495  // the Server creates a proxy switch (`HostProxySwitch`).
 23496  // The host member object contains information about the configuration
 23497  // and state of the proxy.
 23498  type DistributedVirtualSwitchHostMember struct {
 23499  	DynamicData
 23500  
 23501  	// Host member runtime state.
 23502  	RuntimeState *DistributedVirtualSwitchHostMemberRuntimeState `xml:"runtimeState,omitempty" json:"runtimeState,omitempty" vim:"5.0"`
 23503  	// Host member configuration.
 23504  	Config DistributedVirtualSwitchHostMemberConfigInfo `xml:"config" json:"config"`
 23505  	// Vendor, product and version information for the proxy switch
 23506  	// module.
 23507  	ProductInfo *DistributedVirtualSwitchProductSpec `xml:"productInfo,omitempty" json:"productInfo,omitempty"`
 23508  	// Port keys of the uplink ports created for the host member.
 23509  	//
 23510  	// These ports
 23511  	// will be deleted after the host leaves the switch.
 23512  	UplinkPortKey []string `xml:"uplinkPortKey,omitempty" json:"uplinkPortKey,omitempty"`
 23513  	// Deprecated as of vSphere API 5.1, use
 23514  	// `HostMemberRuntimeInfo*.*HostMemberRuntimeInfo.status` instead.
 23515  	//
 23516  	// The host DistributedVirtualSwitch component status.
 23517  	//
 23518  	// See
 23519  	// `HostComponentState` for valid values.
 23520  	Status string `xml:"status" json:"status"`
 23521  	// Deprecated as of vSphere API 5.1, use
 23522  	// `HostMemberRuntimeInfo*.*HostMemberRuntimeInfo.statusDetail` instead.
 23523  	//
 23524  	// Additional information regarding the host's current status.
 23525  	StatusDetail string `xml:"statusDetail,omitempty" json:"statusDetail,omitempty" vim:"4.1"`
 23526  }
 23527  
 23528  func init() {
 23529  	t["DistributedVirtualSwitchHostMember"] = reflect.TypeOf((*DistributedVirtualSwitchHostMember)(nil)).Elem()
 23530  	minAPIVersionForType["DistributedVirtualSwitchHostMember"] = "4.0"
 23531  }
 23532  
 23533  // Base class.
 23534  type DistributedVirtualSwitchHostMemberBacking struct {
 23535  	DynamicData
 23536  }
 23537  
 23538  func init() {
 23539  	t["DistributedVirtualSwitchHostMemberBacking"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberBacking)(nil)).Elem()
 23540  	minAPIVersionForType["DistributedVirtualSwitchHostMemberBacking"] = "4.0"
 23541  }
 23542  
 23543  // The `DistributedVirtualSwitchHostMemberConfigInfo` data object
 23544  // contains membership configuration information for the ESXi host.
 23545  type DistributedVirtualSwitchHostMemberConfigInfo struct {
 23546  	DynamicData
 23547  
 23548  	// ESXi host.
 23549  	//
 23550  	// This property should always be set unless the user's setting
 23551  	// does not have System.Read privilege on the object referred to
 23552  	// by this property.
 23553  	//
 23554  	// Refers instance of `HostSystem`.
 23555  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 23556  	// Maximum number of ports than can be created in the proxy switch.
 23557  	//
 23558  	// _ESXi 5.0 and earlier hosts_:
 23559  	// If you change the maximum number of ports, you must reboot
 23560  	// the host for the new value to take effect.
 23561  	MaxProxySwitchPorts int32 `xml:"maxProxySwitchPorts" json:"maxProxySwitchPorts"`
 23562  	// Opaque binary blob that stores vendor specific configuration.
 23563  	VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty" json:"vendorSpecificConfig,omitempty"`
 23564  	// Host membership backing, specifying physical NIC, portgroup, and port
 23565  	// bindings for the proxy switch.
 23566  	Backing BaseDistributedVirtualSwitchHostMemberBacking `xml:"backing,typeattr" json:"backing"`
 23567  	// Indicate whether the proxy switch is used by NSX on this particular
 23568  	// host member of the VDS.
 23569  	NsxSwitch *bool `xml:"nsxSwitch" json:"nsxSwitch,omitempty" vim:"7.0"`
 23570  	// Indicate if ENS is enabled for this particular host member of
 23571  	// the VDS.
 23572  	//
 23573  	// It is read only.
 23574  	EnsEnabled *bool `xml:"ensEnabled" json:"ensEnabled,omitempty" vim:"7.0"`
 23575  	// Indicate if ENS interrupt mode is enabled for this particular host
 23576  	// member of the VDS.
 23577  	//
 23578  	// It is read only.
 23579  	EnsInterruptEnabled *bool `xml:"ensInterruptEnabled" json:"ensInterruptEnabled,omitempty" vim:"7.0"`
 23580  	// Indicate which transport zones this host joins by this VDS.
 23581  	TransportZones []DistributedVirtualSwitchHostMemberTransportZoneInfo `xml:"transportZones,omitempty" json:"transportZones,omitempty" vim:"7.0"`
 23582  	// Indicate which uplink ports are used by NSX-T.
 23583  	NsxtUsedUplinkNames []string `xml:"nsxtUsedUplinkNames,omitempty" json:"nsxtUsedUplinkNames,omitempty" vim:"7.0"`
 23584  	// Indicate if network offloading is enabled for this particular host
 23585  	// member of the VDS.
 23586  	//
 23587  	// Unset implies that network offloading is disabled.
 23588  	NetworkOffloadingEnabled *bool `xml:"networkOffloadingEnabled" json:"networkOffloadingEnabled,omitempty" vim:"8.0.0.1"`
 23589  }
 23590  
 23591  func init() {
 23592  	t["DistributedVirtualSwitchHostMemberConfigInfo"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberConfigInfo)(nil)).Elem()
 23593  	minAPIVersionForType["DistributedVirtualSwitchHostMemberConfigInfo"] = "4.0"
 23594  }
 23595  
 23596  // Specification to create or reconfigure ESXi host membership
 23597  // in a `DistributedVirtualSwitch`.
 23598  type DistributedVirtualSwitchHostMemberConfigSpec struct {
 23599  	DynamicData
 23600  
 23601  	// Host member operation type.
 23602  	//
 23603  	// See
 23604  	// `ConfigSpecOperation_enum` for valid values.
 23605  	Operation string `xml:"operation" json:"operation"`
 23606  	// Identifies a host member of a `DistributedVirtualSwitch`
 23607  	// for a `Folder.CreateDVS_Task` or
 23608  	// `DistributedVirtualSwitch*.*DistributedVirtualSwitch.ReconfigureDvs_Task` operation.
 23609  	//
 23610  	// Refers instance of `HostSystem`.
 23611  	Host ManagedObjectReference `xml:"host" json:"host"`
 23612  	// Specifies the physical NICs to use as backing for the proxy switch
 23613  	// on the host.
 23614  	Backing BaseDistributedVirtualSwitchHostMemberBacking `xml:"backing,omitempty,typeattr" json:"backing,omitempty"`
 23615  	// Maximum number of ports allowed in the `HostProxySwitch`.
 23616  	//
 23617  	// _ESXi 5.0 and earlier hosts_: If you are reconfiguring an existing
 23618  	// host membership, that is, the proxy switch already exists, you must reboot
 23619  	// the host for the new setting to take effect.
 23620  	MaxProxySwitchPorts int32 `xml:"maxProxySwitchPorts,omitempty" json:"maxProxySwitchPorts,omitempty"`
 23621  	// Opaque binary blob that stores vendor specific configuration.
 23622  	VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty" json:"vendorSpecificConfig,omitempty"`
 23623  }
 23624  
 23625  func init() {
 23626  	t["DistributedVirtualSwitchHostMemberConfigSpec"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberConfigSpec)(nil)).Elem()
 23627  	minAPIVersionForType["DistributedVirtualSwitchHostMemberConfigSpec"] = "4.0"
 23628  }
 23629  
 23630  // The `DistributedVirtualSwitchHostMemberPnicBacking` data object
 23631  // specifies a set of physical NICs to use for a proxy switch.
 23632  //
 23633  // When you add a host to a distributed virtual switch
 23634  // (`DistributedVirtualSwitchHostMemberConfigSpec*.*DistributedVirtualSwitchHostMemberConfigSpec.host`),
 23635  // the host creates a proxy switch that will use the pNICs as uplinks.
 23636  type DistributedVirtualSwitchHostMemberPnicBacking struct {
 23637  	DistributedVirtualSwitchHostMemberBacking
 23638  
 23639  	// List of physical NIC specifications.
 23640  	//
 23641  	// Each entry identifies
 23642  	// a pNIC to the proxy switch and optionally specifies uplink
 23643  	// portgroup and port connections for the pNIC.
 23644  	PnicSpec []DistributedVirtualSwitchHostMemberPnicSpec `xml:"pnicSpec,omitempty" json:"pnicSpec,omitempty"`
 23645  }
 23646  
 23647  func init() {
 23648  	t["DistributedVirtualSwitchHostMemberPnicBacking"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberPnicBacking)(nil)).Elem()
 23649  	minAPIVersionForType["DistributedVirtualSwitchHostMemberPnicBacking"] = "4.0"
 23650  }
 23651  
 23652  // Specification for an individual physical NIC.
 23653  type DistributedVirtualSwitchHostMemberPnicSpec struct {
 23654  	DynamicData
 23655  
 23656  	// Name of the physical NIC to be added to the proxy switch.
 23657  	//
 23658  	// See `PhysicalNic*.*PhysicalNic.device`.
 23659  	PnicDevice string `xml:"pnicDevice" json:"pnicDevice"`
 23660  	// Key of the port to be connected to the physical NIC.
 23661  	UplinkPortKey string `xml:"uplinkPortKey,omitempty" json:"uplinkPortKey,omitempty"`
 23662  	// Key of the portgroup to be connected to the physical NIC.
 23663  	UplinkPortgroupKey string `xml:"uplinkPortgroupKey,omitempty" json:"uplinkPortgroupKey,omitempty"`
 23664  	// Cookie that represents this `DistributedVirtualSwitchPortConnection`
 23665  	// instance for the port.
 23666  	//
 23667  	// The cookie value is generated by the
 23668  	// Server. The Server ignores any value set by an SDK client.
 23669  	//
 23670  	// The same cookie is present in the distributed virtual port configuration
 23671  	// (`DistributedVirtualPort*.*DistributedVirtualPort.connectionCookie`)
 23672  	// so that the Server can verify that the entity is the rightful
 23673  	// connectee of the port.
 23674  	ConnectionCookie int32 `xml:"connectionCookie,omitempty" json:"connectionCookie,omitempty"`
 23675  }
 23676  
 23677  func init() {
 23678  	t["DistributedVirtualSwitchHostMemberPnicSpec"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberPnicSpec)(nil)).Elem()
 23679  	minAPIVersionForType["DistributedVirtualSwitchHostMemberPnicSpec"] = "4.0"
 23680  }
 23681  
 23682  // Runtime state of a host member.
 23683  type DistributedVirtualSwitchHostMemberRuntimeState struct {
 23684  	DynamicData
 23685  
 23686  	// Current maximum number of ports allowed to be created in the
 23687  	// proxy switch.
 23688  	CurrentMaxProxySwitchPorts int32 `xml:"currentMaxProxySwitchPorts" json:"currentMaxProxySwitchPorts"`
 23689  }
 23690  
 23691  func init() {
 23692  	t["DistributedVirtualSwitchHostMemberRuntimeState"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberRuntimeState)(nil)).Elem()
 23693  	minAPIVersionForType["DistributedVirtualSwitchHostMemberRuntimeState"] = "5.0"
 23694  }
 23695  
 23696  // Transport zone information.
 23697  type DistributedVirtualSwitchHostMemberTransportZoneInfo struct {
 23698  	DynamicData
 23699  
 23700  	// The UUID of transport zone.
 23701  	Uuid string `xml:"uuid" json:"uuid"`
 23702  	// The type of transport zone.
 23703  	//
 23704  	// See `DistributedVirtualSwitchHostMemberTransportZoneType_enum` for valid values.
 23705  	Type string `xml:"type" json:"type"`
 23706  }
 23707  
 23708  func init() {
 23709  	t["DistributedVirtualSwitchHostMemberTransportZoneInfo"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberTransportZoneInfo)(nil)).Elem()
 23710  	minAPIVersionForType["DistributedVirtualSwitchHostMemberTransportZoneInfo"] = "7.0"
 23711  }
 23712  
 23713  // This data object type is a subset of `AboutInfo`.
 23714  //
 23715  // An object of
 23716  // this type can be used to describe the specification for a host.
 23717  type DistributedVirtualSwitchHostProductSpec struct {
 23718  	DynamicData
 23719  
 23720  	// The product-line name.
 23721  	ProductLineId string `xml:"productLineId,omitempty" json:"productLineId,omitempty"`
 23722  	// Dot-separated version string.
 23723  	//
 23724  	// For example, "1.2".
 23725  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 23726  }
 23727  
 23728  func init() {
 23729  	t["DistributedVirtualSwitchHostProductSpec"] = reflect.TypeOf((*DistributedVirtualSwitchHostProductSpec)(nil)).Elem()
 23730  	minAPIVersionForType["DistributedVirtualSwitchHostProductSpec"] = "4.0"
 23731  }
 23732  
 23733  // This class describes a DistributedVirtualSwitch that a device backing
 23734  // can attached to its ports.
 23735  type DistributedVirtualSwitchInfo struct {
 23736  	DynamicData
 23737  
 23738  	// The name of the switch.
 23739  	SwitchName string `xml:"switchName" json:"switchName"`
 23740  	// The UUID of the switch.
 23741  	SwitchUuid string `xml:"switchUuid" json:"switchUuid"`
 23742  	// The switch.
 23743  	//
 23744  	// Refers instance of `DistributedVirtualSwitch`.
 23745  	DistributedVirtualSwitch ManagedObjectReference `xml:"distributedVirtualSwitch" json:"distributedVirtualSwitch"`
 23746  	// Indicates whether network bandwidth reservation is supported on
 23747  	// the switch
 23748  	NetworkReservationSupported *bool `xml:"networkReservationSupported" json:"networkReservationSupported,omitempty" vim:"6.0"`
 23749  }
 23750  
 23751  func init() {
 23752  	t["DistributedVirtualSwitchInfo"] = reflect.TypeOf((*DistributedVirtualSwitchInfo)(nil)).Elem()
 23753  	minAPIVersionForType["DistributedVirtualSwitchInfo"] = "4.0"
 23754  }
 23755  
 23756  // This class defines a data structure to hold opaque binary data
 23757  // identified by a key.
 23758  type DistributedVirtualSwitchKeyedOpaqueBlob struct {
 23759  	DynamicData
 23760  
 23761  	// A key that identifies the opaque binary blob.
 23762  	Key string `xml:"key" json:"key"`
 23763  	// The opaque data.
 23764  	//
 23765  	// It is recommended that base64 encoding be used for binary
 23766  	// data.
 23767  	OpaqueData string `xml:"opaqueData" json:"opaqueData"`
 23768  }
 23769  
 23770  func init() {
 23771  	t["DistributedVirtualSwitchKeyedOpaqueBlob"] = reflect.TypeOf((*DistributedVirtualSwitchKeyedOpaqueBlob)(nil)).Elem()
 23772  	minAPIVersionForType["DistributedVirtualSwitchKeyedOpaqueBlob"] = "4.0"
 23773  }
 23774  
 23775  // This is the return type for the checkCompatibility method.
 23776  //
 23777  // This object
 23778  // has a host property and optionally a fault which would
 23779  // be populated only if that host is not compatible with a given dvsProductSpec.
 23780  // If the host is compatible then the error property would be unset.
 23781  type DistributedVirtualSwitchManagerCompatibilityResult struct {
 23782  	DynamicData
 23783  
 23784  	// The host for which results are annotated.
 23785  	//
 23786  	// The whole object will be
 23787  	// filtered out if the caller did not have view permissions on the
 23788  	// host entity.
 23789  	//
 23790  	// Refers instance of `HostSystem`.
 23791  	Host ManagedObjectReference `xml:"host" json:"host"`
 23792  	// This property contains the faults that makes the host not compatible
 23793  	// with a given DvsProductSpec.
 23794  	//
 23795  	// For example, a host might not be compatible
 23796  	// because it's an older version of ESX that doesn't support DVS.
 23797  	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 23798  }
 23799  
 23800  func init() {
 23801  	t["DistributedVirtualSwitchManagerCompatibilityResult"] = reflect.TypeOf((*DistributedVirtualSwitchManagerCompatibilityResult)(nil)).Elem()
 23802  	minAPIVersionForType["DistributedVirtualSwitchManagerCompatibilityResult"] = "4.1"
 23803  }
 23804  
 23805  // This class is used to specify ProductSpec for the DVS.
 23806  //
 23807  // The two properties are
 23808  // strictly mutually exclusive. If both properties are set, then
 23809  // an InvalidArgument fault would be thrown.
 23810  type DistributedVirtualSwitchManagerDvsProductSpec struct {
 23811  	DynamicData
 23812  
 23813  	// The ProductSpec for new DVS
 23814  	NewSwitchProductSpec *DistributedVirtualSwitchProductSpec `xml:"newSwitchProductSpec,omitempty" json:"newSwitchProductSpec,omitempty"`
 23815  	// Get ProductSpec from the existing DVS
 23816  	//
 23817  	// Refers instance of `DistributedVirtualSwitch`.
 23818  	DistributedVirtualSwitch *ManagedObjectReference `xml:"distributedVirtualSwitch,omitempty" json:"distributedVirtualSwitch,omitempty"`
 23819  }
 23820  
 23821  func init() {
 23822  	t["DistributedVirtualSwitchManagerDvsProductSpec"] = reflect.TypeOf((*DistributedVirtualSwitchManagerDvsProductSpec)(nil)).Elem()
 23823  	minAPIVersionForType["DistributedVirtualSwitchManagerDvsProductSpec"] = "4.1"
 23824  }
 23825  
 23826  // Check host compatibility against all hosts specified in the array.
 23827  type DistributedVirtualSwitchManagerHostArrayFilter struct {
 23828  	DistributedVirtualSwitchManagerHostDvsFilterSpec
 23829  
 23830  	// List of hosts to consider.
 23831  	//
 23832  	// Refers instances of `HostSystem`.
 23833  	Host []ManagedObjectReference `xml:"host" json:"host"`
 23834  }
 23835  
 23836  func init() {
 23837  	t["DistributedVirtualSwitchManagerHostArrayFilter"] = reflect.TypeOf((*DistributedVirtualSwitchManagerHostArrayFilter)(nil)).Elem()
 23838  	minAPIVersionForType["DistributedVirtualSwitchManagerHostArrayFilter"] = "4.1"
 23839  }
 23840  
 23841  // Check host compatibility for all hosts in the container.
 23842  //
 23843  // If the recursive
 23844  // flag is true, then check hosts at all levels within this container, otherwise
 23845  // check only at the container level. In case of container being a `Datacenter`,
 23846  // the recursive flag is applied to its HostFolder.
 23847  type DistributedVirtualSwitchManagerHostContainer struct {
 23848  	DynamicData
 23849  
 23850  	// Check compatibility of hosts in this container.
 23851  	//
 23852  	// The supported container
 23853  	// types are Datacenter, Folder, and ComputeResource.
 23854  	//
 23855  	// Refers instance of `ManagedEntity`.
 23856  	Container ManagedObjectReference `xml:"container" json:"container"`
 23857  	// If true, include hosts of all levels in the hierarchy with
 23858  	// container as root of the tree.
 23859  	//
 23860  	// In case of container being a `Datacenter`,
 23861  	// the recursive flag is applied to its HostFolder.
 23862  	Recursive bool `xml:"recursive" json:"recursive"`
 23863  }
 23864  
 23865  func init() {
 23866  	t["DistributedVirtualSwitchManagerHostContainer"] = reflect.TypeOf((*DistributedVirtualSwitchManagerHostContainer)(nil)).Elem()
 23867  	minAPIVersionForType["DistributedVirtualSwitchManagerHostContainer"] = "4.1"
 23868  }
 23869  
 23870  // Check host compatibility against all hosts in this
 23871  // `DistributedVirtualSwitchManagerHostContainer`
 23872  type DistributedVirtualSwitchManagerHostContainerFilter struct {
 23873  	DistributedVirtualSwitchManagerHostDvsFilterSpec
 23874  
 23875  	// Container of hosts that are part of the filter.
 23876  	HostContainer DistributedVirtualSwitchManagerHostContainer `xml:"hostContainer" json:"hostContainer"`
 23877  }
 23878  
 23879  func init() {
 23880  	t["DistributedVirtualSwitchManagerHostContainerFilter"] = reflect.TypeOf((*DistributedVirtualSwitchManagerHostContainerFilter)(nil)).Elem()
 23881  	minAPIVersionForType["DistributedVirtualSwitchManagerHostContainerFilter"] = "4.1"
 23882  }
 23883  
 23884  // Base class for filters to check host compatibility.
 23885  type DistributedVirtualSwitchManagerHostDvsFilterSpec struct {
 23886  	DynamicData
 23887  
 23888  	// If this flag is true, then the filter returns the hosts in the
 23889  	// `DistributedVirtualSwitchManagerHostContainer`
 23890  	// that satisfy the criteria specified by this filter, otherwise
 23891  	// it returns hosts that don't meet the criteria.
 23892  	Inclusive bool `xml:"inclusive" json:"inclusive"`
 23893  }
 23894  
 23895  func init() {
 23896  	t["DistributedVirtualSwitchManagerHostDvsFilterSpec"] = reflect.TypeOf((*DistributedVirtualSwitchManagerHostDvsFilterSpec)(nil)).Elem()
 23897  	minAPIVersionForType["DistributedVirtualSwitchManagerHostDvsFilterSpec"] = "4.1"
 23898  }
 23899  
 23900  // Check host compatibility against all hosts in the DVS (or not in the DVS if
 23901  // inclusive flag in base class is false)
 23902  type DistributedVirtualSwitchManagerHostDvsMembershipFilter struct {
 23903  	DistributedVirtualSwitchManagerHostDvsFilterSpec
 23904  
 23905  	DistributedVirtualSwitch ManagedObjectReference `xml:"distributedVirtualSwitch" json:"distributedVirtualSwitch"`
 23906  }
 23907  
 23908  func init() {
 23909  	t["DistributedVirtualSwitchManagerHostDvsMembershipFilter"] = reflect.TypeOf((*DistributedVirtualSwitchManagerHostDvsMembershipFilter)(nil)).Elem()
 23910  	minAPIVersionForType["DistributedVirtualSwitchManagerHostDvsMembershipFilter"] = "4.1"
 23911  }
 23912  
 23913  // The `DistributedVirtualSwitchManagerImportResult`
 23914  // data object represents the results of a
 23915  // `DistributedVirtualSwitchManager.DVSManagerImportEntity_Task`
 23916  // operation.
 23917  //
 23918  // It contains lists of the switches and portgroups
 23919  // that were created. It also contains a list of faults
 23920  // that occurred during the operation.
 23921  type DistributedVirtualSwitchManagerImportResult struct {
 23922  	DynamicData
 23923  
 23924  	// List of distributed virtual switches.
 23925  	//
 23926  	// Refers instances of `DistributedVirtualSwitch`.
 23927  	DistributedVirtualSwitch []ManagedObjectReference `xml:"distributedVirtualSwitch,omitempty" json:"distributedVirtualSwitch,omitempty"`
 23928  	// List of distributed virtual portgroups.
 23929  	//
 23930  	// Refers instances of `DistributedVirtualPortgroup`.
 23931  	DistributedVirtualPortgroup []ManagedObjectReference `xml:"distributedVirtualPortgroup,omitempty" json:"distributedVirtualPortgroup,omitempty"`
 23932  	// Faults that occurred on the entities during the import operation.
 23933  	ImportFault []ImportOperationBulkFaultFaultOnImport `xml:"importFault,omitempty" json:"importFault,omitempty"`
 23934  }
 23935  
 23936  func init() {
 23937  	t["DistributedVirtualSwitchManagerImportResult"] = reflect.TypeOf((*DistributedVirtualSwitchManagerImportResult)(nil)).Elem()
 23938  	minAPIVersionForType["DistributedVirtualSwitchManagerImportResult"] = "5.1"
 23939  }
 23940  
 23941  // Describe the network offload specification of a
 23942  // `VmwareDistributedVirtualSwitch`.
 23943  type DistributedVirtualSwitchNetworkOffloadSpec struct {
 23944  	DynamicData
 23945  
 23946  	// Identifier of the specification.
 23947  	Id string `xml:"id" json:"id"`
 23948  	// Name of the specification.
 23949  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 23950  	// DPU types supported in the specification.
 23951  	Types []string `xml:"types,omitempty" json:"types,omitempty"`
 23952  }
 23953  
 23954  func init() {
 23955  	t["DistributedVirtualSwitchNetworkOffloadSpec"] = reflect.TypeOf((*DistributedVirtualSwitchNetworkOffloadSpec)(nil)).Elem()
 23956  	minAPIVersionForType["DistributedVirtualSwitchNetworkOffloadSpec"] = "8.0.0.1"
 23957  }
 23958  
 23959  // Information about the entity that connects to a DistributedVirtualPort.
 23960  type DistributedVirtualSwitchPortConnectee struct {
 23961  	DynamicData
 23962  
 23963  	// The connected entity.
 23964  	//
 23965  	// This property should always be set unless the user's setting
 23966  	// does not have System.Read privilege on the object referred to
 23967  	// by this property.
 23968  	//
 23969  	// Refers instance of `ManagedEntity`.
 23970  	ConnectedEntity *ManagedObjectReference `xml:"connectedEntity,omitempty" json:"connectedEntity,omitempty"`
 23971  	// The key of the virtual NIC that connects to this port.
 23972  	NicKey string `xml:"nicKey,omitempty" json:"nicKey,omitempty"`
 23973  	// The type of the connectee.
 23974  	//
 23975  	// See `ConnecteeType` for valid values.
 23976  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 23977  	// A hint on address information of the NIC that connects to this port.
 23978  	AddressHint string `xml:"addressHint,omitempty" json:"addressHint,omitempty"`
 23979  }
 23980  
 23981  func init() {
 23982  	t["DistributedVirtualSwitchPortConnectee"] = reflect.TypeOf((*DistributedVirtualSwitchPortConnectee)(nil)).Elem()
 23983  	minAPIVersionForType["DistributedVirtualSwitchPortConnectee"] = "4.0"
 23984  }
 23985  
 23986  // The `DistributedVirtualSwitchPortConnection` data object represents a connection
 23987  // or association between a `DistributedVirtualPortgroup` or a
 23988  // `DistributedVirtualPort` and one of the following entities:
 23989  //   - Virtual machine virtual NIC
 23990  //     (`VirtualEthernetCardDistributedVirtualPortBackingInfo`)
 23991  //   - Host virtual NIC (`HostVirtualNic`)
 23992  //   - Physical NIC (`HostNetworkInfo*.*HostNetworkInfo.pnic`)
 23993  type DistributedVirtualSwitchPortConnection struct {
 23994  	DynamicData
 23995  
 23996  	// UUID of the switch (`DistributedVirtualSwitch*.*DistributedVirtualSwitch.uuid`).
 23997  	SwitchUuid string `xml:"switchUuid" json:"switchUuid"`
 23998  	// Key of the portgroup.
 23999  	//
 24000  	// If specified, the connection object represents a connection
 24001  	// or an association between a `DistributedVirtualPortgroup`
 24002  	// and a Virtual NIC or physical NIC.
 24003  	// In this case, setting the `DistributedVirtualSwitchPortConnection.portKey` is not necessary for a
 24004  	// early-binding portgroup and is not allowed for a late-binding portgroup.
 24005  	// The `DistributedVirtualSwitchPortConnection.portKey` property will be populated by the implementation
 24006  	// at the time of port binding.
 24007  	PortgroupKey string `xml:"portgroupKey,omitempty" json:"portgroupKey,omitempty"`
 24008  	// Key of the port.
 24009  	//
 24010  	// If specified, this object represents a connection
 24011  	// or an association between an individual `DistributedVirtualPort`
 24012  	// and a Virtual NIC or physical NIC. See `DistributedVirtualSwitchPortConnection.portgroupKey` for more information on populating
 24013  	// this property.
 24014  	PortKey string `xml:"portKey,omitempty" json:"portKey,omitempty"`
 24015  	// Cookie that represents this `DistributedVirtualSwitchPortConnection`
 24016  	// instance for the port.
 24017  	//
 24018  	// The cookie value is generated by the
 24019  	// Server. The Server ignores any value set by an SDK client.
 24020  	//
 24021  	// The same cookie is present in the distributed virtual port configuration
 24022  	// (`DistributedVirtualPort*.*DistributedVirtualPort.connectionCookie`)
 24023  	// so that the Server can verify that the entity is the rightful
 24024  	// connectee of the port.
 24025  	ConnectionCookie int32 `xml:"connectionCookie,omitempty" json:"connectionCookie,omitempty"`
 24026  }
 24027  
 24028  func init() {
 24029  	t["DistributedVirtualSwitchPortConnection"] = reflect.TypeOf((*DistributedVirtualSwitchPortConnection)(nil)).Elem()
 24030  	minAPIVersionForType["DistributedVirtualSwitchPortConnection"] = "4.0"
 24031  }
 24032  
 24033  // The criteria specification for selecting ports.
 24034  type DistributedVirtualSwitchPortCriteria struct {
 24035  	DynamicData
 24036  
 24037  	// If set, only the connected ports are qualified.
 24038  	Connected *bool `xml:"connected" json:"connected,omitempty"`
 24039  	// If set, only the active ports are qualified.
 24040  	Active *bool `xml:"active" json:"active,omitempty"`
 24041  	// If set to true, only the uplink ports are qualified.
 24042  	//
 24043  	// If set to false, only
 24044  	// non-uplink ports are qualified.
 24045  	UplinkPort *bool `xml:"uplinkPort" json:"uplinkPort,omitempty"`
 24046  	// If set to true, only the NSX ports are qualified.
 24047  	//
 24048  	// If set to false, only
 24049  	// non-NSX ports are qualified.
 24050  	// NSX ports are ports of NSX port group.
 24051  	NsxPort *bool `xml:"nsxPort" json:"nsxPort,omitempty" vim:"7.0"`
 24052  	// Deprecated as of vSphere API 5.5.
 24053  	//
 24054  	// If set, only the ports of which the scope covers the entity are
 24055  	// qualified.
 24056  	//
 24057  	// Refers instance of `ManagedEntity`.
 24058  	Scope *ManagedObjectReference `xml:"scope,omitempty" json:"scope,omitempty"`
 24059  	// The keys of the portgroup that is used for the scope of `DistributedVirtualSwitchPortCriteria.inside`.
 24060  	//
 24061  	// If this property is unset, it means any portgroup. If `DistributedVirtualSwitchPortCriteria.inside`
 24062  	// is unset, this property is ignored.
 24063  	PortgroupKey []string `xml:"portgroupKey,omitempty" json:"portgroupKey,omitempty"`
 24064  	// If unset, all ports in the switch are qualified.
 24065  	//
 24066  	// If set to true, only ports inside `DistributedVirtualSwitchPortCriteria.portgroupKey` or any
 24067  	// portgroup, if not set, are qualified.
 24068  	// If set to false, only ports outside `DistributedVirtualSwitchPortCriteria.portgroupKey` or any
 24069  	// portgroup, if not set, are qualified.
 24070  	Inside *bool `xml:"inside" json:"inside,omitempty"`
 24071  	// If set, only the ports of which the key is in the array are
 24072  	// qualified.
 24073  	PortKey []string `xml:"portKey,omitempty" json:"portKey,omitempty"`
 24074  	// If set, only the ports that are present in one of the host are qualified.
 24075  	//
 24076  	// Refers instances of `HostSystem`.
 24077  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty" vim:"6.5"`
 24078  }
 24079  
 24080  func init() {
 24081  	t["DistributedVirtualSwitchPortCriteria"] = reflect.TypeOf((*DistributedVirtualSwitchPortCriteria)(nil)).Elem()
 24082  	minAPIVersionForType["DistributedVirtualSwitchPortCriteria"] = "4.0"
 24083  }
 24084  
 24085  // Statistic data of a DistributedVirtualPort.
 24086  type DistributedVirtualSwitchPortStatistics struct {
 24087  	DynamicData
 24088  
 24089  	// The number of multicast packets received.
 24090  	PacketsInMulticast int64 `xml:"packetsInMulticast" json:"packetsInMulticast"`
 24091  	// The number of multicast packets forwarded.
 24092  	PacketsOutMulticast int64 `xml:"packetsOutMulticast" json:"packetsOutMulticast"`
 24093  	// The number of bytes received from multicast packets.
 24094  	BytesInMulticast int64 `xml:"bytesInMulticast" json:"bytesInMulticast"`
 24095  	// The number of bytes forwarded from multicast packets.
 24096  	BytesOutMulticast int64 `xml:"bytesOutMulticast" json:"bytesOutMulticast"`
 24097  	// The number of unicast packets received.
 24098  	PacketsInUnicast int64 `xml:"packetsInUnicast" json:"packetsInUnicast"`
 24099  	// The number of unicast packets forwarded.
 24100  	PacketsOutUnicast int64 `xml:"packetsOutUnicast" json:"packetsOutUnicast"`
 24101  	// The number of bytes received from unicast packets.
 24102  	BytesInUnicast int64 `xml:"bytesInUnicast" json:"bytesInUnicast"`
 24103  	// The number of bytes forwarded from unicast packets.
 24104  	BytesOutUnicast int64 `xml:"bytesOutUnicast" json:"bytesOutUnicast"`
 24105  	// The number of broadcast packets received.
 24106  	PacketsInBroadcast int64 `xml:"packetsInBroadcast" json:"packetsInBroadcast"`
 24107  	// The number of broadcast packets forwarded.
 24108  	PacketsOutBroadcast int64 `xml:"packetsOutBroadcast" json:"packetsOutBroadcast"`
 24109  	// The number of bytes received from broadcast packets.
 24110  	BytesInBroadcast int64 `xml:"bytesInBroadcast" json:"bytesInBroadcast"`
 24111  	// The number of bytes forwarded from broadcast packets.
 24112  	BytesOutBroadcast int64 `xml:"bytesOutBroadcast" json:"bytesOutBroadcast"`
 24113  	// The number of received packets dropped.
 24114  	PacketsInDropped int64 `xml:"packetsInDropped" json:"packetsInDropped"`
 24115  	// The number of packets to be forwarded dropped.
 24116  	PacketsOutDropped int64 `xml:"packetsOutDropped" json:"packetsOutDropped"`
 24117  	// The number of packets received that cause an exception.
 24118  	PacketsInException int64 `xml:"packetsInException" json:"packetsInException"`
 24119  	// The number of packets to be forwarded that cause an exception.
 24120  	PacketsOutException int64 `xml:"packetsOutException" json:"packetsOutException"`
 24121  	// The number of bytes received at a pnic on the behalf of a port's
 24122  	// connectee (inter-host rx).
 24123  	BytesInFromPnic int64 `xml:"bytesInFromPnic,omitempty" json:"bytesInFromPnic,omitempty" vim:"6.5"`
 24124  	// The number of bytes transmitted at a pnic on the behalf of a port's
 24125  	// connectee (inter-host tx).
 24126  	BytesOutToPnic int64 `xml:"bytesOutToPnic,omitempty" json:"bytesOutToPnic,omitempty" vim:"6.5"`
 24127  }
 24128  
 24129  func init() {
 24130  	t["DistributedVirtualSwitchPortStatistics"] = reflect.TypeOf((*DistributedVirtualSwitchPortStatistics)(nil)).Elem()
 24131  	minAPIVersionForType["DistributedVirtualSwitchPortStatistics"] = "4.0"
 24132  }
 24133  
 24134  // This data object type is a subset of `AboutInfo`.
 24135  //
 24136  // An object of
 24137  // this type can be used to describe the specification for a proxy switch module
 24138  // of a `DistributedVirtualSwitch`.
 24139  type DistributedVirtualSwitchProductSpec struct {
 24140  	DynamicData
 24141  
 24142  	// Short form of the product name.
 24143  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 24144  	// Name of the vendor of this product.
 24145  	Vendor string `xml:"vendor,omitempty" json:"vendor,omitempty"`
 24146  	// Dot-separated version string.
 24147  	//
 24148  	// For example, "1.2".
 24149  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 24150  	// Build string for the server on which this call is made.
 24151  	//
 24152  	// For example, x.y.z-num.
 24153  	// This string does not apply to the API.
 24154  	Build string `xml:"build,omitempty" json:"build,omitempty"`
 24155  	// Forwarding class of the distributed virtual switch.
 24156  	ForwardingClass string `xml:"forwardingClass,omitempty" json:"forwardingClass,omitempty"`
 24157  	// The ID of the bundle if a host component bundle needs to be installed on
 24158  	// the host members to support the functionality of the switch.
 24159  	BundleId string `xml:"bundleId,omitempty" json:"bundleId,omitempty"`
 24160  	// The URL of the bundle that VMware Update Manager will use to install
 24161  	// the bundle on the host members, if `DistributedVirtualSwitchProductSpec.bundleId` is set.
 24162  	BundleUrl string `xml:"bundleUrl,omitempty" json:"bundleUrl,omitempty"`
 24163  }
 24164  
 24165  func init() {
 24166  	t["DistributedVirtualSwitchProductSpec"] = reflect.TypeOf((*DistributedVirtualSwitchProductSpec)(nil)).Elem()
 24167  	minAPIVersionForType["DistributedVirtualSwitchProductSpec"] = "4.0"
 24168  }
 24169  
 24170  type DoesCustomizationSpecExist DoesCustomizationSpecExistRequestType
 24171  
 24172  func init() {
 24173  	t["DoesCustomizationSpecExist"] = reflect.TypeOf((*DoesCustomizationSpecExist)(nil)).Elem()
 24174  }
 24175  
 24176  // The parameters of `CustomizationSpecManager.DoesCustomizationSpecExist`.
 24177  type DoesCustomizationSpecExistRequestType struct {
 24178  	This ManagedObjectReference `xml:"_this" json:"-"`
 24179  	Name string                 `xml:"name" json:"name"`
 24180  }
 24181  
 24182  func init() {
 24183  	t["DoesCustomizationSpecExistRequestType"] = reflect.TypeOf((*DoesCustomizationSpecExistRequestType)(nil)).Elem()
 24184  }
 24185  
 24186  type DoesCustomizationSpecExistResponse struct {
 24187  	Returnval bool `xml:"returnval" json:"returnval"`
 24188  }
 24189  
 24190  // Fault indicating that the domain controller
 24191  // for domainName cannot be reached.
 24192  type DomainNotFound struct {
 24193  	ActiveDirectoryFault
 24194  
 24195  	// The domain that cannot be accessed.
 24196  	DomainName string `xml:"domainName" json:"domainName"`
 24197  }
 24198  
 24199  func init() {
 24200  	t["DomainNotFound"] = reflect.TypeOf((*DomainNotFound)(nil)).Elem()
 24201  	minAPIVersionForType["DomainNotFound"] = "4.1"
 24202  }
 24203  
 24204  type DomainNotFoundFault DomainNotFound
 24205  
 24206  func init() {
 24207  	t["DomainNotFoundFault"] = reflect.TypeOf((*DomainNotFoundFault)(nil)).Elem()
 24208  }
 24209  
 24210  type DownloadDescriptionTree DownloadDescriptionTreeRequestType
 24211  
 24212  func init() {
 24213  	t["DownloadDescriptionTree"] = reflect.TypeOf((*DownloadDescriptionTree)(nil)).Elem()
 24214  }
 24215  
 24216  type DownloadDescriptionTreeRequestType struct {
 24217  	This ManagedObjectReference `xml:"_this" json:"-"`
 24218  }
 24219  
 24220  func init() {
 24221  	t["DownloadDescriptionTreeRequestType"] = reflect.TypeOf((*DownloadDescriptionTreeRequestType)(nil)).Elem()
 24222  }
 24223  
 24224  type DownloadDescriptionTreeResponse struct {
 24225  	Returnval []byte `xml:"returnval" json:"returnval"`
 24226  }
 24227  
 24228  // Data object describing the operational status of various DPU
 24229  // elements.
 24230  type DpuStatusInfo struct {
 24231  	HostHardwareElementInfo
 24232  
 24233  	// Uniquely identify this DPU.
 24234  	//
 24235  	// Should be the VMware identifier
 24236  	// which can be composed from pci and other identifying elements.
 24237  	DpuId string `xml:"dpuId" json:"dpuId"`
 24238  	// The FRU this sensor monitors, if any.
 24239  	Fru     *HostFru                       `xml:"fru,omitempty" json:"fru,omitempty"`
 24240  	Sensors []DpuStatusInfoOperationalInfo `xml:"sensors,omitempty" json:"sensors,omitempty"`
 24241  }
 24242  
 24243  func init() {
 24244  	t["DpuStatusInfo"] = reflect.TypeOf((*DpuStatusInfo)(nil)).Elem()
 24245  	minAPIVersionForType["DpuStatusInfo"] = "8.0.0.1"
 24246  }
 24247  
 24248  // Sensor information provided by DPU that provides health status.
 24249  type DpuStatusInfoOperationalInfo struct {
 24250  	DynamicData
 24251  
 24252  	// This string uniquely identifies a sensor in the DPU.
 24253  	SensorId string `xml:"sensorId" json:"sensorId"`
 24254  	// The health state of the element indicated by the sensor.
 24255  	//
 24256  	// See also `HostNumericSensorHealthState_enum`.
 24257  	HealthState BaseElementDescription `xml:"healthState,omitempty,typeattr" json:"healthState,omitempty"`
 24258  	// A description of the state of the sensor
 24259  	// such as: N watts, Y RPM, or other measurement.
 24260  	Reading string `xml:"reading" json:"reading"`
 24261  	// If provided by underying API, the base units in which the sensor
 24262  	// reading is specified, "RPM", "WATTS" and so forth.
 24263  	Units string `xml:"units,omitempty" json:"units,omitempty"`
 24264  	// Reports the ISO 8601 Timestamp when this sensor was last updated by
 24265  	// management controller if the this sensor is capable of tracking
 24266  	// when it was last updated.
 24267  	//
 24268  	// Property timeStampRaw, which comes from
 24269  	// vendor firmware is convertible to DateTime, it will be provided.
 24270  	TimeStamp *time.Time `xml:"timeStamp" json:"timeStamp,omitempty"`
 24271  }
 24272  
 24273  func init() {
 24274  	t["DpuStatusInfoOperationalInfo"] = reflect.TypeOf((*DpuStatusInfoOperationalInfo)(nil)).Elem()
 24275  	minAPIVersionForType["DpuStatusInfoOperationalInfo"] = "8.0.0.1"
 24276  }
 24277  
 24278  type DropConnections DropConnectionsRequestType
 24279  
 24280  func init() {
 24281  	t["DropConnections"] = reflect.TypeOf((*DropConnections)(nil)).Elem()
 24282  }
 24283  
 24284  // The parameters of `VirtualMachine.DropConnections`.
 24285  type DropConnectionsRequestType struct {
 24286  	This              ManagedObjectReference         `xml:"_this" json:"-"`
 24287  	ListOfConnections []BaseVirtualMachineConnection `xml:"listOfConnections,omitempty,typeattr" json:"listOfConnections,omitempty"`
 24288  }
 24289  
 24290  func init() {
 24291  	t["DropConnectionsRequestType"] = reflect.TypeOf((*DropConnectionsRequestType)(nil)).Elem()
 24292  }
 24293  
 24294  type DropConnectionsResponse struct {
 24295  	Returnval bool `xml:"returnval" json:"returnval"`
 24296  }
 24297  
 24298  // This event records when DRS is disabled on a cluster.
 24299  type DrsDisabledEvent struct {
 24300  	ClusterEvent
 24301  }
 24302  
 24303  func init() {
 24304  	t["DrsDisabledEvent"] = reflect.TypeOf((*DrsDisabledEvent)(nil)).Elem()
 24305  }
 24306  
 24307  // This fault is thrown when DRS cannot move a virtual machine because
 24308  // DRS is disabled on it (i.e., it is pinned on its registered host).
 24309  type DrsDisabledOnVm struct {
 24310  	VimFault
 24311  }
 24312  
 24313  func init() {
 24314  	t["DrsDisabledOnVm"] = reflect.TypeOf((*DrsDisabledOnVm)(nil)).Elem()
 24315  	minAPIVersionForType["DrsDisabledOnVm"] = "4.0"
 24316  }
 24317  
 24318  type DrsDisabledOnVmFault DrsDisabledOnVm
 24319  
 24320  func init() {
 24321  	t["DrsDisabledOnVmFault"] = reflect.TypeOf((*DrsDisabledOnVmFault)(nil)).Elem()
 24322  }
 24323  
 24324  // This event records when DRS is enabled on a cluster.
 24325  type DrsEnabledEvent struct {
 24326  	ClusterEvent
 24327  
 24328  	// The DRS automation level in (`DrsBehavior`)
 24329  	Behavior string `xml:"behavior" json:"behavior"`
 24330  }
 24331  
 24332  func init() {
 24333  	t["DrsEnabledEvent"] = reflect.TypeOf((*DrsEnabledEvent)(nil)).Elem()
 24334  }
 24335  
 24336  // This event records that the host has successfully entered standby mode initiated by
 24337  // Distributed Power Management.
 24338  //
 24339  // A host in this mode has no running virtual
 24340  // machines and no provisioning operations are occurring.
 24341  type DrsEnteredStandbyModeEvent struct {
 24342  	EnteredStandbyModeEvent
 24343  }
 24344  
 24345  func init() {
 24346  	t["DrsEnteredStandbyModeEvent"] = reflect.TypeOf((*DrsEnteredStandbyModeEvent)(nil)).Elem()
 24347  	minAPIVersionForType["DrsEnteredStandbyModeEvent"] = "2.5"
 24348  }
 24349  
 24350  // This event records that a host has begun the process of
 24351  // entering standby mode initiated by Distributed Power Management.
 24352  type DrsEnteringStandbyModeEvent struct {
 24353  	EnteringStandbyModeEvent
 24354  }
 24355  
 24356  func init() {
 24357  	t["DrsEnteringStandbyModeEvent"] = reflect.TypeOf((*DrsEnteringStandbyModeEvent)(nil)).Elem()
 24358  	minAPIVersionForType["DrsEnteringStandbyModeEvent"] = "4.0"
 24359  }
 24360  
 24361  // This event records that Distributed Power Management tried to bring a host out
 24362  // from standby mode, but the host failed to exit standby mode.
 24363  type DrsExitStandbyModeFailedEvent struct {
 24364  	ExitStandbyModeFailedEvent
 24365  }
 24366  
 24367  func init() {
 24368  	t["DrsExitStandbyModeFailedEvent"] = reflect.TypeOf((*DrsExitStandbyModeFailedEvent)(nil)).Elem()
 24369  	minAPIVersionForType["DrsExitStandbyModeFailedEvent"] = "4.0"
 24370  }
 24371  
 24372  // This event records that Distributed Power Management brings this host
 24373  // out from standby mode.
 24374  type DrsExitedStandbyModeEvent struct {
 24375  	ExitedStandbyModeEvent
 24376  }
 24377  
 24378  func init() {
 24379  	t["DrsExitedStandbyModeEvent"] = reflect.TypeOf((*DrsExitedStandbyModeEvent)(nil)).Elem()
 24380  	minAPIVersionForType["DrsExitedStandbyModeEvent"] = "2.5"
 24381  }
 24382  
 24383  // This event records that a host has begun the process of
 24384  // exiting standby mode initiated by Distributed Power Management.
 24385  type DrsExitingStandbyModeEvent struct {
 24386  	ExitingStandbyModeEvent
 24387  }
 24388  
 24389  func init() {
 24390  	t["DrsExitingStandbyModeEvent"] = reflect.TypeOf((*DrsExitingStandbyModeEvent)(nil)).Elem()
 24391  	minAPIVersionForType["DrsExitingStandbyModeEvent"] = "4.0"
 24392  }
 24393  
 24394  // This event records DRS invocation failure.
 24395  type DrsInvocationFailedEvent struct {
 24396  	ClusterEvent
 24397  }
 24398  
 24399  func init() {
 24400  	t["DrsInvocationFailedEvent"] = reflect.TypeOf((*DrsInvocationFailedEvent)(nil)).Elem()
 24401  	minAPIVersionForType["DrsInvocationFailedEvent"] = "4.0"
 24402  }
 24403  
 24404  // This event records that DRS has recovered from failure.
 24405  //
 24406  // It is triggered by a successful DRS invocation after repeated failure.
 24407  type DrsRecoveredFromFailureEvent struct {
 24408  	ClusterEvent
 24409  }
 24410  
 24411  func init() {
 24412  	t["DrsRecoveredFromFailureEvent"] = reflect.TypeOf((*DrsRecoveredFromFailureEvent)(nil)).Elem()
 24413  	minAPIVersionForType["DrsRecoveredFromFailureEvent"] = "4.0"
 24414  }
 24415  
 24416  // This event records when resource configuration
 24417  // specification synchronization fails on a host.
 24418  type DrsResourceConfigureFailedEvent struct {
 24419  	HostEvent
 24420  
 24421  	// The reason for the failure.
 24422  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 24423  }
 24424  
 24425  func init() {
 24426  	t["DrsResourceConfigureFailedEvent"] = reflect.TypeOf((*DrsResourceConfigureFailedEvent)(nil)).Elem()
 24427  }
 24428  
 24429  // This event records when resource configuration
 24430  // specification returns to synchronized from previous failure.
 24431  type DrsResourceConfigureSyncedEvent struct {
 24432  	HostEvent
 24433  }
 24434  
 24435  func init() {
 24436  	t["DrsResourceConfigureSyncedEvent"] = reflect.TypeOf((*DrsResourceConfigureSyncedEvent)(nil)).Elem()
 24437  }
 24438  
 24439  // This event records when a virtual machine comes into compliance with DRS rules.
 24440  type DrsRuleComplianceEvent struct {
 24441  	VmEvent
 24442  }
 24443  
 24444  func init() {
 24445  	t["DrsRuleComplianceEvent"] = reflect.TypeOf((*DrsRuleComplianceEvent)(nil)).Elem()
 24446  	minAPIVersionForType["DrsRuleComplianceEvent"] = "4.1"
 24447  }
 24448  
 24449  // This event records when a virtual machine violates a DRS VM-Host rule.
 24450  type DrsRuleViolationEvent struct {
 24451  	VmEvent
 24452  }
 24453  
 24454  func init() {
 24455  	t["DrsRuleViolationEvent"] = reflect.TypeOf((*DrsRuleViolationEvent)(nil)).Elem()
 24456  	minAPIVersionForType["DrsRuleViolationEvent"] = "4.1"
 24457  }
 24458  
 24459  // This event records when a virtual machine violates a soft VM-Host rule.
 24460  type DrsSoftRuleViolationEvent struct {
 24461  	VmEvent
 24462  }
 24463  
 24464  func init() {
 24465  	t["DrsSoftRuleViolationEvent"] = reflect.TypeOf((*DrsSoftRuleViolationEvent)(nil)).Elem()
 24466  	minAPIVersionForType["DrsSoftRuleViolationEvent"] = "6.0"
 24467  }
 24468  
 24469  // This event records a virtual machine migration that was recommended by DRS.
 24470  type DrsVmMigratedEvent struct {
 24471  	VmMigratedEvent
 24472  }
 24473  
 24474  func init() {
 24475  	t["DrsVmMigratedEvent"] = reflect.TypeOf((*DrsVmMigratedEvent)(nil)).Elem()
 24476  }
 24477  
 24478  // This event records when a virtual machine is powered on by DRS.
 24479  type DrsVmPoweredOnEvent struct {
 24480  	VmPoweredOnEvent
 24481  }
 24482  
 24483  func init() {
 24484  	t["DrsVmPoweredOnEvent"] = reflect.TypeOf((*DrsVmPoweredOnEvent)(nil)).Elem()
 24485  	minAPIVersionForType["DrsVmPoweredOnEvent"] = "2.5"
 24486  }
 24487  
 24488  // This fault is thrown when DRS tries to migrate a virtual machine to a host,
 24489  // but finds that the host is incompatible with the given virtual machine.
 24490  type DrsVmotionIncompatibleFault struct {
 24491  	VirtualHardwareCompatibilityIssue
 24492  
 24493  	// The host that is incompatible with a given virtual machine.
 24494  	//
 24495  	// Refers instance of `HostSystem`.
 24496  	Host ManagedObjectReference `xml:"host" json:"host"`
 24497  }
 24498  
 24499  func init() {
 24500  	t["DrsVmotionIncompatibleFault"] = reflect.TypeOf((*DrsVmotionIncompatibleFault)(nil)).Elem()
 24501  	minAPIVersionForType["DrsVmotionIncompatibleFault"] = "4.0"
 24502  }
 24503  
 24504  type DrsVmotionIncompatibleFaultFault DrsVmotionIncompatibleFault
 24505  
 24506  func init() {
 24507  	t["DrsVmotionIncompatibleFaultFault"] = reflect.TypeOf((*DrsVmotionIncompatibleFaultFault)(nil)).Elem()
 24508  }
 24509  
 24510  type DuplicateCustomizationSpec DuplicateCustomizationSpecRequestType
 24511  
 24512  func init() {
 24513  	t["DuplicateCustomizationSpec"] = reflect.TypeOf((*DuplicateCustomizationSpec)(nil)).Elem()
 24514  }
 24515  
 24516  // The parameters of `CustomizationSpecManager.DuplicateCustomizationSpec`.
 24517  type DuplicateCustomizationSpecRequestType struct {
 24518  	This    ManagedObjectReference `xml:"_this" json:"-"`
 24519  	Name    string                 `xml:"name" json:"name"`
 24520  	NewName string                 `xml:"newName" json:"newName"`
 24521  }
 24522  
 24523  func init() {
 24524  	t["DuplicateCustomizationSpecRequestType"] = reflect.TypeOf((*DuplicateCustomizationSpecRequestType)(nil)).Elem()
 24525  }
 24526  
 24527  type DuplicateCustomizationSpecResponse struct {
 24528  }
 24529  
 24530  // Fault used to denote a duplicate set of disks were incorrectly specified
 24531  // for a given operation.
 24532  //
 24533  // See also `HostVsanSystem.AddDisks_Task`, `HostVsanSystem.InitializeDisks_Task`.
 24534  type DuplicateDisks struct {
 24535  	VsanDiskFault
 24536  }
 24537  
 24538  func init() {
 24539  	t["DuplicateDisks"] = reflect.TypeOf((*DuplicateDisks)(nil)).Elem()
 24540  	minAPIVersionForType["DuplicateDisks"] = "5.5"
 24541  }
 24542  
 24543  type DuplicateDisksFault DuplicateDisks
 24544  
 24545  func init() {
 24546  	t["DuplicateDisksFault"] = reflect.TypeOf((*DuplicateDisksFault)(nil)).Elem()
 24547  }
 24548  
 24549  // This event records that a duplicate IP address has been observed in
 24550  // conflict with the vmotion or IP storage interface configured on the
 24551  // host.
 24552  type DuplicateIpDetectedEvent struct {
 24553  	HostEvent
 24554  
 24555  	// The Duplicate IP address detected.
 24556  	DuplicateIP string `xml:"duplicateIP" json:"duplicateIP"`
 24557  	// The MAC associated with duplicate IP.
 24558  	MacAddress string `xml:"macAddress" json:"macAddress"`
 24559  }
 24560  
 24561  func init() {
 24562  	t["DuplicateIpDetectedEvent"] = reflect.TypeOf((*DuplicateIpDetectedEvent)(nil)).Elem()
 24563  	minAPIVersionForType["DuplicateIpDetectedEvent"] = "2.5"
 24564  }
 24565  
 24566  // A DuplicateName exception is thrown because a name already exists
 24567  // in the same name space.
 24568  type DuplicateName struct {
 24569  	VimFault
 24570  
 24571  	// The name that is already bound in the name space.
 24572  	Name string `xml:"name" json:"name"`
 24573  	// Managed object that already holds the name.
 24574  	Object ManagedObjectReference `xml:"object" json:"object"`
 24575  }
 24576  
 24577  func init() {
 24578  	t["DuplicateName"] = reflect.TypeOf((*DuplicateName)(nil)).Elem()
 24579  }
 24580  
 24581  type DuplicateNameFault DuplicateName
 24582  
 24583  func init() {
 24584  	t["DuplicateNameFault"] = reflect.TypeOf((*DuplicateNameFault)(nil)).Elem()
 24585  }
 24586  
 24587  // Fault thrown for cases that duplicate network interface names are
 24588  // incorrectly specified for a VSAN operation.
 24589  //
 24590  // See also `HostVsanSystem.UpdateVsan_Task`, `ComputeResource.ReconfigureComputeResource_Task`.
 24591  type DuplicateVsanNetworkInterface struct {
 24592  	VsanFault
 24593  
 24594  	// The network interface name found to be duplicated.
 24595  	Device string `xml:"device" json:"device"`
 24596  }
 24597  
 24598  func init() {
 24599  	t["DuplicateVsanNetworkInterface"] = reflect.TypeOf((*DuplicateVsanNetworkInterface)(nil)).Elem()
 24600  	minAPIVersionForType["DuplicateVsanNetworkInterface"] = "5.5"
 24601  }
 24602  
 24603  type DuplicateVsanNetworkInterfaceFault DuplicateVsanNetworkInterface
 24604  
 24605  func init() {
 24606  	t["DuplicateVsanNetworkInterfaceFault"] = reflect.TypeOf((*DuplicateVsanNetworkInterfaceFault)(nil)).Elem()
 24607  }
 24608  
 24609  // This event is generated when an import operation is
 24610  // performed on a distributed virtual portgroup
 24611  type DvpgImportEvent struct {
 24612  	DVPortgroupEvent
 24613  
 24614  	// The type of restore operation.
 24615  	//
 24616  	// See `EntityImportType_enum` for valid values
 24617  	ImportType string `xml:"importType" json:"importType"`
 24618  }
 24619  
 24620  func init() {
 24621  	t["DvpgImportEvent"] = reflect.TypeOf((*DvpgImportEvent)(nil)).Elem()
 24622  	minAPIVersionForType["DvpgImportEvent"] = "5.1"
 24623  }
 24624  
 24625  // This event is generated when a restore operation is
 24626  // performed on a distributed virtual portgroup
 24627  type DvpgRestoreEvent struct {
 24628  	DVPortgroupEvent
 24629  }
 24630  
 24631  func init() {
 24632  	t["DvpgRestoreEvent"] = reflect.TypeOf((*DvpgRestoreEvent)(nil)).Elem()
 24633  	minAPIVersionForType["DvpgRestoreEvent"] = "5.1"
 24634  }
 24635  
 24636  // This class defines network rule action to accept packets.
 24637  type DvsAcceptNetworkRuleAction struct {
 24638  	DvsNetworkRuleAction
 24639  }
 24640  
 24641  func init() {
 24642  	t["DvsAcceptNetworkRuleAction"] = reflect.TypeOf((*DvsAcceptNetworkRuleAction)(nil)).Elem()
 24643  	minAPIVersionForType["DvsAcceptNetworkRuleAction"] = "5.5"
 24644  }
 24645  
 24646  // Thrown if a vSphere Distributed Switch apply operation failed to set or remove
 24647  // some of the specified objects.
 24648  type DvsApplyOperationFault struct {
 24649  	DvsFault
 24650  
 24651  	// Faults occurred on the host during a DistributedVirtualSwitch operation.
 24652  	ObjectFault []DvsApplyOperationFaultFaultOnObject `xml:"objectFault" json:"objectFault"`
 24653  }
 24654  
 24655  func init() {
 24656  	t["DvsApplyOperationFault"] = reflect.TypeOf((*DvsApplyOperationFault)(nil)).Elem()
 24657  	minAPIVersionForType["DvsApplyOperationFault"] = "5.1"
 24658  }
 24659  
 24660  type DvsApplyOperationFaultFault DvsApplyOperationFault
 24661  
 24662  func init() {
 24663  	t["DvsApplyOperationFaultFault"] = reflect.TypeOf((*DvsApplyOperationFaultFault)(nil)).Elem()
 24664  }
 24665  
 24666  // The fault occurred during an apply operation.
 24667  type DvsApplyOperationFaultFaultOnObject struct {
 24668  	DynamicData
 24669  
 24670  	// The object identifier.
 24671  	//
 24672  	// It should be UUID for vSphere Distributed Switches,
 24673  	// keys for vNetwork distributed portgroups and ports.
 24674  	ObjectId string `xml:"objectId" json:"objectId"`
 24675  	// The Type of the objects.
 24676  	Type string `xml:"type" json:"type"`
 24677  	// The fault that occurred.
 24678  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 24679  }
 24680  
 24681  func init() {
 24682  	t["DvsApplyOperationFaultFaultOnObject"] = reflect.TypeOf((*DvsApplyOperationFaultFaultOnObject)(nil)).Elem()
 24683  	minAPIVersionForType["DvsApplyOperationFaultFaultOnObject"] = "5.1"
 24684  }
 24685  
 24686  // This class defines network rule action to copy the packet to an
 24687  // associated slow-path service Virtual Machine and let the original
 24688  // frame continue.
 24689  type DvsCopyNetworkRuleAction struct {
 24690  	DvsNetworkRuleAction
 24691  }
 24692  
 24693  func init() {
 24694  	t["DvsCopyNetworkRuleAction"] = reflect.TypeOf((*DvsCopyNetworkRuleAction)(nil)).Elem()
 24695  	minAPIVersionForType["DvsCopyNetworkRuleAction"] = "5.5"
 24696  }
 24697  
 24698  // A distributed virtual switch was created.
 24699  type DvsCreatedEvent struct {
 24700  	DvsEvent
 24701  
 24702  	// The folder where the DistributedVirtualSwitch is created.
 24703  	Parent FolderEventArgument `xml:"parent" json:"parent"`
 24704  }
 24705  
 24706  func init() {
 24707  	t["DvsCreatedEvent"] = reflect.TypeOf((*DvsCreatedEvent)(nil)).Elem()
 24708  	minAPIVersionForType["DvsCreatedEvent"] = "4.0"
 24709  }
 24710  
 24711  // A distributed virtual switch was destroyed.
 24712  type DvsDestroyedEvent struct {
 24713  	DvsEvent
 24714  }
 24715  
 24716  func init() {
 24717  	t["DvsDestroyedEvent"] = reflect.TypeOf((*DvsDestroyedEvent)(nil)).Elem()
 24718  	minAPIVersionForType["DvsDestroyedEvent"] = "4.0"
 24719  }
 24720  
 24721  // This class defines network rule action to drop packets.
 24722  type DvsDropNetworkRuleAction struct {
 24723  	DvsNetworkRuleAction
 24724  }
 24725  
 24726  func init() {
 24727  	t["DvsDropNetworkRuleAction"] = reflect.TypeOf((*DvsDropNetworkRuleAction)(nil)).Elem()
 24728  	minAPIVersionForType["DvsDropNetworkRuleAction"] = "5.5"
 24729  }
 24730  
 24731  // These are dvs-related events.
 24732  type DvsEvent struct {
 24733  	Event
 24734  }
 24735  
 24736  func init() {
 24737  	t["DvsEvent"] = reflect.TypeOf((*DvsEvent)(nil)).Elem()
 24738  	minAPIVersionForType["DvsEvent"] = "4.0"
 24739  }
 24740  
 24741  // The event argument is a Host object.
 24742  type DvsEventArgument struct {
 24743  	EntityEventArgument
 24744  
 24745  	// The distributed virtual switch object.
 24746  	//
 24747  	// Refers instance of `DistributedVirtualSwitch`.
 24748  	Dvs ManagedObjectReference `xml:"dvs" json:"dvs"`
 24749  }
 24750  
 24751  func init() {
 24752  	t["DvsEventArgument"] = reflect.TypeOf((*DvsEventArgument)(nil)).Elem()
 24753  	minAPIVersionForType["DvsEventArgument"] = "4.0"
 24754  }
 24755  
 24756  // Base class for faults that can be thrown while invoking a distributed virtual switch
 24757  // operation.
 24758  type DvsFault struct {
 24759  	VimFault
 24760  }
 24761  
 24762  func init() {
 24763  	t["DvsFault"] = reflect.TypeOf((*DvsFault)(nil)).Elem()
 24764  	minAPIVersionForType["DvsFault"] = "4.0"
 24765  }
 24766  
 24767  type DvsFaultFault BaseDvsFault
 24768  
 24769  func init() {
 24770  	t["DvsFaultFault"] = reflect.TypeOf((*DvsFaultFault)(nil)).Elem()
 24771  }
 24772  
 24773  // This class defines Network Filter configuration.
 24774  //
 24775  // ** Supported Qualifier and Actions **
 24776  // <table border="1"width="100%">
 24777  // <tr>
 24778  // <th>Network Filter Config</th>
 24779  // <th>Supported classes</th>
 24780  // </tr>
 24781  // <tr>
 24782  // <td>Qualifiers supported</td>
 24783  // <td>`SingleIp`, `IpRange`,
 24784  // `SingleMac`, `MacRange`,
 24785  // `DvsSingleIpPort`,
 24786  // `DvsSystemTrafficNetworkRuleQualifier`
 24787  // </td>
 24788  // </tr>
 24789  // <tr>
 24790  // <td>Actions Supported</td>
 24791  // <td>`DvsDropNetworkRuleAction`,
 24792  // `DvsAcceptNetworkRuleAction`,
 24793  // `DvsPuntNetworkRuleAction`,
 24794  // `DvsCopyNetworkRuleAction`,
 24795  // `DvsMacRewriteNetworkRuleAction`,
 24796  // `DvsGreEncapNetworkRuleAction`,
 24797  // `DvsLogNetworkRuleAction`,
 24798  // `DvsUpdateTagNetworkRuleAction`,
 24799  // `DvsRateLimitNetworkRuleAction`
 24800  // </td>
 24801  // </tr>
 24802  type DvsFilterConfig struct {
 24803  	InheritablePolicy
 24804  
 24805  	// The key of Network Filter Config.
 24806  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 24807  	// The name of the network traffic filter agent.
 24808  	AgentName string `xml:"agentName,omitempty" json:"agentName,omitempty"`
 24809  	// The slot number of the network filter agent.
 24810  	SlotNumber string `xml:"slotNumber,omitempty" json:"slotNumber,omitempty"`
 24811  	// Network Filter Parameter
 24812  	Parameters *DvsFilterParameter `xml:"parameters,omitempty" json:"parameters,omitempty"`
 24813  	// This property specifies whether to allow all traffic or to deny all
 24814  	// traffic when a Network Filter fails to configure.
 24815  	//
 24816  	// Please see `DvsFilterOnFailure_enum`
 24817  	// for more details.
 24818  	OnFailure string `xml:"onFailure,omitempty" json:"onFailure,omitempty"`
 24819  }
 24820  
 24821  func init() {
 24822  	t["DvsFilterConfig"] = reflect.TypeOf((*DvsFilterConfig)(nil)).Elem()
 24823  	minAPIVersionForType["DvsFilterConfig"] = "5.5"
 24824  }
 24825  
 24826  // The specification to reconfigure Network Filter.
 24827  //
 24828  // This specification allows the user to do fine-grained updates for the
 24829  // Filter in the port settings.
 24830  // If the operation is `remove`, only the
 24831  // `DistributedVirtualPort.key` needs to be specified.
 24832  // If other fields are specified, they will be ignored. We cannot remove
 24833  // an inherited element. Only when the inherited flag is set to false and
 24834  // parent does not have an element with same key this operation succeeds.
 24835  // If the operation is `add`, then
 24836  // `DistributedVirtualPort.key` should not be specified and
 24837  // other fields need to be specified. The inherited flag should be set to
 24838  // false.
 24839  // If the operation is `edit`, then
 24840  // `DistributedVirtualPort.key` needs be specified and
 24841  // specify the other properties that need modification. If the inherited
 24842  // flag is set to true, a `DvsFilterConfig` object of same
 24843  // key must exist at the parent's level. The property values in the spec
 24844  // object will be ignored and use the values from the parent's
 24845  // `DvsFilterConfig` object instead. If inherited
 24846  // flag is set to false, then the new modifications will be applied.
 24847  type DvsFilterConfigSpec struct {
 24848  	DvsFilterConfig
 24849  
 24850  	// Operation type.
 24851  	//
 24852  	// See `ConfigSpecOperation_enum` for valid values.
 24853  	Operation string `xml:"operation" json:"operation"`
 24854  }
 24855  
 24856  func init() {
 24857  	t["DvsFilterConfigSpec"] = reflect.TypeOf((*DvsFilterConfigSpec)(nil)).Elem()
 24858  	minAPIVersionForType["DvsFilterConfigSpec"] = "5.5"
 24859  }
 24860  
 24861  // This class defines Network Filter parameter.
 24862  type DvsFilterParameter struct {
 24863  	DynamicData
 24864  
 24865  	// List of parameters for a Network Filter.
 24866  	Parameters []string `xml:"parameters,omitempty" json:"parameters,omitempty"`
 24867  }
 24868  
 24869  func init() {
 24870  	t["DvsFilterParameter"] = reflect.TypeOf((*DvsFilterParameter)(nil)).Elem()
 24871  	minAPIVersionForType["DvsFilterParameter"] = "5.5"
 24872  }
 24873  
 24874  // This class defines Network Filter Policy.
 24875  type DvsFilterPolicy struct {
 24876  	InheritablePolicy
 24877  
 24878  	// List of Network Filter Configurations.
 24879  	//
 24880  	// In an update operation, the array can contain all
 24881  	// `DvsTrafficFilterConfigSpec` objects
 24882  	// or all `DvsFilterConfig` and
 24883  	// `DvsTrafficFilterConfig`
 24884  	// object, but not mixed of Config and Spec objects. If array of
 24885  	// `DvsFilterConfigSpec` and `DvsTrafficFilterConfigSpec` is used
 24886  	// for updating Network Filter then only the Network Filters
 24887  	// matching `DistributedVirtualPort.key` /
 24888  	// `DistributedVirtualPort.key`
 24889  	// is updated.
 24890  	// If array of `DvsFilterConfig` and
 24891  	// `DvsTrafficFilterConfig`
 24892  	// is used for updating port settings, the Network Filter
 24893  	// settings will be overridden with the new array specified. The
 24894  	// specified array should only contain `DvsFilterConfig` and
 24895  	// `DvsTrafficFilterConfig` objects with `InheritablePolicy.inherited` /
 24896  	// `InheritablePolicy.inherited` set to false.
 24897  	// `DvsFilterConfig*/*DvsTrafficFilterConfig` objects with
 24898  	// `InheritablePolicy.inherited*/*InheritablePolicy.inherited` as
 24899  	// true in the specified array will be ignored. The updated result will
 24900  	// include `DvsFilterConfig*/*DvsTrafficFilterConfig` objects
 24901  	// inherited from parent, if any.
 24902  	FilterConfig []BaseDvsFilterConfig `xml:"filterConfig,omitempty,typeattr" json:"filterConfig,omitempty"`
 24903  }
 24904  
 24905  func init() {
 24906  	t["DvsFilterPolicy"] = reflect.TypeOf((*DvsFilterPolicy)(nil)).Elem()
 24907  	minAPIVersionForType["DvsFilterPolicy"] = "5.5"
 24908  }
 24909  
 24910  // This class defines network rule action to GRE Encapsulate a packet.
 24911  type DvsGreEncapNetworkRuleAction struct {
 24912  	DvsNetworkRuleAction
 24913  
 24914  	// Single IP address.
 24915  	//
 24916  	// Only IPv4 is supported for vSphere API 5.5.
 24917  	EncapsulationIp SingleIp `xml:"encapsulationIp" json:"encapsulationIp"`
 24918  }
 24919  
 24920  func init() {
 24921  	t["DvsGreEncapNetworkRuleAction"] = reflect.TypeOf((*DvsGreEncapNetworkRuleAction)(nil)).Elem()
 24922  	minAPIVersionForType["DvsGreEncapNetworkRuleAction"] = "5.5"
 24923  }
 24924  
 24925  // Health check status of an switch is changed.
 24926  type DvsHealthStatusChangeEvent struct {
 24927  	HostEvent
 24928  
 24929  	// UUID of the DVS the host is connected to.
 24930  	SwitchUuid string `xml:"switchUuid" json:"switchUuid"`
 24931  	// Health check status.
 24932  	HealthResult BaseHostMemberHealthCheckResult `xml:"healthResult,omitempty,typeattr" json:"healthResult,omitempty"`
 24933  }
 24934  
 24935  func init() {
 24936  	t["DvsHealthStatusChangeEvent"] = reflect.TypeOf((*DvsHealthStatusChangeEvent)(nil)).Elem()
 24937  	minAPIVersionForType["DvsHealthStatusChangeEvent"] = "5.1"
 24938  }
 24939  
 24940  // The DVS configuration on the host was synchronized with that of
 24941  // the Virtual Center Server and the configuration is the same on
 24942  // the host and Virtual Center Server.
 24943  type DvsHostBackInSyncEvent struct {
 24944  	DvsEvent
 24945  
 24946  	// The host that was synchronized.
 24947  	HostBackInSync HostEventArgument `xml:"hostBackInSync" json:"hostBackInSync"`
 24948  }
 24949  
 24950  func init() {
 24951  	t["DvsHostBackInSyncEvent"] = reflect.TypeOf((*DvsHostBackInSyncEvent)(nil)).Elem()
 24952  	minAPIVersionForType["DvsHostBackInSyncEvent"] = "4.0"
 24953  }
 24954  
 24955  // This class defines the resource allocation for a host infrastructure
 24956  // traffic class on a physical NIC
 24957  type DvsHostInfrastructureTrafficResource struct {
 24958  	DynamicData
 24959  
 24960  	// The key of the host infrastructure resource.
 24961  	//
 24962  	// Possible value can be of
 24963  	// `DistributedVirtualSwitchHostInfrastructureTrafficClass_enum`.
 24964  	Key string `xml:"key" json:"key"`
 24965  	// The description of the host infrastructure resource.
 24966  	//
 24967  	// This property is ignored for update operation.
 24968  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 24969  	// The allocation settings of the host infrastructure resource.
 24970  	AllocationInfo DvsHostInfrastructureTrafficResourceAllocation `xml:"allocationInfo" json:"allocationInfo"`
 24971  }
 24972  
 24973  func init() {
 24974  	t["DvsHostInfrastructureTrafficResource"] = reflect.TypeOf((*DvsHostInfrastructureTrafficResource)(nil)).Elem()
 24975  	minAPIVersionForType["DvsHostInfrastructureTrafficResource"] = "6.0"
 24976  }
 24977  
 24978  // Resource allocation information for a
 24979  // host infrastructure traffic class.
 24980  type DvsHostInfrastructureTrafficResourceAllocation struct {
 24981  	DynamicData
 24982  
 24983  	// The maximum allowed usage for a traffic class belonging to
 24984  	// this resource pool per host physical NIC.
 24985  	//
 24986  	// The utilization of a traffic class will not exceed the specified limit
 24987  	// even if there are available network resources. If this value is unset
 24988  	// or set to -1 in an update operation, then there is no limit on the network
 24989  	// resource usage (only bounded by available resource and shares).
 24990  	// Units are in Mbits/sec.
 24991  	Limit *int64 `xml:"limit" json:"limit,omitempty"`
 24992  	// Network share.
 24993  	//
 24994  	// The value is used as a relative weight in competing for
 24995  	// shared bandwidth, in case of resource contention.
 24996  	Shares *SharesInfo `xml:"shares,omitempty" json:"shares,omitempty"`
 24997  	// Amount of bandwidth resource that is guaranteed available
 24998  	// to the host infrastructure traffic class.
 24999  	//
 25000  	// If the utilization is less than the reservation, the extra bandwidth
 25001  	// is used for other host infrastructure traffic class types. Reservation is not
 25002  	// allowed to exceed the value of
 25003  	// `DvsHostInfrastructureTrafficResourceAllocation.limit`, if
 25004  	// `DvsHostInfrastructureTrafficResourceAllocation.limit` is set.
 25005  	// Unit is Mbits/sec.
 25006  	Reservation *int64 `xml:"reservation" json:"reservation,omitempty"`
 25007  }
 25008  
 25009  func init() {
 25010  	t["DvsHostInfrastructureTrafficResourceAllocation"] = reflect.TypeOf((*DvsHostInfrastructureTrafficResourceAllocation)(nil)).Elem()
 25011  	minAPIVersionForType["DvsHostInfrastructureTrafficResourceAllocation"] = "6.0"
 25012  }
 25013  
 25014  // A host joined the distributed virtual switch.
 25015  type DvsHostJoinedEvent struct {
 25016  	DvsEvent
 25017  
 25018  	// The host that joined DVS.
 25019  	HostJoined HostEventArgument `xml:"hostJoined" json:"hostJoined"`
 25020  }
 25021  
 25022  func init() {
 25023  	t["DvsHostJoinedEvent"] = reflect.TypeOf((*DvsHostJoinedEvent)(nil)).Elem()
 25024  	minAPIVersionForType["DvsHostJoinedEvent"] = "4.0"
 25025  }
 25026  
 25027  // A host left the distributed virtual switch.
 25028  type DvsHostLeftEvent struct {
 25029  	DvsEvent
 25030  
 25031  	// The host that left DVS.
 25032  	HostLeft HostEventArgument `xml:"hostLeft" json:"hostLeft"`
 25033  }
 25034  
 25035  func init() {
 25036  	t["DvsHostLeftEvent"] = reflect.TypeOf((*DvsHostLeftEvent)(nil)).Elem()
 25037  	minAPIVersionForType["DvsHostLeftEvent"] = "4.0"
 25038  }
 25039  
 25040  // A host has it's status or statusDetail updated.
 25041  type DvsHostStatusUpdated struct {
 25042  	DvsEvent
 25043  
 25044  	// The host.
 25045  	HostMember HostEventArgument `xml:"hostMember" json:"hostMember"`
 25046  	// Host's old status.
 25047  	OldStatus string `xml:"oldStatus,omitempty" json:"oldStatus,omitempty"`
 25048  	// Host's new status.
 25049  	NewStatus string `xml:"newStatus,omitempty" json:"newStatus,omitempty"`
 25050  	// Comments regarding host's old status.
 25051  	OldStatusDetail string `xml:"oldStatusDetail,omitempty" json:"oldStatusDetail,omitempty"`
 25052  	// Comments regarding host's new status.
 25053  	NewStatusDetail string `xml:"newStatusDetail,omitempty" json:"newStatusDetail,omitempty"`
 25054  }
 25055  
 25056  func init() {
 25057  	t["DvsHostStatusUpdated"] = reflect.TypeOf((*DvsHostStatusUpdated)(nil)).Elem()
 25058  	minAPIVersionForType["DvsHostStatusUpdated"] = "4.1"
 25059  }
 25060  
 25061  // The `DvsHostVNicProfile` data object describes the IP configuration
 25062  // for a host Virtual NIC connected to a distributed virtual switch.
 25063  //
 25064  // The `DvsVNicProfile.ipConfig` property contains the Virtual NIC IP address.
 25065  // If a profile plug-in defines policies or subprofiles, use the
 25066  // `ApplyProfile.policy` or `ApplyProfile.property`
 25067  // list to access the additional configuration data.
 25068  type DvsHostVNicProfile struct {
 25069  	DvsVNicProfile
 25070  }
 25071  
 25072  func init() {
 25073  	t["DvsHostVNicProfile"] = reflect.TypeOf((*DvsHostVNicProfile)(nil)).Elem()
 25074  	minAPIVersionForType["DvsHostVNicProfile"] = "4.0"
 25075  }
 25076  
 25077  // The DVS configuration on the host diverged from that of
 25078  // the Virtual Center Server.
 25079  type DvsHostWentOutOfSyncEvent struct {
 25080  	DvsEvent
 25081  
 25082  	// The host that went out of sync.
 25083  	HostOutOfSync DvsOutOfSyncHostArgument `xml:"hostOutOfSync" json:"hostOutOfSync"`
 25084  }
 25085  
 25086  func init() {
 25087  	t["DvsHostWentOutOfSyncEvent"] = reflect.TypeOf((*DvsHostWentOutOfSyncEvent)(nil)).Elem()
 25088  	minAPIVersionForType["DvsHostWentOutOfSyncEvent"] = "4.0"
 25089  }
 25090  
 25091  // This event is generated when a import operation is
 25092  // performed on a distributed virtual switch
 25093  type DvsImportEvent struct {
 25094  	DvsEvent
 25095  
 25096  	// The type of restore operation.
 25097  	//
 25098  	// See `EntityImportType_enum` for valid values
 25099  	ImportType string `xml:"importType" json:"importType"`
 25100  }
 25101  
 25102  func init() {
 25103  	t["DvsImportEvent"] = reflect.TypeOf((*DvsImportEvent)(nil)).Elem()
 25104  	minAPIVersionForType["DvsImportEvent"] = "5.1"
 25105  }
 25106  
 25107  // This class defines the IP Rule Qualifier.
 25108  //
 25109  // Here IP addresses of source
 25110  // and destination will be used for classifying packets.
 25111  type DvsIpNetworkRuleQualifier struct {
 25112  	DvsNetworkRuleQualifier
 25113  
 25114  	// IP qualifier for source.
 25115  	//
 25116  	// If this property is NULL, it will match "any IPv4 or any IPv6 address".
 25117  	SourceAddress BaseIpAddress `xml:"sourceAddress,omitempty,typeattr" json:"sourceAddress,omitempty"`
 25118  	// IP qualifier for destination.
 25119  	//
 25120  	// If this property is NULL, it will match "any IPv4 or any IPv6 address".
 25121  	DestinationAddress BaseIpAddress `xml:"destinationAddress,omitempty,typeattr" json:"destinationAddress,omitempty"`
 25122  	// Protocols like TCP, UDP, ICMP etc.
 25123  	//
 25124  	// The valid value for a protocol
 25125  	// is got from IANA assigned value for the protocol. This can be got
 25126  	// from RFC 5237 and IANA website section related to protocol numbers.
 25127  	Protocol *IntExpression `xml:"protocol,omitempty" json:"protocol,omitempty"`
 25128  	// Source IP Port.
 25129  	SourceIpPort BaseDvsIpPort `xml:"sourceIpPort,omitempty,typeattr" json:"sourceIpPort,omitempty"`
 25130  	// Destination IP Port.
 25131  	DestinationIpPort BaseDvsIpPort `xml:"destinationIpPort,omitempty,typeattr" json:"destinationIpPort,omitempty"`
 25132  	// TCP flags.
 25133  	//
 25134  	// The valid values can be found at RFC 3168.
 25135  	// TCP flags are not supported by Traffic Filtering
 25136  	TcpFlags *IntExpression `xml:"tcpFlags,omitempty" json:"tcpFlags,omitempty"`
 25137  }
 25138  
 25139  func init() {
 25140  	t["DvsIpNetworkRuleQualifier"] = reflect.TypeOf((*DvsIpNetworkRuleQualifier)(nil)).Elem()
 25141  	minAPIVersionForType["DvsIpNetworkRuleQualifier"] = "5.5"
 25142  }
 25143  
 25144  // Base class for specifying Ports.
 25145  //
 25146  // Objects of the base class represent any port (single/range/list).
 25147  type DvsIpPort struct {
 25148  	NegatableExpression
 25149  }
 25150  
 25151  func init() {
 25152  	t["DvsIpPort"] = reflect.TypeOf((*DvsIpPort)(nil)).Elem()
 25153  	minAPIVersionForType["DvsIpPort"] = "5.5"
 25154  }
 25155  
 25156  // This class defines a range of Ports.
 25157  type DvsIpPortRange struct {
 25158  	DvsIpPort
 25159  
 25160  	// Starting port number of the ports range.
 25161  	StartPortNumber int32 `xml:"startPortNumber" json:"startPortNumber"`
 25162  	// Ending port number of the ports range.
 25163  	EndPortNumber int32 `xml:"endPortNumber" json:"endPortNumber"`
 25164  }
 25165  
 25166  func init() {
 25167  	t["DvsIpPortRange"] = reflect.TypeOf((*DvsIpPortRange)(nil)).Elem()
 25168  	minAPIVersionForType["DvsIpPortRange"] = "5.5"
 25169  }
 25170  
 25171  // This class defines network rule action to just log the rule.
 25172  type DvsLogNetworkRuleAction struct {
 25173  	DvsNetworkRuleAction
 25174  }
 25175  
 25176  func init() {
 25177  	t["DvsLogNetworkRuleAction"] = reflect.TypeOf((*DvsLogNetworkRuleAction)(nil)).Elem()
 25178  	minAPIVersionForType["DvsLogNetworkRuleAction"] = "5.5"
 25179  }
 25180  
 25181  // This class defines the MAC Rule Qualifier.
 25182  //
 25183  // Here MAC addresses of source
 25184  // and destination will be used for classifying packets.
 25185  type DvsMacNetworkRuleQualifier struct {
 25186  	DvsNetworkRuleQualifier
 25187  
 25188  	// MAC address for source.
 25189  	//
 25190  	// If this property is NULL, it will match "any MAC address".
 25191  	SourceAddress BaseMacAddress `xml:"sourceAddress,omitempty,typeattr" json:"sourceAddress,omitempty"`
 25192  	// MAC address for destination.
 25193  	//
 25194  	// If this property is NULL, it will match "any MAC address".
 25195  	DestinationAddress BaseMacAddress `xml:"destinationAddress,omitempty,typeattr" json:"destinationAddress,omitempty"`
 25196  	// Protocol used.
 25197  	//
 25198  	// This corresponds to the EtherType field in Ethernet
 25199  	// frame. The valid values can be found from IEEE list at:
 25200  	// http://standards.ieee.org/regauth/ as mentioned in RFC 5342.
 25201  	Protocol *IntExpression `xml:"protocol,omitempty" json:"protocol,omitempty"`
 25202  	// vlan id.
 25203  	VlanId *IntExpression `xml:"vlanId,omitempty" json:"vlanId,omitempty"`
 25204  }
 25205  
 25206  func init() {
 25207  	t["DvsMacNetworkRuleQualifier"] = reflect.TypeOf((*DvsMacNetworkRuleQualifier)(nil)).Elem()
 25208  	minAPIVersionForType["DvsMacNetworkRuleQualifier"] = "5.5"
 25209  }
 25210  
 25211  // This class defines network rule action to MAC Rewrite.
 25212  type DvsMacRewriteNetworkRuleAction struct {
 25213  	DvsNetworkRuleAction
 25214  
 25215  	// Rewrite Destination MAC with this MAC address.
 25216  	RewriteMac string `xml:"rewriteMac" json:"rewriteMac"`
 25217  }
 25218  
 25219  func init() {
 25220  	t["DvsMacRewriteNetworkRuleAction"] = reflect.TypeOf((*DvsMacRewriteNetworkRuleAction)(nil)).Elem()
 25221  	minAPIVersionForType["DvsMacRewriteNetworkRuleAction"] = "5.5"
 25222  }
 25223  
 25224  // Two distributed virtual switches was merged.
 25225  type DvsMergedEvent struct {
 25226  	DvsEvent
 25227  
 25228  	// The source DVS.
 25229  	SourceDvs DvsEventArgument `xml:"sourceDvs" json:"sourceDvs"`
 25230  	// The destination DVS.
 25231  	DestinationDvs DvsEventArgument `xml:"destinationDvs" json:"destinationDvs"`
 25232  }
 25233  
 25234  func init() {
 25235  	t["DvsMergedEvent"] = reflect.TypeOf((*DvsMergedEvent)(nil)).Elem()
 25236  	minAPIVersionForType["DvsMergedEvent"] = "4.0"
 25237  }
 25238  
 25239  // This class is the base class for network rule action.
 25240  type DvsNetworkRuleAction struct {
 25241  	DynamicData
 25242  }
 25243  
 25244  func init() {
 25245  	t["DvsNetworkRuleAction"] = reflect.TypeOf((*DvsNetworkRuleAction)(nil)).Elem()
 25246  	minAPIVersionForType["DvsNetworkRuleAction"] = "5.5"
 25247  }
 25248  
 25249  // This class is the base class for identifying network traffic.
 25250  type DvsNetworkRuleQualifier struct {
 25251  	DynamicData
 25252  
 25253  	// The key of the Qualifier
 25254  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 25255  }
 25256  
 25257  func init() {
 25258  	t["DvsNetworkRuleQualifier"] = reflect.TypeOf((*DvsNetworkRuleQualifier)(nil)).Elem()
 25259  	minAPIVersionForType["DvsNetworkRuleQualifier"] = "5.5"
 25260  }
 25261  
 25262  // Thrown if
 25263  // `DVSCapability.dvsOperationSupported`
 25264  // is false and `DVSConfigInfo.extensionKey` is not same
 25265  // as the extension key of the login-session.
 25266  type DvsNotAuthorized struct {
 25267  	DvsFault
 25268  
 25269  	// The extension key associated with the user-session.
 25270  	SessionExtensionKey string `xml:"sessionExtensionKey,omitempty" json:"sessionExtensionKey,omitempty"`
 25271  	// The value of `DVSConfigInfo.extensionKey`.
 25272  	DvsExtensionKey string `xml:"dvsExtensionKey,omitempty" json:"dvsExtensionKey,omitempty"`
 25273  }
 25274  
 25275  func init() {
 25276  	t["DvsNotAuthorized"] = reflect.TypeOf((*DvsNotAuthorized)(nil)).Elem()
 25277  	minAPIVersionForType["DvsNotAuthorized"] = "4.0"
 25278  }
 25279  
 25280  type DvsNotAuthorizedFault DvsNotAuthorized
 25281  
 25282  func init() {
 25283  	t["DvsNotAuthorizedFault"] = reflect.TypeOf((*DvsNotAuthorizedFault)(nil)).Elem()
 25284  }
 25285  
 25286  // Thrown if a DistributedVirtualSwitch operation failed on some of the host members.
 25287  type DvsOperationBulkFault struct {
 25288  	DvsFault
 25289  
 25290  	// Faults occurred on the host during a DistributedVirtualSwitch operation.
 25291  	HostFault []DvsOperationBulkFaultFaultOnHost `xml:"hostFault" json:"hostFault"`
 25292  }
 25293  
 25294  func init() {
 25295  	t["DvsOperationBulkFault"] = reflect.TypeOf((*DvsOperationBulkFault)(nil)).Elem()
 25296  	minAPIVersionForType["DvsOperationBulkFault"] = "4.0"
 25297  }
 25298  
 25299  type DvsOperationBulkFaultFault DvsOperationBulkFault
 25300  
 25301  func init() {
 25302  	t["DvsOperationBulkFaultFault"] = reflect.TypeOf((*DvsOperationBulkFaultFault)(nil)).Elem()
 25303  }
 25304  
 25305  // The fault occurred on the host during an operation.
 25306  type DvsOperationBulkFaultFaultOnHost struct {
 25307  	DynamicData
 25308  
 25309  	// The host.
 25310  	//
 25311  	// Refers instance of `HostSystem`.
 25312  	Host ManagedObjectReference `xml:"host" json:"host"`
 25313  	// The fault that occurred.
 25314  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 25315  }
 25316  
 25317  func init() {
 25318  	t["DvsOperationBulkFaultFaultOnHost"] = reflect.TypeOf((*DvsOperationBulkFaultFaultOnHost)(nil)).Elem()
 25319  	minAPIVersionForType["DvsOperationBulkFaultFaultOnHost"] = "4.0"
 25320  }
 25321  
 25322  // The host on which the DVS configuration is different from that
 25323  // of Virtual Center server.
 25324  type DvsOutOfSyncHostArgument struct {
 25325  	DynamicData
 25326  
 25327  	// The host.
 25328  	OutOfSyncHost HostEventArgument `xml:"outOfSyncHost" json:"outOfSyncHost"`
 25329  	// The DVS configuration parameters that are different between
 25330  	// Virtual Center server and the host.
 25331  	ConfigParamters []string `xml:"configParamters" json:"configParamters"`
 25332  }
 25333  
 25334  func init() {
 25335  	t["DvsOutOfSyncHostArgument"] = reflect.TypeOf((*DvsOutOfSyncHostArgument)(nil)).Elem()
 25336  	minAPIVersionForType["DvsOutOfSyncHostArgument"] = "4.0"
 25337  }
 25338  
 25339  // A port is blocked in the distributed virtual switch.
 25340  type DvsPortBlockedEvent struct {
 25341  	DvsEvent
 25342  
 25343  	// The port key.
 25344  	PortKey string `xml:"portKey" json:"portKey"`
 25345  	// Reason for port's current status
 25346  	StatusDetail string `xml:"statusDetail,omitempty" json:"statusDetail,omitempty" vim:"4.1"`
 25347  	// The port runtime information.
 25348  	RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty" json:"runtimeInfo,omitempty" vim:"5.1"`
 25349  	// Previous state of the DvsPort.
 25350  	//
 25351  	// See `DvsEventPortBlockState_enum`
 25352  	PrevBlockState string `xml:"prevBlockState,omitempty" json:"prevBlockState,omitempty" vim:"6.5"`
 25353  }
 25354  
 25355  func init() {
 25356  	t["DvsPortBlockedEvent"] = reflect.TypeOf((*DvsPortBlockedEvent)(nil)).Elem()
 25357  	minAPIVersionForType["DvsPortBlockedEvent"] = "4.0"
 25358  }
 25359  
 25360  // A port is connected in the distributed virtual switch.
 25361  type DvsPortConnectedEvent struct {
 25362  	DvsEvent
 25363  
 25364  	// The port key.
 25365  	PortKey string `xml:"portKey" json:"portKey"`
 25366  	// The port's connectee.
 25367  	Connectee *DistributedVirtualSwitchPortConnectee `xml:"connectee,omitempty" json:"connectee,omitempty"`
 25368  }
 25369  
 25370  func init() {
 25371  	t["DvsPortConnectedEvent"] = reflect.TypeOf((*DvsPortConnectedEvent)(nil)).Elem()
 25372  	minAPIVersionForType["DvsPortConnectedEvent"] = "4.0"
 25373  }
 25374  
 25375  // New ports are created in the distributed virtual switch.
 25376  type DvsPortCreatedEvent struct {
 25377  	DvsEvent
 25378  
 25379  	// The key of the ports that are created.
 25380  	PortKey []string `xml:"portKey" json:"portKey"`
 25381  }
 25382  
 25383  func init() {
 25384  	t["DvsPortCreatedEvent"] = reflect.TypeOf((*DvsPortCreatedEvent)(nil)).Elem()
 25385  	minAPIVersionForType["DvsPortCreatedEvent"] = "4.0"
 25386  }
 25387  
 25388  // Existing ports are deleted in the distributed virtual switch.
 25389  type DvsPortDeletedEvent struct {
 25390  	DvsEvent
 25391  
 25392  	// The key of the ports that are deleted.
 25393  	PortKey []string `xml:"portKey" json:"portKey"`
 25394  }
 25395  
 25396  func init() {
 25397  	t["DvsPortDeletedEvent"] = reflect.TypeOf((*DvsPortDeletedEvent)(nil)).Elem()
 25398  	minAPIVersionForType["DvsPortDeletedEvent"] = "4.0"
 25399  }
 25400  
 25401  // A port is disconnected in the distributed virtual switch.
 25402  type DvsPortDisconnectedEvent struct {
 25403  	DvsEvent
 25404  
 25405  	// The port key.
 25406  	PortKey string `xml:"portKey" json:"portKey"`
 25407  	// The port's formal connectee.
 25408  	Connectee *DistributedVirtualSwitchPortConnectee `xml:"connectee,omitempty" json:"connectee,omitempty"`
 25409  }
 25410  
 25411  func init() {
 25412  	t["DvsPortDisconnectedEvent"] = reflect.TypeOf((*DvsPortDisconnectedEvent)(nil)).Elem()
 25413  	minAPIVersionForType["DvsPortDisconnectedEvent"] = "4.0"
 25414  }
 25415  
 25416  // A port has entered passthrough mode on the distributed virtual switch.
 25417  type DvsPortEnteredPassthruEvent struct {
 25418  	DvsEvent
 25419  
 25420  	// The port key.
 25421  	PortKey string `xml:"portKey" json:"portKey"`
 25422  	// The port runtime information.
 25423  	RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty" json:"runtimeInfo,omitempty" vim:"5.1"`
 25424  }
 25425  
 25426  func init() {
 25427  	t["DvsPortEnteredPassthruEvent"] = reflect.TypeOf((*DvsPortEnteredPassthruEvent)(nil)).Elem()
 25428  	minAPIVersionForType["DvsPortEnteredPassthruEvent"] = "4.1"
 25429  }
 25430  
 25431  // A port has exited passthrough mode on the distributed virtual switch.
 25432  type DvsPortExitedPassthruEvent struct {
 25433  	DvsEvent
 25434  
 25435  	// The port key.
 25436  	PortKey string `xml:"portKey" json:"portKey"`
 25437  	// The port runtime information.
 25438  	RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty" json:"runtimeInfo,omitempty" vim:"5.1"`
 25439  }
 25440  
 25441  func init() {
 25442  	t["DvsPortExitedPassthruEvent"] = reflect.TypeOf((*DvsPortExitedPassthruEvent)(nil)).Elem()
 25443  	minAPIVersionForType["DvsPortExitedPassthruEvent"] = "4.1"
 25444  }
 25445  
 25446  // A port was moved into the distributed virtual portgroup.
 25447  type DvsPortJoinPortgroupEvent struct {
 25448  	DvsEvent
 25449  
 25450  	// The port key.
 25451  	PortKey string `xml:"portKey" json:"portKey"`
 25452  	// The portgroup key.
 25453  	PortgroupKey string `xml:"portgroupKey" json:"portgroupKey"`
 25454  	// The portgroup name.
 25455  	PortgroupName string `xml:"portgroupName" json:"portgroupName"`
 25456  }
 25457  
 25458  func init() {
 25459  	t["DvsPortJoinPortgroupEvent"] = reflect.TypeOf((*DvsPortJoinPortgroupEvent)(nil)).Elem()
 25460  	minAPIVersionForType["DvsPortJoinPortgroupEvent"] = "4.0"
 25461  }
 25462  
 25463  // A port was moved out of the distributed virtual portgroup.
 25464  type DvsPortLeavePortgroupEvent struct {
 25465  	DvsEvent
 25466  
 25467  	// The port key.
 25468  	PortKey string `xml:"portKey" json:"portKey"`
 25469  	// The portgroup key.
 25470  	PortgroupKey string `xml:"portgroupKey" json:"portgroupKey"`
 25471  	// The portgroup name.
 25472  	PortgroupName string `xml:"portgroupName" json:"portgroupName"`
 25473  }
 25474  
 25475  func init() {
 25476  	t["DvsPortLeavePortgroupEvent"] = reflect.TypeOf((*DvsPortLeavePortgroupEvent)(nil)).Elem()
 25477  	minAPIVersionForType["DvsPortLeavePortgroupEvent"] = "4.0"
 25478  }
 25479  
 25480  // A port of which link status is changed to down in the distributed
 25481  // virtual switch.
 25482  type DvsPortLinkDownEvent struct {
 25483  	DvsEvent
 25484  
 25485  	// The port key.
 25486  	PortKey string `xml:"portKey" json:"portKey"`
 25487  	// The port runtime information.
 25488  	RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty" json:"runtimeInfo,omitempty" vim:"5.1"`
 25489  }
 25490  
 25491  func init() {
 25492  	t["DvsPortLinkDownEvent"] = reflect.TypeOf((*DvsPortLinkDownEvent)(nil)).Elem()
 25493  	minAPIVersionForType["DvsPortLinkDownEvent"] = "4.0"
 25494  }
 25495  
 25496  // A port of which link status is changed to up in the distributed
 25497  // virtual switch.
 25498  type DvsPortLinkUpEvent struct {
 25499  	DvsEvent
 25500  
 25501  	// The port key.
 25502  	PortKey string `xml:"portKey" json:"portKey"`
 25503  	// The port runtime information.
 25504  	RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty" json:"runtimeInfo,omitempty" vim:"5.1"`
 25505  }
 25506  
 25507  func init() {
 25508  	t["DvsPortLinkUpEvent"] = reflect.TypeOf((*DvsPortLinkUpEvent)(nil)).Elem()
 25509  	minAPIVersionForType["DvsPortLinkUpEvent"] = "4.0"
 25510  }
 25511  
 25512  // Existing ports are reconfigured in the distributed virtual switch.
 25513  type DvsPortReconfiguredEvent struct {
 25514  	DvsEvent
 25515  
 25516  	// The key of the ports that are reconfigured.
 25517  	PortKey []string `xml:"portKey" json:"portKey"`
 25518  	// The configuration values changed during the reconfiguration.
 25519  	ConfigChanges []ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty" vim:"6.5"`
 25520  }
 25521  
 25522  func init() {
 25523  	t["DvsPortReconfiguredEvent"] = reflect.TypeOf((*DvsPortReconfiguredEvent)(nil)).Elem()
 25524  	minAPIVersionForType["DvsPortReconfiguredEvent"] = "4.0"
 25525  }
 25526  
 25527  // A port of which runtime information is changed in the vNetwork Distributed
 25528  // Switch.
 25529  type DvsPortRuntimeChangeEvent struct {
 25530  	DvsEvent
 25531  
 25532  	// The port key.
 25533  	PortKey string `xml:"portKey" json:"portKey"`
 25534  	// The new port runtime information.
 25535  	RuntimeInfo DVPortStatus `xml:"runtimeInfo" json:"runtimeInfo"`
 25536  }
 25537  
 25538  func init() {
 25539  	t["DvsPortRuntimeChangeEvent"] = reflect.TypeOf((*DvsPortRuntimeChangeEvent)(nil)).Elem()
 25540  	minAPIVersionForType["DvsPortRuntimeChangeEvent"] = "5.1"
 25541  }
 25542  
 25543  // A port is unblocked in the distributed virtual switch.
 25544  type DvsPortUnblockedEvent struct {
 25545  	DvsEvent
 25546  
 25547  	// The port key.
 25548  	PortKey string `xml:"portKey" json:"portKey"`
 25549  	// The port runtime information.
 25550  	RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty" json:"runtimeInfo,omitempty" vim:"5.1"`
 25551  	// Previous state of the DvsPort.
 25552  	//
 25553  	// See `DvsEventPortBlockState_enum`
 25554  	PrevBlockState string `xml:"prevBlockState,omitempty" json:"prevBlockState,omitempty" vim:"6.5"`
 25555  }
 25556  
 25557  func init() {
 25558  	t["DvsPortUnblockedEvent"] = reflect.TypeOf((*DvsPortUnblockedEvent)(nil)).Elem()
 25559  	minAPIVersionForType["DvsPortUnblockedEvent"] = "4.0"
 25560  }
 25561  
 25562  // A port of which vendor specific state is changed in the vNetwork Distributed
 25563  // Switch.
 25564  type DvsPortVendorSpecificStateChangeEvent struct {
 25565  	DvsEvent
 25566  
 25567  	// The port key.
 25568  	PortKey string `xml:"portKey" json:"portKey"`
 25569  }
 25570  
 25571  func init() {
 25572  	t["DvsPortVendorSpecificStateChangeEvent"] = reflect.TypeOf((*DvsPortVendorSpecificStateChangeEvent)(nil)).Elem()
 25573  	minAPIVersionForType["DvsPortVendorSpecificStateChangeEvent"] = "5.1"
 25574  }
 25575  
 25576  // The `DvsProfile` data object represents the distributed virtual switch
 25577  // to which this host is connected.
 25578  //
 25579  // If a profile plug-in defines policies or subprofiles,
 25580  // use the `ApplyProfile.policy` or `ApplyProfile.property`
 25581  // list to access the additional configuration data.
 25582  type DvsProfile struct {
 25583  	ApplyProfile
 25584  
 25585  	// Linkable identifier.
 25586  	Key string `xml:"key" json:"key"`
 25587  	// Unique identifier for the distributed virtual switch.
 25588  	Name string `xml:"name" json:"name"`
 25589  	// List of subprofiles that map physical NICs to uplink ports.
 25590  	//
 25591  	// Use the `PnicUplinkProfile.key` property to access
 25592  	// subprofiles in the list.
 25593  	Uplink []PnicUplinkProfile `xml:"uplink,omitempty" json:"uplink,omitempty"`
 25594  }
 25595  
 25596  func init() {
 25597  	t["DvsProfile"] = reflect.TypeOf((*DvsProfile)(nil)).Elem()
 25598  	minAPIVersionForType["DvsProfile"] = "4.0"
 25599  }
 25600  
 25601  // This class defines network rule action to punt.
 25602  //
 25603  // i.e, forward packets
 25604  // to an associated slow-path service Virtual Machine.
 25605  type DvsPuntNetworkRuleAction struct {
 25606  	DvsNetworkRuleAction
 25607  }
 25608  
 25609  func init() {
 25610  	t["DvsPuntNetworkRuleAction"] = reflect.TypeOf((*DvsPuntNetworkRuleAction)(nil)).Elem()
 25611  	minAPIVersionForType["DvsPuntNetworkRuleAction"] = "5.5"
 25612  }
 25613  
 25614  // This class defines network rule action to ratelimit packets.
 25615  type DvsRateLimitNetworkRuleAction struct {
 25616  	DvsNetworkRuleAction
 25617  
 25618  	// Rate limit value specified in packets per second.
 25619  	PacketsPerSecond int32 `xml:"packetsPerSecond" json:"packetsPerSecond"`
 25620  }
 25621  
 25622  func init() {
 25623  	t["DvsRateLimitNetworkRuleAction"] = reflect.TypeOf((*DvsRateLimitNetworkRuleAction)(nil)).Elem()
 25624  	minAPIVersionForType["DvsRateLimitNetworkRuleAction"] = "5.5"
 25625  }
 25626  
 25627  // The parameters of `DistributedVirtualSwitch.DvsReconfigureVmVnicNetworkResourcePool_Task`.
 25628  type DvsReconfigureVmVnicNetworkResourcePoolRequestType struct {
 25629  	This ManagedObjectReference `xml:"_this" json:"-"`
 25630  	// The Virtual NIC network resource pool configuration specification and operation type.
 25631  	ConfigSpec []DvsVmVnicResourcePoolConfigSpec `xml:"configSpec" json:"configSpec"`
 25632  }
 25633  
 25634  func init() {
 25635  	t["DvsReconfigureVmVnicNetworkResourcePoolRequestType"] = reflect.TypeOf((*DvsReconfigureVmVnicNetworkResourcePoolRequestType)(nil)).Elem()
 25636  }
 25637  
 25638  type DvsReconfigureVmVnicNetworkResourcePool_Task DvsReconfigureVmVnicNetworkResourcePoolRequestType
 25639  
 25640  func init() {
 25641  	t["DvsReconfigureVmVnicNetworkResourcePool_Task"] = reflect.TypeOf((*DvsReconfigureVmVnicNetworkResourcePool_Task)(nil)).Elem()
 25642  }
 25643  
 25644  type DvsReconfigureVmVnicNetworkResourcePool_TaskResponse struct {
 25645  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 25646  }
 25647  
 25648  // A distributed virtual switch was reconfigured.
 25649  type DvsReconfiguredEvent struct {
 25650  	DvsEvent
 25651  
 25652  	// The reconfiguration spec.
 25653  	ConfigSpec BaseDVSConfigSpec `xml:"configSpec,typeattr" json:"configSpec"`
 25654  	// The configuration values changed during the reconfiguration.
 25655  	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty" vim:"6.5"`
 25656  }
 25657  
 25658  func init() {
 25659  	t["DvsReconfiguredEvent"] = reflect.TypeOf((*DvsReconfiguredEvent)(nil)).Elem()
 25660  	minAPIVersionForType["DvsReconfiguredEvent"] = "4.0"
 25661  }
 25662  
 25663  // A distributed virtual switch was renamed.
 25664  type DvsRenamedEvent struct {
 25665  	DvsEvent
 25666  
 25667  	// The old DistributedVirtualSwitch name.
 25668  	OldName string `xml:"oldName" json:"oldName"`
 25669  	// The new DistributedVirtualSwitch name.
 25670  	NewName string `xml:"newName" json:"newName"`
 25671  }
 25672  
 25673  func init() {
 25674  	t["DvsRenamedEvent"] = reflect.TypeOf((*DvsRenamedEvent)(nil)).Elem()
 25675  	minAPIVersionForType["DvsRenamedEvent"] = "4.0"
 25676  }
 25677  
 25678  // This class defines the bandwidth reservation information for the
 25679  // vSphere Distributed Switch.
 25680  type DvsResourceRuntimeInfo struct {
 25681  	DynamicData
 25682  
 25683  	// Capacity: Total Reservation allocated for Virtual Machine
 25684  	// Traffic for this switch.
 25685  	//
 25686  	// Units in Mbits/s.
 25687  	Capacity int32 `xml:"capacity,omitempty" json:"capacity,omitempty"`
 25688  	// usage: Current total usage.
 25689  	//
 25690  	// This is the sum of all reservations
 25691  	// allocated to `DVSVmVnicNetworkResourcePool` on this switch and the
 25692  	// sum of reservation taken by `VirtualEthernetCard` whose
 25693  	// backing is not associdated with any `DVSVmVnicNetworkResourcePool`.
 25694  	// Units in Mbits/s.
 25695  	Usage int32 `xml:"usage,omitempty" json:"usage,omitempty"`
 25696  	// Available: Current available resource for reservation (capacity - usage).
 25697  	//
 25698  	// Units in Mbits/s.
 25699  	Available int32 `xml:"available,omitempty" json:"available,omitempty"`
 25700  	// The reservation taken by `VirtualEthernetCard` of which the
 25701  	// backing is not associdated with any `DVSVmVnicNetworkResourcePool`
 25702  	AllocatedResource []DvsVnicAllocatedResource `xml:"allocatedResource,omitempty" json:"allocatedResource,omitempty"`
 25703  	// The runtime information of `DVSVmVnicNetworkResourcePool`.
 25704  	VmVnicNetworkResourcePoolRuntime []DvsVmVnicNetworkResourcePoolRuntimeInfo `xml:"vmVnicNetworkResourcePoolRuntime,omitempty" json:"vmVnicNetworkResourcePoolRuntime,omitempty"`
 25705  }
 25706  
 25707  func init() {
 25708  	t["DvsResourceRuntimeInfo"] = reflect.TypeOf((*DvsResourceRuntimeInfo)(nil)).Elem()
 25709  	minAPIVersionForType["DvsResourceRuntimeInfo"] = "6.0"
 25710  }
 25711  
 25712  // This event is generated when a restore operation is
 25713  // performed on a distributed virtual switch
 25714  type DvsRestoreEvent struct {
 25715  	DvsEvent
 25716  }
 25717  
 25718  func init() {
 25719  	t["DvsRestoreEvent"] = reflect.TypeOf((*DvsRestoreEvent)(nil)).Elem()
 25720  	minAPIVersionForType["DvsRestoreEvent"] = "5.1"
 25721  }
 25722  
 25723  // Deprecated as of vSphere API 5.5.
 25724  //
 25725  // Thrown if a entity trying to connect to a port or portgroup but it is not in the
 25726  // port or portgroup's scope.
 25727  type DvsScopeViolated struct {
 25728  	DvsFault
 25729  
 25730  	// The configured scope.
 25731  	//
 25732  	// Refers instances of `ManagedEntity`.
 25733  	Scope []ManagedObjectReference `xml:"scope" json:"scope"`
 25734  	// The entity that violates the scope.
 25735  	//
 25736  	// Refers instance of `ManagedEntity`.
 25737  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 25738  }
 25739  
 25740  func init() {
 25741  	t["DvsScopeViolated"] = reflect.TypeOf((*DvsScopeViolated)(nil)).Elem()
 25742  	minAPIVersionForType["DvsScopeViolated"] = "4.0"
 25743  }
 25744  
 25745  type DvsScopeViolatedFault DvsScopeViolated
 25746  
 25747  func init() {
 25748  	t["DvsScopeViolatedFault"] = reflect.TypeOf((*DvsScopeViolatedFault)(nil)).Elem()
 25749  }
 25750  
 25751  // The `DvsServiceConsoleVNicProfile` data object describes the IP configuration
 25752  // for a service console Virtual NIC connected to a distributed virtual switch.
 25753  //
 25754  // The `DvsVNicProfile.ipConfig` property contains the Virtual NIC IP address.
 25755  // If a profile plug-in defines policies or subprofiles, use the
 25756  // `ApplyProfile.policy` or `ApplyProfile.property`
 25757  // list to access the additional configuration data.
 25758  type DvsServiceConsoleVNicProfile struct {
 25759  	DvsVNicProfile
 25760  }
 25761  
 25762  func init() {
 25763  	t["DvsServiceConsoleVNicProfile"] = reflect.TypeOf((*DvsServiceConsoleVNicProfile)(nil)).Elem()
 25764  	minAPIVersionForType["DvsServiceConsoleVNicProfile"] = "4.0"
 25765  }
 25766  
 25767  // This class defines a Single Port
 25768  type DvsSingleIpPort struct {
 25769  	DvsIpPort
 25770  
 25771  	// The IP port number.
 25772  	PortNumber int32 `xml:"portNumber" json:"portNumber"`
 25773  }
 25774  
 25775  func init() {
 25776  	t["DvsSingleIpPort"] = reflect.TypeOf((*DvsSingleIpPort)(nil)).Elem()
 25777  	minAPIVersionForType["DvsSingleIpPort"] = "5.5"
 25778  }
 25779  
 25780  // This class defines the System Traffic Qualifier.
 25781  //
 25782  // Here the type of
 25783  // traffic will be used for classifying packets.
 25784  type DvsSystemTrafficNetworkRuleQualifier struct {
 25785  	DvsNetworkRuleQualifier
 25786  
 25787  	// Type of system traffic.
 25788  	//
 25789  	// See `DistributedVirtualSwitchHostInfrastructureTrafficClass_enum`
 25790  	// for valid values.
 25791  	TypeOfSystemTraffic *StringExpression `xml:"typeOfSystemTraffic,omitempty" json:"typeOfSystemTraffic,omitempty"`
 25792  }
 25793  
 25794  func init() {
 25795  	t["DvsSystemTrafficNetworkRuleQualifier"] = reflect.TypeOf((*DvsSystemTrafficNetworkRuleQualifier)(nil)).Elem()
 25796  	minAPIVersionForType["DvsSystemTrafficNetworkRuleQualifier"] = "5.5"
 25797  }
 25798  
 25799  // This class defines Traffic Filter configuration.
 25800  //
 25801  // ** Supported Qualifier and Actions **
 25802  // <table border="1"width="100%">
 25803  // <tr>
 25804  // <th>Traffic Filter Config</th>
 25805  // <th>Supported classes</th>
 25806  // </tr>
 25807  // <tr>
 25808  // <td>Qualifiers supported</td>
 25809  // <td>`SingleIp`, `IpRange`,
 25810  // `SingleMac`, `MacRange`,
 25811  // `DvsSingleIpPort`,
 25812  // `DvsSystemTrafficNetworkRuleQualifier`
 25813  // </td>
 25814  // </tr>
 25815  // <tr>
 25816  // <td>Actions Supported</td>
 25817  // <td>`DvsDropNetworkRuleAction`,
 25818  // `DvsAcceptNetworkRuleAction`,
 25819  // `DvsPuntNetworkRuleAction`,
 25820  // `DvsCopyNetworkRuleAction`,
 25821  // `DvsMacRewriteNetworkRuleAction`,
 25822  // `DvsGreEncapNetworkRuleAction`,
 25823  // `DvsLogNetworkRuleAction`,
 25824  // `DvsUpdateTagNetworkRuleAction`,
 25825  // `DvsRateLimitNetworkRuleAction`
 25826  // </td>
 25827  // </tr>
 25828  type DvsTrafficFilterConfig struct {
 25829  	DvsFilterConfig
 25830  
 25831  	// Network Traffic Ruleset
 25832  	TrafficRuleset *DvsTrafficRuleset `xml:"trafficRuleset,omitempty" json:"trafficRuleset,omitempty"`
 25833  }
 25834  
 25835  func init() {
 25836  	t["DvsTrafficFilterConfig"] = reflect.TypeOf((*DvsTrafficFilterConfig)(nil)).Elem()
 25837  	minAPIVersionForType["DvsTrafficFilterConfig"] = "5.5"
 25838  }
 25839  
 25840  // The specification to reconfigure Traffic Filter.
 25841  //
 25842  // This specification allows the user to do fine-grained updates for the
 25843  // Traffic Filter in the port settings.
 25844  // If the operation is `remove`, only the
 25845  // `DistributedVirtualPort.key` needs to be specified.
 25846  // If other fields are specified, they will be ignored. We cannot remove
 25847  // an inherited element. Only when the inherited flag is set to false and
 25848  // parent does not have an element with same key this operation succeeds.
 25849  // If the operation is `add`, then
 25850  // `DistributedVirtualPort.key` should not be specified and
 25851  // other fields need to be specified. The inherited flag should be set to
 25852  // false.
 25853  // If the operation is `edit`, then
 25854  // `DistributedVirtualPort.key` needs be specified and
 25855  // specify the other properties that need modification. If the inherited
 25856  // flag is set to true, a `DvsTrafficFilterConfig` object of same
 25857  // key must exist at the parent's level. The property values in the spec
 25858  // object will be ignored and use the values from the parent's
 25859  // `DvsTrafficFilterConfig` object instead. If inherited
 25860  // flag is set to false, then the new modifications will be applied.
 25861  type DvsTrafficFilterConfigSpec struct {
 25862  	DvsTrafficFilterConfig
 25863  
 25864  	// Operation type.
 25865  	//
 25866  	// See `ConfigSpecOperation_enum` for valid values.
 25867  	Operation string `xml:"operation" json:"operation"`
 25868  }
 25869  
 25870  func init() {
 25871  	t["DvsTrafficFilterConfigSpec"] = reflect.TypeOf((*DvsTrafficFilterConfigSpec)(nil)).Elem()
 25872  	minAPIVersionForType["DvsTrafficFilterConfigSpec"] = "5.5"
 25873  }
 25874  
 25875  // This class defines a single rule that will be applied to network traffic.
 25876  type DvsTrafficRule struct {
 25877  	DynamicData
 25878  
 25879  	// The key of the rule
 25880  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 25881  	// Description of the rule
 25882  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 25883  	// Sequence of this rule.
 25884  	//
 25885  	// i.e, the order in which this rule appears
 25886  	// in the ruleset.
 25887  	Sequence int32 `xml:"sequence,omitempty" json:"sequence,omitempty"`
 25888  	// List of Network rule qualifiers.
 25889  	//
 25890  	// 'AND' of this array of
 25891  	// network rule qualifiers is applied as one network traffic rule.
 25892  	// If the TrafficRule belongs to
 25893  	// `DvsFilterPolicy` :
 25894  	// There can be a maximum of 1 `DvsIpNetworkRuleQualifier`,
 25895  	// 1 `DvsMacNetworkRuleQualifier` and
 25896  	// 1 `DvsSystemTrafficNetworkRuleQualifier` for a total of
 25897  	// 3 `DvsTrafficRule.qualifier`
 25898  	Qualifier []BaseDvsNetworkRuleQualifier `xml:"qualifier,omitempty,typeattr" json:"qualifier,omitempty"`
 25899  	// Action to be applied for this rule.
 25900  	Action BaseDvsNetworkRuleAction `xml:"action,omitempty,typeattr" json:"action,omitempty"`
 25901  	// Whether this rule needs to be applied to incoming packets,
 25902  	// to outgoing packets or both.
 25903  	//
 25904  	// See `DvsNetworkRuleDirectionType_enum` for valid values.
 25905  	Direction string `xml:"direction,omitempty" json:"direction,omitempty"`
 25906  }
 25907  
 25908  func init() {
 25909  	t["DvsTrafficRule"] = reflect.TypeOf((*DvsTrafficRule)(nil)).Elem()
 25910  	minAPIVersionForType["DvsTrafficRule"] = "5.5"
 25911  }
 25912  
 25913  // This class defines a ruleset(set of rules) that will be
 25914  // applied to network traffic.
 25915  type DvsTrafficRuleset struct {
 25916  	DynamicData
 25917  
 25918  	// The key of the ruleset.
 25919  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 25920  	// Whether ruleset is enabled or not.
 25921  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 25922  	// Precedence of the ruleset.
 25923  	//
 25924  	// Rulesets for a port will be executed
 25925  	// in the order of their precedence.
 25926  	Precedence int32 `xml:"precedence,omitempty" json:"precedence,omitempty"`
 25927  	// List of rules belonging to this ruleset.
 25928  	Rules []DvsTrafficRule `xml:"rules,omitempty" json:"rules,omitempty"`
 25929  }
 25930  
 25931  func init() {
 25932  	t["DvsTrafficRuleset"] = reflect.TypeOf((*DvsTrafficRuleset)(nil)).Elem()
 25933  	minAPIVersionForType["DvsTrafficRuleset"] = "5.5"
 25934  }
 25935  
 25936  // This class defines network rule action to tag packets(qos,dscp) or
 25937  // clear tags(clear qos, dscp tags) on packets.
 25938  //
 25939  // One or both of qos and dscp may be specified.
 25940  type DvsUpdateTagNetworkRuleAction struct {
 25941  	DvsNetworkRuleAction
 25942  
 25943  	// QOS tag.
 25944  	//
 25945  	// IEEE 802.1p supports 3 bit Priority Code Point (PCP).
 25946  	// The valid values are between 0-7. Please refer the IEEE 802.1p
 25947  	// documentation for more details about what each value represents.
 25948  	// If qosTag is set to 0 then the tag on the packets will be cleared.
 25949  	QosTag int32 `xml:"qosTag,omitempty" json:"qosTag,omitempty"`
 25950  	// DSCP tag.
 25951  	//
 25952  	// The valid values for DSCP tag can be found in
 25953  	// 'Differentiated Services Field Codepoints' section of IANA website.
 25954  	// The information can also be got from reading all of the below RFC:
 25955  	// RFC 2474, RFC 2597, RFC 3246, RFC 5865.
 25956  	// If the dscpTag is set to 0 then the dscp tag on packets will be cleared.
 25957  	DscpTag int32 `xml:"dscpTag,omitempty" json:"dscpTag,omitempty"`
 25958  }
 25959  
 25960  func init() {
 25961  	t["DvsUpdateTagNetworkRuleAction"] = reflect.TypeOf((*DvsUpdateTagNetworkRuleAction)(nil)).Elem()
 25962  	minAPIVersionForType["DvsUpdateTagNetworkRuleAction"] = "5.5"
 25963  }
 25964  
 25965  // An upgrade for the distributed virtual switch is available.
 25966  type DvsUpgradeAvailableEvent struct {
 25967  	DvsEvent
 25968  
 25969  	// The product info of the upgrade.
 25970  	ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo" json:"productInfo"`
 25971  }
 25972  
 25973  func init() {
 25974  	t["DvsUpgradeAvailableEvent"] = reflect.TypeOf((*DvsUpgradeAvailableEvent)(nil)).Elem()
 25975  	minAPIVersionForType["DvsUpgradeAvailableEvent"] = "4.0"
 25976  }
 25977  
 25978  // An upgrade for the distributed virtual switch is in progress.
 25979  type DvsUpgradeInProgressEvent struct {
 25980  	DvsEvent
 25981  
 25982  	// The product info of the upgrade.
 25983  	ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo" json:"productInfo"`
 25984  }
 25985  
 25986  func init() {
 25987  	t["DvsUpgradeInProgressEvent"] = reflect.TypeOf((*DvsUpgradeInProgressEvent)(nil)).Elem()
 25988  	minAPIVersionForType["DvsUpgradeInProgressEvent"] = "4.0"
 25989  }
 25990  
 25991  // An upgrade for the distributed virtual switch is rejected.
 25992  type DvsUpgradeRejectedEvent struct {
 25993  	DvsEvent
 25994  
 25995  	// The product info of the upgrade.
 25996  	ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo" json:"productInfo"`
 25997  }
 25998  
 25999  func init() {
 26000  	t["DvsUpgradeRejectedEvent"] = reflect.TypeOf((*DvsUpgradeRejectedEvent)(nil)).Elem()
 26001  	minAPIVersionForType["DvsUpgradeRejectedEvent"] = "4.0"
 26002  }
 26003  
 26004  // The distributed virtual switch was upgraded.
 26005  type DvsUpgradedEvent struct {
 26006  	DvsEvent
 26007  
 26008  	// The product info of the upgrade.
 26009  	ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo" json:"productInfo"`
 26010  }
 26011  
 26012  func init() {
 26013  	t["DvsUpgradedEvent"] = reflect.TypeOf((*DvsUpgradedEvent)(nil)).Elem()
 26014  	minAPIVersionForType["DvsUpgradedEvent"] = "4.0"
 26015  }
 26016  
 26017  // The `DvsVNicProfile` data object is the base object
 26018  // for host and service console Virtual NIC subprofiles.
 26019  //
 26020  // If a profile plug-in defines additional policies or subprofiles, use the
 26021  // `ApplyProfile.policy` or `ApplyProfile.property`
 26022  // list to access the configuration data.
 26023  type DvsVNicProfile struct {
 26024  	ApplyProfile
 26025  
 26026  	// Linkable identifier.
 26027  	Key string `xml:"key" json:"key"`
 26028  	// IP address for the Virtual NIC belonging to a distributed virtual switch.
 26029  	IpConfig IpAddressProfile `xml:"ipConfig" json:"ipConfig"`
 26030  }
 26031  
 26032  func init() {
 26033  	t["DvsVNicProfile"] = reflect.TypeOf((*DvsVNicProfile)(nil)).Elem()
 26034  	minAPIVersionForType["DvsVNicProfile"] = "4.0"
 26035  }
 26036  
 26037  // This class defines the runtime information for the
 26038  // virtual NIC network resource pool
 26039  type DvsVmVnicNetworkResourcePoolRuntimeInfo struct {
 26040  	DynamicData
 26041  
 26042  	// The key of the virtual NIC network resource pool
 26043  	Key string `xml:"key" json:"key"`
 26044  	// The name of the virtual NIC network resource pool
 26045  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 26046  	// Capacity: Reservation allocated for this Network Resource Pool.
 26047  	//
 26048  	// Units in Mbits/s.
 26049  	Capacity int32 `xml:"capacity,omitempty" json:"capacity,omitempty"`
 26050  	// usage: Reservation taken by all `VirtualEthernetCard` for which the
 26051  	// backing is associdated with this `DVSVmVnicNetworkResourcePool`.
 26052  	//
 26053  	// Units in Mbits/s.
 26054  	Usage int32 `xml:"usage,omitempty" json:"usage,omitempty"`
 26055  	// Available: Current available resource for reservation (capacity - usage).
 26056  	//
 26057  	// Units in Mbits/s.
 26058  	Available int32 `xml:"available,omitempty" json:"available,omitempty"`
 26059  	// The status of the virtual NIC network resource pool
 26060  	// See `ManagedEntityStatus_enum` for possible values
 26061  	//
 26062  	// `red` indicates that the
 26063  	// reservations used by all the virtual network adapters belonging
 26064  	// to this resource pool exceeds the total reservation quota allocated to the
 26065  	// resource pool. This can happen due to failure of one or more uplink
 26066  	// or if the user bypasses VirtualCenter and powers on VMs directly on host.
 26067  	// The reservation of one or more virtual network adapters cannot be guaranteed
 26068  	// and corrective action needs to be taken by the user.
 26069  	//
 26070  	// `green` indicates that the resource pool
 26071  	// is in good state. The reservations for all virtual network adapters can
 26072  	// be fulfilled.
 26073  	Status string `xml:"status" json:"status"`
 26074  	// The virtual network adapaters that
 26075  	// are currently associated with the resource pool
 26076  	AllocatedResource []DvsVnicAllocatedResource `xml:"allocatedResource,omitempty" json:"allocatedResource,omitempty"`
 26077  }
 26078  
 26079  func init() {
 26080  	t["DvsVmVnicNetworkResourcePoolRuntimeInfo"] = reflect.TypeOf((*DvsVmVnicNetworkResourcePoolRuntimeInfo)(nil)).Elem()
 26081  	minAPIVersionForType["DvsVmVnicNetworkResourcePoolRuntimeInfo"] = "6.0"
 26082  }
 26083  
 26084  // Resource allocation information for a virtual NIC network resource pool.
 26085  type DvsVmVnicResourceAllocation struct {
 26086  	DynamicData
 26087  
 26088  	// Quota for the total amount of virtual machine nic reservation in this pool.
 26089  	//
 26090  	// Unit in Mbits/sec.
 26091  	ReservationQuota int64 `xml:"reservationQuota,omitempty" json:"reservationQuota,omitempty"`
 26092  }
 26093  
 26094  func init() {
 26095  	t["DvsVmVnicResourceAllocation"] = reflect.TypeOf((*DvsVmVnicResourceAllocation)(nil)).Elem()
 26096  	minAPIVersionForType["DvsVmVnicResourceAllocation"] = "6.0"
 26097  }
 26098  
 26099  // The configuration specification data object to update the resource configuration
 26100  // for a virtual NIC network resource pool.
 26101  type DvsVmVnicResourcePoolConfigSpec struct {
 26102  	DynamicData
 26103  
 26104  	// The type of operation on the virtual NIC network resource pool
 26105  	// Possible value can be of
 26106  	// `ConfigSpecOperation_enum`
 26107  	Operation string `xml:"operation" json:"operation"`
 26108  	// The key of the network resource pool.
 26109  	//
 26110  	// The property is ignored for add
 26111  	// operations.
 26112  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 26113  	// The configVersion is a unique identifier for a given version
 26114  	// of the configuration.
 26115  	//
 26116  	// Each change to the configuration will
 26117  	// update this value. This is typically implemented as a
 26118  	// non-decreasing count or a time-stamp. However, a client should
 26119  	// always treat this as an opaque string.
 26120  	//
 26121  	// If specified when updating the resource configuration, the
 26122  	// changes will only be applied if the current configVersion matches the
 26123  	// specified configVersion. This field can be used to guard against
 26124  	// updates that that may have occurred between the time when configVersion
 26125  	// was read and when it is applied.
 26126  	ConfigVersion string `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
 26127  	// The resource allocation for the virtual NIC network resource pool.
 26128  	AllocationInfo *DvsVmVnicResourceAllocation `xml:"allocationInfo,omitempty" json:"allocationInfo,omitempty"`
 26129  	// The name for the virtual NIC network resource pool.
 26130  	//
 26131  	// The property is required for Add operations.
 26132  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 26133  	// The description for the virtual NIC network resource pool.
 26134  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 26135  }
 26136  
 26137  func init() {
 26138  	t["DvsVmVnicResourcePoolConfigSpec"] = reflect.TypeOf((*DvsVmVnicResourcePoolConfigSpec)(nil)).Elem()
 26139  	minAPIVersionForType["DvsVmVnicResourcePoolConfigSpec"] = "6.0"
 26140  }
 26141  
 26142  // This class defines the allocated resource information on a virtual NIC
 26143  type DvsVnicAllocatedResource struct {
 26144  	DynamicData
 26145  
 26146  	// The virtual machine
 26147  	//
 26148  	// Refers instance of `VirtualMachine`.
 26149  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 26150  	// The virtual NIC key
 26151  	VnicKey string `xml:"vnicKey" json:"vnicKey"`
 26152  	// The reservation specification on the virtual NIC.
 26153  	//
 26154  	// Units in Mbits/s
 26155  	Reservation *int64 `xml:"reservation" json:"reservation,omitempty"`
 26156  }
 26157  
 26158  func init() {
 26159  	t["DvsVnicAllocatedResource"] = reflect.TypeOf((*DvsVnicAllocatedResource)(nil)).Elem()
 26160  	minAPIVersionForType["DvsVnicAllocatedResource"] = "6.0"
 26161  }
 26162  
 26163  // DynamicArray is a data object type that represents an array of dynamically-typed
 26164  // objects.
 26165  //
 26166  // A client should only see a DynamicArray object when the element type
 26167  // is unknown (meaning the type is newer than the client). Otherwise, a client would
 26168  // see the type as T\[\] where T is known.
 26169  type DynamicArray struct {
 26170  	// Array of dynamic values.
 26171  	Val []AnyType `xml:"val,typeattr" json:"val"`
 26172  }
 26173  
 26174  func init() {
 26175  	t["DynamicArray"] = reflect.TypeOf((*DynamicArray)(nil)).Elem()
 26176  }
 26177  
 26178  type DynamicData struct {
 26179  }
 26180  
 26181  func init() {
 26182  	t["DynamicData"] = reflect.TypeOf((*DynamicData)(nil)).Elem()
 26183  }
 26184  
 26185  // The DynamicProperty data object type represents a name-value pair.
 26186  type DynamicProperty struct {
 26187  	// Path to the property.
 26188  	Name string `xml:"name" json:"name"`
 26189  	// Value of the property.
 26190  	Val AnyType `xml:"val,typeattr" json:"val"`
 26191  }
 26192  
 26193  func init() {
 26194  	t["DynamicProperty"] = reflect.TypeOf((*DynamicProperty)(nil)).Elem()
 26195  }
 26196  
 26197  // The host does not satisfy the admission requirements for the Enhanced
 26198  // VMotion Compatibility mode of the cluster.
 26199  type EVCAdmissionFailed struct {
 26200  	NotSupportedHostInCluster
 26201  
 26202  	// The faults that caused this EVC test to fail
 26203  	// (e.g.
 26204  	//
 26205  	// FeatureRequirementsNotMet faults).
 26206  	Faults []LocalizedMethodFault `xml:"faults,omitempty" json:"faults,omitempty" vim:"5.1"`
 26207  }
 26208  
 26209  func init() {
 26210  	t["EVCAdmissionFailed"] = reflect.TypeOf((*EVCAdmissionFailed)(nil)).Elem()
 26211  	minAPIVersionForType["EVCAdmissionFailed"] = "4.0"
 26212  }
 26213  
 26214  // The host's CPU hardware is a family/model that should support the
 26215  // Enhanced VMotion Compatibility mode of the cluster, but some necessary
 26216  // CPU features are not present.
 26217  type EVCAdmissionFailedCPUFeaturesForMode struct {
 26218  	EVCAdmissionFailed
 26219  
 26220  	// The Enhanced VMotion Compatibility mode that is currently in effect for
 26221  	// the cluster.
 26222  	CurrentEVCModeKey string `xml:"currentEVCModeKey" json:"currentEVCModeKey"`
 26223  }
 26224  
 26225  func init() {
 26226  	t["EVCAdmissionFailedCPUFeaturesForMode"] = reflect.TypeOf((*EVCAdmissionFailedCPUFeaturesForMode)(nil)).Elem()
 26227  	minAPIVersionForType["EVCAdmissionFailedCPUFeaturesForMode"] = "4.0"
 26228  }
 26229  
 26230  type EVCAdmissionFailedCPUFeaturesForModeFault EVCAdmissionFailedCPUFeaturesForMode
 26231  
 26232  func init() {
 26233  	t["EVCAdmissionFailedCPUFeaturesForModeFault"] = reflect.TypeOf((*EVCAdmissionFailedCPUFeaturesForModeFault)(nil)).Elem()
 26234  }
 26235  
 26236  // The host's CPU hardware is a family/model that does not support any
 26237  // Enhanced VMotion Compatibility mode.
 26238  type EVCAdmissionFailedCPUModel struct {
 26239  	EVCAdmissionFailed
 26240  }
 26241  
 26242  func init() {
 26243  	t["EVCAdmissionFailedCPUModel"] = reflect.TypeOf((*EVCAdmissionFailedCPUModel)(nil)).Elem()
 26244  	minAPIVersionForType["EVCAdmissionFailedCPUModel"] = "4.0"
 26245  }
 26246  
 26247  type EVCAdmissionFailedCPUModelFault EVCAdmissionFailedCPUModel
 26248  
 26249  func init() {
 26250  	t["EVCAdmissionFailedCPUModelFault"] = reflect.TypeOf((*EVCAdmissionFailedCPUModelFault)(nil)).Elem()
 26251  }
 26252  
 26253  // The host's CPU hardware is a family/model that does not support the Enhanced
 26254  // VMotion Compatibility mode of the cluster.
 26255  type EVCAdmissionFailedCPUModelForMode struct {
 26256  	EVCAdmissionFailed
 26257  
 26258  	// The Enhanced VMotion Compatibility mode that is currently in effect for
 26259  	// the cluster.
 26260  	CurrentEVCModeKey string `xml:"currentEVCModeKey" json:"currentEVCModeKey"`
 26261  }
 26262  
 26263  func init() {
 26264  	t["EVCAdmissionFailedCPUModelForMode"] = reflect.TypeOf((*EVCAdmissionFailedCPUModelForMode)(nil)).Elem()
 26265  	minAPIVersionForType["EVCAdmissionFailedCPUModelForMode"] = "4.0"
 26266  }
 26267  
 26268  type EVCAdmissionFailedCPUModelForModeFault EVCAdmissionFailedCPUModelForMode
 26269  
 26270  func init() {
 26271  	t["EVCAdmissionFailedCPUModelForModeFault"] = reflect.TypeOf((*EVCAdmissionFailedCPUModelForModeFault)(nil)).Elem()
 26272  }
 26273  
 26274  // The host's CPU vendor does not match the required CPU vendor for the
 26275  // Enhanced VMotion Compatibility mode of the cluster.
 26276  type EVCAdmissionFailedCPUVendor struct {
 26277  	EVCAdmissionFailed
 26278  
 26279  	// The CPU vendor required for entering the cluster.
 26280  	ClusterCPUVendor string `xml:"clusterCPUVendor" json:"clusterCPUVendor"`
 26281  	// The CPU vendor of the host.
 26282  	HostCPUVendor string `xml:"hostCPUVendor" json:"hostCPUVendor"`
 26283  }
 26284  
 26285  func init() {
 26286  	t["EVCAdmissionFailedCPUVendor"] = reflect.TypeOf((*EVCAdmissionFailedCPUVendor)(nil)).Elem()
 26287  	minAPIVersionForType["EVCAdmissionFailedCPUVendor"] = "4.0"
 26288  }
 26289  
 26290  type EVCAdmissionFailedCPUVendorFault EVCAdmissionFailedCPUVendor
 26291  
 26292  func init() {
 26293  	t["EVCAdmissionFailedCPUVendorFault"] = reflect.TypeOf((*EVCAdmissionFailedCPUVendorFault)(nil)).Elem()
 26294  }
 26295  
 26296  // The host's CPU vendor is unknown, which prevents admission into an Enhanced
 26297  // VMotion Compatibility cluster.
 26298  type EVCAdmissionFailedCPUVendorUnknown struct {
 26299  	EVCAdmissionFailed
 26300  }
 26301  
 26302  func init() {
 26303  	t["EVCAdmissionFailedCPUVendorUnknown"] = reflect.TypeOf((*EVCAdmissionFailedCPUVendorUnknown)(nil)).Elem()
 26304  	minAPIVersionForType["EVCAdmissionFailedCPUVendorUnknown"] = "4.0"
 26305  }
 26306  
 26307  type EVCAdmissionFailedCPUVendorUnknownFault EVCAdmissionFailedCPUVendorUnknown
 26308  
 26309  func init() {
 26310  	t["EVCAdmissionFailedCPUVendorUnknownFault"] = reflect.TypeOf((*EVCAdmissionFailedCPUVendorUnknownFault)(nil)).Elem()
 26311  }
 26312  
 26313  type EVCAdmissionFailedFault BaseEVCAdmissionFailed
 26314  
 26315  func init() {
 26316  	t["EVCAdmissionFailedFault"] = reflect.TypeOf((*EVCAdmissionFailedFault)(nil)).Elem()
 26317  }
 26318  
 26319  // The host is not connected, which prevents admission into an Enhanced
 26320  // VMotion Compatibility cluster.
 26321  type EVCAdmissionFailedHostDisconnected struct {
 26322  	EVCAdmissionFailed
 26323  }
 26324  
 26325  func init() {
 26326  	t["EVCAdmissionFailedHostDisconnected"] = reflect.TypeOf((*EVCAdmissionFailedHostDisconnected)(nil)).Elem()
 26327  	minAPIVersionForType["EVCAdmissionFailedHostDisconnected"] = "4.0"
 26328  }
 26329  
 26330  type EVCAdmissionFailedHostDisconnectedFault EVCAdmissionFailedHostDisconnected
 26331  
 26332  func init() {
 26333  	t["EVCAdmissionFailedHostDisconnectedFault"] = reflect.TypeOf((*EVCAdmissionFailedHostDisconnectedFault)(nil)).Elem()
 26334  }
 26335  
 26336  // The host's software does not support any Enhanced VMotion Compatibility mode.
 26337  type EVCAdmissionFailedHostSoftware struct {
 26338  	EVCAdmissionFailed
 26339  }
 26340  
 26341  func init() {
 26342  	t["EVCAdmissionFailedHostSoftware"] = reflect.TypeOf((*EVCAdmissionFailedHostSoftware)(nil)).Elem()
 26343  	minAPIVersionForType["EVCAdmissionFailedHostSoftware"] = "4.0"
 26344  }
 26345  
 26346  type EVCAdmissionFailedHostSoftwareFault EVCAdmissionFailedHostSoftware
 26347  
 26348  func init() {
 26349  	t["EVCAdmissionFailedHostSoftwareFault"] = reflect.TypeOf((*EVCAdmissionFailedHostSoftwareFault)(nil)).Elem()
 26350  }
 26351  
 26352  // The host's software does not support the Enhanced VMotion Compatibility
 26353  // mode of the cluster.
 26354  type EVCAdmissionFailedHostSoftwareForMode struct {
 26355  	EVCAdmissionFailed
 26356  }
 26357  
 26358  func init() {
 26359  	t["EVCAdmissionFailedHostSoftwareForMode"] = reflect.TypeOf((*EVCAdmissionFailedHostSoftwareForMode)(nil)).Elem()
 26360  	minAPIVersionForType["EVCAdmissionFailedHostSoftwareForMode"] = "4.0"
 26361  }
 26362  
 26363  type EVCAdmissionFailedHostSoftwareForModeFault EVCAdmissionFailedHostSoftwareForMode
 26364  
 26365  func init() {
 26366  	t["EVCAdmissionFailedHostSoftwareForModeFault"] = reflect.TypeOf((*EVCAdmissionFailedHostSoftwareForModeFault)(nil)).Elem()
 26367  }
 26368  
 26369  // An attempt to move or add a host into an Enhanced VMotion Compatibility
 26370  // cluster has failed for the following reason:
 26371  //   - The host exposes additional compatibility-relevant CPU features beyond
 26372  //     those present in the baseline mandated by the cluster's EVC mode.
 26373  //   - The host has powered-on or suspended virtual machines.
 26374  //
 26375  // Therefore the host may not be admitted into the cluster, since its virtual
 26376  // machines may be using CPU features suppressed in the cluster.
 26377  //
 26378  // Note that in rare cases, this may occur even if the host's
 26379  // `maxEVCModeKey` corresponds to the EVC
 26380  // mode of the cluster. This means that even though that EVC mode is the best
 26381  // match for the host's hardware, the host still has some features beyond
 26382  // those present in the baseline for that EVC mode.
 26383  type EVCAdmissionFailedVmActive struct {
 26384  	EVCAdmissionFailed
 26385  }
 26386  
 26387  func init() {
 26388  	t["EVCAdmissionFailedVmActive"] = reflect.TypeOf((*EVCAdmissionFailedVmActive)(nil)).Elem()
 26389  	minAPIVersionForType["EVCAdmissionFailedVmActive"] = "4.0"
 26390  }
 26391  
 26392  type EVCAdmissionFailedVmActiveFault EVCAdmissionFailedVmActive
 26393  
 26394  func init() {
 26395  	t["EVCAdmissionFailedVmActiveFault"] = reflect.TypeOf((*EVCAdmissionFailedVmActiveFault)(nil)).Elem()
 26396  }
 26397  
 26398  // An attempt to enable Enhanced VMotion Compatibility on a cluster has failed.
 26399  type EVCConfigFault struct {
 26400  	VimFault
 26401  
 26402  	// The faults that caused this EVC test to fail,
 26403  	// such as `FeatureRequirementsNotMet` faults.
 26404  	Faults []LocalizedMethodFault `xml:"faults,omitempty" json:"faults,omitempty" vim:"5.1"`
 26405  }
 26406  
 26407  func init() {
 26408  	t["EVCConfigFault"] = reflect.TypeOf((*EVCConfigFault)(nil)).Elem()
 26409  	minAPIVersionForType["EVCConfigFault"] = "2.5u2"
 26410  }
 26411  
 26412  type EVCConfigFaultFault BaseEVCConfigFault
 26413  
 26414  func init() {
 26415  	t["EVCConfigFaultFault"] = reflect.TypeOf((*EVCConfigFaultFault)(nil)).Elem()
 26416  }
 26417  
 26418  // The `EVCMode` data object describes an Enhanced vMotion Compatibility mode.
 26419  //
 26420  // An EVC mode is associated with a set of CPU features. A vCenter Server defines
 26421  // the available EVC modes. You use them to establish a common set of features
 26422  // for compatibility between hosts in a cluster. An EVC-enabled cluster supports
 26423  // safe vMotion of virtual machines across a range of CPU generations.
 26424  // You must use the vSphere Client to configure EVC.
 26425  //
 26426  // When you add a host to an EVC-enabled cluster, the vCenter Server determines
 26427  // the CPU compatibility to preserve vMotion compatibility within the cluster.
 26428  // If the host CPU is compatible with those already in the cluster, the Server
 26429  // adds the host to the cluster and configures it for compatible operation.
 26430  // Hosts that are not compatible are not allowed to join the cluster.
 26431  //
 26432  // The inherited `ElementDescription.key` property is a string value
 26433  // that uniquely identifies an EVC mode. The vCenter Server assigns
 26434  // the key value; the vSphere API uses the key to identify modes
 26435  // in summary and information objects:
 26436  //   - `ClusterComputeResourceSummary*.*ClusterComputeResourceSummary.currentEVCModeKey`
 26437  //   - `HostListSummary*.*HostListSummary.currentEVCModeKey`
 26438  //   - `HostListSummary*.*HostListSummary.maxEVCModeKey`
 26439  //   - `VirtualMachineRuntimeInfo*.*VirtualMachineRuntimeInfo.minRequiredEVCModeKey`
 26440  //
 26441  // The inherited `Description.label` and `Description.summary`
 26442  // properties are human-readable strings.
 26443  //
 26444  // You can use the `EVCMode.track` and `EVCMode.vendorTier` properties to determine
 26445  // feature-superset relationships between modes without examining the
 26446  // individual feature bits in `EVCMode.guaranteedCPUFeatures`.
 26447  // The CPU feature baseline of mode A is a superset of mode B's baseline
 26448  // if and only if:
 26449  //   - modeA.track is the same as or a superset of modeB.track
 26450  //   - modeA.vendorTier is equal to or greater than modeB.vendorTier
 26451  //
 26452  // Use the `EVCMode.track` and `EVCMode.vendorTier` properties only for the
 26453  // purpose of feature-superset calculations as described above. Do not use
 26454  // them to infer the presence or absence of specific features. The
 26455  // property values for a given mode may change across releases
 26456  // as the set of available EVC modes changes, to better represent mode
 26457  // relationships.
 26458  type EVCMode struct {
 26459  	ElementDescription
 26460  
 26461  	// Deprecated as of vSphere API 6.5 use `EVCMode.featureCapability`.
 26462  	//
 26463  	// Describes the CPU feature baseline associated with the EVC mode.
 26464  	//
 26465  	// On the cluster where a particular EVC mode is configured,
 26466  	// those CPU features are guaranteed, either because the host
 26467  	// hardware naturally matches those features or because CPU feature override
 26468  	// is used to mask out differences and enforce a match.
 26469  	GuaranteedCPUFeatures []HostCpuIdInfo `xml:"guaranteedCPUFeatures,omitempty" json:"guaranteedCPUFeatures,omitempty" vim:"4.1"`
 26470  	// Describes the feature capability baseline associated with the EVC mode.
 26471  	//
 26472  	// On the cluster where a particular EVC mode is configured,
 26473  	// these features capabilities are guaranteed, either because the host
 26474  	// hardware naturally matches those features or because feature masks
 26475  	// are used to mask out differences and enforce a match.
 26476  	FeatureCapability []HostFeatureCapability `xml:"featureCapability,omitempty" json:"featureCapability,omitempty" vim:"5.1"`
 26477  	// The masks (modifications to a host's feature capabilities) that limit a
 26478  	// host's capabilities to that of the EVC mode baseline.
 26479  	FeatureMask []HostFeatureMask `xml:"featureMask,omitempty" json:"featureMask,omitempty" vim:"5.1"`
 26480  	// The conditions that must be true of a host's feature capabilities in order
 26481  	// for the host to meet the minimum requirements of the EVC mode baseline.
 26482  	FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty" json:"featureRequirement,omitempty" vim:"5.1"`
 26483  	// CPU hardware vendor required for this mode.
 26484  	Vendor string `xml:"vendor" json:"vendor"`
 26485  	// Identifiers for feature groups that are at least partially present in
 26486  	// the `EVCMode.guaranteedCPUFeatures` array for this mode.
 26487  	//
 26488  	// Use this property to compare track values from two modes.
 26489  	// Do not use this property to determine the presence or absence of
 26490  	// specific features.
 26491  	Track []string `xml:"track,omitempty" json:"track,omitempty" vim:"4.1"`
 26492  	// Index for ordering the set of modes that apply to a given CPU vendor.
 26493  	//
 26494  	// Use this property to compare vendor tier values from two modes.
 26495  	// Do not use this property to determine the presence or absence
 26496  	// of specific features.
 26497  	VendorTier int32 `xml:"vendorTier" json:"vendorTier"`
 26498  }
 26499  
 26500  func init() {
 26501  	t["EVCMode"] = reflect.TypeOf((*EVCMode)(nil)).Elem()
 26502  	minAPIVersionForType["EVCMode"] = "4.0"
 26503  }
 26504  
 26505  // An attempt to enable Enhanced VMotion Compatibility on a cluster, or change
 26506  // the EVC configuration on an EVC-enabled cluster, has failed because the
 26507  // selected EVC mode is not legal for the CPU hardware vendor of the hosts
 26508  // currently in the cluster.
 26509  type EVCModeIllegalByVendor struct {
 26510  	EVCConfigFault
 26511  
 26512  	// The CPU vendor in use in the cluster.
 26513  	ClusterCPUVendor string `xml:"clusterCPUVendor" json:"clusterCPUVendor"`
 26514  	// The CPU vendor for the requested EVC mode.
 26515  	ModeCPUVendor string `xml:"modeCPUVendor" json:"modeCPUVendor"`
 26516  }
 26517  
 26518  func init() {
 26519  	t["EVCModeIllegalByVendor"] = reflect.TypeOf((*EVCModeIllegalByVendor)(nil)).Elem()
 26520  	minAPIVersionForType["EVCModeIllegalByVendor"] = "2.5u2"
 26521  }
 26522  
 26523  type EVCModeIllegalByVendorFault EVCModeIllegalByVendor
 26524  
 26525  func init() {
 26526  	t["EVCModeIllegalByVendorFault"] = reflect.TypeOf((*EVCModeIllegalByVendorFault)(nil)).Elem()
 26527  }
 26528  
 26529  // An attempt to enable Enhanced VMotion Compatibility on a cluster has failed
 26530  // because there are hosts in the cluster with a CPU feature baseline below the
 26531  // desired EVC mode.
 26532  type EVCModeUnsupportedByHosts struct {
 26533  	EVCConfigFault
 26534  
 26535  	// The requested EVC mode.
 26536  	EvcMode string `xml:"evcMode,omitempty" json:"evcMode,omitempty"`
 26537  	// The set of hosts which are blocking EVC because their CPU hardware does
 26538  	// not support the requested EVC mode.
 26539  	//
 26540  	// Refers instances of `HostSystem`.
 26541  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 26542  	// The names of the hosts in the host array.
 26543  	HostName []string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 26544  }
 26545  
 26546  func init() {
 26547  	t["EVCModeUnsupportedByHosts"] = reflect.TypeOf((*EVCModeUnsupportedByHosts)(nil)).Elem()
 26548  	minAPIVersionForType["EVCModeUnsupportedByHosts"] = "4.0"
 26549  }
 26550  
 26551  type EVCModeUnsupportedByHostsFault EVCModeUnsupportedByHosts
 26552  
 26553  func init() {
 26554  	t["EVCModeUnsupportedByHostsFault"] = reflect.TypeOf((*EVCModeUnsupportedByHostsFault)(nil)).Elem()
 26555  }
 26556  
 26557  // An attempt to enable Enhanced VMotion Compatibility (EVC) on a cluster has
 26558  // failed because one or more hosts in the cluster do not match the desired
 26559  // featureset and lack hardware support for EVC.
 26560  type EVCUnsupportedByHostHardware struct {
 26561  	EVCConfigFault
 26562  
 26563  	// The set of hosts which are blocking EVC because their CPU hardware does
 26564  	// not support CPUID override.
 26565  	//
 26566  	// Refers instances of `HostSystem`.
 26567  	Host []ManagedObjectReference `xml:"host" json:"host"`
 26568  	// The names of the hosts in the host array.
 26569  	HostName []string `xml:"hostName" json:"hostName"`
 26570  }
 26571  
 26572  func init() {
 26573  	t["EVCUnsupportedByHostHardware"] = reflect.TypeOf((*EVCUnsupportedByHostHardware)(nil)).Elem()
 26574  	minAPIVersionForType["EVCUnsupportedByHostHardware"] = "4.1"
 26575  }
 26576  
 26577  type EVCUnsupportedByHostHardwareFault EVCUnsupportedByHostHardware
 26578  
 26579  func init() {
 26580  	t["EVCUnsupportedByHostHardwareFault"] = reflect.TypeOf((*EVCUnsupportedByHostHardwareFault)(nil)).Elem()
 26581  }
 26582  
 26583  // An attempt to enable Enhanced VMotion Compatibility (EVC) on a cluster has
 26584  // failed because one or more hosts in the cluster lack software support for
 26585  // EVC.
 26586  type EVCUnsupportedByHostSoftware struct {
 26587  	EVCConfigFault
 26588  
 26589  	// The set of hosts which are blocking EVC because their virtualization
 26590  	// software does not support CPUID override.
 26591  	//
 26592  	// Refers instances of `HostSystem`.
 26593  	Host []ManagedObjectReference `xml:"host" json:"host"`
 26594  	// The names of the hosts in the host array.
 26595  	HostName []string `xml:"hostName" json:"hostName"`
 26596  }
 26597  
 26598  func init() {
 26599  	t["EVCUnsupportedByHostSoftware"] = reflect.TypeOf((*EVCUnsupportedByHostSoftware)(nil)).Elem()
 26600  	minAPIVersionForType["EVCUnsupportedByHostSoftware"] = "4.1"
 26601  }
 26602  
 26603  type EVCUnsupportedByHostSoftwareFault EVCUnsupportedByHostSoftware
 26604  
 26605  func init() {
 26606  	t["EVCUnsupportedByHostSoftwareFault"] = reflect.TypeOf((*EVCUnsupportedByHostSoftwareFault)(nil)).Elem()
 26607  }
 26608  
 26609  // The parameters of `VirtualDiskManager.EagerZeroVirtualDisk_Task`.
 26610  type EagerZeroVirtualDiskRequestType struct {
 26611  	This ManagedObjectReference `xml:"_this" json:"-"`
 26612  	// The name of the disk, either a datastore path or a URL
 26613  	// referring to the virtual disk that should be inflated.
 26614  	Name string `xml:"name" json:"name"`
 26615  	// If <code>name</code> is a datastore path, the datacenter for
 26616  	// that datastore path. Not needed when invoked directly on ESX.
 26617  	// If not specified on a call to VirtualCenter,
 26618  	// <code>name</code> must be a URL.
 26619  	//
 26620  	// Refers instance of `Datacenter`.
 26621  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 26622  }
 26623  
 26624  func init() {
 26625  	t["EagerZeroVirtualDiskRequestType"] = reflect.TypeOf((*EagerZeroVirtualDiskRequestType)(nil)).Elem()
 26626  }
 26627  
 26628  type EagerZeroVirtualDisk_Task EagerZeroVirtualDiskRequestType
 26629  
 26630  func init() {
 26631  	t["EagerZeroVirtualDisk_Task"] = reflect.TypeOf((*EagerZeroVirtualDisk_Task)(nil)).Elem()
 26632  }
 26633  
 26634  type EagerZeroVirtualDisk_TaskResponse struct {
 26635  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 26636  }
 26637  
 26638  // Only virtual machines on eight different hosts can have a single
 26639  // virtual disk backing opened for read at once.
 26640  //
 26641  // This fault occurs when moving or powering on this virtual
 26642  // machine would cause a violation of the above constraint.
 26643  // This only occurs when multiple virtual machines are sharing a
 26644  // single disk backing.
 26645  //
 26646  // Note that there is no limit on the number of virtual machines
 26647  // who share a disk backings, so long as they are running on
 26648  // eight or fewer hosts.
 26649  type EightHostLimitViolated struct {
 26650  	VmConfigFault
 26651  }
 26652  
 26653  func init() {
 26654  	t["EightHostLimitViolated"] = reflect.TypeOf((*EightHostLimitViolated)(nil)).Elem()
 26655  	minAPIVersionForType["EightHostLimitViolated"] = "4.0"
 26656  }
 26657  
 26658  type EightHostLimitViolatedFault EightHostLimitViolated
 26659  
 26660  func init() {
 26661  	t["EightHostLimitViolatedFault"] = reflect.TypeOf((*EightHostLimitViolatedFault)(nil)).Elem()
 26662  }
 26663  
 26664  // Static strings used for describing an object model string or enumeration.
 26665  type ElementDescription struct {
 26666  	Description
 26667  
 26668  	// Enumeration or literal ID being described.
 26669  	Key string `xml:"key" json:"key"`
 26670  }
 26671  
 26672  func init() {
 26673  	t["ElementDescription"] = reflect.TypeOf((*ElementDescription)(nil)).Elem()
 26674  }
 26675  
 26676  type EmitSyslogMark EmitSyslogMarkRequestType
 26677  
 26678  func init() {
 26679  	t["EmitSyslogMark"] = reflect.TypeOf((*EmitSyslogMark)(nil)).Elem()
 26680  }
 26681  
 26682  // The parameters of `DiagnosticManager.EmitSyslogMark`.
 26683  type EmitSyslogMarkRequestType struct {
 26684  	This ManagedObjectReference `xml:"_this" json:"-"`
 26685  	// The string to be used.
 26686  	Message string `xml:"message" json:"message"`
 26687  }
 26688  
 26689  func init() {
 26690  	t["EmitSyslogMarkRequestType"] = reflect.TypeOf((*EmitSyslogMarkRequestType)(nil)).Elem()
 26691  }
 26692  
 26693  type EmitSyslogMarkResponse struct {
 26694  }
 26695  
 26696  type EnableAlarm EnableAlarmRequestType
 26697  
 26698  func init() {
 26699  	t["EnableAlarm"] = reflect.TypeOf((*EnableAlarm)(nil)).Elem()
 26700  }
 26701  
 26702  type EnableAlarmActions EnableAlarmActionsRequestType
 26703  
 26704  func init() {
 26705  	t["EnableAlarmActions"] = reflect.TypeOf((*EnableAlarmActions)(nil)).Elem()
 26706  }
 26707  
 26708  // The parameters of `AlarmManager.EnableAlarmActions`.
 26709  type EnableAlarmActionsRequestType struct {
 26710  	This ManagedObjectReference `xml:"_this" json:"-"`
 26711  	// The managed entity on which to set a schedule.
 26712  	//
 26713  	// Required privileges: Alarm.DisableActions
 26714  	//
 26715  	// Refers instance of `ManagedEntity`.
 26716  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 26717  	// true, if alarms are enabled during the schedule.
 26718  	Enabled bool `xml:"enabled" json:"enabled"`
 26719  }
 26720  
 26721  func init() {
 26722  	t["EnableAlarmActionsRequestType"] = reflect.TypeOf((*EnableAlarmActionsRequestType)(nil)).Elem()
 26723  }
 26724  
 26725  type EnableAlarmActionsResponse struct {
 26726  }
 26727  
 26728  // The parameters of `AlarmManager.EnableAlarm`.
 26729  type EnableAlarmRequestType struct {
 26730  	This ManagedObjectReference `xml:"_this" json:"-"`
 26731  	// The Alarm being enabled.
 26732  	//
 26733  	// Required privileges: Alarm.ToggleEnableOnEntity
 26734  	//
 26735  	// Refers instance of `Alarm`.
 26736  	Alarm ManagedObjectReference `xml:"alarm" json:"alarm"`
 26737  	// The ManagedEntity on which to enable the alarm.
 26738  	//
 26739  	// Required privileges: System.Read
 26740  	//
 26741  	// Refers instance of `ManagedEntity`.
 26742  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 26743  }
 26744  
 26745  func init() {
 26746  	t["EnableAlarmRequestType"] = reflect.TypeOf((*EnableAlarmRequestType)(nil)).Elem()
 26747  }
 26748  
 26749  type EnableAlarmResponse struct {
 26750  }
 26751  
 26752  type EnableClusteredVmdkSupport EnableClusteredVmdkSupportRequestType
 26753  
 26754  func init() {
 26755  	t["EnableClusteredVmdkSupport"] = reflect.TypeOf((*EnableClusteredVmdkSupport)(nil)).Elem()
 26756  }
 26757  
 26758  // The parameters of `HostDatastoreSystem.EnableClusteredVmdkSupport`.
 26759  type EnableClusteredVmdkSupportRequestType struct {
 26760  	This ManagedObjectReference `xml:"_this" json:"-"`
 26761  	// Datastore on which clustered vmdk should be
 26762  	// enabled
 26763  	//
 26764  	// Refers instance of `Datastore`.
 26765  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 26766  }
 26767  
 26768  func init() {
 26769  	t["EnableClusteredVmdkSupportRequestType"] = reflect.TypeOf((*EnableClusteredVmdkSupportRequestType)(nil)).Elem()
 26770  }
 26771  
 26772  type EnableClusteredVmdkSupportResponse struct {
 26773  }
 26774  
 26775  type EnableCrypto EnableCryptoRequestType
 26776  
 26777  func init() {
 26778  	t["EnableCrypto"] = reflect.TypeOf((*EnableCrypto)(nil)).Elem()
 26779  }
 26780  
 26781  // The parameters of `HostSystem.EnableCrypto`.
 26782  type EnableCryptoRequestType struct {
 26783  	This ManagedObjectReference `xml:"_this" json:"-"`
 26784  	// The key to be used for coredump encryption
 26785  	KeyPlain CryptoKeyPlain `xml:"keyPlain" json:"keyPlain"`
 26786  }
 26787  
 26788  func init() {
 26789  	t["EnableCryptoRequestType"] = reflect.TypeOf((*EnableCryptoRequestType)(nil)).Elem()
 26790  }
 26791  
 26792  type EnableCryptoResponse struct {
 26793  }
 26794  
 26795  type EnableFeature EnableFeatureRequestType
 26796  
 26797  func init() {
 26798  	t["EnableFeature"] = reflect.TypeOf((*EnableFeature)(nil)).Elem()
 26799  }
 26800  
 26801  // The parameters of `LicenseManager.EnableFeature`.
 26802  type EnableFeatureRequestType struct {
 26803  	This ManagedObjectReference `xml:"_this" json:"-"`
 26804  	// Host to act on if LicenseManager is not on a host.
 26805  	//
 26806  	// Refers instance of `HostSystem`.
 26807  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 26808  	// Name of the feature to enable.
 26809  	FeatureKey string `xml:"featureKey" json:"featureKey"`
 26810  }
 26811  
 26812  func init() {
 26813  	t["EnableFeatureRequestType"] = reflect.TypeOf((*EnableFeatureRequestType)(nil)).Elem()
 26814  }
 26815  
 26816  type EnableFeatureResponse struct {
 26817  	Returnval bool `xml:"returnval" json:"returnval"`
 26818  }
 26819  
 26820  type EnableHyperThreading EnableHyperThreadingRequestType
 26821  
 26822  func init() {
 26823  	t["EnableHyperThreading"] = reflect.TypeOf((*EnableHyperThreading)(nil)).Elem()
 26824  }
 26825  
 26826  type EnableHyperThreadingRequestType struct {
 26827  	This ManagedObjectReference `xml:"_this" json:"-"`
 26828  }
 26829  
 26830  func init() {
 26831  	t["EnableHyperThreadingRequestType"] = reflect.TypeOf((*EnableHyperThreadingRequestType)(nil)).Elem()
 26832  }
 26833  
 26834  type EnableHyperThreadingResponse struct {
 26835  }
 26836  
 26837  type EnableMultipathPath EnableMultipathPathRequestType
 26838  
 26839  func init() {
 26840  	t["EnableMultipathPath"] = reflect.TypeOf((*EnableMultipathPath)(nil)).Elem()
 26841  }
 26842  
 26843  // The parameters of `HostStorageSystem.EnableMultipathPath`.
 26844  type EnableMultipathPathRequestType struct {
 26845  	This ManagedObjectReference `xml:"_this" json:"-"`
 26846  	// The name of the path to enable.
 26847  	PathName string `xml:"pathName" json:"pathName"`
 26848  }
 26849  
 26850  func init() {
 26851  	t["EnableMultipathPathRequestType"] = reflect.TypeOf((*EnableMultipathPathRequestType)(nil)).Elem()
 26852  }
 26853  
 26854  type EnableMultipathPathResponse struct {
 26855  }
 26856  
 26857  type EnableNetworkResourceManagement EnableNetworkResourceManagementRequestType
 26858  
 26859  func init() {
 26860  	t["EnableNetworkResourceManagement"] = reflect.TypeOf((*EnableNetworkResourceManagement)(nil)).Elem()
 26861  }
 26862  
 26863  // The parameters of `DistributedVirtualSwitch.EnableNetworkResourceManagement`.
 26864  type EnableNetworkResourceManagementRequestType struct {
 26865  	This ManagedObjectReference `xml:"_this" json:"-"`
 26866  	// If true, enables I/O control. If false,
 26867  	// disables network I/O control.
 26868  	Enable bool `xml:"enable" json:"enable"`
 26869  }
 26870  
 26871  func init() {
 26872  	t["EnableNetworkResourceManagementRequestType"] = reflect.TypeOf((*EnableNetworkResourceManagementRequestType)(nil)).Elem()
 26873  }
 26874  
 26875  type EnableNetworkResourceManagementResponse struct {
 26876  }
 26877  
 26878  type EnableRuleset EnableRulesetRequestType
 26879  
 26880  func init() {
 26881  	t["EnableRuleset"] = reflect.TypeOf((*EnableRuleset)(nil)).Elem()
 26882  }
 26883  
 26884  // The parameters of `HostFirewallSystem.EnableRuleset`.
 26885  type EnableRulesetRequestType struct {
 26886  	This ManagedObjectReference `xml:"_this" json:"-"`
 26887  	Id   string                 `xml:"id" json:"id"`
 26888  }
 26889  
 26890  func init() {
 26891  	t["EnableRulesetRequestType"] = reflect.TypeOf((*EnableRulesetRequestType)(nil)).Elem()
 26892  }
 26893  
 26894  type EnableRulesetResponse struct {
 26895  }
 26896  
 26897  // The parameters of `VirtualMachine.EnableSecondaryVM_Task`.
 26898  type EnableSecondaryVMRequestType struct {
 26899  	This ManagedObjectReference `xml:"_this" json:"-"`
 26900  	// The secondary virtual machine specified will be enabled.
 26901  	// This field must specify a secondary virtual machine that is part of the fault
 26902  	// tolerant group that this virtual machine is currently associated with. It can
 26903  	// only be invoked from the primary virtual machine in the group.
 26904  	//
 26905  	// Refers instance of `VirtualMachine`.
 26906  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 26907  	// The host on which the secondary virtual machine is to be
 26908  	// enabled and possibly powered on. If no host is specified, a compatible host
 26909  	// will be selected by the system. If the secondary virtual machine is not
 26910  	// compatible with the specified host, the secondary will not be re-enabled
 26911  	// and a fault will be returned.
 26912  	//
 26913  	// Refers instance of `HostSystem`.
 26914  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 26915  }
 26916  
 26917  func init() {
 26918  	t["EnableSecondaryVMRequestType"] = reflect.TypeOf((*EnableSecondaryVMRequestType)(nil)).Elem()
 26919  }
 26920  
 26921  type EnableSecondaryVM_Task EnableSecondaryVMRequestType
 26922  
 26923  func init() {
 26924  	t["EnableSecondaryVM_Task"] = reflect.TypeOf((*EnableSecondaryVM_Task)(nil)).Elem()
 26925  }
 26926  
 26927  type EnableSecondaryVM_TaskResponse struct {
 26928  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 26929  }
 26930  
 26931  type EnableSmartCardAuthentication EnableSmartCardAuthenticationRequestType
 26932  
 26933  func init() {
 26934  	t["EnableSmartCardAuthentication"] = reflect.TypeOf((*EnableSmartCardAuthentication)(nil)).Elem()
 26935  }
 26936  
 26937  type EnableSmartCardAuthenticationRequestType struct {
 26938  	This ManagedObjectReference `xml:"_this" json:"-"`
 26939  }
 26940  
 26941  func init() {
 26942  	t["EnableSmartCardAuthenticationRequestType"] = reflect.TypeOf((*EnableSmartCardAuthenticationRequestType)(nil)).Elem()
 26943  }
 26944  
 26945  type EnableSmartCardAuthenticationResponse struct {
 26946  }
 26947  
 26948  // An EncryptionKeyRequired fault occurs when an operation fails due
 26949  // to one or more required encryption keys.
 26950  type EncryptionKeyRequired struct {
 26951  	InvalidState
 26952  
 26953  	// A list of required key identifiers.
 26954  	RequiredKey []CryptoKeyId `xml:"requiredKey,omitempty" json:"requiredKey,omitempty"`
 26955  }
 26956  
 26957  func init() {
 26958  	t["EncryptionKeyRequired"] = reflect.TypeOf((*EncryptionKeyRequired)(nil)).Elem()
 26959  	minAPIVersionForType["EncryptionKeyRequired"] = "6.7"
 26960  }
 26961  
 26962  type EncryptionKeyRequiredFault EncryptionKeyRequired
 26963  
 26964  func init() {
 26965  	t["EncryptionKeyRequiredFault"] = reflect.TypeOf((*EncryptionKeyRequiredFault)(nil)).Elem()
 26966  }
 26967  
 26968  type EnterLockdownMode EnterLockdownModeRequestType
 26969  
 26970  func init() {
 26971  	t["EnterLockdownMode"] = reflect.TypeOf((*EnterLockdownMode)(nil)).Elem()
 26972  }
 26973  
 26974  type EnterLockdownModeRequestType struct {
 26975  	This ManagedObjectReference `xml:"_this" json:"-"`
 26976  }
 26977  
 26978  func init() {
 26979  	t["EnterLockdownModeRequestType"] = reflect.TypeOf((*EnterLockdownModeRequestType)(nil)).Elem()
 26980  }
 26981  
 26982  type EnterLockdownModeResponse struct {
 26983  }
 26984  
 26985  // The parameters of `HostSystem.EnterMaintenanceMode_Task`.
 26986  type EnterMaintenanceModeRequestType struct {
 26987  	This ManagedObjectReference `xml:"_this" json:"-"`
 26988  	// The task completes when the host successfully enters maintenance
 26989  	// mode or the timeout expires, and in the latter case the task
 26990  	// contains a Timeout fault. If the timeout is less than or equal to
 26991  	// zero, there is no timeout. The timeout is specified in seconds.
 26992  	Timeout int32 `xml:"timeout" json:"timeout"`
 26993  	// This is a parameter only supported by VirtualCenter.
 26994  	// If set to true, for a DRS disabled cluster, the task will not
 26995  	// succeed unless all powered-off virtual machines have been manually
 26996  	// reregistered; for a DRS enabled cluster, VirtualCenter will
 26997  	// automatically reregister powered-off virtual machines and a
 26998  	// powered-off virtual machine may remain at the host only for two
 26999  	// reasons: (a) no compatible host found for reregistration, (b) DRS
 27000  	// is disabled for the virtual machine. If set to false, powered-off
 27001  	// virtual machines do not need to be moved.
 27002  	EvacuatePoweredOffVms *bool `xml:"evacuatePoweredOffVms" json:"evacuatePoweredOffVms,omitempty" vim:"2.5"`
 27003  	// Any additional actions to be taken by the host upon
 27004  	// entering maintenance mode. If omitted, default actions will
 27005  	// be taken as documented in the `HostMaintenanceSpec`.
 27006  	MaintenanceSpec *HostMaintenanceSpec `xml:"maintenanceSpec,omitempty" json:"maintenanceSpec,omitempty" vim:"5.5"`
 27007  }
 27008  
 27009  func init() {
 27010  	t["EnterMaintenanceModeRequestType"] = reflect.TypeOf((*EnterMaintenanceModeRequestType)(nil)).Elem()
 27011  }
 27012  
 27013  type EnterMaintenanceMode_Task EnterMaintenanceModeRequestType
 27014  
 27015  func init() {
 27016  	t["EnterMaintenanceMode_Task"] = reflect.TypeOf((*EnterMaintenanceMode_Task)(nil)).Elem()
 27017  }
 27018  
 27019  type EnterMaintenanceMode_TaskResponse struct {
 27020  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 27021  }
 27022  
 27023  // This event records that the host has completely entered
 27024  // maintenance mode.
 27025  //
 27026  // A host in this mode has no running virtual machines and no
 27027  // provisioning operations are occurring.
 27028  type EnteredMaintenanceModeEvent struct {
 27029  	HostEvent
 27030  }
 27031  
 27032  func init() {
 27033  	t["EnteredMaintenanceModeEvent"] = reflect.TypeOf((*EnteredMaintenanceModeEvent)(nil)).Elem()
 27034  }
 27035  
 27036  // This event records that the host has successfully entered
 27037  // standby mode.
 27038  //
 27039  // A host in this mode has no running virtual machines and no
 27040  // provisioning operations are occurring.
 27041  type EnteredStandbyModeEvent struct {
 27042  	HostEvent
 27043  }
 27044  
 27045  func init() {
 27046  	t["EnteredStandbyModeEvent"] = reflect.TypeOf((*EnteredStandbyModeEvent)(nil)).Elem()
 27047  	minAPIVersionForType["EnteredStandbyModeEvent"] = "2.5"
 27048  }
 27049  
 27050  // This event records that a host has begun the process of entering
 27051  // maintenance mode.
 27052  //
 27053  // All virtual machine operations
 27054  // are blocked, except the following:
 27055  //   - MigrateVM
 27056  //   - PowerOffVM
 27057  //   - SuspendVM
 27058  //   - ShutdownGuest
 27059  //   - StandbyGuest
 27060  type EnteringMaintenanceModeEvent struct {
 27061  	HostEvent
 27062  }
 27063  
 27064  func init() {
 27065  	t["EnteringMaintenanceModeEvent"] = reflect.TypeOf((*EnteringMaintenanceModeEvent)(nil)).Elem()
 27066  }
 27067  
 27068  // This event records that a host has begun the process of entering
 27069  // standby mode.
 27070  //
 27071  // All virtual machine operations
 27072  // are blocked, except the following:
 27073  //   - MigrateVM
 27074  //   - PowerOffVM
 27075  //   - SuspendVM
 27076  //   - ShutdownGuest
 27077  //   - StandbyGuest
 27078  type EnteringStandbyModeEvent struct {
 27079  	HostEvent
 27080  }
 27081  
 27082  func init() {
 27083  	t["EnteringStandbyModeEvent"] = reflect.TypeOf((*EnteringStandbyModeEvent)(nil)).Elem()
 27084  	minAPIVersionForType["EnteringStandbyModeEvent"] = "2.5"
 27085  }
 27086  
 27087  // `EntityBackup` is an abstract data object that contains
 27088  // the related entity backup and restore elements for virtual distributed
 27089  // switches and virtual distributed portgroups.
 27090  //
 27091  // See the following elements:
 27092  //   - `EntityBackupConfig`
 27093  //   - `EntityImportType_enum`
 27094  //   - `EntityType_enum`
 27095  type EntityBackup struct {
 27096  	DynamicData
 27097  }
 27098  
 27099  func init() {
 27100  	t["EntityBackup"] = reflect.TypeOf((*EntityBackup)(nil)).Elem()
 27101  	minAPIVersionForType["EntityBackup"] = "5.1"
 27102  }
 27103  
 27104  // The `EntityBackupConfig` data object
 27105  // contains `VmwareDistributedVirtualSwitch`
 27106  // or `DistributedVirtualPortgroup` backup
 27107  // configuration data produced by the
 27108  // `DistributedVirtualSwitchManager.DVSManagerExportEntity_Task`
 27109  // method.
 27110  //
 27111  // It also contains properties that support
 27112  // `DistributedVirtualSwitchManager.DVSManagerImportEntity_Task`
 27113  // operations.
 27114  //
 27115  // A `DistributedVirtualSwitchManager.DVSManagerExportEntity_Task` operation
 27116  // sets properties that identify the entity instance
 27117  // (`EntityBackupConfig.entityType`,
 27118  // `EntityBackupConfig.key`, and
 27119  // `EntityBackupConfig.name`) and
 27120  // inventory location (`EntityBackupConfig.container`).
 27121  // When you import a backup configuration, you can set
 27122  // the <code>key</code>, <code>name</code>, and <code>container</code>
 27123  // properties in accordance with the <code>importType</code>
 27124  // specified in the call to
 27125  // `DistributedVirtualSwitchManager.DVSManagerImportEntity_Task`.
 27126  // See `EntityImportType_enum`.
 27127  type EntityBackupConfig struct {
 27128  	DynamicData
 27129  
 27130  	// Type of the exported entity
 27131  	// (`DistributedVirtualSwitchManager.DVSManagerExportEntity_Task`).
 27132  	//
 27133  	// See `EntityType_enum`
 27134  	// for valid values.
 27135  	EntityType string `xml:"entityType" json:"entityType"`
 27136  	// Opaque blob that contains the configuration of the entity.
 27137  	ConfigBlob []byte `xml:"configBlob" json:"configBlob"`
 27138  	// Unique identifier of the exported entity or the entity to be restored
 27139  	// through an import operation.
 27140  	//     - If you are importing a virtual distributed switch and the import type is
 27141  	//       `applyToEntitySpecified`,
 27142  	//       set the <code>key</code> to
 27143  	//       `DistributedVirtualSwitch*.*DistributedVirtualSwitch.uuid`.
 27144  	//     - If you are importing a virtual distributed portgroup and the import type is
 27145  	//       `applyToEntitySpecified`,
 27146  	//       set the <code>key</code> to
 27147  	//       `DistributedVirtualPortgroup*.*DistributedVirtualPortgroup.key`.
 27148  	//
 27149  	// The Server ignores the key value when the import operation creates a new entity.
 27150  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 27151  	// Name of the exported entity or the entity to be restored with the backup configuration.
 27152  	//
 27153  	// If you are importing an entity and the import type is
 27154  	// `applyToEntitySpecified`,
 27155  	// the Server will use this value to rename the existing entity.
 27156  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 27157  	// Container for this entity.
 27158  	//
 27159  	// If `EntityBackupConfig.entityType` is "distributedVirtualSwitch",
 27160  	// the container type is `Folder`. If `EntityBackupConfig.entityType`
 27161  	// is "distributedVirtualPortgroup", the container type is
 27162  	// `DistributedVirtualSwitch`.
 27163  	//
 27164  	// Refers instance of `ManagedEntity`.
 27165  	Container *ManagedObjectReference `xml:"container,omitempty" json:"container,omitempty"`
 27166  	// Configuration version.
 27167  	ConfigVersion string `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
 27168  }
 27169  
 27170  func init() {
 27171  	t["EntityBackupConfig"] = reflect.TypeOf((*EntityBackupConfig)(nil)).Elem()
 27172  	minAPIVersionForType["EntityBackupConfig"] = "5.1"
 27173  }
 27174  
 27175  // The event argument is a managed entity object.
 27176  //
 27177  // Subclasses of this type distinguish the different managed entities
 27178  // referenced in event objects.
 27179  type EntityEventArgument struct {
 27180  	EventArgument
 27181  
 27182  	// Name of the entity, including its full path from the root of the inventory.
 27183  	Name string `xml:"name" json:"name"`
 27184  }
 27185  
 27186  func init() {
 27187  	t["EntityEventArgument"] = reflect.TypeOf((*EntityEventArgument)(nil)).Elem()
 27188  }
 27189  
 27190  // This class defines whether a set of privileges are granted for a managed entity.
 27191  type EntityPrivilege struct {
 27192  	DynamicData
 27193  
 27194  	// The entity on which the privileges are checked.
 27195  	//
 27196  	// Refers instance of `ManagedEntity`.
 27197  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 27198  	// whether a set of privileges are granted for the managed entity.
 27199  	PrivAvailability []PrivilegeAvailability `xml:"privAvailability" json:"privAvailability"`
 27200  }
 27201  
 27202  func init() {
 27203  	t["EntityPrivilege"] = reflect.TypeOf((*EntityPrivilege)(nil)).Elem()
 27204  	minAPIVersionForType["EntityPrivilege"] = "5.5"
 27205  }
 27206  
 27207  // Static strings used for describing an enumerated type.
 27208  type EnumDescription struct {
 27209  	DynamicData
 27210  
 27211  	// Type of enumeration being described.
 27212  	Key string `xml:"key" json:"key"`
 27213  	// Element descriptions of all the tags for that enumerated type.
 27214  	Tags []BaseElementDescription `xml:"tags,typeattr" json:"tags"`
 27215  }
 27216  
 27217  func init() {
 27218  	t["EnumDescription"] = reflect.TypeOf((*EnumDescription)(nil)).Elem()
 27219  	minAPIVersionForType["EnumDescription"] = "4.0"
 27220  }
 27221  
 27222  // Represent search criteria and filters on a `VirtualMachineConfigOption`
 27223  // object.
 27224  type EnvironmentBrowserConfigOptionQuerySpec struct {
 27225  	DynamicData
 27226  
 27227  	// The key found in the VirtualMachineConfigOptionDescriptor,
 27228  	// obtained by invoking the
 27229  	// `EnvironmentBrowser.QueryConfigOptionDescriptor` operation.
 27230  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 27231  	// The host whose ConfigOption is requested.
 27232  	//
 27233  	// Refers instance of `HostSystem`.
 27234  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 27235  	// The Guest OS IDs whose `VirtualMachineConfigOption` is requested
 27236  	// `GuestOsIdentifier`
 27237  	GuestId []string `xml:"guestId,omitempty" json:"guestId,omitempty"`
 27238  }
 27239  
 27240  func init() {
 27241  	t["EnvironmentBrowserConfigOptionQuerySpec"] = reflect.TypeOf((*EnvironmentBrowserConfigOptionQuerySpec)(nil)).Elem()
 27242  	minAPIVersionForType["EnvironmentBrowserConfigOptionQuerySpec"] = "6.0"
 27243  }
 27244  
 27245  // This event is a general error event from upgrade.
 27246  type ErrorUpgradeEvent struct {
 27247  	UpgradeEvent
 27248  }
 27249  
 27250  func init() {
 27251  	t["ErrorUpgradeEvent"] = reflect.TypeOf((*ErrorUpgradeEvent)(nil)).Elem()
 27252  }
 27253  
 27254  type EstimateDatabaseSize EstimateDatabaseSizeRequestType
 27255  
 27256  func init() {
 27257  	t["EstimateDatabaseSize"] = reflect.TypeOf((*EstimateDatabaseSize)(nil)).Elem()
 27258  }
 27259  
 27260  // The parameters of `ResourcePlanningManager.EstimateDatabaseSize`.
 27261  type EstimateDatabaseSizeRequestType struct {
 27262  	This ManagedObjectReference `xml:"_this" json:"-"`
 27263  	// `DatabaseSizeParam`
 27264  	// Contains the summary of an inventory for which the database size
 27265  	// requirements are to be computed. It also contains
 27266  	// the historic interval setting for which the database
 27267  	// computations are to be done. This is an optional parameter and
 27268  	// the current virtual center historical settings are used by default.
 27269  	// There are many other optional fields in the dbSizeParam structure
 27270  	// that are appropriately filled up based on some heuristics.
 27271  	DbSizeParam DatabaseSizeParam `xml:"dbSizeParam" json:"dbSizeParam"`
 27272  }
 27273  
 27274  func init() {
 27275  	t["EstimateDatabaseSizeRequestType"] = reflect.TypeOf((*EstimateDatabaseSizeRequestType)(nil)).Elem()
 27276  }
 27277  
 27278  type EstimateDatabaseSizeResponse struct {
 27279  	Returnval DatabaseSizeEstimate `xml:"returnval" json:"returnval"`
 27280  }
 27281  
 27282  type EstimateStorageForConsolidateSnapshotsRequestType struct {
 27283  	This ManagedObjectReference `xml:"_this" json:"-"`
 27284  }
 27285  
 27286  func init() {
 27287  	t["EstimateStorageForConsolidateSnapshotsRequestType"] = reflect.TypeOf((*EstimateStorageForConsolidateSnapshotsRequestType)(nil)).Elem()
 27288  }
 27289  
 27290  type EstimateStorageForConsolidateSnapshots_Task EstimateStorageForConsolidateSnapshotsRequestType
 27291  
 27292  func init() {
 27293  	t["EstimateStorageForConsolidateSnapshots_Task"] = reflect.TypeOf((*EstimateStorageForConsolidateSnapshots_Task)(nil)).Elem()
 27294  }
 27295  
 27296  type EstimateStorageForConsolidateSnapshots_TaskResponse struct {
 27297  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 27298  }
 27299  
 27300  type EsxAgentHostManagerUpdateConfig EsxAgentHostManagerUpdateConfigRequestType
 27301  
 27302  func init() {
 27303  	t["EsxAgentHostManagerUpdateConfig"] = reflect.TypeOf((*EsxAgentHostManagerUpdateConfig)(nil)).Elem()
 27304  }
 27305  
 27306  // The parameters of `HostEsxAgentHostManager.EsxAgentHostManagerUpdateConfig`.
 27307  type EsxAgentHostManagerUpdateConfigRequestType struct {
 27308  	This ManagedObjectReference `xml:"_this" json:"-"`
 27309  	// configuration of agent virtual machine resources
 27310  	ConfigInfo HostEsxAgentHostManagerConfigInfo `xml:"configInfo" json:"configInfo"`
 27311  }
 27312  
 27313  func init() {
 27314  	t["EsxAgentHostManagerUpdateConfigRequestType"] = reflect.TypeOf((*EsxAgentHostManagerUpdateConfigRequestType)(nil)).Elem()
 27315  }
 27316  
 27317  type EsxAgentHostManagerUpdateConfigResponse struct {
 27318  }
 27319  
 27320  // The parameters of `HostVsanSystem.EvacuateVsanNode_Task`.
 27321  type EvacuateVsanNodeRequestType struct {
 27322  	This ManagedObjectReference `xml:"_this" json:"-"`
 27323  	// Specifies the data evacuation mode. See `HostMaintenanceSpec`.
 27324  	// If unspecified, the default mode chosen will be
 27325  	// `ensureObjectAccessibility`.
 27326  	MaintenanceSpec HostMaintenanceSpec `xml:"maintenanceSpec" json:"maintenanceSpec"`
 27327  	// Time to wait for the task to complete in seconds.
 27328  	// If the value is less than or equal to zero, there
 27329  	// is no timeout. The operation fails with a Timedout
 27330  	// exception if it timed out.
 27331  	Timeout int32 `xml:"timeout" json:"timeout"`
 27332  }
 27333  
 27334  func init() {
 27335  	t["EvacuateVsanNodeRequestType"] = reflect.TypeOf((*EvacuateVsanNodeRequestType)(nil)).Elem()
 27336  }
 27337  
 27338  type EvacuateVsanNode_Task EvacuateVsanNodeRequestType
 27339  
 27340  func init() {
 27341  	t["EvacuateVsanNode_Task"] = reflect.TypeOf((*EvacuateVsanNode_Task)(nil)).Elem()
 27342  }
 27343  
 27344  type EvacuateVsanNode_TaskResponse struct {
 27345  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 27346  }
 27347  
 27348  // Deprecated as of vSphere API 4.0, this is not used by the system.
 27349  //
 27350  // Specify an evaluation license source.
 27351  //
 27352  // Feature licensing is not required while the remaining hours is greater than zero.
 27353  type EvaluationLicenseSource struct {
 27354  	LicenseSource
 27355  
 27356  	// The number of remaining hours before product evaluation expires
 27357  	RemainingHours int64 `xml:"remainingHours,omitempty" json:"remainingHours,omitempty"`
 27358  }
 27359  
 27360  func init() {
 27361  	t["EvaluationLicenseSource"] = reflect.TypeOf((*EvaluationLicenseSource)(nil)).Elem()
 27362  	minAPIVersionForType["EvaluationLicenseSource"] = "2.5"
 27363  }
 27364  
 27365  type EvcManager EvcManagerRequestType
 27366  
 27367  func init() {
 27368  	t["EvcManager"] = reflect.TypeOf((*EvcManager)(nil)).Elem()
 27369  }
 27370  
 27371  type EvcManagerRequestType struct {
 27372  	This ManagedObjectReference `xml:"_this" json:"-"`
 27373  }
 27374  
 27375  func init() {
 27376  	t["EvcManagerRequestType"] = reflect.TypeOf((*EvcManagerRequestType)(nil)).Elem()
 27377  }
 27378  
 27379  type EvcManagerResponse struct {
 27380  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 27381  }
 27382  
 27383  // This event is the base data object type from which all events inherit.
 27384  //
 27385  // All event
 27386  // objects are data structures that describe events. While event data objects are data
 27387  // structures that describe events, event data type documentation may describe what the
 27388  // event records, rather than the data structure, itself.
 27389  type Event struct {
 27390  	DynamicData
 27391  
 27392  	// The event ID.
 27393  	Key int32 `xml:"key" json:"key"`
 27394  	// The parent or group ID.
 27395  	ChainId int32 `xml:"chainId" json:"chainId"`
 27396  	// The time the event was created.
 27397  	CreatedTime time.Time `xml:"createdTime" json:"createdTime"`
 27398  	// The user who caused the event.
 27399  	UserName string `xml:"userName" json:"userName"`
 27400  	// The Datacenter object of the event.
 27401  	Datacenter *DatacenterEventArgument `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 27402  	// The ComputeResource object of the event.
 27403  	ComputeResource *ComputeResourceEventArgument `xml:"computeResource,omitempty" json:"computeResource,omitempty"`
 27404  	// The Host object of the event.
 27405  	Host *HostEventArgument `xml:"host,omitempty" json:"host,omitempty"`
 27406  	// The VirtualMachine object of the event.
 27407  	Vm *VmEventArgument `xml:"vm,omitempty" json:"vm,omitempty"`
 27408  	// The Datastore object of the event.
 27409  	Ds *DatastoreEventArgument `xml:"ds,omitempty" json:"ds,omitempty" vim:"4.0"`
 27410  	// The Network object of the event.
 27411  	Net *NetworkEventArgument `xml:"net,omitempty" json:"net,omitempty" vim:"4.0"`
 27412  	// The DistributedVirtualSwitch object of the event.
 27413  	Dvs *DvsEventArgument `xml:"dvs,omitempty" json:"dvs,omitempty" vim:"4.0"`
 27414  	// A formatted text message describing the event.
 27415  	//
 27416  	// The message may be localized.
 27417  	FullFormattedMessage string `xml:"fullFormattedMessage,omitempty" json:"fullFormattedMessage,omitempty"`
 27418  	// The user entered tag to identify the operations and their side effects
 27419  	ChangeTag string `xml:"changeTag,omitempty" json:"changeTag,omitempty" vim:"4.0"`
 27420  }
 27421  
 27422  func init() {
 27423  	t["Event"] = reflect.TypeOf((*Event)(nil)).Elem()
 27424  }
 27425  
 27426  // An alarm expression that uses the event stream to trigger the alarm.
 27427  //
 27428  // This alarm is triggered when an event matching this expression gets logged.
 27429  type EventAlarmExpression struct {
 27430  	AlarmExpression
 27431  
 27432  	// The attributes/values to compare.
 27433  	Comparisons []EventAlarmExpressionComparison `xml:"comparisons,omitempty" json:"comparisons,omitempty" vim:"4.0"`
 27434  	// Deprecated use <code>eventTypeId</code> instead.
 27435  	//
 27436  	// The type of the event to trigger the alarm on.
 27437  	EventType string `xml:"eventType" json:"eventType"`
 27438  	// The eventTypeId of the event to match.
 27439  	//
 27440  	// The semantics of how eventTypeId matching is done is as follows:
 27441  	//     - If the event being matched is of type `EventEx`
 27442  	//       or `ExtendedEvent`, then we match this value
 27443  	//       against the <code>eventTypeId</code> (for <code>EventEx</code>) or
 27444  	//       <code>eventId</code> (for <code>ExtendedEvent</code>) member of the Event.
 27445  	//     - Otherwise, we match it against the type of the Event itself.
 27446  	//
 27447  	// Either <code>eventType</code> or <code>eventTypeId</code> _must_
 27448  	// be set.
 27449  	EventTypeId string `xml:"eventTypeId,omitempty" json:"eventTypeId,omitempty"`
 27450  	// Name of the type of managed object on which the event is logged.
 27451  	//
 27452  	// An event alarm defined on a `ManagedEntity`
 27453  	// is propagated to child entities in the VirtualCenter inventory depending
 27454  	// on the value of this attribute. If objectType is any of the following,
 27455  	// the alarm is propagated down to all children of that type:
 27456  	//     - A datacenter: `Datacenter`.
 27457  	//     - A cluster of host systems: `ClusterComputeResource`.
 27458  	//     - A single host system: `HostSystem`.
 27459  	//     - A resource pool representing a set of physical resources on a single host:
 27460  	//       `ResourcePool`.
 27461  	//     - A virtual machine: `VirtualMachine`.
 27462  	//     - A datastore: `Datastore`.
 27463  	//     - A network: `Network`.
 27464  	//     - A distributed virtual switch: `DistributedVirtualSwitch`.
 27465  	//
 27466  	// If objectType is unspecified or not contained in the above list,
 27467  	// the event alarm is not propagated down to child entities in the
 27468  	// VirtualCenter inventory.
 27469  	//
 27470  	// It is possible to specify an event alarm containing two (or more) different
 27471  	// EventAlarmExpression's which contain different objectTypes. In such a case,
 27472  	// the event is propagated to all child entities with specified type(s).
 27473  	ObjectType string `xml:"objectType,omitempty" json:"objectType,omitempty" vim:"4.0"`
 27474  	// The alarm's new state when this condition is evaluated and satisfied.
 27475  	//
 27476  	// If not specified then there is no change to alarm status, and all
 27477  	// actions are fired (rather than those for the transition).
 27478  	Status ManagedEntityStatus `xml:"status,omitempty" json:"status,omitempty" vim:"4.0"`
 27479  }
 27480  
 27481  func init() {
 27482  	t["EventAlarmExpression"] = reflect.TypeOf((*EventAlarmExpression)(nil)).Elem()
 27483  	minAPIVersionForType["EventAlarmExpression"] = "2.5"
 27484  }
 27485  
 27486  // Encapsulates Comparison of an event's attribute to a value.
 27487  type EventAlarmExpressionComparison struct {
 27488  	DynamicData
 27489  
 27490  	// The attribute of the event to compare
 27491  	AttributeName string `xml:"attributeName" json:"attributeName"`
 27492  	// An operator from the list above
 27493  	Operator string `xml:"operator" json:"operator"`
 27494  	// The value to compare against
 27495  	Value string `xml:"value" json:"value"`
 27496  }
 27497  
 27498  func init() {
 27499  	t["EventAlarmExpressionComparison"] = reflect.TypeOf((*EventAlarmExpressionComparison)(nil)).Elem()
 27500  	minAPIVersionForType["EventAlarmExpressionComparison"] = "4.0"
 27501  }
 27502  
 27503  // Describes an available event argument name for an Event type, which
 27504  // can be used in `EventAlarmExpression`.
 27505  type EventArgDesc struct {
 27506  	DynamicData
 27507  
 27508  	// The name of the argument
 27509  	Name string `xml:"name" json:"name"`
 27510  	// The type of the argument.
 27511  	Type string `xml:"type" json:"type"`
 27512  	// The localized description of the event argument.
 27513  	//
 27514  	// The key holds
 27515  	// the localization prefix for the argument, which is decided by
 27516  	// the Event type that it is actually declared in, which may be a
 27517  	// base type of this event type.
 27518  	Description BaseElementDescription `xml:"description,omitempty,typeattr" json:"description,omitempty"`
 27519  }
 27520  
 27521  func init() {
 27522  	t["EventArgDesc"] = reflect.TypeOf((*EventArgDesc)(nil)).Elem()
 27523  	minAPIVersionForType["EventArgDesc"] = "4.0"
 27524  }
 27525  
 27526  // This is the base type for event argument types.
 27527  //
 27528  // Event argument objects, which inherit from a common subtype,
 27529  // are used to manage supplementary properties of different kinds
 27530  // of event objects.
 27531  type EventArgument struct {
 27532  	DynamicData
 27533  }
 27534  
 27535  func init() {
 27536  	t["EventArgument"] = reflect.TypeOf((*EventArgument)(nil)).Elem()
 27537  }
 27538  
 27539  // This data object provides static, locale-specific strings for event objects.
 27540  type EventDescription struct {
 27541  	DynamicData
 27542  
 27543  	// *Event Category enum*
 27544  	Category []BaseElementDescription `xml:"category,typeattr" json:"category"`
 27545  	// The event class description details.
 27546  	EventInfo []EventDescriptionEventDetail `xml:"eventInfo" json:"eventInfo"`
 27547  	// Localized descriptions of all enumerated types that are used for
 27548  	// member declarations in event classes.
 27549  	EnumeratedTypes []EnumDescription `xml:"enumeratedTypes,omitempty" json:"enumeratedTypes,omitempty" vim:"4.0"`
 27550  }
 27551  
 27552  func init() {
 27553  	t["EventDescription"] = reflect.TypeOf((*EventDescription)(nil)).Elem()
 27554  }
 27555  
 27556  // Each Event object provides an automatic event message string through
 27557  // its `fullFormattedMessage`
 27558  // property.
 27559  //
 27560  // However, you can use the EventDetail object's properties to
 27561  // format an event message string that is appropriate when viewed from
 27562  // a specific context. The variable information (vm.name, and so on) is
 27563  // derived from the Event object's event arguments
 27564  // (`VmEventArgument`, and so on).
 27565  type EventDescriptionEventDetail struct {
 27566  	DynamicData
 27567  
 27568  	// Type of event being described.
 27569  	Key string `xml:"key" json:"key"`
 27570  	// A string that is a short human-parseable description of the event.
 27571  	//
 27572  	// This is not the full message string (which may contain details
 27573  	// of the arguments, etc.), but merely a more understandable, and
 27574  	// localized, description of what the event stands for. It is meant
 27575  	// for contexts where the _name_ of the event has to be displayed
 27576  	// to end-users, e.g. when creating Event-based Alarms.
 27577  	// \` \*
 27578  	//
 27579  	// E.g., for `VmPoweredOnEvent`, the eventDescription
 27580  	// in English might say "VM Powered On".
 27581  	Description string `xml:"description,omitempty" json:"description,omitempty" vim:"4.0"`
 27582  	// A category of events.
 27583  	Category string `xml:"category" json:"category"`
 27584  	// A string that is appropriate in the context of a specific
 27585  	// Datacenter.
 27586  	//
 27587  	// For example, a renaming event in this context produces
 27588  	// the following string:
 27589  	//
 27590  	// "Renamed {vm.name} from {oldName} to {newName}"
 27591  	//
 27592  	// where `oldName` and
 27593  	// `newName` are properties of the
 27594  	// VmRenamedEvent object.
 27595  	FormatOnDatacenter string `xml:"formatOnDatacenter" json:"formatOnDatacenter"`
 27596  	// A string that is appropriate in the context of a specific cluster.
 27597  	//
 27598  	// For example, a powering on event in this context produces the
 27599  	// following string:
 27600  	//
 27601  	// "{vm.name} on {host.name} is powered on".
 27602  	FormatOnComputeResource string `xml:"formatOnComputeResource" json:"formatOnComputeResource"`
 27603  	// A string that is appropriate in the context
 27604  	// of a specific Host.
 27605  	//
 27606  	// For example, a powering on event in this
 27607  	// context produces the following string:
 27608  	//
 27609  	// "{vm.name} is powered on"
 27610  	FormatOnHost string `xml:"formatOnHost" json:"formatOnHost"`
 27611  	// A string that is appropriate for the context of a specific
 27612  	// virtual machine.
 27613  	//
 27614  	// For example, a powering on event in this context
 27615  	// produces the following string:
 27616  	//
 27617  	// "Virtual machine on {host.name} is powered on"
 27618  	FormatOnVm string `xml:"formatOnVm" json:"formatOnVm"`
 27619  	// A string whose context is not entity-specific.
 27620  	//
 27621  	// For example, a
 27622  	// powering on event produces the following string:
 27623  	//
 27624  	// "{vm.name} on {host.name} in {datacenter.name} is powered on"
 27625  	FullFormat string `xml:"fullFormat" json:"fullFormat"`
 27626  	// A detailed description of the event.
 27627  	//
 27628  	// It includes common causes
 27629  	// and actions to remediate them. It may also include links to kb
 27630  	// articles and other diagnostic information.
 27631  	// For example, the BadUserNameSessionEvent may produce the
 27632  	// following string:
 27633  	//
 27634  	//              <EventLongDescription id="vim.event.BadUserNameSessionEvent">
 27635  	//                 <description>
 27636  	//                    The user could not be logged in because of an unknown or invalid
 27637  	//                    user name.
 27638  	//                 </description>
 27639  	//                 <cause>
 27640  	//                    <description>The user name was unknown to the system</description>
 27641  	//                    <action>Use a user name known to the system user directory</action>
 27642  	//                    <action>(On Linux) Check if the user directory is correctly
 27643  	//                            configured.</action>
 27644  	//                    <action>Check the health of the domain controller (if you are using
 27645  	//                            Active Directory)</action>
 27646  	//                 </cause>
 27647  	//                 <cause>
 27648  	//                    <description>The user provided an invalid password</description>
 27649  	//                    <action>Supply the correct password</action>
 27650  	//                 </cause>
 27651  	//              </EventLongDescription>
 27652  	LongDescription string `xml:"longDescription,omitempty" json:"longDescription,omitempty" vim:"4.1"`
 27653  }
 27654  
 27655  func init() {
 27656  	t["EventDescriptionEventDetail"] = reflect.TypeOf((*EventDescriptionEventDetail)(nil)).Elem()
 27657  }
 27658  
 27659  // EventEx is a dynamically typed Event class, whose type is indicated by its
 27660  // eventTypeId property.
 27661  //
 27662  // A collection of eventTypeIds is registered by Extensions, which can now
 27663  // pass in optional type information for each eventTypeId which indicates the
 27664  // applicable argument names and types, among other properties.
 27665  //
 27666  // EventEx allows event arguments of any type, though today, the system
 27667  // only supports "string" and "moid" (a string which can be interpreted as an
 27668  // object ID in the system) as argument types. In the future, the system
 27669  // may optionally strongly check the types of the arguments in the event
 27670  // against the declared type information, based on how the event type is
 27671  // declared.
 27672  //
 27673  // EventEx also allows arbitrary "event object"s - the object which the
 27674  // event refers to. You can put in any object identifier as the objectId,
 27675  // but objectType should be filled in only if the object is actually present
 27676  // in the VC Server's ManagedEntity inventory.
 27677  type EventEx struct {
 27678  	Event
 27679  
 27680  	// The type of the event.
 27681  	EventTypeId string `xml:"eventTypeId" json:"eventTypeId"`
 27682  	// The severity level of the message: null=&gt;info.
 27683  	//
 27684  	// See also `EventEventSeverity_enum`.
 27685  	Severity string `xml:"severity,omitempty" json:"severity,omitempty"`
 27686  	// An arbitrary message string, not localized.
 27687  	Message string `xml:"message,omitempty" json:"message,omitempty"`
 27688  	// The event arguments associated with the event
 27689  	Arguments []KeyAnyValue `xml:"arguments,omitempty" json:"arguments,omitempty"`
 27690  	// The ID of the object (VM, Host, Folder..) which the event pertains to.
 27691  	//
 27692  	// Federated or local inventory path.
 27693  	ObjectId string `xml:"objectId,omitempty" json:"objectId,omitempty"`
 27694  	// the type of the object, if known to the VirtualCenter inventory
 27695  	ObjectType string `xml:"objectType,omitempty" json:"objectType,omitempty"`
 27696  	// The name of the object
 27697  	ObjectName string `xml:"objectName,omitempty" json:"objectName,omitempty" vim:"4.1"`
 27698  	// The fault that triggered the event, if any
 27699  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty" vim:"4.1"`
 27700  }
 27701  
 27702  func init() {
 27703  	t["EventEx"] = reflect.TypeOf((*EventEx)(nil)).Elem()
 27704  	minAPIVersionForType["EventEx"] = "4.0"
 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" vim:"4.0"`
 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" vim:"4.0"`
 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" vim:"6.5"`
 27796  }
 27797  
 27798  func init() {
 27799  	t["EventFilterSpec"] = reflect.TypeOf((*EventFilterSpec)(nil)).Elem()
 27800  }
 27801  
 27802  // This option specifies a managed entity used to filter event history.
 27803  //
 27804  // If the specified managed entity is a Folder or a ResourcePool, the query
 27805  // will actually be performed on the entities contained within that Folder
 27806  // or ResourcePool, so you cannot query for events on Folders and
 27807  // ResourcePools themselves this way.
 27808  type EventFilterSpecByEntity struct {
 27809  	DynamicData
 27810  
 27811  	// The managed entity to which the event pertains.
 27812  	//
 27813  	// Refers instance of `ManagedEntity`.
 27814  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 27815  	// Specification of related managed entities in the inventory hierarchy.
 27816  	Recursion EventFilterSpecRecursionOption `xml:"recursion" json:"recursion"`
 27817  }
 27818  
 27819  func init() {
 27820  	t["EventFilterSpecByEntity"] = reflect.TypeOf((*EventFilterSpecByEntity)(nil)).Elem()
 27821  }
 27822  
 27823  // This option specifies a time range used to filter event history.
 27824  type EventFilterSpecByTime struct {
 27825  	DynamicData
 27826  
 27827  	// The beginning of the time range.
 27828  	//
 27829  	// If this property is not set, then events are collected from
 27830  	// the earliest time in the database.
 27831  	BeginTime *time.Time `xml:"beginTime" json:"beginTime,omitempty"`
 27832  	// The end of the time range.
 27833  	//
 27834  	// If this property is not specified, then events are collected up to
 27835  	// the latest time in the database.
 27836  	EndTime *time.Time `xml:"endTime" json:"endTime,omitempty"`
 27837  }
 27838  
 27839  func init() {
 27840  	t["EventFilterSpecByTime"] = reflect.TypeOf((*EventFilterSpecByTime)(nil)).Elem()
 27841  }
 27842  
 27843  // This option specifies users used to filter event history.
 27844  type EventFilterSpecByUsername struct {
 27845  	DynamicData
 27846  
 27847  	// filter by system user
 27848  	// true for system user event
 27849  	SystemUser bool `xml:"systemUser" json:"systemUser"`
 27850  	// all interested username list
 27851  	// If this property is not set, then all regular user events are
 27852  	// collected
 27853  	UserList []string `xml:"userList,omitempty" json:"userList,omitempty"`
 27854  }
 27855  
 27856  func init() {
 27857  	t["EventFilterSpecByUsername"] = reflect.TypeOf((*EventFilterSpecByUsername)(nil)).Elem()
 27858  }
 27859  
 27860  type ExecuteHostProfile ExecuteHostProfileRequestType
 27861  
 27862  func init() {
 27863  	t["ExecuteHostProfile"] = reflect.TypeOf((*ExecuteHostProfile)(nil)).Elem()
 27864  }
 27865  
 27866  // The parameters of `HostProfile.ExecuteHostProfile`.
 27867  type ExecuteHostProfileRequestType struct {
 27868  	This ManagedObjectReference `xml:"_this" json:"-"`
 27869  	// Host on which to execute the profile.
 27870  	// The host does not have to be associated with the profile.
 27871  	//
 27872  	// Refers instance of `HostSystem`.
 27873  	Host ManagedObjectReference `xml:"host" json:"host"`
 27874  	// Additional configuration data to be applied to the host.
 27875  	// This should contain all of the host-specific data, including data from from
 27876  	// previous calls to the method.
 27877  	DeferredParam []ProfileDeferredPolicyOptionParameter `xml:"deferredParam,omitempty" json:"deferredParam,omitempty"`
 27878  }
 27879  
 27880  func init() {
 27881  	t["ExecuteHostProfileRequestType"] = reflect.TypeOf((*ExecuteHostProfileRequestType)(nil)).Elem()
 27882  }
 27883  
 27884  type ExecuteHostProfileResponse struct {
 27885  	Returnval BaseProfileExecuteResult `xml:"returnval,typeattr" json:"returnval"`
 27886  }
 27887  
 27888  type ExecuteSimpleCommand ExecuteSimpleCommandRequestType
 27889  
 27890  func init() {
 27891  	t["ExecuteSimpleCommand"] = reflect.TypeOf((*ExecuteSimpleCommand)(nil)).Elem()
 27892  }
 27893  
 27894  // The parameters of `SimpleCommand.ExecuteSimpleCommand`.
 27895  type ExecuteSimpleCommandRequestType struct {
 27896  	This ManagedObjectReference `xml:"_this" json:"-"`
 27897  	// An arbitrary collection of arguments.
 27898  	Arguments []string `xml:"arguments,omitempty" json:"arguments,omitempty"`
 27899  }
 27900  
 27901  func init() {
 27902  	t["ExecuteSimpleCommandRequestType"] = reflect.TypeOf((*ExecuteSimpleCommandRequestType)(nil)).Elem()
 27903  }
 27904  
 27905  type ExecuteSimpleCommandResponse struct {
 27906  	Returnval string `xml:"returnval" json:"returnval"`
 27907  }
 27908  
 27909  type ExitLockdownMode ExitLockdownModeRequestType
 27910  
 27911  func init() {
 27912  	t["ExitLockdownMode"] = reflect.TypeOf((*ExitLockdownMode)(nil)).Elem()
 27913  }
 27914  
 27915  type ExitLockdownModeRequestType struct {
 27916  	This ManagedObjectReference `xml:"_this" json:"-"`
 27917  }
 27918  
 27919  func init() {
 27920  	t["ExitLockdownModeRequestType"] = reflect.TypeOf((*ExitLockdownModeRequestType)(nil)).Elem()
 27921  }
 27922  
 27923  type ExitLockdownModeResponse struct {
 27924  }
 27925  
 27926  // This event records that the host is no longer in
 27927  // maintenance mode.
 27928  type ExitMaintenanceModeEvent struct {
 27929  	HostEvent
 27930  }
 27931  
 27932  func init() {
 27933  	t["ExitMaintenanceModeEvent"] = reflect.TypeOf((*ExitMaintenanceModeEvent)(nil)).Elem()
 27934  }
 27935  
 27936  // The parameters of `HostSystem.ExitMaintenanceMode_Task`.
 27937  type ExitMaintenanceModeRequestType struct {
 27938  	This ManagedObjectReference `xml:"_this" json:"-"`
 27939  	// Number of seconds to wait for the exit maintenance mode to
 27940  	// succeed. If the timeout is less than or equal to zero, there
 27941  	// is no timeout.
 27942  	Timeout int32 `xml:"timeout" json:"timeout"`
 27943  }
 27944  
 27945  func init() {
 27946  	t["ExitMaintenanceModeRequestType"] = reflect.TypeOf((*ExitMaintenanceModeRequestType)(nil)).Elem()
 27947  }
 27948  
 27949  type ExitMaintenanceMode_Task ExitMaintenanceModeRequestType
 27950  
 27951  func init() {
 27952  	t["ExitMaintenanceMode_Task"] = reflect.TypeOf((*ExitMaintenanceMode_Task)(nil)).Elem()
 27953  }
 27954  
 27955  type ExitMaintenanceMode_TaskResponse struct {
 27956  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 27957  }
 27958  
 27959  // This event records that the host failed to exit standby mode.
 27960  type ExitStandbyModeFailedEvent struct {
 27961  	HostEvent
 27962  }
 27963  
 27964  func init() {
 27965  	t["ExitStandbyModeFailedEvent"] = reflect.TypeOf((*ExitStandbyModeFailedEvent)(nil)).Elem()
 27966  	minAPIVersionForType["ExitStandbyModeFailedEvent"] = "4.0"
 27967  }
 27968  
 27969  // This event records that the host is no longer in
 27970  // standby mode.
 27971  type ExitedStandbyModeEvent struct {
 27972  	HostEvent
 27973  }
 27974  
 27975  func init() {
 27976  	t["ExitedStandbyModeEvent"] = reflect.TypeOf((*ExitedStandbyModeEvent)(nil)).Elem()
 27977  	minAPIVersionForType["ExitedStandbyModeEvent"] = "2.5"
 27978  }
 27979  
 27980  // This event records that a host has begun the process of
 27981  // exiting standby mode.
 27982  type ExitingStandbyModeEvent struct {
 27983  	HostEvent
 27984  }
 27985  
 27986  func init() {
 27987  	t["ExitingStandbyModeEvent"] = reflect.TypeOf((*ExitingStandbyModeEvent)(nil)).Elem()
 27988  	minAPIVersionForType["ExitingStandbyModeEvent"] = "4.0"
 27989  }
 27990  
 27991  type ExpandVmfsDatastore ExpandVmfsDatastoreRequestType
 27992  
 27993  func init() {
 27994  	t["ExpandVmfsDatastore"] = reflect.TypeOf((*ExpandVmfsDatastore)(nil)).Elem()
 27995  }
 27996  
 27997  // The parameters of `HostDatastoreSystem.ExpandVmfsDatastore`.
 27998  type ExpandVmfsDatastoreRequestType struct {
 27999  	This ManagedObjectReference `xml:"_this" json:"-"`
 28000  	// The datastore whose capacity should be increased.
 28001  	//
 28002  	// Refers instance of `Datastore`.
 28003  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 28004  	// The specification describing which extent of the VMFS
 28005  	// datastore to expand.
 28006  	Spec VmfsDatastoreExpandSpec `xml:"spec" json:"spec"`
 28007  }
 28008  
 28009  func init() {
 28010  	t["ExpandVmfsDatastoreRequestType"] = reflect.TypeOf((*ExpandVmfsDatastoreRequestType)(nil)).Elem()
 28011  }
 28012  
 28013  type ExpandVmfsDatastoreResponse struct {
 28014  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 28015  }
 28016  
 28017  type ExpandVmfsExtent ExpandVmfsExtentRequestType
 28018  
 28019  func init() {
 28020  	t["ExpandVmfsExtent"] = reflect.TypeOf((*ExpandVmfsExtent)(nil)).Elem()
 28021  }
 28022  
 28023  // The parameters of `HostStorageSystem.ExpandVmfsExtent`.
 28024  type ExpandVmfsExtentRequestType struct {
 28025  	This ManagedObjectReference `xml:"_this" json:"-"`
 28026  	// The path of the VMFS to expand. See `FileSystemMountInfo`.
 28027  	VmfsPath string `xml:"vmfsPath" json:"vmfsPath"`
 28028  	// The disk partition corresponding to the extent to be
 28029  	// expanded.
 28030  	Extent HostScsiDiskPartition `xml:"extent" json:"extent"`
 28031  }
 28032  
 28033  func init() {
 28034  	t["ExpandVmfsExtentRequestType"] = reflect.TypeOf((*ExpandVmfsExtentRequestType)(nil)).Elem()
 28035  }
 28036  
 28037  type ExpandVmfsExtentResponse struct {
 28038  }
 28039  
 28040  // An ExpiredAddonLicense fault is thrown if an attempt to acquire an Addon license
 28041  // 'feature failed for count 'count'.
 28042  type ExpiredAddonLicense struct {
 28043  	ExpiredFeatureLicense
 28044  }
 28045  
 28046  func init() {
 28047  	t["ExpiredAddonLicense"] = reflect.TypeOf((*ExpiredAddonLicense)(nil)).Elem()
 28048  	minAPIVersionForType["ExpiredAddonLicense"] = "2.5"
 28049  }
 28050  
 28051  type ExpiredAddonLicenseFault ExpiredAddonLicense
 28052  
 28053  func init() {
 28054  	t["ExpiredAddonLicenseFault"] = reflect.TypeOf((*ExpiredAddonLicenseFault)(nil)).Elem()
 28055  }
 28056  
 28057  // An ExpiredEditionLicense fault is thrown if an attempt to acquire an Edition license
 28058  // 'feature failed for count 'count'.
 28059  type ExpiredEditionLicense struct {
 28060  	ExpiredFeatureLicense
 28061  }
 28062  
 28063  func init() {
 28064  	t["ExpiredEditionLicense"] = reflect.TypeOf((*ExpiredEditionLicense)(nil)).Elem()
 28065  	minAPIVersionForType["ExpiredEditionLicense"] = "2.5"
 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  	minAPIVersionForType["ExpiredFeatureLicense"] = "2.5"
 28087  }
 28088  
 28089  type ExpiredFeatureLicenseFault BaseExpiredFeatureLicense
 28090  
 28091  func init() {
 28092  	t["ExpiredFeatureLicenseFault"] = reflect.TypeOf((*ExpiredFeatureLicenseFault)(nil)).Elem()
 28093  }
 28094  
 28095  // The parameters of `HostProfileManager.ExportAnswerFile_Task`.
 28096  type ExportAnswerFileRequestType struct {
 28097  	This ManagedObjectReference `xml:"_this" json:"-"`
 28098  	// Host with which the answer file is associated.
 28099  	//
 28100  	// Refers instance of `HostSystem`.
 28101  	Host ManagedObjectReference `xml:"host" json:"host"`
 28102  }
 28103  
 28104  func init() {
 28105  	t["ExportAnswerFileRequestType"] = reflect.TypeOf((*ExportAnswerFileRequestType)(nil)).Elem()
 28106  }
 28107  
 28108  type ExportAnswerFile_Task ExportAnswerFileRequestType
 28109  
 28110  func init() {
 28111  	t["ExportAnswerFile_Task"] = reflect.TypeOf((*ExportAnswerFile_Task)(nil)).Elem()
 28112  }
 28113  
 28114  type ExportAnswerFile_TaskResponse struct {
 28115  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 28116  }
 28117  
 28118  type ExportProfile ExportProfileRequestType
 28119  
 28120  func init() {
 28121  	t["ExportProfile"] = reflect.TypeOf((*ExportProfile)(nil)).Elem()
 28122  }
 28123  
 28124  type ExportProfileRequestType struct {
 28125  	This ManagedObjectReference `xml:"_this" json:"-"`
 28126  }
 28127  
 28128  func init() {
 28129  	t["ExportProfileRequestType"] = reflect.TypeOf((*ExportProfileRequestType)(nil)).Elem()
 28130  }
 28131  
 28132  type ExportProfileResponse struct {
 28133  	Returnval string `xml:"returnval" json:"returnval"`
 28134  }
 28135  
 28136  type ExportSnapshot ExportSnapshotRequestType
 28137  
 28138  func init() {
 28139  	t["ExportSnapshot"] = reflect.TypeOf((*ExportSnapshot)(nil)).Elem()
 28140  }
 28141  
 28142  type ExportSnapshotRequestType struct {
 28143  	This ManagedObjectReference `xml:"_this" json:"-"`
 28144  }
 28145  
 28146  func init() {
 28147  	t["ExportSnapshotRequestType"] = reflect.TypeOf((*ExportSnapshotRequestType)(nil)).Elem()
 28148  }
 28149  
 28150  type ExportSnapshotResponse struct {
 28151  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 28152  }
 28153  
 28154  type ExportVApp ExportVAppRequestType
 28155  
 28156  func init() {
 28157  	t["ExportVApp"] = reflect.TypeOf((*ExportVApp)(nil)).Elem()
 28158  }
 28159  
 28160  type ExportVAppRequestType struct {
 28161  	This ManagedObjectReference `xml:"_this" json:"-"`
 28162  }
 28163  
 28164  func init() {
 28165  	t["ExportVAppRequestType"] = reflect.TypeOf((*ExportVAppRequestType)(nil)).Elem()
 28166  }
 28167  
 28168  type ExportVAppResponse struct {
 28169  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 28170  }
 28171  
 28172  type ExportVm ExportVmRequestType
 28173  
 28174  func init() {
 28175  	t["ExportVm"] = reflect.TypeOf((*ExportVm)(nil)).Elem()
 28176  }
 28177  
 28178  type ExportVmRequestType struct {
 28179  	This ManagedObjectReference `xml:"_this" json:"-"`
 28180  }
 28181  
 28182  func init() {
 28183  	t["ExportVmRequestType"] = reflect.TypeOf((*ExportVmRequestType)(nil)).Elem()
 28184  }
 28185  
 28186  type ExportVmResponse struct {
 28187  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 28188  }
 28189  
 28190  // This data object encapsulates extended product information for an extension.
 28191  type ExtExtendedProductInfo struct {
 28192  	DynamicData
 28193  
 28194  	// URL to extension vendor.
 28195  	CompanyUrl string `xml:"companyUrl,omitempty" json:"companyUrl,omitempty"`
 28196  	// URL to vendor's description of this extension.
 28197  	ProductUrl string `xml:"productUrl,omitempty" json:"productUrl,omitempty"`
 28198  	// URL to management UI for this extension.
 28199  	ManagementUrl string `xml:"managementUrl,omitempty" json:"managementUrl,omitempty"`
 28200  	// The VirtualMachine or VirtualApp that is running this extension.
 28201  	//
 28202  	// Refers instance of `ManagedEntity`.
 28203  	Self *ManagedObjectReference `xml:"self,omitempty" json:"self,omitempty"`
 28204  }
 28205  
 28206  func init() {
 28207  	t["ExtExtendedProductInfo"] = reflect.TypeOf((*ExtExtendedProductInfo)(nil)).Elem()
 28208  	minAPIVersionForType["ExtExtendedProductInfo"] = "5.0"
 28209  }
 28210  
 28211  // This data object contains information about entities managed by this
 28212  // extension.
 28213  //
 28214  // The data can be used by clients to show extra information
 28215  // about managed virtual machines or vApps, such as a custom icon and a
 28216  // description of the entity.
 28217  type ExtManagedEntityInfo struct {
 28218  	DynamicData
 28219  
 28220  	// Managed entity type, as defined by the extension.
 28221  	//
 28222  	// This matches the
 28223  	// `type` field in the configuration
 28224  	// about a virtual machine or vApp.
 28225  	Type string `xml:"type" json:"type"`
 28226  	// The URL to a 16x16 pixel icon in PNG format for entities of this
 28227  	// type managed by this extension.
 28228  	//
 28229  	// The design of the icon should
 28230  	// allow for the possibility of it being badged with the power state
 28231  	// of the entity by the vSphere client. If you do not provide this
 28232  	// icon, the icon at
 28233  	// `iconUrl`, if found, is
 28234  	// scaled down to 16x16 pixels.
 28235  	SmallIconUrl string `xml:"smallIconUrl,omitempty" json:"smallIconUrl,omitempty"`
 28236  	// The URL to an icon in PNG format that is no larger than 256x256
 28237  	// pixels.
 28238  	//
 28239  	// This icon will be scaled to 16x16, 32x32, 64x64, and
 28240  	// 128x128 if needed. The icon is shown for all entities of this type
 28241  	// managed by this extension.
 28242  	IconUrl string `xml:"iconUrl,omitempty" json:"iconUrl,omitempty" vim:"5.1"`
 28243  	// Description of this managed entity type.
 28244  	//
 28245  	// This is typically displayed
 28246  	// by clients, and should provide users with information about the
 28247  	// function of entities of this type.
 28248  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 28249  }
 28250  
 28251  func init() {
 28252  	t["ExtManagedEntityInfo"] = reflect.TypeOf((*ExtManagedEntityInfo)(nil)).Elem()
 28253  	minAPIVersionForType["ExtManagedEntityInfo"] = "5.0"
 28254  }
 28255  
 28256  // This data object encapsulates the Solution Manager configuration for
 28257  // this extension.
 28258  type ExtSolutionManagerInfo struct {
 28259  	DynamicData
 28260  
 28261  	// Deprecated as of vSphere API 5.1, see client documentation for the
 28262  	// preferred way to integrate custom user interfaces.
 28263  	//
 28264  	// List of tabs that must be shown in the Solution Manager for this extension.
 28265  	//
 28266  	// Tabs are shown ordered by their position in this array.
 28267  	Tab []ExtSolutionManagerInfoTabInfo `xml:"tab,omitempty" json:"tab,omitempty"`
 28268  	// URL for an icon for this extension.
 28269  	//
 28270  	// The icon will be shown in the Solution
 28271  	// Manager for this extension. The icon must be 16x16, and should be in PNG
 28272  	// format.
 28273  	SmallIconUrl string `xml:"smallIconUrl,omitempty" json:"smallIconUrl,omitempty"`
 28274  }
 28275  
 28276  func init() {
 28277  	t["ExtSolutionManagerInfo"] = reflect.TypeOf((*ExtSolutionManagerInfo)(nil)).Elem()
 28278  	minAPIVersionForType["ExtSolutionManagerInfo"] = "5.0"
 28279  }
 28280  
 28281  // Deprecated as of vSphere API 5.1.
 28282  //
 28283  // This data object contains information about a tab to show in the
 28284  // Solution Manager for this extension.
 28285  type ExtSolutionManagerInfoTabInfo struct {
 28286  	DynamicData
 28287  
 28288  	// The name of the tab.
 28289  	Label string `xml:"label" json:"label"`
 28290  	// The URL for the webpage to show in the tab.
 28291  	//
 28292  	// Extra parameters will be added
 28293  	// to this URL when vSphere Client loads it. See the "Customizing the vSphere
 28294  	// Client" technical note for more information.
 28295  	Url string `xml:"url" json:"url"`
 28296  }
 28297  
 28298  func init() {
 28299  	t["ExtSolutionManagerInfoTabInfo"] = reflect.TypeOf((*ExtSolutionManagerInfoTabInfo)(nil)).Elem()
 28300  	minAPIVersionForType["ExtSolutionManagerInfoTabInfo"] = "5.0"
 28301  }
 28302  
 28303  // The parameters of `VcenterVStorageObjectManager.ExtendDisk_Task`.
 28304  type ExtendDiskRequestType struct {
 28305  	This ManagedObjectReference `xml:"_this" json:"-"`
 28306  	// The ID of the virtual disk to be extended.
 28307  	Id ID `xml:"id" json:"id"`
 28308  	// The datastore where the virtual disk is located.
 28309  	//
 28310  	// Refers instance of `Datastore`.
 28311  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 28312  	// The new capacity of the virtual disk in MB.
 28313  	NewCapacityInMB int64 `xml:"newCapacityInMB" json:"newCapacityInMB"`
 28314  }
 28315  
 28316  func init() {
 28317  	t["ExtendDiskRequestType"] = reflect.TypeOf((*ExtendDiskRequestType)(nil)).Elem()
 28318  }
 28319  
 28320  type ExtendDisk_Task ExtendDiskRequestType
 28321  
 28322  func init() {
 28323  	t["ExtendDisk_Task"] = reflect.TypeOf((*ExtendDisk_Task)(nil)).Elem()
 28324  }
 28325  
 28326  type ExtendDisk_TaskResponse struct {
 28327  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 28328  }
 28329  
 28330  // The parameters of `ClusterComputeResource.ExtendHCI_Task`.
 28331  type ExtendHCIRequestType struct {
 28332  	This ManagedObjectReference `xml:"_this" json:"-"`
 28333  	// Inputs to configure specified set of hosts in the
 28334  	// cluster. See
 28335  	// `ClusterComputeResourceHostConfigurationInput`
 28336  	// for details. Hosts in this list should be part of the cluster and
 28337  	// should be in maintenance mode for them to be configured per
 28338  	// specification. Hosts which were not configured due to not
 28339  	// being in maintenance mode will be returned in
 28340  	// `ClusterComputeResourceClusterConfigResult.failedHosts`. Specify
 28341  	// `ClusterComputeResourceHostConfigurationInput.hostVmkNics` only if `dvsSetting`
 28342  	// is set.
 28343  	HostInputs []ClusterComputeResourceHostConfigurationInput `xml:"hostInputs,omitempty" json:"hostInputs,omitempty"`
 28344  	// Specification to configure vSAN on specified set of
 28345  	// hosts. See vim.vsan.ReconfigSpec for details. This parameter
 28346  	// should be specified only when vSan is enabled on the cluster.
 28347  	VSanConfigSpec *SDDCBase `xml:"vSanConfigSpec,omitempty" json:"vSanConfigSpec,omitempty"`
 28348  }
 28349  
 28350  func init() {
 28351  	t["ExtendHCIRequestType"] = reflect.TypeOf((*ExtendHCIRequestType)(nil)).Elem()
 28352  }
 28353  
 28354  type ExtendHCI_Task ExtendHCIRequestType
 28355  
 28356  func init() {
 28357  	t["ExtendHCI_Task"] = reflect.TypeOf((*ExtendHCI_Task)(nil)).Elem()
 28358  }
 28359  
 28360  type ExtendHCI_TaskResponse struct {
 28361  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 28362  }
 28363  
 28364  type ExtendVffs ExtendVffsRequestType
 28365  
 28366  func init() {
 28367  	t["ExtendVffs"] = reflect.TypeOf((*ExtendVffs)(nil)).Elem()
 28368  }
 28369  
 28370  // The parameters of `HostStorageSystem.ExtendVffs`.
 28371  type ExtendVffsRequestType struct {
 28372  	This ManagedObjectReference `xml:"_this" json:"-"`
 28373  	// The path of the VFFS to extend. See `FileSystemMountInfo`.
 28374  	VffsPath string `xml:"vffsPath" json:"vffsPath"`
 28375  	// Device path of the SSD disk.
 28376  	DevicePath string `xml:"devicePath" json:"devicePath"`
 28377  	// A data object that describes the SSD disk partition
 28378  	// information. If this property is not provided, partition
 28379  	// information will be computed and generated.
 28380  	Spec *HostDiskPartitionSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 28381  }
 28382  
 28383  func init() {
 28384  	t["ExtendVffsRequestType"] = reflect.TypeOf((*ExtendVffsRequestType)(nil)).Elem()
 28385  }
 28386  
 28387  type ExtendVffsResponse struct {
 28388  }
 28389  
 28390  // The parameters of `VirtualDiskManager.ExtendVirtualDisk_Task`.
 28391  type ExtendVirtualDiskRequestType struct {
 28392  	This ManagedObjectReference `xml:"_this" json:"-"`
 28393  	// The name of the disk, either a datastore path or a URL
 28394  	// referring to the virtual disk whose capacity should be expanded.
 28395  	Name string `xml:"name" json:"name"`
 28396  	// If <code>name</code> is a datastore path, the datacenter for
 28397  	// that datastore path. Not needed when invoked directly on ESX.
 28398  	// If not specified on a call to VirtualCenter,
 28399  	// <code>name</code> must be a URL.
 28400  	//
 28401  	// Refers instance of `Datacenter`.
 28402  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 28403  	// The new capacty of the virtual disk in Kb.
 28404  	NewCapacityKb int64 `xml:"newCapacityKb" json:"newCapacityKb"`
 28405  	// If true, the extended part of the disk will be
 28406  	// explicitly filled with zeroes.
 28407  	EagerZero *bool `xml:"eagerZero" json:"eagerZero,omitempty" vim:"4.0"`
 28408  }
 28409  
 28410  func init() {
 28411  	t["ExtendVirtualDiskRequestType"] = reflect.TypeOf((*ExtendVirtualDiskRequestType)(nil)).Elem()
 28412  }
 28413  
 28414  type ExtendVirtualDisk_Task ExtendVirtualDiskRequestType
 28415  
 28416  func init() {
 28417  	t["ExtendVirtualDisk_Task"] = reflect.TypeOf((*ExtendVirtualDisk_Task)(nil)).Elem()
 28418  }
 28419  
 28420  type ExtendVirtualDisk_TaskResponse struct {
 28421  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 28422  }
 28423  
 28424  type ExtendVmfsDatastore ExtendVmfsDatastoreRequestType
 28425  
 28426  func init() {
 28427  	t["ExtendVmfsDatastore"] = reflect.TypeOf((*ExtendVmfsDatastore)(nil)).Elem()
 28428  }
 28429  
 28430  // The parameters of `HostDatastoreSystem.ExtendVmfsDatastore`.
 28431  type ExtendVmfsDatastoreRequestType struct {
 28432  	This ManagedObjectReference `xml:"_this" json:"-"`
 28433  	// The datastore whose capacity should be increased.
 28434  	//
 28435  	// Refers instance of `Datastore`.
 28436  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 28437  	// The specification describing what extents to add to a
 28438  	// VMFS datastore.
 28439  	Spec VmfsDatastoreExtendSpec `xml:"spec" json:"spec"`
 28440  }
 28441  
 28442  func init() {
 28443  	t["ExtendVmfsDatastoreRequestType"] = reflect.TypeOf((*ExtendVmfsDatastoreRequestType)(nil)).Elem()
 28444  }
 28445  
 28446  type ExtendVmfsDatastoreResponse struct {
 28447  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 28448  }
 28449  
 28450  type ExtendedDescription struct {
 28451  	Description
 28452  
 28453  	// Key to the localized message string in the catalog.
 28454  	//
 28455  	// If the localized string contains parameters, values to the
 28456  	// parameters will be provided in #messageArg.
 28457  	// E.g: If the message in the catalog is
 28458  	// "IP address is {address}", value for "address"
 28459  	// will be provided by #messageArg.
 28460  	// Both summary and label in Description will have a corresponding
 28461  	// entry in the message catalog with the keys
 28462  	// &lt;messageCatalogKeyPrefix&gt;.summary and &lt;messageCatalogKeyPrefix&gt;.label
 28463  	// respectively.
 28464  	// Description.summary and Description.label will contain
 28465  	// the strings in server locale.
 28466  	MessageCatalogKeyPrefix string `xml:"messageCatalogKeyPrefix" json:"messageCatalogKeyPrefix"`
 28467  	// Provides named arguments that can be used to localize the
 28468  	// message in the catalog.
 28469  	MessageArg []KeyAnyValue `xml:"messageArg,omitempty" json:"messageArg,omitempty"`
 28470  }
 28471  
 28472  func init() {
 28473  	t["ExtendedDescription"] = reflect.TypeOf((*ExtendedDescription)(nil)).Elem()
 28474  }
 28475  
 28476  type ExtendedElementDescription struct {
 28477  	ElementDescription
 28478  
 28479  	// Key to the localized message string in the catalog.
 28480  	//
 28481  	// If the localized string contains parameters, values to the
 28482  	// parameters will be provided in #messageArg.
 28483  	// E.g: If the message in the catalog is
 28484  	// "IP address is {address}", value for "address"
 28485  	// will be provided by #messageArg.
 28486  	// Both summary and label in ElementDescription will have a corresponding
 28487  	// entry in the message catalog with the keys
 28488  	// &lt;messageCatalogKeyPrefix&gt;.summary and &lt;messageCatalogKeyPrefix&gt;.label
 28489  	// respectively.
 28490  	// ElementDescription.summary and ElementDescription.label will contain
 28491  	// the strings in server locale.
 28492  	MessageCatalogKeyPrefix string `xml:"messageCatalogKeyPrefix" json:"messageCatalogKeyPrefix"`
 28493  	// Provides named arguments that can be used to localize the
 28494  	// message in the catalog.
 28495  	MessageArg []KeyAnyValue `xml:"messageArg,omitempty" json:"messageArg,omitempty"`
 28496  }
 28497  
 28498  func init() {
 28499  	t["ExtendedElementDescription"] = reflect.TypeOf((*ExtendedElementDescription)(nil)).Elem()
 28500  }
 28501  
 28502  // This event is the base class for extended events.
 28503  type ExtendedEvent struct {
 28504  	GeneralEvent
 28505  
 28506  	// The id of the type of extended event.
 28507  	EventTypeId string `xml:"eventTypeId" json:"eventTypeId"`
 28508  	// The object on which the event was logged.
 28509  	ManagedObject ManagedObjectReference `xml:"managedObject" json:"managedObject"`
 28510  	// Key/value pairs associated with event.
 28511  	Data []ExtendedEventPair `xml:"data,omitempty" json:"data,omitempty"`
 28512  }
 28513  
 28514  func init() {
 28515  	t["ExtendedEvent"] = reflect.TypeOf((*ExtendedEvent)(nil)).Elem()
 28516  	minAPIVersionForType["ExtendedEvent"] = "2.5"
 28517  }
 28518  
 28519  // key/value pair
 28520  type ExtendedEventPair struct {
 28521  	DynamicData
 28522  
 28523  	Key   string `xml:"key" json:"key"`
 28524  	Value string `xml:"value" json:"value"`
 28525  }
 28526  
 28527  func init() {
 28528  	t["ExtendedEventPair"] = reflect.TypeOf((*ExtendedEventPair)(nil)).Elem()
 28529  	minAPIVersionForType["ExtendedEventPair"] = "2.5"
 28530  }
 28531  
 28532  // This fault is the container for faults logged by extensions.
 28533  type ExtendedFault struct {
 28534  	VimFault
 28535  
 28536  	// The id of the type of extended fault.
 28537  	FaultTypeId string `xml:"faultTypeId" json:"faultTypeId"`
 28538  	// Key/value pairs associated with fault.
 28539  	Data []KeyValue `xml:"data,omitempty" json:"data,omitempty"`
 28540  }
 28541  
 28542  func init() {
 28543  	t["ExtendedFault"] = reflect.TypeOf((*ExtendedFault)(nil)).Elem()
 28544  	minAPIVersionForType["ExtendedFault"] = "2.5"
 28545  }
 28546  
 28547  type ExtendedFaultFault ExtendedFault
 28548  
 28549  func init() {
 28550  	t["ExtendedFaultFault"] = reflect.TypeOf((*ExtendedFaultFault)(nil)).Elem()
 28551  }
 28552  
 28553  // This data object type contains all information about an extension.
 28554  //
 28555  // An extension may contain zero or more server interfaces and zero
 28556  // or more clients.
 28557  type Extension struct {
 28558  	DynamicData
 28559  
 28560  	// Description of extension.
 28561  	Description BaseDescription `xml:"description,typeattr" json:"description"`
 28562  	// Extension key.
 28563  	//
 28564  	// Should follow java package naming conventions
 28565  	// for uniqueness (e.g. "com.example.management").
 28566  	//
 28567  	// Extension names can only contain characters belonging to the
 28568  	// lower ASCII character set (UTF-7) with the exception of the
 28569  	// following characters:
 28570  	// 1. All whitespace characters ("space" - ascii character 0x20 is allowed)
 28571  	// 2. Control characters
 28572  	// 3. Comma (ascii 0x2c), Forward slash (ascii 0x2f), Backward slash (ascii 0x5c),
 28573  	//        Hash/Pound (ascii 0x23), Plus (ascii 0x2b), Greater (ascii 0x3e), Lesser (ascii 0x3c),
 28574  	//        Equals (ascii 0x3d), Semi-colon (ascii 0x3b) and Double quote (ascii 0x22).
 28575  	Key string `xml:"key" json:"key"`
 28576  	// Company information.
 28577  	Company string `xml:"company,omitempty" json:"company,omitempty" vim:"4.0"`
 28578  	// Type of extension (example may include CP-DVS, NUOVA-DVS, etc.).
 28579  	Type string `xml:"type,omitempty" json:"type,omitempty" vim:"4.0"`
 28580  	// Extension version number as a dot-separated string.
 28581  	//
 28582  	// For example, "1.0.0"
 28583  	Version string `xml:"version" json:"version"`
 28584  	// Subject name from client certificate.
 28585  	SubjectName string `xml:"subjectName,omitempty" json:"subjectName,omitempty"`
 28586  	// Servers for this extension.
 28587  	Server []ExtensionServerInfo `xml:"server,omitempty" json:"server,omitempty"`
 28588  	// Clients for this extension.
 28589  	Client []ExtensionClientInfo `xml:"client,omitempty" json:"client,omitempty"`
 28590  	// Definitions of tasks defined by this extension.
 28591  	TaskList []ExtensionTaskTypeInfo `xml:"taskList,omitempty" json:"taskList,omitempty"`
 28592  	// Definitions of events defined by this extension.
 28593  	EventList []ExtensionEventTypeInfo `xml:"eventList,omitempty" json:"eventList,omitempty"`
 28594  	// Definitions of faults defined by this extension.
 28595  	FaultList []ExtensionFaultTypeInfo `xml:"faultList,omitempty" json:"faultList,omitempty"`
 28596  	// Definitions privileges defined by this extension.
 28597  	PrivilegeList []ExtensionPrivilegeInfo `xml:"privilegeList,omitempty" json:"privilegeList,omitempty"`
 28598  	// Resource data for all locales
 28599  	ResourceList []ExtensionResourceInfo `xml:"resourceList,omitempty" json:"resourceList,omitempty"`
 28600  	// Last extension heartbeat time.
 28601  	LastHeartbeatTime time.Time `xml:"lastHeartbeatTime" json:"lastHeartbeatTime"`
 28602  	// Health specification provided by this extension.
 28603  	HealthInfo *ExtensionHealthInfo `xml:"healthInfo,omitempty" json:"healthInfo,omitempty" vim:"4.0"`
 28604  	// OVF consumer specification provided by this extension.
 28605  	OvfConsumerInfo *ExtensionOvfConsumerInfo `xml:"ovfConsumerInfo,omitempty" json:"ovfConsumerInfo,omitempty" vim:"5.0"`
 28606  	// Extended product information, such as URLs to vendor, product, etc.
 28607  	ExtendedProductInfo *ExtExtendedProductInfo `xml:"extendedProductInfo,omitempty" json:"extendedProductInfo,omitempty" vim:"5.0"`
 28608  	// Information about entities managed by this extension.
 28609  	//
 28610  	// An extension can
 28611  	// register virtual machines as managed by itself, by setting the
 28612  	// `managedBy` property of the virtual
 28613  	// machine.
 28614  	ManagedEntityInfo []ExtManagedEntityInfo `xml:"managedEntityInfo,omitempty" json:"managedEntityInfo,omitempty" vim:"5.0"`
 28615  	// Opt-in to the Solution Manager.
 28616  	//
 28617  	// If set to true, this extension will be
 28618  	// shown in the Solution Manager. If not set, or set to false, this extension
 28619  	// is not shown in the Solution Manager.
 28620  	ShownInSolutionManager *bool `xml:"shownInSolutionManager" json:"shownInSolutionManager,omitempty" vim:"5.0"`
 28621  	// Solution Manager configuration for this extension.
 28622  	SolutionManagerInfo *ExtSolutionManagerInfo `xml:"solutionManagerInfo,omitempty" json:"solutionManagerInfo,omitempty" vim:"5.0"`
 28623  }
 28624  
 28625  func init() {
 28626  	t["Extension"] = reflect.TypeOf((*Extension)(nil)).Elem()
 28627  	minAPIVersionForType["Extension"] = "2.5"
 28628  }
 28629  
 28630  // This data object type describes a client of the extension.
 28631  type ExtensionClientInfo struct {
 28632  	DynamicData
 28633  
 28634  	// Client version number as a dot-separated string.
 28635  	//
 28636  	// For example, "1.0.0"
 28637  	Version string `xml:"version" json:"version"`
 28638  	// Description of client.
 28639  	Description BaseDescription `xml:"description,typeattr" json:"description"`
 28640  	// Company information.
 28641  	Company string `xml:"company" json:"company"`
 28642  	// Type of client (examples may include win32, .net, linux, etc.).
 28643  	Type string `xml:"type" json:"type"`
 28644  	// Plugin url.
 28645  	Url string `xml:"url" json:"url"`
 28646  }
 28647  
 28648  func init() {
 28649  	t["ExtensionClientInfo"] = reflect.TypeOf((*ExtensionClientInfo)(nil)).Elem()
 28650  	minAPIVersionForType["ExtensionClientInfo"] = "2.5"
 28651  }
 28652  
 28653  // This data object type describes event types defined by the extension.
 28654  type ExtensionEventTypeInfo struct {
 28655  	DynamicData
 28656  
 28657  	// The ID of the event type.
 28658  	//
 28659  	// Should follow java package
 28660  	// naming conventions for uniqueness.
 28661  	EventID string `xml:"eventID" json:"eventID"`
 28662  	// Optional XML descriptor for the EventType.
 28663  	//
 28664  	// The structure of this descriptor is:
 28665  	//
 28666  	//          <EventType>
 28667  	//            <eventTypeID>eventID</eventTypeID>
 28668  	//            <description>Optional description for event eventID</description>
 28669  	//            <-- Optional arguments: -->
 28670  	//            <arguments>
 28671  	//               <-- Zero or more of: -->
 28672  	//               <argument>
 28673  	//                 <name>argName</name>
 28674  	//                 <type>argtype</name>
 28675  	//               </argument>
 28676  	//            </arguments>
 28677  	//          </EventType>
 28678  	// where _argtype_ can be one of the following:
 28679  	//     - This is an example list and should be considered as incomplete.
 28680  	// <!-- -->
 28681  	//     - Primitive types:
 28682  	//       - _string_
 28683  	//       - _bool_
 28684  	//       - _int_
 28685  	//       - _long_
 28686  	//       - _float_
 28687  	//       - _moid_
 28688  	//     - Entity reference types:
 28689  	//       - _vm_
 28690  	//       - _host_
 28691  	//       - _resourcepool_
 28692  	//       - _computeresource_
 28693  	//       - _datacenter_
 28694  	//       - _datastore_
 28695  	//       - _network_
 28696  	//       - _dvs_
 28697  	EventTypeSchema string `xml:"eventTypeSchema,omitempty" json:"eventTypeSchema,omitempty" vim:"4.0"`
 28698  }
 28699  
 28700  func init() {
 28701  	t["ExtensionEventTypeInfo"] = reflect.TypeOf((*ExtensionEventTypeInfo)(nil)).Elem()
 28702  	minAPIVersionForType["ExtensionEventTypeInfo"] = "2.5"
 28703  }
 28704  
 28705  // This data object type describes fault types defined by the extension.
 28706  type ExtensionFaultTypeInfo struct {
 28707  	DynamicData
 28708  
 28709  	// The ID of the fault type.
 28710  	//
 28711  	// Should follow java package
 28712  	// naming conventions for uniqueness.
 28713  	FaultID string `xml:"faultID" json:"faultID"`
 28714  }
 28715  
 28716  func init() {
 28717  	t["ExtensionFaultTypeInfo"] = reflect.TypeOf((*ExtensionFaultTypeInfo)(nil)).Elem()
 28718  	minAPIVersionForType["ExtensionFaultTypeInfo"] = "2.5"
 28719  }
 28720  
 28721  // This data object encapsulates the health specification for the
 28722  // extension.
 28723  type ExtensionHealthInfo struct {
 28724  	DynamicData
 28725  
 28726  	Url string `xml:"url" json:"url"`
 28727  }
 28728  
 28729  func init() {
 28730  	t["ExtensionHealthInfo"] = reflect.TypeOf((*ExtensionHealthInfo)(nil)).Elem()
 28731  	minAPIVersionForType["ExtensionHealthInfo"] = "4.0"
 28732  }
 28733  
 28734  // This data object type contains usage information about an
 28735  // extension's IP allocation usage.
 28736  type ExtensionManagerIpAllocationUsage struct {
 28737  	DynamicData
 28738  
 28739  	// Key of the extension whose usage is being
 28740  	// reported.
 28741  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 28742  	// Number of IP addresses allocated from IP pools.
 28743  	NumAddresses int32 `xml:"numAddresses" json:"numAddresses"`
 28744  }
 28745  
 28746  func init() {
 28747  	t["ExtensionManagerIpAllocationUsage"] = reflect.TypeOf((*ExtensionManagerIpAllocationUsage)(nil)).Elem()
 28748  	minAPIVersionForType["ExtensionManagerIpAllocationUsage"] = "5.1"
 28749  }
 28750  
 28751  // This data object contains configuration for extensions that also extend the OVF
 28752  // functionality of vCenter server.
 28753  //
 28754  // `*Note:*` This feature is for internal use only.
 28755  type ExtensionOvfConsumerInfo struct {
 28756  	DynamicData
 28757  
 28758  	// Callback url for the OVF consumer.
 28759  	//
 28760  	// This URL must point to a SOAP API
 28761  	// implementing the OVF consumer interface.
 28762  	//
 28763  	// Example: https://extension-host:8081/
 28764  	//
 28765  	// This callback is for internal use only.
 28766  	CallbackUrl string `xml:"callbackUrl" json:"callbackUrl"`
 28767  	// A list of fully qualified OVF section types that this consumer handles.
 28768  	//
 28769  	// Fully qualified means that each section type must be prefixed with its namespace
 28770  	// enclosed in curly braces. See the examples below.
 28771  	//
 28772  	// An InvalidArgument error is thrown if there is overlap between OVF consumers,
 28773  	// meaning that the same section type appears in the sectionType list of more than
 28774  	// one OVF consumer.
 28775  	//
 28776  	// Example: \[ "{http://www.vmware.com/schema/vServiceManager}vServiceDependency",
 28777  	// "{http://www.vmware.com/schema/vServiceManager}vServiceBinding" \]
 28778  	SectionType []string `xml:"sectionType" json:"sectionType"`
 28779  }
 28780  
 28781  func init() {
 28782  	t["ExtensionOvfConsumerInfo"] = reflect.TypeOf((*ExtensionOvfConsumerInfo)(nil)).Elem()
 28783  	minAPIVersionForType["ExtensionOvfConsumerInfo"] = "5.0"
 28784  }
 28785  
 28786  // This data object type describes privileges defined by the extension.
 28787  type ExtensionPrivilegeInfo struct {
 28788  	DynamicData
 28789  
 28790  	// The ID of the privilege.
 28791  	//
 28792  	// The format should be
 28793  	// &quot;&lt;group name&gt;.&lt;privilege name&gt;&quot;.
 28794  	// The group name should be the same as the privGroupName
 28795  	// property.
 28796  	//
 28797  	// The privilege name should follow java package naming
 28798  	// conventions for uniqueness. The set of characters allowed
 28799  	// follow the same rules as `Extension.key`.
 28800  	PrivID string `xml:"privID" json:"privID"`
 28801  	// Hierarchical group name.
 28802  	//
 28803  	// Each level of the grouping hierarchy is
 28804  	// separated by a "." so group names may not include a ".".
 28805  	// `AuthorizationPrivilege.privGroupName`.
 28806  	PrivGroupName string `xml:"privGroupName" json:"privGroupName"`
 28807  }
 28808  
 28809  func init() {
 28810  	t["ExtensionPrivilegeInfo"] = reflect.TypeOf((*ExtensionPrivilegeInfo)(nil)).Elem()
 28811  	minAPIVersionForType["ExtensionPrivilegeInfo"] = "2.5"
 28812  }
 28813  
 28814  // This data object encapsulates the message resources for all locales.
 28815  type ExtensionResourceInfo struct {
 28816  	DynamicData
 28817  
 28818  	Locale string `xml:"locale" json:"locale"`
 28819  	// Module for a resource type and other message or fault resources.
 28820  	//
 28821  	// Examples: "task" for task, "event" for event and "auth" for "privilege".
 28822  	Module string     `xml:"module" json:"module"`
 28823  	Data   []KeyValue `xml:"data" json:"data"`
 28824  }
 28825  
 28826  func init() {
 28827  	t["ExtensionResourceInfo"] = reflect.TypeOf((*ExtensionResourceInfo)(nil)).Elem()
 28828  	minAPIVersionForType["ExtensionResourceInfo"] = "2.5"
 28829  }
 28830  
 28831  // This data object type describes a server for the extension.
 28832  type ExtensionServerInfo struct {
 28833  	DynamicData
 28834  
 28835  	// Server url.
 28836  	Url string `xml:"url" json:"url"`
 28837  	// Server description.
 28838  	Description BaseDescription `xml:"description,typeattr" json:"description"`
 28839  	// Company information.
 28840  	Company string `xml:"company" json:"company"`
 28841  	// Type of server (examples may include SOAP, REST, HTTP, etc.).
 28842  	Type string `xml:"type" json:"type"`
 28843  	// Extension administrator email addresses.
 28844  	AdminEmail []string `xml:"adminEmail" json:"adminEmail"`
 28845  	// Thumbprint of the extension server certificate presented to clients
 28846  	ServerThumbprint string `xml:"serverThumbprint,omitempty" json:"serverThumbprint,omitempty" vim:"4.1"`
 28847  	// X.509 certificate of the extension server presented to clients in PEM
 28848  	// format according to RFC 7468
 28849  	ServerCertificate string `xml:"serverCertificate,omitempty" json:"serverCertificate,omitempty" vim:"8.0.2.0"`
 28850  }
 28851  
 28852  func init() {
 28853  	t["ExtensionServerInfo"] = reflect.TypeOf((*ExtensionServerInfo)(nil)).Elem()
 28854  	minAPIVersionForType["ExtensionServerInfo"] = "2.5"
 28855  }
 28856  
 28857  // This data object type describes task types defined by the extension.
 28858  type ExtensionTaskTypeInfo struct {
 28859  	DynamicData
 28860  
 28861  	// The ID of the task type.
 28862  	//
 28863  	// Should follow java package
 28864  	// naming conventions for uniqueness.
 28865  	TaskID string `xml:"taskID" json:"taskID"`
 28866  }
 28867  
 28868  func init() {
 28869  	t["ExtensionTaskTypeInfo"] = reflect.TypeOf((*ExtensionTaskTypeInfo)(nil)).Elem()
 28870  	minAPIVersionForType["ExtensionTaskTypeInfo"] = "2.5"
 28871  }
 28872  
 28873  type ExtractOvfEnvironment ExtractOvfEnvironmentRequestType
 28874  
 28875  func init() {
 28876  	t["ExtractOvfEnvironment"] = reflect.TypeOf((*ExtractOvfEnvironment)(nil)).Elem()
 28877  }
 28878  
 28879  type ExtractOvfEnvironmentRequestType struct {
 28880  	This ManagedObjectReference `xml:"_this" json:"-"`
 28881  }
 28882  
 28883  func init() {
 28884  	t["ExtractOvfEnvironmentRequestType"] = reflect.TypeOf((*ExtractOvfEnvironmentRequestType)(nil)).Elem()
 28885  }
 28886  
 28887  type ExtractOvfEnvironmentResponse struct {
 28888  	Returnval string `xml:"returnval" json:"returnval"`
 28889  }
 28890  
 28891  // Fault type that could be thrown when enabling SPBM(Storage Policy
 28892  // Based Management) feature of a compute resource.
 28893  type FailToEnableSPBM struct {
 28894  	NotEnoughLicenses
 28895  
 28896  	// The compute resource
 28897  	//
 28898  	// Refers instance of `ComputeResource`.
 28899  	Cs ManagedObjectReference `xml:"cs" json:"cs"`
 28900  	// The computer resource name
 28901  	CsName string `xml:"csName" json:"csName"`
 28902  	// Array of `ComputeResourceHostSPBMLicenseInfo` that
 28903  	// contains SPBM license information for all hosts in the compute resource
 28904  	HostLicenseStates []ComputeResourceHostSPBMLicenseInfo `xml:"hostLicenseStates" json:"hostLicenseStates"`
 28905  }
 28906  
 28907  func init() {
 28908  	t["FailToEnableSPBM"] = reflect.TypeOf((*FailToEnableSPBM)(nil)).Elem()
 28909  	minAPIVersionForType["FailToEnableSPBM"] = "5.0"
 28910  }
 28911  
 28912  type FailToEnableSPBMFault FailToEnableSPBM
 28913  
 28914  func init() {
 28915  	t["FailToEnableSPBMFault"] = reflect.TypeOf((*FailToEnableSPBMFault)(nil)).Elem()
 28916  }
 28917  
 28918  // Thrown when trying to state lock a Fault Tolerance VM, and the
 28919  // other VM in the same Fault Tolerance pair is already locked.
 28920  type FailToLockFaultToleranceVMs struct {
 28921  	RuntimeFault
 28922  
 28923  	// The name of the vm to be locked.
 28924  	VmName string `xml:"vmName" json:"vmName"`
 28925  	// The vm to be locked, this can be a Fault Tolerance primary or secondary VM
 28926  	//
 28927  	// Refers instance of `VirtualMachine`.
 28928  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 28929  	// The vm that is already locked, this can be a Fault Tolerance primary or secondary VM
 28930  	//
 28931  	// Refers instance of `VirtualMachine`.
 28932  	AlreadyLockedVm ManagedObjectReference `xml:"alreadyLockedVm" json:"alreadyLockedVm"`
 28933  }
 28934  
 28935  func init() {
 28936  	t["FailToLockFaultToleranceVMs"] = reflect.TypeOf((*FailToLockFaultToleranceVMs)(nil)).Elem()
 28937  	minAPIVersionForType["FailToLockFaultToleranceVMs"] = "4.1"
 28938  }
 28939  
 28940  type FailToLockFaultToleranceVMsFault FailToLockFaultToleranceVMs
 28941  
 28942  func init() {
 28943  	t["FailToLockFaultToleranceVMsFault"] = reflect.TypeOf((*FailToLockFaultToleranceVMsFault)(nil)).Elem()
 28944  }
 28945  
 28946  // This event records that the amount of cluster resources has increased
 28947  // and is now sufficient to satisfy the configured HA failover level.
 28948  type FailoverLevelRestored struct {
 28949  	ClusterEvent
 28950  }
 28951  
 28952  func init() {
 28953  	t["FailoverLevelRestored"] = reflect.TypeOf((*FailoverLevelRestored)(nil)).Elem()
 28954  }
 28955  
 28956  type FailoverNodeInfo struct {
 28957  	DynamicData
 28958  
 28959  	// VCHA Cluster network configuration of the node.
 28960  	//
 28961  	// All cluster communication (state replication, heartbeat,
 28962  	// cluster messages) happens over this network.
 28963  	ClusterIpSettings CustomizationIPSettings `xml:"clusterIpSettings" json:"clusterIpSettings"`
 28964  	// Failover IP address that this node will assume after the failover
 28965  	// to serve client requests.
 28966  	//
 28967  	// Each failover node can have a different
 28968  	// failover IP address.
 28969  	FailoverIp *CustomizationIPSettings `xml:"failoverIp,omitempty" json:"failoverIp,omitempty"`
 28970  	// BIOS UUID for the node.
 28971  	//
 28972  	// It is set only if the VCHA Cluster was
 28973  	// formed using automatic provisioning by the deploy API.
 28974  	BiosUuid string `xml:"biosUuid,omitempty" json:"biosUuid,omitempty"`
 28975  }
 28976  
 28977  func init() {
 28978  	t["FailoverNodeInfo"] = reflect.TypeOf((*FailoverNodeInfo)(nil)).Elem()
 28979  }
 28980  
 28981  // Represents the identity of a replication fault domain.
 28982  //
 28983  // Fault domains IDs are globally
 28984  // unique.
 28985  type FaultDomainId struct {
 28986  	DynamicData
 28987  
 28988  	// ID of the fault domain.
 28989  	Id string `xml:"id" json:"id"`
 28990  }
 28991  
 28992  func init() {
 28993  	t["FaultDomainId"] = reflect.TypeOf((*FaultDomainId)(nil)).Elem()
 28994  	minAPIVersionForType["FaultDomainId"] = "6.5"
 28995  }
 28996  
 28997  // More than one VM in the same fault tolerance group are placed on the same host
 28998  type FaultToleranceAntiAffinityViolated struct {
 28999  	MigrationFault
 29000  
 29001  	// The name of the host.
 29002  	HostName string `xml:"hostName" json:"hostName"`
 29003  	// The host.
 29004  	//
 29005  	// Refers instance of `HostSystem`.
 29006  	Host ManagedObjectReference `xml:"host" json:"host"`
 29007  }
 29008  
 29009  func init() {
 29010  	t["FaultToleranceAntiAffinityViolated"] = reflect.TypeOf((*FaultToleranceAntiAffinityViolated)(nil)).Elem()
 29011  	minAPIVersionForType["FaultToleranceAntiAffinityViolated"] = "4.0"
 29012  }
 29013  
 29014  type FaultToleranceAntiAffinityViolatedFault FaultToleranceAntiAffinityViolated
 29015  
 29016  func init() {
 29017  	t["FaultToleranceAntiAffinityViolatedFault"] = reflect.TypeOf((*FaultToleranceAntiAffinityViolatedFault)(nil)).Elem()
 29018  }
 29019  
 29020  // The memory size, reservation, limit or shares of a virtual machine cannot
 29021  // be edited if Fault Tolerance is turned on
 29022  type FaultToleranceCannotEditMem struct {
 29023  	VmConfigFault
 29024  
 29025  	// The name of the VM.
 29026  	VmName string `xml:"vmName" json:"vmName"`
 29027  	// The VM.
 29028  	//
 29029  	// Refers instance of `VirtualMachine`.
 29030  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 29031  }
 29032  
 29033  func init() {
 29034  	t["FaultToleranceCannotEditMem"] = reflect.TypeOf((*FaultToleranceCannotEditMem)(nil)).Elem()
 29035  	minAPIVersionForType["FaultToleranceCannotEditMem"] = "4.1"
 29036  }
 29037  
 29038  type FaultToleranceCannotEditMemFault FaultToleranceCannotEditMem
 29039  
 29040  func init() {
 29041  	t["FaultToleranceCannotEditMemFault"] = reflect.TypeOf((*FaultToleranceCannotEditMemFault)(nil)).Elem()
 29042  }
 29043  
 29044  // FaultToleranceConfigInfo is a data object type containing Fault Tolerance
 29045  // settings for this virtual machine.
 29046  //
 29047  // role, instanceUuids and configPaths contain information about the
 29048  // whole fault tolerance group.
 29049  type FaultToleranceConfigInfo struct {
 29050  	DynamicData
 29051  
 29052  	// The index of the current VM in instanceUuids array starting from 1, so
 29053  	// 1 means that it is the primary VM.
 29054  	Role int32 `xml:"role" json:"role"`
 29055  	// The instanceUuid of all the VMs in this fault tolerance group.
 29056  	//
 29057  	// The
 29058  	// first element is the instanceUuid of the primary VM.
 29059  	InstanceUuids []string `xml:"instanceUuids" json:"instanceUuids"`
 29060  	// The configuration file path for all the VMs in this fault tolerance
 29061  	// group.
 29062  	ConfigPaths []string `xml:"configPaths" json:"configPaths"`
 29063  	// Indicates whether a secondary VM is orphaned (no longer associated with
 29064  	// the primary VM).
 29065  	Orphaned *bool `xml:"orphaned" json:"orphaned,omitempty" vim:"6.0"`
 29066  }
 29067  
 29068  func init() {
 29069  	t["FaultToleranceConfigInfo"] = reflect.TypeOf((*FaultToleranceConfigInfo)(nil)).Elem()
 29070  	minAPIVersionForType["FaultToleranceConfigInfo"] = "4.0"
 29071  }
 29072  
 29073  // FaultToleranceConfigSpec contains information about the metadata file
 29074  // and vmdk files for a fault tolerant VM pair.
 29075  type FaultToleranceConfigSpec struct {
 29076  	DynamicData
 29077  
 29078  	// Metadata file information
 29079  	MetaDataPath *FaultToleranceMetaSpec `xml:"metaDataPath,omitempty" json:"metaDataPath,omitempty"`
 29080  	// Placement information for secondary
 29081  	SecondaryVmSpec *FaultToleranceVMConfigSpec `xml:"secondaryVmSpec,omitempty" json:"secondaryVmSpec,omitempty"`
 29082  }
 29083  
 29084  func init() {
 29085  	t["FaultToleranceConfigSpec"] = reflect.TypeOf((*FaultToleranceConfigSpec)(nil)).Elem()
 29086  	minAPIVersionForType["FaultToleranceConfigSpec"] = "6.0"
 29087  }
 29088  
 29089  // Convenience subclass for calling out some named features among the
 29090  // incompatibilities found in CPUID level 1 register ecx for FT vms.
 29091  type FaultToleranceCpuIncompatible struct {
 29092  	CpuIncompatible
 29093  
 29094  	// Flag to indicate CPU model is incompatible.
 29095  	Model bool `xml:"model" json:"model"`
 29096  	// Flag to indicate CPU family is incompatible.
 29097  	Family bool `xml:"family" json:"family"`
 29098  	// Flag to indicate CPU stepping is incompatible.
 29099  	Stepping bool `xml:"stepping" json:"stepping"`
 29100  }
 29101  
 29102  func init() {
 29103  	t["FaultToleranceCpuIncompatible"] = reflect.TypeOf((*FaultToleranceCpuIncompatible)(nil)).Elem()
 29104  	minAPIVersionForType["FaultToleranceCpuIncompatible"] = "4.0"
 29105  }
 29106  
 29107  type FaultToleranceCpuIncompatibleFault FaultToleranceCpuIncompatible
 29108  
 29109  func init() {
 29110  	t["FaultToleranceCpuIncompatibleFault"] = reflect.TypeOf((*FaultToleranceCpuIncompatibleFault)(nil)).Elem()
 29111  }
 29112  
 29113  // FaultToleranceDiskSpec contains disk managed object and destination
 29114  // datastore of disks associated with a VM.
 29115  type FaultToleranceDiskSpec struct {
 29116  	DynamicData
 29117  
 29118  	// Disk Managed Object
 29119  	Disk BaseVirtualDevice `xml:"disk,typeattr" json:"disk"`
 29120  	// Destination location for disk
 29121  	//
 29122  	// Refers instance of `Datastore`.
 29123  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 29124  }
 29125  
 29126  func init() {
 29127  	t["FaultToleranceDiskSpec"] = reflect.TypeOf((*FaultToleranceDiskSpec)(nil)).Elem()
 29128  	minAPIVersionForType["FaultToleranceDiskSpec"] = "6.0"
 29129  }
 29130  
 29131  // This data object encapsulates the Datastore for the shared metadata file
 29132  // for a fault tolerant pair of VMs.
 29133  type FaultToleranceMetaSpec struct {
 29134  	DynamicData
 29135  
 29136  	// Datastore for the metadata file
 29137  	//
 29138  	// Refers instance of `Datastore`.
 29139  	MetaDataDatastore ManagedObjectReference `xml:"metaDataDatastore" json:"metaDataDatastore"`
 29140  }
 29141  
 29142  func init() {
 29143  	t["FaultToleranceMetaSpec"] = reflect.TypeOf((*FaultToleranceMetaSpec)(nil)).Elem()
 29144  	minAPIVersionForType["FaultToleranceMetaSpec"] = "6.0"
 29145  }
 29146  
 29147  // Fault Tolerance VM requires thick disks
 29148  type FaultToleranceNeedsThickDisk struct {
 29149  	MigrationFault
 29150  
 29151  	// The name of the VM.
 29152  	VmName string `xml:"vmName" json:"vmName"`
 29153  }
 29154  
 29155  func init() {
 29156  	t["FaultToleranceNeedsThickDisk"] = reflect.TypeOf((*FaultToleranceNeedsThickDisk)(nil)).Elem()
 29157  	minAPIVersionForType["FaultToleranceNeedsThickDisk"] = "4.1"
 29158  }
 29159  
 29160  type FaultToleranceNeedsThickDiskFault FaultToleranceNeedsThickDisk
 29161  
 29162  func init() {
 29163  	t["FaultToleranceNeedsThickDiskFault"] = reflect.TypeOf((*FaultToleranceNeedsThickDiskFault)(nil)).Elem()
 29164  }
 29165  
 29166  // This fault is thrown when fault tolerance has not been licensed on the
 29167  // source or destination host.
 29168  //
 29169  // It must be licensed on both hosts.
 29170  type FaultToleranceNotLicensed struct {
 29171  	VmFaultToleranceIssue
 29172  
 29173  	// The host name
 29174  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 29175  }
 29176  
 29177  func init() {
 29178  	t["FaultToleranceNotLicensed"] = reflect.TypeOf((*FaultToleranceNotLicensed)(nil)).Elem()
 29179  	minAPIVersionForType["FaultToleranceNotLicensed"] = "4.0"
 29180  }
 29181  
 29182  type FaultToleranceNotLicensedFault FaultToleranceNotLicensed
 29183  
 29184  func init() {
 29185  	t["FaultToleranceNotLicensedFault"] = reflect.TypeOf((*FaultToleranceNotLicensedFault)(nil)).Elem()
 29186  }
 29187  
 29188  // The destination host does not have the same build or Fault Tolerance
 29189  // feature version number as the source host.
 29190  type FaultToleranceNotSameBuild struct {
 29191  	MigrationFault
 29192  
 29193  	// The string.
 29194  	Build string `xml:"build" json:"build"`
 29195  }
 29196  
 29197  func init() {
 29198  	t["FaultToleranceNotSameBuild"] = reflect.TypeOf((*FaultToleranceNotSameBuild)(nil)).Elem()
 29199  	minAPIVersionForType["FaultToleranceNotSameBuild"] = "4.0"
 29200  }
 29201  
 29202  type FaultToleranceNotSameBuildFault FaultToleranceNotSameBuild
 29203  
 29204  func init() {
 29205  	t["FaultToleranceNotSameBuildFault"] = reflect.TypeOf((*FaultToleranceNotSameBuildFault)(nil)).Elem()
 29206  }
 29207  
 29208  // FaultTolerancePrimaryConfigInfo is a data object type containing Fault Tolerance
 29209  // settings for a primary virtual machine in a fault tolerance group
 29210  type FaultTolerancePrimaryConfigInfo struct {
 29211  	FaultToleranceConfigInfo
 29212  
 29213  	Secondaries []ManagedObjectReference `xml:"secondaries" json:"secondaries"`
 29214  }
 29215  
 29216  func init() {
 29217  	t["FaultTolerancePrimaryConfigInfo"] = reflect.TypeOf((*FaultTolerancePrimaryConfigInfo)(nil)).Elem()
 29218  	minAPIVersionForType["FaultTolerancePrimaryConfigInfo"] = "4.0"
 29219  }
 29220  
 29221  // This fault is used to report that VirtualCenter did not attempt to power on
 29222  // a Fault Tolerance secondary virtual machine because it was unable to
 29223  // power on the corresponding Fault Tolerance primary virtual machine.
 29224  type FaultTolerancePrimaryPowerOnNotAttempted struct {
 29225  	VmFaultToleranceIssue
 29226  
 29227  	// The secondary virtual machine that was not attempted
 29228  	//
 29229  	// Refers instance of `VirtualMachine`.
 29230  	SecondaryVm ManagedObjectReference `xml:"secondaryVm" json:"secondaryVm"`
 29231  	// The corresponding primary virtual machine
 29232  	//
 29233  	// Refers instance of `VirtualMachine`.
 29234  	PrimaryVm ManagedObjectReference `xml:"primaryVm" json:"primaryVm"`
 29235  }
 29236  
 29237  func init() {
 29238  	t["FaultTolerancePrimaryPowerOnNotAttempted"] = reflect.TypeOf((*FaultTolerancePrimaryPowerOnNotAttempted)(nil)).Elem()
 29239  	minAPIVersionForType["FaultTolerancePrimaryPowerOnNotAttempted"] = "4.0"
 29240  }
 29241  
 29242  type FaultTolerancePrimaryPowerOnNotAttemptedFault FaultTolerancePrimaryPowerOnNotAttempted
 29243  
 29244  func init() {
 29245  	t["FaultTolerancePrimaryPowerOnNotAttemptedFault"] = reflect.TypeOf((*FaultTolerancePrimaryPowerOnNotAttemptedFault)(nil)).Elem()
 29246  }
 29247  
 29248  // FaultToleranceSecondaryConfigInfo is a data object type containing Fault Tolerance
 29249  // settings for a secondary virtual machine in a fault tolerance group
 29250  type FaultToleranceSecondaryConfigInfo struct {
 29251  	FaultToleranceConfigInfo
 29252  
 29253  	PrimaryVM ManagedObjectReference `xml:"primaryVM" json:"primaryVM"`
 29254  }
 29255  
 29256  func init() {
 29257  	t["FaultToleranceSecondaryConfigInfo"] = reflect.TypeOf((*FaultToleranceSecondaryConfigInfo)(nil)).Elem()
 29258  	minAPIVersionForType["FaultToleranceSecondaryConfigInfo"] = "4.0"
 29259  }
 29260  
 29261  // FaultToleranceSecondaryOpResult is a data object that reports on
 29262  // the outcome of the `VirtualMachine.CreateSecondaryVM_Task` or
 29263  // `VirtualMachine.EnableSecondaryVM_Task` operation.
 29264  type FaultToleranceSecondaryOpResult struct {
 29265  	DynamicData
 29266  
 29267  	// The Secondary VirtualMachine
 29268  	//
 29269  	// Refers instance of `VirtualMachine`.
 29270  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 29271  	// Whether an attempt was made to power on the secondary.
 29272  	//
 29273  	// If
 29274  	// an attempt was made, `FaultToleranceSecondaryOpResult.powerOnResult` will report the
 29275  	// status of this attempt.
 29276  	PowerOnAttempted bool `xml:"powerOnAttempted" json:"powerOnAttempted"`
 29277  	// The powerOnResult property reports the outcome of powering on the
 29278  	// Secondary VirtualMachine if a power on was required.
 29279  	//
 29280  	// A power on will
 29281  	// be attempted if the Primary Virtual Machine is powered on when the
 29282  	// operation is performed. This object is only reported if `FaultToleranceSecondaryOpResult.powerOnAttempted` is true. If the outcome of the power-on attempt
 29283  	// is not successful, the returned `ClusterPowerOnVmResult`
 29284  	// object will include an instance of `ClusterNotAttemptedVmInfo`
 29285  	// whereas if the attempt was successful, then an instance of
 29286  	// `ClusterAttemptedVmInfo` is returned. When
 29287  	// `ClusterAttemptedVmInfo` is returned, its
 29288  	// `ClusterAttemptedVmInfo.task` property is only set if the cluster
 29289  	// is a HA-only cluster.
 29290  	PowerOnResult *ClusterPowerOnVmResult `xml:"powerOnResult,omitempty" json:"powerOnResult,omitempty"`
 29291  }
 29292  
 29293  func init() {
 29294  	t["FaultToleranceSecondaryOpResult"] = reflect.TypeOf((*FaultToleranceSecondaryOpResult)(nil)).Elem()
 29295  	minAPIVersionForType["FaultToleranceSecondaryOpResult"] = "4.0"
 29296  }
 29297  
 29298  // FaultToleranceVMConfigSpec contains information about placement of
 29299  // fault tolerant VM.
 29300  type FaultToleranceVMConfigSpec struct {
 29301  	DynamicData
 29302  
 29303  	// Datastore for the configuration file for the virtual machine, e.g., the
 29304  	// .vmx file.
 29305  	//
 29306  	// This also implicitly defines the configuration directory.
 29307  	//
 29308  	// Refers instance of `Datastore`.
 29309  	VmConfig *ManagedObjectReference `xml:"vmConfig,omitempty" json:"vmConfig,omitempty"`
 29310  	// Array of disks associated with the VM
 29311  	Disks []FaultToleranceDiskSpec `xml:"disks,omitempty" json:"disks,omitempty"`
 29312  }
 29313  
 29314  func init() {
 29315  	t["FaultToleranceVMConfigSpec"] = reflect.TypeOf((*FaultToleranceVMConfigSpec)(nil)).Elem()
 29316  	minAPIVersionForType["FaultToleranceVMConfigSpec"] = "6.0"
 29317  }
 29318  
 29319  // A FaultToleranceVmNotDasProtected fault occurs when an Fault Tolerance VM
 29320  // is not protected by HA and the operation for terminating the primary VM
 29321  // or secondary VM is invoked.
 29322  type FaultToleranceVmNotDasProtected struct {
 29323  	VimFault
 29324  
 29325  	// The Fault Toelrance primary VM
 29326  	//
 29327  	// Refers instance of `VirtualMachine`.
 29328  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 29329  	// Name of the VM
 29330  	VmName string `xml:"vmName" json:"vmName"`
 29331  }
 29332  
 29333  func init() {
 29334  	t["FaultToleranceVmNotDasProtected"] = reflect.TypeOf((*FaultToleranceVmNotDasProtected)(nil)).Elem()
 29335  	minAPIVersionForType["FaultToleranceVmNotDasProtected"] = "5.0"
 29336  }
 29337  
 29338  type FaultToleranceVmNotDasProtectedFault FaultToleranceVmNotDasProtected
 29339  
 29340  func init() {
 29341  	t["FaultToleranceVmNotDasProtectedFault"] = reflect.TypeOf((*FaultToleranceVmNotDasProtectedFault)(nil)).Elem()
 29342  }
 29343  
 29344  // Group of faults associated with Host.
 29345  //
 29346  // This Class is used in e.g.
 29347  // `HostEnterMaintenanceResult`.
 29348  type FaultsByHost struct {
 29349  	DynamicData
 29350  
 29351  	// The Host in the cluster for which faults were generated.
 29352  	//
 29353  	// Refers instance of `HostSystem`.
 29354  	Host ManagedObjectReference `xml:"host" json:"host"`
 29355  	// The array of faults related to the given Host.
 29356  	Faults []LocalizedMethodFault `xml:"faults,omitempty" json:"faults,omitempty"`
 29357  }
 29358  
 29359  func init() {
 29360  	t["FaultsByHost"] = reflect.TypeOf((*FaultsByHost)(nil)).Elem()
 29361  	minAPIVersionForType["FaultsByHost"] = "6.7"
 29362  }
 29363  
 29364  // VM specific faults.
 29365  //
 29366  // This Class is used in e.g.
 29367  // `HostEnterMaintenanceResult`.
 29368  type FaultsByVM struct {
 29369  	DynamicData
 29370  
 29371  	// The VM for which faults were generated.
 29372  	//
 29373  	// Refers instance of `VirtualMachine`.
 29374  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 29375  	// The array of faults related to the given VM.
 29376  	Faults []LocalizedMethodFault `xml:"faults,omitempty" json:"faults,omitempty"`
 29377  }
 29378  
 29379  func init() {
 29380  	t["FaultsByVM"] = reflect.TypeOf((*FaultsByVM)(nil)).Elem()
 29381  	minAPIVersionForType["FaultsByVM"] = "6.7"
 29382  }
 29383  
 29384  // This data object type describes an FCoE configuration as it pertains
 29385  // to an underlying physical NIC.
 29386  //
 29387  // Terminology is borrowed from T11's working draft of the Fibre Channel
 29388  // Backbone 5 standard (FC-BB-5). The draft can be found at
 29389  // http://www.t11.org.
 29390  type FcoeConfig struct {
 29391  	DynamicData
 29392  
 29393  	// 802.1p priority class used for FCoE traffic.
 29394  	PriorityClass int32 `xml:"priorityClass" json:"priorityClass"`
 29395  	// Source MAC address used for FCoE traffic.
 29396  	//
 29397  	// This MAC address is associated with the logical construct that is a
 29398  	// physical NIC's associated underlying FCoE Controller, as defined in the
 29399  	// FC-BB-5 standard.
 29400  	// This MAC address should be of the form "xx:xx:xx:xx:xx:xx", where 'x' is
 29401  	// a hexadecimal digit. Valid MAC addresses are unicast addresses.
 29402  	SourceMac string `xml:"sourceMac" json:"sourceMac"`
 29403  	// VLAN ranges associated with this FcoeConfig.
 29404  	VlanRange []FcoeConfigVlanRange `xml:"vlanRange" json:"vlanRange"`
 29405  	// Settable capabilities for this FcoeConfig.
 29406  	Capabilities FcoeConfigFcoeCapabilities `xml:"capabilities" json:"capabilities"`
 29407  	// Indicates whether this FcoeConfig is "active" (has been used in
 29408  	// conjunction with a parent physical network adapter for FCoE
 29409  	// discovery).
 29410  	FcoeActive bool `xml:"fcoeActive" json:"fcoeActive"`
 29411  }
 29412  
 29413  func init() {
 29414  	t["FcoeConfig"] = reflect.TypeOf((*FcoeConfig)(nil)).Elem()
 29415  	minAPIVersionForType["FcoeConfig"] = "5.0"
 29416  }
 29417  
 29418  // Flags which indicate what parameters are settable for this FcoeConfig.
 29419  type FcoeConfigFcoeCapabilities struct {
 29420  	DynamicData
 29421  
 29422  	PriorityClass    bool `xml:"priorityClass" json:"priorityClass"`
 29423  	SourceMacAddress bool `xml:"sourceMacAddress" json:"sourceMacAddress"`
 29424  	VlanRange        bool `xml:"vlanRange" json:"vlanRange"`
 29425  }
 29426  
 29427  func init() {
 29428  	t["FcoeConfigFcoeCapabilities"] = reflect.TypeOf((*FcoeConfigFcoeCapabilities)(nil)).Elem()
 29429  	minAPIVersionForType["FcoeConfigFcoeCapabilities"] = "5.0"
 29430  }
 29431  
 29432  // An FcoeSpecification contains values relevant to issuing FCoE discovery.
 29433  //
 29434  // Non-mandatory values are denoted '@optional'.
 29435  type FcoeConfigFcoeSpecification struct {
 29436  	DynamicData
 29437  
 29438  	// The name of this FcoeSpecification's underlying PhysicalNic
 29439  	UnderlyingPnic string `xml:"underlyingPnic" json:"underlyingPnic"`
 29440  	// 802.1p priority class to use for FCoE traffic.
 29441  	PriorityClass int32 `xml:"priorityClass,omitempty" json:"priorityClass,omitempty"`
 29442  	// Source MAC address to use for FCoE traffic.
 29443  	//
 29444  	// This MAC address is associated with the logical construct that is a
 29445  	// physical NIC's associated underlying FCoE Controller, as defined in
 29446  	// the FC-BB-5 standard.
 29447  	// This MAC address should be of the form "xx:xx:xx:xx:xx:xx", where 'x'
 29448  	// is a hexadecimal digit. Valid MAC addresses are unicast addresses.
 29449  	SourceMac string `xml:"sourceMac,omitempty" json:"sourceMac,omitempty"`
 29450  	// VLAN ranges to use for FCoE traffic.
 29451  	VlanRange []FcoeConfigVlanRange `xml:"vlanRange,omitempty" json:"vlanRange,omitempty"`
 29452  }
 29453  
 29454  func init() {
 29455  	t["FcoeConfigFcoeSpecification"] = reflect.TypeOf((*FcoeConfigFcoeSpecification)(nil)).Elem()
 29456  	minAPIVersionForType["FcoeConfigFcoeSpecification"] = "5.0"
 29457  }
 29458  
 29459  // Used to represent inclusive intervals of VLAN IDs.
 29460  //
 29461  // Valid VLAN IDs fall within the range \[0,4094\], and the low value of a
 29462  // VlanRange must be less than or equal to the high value.
 29463  type FcoeConfigVlanRange struct {
 29464  	DynamicData
 29465  
 29466  	VlanLow  int32 `xml:"vlanLow" json:"vlanLow"`
 29467  	VlanHigh int32 `xml:"vlanHigh" json:"vlanHigh"`
 29468  }
 29469  
 29470  func init() {
 29471  	t["FcoeConfigVlanRange"] = reflect.TypeOf((*FcoeConfigVlanRange)(nil)).Elem()
 29472  	minAPIVersionForType["FcoeConfigVlanRange"] = "5.0"
 29473  }
 29474  
 29475  // Deprecated as of vSphere API 8.0. Software FCoE not supported.
 29476  //
 29477  // Base class for faults that can be thrown while invoking FCoE management operations.
 29478  type FcoeFault struct {
 29479  	VimFault
 29480  }
 29481  
 29482  func init() {
 29483  	t["FcoeFault"] = reflect.TypeOf((*FcoeFault)(nil)).Elem()
 29484  	minAPIVersionForType["FcoeFault"] = "5.0"
 29485  }
 29486  
 29487  type FcoeFaultFault BaseFcoeFault
 29488  
 29489  func init() {
 29490  	t["FcoeFaultFault"] = reflect.TypeOf((*FcoeFaultFault)(nil)).Elem()
 29491  }
 29492  
 29493  // Deprecated as of vSphere API 8.0. Software FCoE not supported.
 29494  //
 29495  // This fault indicates the given Software Fcoe NIC has no uplink ports
 29496  // that is required for initiating a discovery.
 29497  type FcoeFaultPnicHasNoPortSet struct {
 29498  	FcoeFault
 29499  
 29500  	NicDevice string `xml:"nicDevice" json:"nicDevice"`
 29501  }
 29502  
 29503  func init() {
 29504  	t["FcoeFaultPnicHasNoPortSet"] = reflect.TypeOf((*FcoeFaultPnicHasNoPortSet)(nil)).Elem()
 29505  	minAPIVersionForType["FcoeFaultPnicHasNoPortSet"] = "5.0"
 29506  }
 29507  
 29508  type FcoeFaultPnicHasNoPortSetFault FcoeFaultPnicHasNoPortSet
 29509  
 29510  func init() {
 29511  	t["FcoeFaultPnicHasNoPortSetFault"] = reflect.TypeOf((*FcoeFaultPnicHasNoPortSetFault)(nil)).Elem()
 29512  }
 29513  
 29514  // The `FeatureEVCMode` data object describes an Enhanced vMotion
 29515  // Compatibility mode for VMFeature.
 29516  //
 29517  // An Feature EVC mode is associated with a set of features. This object
 29518  // is modeled after EVCMode, which is more CPU-centric. Members that
 29519  // are specific to CPU are removed in favor of VMFeature EVC properties.
 29520  // For more information about EVC interaction, see `EVCMode`.
 29521  //
 29522  // The inherited `ElementDescription.key` property is a string value
 29523  // that uniquely identifies an EVC mode. The vCenter Server assigns
 29524  // the key value; the vSphere API uses the key to identify modes
 29525  // in summary and information objects, for example:
 29526  //   - `ClusterComputeResourceSummary*.*ClusterComputeResourceSummary.currentEVCGraphicsModeKey`
 29527  //   - `HostListSummary*.*HostListSummary.currentEVCGraphicsModeKey`
 29528  //
 29529  // The inherited `Description.label` and `Description.summary`
 29530  // properties are human-readable strings.
 29531  type FeatureEVCMode struct {
 29532  	ElementDescription
 29533  
 29534  	// The masks (modifications to a host's feature capabilities) that limit a
 29535  	// host's capabilities to that of the EVC mode baseline.
 29536  	Mask []HostFeatureMask `xml:"mask,omitempty" json:"mask,omitempty"`
 29537  	// Describes the feature capability baseline associated with the EVC mode.
 29538  	//
 29539  	// On the cluster where a particular EVC mode is configured,
 29540  	// these features capabilities are guaranteed, either because the host
 29541  	// hardware naturally matches those features or because feature masks
 29542  	// are used to mask out differences and enforce a match.
 29543  	Capability []HostFeatureCapability `xml:"capability,omitempty" json:"capability,omitempty"`
 29544  	// The conditions that must be true of a host's feature capabilities in order
 29545  	// for the host to meet the minimum requirements of the EVC mode baseline.
 29546  	Requirement []VirtualMachineFeatureRequirement `xml:"requirement,omitempty" json:"requirement,omitempty"`
 29547  }
 29548  
 29549  func init() {
 29550  	t["FeatureEVCMode"] = reflect.TypeOf((*FeatureEVCMode)(nil)).Elem()
 29551  	minAPIVersionForType["FeatureEVCMode"] = "7.0.1.0"
 29552  }
 29553  
 29554  // The host does not meet feature requirements of the virtual machine.
 29555  type FeatureRequirementsNotMet struct {
 29556  	VirtualHardwareCompatibilityIssue
 29557  
 29558  	// The feature requirements that were not met.
 29559  	FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty" json:"featureRequirement,omitempty"`
 29560  	// The virtual machine whose feature requirements were not met.
 29561  	//
 29562  	// Refers instance of `VirtualMachine`.
 29563  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 29564  	// The host whose capabilities did not meet the virtual machine's feature requirements.
 29565  	//
 29566  	// Refers instance of `HostSystem`.
 29567  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 29568  }
 29569  
 29570  func init() {
 29571  	t["FeatureRequirementsNotMet"] = reflect.TypeOf((*FeatureRequirementsNotMet)(nil)).Elem()
 29572  	minAPIVersionForType["FeatureRequirementsNotMet"] = "5.1"
 29573  }
 29574  
 29575  type FeatureRequirementsNotMetFault FeatureRequirementsNotMet
 29576  
 29577  func init() {
 29578  	t["FeatureRequirementsNotMetFault"] = reflect.TypeOf((*FeatureRequirementsNotMetFault)(nil)).Elem()
 29579  }
 29580  
 29581  type FetchAuditRecords FetchAuditRecordsRequestType
 29582  
 29583  func init() {
 29584  	t["FetchAuditRecords"] = reflect.TypeOf((*FetchAuditRecords)(nil)).Elem()
 29585  }
 29586  
 29587  // The parameters of `DiagnosticManager.FetchAuditRecords`.
 29588  type FetchAuditRecordsRequestType struct {
 29589  	This ManagedObjectReference `xml:"_this" json:"-"`
 29590  	// The token to be used for the operation. The first call must
 29591  	// be made without a token. All subsequent calls use the token
 29592  	// returned in AuditRecordStatus.
 29593  	Token string `xml:"token,omitempty" json:"token,omitempty"`
 29594  }
 29595  
 29596  func init() {
 29597  	t["FetchAuditRecordsRequestType"] = reflect.TypeOf((*FetchAuditRecordsRequestType)(nil)).Elem()
 29598  }
 29599  
 29600  type FetchAuditRecordsResponse struct {
 29601  	Returnval DiagnosticManagerAuditRecordResult `xml:"returnval" json:"returnval"`
 29602  }
 29603  
 29604  type FetchDVPortKeys FetchDVPortKeysRequestType
 29605  
 29606  func init() {
 29607  	t["FetchDVPortKeys"] = reflect.TypeOf((*FetchDVPortKeys)(nil)).Elem()
 29608  }
 29609  
 29610  // The parameters of `DistributedVirtualSwitch.FetchDVPortKeys`.
 29611  type FetchDVPortKeysRequestType struct {
 29612  	This ManagedObjectReference `xml:"_this" json:"-"`
 29613  	// The port selection criteria. If unset, the operation
 29614  	// returns the keys of all the ports in the switch.
 29615  	Criteria *DistributedVirtualSwitchPortCriteria `xml:"criteria,omitempty" json:"criteria,omitempty"`
 29616  }
 29617  
 29618  func init() {
 29619  	t["FetchDVPortKeysRequestType"] = reflect.TypeOf((*FetchDVPortKeysRequestType)(nil)).Elem()
 29620  }
 29621  
 29622  type FetchDVPortKeysResponse struct {
 29623  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 29624  }
 29625  
 29626  type FetchDVPorts FetchDVPortsRequestType
 29627  
 29628  func init() {
 29629  	t["FetchDVPorts"] = reflect.TypeOf((*FetchDVPorts)(nil)).Elem()
 29630  }
 29631  
 29632  // The parameters of `DistributedVirtualSwitch.FetchDVPorts`.
 29633  type FetchDVPortsRequestType struct {
 29634  	This ManagedObjectReference `xml:"_this" json:"-"`
 29635  	// The port selection criteria. If unset, the operation
 29636  	// returns the keys of all the ports in the portgroup.
 29637  	Criteria *DistributedVirtualSwitchPortCriteria `xml:"criteria,omitempty" json:"criteria,omitempty"`
 29638  }
 29639  
 29640  func init() {
 29641  	t["FetchDVPortsRequestType"] = reflect.TypeOf((*FetchDVPortsRequestType)(nil)).Elem()
 29642  }
 29643  
 29644  type FetchDVPortsResponse struct {
 29645  	Returnval []DistributedVirtualPort `xml:"returnval,omitempty" json:"returnval,omitempty"`
 29646  }
 29647  
 29648  type FetchSystemEventLog FetchSystemEventLogRequestType
 29649  
 29650  func init() {
 29651  	t["FetchSystemEventLog"] = reflect.TypeOf((*FetchSystemEventLog)(nil)).Elem()
 29652  }
 29653  
 29654  type FetchSystemEventLogRequestType struct {
 29655  	This ManagedObjectReference `xml:"_this" json:"-"`
 29656  }
 29657  
 29658  func init() {
 29659  	t["FetchSystemEventLogRequestType"] = reflect.TypeOf((*FetchSystemEventLogRequestType)(nil)).Elem()
 29660  }
 29661  
 29662  type FetchSystemEventLogResponse struct {
 29663  	Returnval []SystemEventInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 29664  }
 29665  
 29666  type FetchUserPrivilegeOnEntities FetchUserPrivilegeOnEntitiesRequestType
 29667  
 29668  func init() {
 29669  	t["FetchUserPrivilegeOnEntities"] = reflect.TypeOf((*FetchUserPrivilegeOnEntities)(nil)).Elem()
 29670  }
 29671  
 29672  // The parameters of `AuthorizationManager.FetchUserPrivilegeOnEntities`.
 29673  type FetchUserPrivilegeOnEntitiesRequestType struct {
 29674  	This ManagedObjectReference `xml:"_this" json:"-"`
 29675  	// are the entities to retrieve privileges on
 29676  	//
 29677  	// Required privileges: System.View
 29678  	//
 29679  	// Refers instances of `ManagedEntity`.
 29680  	Entities []ManagedObjectReference `xml:"entities" json:"entities"`
 29681  	// is the user to retrieve privileges for
 29682  	UserName string `xml:"userName" json:"userName"`
 29683  }
 29684  
 29685  func init() {
 29686  	t["FetchUserPrivilegeOnEntitiesRequestType"] = reflect.TypeOf((*FetchUserPrivilegeOnEntitiesRequestType)(nil)).Elem()
 29687  }
 29688  
 29689  type FetchUserPrivilegeOnEntitiesResponse struct {
 29690  	Returnval []UserPrivilegeResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 29691  }
 29692  
 29693  // This fault is thrown when an operation attempts to create a file using the name of
 29694  // an existing file.
 29695  type FileAlreadyExists struct {
 29696  	FileFault
 29697  }
 29698  
 29699  func init() {
 29700  	t["FileAlreadyExists"] = reflect.TypeOf((*FileAlreadyExists)(nil)).Elem()
 29701  }
 29702  
 29703  type FileAlreadyExistsFault FileAlreadyExists
 29704  
 29705  func init() {
 29706  	t["FileAlreadyExistsFault"] = reflect.TypeOf((*FileAlreadyExistsFault)(nil)).Elem()
 29707  }
 29708  
 29709  // The virtual machine has a port (either a SerialPort or a ParallelPort) which is
 29710  // backed by a file.
 29711  //
 29712  // This is an error when migrating a virtual machine with the device
 29713  // connected, and can be returned as a subfault of DisallowedMigrationDeviceAttached.
 29714  type FileBackedPortNotSupported struct {
 29715  	DeviceNotSupported
 29716  }
 29717  
 29718  func init() {
 29719  	t["FileBackedPortNotSupported"] = reflect.TypeOf((*FileBackedPortNotSupported)(nil)).Elem()
 29720  	minAPIVersionForType["FileBackedPortNotSupported"] = "2.5"
 29721  }
 29722  
 29723  type FileBackedPortNotSupportedFault FileBackedPortNotSupported
 29724  
 29725  func init() {
 29726  	t["FileBackedPortNotSupportedFault"] = reflect.TypeOf((*FileBackedPortNotSupportedFault)(nil)).Elem()
 29727  }
 29728  
 29729  // Specification used to create a file based virtual disk
 29730  type FileBackedVirtualDiskSpec struct {
 29731  	VirtualDiskSpec
 29732  
 29733  	// Specify the capacity of the virtual disk in Kb.
 29734  	CapacityKb int64 `xml:"capacityKb" json:"capacityKb"`
 29735  	// Virtual Disk Profile requirement.
 29736  	//
 29737  	// Profiles are solution specifics.
 29738  	// Profile Based Storage Management is a vSphere server extension.
 29739  	// The API users who want to provision VMs using Storage Profiles, need to
 29740  	// interact with it.
 29741  	// This is an optional parameter and if user doesn't specify profile,
 29742  	// the default behavior will apply.
 29743  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty" vim:"5.5"`
 29744  	// Encryption options for the new virtual disk.
 29745  	Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr" json:"crypto,omitempty" vim:"6.5"`
 29746  }
 29747  
 29748  func init() {
 29749  	t["FileBackedVirtualDiskSpec"] = reflect.TypeOf((*FileBackedVirtualDiskSpec)(nil)).Elem()
 29750  	minAPIVersionForType["FileBackedVirtualDiskSpec"] = "2.5"
 29751  }
 29752  
 29753  // The common base type for all file-related exceptions.
 29754  type FileFault struct {
 29755  	VimFault
 29756  
 29757  	// The file in question.
 29758  	File string `xml:"file" json:"file"`
 29759  }
 29760  
 29761  func init() {
 29762  	t["FileFault"] = reflect.TypeOf((*FileFault)(nil)).Elem()
 29763  }
 29764  
 29765  type FileFaultFault BaseFileFault
 29766  
 29767  func init() {
 29768  	t["FileFaultFault"] = reflect.TypeOf((*FileFaultFault)(nil)).Elem()
 29769  }
 29770  
 29771  // This data object type contains rudimentary information about a file in a
 29772  // datastore.
 29773  //
 29774  // The information here is not meant to cover all information in
 29775  // traditional file systems, but rather to provide sufficient information for files
 29776  // that are associated with virtual machines. Derived types describe the known file
 29777  // types for a datastore.
 29778  type FileInfo struct {
 29779  	DynamicData
 29780  
 29781  	// The path relative to the folder path in the search results.
 29782  	Path string `xml:"path" json:"path"`
 29783  	// User friendly name.
 29784  	FriendlyName string `xml:"friendlyName,omitempty" json:"friendlyName,omitempty" vim:"6.5"`
 29785  	// The size of the file in bytes.
 29786  	FileSize int64 `xml:"fileSize,omitempty" json:"fileSize,omitempty"`
 29787  	// The last date and time the file was modified.
 29788  	Modification *time.Time `xml:"modification" json:"modification,omitempty"`
 29789  	// The user name of the owner of the file.
 29790  	Owner string `xml:"owner,omitempty" json:"owner,omitempty" vim:"4.0"`
 29791  }
 29792  
 29793  func init() {
 29794  	t["FileInfo"] = reflect.TypeOf((*FileInfo)(nil)).Elem()
 29795  }
 29796  
 29797  // The File information available on a particular file on the host that
 29798  // can be fetched.
 29799  //
 29800  // Attempt is made to query and fetch as much information
 29801  // as possible depending on the file system the file is residing on.
 29802  type FileLockInfo struct {
 29803  	DynamicData
 29804  
 29805  	FilePath  string `xml:"filePath" json:"filePath"`
 29806  	Host      string `xml:"host" json:"host"`
 29807  	Mac       string `xml:"mac" json:"mac"`
 29808  	Id        string `xml:"id" json:"id"`
 29809  	WorldName string `xml:"worldName" json:"worldName"`
 29810  	OwnerId   string `xml:"ownerId,omitempty" json:"ownerId,omitempty"`
 29811  	LockMode  string `xml:"lockMode" json:"lockMode"`
 29812  	// Optional future - will be fetched if available.
 29813  	Acquired  *time.Time `xml:"acquired" json:"acquired,omitempty"`
 29814  	Heartbeat *time.Time `xml:"heartbeat" json:"heartbeat,omitempty"`
 29815  	RefCount  int32      `xml:"refCount,omitempty" json:"refCount,omitempty"`
 29816  }
 29817  
 29818  func init() {
 29819  	t["FileLockInfo"] = reflect.TypeOf((*FileLockInfo)(nil)).Elem()
 29820  	minAPIVersionForType["FileLockInfo"] = "8.0.2.0"
 29821  }
 29822  
 29823  type FileLockInfoResult struct {
 29824  	DynamicData
 29825  
 29826  	// FileLockInfo entries populated based on results fetched from host.
 29827  	//
 29828  	// If a single path is provided result should contain a single entry.
 29829  	// For a generic VM name potentially multiple entries could be fetched
 29830  	// and populated. Refer to `FileManager.QueryFileLockInfo` for
 29831  	// more details.
 29832  	LockInfo []FileLockInfo        `xml:"lockInfo,omitempty" json:"lockInfo,omitempty"`
 29833  	Fault    *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 29834  }
 29835  
 29836  func init() {
 29837  	t["FileLockInfoResult"] = reflect.TypeOf((*FileLockInfoResult)(nil)).Elem()
 29838  }
 29839  
 29840  // Thrown if an attempt is made to lock a file that is already in use.
 29841  type FileLocked struct {
 29842  	FileFault
 29843  }
 29844  
 29845  func init() {
 29846  	t["FileLocked"] = reflect.TypeOf((*FileLocked)(nil)).Elem()
 29847  }
 29848  
 29849  type FileLockedFault FileLocked
 29850  
 29851  func init() {
 29852  	t["FileLockedFault"] = reflect.TypeOf((*FileLockedFault)(nil)).Elem()
 29853  }
 29854  
 29855  // This fault is thrown when an operation fails because the name of the
 29856  // specified file is too long.
 29857  type FileNameTooLong struct {
 29858  	FileFault
 29859  }
 29860  
 29861  func init() {
 29862  	t["FileNameTooLong"] = reflect.TypeOf((*FileNameTooLong)(nil)).Elem()
 29863  	minAPIVersionForType["FileNameTooLong"] = "5.0"
 29864  }
 29865  
 29866  type FileNameTooLongFault FileNameTooLong
 29867  
 29868  func init() {
 29869  	t["FileNameTooLongFault"] = reflect.TypeOf((*FileNameTooLongFault)(nil)).Elem()
 29870  }
 29871  
 29872  // This fault is thrown when an operation fails because the specified file
 29873  // does not exist.
 29874  type FileNotFound struct {
 29875  	FileFault
 29876  }
 29877  
 29878  func init() {
 29879  	t["FileNotFound"] = reflect.TypeOf((*FileNotFound)(nil)).Elem()
 29880  }
 29881  
 29882  type FileNotFoundFault FileNotFound
 29883  
 29884  func init() {
 29885  	t["FileNotFoundFault"] = reflect.TypeOf((*FileNotFoundFault)(nil)).Elem()
 29886  }
 29887  
 29888  // Thrown if an attempt is made to write to a read-only file.
 29889  type FileNotWritable struct {
 29890  	FileFault
 29891  }
 29892  
 29893  func init() {
 29894  	t["FileNotWritable"] = reflect.TypeOf((*FileNotWritable)(nil)).Elem()
 29895  }
 29896  
 29897  type FileNotWritableFault FileNotWritable
 29898  
 29899  func init() {
 29900  	t["FileNotWritableFault"] = reflect.TypeOf((*FileNotWritableFault)(nil)).Elem()
 29901  }
 29902  
 29903  // The data object type that describes the base query specification.
 29904  //
 29905  // Contains query
 29906  // filters and details that apply to every file. Querying only file details generally
 29907  // does not require opening files and so is an efficient query. Derived types add
 29908  // query parameters specific to the type of file.
 29909  type FileQuery struct {
 29910  	DynamicData
 29911  }
 29912  
 29913  func init() {
 29914  	t["FileQuery"] = reflect.TypeOf((*FileQuery)(nil)).Elem()
 29915  }
 29916  
 29917  // The FileInfo.Details data object type is a set of flags for a search request.
 29918  //
 29919  // This search request specifies which details to return for each matching file.
 29920  // This data object type is here to ensure that there is one flag corresponding to
 29921  // each FileInfo property other than the path name, which a search always returns.
 29922  type FileQueryFlags struct {
 29923  	DynamicData
 29924  
 29925  	// The flag to indicate whether or not the files that match this query
 29926  	// specification are returned along with file type information.
 29927  	//
 29928  	// This field must
 29929  	// be set to return specific details about the file type.
 29930  	FileType bool `xml:"fileType" json:"fileType"`
 29931  	// The flag to indicate whether or not the size of the file is returned.
 29932  	FileSize bool `xml:"fileSize" json:"fileSize"`
 29933  	// The flag to indicate whether or not to return the date and time the file was
 29934  	// last modified.
 29935  	Modification bool `xml:"modification" json:"modification"`
 29936  	// The flag to indicate whether or not to return the file owner.
 29937  	FileOwner *bool `xml:"fileOwner" json:"fileOwner,omitempty" vim:"4.0"`
 29938  }
 29939  
 29940  func init() {
 29941  	t["FileQueryFlags"] = reflect.TypeOf((*FileQueryFlags)(nil)).Elem()
 29942  }
 29943  
 29944  // This fault is thrown when an operation fails because the file is larger
 29945  // than the maximum file size supported by the datastore.
 29946  type FileTooLarge struct {
 29947  	FileFault
 29948  
 29949  	// The name of the datastore that does not support the file's size.
 29950  	Datastore string `xml:"datastore" json:"datastore"`
 29951  	// The size (in bytes) of the file.
 29952  	FileSize int64 `xml:"fileSize" json:"fileSize"`
 29953  	// The max file size (in bytes) supported on the datastore.
 29954  	MaxFileSize int64 `xml:"maxFileSize,omitempty" json:"maxFileSize,omitempty"`
 29955  }
 29956  
 29957  func init() {
 29958  	t["FileTooLarge"] = reflect.TypeOf((*FileTooLarge)(nil)).Elem()
 29959  	minAPIVersionForType["FileTooLarge"] = "2.5"
 29960  }
 29961  
 29962  type FileTooLargeFault FileTooLarge
 29963  
 29964  func init() {
 29965  	t["FileTooLargeFault"] = reflect.TypeOf((*FileTooLargeFault)(nil)).Elem()
 29966  }
 29967  
 29968  // Represents the information about a
 29969  // `GuestFileManager.InitiateFileTransferFromGuest` operation
 29970  // of `GuestFileManager` object.
 29971  //
 29972  // The user can use the URL provided in url property to transfer
 29973  // the file from the guest. The user should send a HTTP GET request to the
 29974  // URL. Entire file content will be returned in the body of the response
 29975  // message.
 29976  type FileTransferInformation struct {
 29977  	DynamicData
 29978  
 29979  	// File attributes of the file that is being transferred from the guest.
 29980  	Attributes BaseGuestFileAttributes `xml:"attributes,typeattr" json:"attributes"`
 29981  	// Total size of the file in bytes.
 29982  	Size int64 `xml:"size" json:"size"`
 29983  	// Specifies the URL to which the user has to send HTTP GET request.
 29984  	//
 29985  	// Multiple GET requests cannot be sent to the URL simultaneously. URL
 29986  	// will become invalid once a successful GET request is sent.
 29987  	//
 29988  	//
 29989  	// The host part of the URL is returned as '\*' if the hostname to be used
 29990  	// is the name of the server to which the call was made. For example, if
 29991  	// the call is made to esx-svr-1.domain1.com, and the file is available for
 29992  	// download from
 29993  	// `https://esx-svr-1.domain1.com/guestFile?id=1&token=1234`,
 29994  	// the URL returned may be
 29995  	// `https://&#42;/guestFile?id=1&token=1234`.
 29996  	// The client replaces the asterisk with the server name on which it
 29997  	// invoked the call.
 29998  	//
 29999  	//
 30000  	// The URL is valid only for 10 minutes from the time it is generated.
 30001  	// Also, the URL becomes invalid whenever the virtual machine is powered
 30002  	// off, suspended or unregistered.
 30003  	Url string `xml:"url" json:"url"`
 30004  }
 30005  
 30006  func init() {
 30007  	t["FileTransferInformation"] = reflect.TypeOf((*FileTransferInformation)(nil)).Elem()
 30008  	minAPIVersionForType["FileTransferInformation"] = "5.0"
 30009  }
 30010  
 30011  // This fault is thrown when creating a quiesced snapshot failed
 30012  // because the create snapshot operation exceeded the time limit
 30013  // for holding off I/O in the frozen VM.
 30014  //
 30015  // This indicates that when we attempted to thaw the VM after
 30016  // creating the snapshot, we got an error back indicating that
 30017  // the VM was not frozen anymore. In this case, we roll back
 30018  // the entire snapshot create operation and throw this exception.
 30019  type FilesystemQuiesceFault struct {
 30020  	SnapshotFault
 30021  }
 30022  
 30023  func init() {
 30024  	t["FilesystemQuiesceFault"] = reflect.TypeOf((*FilesystemQuiesceFault)(nil)).Elem()
 30025  }
 30026  
 30027  type FilesystemQuiesceFaultFault FilesystemQuiesceFault
 30028  
 30029  func init() {
 30030  	t["FilesystemQuiesceFaultFault"] = reflect.TypeOf((*FilesystemQuiesceFaultFault)(nil)).Elem()
 30031  }
 30032  
 30033  // A FilterInUse fault indicates that some error has occurred because an
 30034  // IO filter was in use.
 30035  type FilterInUse struct {
 30036  	ResourceInUse
 30037  
 30038  	// Virtual disks that use the filter.
 30039  	Disk []VirtualDiskId `xml:"disk,omitempty" json:"disk,omitempty"`
 30040  }
 30041  
 30042  func init() {
 30043  	t["FilterInUse"] = reflect.TypeOf((*FilterInUse)(nil)).Elem()
 30044  	minAPIVersionForType["FilterInUse"] = "6.0"
 30045  }
 30046  
 30047  type FilterInUseFault FilterInUse
 30048  
 30049  func init() {
 30050  	t["FilterInUseFault"] = reflect.TypeOf((*FilterInUseFault)(nil)).Elem()
 30051  }
 30052  
 30053  type FindAllByDnsName FindAllByDnsNameRequestType
 30054  
 30055  func init() {
 30056  	t["FindAllByDnsName"] = reflect.TypeOf((*FindAllByDnsName)(nil)).Elem()
 30057  }
 30058  
 30059  // The parameters of `SearchIndex.FindAllByDnsName`.
 30060  type FindAllByDnsNameRequestType struct {
 30061  	This ManagedObjectReference `xml:"_this" json:"-"`
 30062  	// If specified, restricts the query to entities in
 30063  	// a particular datacenter. If not specified, the entire inventory is
 30064  	// searched.
 30065  	//
 30066  	// Refers instance of `Datacenter`.
 30067  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 30068  	// The fully qualified domain name to find.
 30069  	DnsName string `xml:"dnsName" json:"dnsName"`
 30070  	// If true, search for virtual machines, otherwise search for
 30071  	// hosts.
 30072  	VmSearch bool `xml:"vmSearch" json:"vmSearch"`
 30073  }
 30074  
 30075  func init() {
 30076  	t["FindAllByDnsNameRequestType"] = reflect.TypeOf((*FindAllByDnsNameRequestType)(nil)).Elem()
 30077  }
 30078  
 30079  type FindAllByDnsNameResponse struct {
 30080  	Returnval []ManagedObjectReference `xml:"returnval" json:"returnval"`
 30081  }
 30082  
 30083  type FindAllByIp FindAllByIpRequestType
 30084  
 30085  func init() {
 30086  	t["FindAllByIp"] = reflect.TypeOf((*FindAllByIp)(nil)).Elem()
 30087  }
 30088  
 30089  // The parameters of `SearchIndex.FindAllByIp`.
 30090  type FindAllByIpRequestType struct {
 30091  	This ManagedObjectReference `xml:"_this" json:"-"`
 30092  	// If specified, restricts the query to entities in
 30093  	// a particular datacenter. If not specified, the entire inventory is
 30094  	// searched.
 30095  	//
 30096  	// Refers instance of `Datacenter`.
 30097  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 30098  	// The dot-decimal notation formatted IP address to find.
 30099  	Ip string `xml:"ip" json:"ip"`
 30100  	// If true, search for virtual machines, otherwise search for
 30101  	// hosts.
 30102  	VmSearch bool `xml:"vmSearch" json:"vmSearch"`
 30103  }
 30104  
 30105  func init() {
 30106  	t["FindAllByIpRequestType"] = reflect.TypeOf((*FindAllByIpRequestType)(nil)).Elem()
 30107  }
 30108  
 30109  type FindAllByIpResponse struct {
 30110  	Returnval []ManagedObjectReference `xml:"returnval" json:"returnval"`
 30111  }
 30112  
 30113  type FindAllByUuid FindAllByUuidRequestType
 30114  
 30115  func init() {
 30116  	t["FindAllByUuid"] = reflect.TypeOf((*FindAllByUuid)(nil)).Elem()
 30117  }
 30118  
 30119  // The parameters of `SearchIndex.FindAllByUuid`.
 30120  type FindAllByUuidRequestType struct {
 30121  	This ManagedObjectReference `xml:"_this" json:"-"`
 30122  	// If specified, restricts the query to entities in
 30123  	// a particular datacenter. If not specified, the entire inventory is
 30124  	// searched.
 30125  	//
 30126  	// Refers instance of `Datacenter`.
 30127  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 30128  	// The UUID to find. If vmSearch is true, the UUID can be either BIOS
 30129  	// or instance UUID.
 30130  	Uuid string `xml:"uuid" json:"uuid"`
 30131  	// If true, search for virtual machines, otherwise search for
 30132  	// hosts.
 30133  	VmSearch bool `xml:"vmSearch" json:"vmSearch"`
 30134  	// Should only be set when vmSearch is true. If specified, search
 30135  	// for virtual machines whose instance UUID matches the given uuid.
 30136  	// Otherwise, search for virtual machines whose BIOS UUID matches the given
 30137  	// uuid.
 30138  	InstanceUuid *bool `xml:"instanceUuid" json:"instanceUuid,omitempty"`
 30139  }
 30140  
 30141  func init() {
 30142  	t["FindAllByUuidRequestType"] = reflect.TypeOf((*FindAllByUuidRequestType)(nil)).Elem()
 30143  }
 30144  
 30145  type FindAllByUuidResponse struct {
 30146  	Returnval []ManagedObjectReference `xml:"returnval" json:"returnval"`
 30147  }
 30148  
 30149  type FindAssociatedProfile FindAssociatedProfileRequestType
 30150  
 30151  func init() {
 30152  	t["FindAssociatedProfile"] = reflect.TypeOf((*FindAssociatedProfile)(nil)).Elem()
 30153  }
 30154  
 30155  // The parameters of `ProfileManager.FindAssociatedProfile`.
 30156  type FindAssociatedProfileRequestType struct {
 30157  	This ManagedObjectReference `xml:"_this" json:"-"`
 30158  	// Entity for which profile is being looked up.
 30159  	//
 30160  	// Refers instance of `ManagedEntity`.
 30161  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 30162  }
 30163  
 30164  func init() {
 30165  	t["FindAssociatedProfileRequestType"] = reflect.TypeOf((*FindAssociatedProfileRequestType)(nil)).Elem()
 30166  }
 30167  
 30168  type FindAssociatedProfileResponse struct {
 30169  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 30170  }
 30171  
 30172  type FindByDatastorePath FindByDatastorePathRequestType
 30173  
 30174  func init() {
 30175  	t["FindByDatastorePath"] = reflect.TypeOf((*FindByDatastorePath)(nil)).Elem()
 30176  }
 30177  
 30178  // The parameters of `SearchIndex.FindByDatastorePath`.
 30179  type FindByDatastorePathRequestType struct {
 30180  	This ManagedObjectReference `xml:"_this" json:"-"`
 30181  	// Specifies the datacenter to which the datastore path belongs.
 30182  	//
 30183  	// Refers instance of `Datacenter`.
 30184  	Datacenter ManagedObjectReference `xml:"datacenter" json:"datacenter"`
 30185  	// A datastore path to the .vmx file for the virtual machine.
 30186  	Path string `xml:"path" json:"path"`
 30187  }
 30188  
 30189  func init() {
 30190  	t["FindByDatastorePathRequestType"] = reflect.TypeOf((*FindByDatastorePathRequestType)(nil)).Elem()
 30191  }
 30192  
 30193  type FindByDatastorePathResponse struct {
 30194  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 30195  }
 30196  
 30197  type FindByDnsName FindByDnsNameRequestType
 30198  
 30199  func init() {
 30200  	t["FindByDnsName"] = reflect.TypeOf((*FindByDnsName)(nil)).Elem()
 30201  }
 30202  
 30203  // The parameters of `SearchIndex.FindByDnsName`.
 30204  type FindByDnsNameRequestType struct {
 30205  	This ManagedObjectReference `xml:"_this" json:"-"`
 30206  	// If specified, restricts the query to entities in
 30207  	// a particular datacenter. If not specified, the entire inventory is
 30208  	// searched.
 30209  	//
 30210  	// Refers instance of `Datacenter`.
 30211  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 30212  	// The fully qualified domain name to find.
 30213  	DnsName string `xml:"dnsName" json:"dnsName"`
 30214  	// if true, search for virtual machines, otherwise search for
 30215  	// hosts.
 30216  	VmSearch bool `xml:"vmSearch" json:"vmSearch"`
 30217  }
 30218  
 30219  func init() {
 30220  	t["FindByDnsNameRequestType"] = reflect.TypeOf((*FindByDnsNameRequestType)(nil)).Elem()
 30221  }
 30222  
 30223  type FindByDnsNameResponse struct {
 30224  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 30225  }
 30226  
 30227  type FindByInventoryPath FindByInventoryPathRequestType
 30228  
 30229  func init() {
 30230  	t["FindByInventoryPath"] = reflect.TypeOf((*FindByInventoryPath)(nil)).Elem()
 30231  }
 30232  
 30233  // The parameters of `SearchIndex.FindByInventoryPath`.
 30234  type FindByInventoryPathRequestType struct {
 30235  	This ManagedObjectReference `xml:"_this" json:"-"`
 30236  	// The path to the entity.
 30237  	InventoryPath string `xml:"inventoryPath" json:"inventoryPath"`
 30238  }
 30239  
 30240  func init() {
 30241  	t["FindByInventoryPathRequestType"] = reflect.TypeOf((*FindByInventoryPathRequestType)(nil)).Elem()
 30242  }
 30243  
 30244  type FindByInventoryPathResponse struct {
 30245  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 30246  }
 30247  
 30248  type FindByIp FindByIpRequestType
 30249  
 30250  func init() {
 30251  	t["FindByIp"] = reflect.TypeOf((*FindByIp)(nil)).Elem()
 30252  }
 30253  
 30254  // The parameters of `SearchIndex.FindByIp`.
 30255  type FindByIpRequestType struct {
 30256  	This ManagedObjectReference `xml:"_this" json:"-"`
 30257  	// If specified, restricts the query to entities in
 30258  	// a particular datacenter. If not specified, the entire inventory is
 30259  	// searched.
 30260  	//
 30261  	// Refers instance of `Datacenter`.
 30262  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 30263  	// The dot-decimal notation formatted IP address to find.
 30264  	Ip string `xml:"ip" json:"ip"`
 30265  	// if true, search for virtual machines, otherwise search for
 30266  	// hosts.
 30267  	VmSearch bool `xml:"vmSearch" json:"vmSearch"`
 30268  }
 30269  
 30270  func init() {
 30271  	t["FindByIpRequestType"] = reflect.TypeOf((*FindByIpRequestType)(nil)).Elem()
 30272  }
 30273  
 30274  type FindByIpResponse struct {
 30275  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 30276  }
 30277  
 30278  type FindByUuid FindByUuidRequestType
 30279  
 30280  func init() {
 30281  	t["FindByUuid"] = reflect.TypeOf((*FindByUuid)(nil)).Elem()
 30282  }
 30283  
 30284  // The parameters of `SearchIndex.FindByUuid`.
 30285  type FindByUuidRequestType struct {
 30286  	This ManagedObjectReference `xml:"_this" json:"-"`
 30287  	// If specified, restricts the query to entities in
 30288  	// a particular datacenter. If not specified, the entire inventory is
 30289  	// searched.
 30290  	//
 30291  	// Refers instance of `Datacenter`.
 30292  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 30293  	// The UUID to find. If vmSearch is true, the uuid can be either BIOS
 30294  	// or instance UUID.
 30295  	Uuid string `xml:"uuid" json:"uuid"`
 30296  	// If true, search for virtual machines, otherwise search for
 30297  	// hosts.
 30298  	VmSearch bool `xml:"vmSearch" json:"vmSearch"`
 30299  	// Should only be set when vmSearch is true. If specified, search
 30300  	// for virtual machines whose instance UUID matches the given uuid.
 30301  	// Otherwise, search for virtual machines whose BIOS UUID matches the given
 30302  	// uuid.
 30303  	InstanceUuid *bool `xml:"instanceUuid" json:"instanceUuid,omitempty" vim:"4.0"`
 30304  }
 30305  
 30306  func init() {
 30307  	t["FindByUuidRequestType"] = reflect.TypeOf((*FindByUuidRequestType)(nil)).Elem()
 30308  }
 30309  
 30310  type FindByUuidResponse struct {
 30311  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 30312  }
 30313  
 30314  type FindChild FindChildRequestType
 30315  
 30316  func init() {
 30317  	t["FindChild"] = reflect.TypeOf((*FindChild)(nil)).Elem()
 30318  }
 30319  
 30320  // The parameters of `SearchIndex.FindChild`.
 30321  type FindChildRequestType struct {
 30322  	This ManagedObjectReference `xml:"_this" json:"-"`
 30323  	// A reference to a managed entity.
 30324  	//
 30325  	// Refers instance of `ManagedEntity`.
 30326  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 30327  	// The name of the child object.
 30328  	Name string `xml:"name" json:"name"`
 30329  }
 30330  
 30331  func init() {
 30332  	t["FindChildRequestType"] = reflect.TypeOf((*FindChildRequestType)(nil)).Elem()
 30333  }
 30334  
 30335  type FindChildResponse struct {
 30336  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 30337  }
 30338  
 30339  type FindExtension FindExtensionRequestType
 30340  
 30341  func init() {
 30342  	t["FindExtension"] = reflect.TypeOf((*FindExtension)(nil)).Elem()
 30343  }
 30344  
 30345  // The parameters of `ExtensionManager.FindExtension`.
 30346  type FindExtensionRequestType struct {
 30347  	This ManagedObjectReference `xml:"_this" json:"-"`
 30348  	// Key to search for.
 30349  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 30350  }
 30351  
 30352  func init() {
 30353  	t["FindExtensionRequestType"] = reflect.TypeOf((*FindExtensionRequestType)(nil)).Elem()
 30354  }
 30355  
 30356  type FindExtensionResponse struct {
 30357  	Returnval *Extension `xml:"returnval,omitempty" json:"returnval,omitempty"`
 30358  }
 30359  
 30360  type FindRulesForVm FindRulesForVmRequestType
 30361  
 30362  func init() {
 30363  	t["FindRulesForVm"] = reflect.TypeOf((*FindRulesForVm)(nil)).Elem()
 30364  }
 30365  
 30366  // The parameters of `ClusterComputeResource.FindRulesForVm`.
 30367  type FindRulesForVmRequestType struct {
 30368  	This ManagedObjectReference `xml:"_this" json:"-"`
 30369  	// The vm whose rules need to be looked up.
 30370  	//
 30371  	// Refers instance of `VirtualMachine`.
 30372  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 30373  }
 30374  
 30375  func init() {
 30376  	t["FindRulesForVmRequestType"] = reflect.TypeOf((*FindRulesForVmRequestType)(nil)).Elem()
 30377  }
 30378  
 30379  type FindRulesForVmResponse struct {
 30380  	Returnval []BaseClusterRuleInfo `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 30381  }
 30382  
 30383  // The `FirewallProfile` data object represents a host firewall configuration.
 30384  //
 30385  // If a profile plug-in defines policies or subprofiles, use the
 30386  // `ApplyProfile.policy` or `ApplyProfile.property`
 30387  // list to access the additional configuration data.
 30388  type FirewallProfile struct {
 30389  	ApplyProfile
 30390  
 30391  	// List of Rulesets that will be configured for the firewall subprofile.
 30392  	//
 30393  	// The rulesets can be enabled or disabled from the profile.
 30394  	Ruleset []FirewallProfileRulesetProfile `xml:"ruleset,omitempty" json:"ruleset,omitempty"`
 30395  }
 30396  
 30397  func init() {
 30398  	t["FirewallProfile"] = reflect.TypeOf((*FirewallProfile)(nil)).Elem()
 30399  	minAPIVersionForType["FirewallProfile"] = "4.0"
 30400  }
 30401  
 30402  type FirewallProfileRulesetProfile struct {
 30403  	ApplyProfile
 30404  
 30405  	// Linkable identifier.
 30406  	Key string `xml:"key" json:"key"`
 30407  }
 30408  
 30409  func init() {
 30410  	t["FirewallProfileRulesetProfile"] = reflect.TypeOf((*FirewallProfileRulesetProfile)(nil)).Elem()
 30411  }
 30412  
 30413  // The FloatOption data object type defines the minimum, maximum,
 30414  // and default values for a float option.
 30415  type FloatOption struct {
 30416  	OptionType
 30417  
 30418  	// The minimum value.
 30419  	Min float32 `xml:"min" json:"min"`
 30420  	// The maximum value.
 30421  	Max float32 `xml:"max" json:"max"`
 30422  	// The default value.
 30423  	DefaultValue float32 `xml:"defaultValue" json:"defaultValue"`
 30424  }
 30425  
 30426  func init() {
 30427  	t["FloatOption"] = reflect.TypeOf((*FloatOption)(nil)).Elem()
 30428  }
 30429  
 30430  // This data object type describes a file that is a floppy disk image.
 30431  type FloppyImageFileInfo struct {
 30432  	FileInfo
 30433  }
 30434  
 30435  func init() {
 30436  	t["FloppyImageFileInfo"] = reflect.TypeOf((*FloppyImageFileInfo)(nil)).Elem()
 30437  }
 30438  
 30439  // This data object type describes the query specification for a floppy disk image.
 30440  type FloppyImageFileQuery struct {
 30441  	FileQuery
 30442  }
 30443  
 30444  func init() {
 30445  	t["FloppyImageFileQuery"] = reflect.TypeOf((*FloppyImageFileQuery)(nil)).Elem()
 30446  }
 30447  
 30448  type FolderBatchAddHostsToClusterResult struct {
 30449  	DynamicData
 30450  
 30451  	// List of hosts that were successfully added to the cluster
 30452  	// in the desired state.
 30453  	//
 30454  	// Refers instances of `HostSystem`.
 30455  	HostsAddedToCluster []ManagedObjectReference `xml:"hostsAddedToCluster,omitempty" json:"hostsAddedToCluster,omitempty"`
 30456  	// Contains a fault for each host that failed addition to the inventory.
 30457  	//
 30458  	// A failed host will not be part of hostsAddedToCluster list.
 30459  	HostsFailedInventoryAdd []FolderFailedHostResult `xml:"hostsFailedInventoryAdd,omitempty" json:"hostsFailedInventoryAdd,omitempty"`
 30460  	// List of hosts that are part of inventory but failed to move to the
 30461  	// cluster in the desired state.
 30462  	//
 30463  	// A failed host will not be part of hostsAddedToCluster list however,
 30464  	// a failed host will be part of inventory as it might have been added
 30465  	// as a standalone host but failed to move to cluster in the desired
 30466  	// state.
 30467  	HostsFailedMoveToCluster []FolderFailedHostResult `xml:"hostsFailedMoveToCluster,omitempty" json:"hostsFailedMoveToCluster,omitempty"`
 30468  }
 30469  
 30470  func init() {
 30471  	t["FolderBatchAddHostsToClusterResult"] = reflect.TypeOf((*FolderBatchAddHostsToClusterResult)(nil)).Elem()
 30472  }
 30473  
 30474  type FolderBatchAddStandaloneHostsResult struct {
 30475  	DynamicData
 30476  
 30477  	// List of hosts that were successfully added as standalone hosts
 30478  	// to the inventory.
 30479  	//
 30480  	// Refers instances of `HostSystem`.
 30481  	AddedHosts []ManagedObjectReference `xml:"addedHosts,omitempty" json:"addedHosts,omitempty"`
 30482  	// Contains a fault for each host that failed to add.
 30483  	//
 30484  	// A failed host
 30485  	// will not be part of addedHosts list.
 30486  	HostsFailedInventoryAdd []FolderFailedHostResult `xml:"hostsFailedInventoryAdd,omitempty" json:"hostsFailedInventoryAdd,omitempty"`
 30487  }
 30488  
 30489  func init() {
 30490  	t["FolderBatchAddStandaloneHostsResult"] = reflect.TypeOf((*FolderBatchAddStandaloneHostsResult)(nil)).Elem()
 30491  }
 30492  
 30493  // The event argument is a Folder object.
 30494  type FolderEventArgument struct {
 30495  	EntityEventArgument
 30496  
 30497  	// The Folder object.
 30498  	//
 30499  	// Refers instance of `Folder`.
 30500  	Folder ManagedObjectReference `xml:"folder" json:"folder"`
 30501  }
 30502  
 30503  func init() {
 30504  	t["FolderEventArgument"] = reflect.TypeOf((*FolderEventArgument)(nil)).Elem()
 30505  }
 30506  
 30507  type FolderFailedHostResult struct {
 30508  	DynamicData
 30509  
 30510  	// Host name for which fault belongs to.
 30511  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 30512  	// Host for which fault belongs to.
 30513  	//
 30514  	// Only set when the HostSystem
 30515  	// reference is avaibale as a result of Host being part of inventory.
 30516  	//
 30517  	// Refers instance of `HostSystem`.
 30518  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 30519  	// Message describing context where the failure happened.
 30520  	Context LocalizableMessage `xml:"context" json:"context"`
 30521  	// Exception encountered while operating on this host.
 30522  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 30523  }
 30524  
 30525  func init() {
 30526  	t["FolderFailedHostResult"] = reflect.TypeOf((*FolderFailedHostResult)(nil)).Elem()
 30527  }
 30528  
 30529  // This data object type describes a file that is a folder (directory).
 30530  type FolderFileInfo struct {
 30531  	FileInfo
 30532  }
 30533  
 30534  func init() {
 30535  	t["FolderFileInfo"] = reflect.TypeOf((*FolderFileInfo)(nil)).Elem()
 30536  }
 30537  
 30538  // This data object type describes the query specification for a folder (directory).
 30539  type FolderFileQuery struct {
 30540  	FileQuery
 30541  }
 30542  
 30543  func init() {
 30544  	t["FolderFileQuery"] = reflect.TypeOf((*FolderFileQuery)(nil)).Elem()
 30545  }
 30546  
 30547  type FolderNewHostSpec struct {
 30548  	DynamicData
 30549  
 30550  	// Connection Spec for new host that needs to be added to the inventory.
 30551  	HostCnxSpec HostConnectSpec `xml:"hostCnxSpec" json:"hostCnxSpec"`
 30552  	// LicenseKey.
 30553  	//
 30554  	// See `LicenseManager`. If supplied, new
 30555  	// host will be updated with the license.
 30556  	EsxLicense string `xml:"esxLicense,omitempty" json:"esxLicense,omitempty"`
 30557  }
 30558  
 30559  func init() {
 30560  	t["FolderNewHostSpec"] = reflect.TypeOf((*FolderNewHostSpec)(nil)).Elem()
 30561  }
 30562  
 30563  type FormatVffs FormatVffsRequestType
 30564  
 30565  func init() {
 30566  	t["FormatVffs"] = reflect.TypeOf((*FormatVffs)(nil)).Elem()
 30567  }
 30568  
 30569  // The parameters of `HostStorageSystem.FormatVffs`.
 30570  type FormatVffsRequestType struct {
 30571  	This ManagedObjectReference `xml:"_this" json:"-"`
 30572  	// A data object that describes the VFFS volume
 30573  	// creation specification.
 30574  	CreateSpec HostVffsSpec `xml:"createSpec" json:"createSpec"`
 30575  }
 30576  
 30577  func init() {
 30578  	t["FormatVffsRequestType"] = reflect.TypeOf((*FormatVffsRequestType)(nil)).Elem()
 30579  }
 30580  
 30581  type FormatVffsResponse struct {
 30582  	Returnval HostVffsVolume `xml:"returnval" json:"returnval"`
 30583  }
 30584  
 30585  type FormatVmfs FormatVmfsRequestType
 30586  
 30587  func init() {
 30588  	t["FormatVmfs"] = reflect.TypeOf((*FormatVmfs)(nil)).Elem()
 30589  }
 30590  
 30591  // The parameters of `HostStorageSystem.FormatVmfs`.
 30592  type FormatVmfsRequestType struct {
 30593  	This ManagedObjectReference `xml:"_this" json:"-"`
 30594  	// A data object that describes the VMware File System
 30595  	// (VMFS) creation specification.
 30596  	CreateSpec HostVmfsSpec `xml:"createSpec" json:"createSpec"`
 30597  }
 30598  
 30599  func init() {
 30600  	t["FormatVmfsRequestType"] = reflect.TypeOf((*FormatVmfsRequestType)(nil)).Elem()
 30601  }
 30602  
 30603  type FormatVmfsResponse struct {
 30604  	Returnval HostVmfsVolume `xml:"returnval" json:"returnval"`
 30605  }
 30606  
 30607  // The FtIssuesOnHost fault reports issues that prevent a particular
 30608  // host from being used as the register or power on host for a Fault
 30609  // Tolerance secondary virtual machine
 30610  type FtIssuesOnHost struct {
 30611  	VmFaultToleranceIssue
 30612  
 30613  	// The host which has Fault Tolerance issues.
 30614  	//
 30615  	// Refers instance of `HostSystem`.
 30616  	Host ManagedObjectReference `xml:"host" json:"host"`
 30617  	// Name for the host which has Fault Tolerance issues.
 30618  	HostName string `xml:"hostName" json:"hostName"`
 30619  	// Information on the details of the Fault Tolerance issues
 30620  	Errors []LocalizedMethodFault `xml:"errors,omitempty" json:"errors,omitempty"`
 30621  }
 30622  
 30623  func init() {
 30624  	t["FtIssuesOnHost"] = reflect.TypeOf((*FtIssuesOnHost)(nil)).Elem()
 30625  	minAPIVersionForType["FtIssuesOnHost"] = "4.0"
 30626  }
 30627  
 30628  type FtIssuesOnHostFault FtIssuesOnHost
 30629  
 30630  func init() {
 30631  	t["FtIssuesOnHostFault"] = reflect.TypeOf((*FtIssuesOnHostFault)(nil)).Elem()
 30632  }
 30633  
 30634  // An operation on a powered-on virtual machine requests a simultaneous change
 30635  // of storage location and execution host, but the host does not have that
 30636  // capability.
 30637  type FullStorageVMotionNotSupported struct {
 30638  	MigrationFeatureNotSupported
 30639  }
 30640  
 30641  func init() {
 30642  	t["FullStorageVMotionNotSupported"] = reflect.TypeOf((*FullStorageVMotionNotSupported)(nil)).Elem()
 30643  	minAPIVersionForType["FullStorageVMotionNotSupported"] = "2.5"
 30644  }
 30645  
 30646  type FullStorageVMotionNotSupportedFault FullStorageVMotionNotSupported
 30647  
 30648  func init() {
 30649  	t["FullStorageVMotionNotSupportedFault"] = reflect.TypeOf((*FullStorageVMotionNotSupportedFault)(nil)).Elem()
 30650  }
 30651  
 30652  // Deprecated not used since vSphere 6.5.
 30653  //
 30654  // GatewayConnectFault is a base fault type for the faults thrown by a gateway
 30655  // server used to connect to a host.
 30656  type GatewayConnectFault struct {
 30657  	HostConnectFault
 30658  
 30659  	// The type of the gateway used for the connection to the host.
 30660  	GatewayType string `xml:"gatewayType" json:"gatewayType"`
 30661  	// Identifier of the gateway that is used for the connection to the host.
 30662  	GatewayId string `xml:"gatewayId" json:"gatewayId"`
 30663  	// Human-readable information about the host gateway server.
 30664  	GatewayInfo string `xml:"gatewayInfo" json:"gatewayInfo"`
 30665  	// Details of the cause for this fault.
 30666  	//
 30667  	// This is the way in which Host
 30668  	// Gateway servers propagate opaque error messages through vCenter Server.
 30669  	Details *LocalizableMessage `xml:"details,omitempty" json:"details,omitempty"`
 30670  }
 30671  
 30672  func init() {
 30673  	t["GatewayConnectFault"] = reflect.TypeOf((*GatewayConnectFault)(nil)).Elem()
 30674  	minAPIVersionForType["GatewayConnectFault"] = "6.0"
 30675  }
 30676  
 30677  type GatewayConnectFaultFault BaseGatewayConnectFault
 30678  
 30679  func init() {
 30680  	t["GatewayConnectFaultFault"] = reflect.TypeOf((*GatewayConnectFaultFault)(nil)).Elem()
 30681  }
 30682  
 30683  // Deprecated not used since vSphere 6.5.
 30684  //
 30685  // GatewayHostNotReachable is thrown by the gateway used to connect to a host,
 30686  // if an error occurs while establishing a connection to that host.
 30687  //
 30688  // The fault may provide a more detailed message of what caused the problem.
 30689  type GatewayHostNotReachable struct {
 30690  	GatewayToHostConnectFault
 30691  }
 30692  
 30693  func init() {
 30694  	t["GatewayHostNotReachable"] = reflect.TypeOf((*GatewayHostNotReachable)(nil)).Elem()
 30695  	minAPIVersionForType["GatewayHostNotReachable"] = "6.0"
 30696  }
 30697  
 30698  type GatewayHostNotReachableFault GatewayHostNotReachable
 30699  
 30700  func init() {
 30701  	t["GatewayHostNotReachableFault"] = reflect.TypeOf((*GatewayHostNotReachableFault)(nil)).Elem()
 30702  }
 30703  
 30704  // Deprecated not used since vSphere 6.5.
 30705  //
 30706  // GatewayNotFound is thrown by vCenter Server, if no host gateway with the
 30707  // specified type/id and available resources is known to the vCenter Server.
 30708  type GatewayNotFound struct {
 30709  	GatewayConnectFault
 30710  }
 30711  
 30712  func init() {
 30713  	t["GatewayNotFound"] = reflect.TypeOf((*GatewayNotFound)(nil)).Elem()
 30714  	minAPIVersionForType["GatewayNotFound"] = "6.0"
 30715  }
 30716  
 30717  type GatewayNotFoundFault GatewayNotFound
 30718  
 30719  func init() {
 30720  	t["GatewayNotFoundFault"] = reflect.TypeOf((*GatewayNotFoundFault)(nil)).Elem()
 30721  }
 30722  
 30723  // Deprecated not used since vSphere 6.5.
 30724  //
 30725  // GatewayNotReachable is thrown by vCenter Server when it fails to establish
 30726  // a connection to the host gateway server.
 30727  //
 30728  // This fault may occur due to
 30729  // network connectivity problems or inability to establish secure connection
 30730  // between the gateway server and vCenter Server.
 30731  type GatewayNotReachable struct {
 30732  	GatewayConnectFault
 30733  }
 30734  
 30735  func init() {
 30736  	t["GatewayNotReachable"] = reflect.TypeOf((*GatewayNotReachable)(nil)).Elem()
 30737  	minAPIVersionForType["GatewayNotReachable"] = "6.0"
 30738  }
 30739  
 30740  type GatewayNotReachableFault GatewayNotReachable
 30741  
 30742  func init() {
 30743  	t["GatewayNotReachableFault"] = reflect.TypeOf((*GatewayNotReachableFault)(nil)).Elem()
 30744  }
 30745  
 30746  // Deprecated not used sine vSphere 6.5.
 30747  //
 30748  // GatewayOperationRefused is thrown by vCenter Server when a gateway server denies to
 30749  // accept more connection due to resource limitation.
 30750  //
 30751  // The fault may occur due
 30752  // to specific configuration of the Gateway server to work with limited
 30753  // resources or due to physical limitation to handle more host connections.
 30754  type GatewayOperationRefused struct {
 30755  	GatewayConnectFault
 30756  }
 30757  
 30758  func init() {
 30759  	t["GatewayOperationRefused"] = reflect.TypeOf((*GatewayOperationRefused)(nil)).Elem()
 30760  	minAPIVersionForType["GatewayOperationRefused"] = "6.0"
 30761  }
 30762  
 30763  type GatewayOperationRefusedFault GatewayOperationRefused
 30764  
 30765  func init() {
 30766  	t["GatewayOperationRefusedFault"] = reflect.TypeOf((*GatewayOperationRefusedFault)(nil)).Elem()
 30767  }
 30768  
 30769  // Deprecated not used since vSphere 6.5.
 30770  //
 30771  // GatewayToHostAuthFault is thrown by the gateway used to communicate with a
 30772  // host, if the gateway cannot authenticate to the host with the provided
 30773  // authentication data.
 30774  //
 30775  // The fault provides information, which of the properties given in the
 30776  // authentication data are invalid or if more properties are required.
 30777  //
 30778  // See also `HostGatewaySpec.hostAuthParams`.
 30779  type GatewayToHostAuthFault struct {
 30780  	GatewayToHostConnectFault
 30781  
 30782  	// List of properties that have been provided in the authentication data
 30783  	// but have wrong values.
 30784  	InvalidProperties []string `xml:"invalidProperties" json:"invalidProperties"`
 30785  	// List of properties that do not have their values specified in the
 30786  	// provided authentication data but are required.
 30787  	MissingProperties []string `xml:"missingProperties" json:"missingProperties"`
 30788  }
 30789  
 30790  func init() {
 30791  	t["GatewayToHostAuthFault"] = reflect.TypeOf((*GatewayToHostAuthFault)(nil)).Elem()
 30792  	minAPIVersionForType["GatewayToHostAuthFault"] = "6.0"
 30793  }
 30794  
 30795  type GatewayToHostAuthFaultFault GatewayToHostAuthFault
 30796  
 30797  func init() {
 30798  	t["GatewayToHostAuthFaultFault"] = reflect.TypeOf((*GatewayToHostAuthFaultFault)(nil)).Elem()
 30799  }
 30800  
 30801  // Deprecated not used since vSphere 6.5.
 30802  //
 30803  // GatewayToHostConnectFault is thrown by the gateway used to communicate
 30804  // with a host, if an error occurs in the communication between the gateway and
 30805  // the host.
 30806  //
 30807  // More details may be provided by a subfault.
 30808  type GatewayToHostConnectFault struct {
 30809  	GatewayConnectFault
 30810  
 30811  	// Hostname of the host that the gateway is communicating with.
 30812  	Hostname string `xml:"hostname" json:"hostname"`
 30813  	// Port specified for the connection between the gateway and the host.
 30814  	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
 30815  }
 30816  
 30817  func init() {
 30818  	t["GatewayToHostConnectFault"] = reflect.TypeOf((*GatewayToHostConnectFault)(nil)).Elem()
 30819  	minAPIVersionForType["GatewayToHostConnectFault"] = "6.0"
 30820  }
 30821  
 30822  type GatewayToHostConnectFaultFault BaseGatewayToHostConnectFault
 30823  
 30824  func init() {
 30825  	t["GatewayToHostConnectFaultFault"] = reflect.TypeOf((*GatewayToHostConnectFaultFault)(nil)).Elem()
 30826  }
 30827  
 30828  // Deprecated not used since vSphere 6.5.
 30829  //
 30830  // GatewayToHostTrustVerifyFault is thrown by the gateway used to communicate
 30831  // with a host, if it cannot establish a trusted connection to the host with
 30832  // the provided host verification token parameter.
 30833  //
 30834  // The fault provides a list of opaque &lt;key,value&gt; properties, which the end
 30835  // user has to verify in order to trust the host and a verification token,
 30836  // which can be used to state that those exact properties are valid.
 30837  //
 30838  // See also `HostGatewaySpec.trustVerificationToken`.
 30839  type GatewayToHostTrustVerifyFault struct {
 30840  	GatewayToHostConnectFault
 30841  
 30842  	// A unique verification token, that can be used to state the the listed
 30843  	// properties are valid.
 30844  	VerificationToken string `xml:"verificationToken" json:"verificationToken"`
 30845  	// A key/value list of properties that need user verification in order
 30846  	// for the gateway to trust the host to succeed.
 30847  	//
 30848  	// For instance the user may
 30849  	// need to verify an SSL thumbprint or a whole certificate.
 30850  	PropertiesToVerify []KeyValue `xml:"propertiesToVerify" json:"propertiesToVerify"`
 30851  }
 30852  
 30853  func init() {
 30854  	t["GatewayToHostTrustVerifyFault"] = reflect.TypeOf((*GatewayToHostTrustVerifyFault)(nil)).Elem()
 30855  	minAPIVersionForType["GatewayToHostTrustVerifyFault"] = "6.0"
 30856  }
 30857  
 30858  type GatewayToHostTrustVerifyFaultFault GatewayToHostTrustVerifyFault
 30859  
 30860  func init() {
 30861  	t["GatewayToHostTrustVerifyFaultFault"] = reflect.TypeOf((*GatewayToHostTrustVerifyFaultFault)(nil)).Elem()
 30862  }
 30863  
 30864  // These are general events.
 30865  type GeneralEvent struct {
 30866  	Event
 30867  
 30868  	// A short form of the message string, not localized.
 30869  	Message string `xml:"message" json:"message"`
 30870  }
 30871  
 30872  func init() {
 30873  	t["GeneralEvent"] = reflect.TypeOf((*GeneralEvent)(nil)).Elem()
 30874  }
 30875  
 30876  // This event is the general error event for a host.
 30877  type GeneralHostErrorEvent struct {
 30878  	GeneralEvent
 30879  }
 30880  
 30881  func init() {
 30882  	t["GeneralHostErrorEvent"] = reflect.TypeOf((*GeneralHostErrorEvent)(nil)).Elem()
 30883  }
 30884  
 30885  // This event is the general information event for a host.
 30886  type GeneralHostInfoEvent struct {
 30887  	GeneralEvent
 30888  }
 30889  
 30890  func init() {
 30891  	t["GeneralHostInfoEvent"] = reflect.TypeOf((*GeneralHostInfoEvent)(nil)).Elem()
 30892  }
 30893  
 30894  // This event is the general warning event for a host.
 30895  type GeneralHostWarningEvent struct {
 30896  	GeneralEvent
 30897  }
 30898  
 30899  func init() {
 30900  	t["GeneralHostWarningEvent"] = reflect.TypeOf((*GeneralHostWarningEvent)(nil)).Elem()
 30901  }
 30902  
 30903  // This event is the general user event type.
 30904  type GeneralUserEvent struct {
 30905  	GeneralEvent
 30906  
 30907  	// The entity on which the event was logged.
 30908  	Entity *ManagedEntityEventArgument `xml:"entity,omitempty" json:"entity,omitempty"`
 30909  }
 30910  
 30911  func init() {
 30912  	t["GeneralUserEvent"] = reflect.TypeOf((*GeneralUserEvent)(nil)).Elem()
 30913  }
 30914  
 30915  // This event is the general error event for a virtual machine.
 30916  type GeneralVmErrorEvent struct {
 30917  	GeneralEvent
 30918  }
 30919  
 30920  func init() {
 30921  	t["GeneralVmErrorEvent"] = reflect.TypeOf((*GeneralVmErrorEvent)(nil)).Elem()
 30922  }
 30923  
 30924  // This event is the general information event for a virtual machine.
 30925  type GeneralVmInfoEvent struct {
 30926  	GeneralEvent
 30927  }
 30928  
 30929  func init() {
 30930  	t["GeneralVmInfoEvent"] = reflect.TypeOf((*GeneralVmInfoEvent)(nil)).Elem()
 30931  }
 30932  
 30933  // This event is the general warning event for a virtual machine.
 30934  type GeneralVmWarningEvent struct {
 30935  	GeneralEvent
 30936  }
 30937  
 30938  func init() {
 30939  	t["GeneralVmWarningEvent"] = reflect.TypeOf((*GeneralVmWarningEvent)(nil)).Elem()
 30940  }
 30941  
 30942  type GenerateCertificateSigningRequest GenerateCertificateSigningRequestRequestType
 30943  
 30944  func init() {
 30945  	t["GenerateCertificateSigningRequest"] = reflect.TypeOf((*GenerateCertificateSigningRequest)(nil)).Elem()
 30946  }
 30947  
 30948  type GenerateCertificateSigningRequestByDn GenerateCertificateSigningRequestByDnRequestType
 30949  
 30950  func init() {
 30951  	t["GenerateCertificateSigningRequestByDn"] = reflect.TypeOf((*GenerateCertificateSigningRequestByDn)(nil)).Elem()
 30952  }
 30953  
 30954  // The parameters of `HostCertificateManager.GenerateCertificateSigningRequestByDn`.
 30955  type GenerateCertificateSigningRequestByDnRequestType struct {
 30956  	This ManagedObjectReference `xml:"_this" json:"-"`
 30957  	// DN to be used as subject in CSR.
 30958  	DistinguishedName string `xml:"distinguishedName" json:"distinguishedName"`
 30959  	// is used to generate CSR for selected certificate kind
 30960  	Spec *HostCertificateManagerCertificateSpec `xml:"spec,omitempty" json:"spec,omitempty" vim:"8.0.1.0"`
 30961  }
 30962  
 30963  func init() {
 30964  	t["GenerateCertificateSigningRequestByDnRequestType"] = reflect.TypeOf((*GenerateCertificateSigningRequestByDnRequestType)(nil)).Elem()
 30965  }
 30966  
 30967  type GenerateCertificateSigningRequestByDnResponse struct {
 30968  	Returnval string `xml:"returnval" json:"returnval"`
 30969  }
 30970  
 30971  // The parameters of `HostCertificateManager.GenerateCertificateSigningRequest`.
 30972  type GenerateCertificateSigningRequestRequestType struct {
 30973  	This ManagedObjectReference `xml:"_this" json:"-"`
 30974  	// if true, use host's
 30975  	// management IP address as CN in the CSR;
 30976  	// otherwise use host's FQDN.
 30977  	UseIpAddressAsCommonName bool `xml:"useIpAddressAsCommonName" json:"useIpAddressAsCommonName"`
 30978  	// is used to generate CSR for selected
 30979  	// certificate kind.
 30980  	Spec *HostCertificateManagerCertificateSpec `xml:"spec,omitempty" json:"spec,omitempty" vim:"8.0.1.0"`
 30981  }
 30982  
 30983  func init() {
 30984  	t["GenerateCertificateSigningRequestRequestType"] = reflect.TypeOf((*GenerateCertificateSigningRequestRequestType)(nil)).Elem()
 30985  }
 30986  
 30987  type GenerateCertificateSigningRequestResponse struct {
 30988  	Returnval string `xml:"returnval" json:"returnval"`
 30989  }
 30990  
 30991  type GenerateClientCsr GenerateClientCsrRequestType
 30992  
 30993  func init() {
 30994  	t["GenerateClientCsr"] = reflect.TypeOf((*GenerateClientCsr)(nil)).Elem()
 30995  }
 30996  
 30997  // The parameters of `CryptoManagerKmip.GenerateClientCsr`.
 30998  type GenerateClientCsrRequestType struct {
 30999  	This ManagedObjectReference `xml:"_this" json:"-"`
 31000  	// \[in\] KMIP cluster.
 31001  	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
 31002  	// \[in\] Certificate sign request.
 31003  	Request *CryptoManagerKmipCertSignRequest `xml:"request,omitempty" json:"request,omitempty" vim:"8.0.1.0"`
 31004  }
 31005  
 31006  func init() {
 31007  	t["GenerateClientCsrRequestType"] = reflect.TypeOf((*GenerateClientCsrRequestType)(nil)).Elem()
 31008  }
 31009  
 31010  type GenerateClientCsrResponse struct {
 31011  	Returnval string `xml:"returnval" json:"returnval"`
 31012  }
 31013  
 31014  type GenerateConfigTaskList GenerateConfigTaskListRequestType
 31015  
 31016  func init() {
 31017  	t["GenerateConfigTaskList"] = reflect.TypeOf((*GenerateConfigTaskList)(nil)).Elem()
 31018  }
 31019  
 31020  // The parameters of `HostProfileManager.GenerateConfigTaskList`.
 31021  type GenerateConfigTaskListRequestType struct {
 31022  	This ManagedObjectReference `xml:"_this" json:"-"`
 31023  	// ConfigSpec which was proposed by
 31024  	// `HostProfile.ExecuteHostProfile` method.
 31025  	ConfigSpec HostConfigSpec `xml:"configSpec" json:"configSpec"`
 31026  	// Host on which the HostProfile application needs to be
 31027  	// carried out.
 31028  	//
 31029  	// Refers instance of `HostSystem`.
 31030  	Host ManagedObjectReference `xml:"host" json:"host"`
 31031  }
 31032  
 31033  func init() {
 31034  	t["GenerateConfigTaskListRequestType"] = reflect.TypeOf((*GenerateConfigTaskListRequestType)(nil)).Elem()
 31035  }
 31036  
 31037  type GenerateConfigTaskListResponse struct {
 31038  	Returnval HostProfileManagerConfigTaskList `xml:"returnval" json:"returnval"`
 31039  }
 31040  
 31041  // The parameters of `HostProfileManager.GenerateHostConfigTaskSpec_Task`.
 31042  type GenerateHostConfigTaskSpecRequestType struct {
 31043  	This ManagedObjectReference `xml:"_this" json:"-"`
 31044  	// List of host data for which configuration task list
 31045  	// needs to be generated. The
 31046  	// `StructuredCustomizations.customizations` value should be
 31047  	// provided only if the host customization data for that host is
 31048  	// invalid. If this property is not provided, the API will use the
 31049  	// host customization data stored in VC and generate task list.
 31050  	HostsInfo []StructuredCustomizations `xml:"hostsInfo,omitempty" json:"hostsInfo,omitempty"`
 31051  }
 31052  
 31053  func init() {
 31054  	t["GenerateHostConfigTaskSpecRequestType"] = reflect.TypeOf((*GenerateHostConfigTaskSpecRequestType)(nil)).Elem()
 31055  }
 31056  
 31057  type GenerateHostConfigTaskSpec_Task GenerateHostConfigTaskSpecRequestType
 31058  
 31059  func init() {
 31060  	t["GenerateHostConfigTaskSpec_Task"] = reflect.TypeOf((*GenerateHostConfigTaskSpec_Task)(nil)).Elem()
 31061  }
 31062  
 31063  type GenerateHostConfigTaskSpec_TaskResponse struct {
 31064  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 31065  }
 31066  
 31067  // The parameters of `HostProfileManager.GenerateHostProfileTaskList_Task`.
 31068  type GenerateHostProfileTaskListRequestType struct {
 31069  	This ManagedObjectReference `xml:"_this" json:"-"`
 31070  	// ConfigSpec which was proposed by
 31071  	// `HostProfile.ExecuteHostProfile` method.
 31072  	ConfigSpec HostConfigSpec `xml:"configSpec" json:"configSpec"`
 31073  	// Host on which the HostProfile application needs to be
 31074  	// carried out.
 31075  	//
 31076  	// Refers instance of `HostSystem`.
 31077  	Host ManagedObjectReference `xml:"host" json:"host"`
 31078  }
 31079  
 31080  func init() {
 31081  	t["GenerateHostProfileTaskListRequestType"] = reflect.TypeOf((*GenerateHostProfileTaskListRequestType)(nil)).Elem()
 31082  }
 31083  
 31084  type GenerateHostProfileTaskList_Task GenerateHostProfileTaskListRequestType
 31085  
 31086  func init() {
 31087  	t["GenerateHostProfileTaskList_Task"] = reflect.TypeOf((*GenerateHostProfileTaskList_Task)(nil)).Elem()
 31088  }
 31089  
 31090  type GenerateHostProfileTaskList_TaskResponse struct {
 31091  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 31092  }
 31093  
 31094  type GenerateKey GenerateKeyRequestType
 31095  
 31096  func init() {
 31097  	t["GenerateKey"] = reflect.TypeOf((*GenerateKey)(nil)).Elem()
 31098  }
 31099  
 31100  // The parameters of `CryptoManagerKmip.GenerateKey`.
 31101  type GenerateKeyRequestType struct {
 31102  	This ManagedObjectReference `xml:"_this" json:"-"`
 31103  	// \[in\] Which provider will generate the key.
 31104  	// If omitted, will use the default key provider.
 31105  	KeyProvider *KeyProviderId `xml:"keyProvider,omitempty" json:"keyProvider,omitempty"`
 31106  	// \[in\] The spec that contains custom attributes key/value pairs.
 31107  	Spec *CryptoManagerKmipCustomAttributeSpec `xml:"spec,omitempty" json:"spec,omitempty" vim:"8.0.1.0"`
 31108  }
 31109  
 31110  func init() {
 31111  	t["GenerateKeyRequestType"] = reflect.TypeOf((*GenerateKeyRequestType)(nil)).Elem()
 31112  }
 31113  
 31114  type GenerateKeyResponse struct {
 31115  	Returnval CryptoKeyResult `xml:"returnval" json:"returnval"`
 31116  }
 31117  
 31118  // The parameters of `DiagnosticManager.GenerateLogBundles_Task`.
 31119  type GenerateLogBundlesRequestType struct {
 31120  	This ManagedObjectReference `xml:"_this" json:"-"`
 31121  	// Specifies if the bundle should include the
 31122  	// default server. If called on a VirtualCenter
 31123  	// server, then this means the VirtualCenter
 31124  	// diagnostic files. If called directly on a host,
 31125  	// then includeDefault must be set to true.
 31126  	IncludeDefault bool `xml:"includeDefault" json:"includeDefault"`
 31127  	// Lists hosts that are included. This is only used
 31128  	// when called on VirtualCenter. If called directly
 31129  	// on a host, then this parameter must be empty.
 31130  	//
 31131  	// Refers instances of `HostSystem`.
 31132  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 31133  }
 31134  
 31135  func init() {
 31136  	t["GenerateLogBundlesRequestType"] = reflect.TypeOf((*GenerateLogBundlesRequestType)(nil)).Elem()
 31137  }
 31138  
 31139  type GenerateLogBundles_Task GenerateLogBundlesRequestType
 31140  
 31141  func init() {
 31142  	t["GenerateLogBundles_Task"] = reflect.TypeOf((*GenerateLogBundles_Task)(nil)).Elem()
 31143  }
 31144  
 31145  type GenerateLogBundles_TaskResponse struct {
 31146  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 31147  }
 31148  
 31149  type GenerateSelfSignedClientCert GenerateSelfSignedClientCertRequestType
 31150  
 31151  func init() {
 31152  	t["GenerateSelfSignedClientCert"] = reflect.TypeOf((*GenerateSelfSignedClientCert)(nil)).Elem()
 31153  }
 31154  
 31155  // The parameters of `CryptoManagerKmip.GenerateSelfSignedClientCert`.
 31156  type GenerateSelfSignedClientCertRequestType struct {
 31157  	This ManagedObjectReference `xml:"_this" json:"-"`
 31158  	// \[in\] KMIP cluster.
 31159  	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
 31160  	// \[in\] Certificate sign request.
 31161  	Request *CryptoManagerKmipCertSignRequest `xml:"request,omitempty" json:"request,omitempty" vim:"8.0.1.0"`
 31162  }
 31163  
 31164  func init() {
 31165  	t["GenerateSelfSignedClientCertRequestType"] = reflect.TypeOf((*GenerateSelfSignedClientCertRequestType)(nil)).Elem()
 31166  }
 31167  
 31168  type GenerateSelfSignedClientCertResponse struct {
 31169  	Returnval string `xml:"returnval" json:"returnval"`
 31170  }
 31171  
 31172  // DRS returns more than one faults for each virtual machine, or DRS returns
 31173  // `VimFault` because of some internal errors.
 31174  type GenericDrsFault struct {
 31175  	VimFault
 31176  
 31177  	// This is an optional field to return the detailed information back to
 31178  	// the client.
 31179  	//
 31180  	// This optional array may consist of the exact fault for
 31181  	// some hosts in the cluster.
 31182  	HostFaults []LocalizedMethodFault `xml:"hostFaults,omitempty" json:"hostFaults,omitempty"`
 31183  }
 31184  
 31185  func init() {
 31186  	t["GenericDrsFault"] = reflect.TypeOf((*GenericDrsFault)(nil)).Elem()
 31187  	minAPIVersionForType["GenericDrsFault"] = "2.5"
 31188  }
 31189  
 31190  type GenericDrsFaultFault GenericDrsFault
 31191  
 31192  func init() {
 31193  	t["GenericDrsFaultFault"] = reflect.TypeOf((*GenericDrsFaultFault)(nil)).Elem()
 31194  }
 31195  
 31196  // Thrown when a running virtual machine reports an error.
 31197  type GenericVmConfigFault struct {
 31198  	VmConfigFault
 31199  
 31200  	// Message from the virtual machine
 31201  	Reason string `xml:"reason" json:"reason"`
 31202  }
 31203  
 31204  func init() {
 31205  	t["GenericVmConfigFault"] = reflect.TypeOf((*GenericVmConfigFault)(nil)).Elem()
 31206  }
 31207  
 31208  type GenericVmConfigFaultFault GenericVmConfigFault
 31209  
 31210  func init() {
 31211  	t["GenericVmConfigFaultFault"] = reflect.TypeOf((*GenericVmConfigFaultFault)(nil)).Elem()
 31212  }
 31213  
 31214  type GetAlarm GetAlarmRequestType
 31215  
 31216  func init() {
 31217  	t["GetAlarm"] = reflect.TypeOf((*GetAlarm)(nil)).Elem()
 31218  }
 31219  
 31220  // The parameters of `AlarmManager.GetAlarm`.
 31221  type GetAlarmRequestType struct {
 31222  	This ManagedObjectReference `xml:"_this" json:"-"`
 31223  	// The entity. If not set, alarms are returned for
 31224  	// all visible entities.
 31225  	//
 31226  	// Refers instance of `ManagedEntity`.
 31227  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 31228  }
 31229  
 31230  func init() {
 31231  	t["GetAlarmRequestType"] = reflect.TypeOf((*GetAlarmRequestType)(nil)).Elem()
 31232  }
 31233  
 31234  type GetAlarmResponse struct {
 31235  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 31236  }
 31237  
 31238  type GetAlarmState GetAlarmStateRequestType
 31239  
 31240  func init() {
 31241  	t["GetAlarmState"] = reflect.TypeOf((*GetAlarmState)(nil)).Elem()
 31242  }
 31243  
 31244  // The parameters of `AlarmManager.GetAlarmState`.
 31245  type GetAlarmStateRequestType struct {
 31246  	This ManagedObjectReference `xml:"_this" json:"-"`
 31247  	// The entity.
 31248  	//
 31249  	// Required privileges: System.Read
 31250  	//
 31251  	// Refers instance of `ManagedEntity`.
 31252  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 31253  }
 31254  
 31255  func init() {
 31256  	t["GetAlarmStateRequestType"] = reflect.TypeOf((*GetAlarmStateRequestType)(nil)).Elem()
 31257  }
 31258  
 31259  type GetAlarmStateResponse struct {
 31260  	Returnval []AlarmState `xml:"returnval,omitempty" json:"returnval,omitempty"`
 31261  }
 31262  
 31263  type GetCryptoKeyStatus GetCryptoKeyStatusRequestType
 31264  
 31265  func init() {
 31266  	t["GetCryptoKeyStatus"] = reflect.TypeOf((*GetCryptoKeyStatus)(nil)).Elem()
 31267  }
 31268  
 31269  // The parameters of `CryptoManagerHost.GetCryptoKeyStatus`.
 31270  type GetCryptoKeyStatusRequestType struct {
 31271  	This ManagedObjectReference `xml:"_this" json:"-"`
 31272  	// \[in\] Cryptographic keys to query status.
 31273  	Keys []CryptoKeyId `xml:"keys,omitempty" json:"keys,omitempty"`
 31274  }
 31275  
 31276  func init() {
 31277  	t["GetCryptoKeyStatusRequestType"] = reflect.TypeOf((*GetCryptoKeyStatusRequestType)(nil)).Elem()
 31278  }
 31279  
 31280  type GetCryptoKeyStatusResponse struct {
 31281  	Returnval []CryptoManagerHostKeyStatus `xml:"returnval,omitempty" json:"returnval,omitempty"`
 31282  }
 31283  
 31284  type GetCustomizationSpec GetCustomizationSpecRequestType
 31285  
 31286  func init() {
 31287  	t["GetCustomizationSpec"] = reflect.TypeOf((*GetCustomizationSpec)(nil)).Elem()
 31288  }
 31289  
 31290  // The parameters of `CustomizationSpecManager.GetCustomizationSpec`.
 31291  type GetCustomizationSpecRequestType struct {
 31292  	This ManagedObjectReference `xml:"_this" json:"-"`
 31293  	// Unique name identifying the requested customization specification.
 31294  	Name string `xml:"name" json:"name"`
 31295  }
 31296  
 31297  func init() {
 31298  	t["GetCustomizationSpecRequestType"] = reflect.TypeOf((*GetCustomizationSpecRequestType)(nil)).Elem()
 31299  }
 31300  
 31301  type GetCustomizationSpecResponse struct {
 31302  	Returnval CustomizationSpecItem `xml:"returnval" json:"returnval"`
 31303  }
 31304  
 31305  type GetDefaultKmsCluster GetDefaultKmsClusterRequestType
 31306  
 31307  func init() {
 31308  	t["GetDefaultKmsCluster"] = reflect.TypeOf((*GetDefaultKmsCluster)(nil)).Elem()
 31309  }
 31310  
 31311  // The parameters of `CryptoManagerKmip.GetDefaultKmsCluster`.
 31312  type GetDefaultKmsClusterRequestType struct {
 31313  	This ManagedObjectReference `xml:"_this" json:"-"`
 31314  	// \[in\] The entity where the default KMS cluster to get.
 31315  	// If omitted, then return global default KMS cluster.
 31316  	//
 31317  	// Refers instance of `ManagedEntity`.
 31318  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 31319  	// \[in\] (Optional, default = false) If set to true,
 31320  	// then get the default kms cluster follow the
 31321  	// entity hierarchy. That means if the entity has
 31322  	// no default kms cluster, then try to get from
 31323  	// its parent.
 31324  	DefaultsToParent *bool `xml:"defaultsToParent" json:"defaultsToParent,omitempty"`
 31325  }
 31326  
 31327  func init() {
 31328  	t["GetDefaultKmsClusterRequestType"] = reflect.TypeOf((*GetDefaultKmsClusterRequestType)(nil)).Elem()
 31329  }
 31330  
 31331  type GetDefaultKmsClusterResponse struct {
 31332  	Returnval *KeyProviderId `xml:"returnval,omitempty" json:"returnval,omitempty"`
 31333  }
 31334  
 31335  type GetPublicKey GetPublicKeyRequestType
 31336  
 31337  func init() {
 31338  	t["GetPublicKey"] = reflect.TypeOf((*GetPublicKey)(nil)).Elem()
 31339  }
 31340  
 31341  type GetPublicKeyRequestType struct {
 31342  	This ManagedObjectReference `xml:"_this" json:"-"`
 31343  }
 31344  
 31345  func init() {
 31346  	t["GetPublicKeyRequestType"] = reflect.TypeOf((*GetPublicKeyRequestType)(nil)).Elem()
 31347  }
 31348  
 31349  type GetPublicKeyResponse struct {
 31350  	Returnval string `xml:"returnval" json:"returnval"`
 31351  }
 31352  
 31353  type GetResourceUsage GetResourceUsageRequestType
 31354  
 31355  func init() {
 31356  	t["GetResourceUsage"] = reflect.TypeOf((*GetResourceUsage)(nil)).Elem()
 31357  }
 31358  
 31359  type GetResourceUsageRequestType struct {
 31360  	This ManagedObjectReference `xml:"_this" json:"-"`
 31361  }
 31362  
 31363  func init() {
 31364  	t["GetResourceUsageRequestType"] = reflect.TypeOf((*GetResourceUsageRequestType)(nil)).Elem()
 31365  }
 31366  
 31367  type GetResourceUsageResponse struct {
 31368  	Returnval ClusterResourceUsageSummary `xml:"returnval" json:"returnval"`
 31369  }
 31370  
 31371  type GetSiteInfo GetSiteInfoRequestType
 31372  
 31373  func init() {
 31374  	t["GetSiteInfo"] = reflect.TypeOf((*GetSiteInfo)(nil)).Elem()
 31375  }
 31376  
 31377  type GetSiteInfoRequestType struct {
 31378  	This ManagedObjectReference `xml:"_this" json:"-"`
 31379  }
 31380  
 31381  func init() {
 31382  	t["GetSiteInfoRequestType"] = reflect.TypeOf((*GetSiteInfoRequestType)(nil)).Elem()
 31383  }
 31384  
 31385  type GetSiteInfoResponse struct {
 31386  	Returnval SiteInfo `xml:"returnval" json:"returnval"`
 31387  }
 31388  
 31389  type GetSystemVMsRestrictedDatastores GetSystemVMsRestrictedDatastoresRequestType
 31390  
 31391  func init() {
 31392  	t["GetSystemVMsRestrictedDatastores"] = reflect.TypeOf((*GetSystemVMsRestrictedDatastores)(nil)).Elem()
 31393  }
 31394  
 31395  type GetSystemVMsRestrictedDatastoresRequestType struct {
 31396  	This ManagedObjectReference `xml:"_this" json:"-"`
 31397  }
 31398  
 31399  func init() {
 31400  	t["GetSystemVMsRestrictedDatastoresRequestType"] = reflect.TypeOf((*GetSystemVMsRestrictedDatastoresRequestType)(nil)).Elem()
 31401  }
 31402  
 31403  type GetSystemVMsRestrictedDatastoresResponse struct {
 31404  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 31405  }
 31406  
 31407  type GetVchaClusterHealth GetVchaClusterHealthRequestType
 31408  
 31409  func init() {
 31410  	t["GetVchaClusterHealth"] = reflect.TypeOf((*GetVchaClusterHealth)(nil)).Elem()
 31411  }
 31412  
 31413  type GetVchaClusterHealthRequestType struct {
 31414  	This ManagedObjectReference `xml:"_this" json:"-"`
 31415  }
 31416  
 31417  func init() {
 31418  	t["GetVchaClusterHealthRequestType"] = reflect.TypeOf((*GetVchaClusterHealthRequestType)(nil)).Elem()
 31419  }
 31420  
 31421  type GetVchaClusterHealthResponse struct {
 31422  	Returnval VchaClusterHealth `xml:"returnval" json:"returnval"`
 31423  }
 31424  
 31425  type GetVsanObjExtAttrs GetVsanObjExtAttrsRequestType
 31426  
 31427  func init() {
 31428  	t["GetVsanObjExtAttrs"] = reflect.TypeOf((*GetVsanObjExtAttrs)(nil)).Elem()
 31429  }
 31430  
 31431  // The parameters of `HostVsanInternalSystem.GetVsanObjExtAttrs`.
 31432  type GetVsanObjExtAttrsRequestType struct {
 31433  	This ManagedObjectReference `xml:"_this" json:"-"`
 31434  	// List of object UUIDs.
 31435  	Uuids []string `xml:"uuids" json:"uuids"`
 31436  }
 31437  
 31438  func init() {
 31439  	t["GetVsanObjExtAttrsRequestType"] = reflect.TypeOf((*GetVsanObjExtAttrsRequestType)(nil)).Elem()
 31440  }
 31441  
 31442  type GetVsanObjExtAttrsResponse struct {
 31443  	Returnval string `xml:"returnval" json:"returnval"`
 31444  }
 31445  
 31446  // This event records when Virtual Center server found DVS proxy switches
 31447  // on the host that don't match any DVS defined in Virtual Center.
 31448  type GhostDvsProxySwitchDetectedEvent struct {
 31449  	HostEvent
 31450  
 31451  	// The list of ghost DVS proxy switch uuids that were found.
 31452  	SwitchUuid []string `xml:"switchUuid" json:"switchUuid"`
 31453  }
 31454  
 31455  func init() {
 31456  	t["GhostDvsProxySwitchDetectedEvent"] = reflect.TypeOf((*GhostDvsProxySwitchDetectedEvent)(nil)).Elem()
 31457  	minAPIVersionForType["GhostDvsProxySwitchDetectedEvent"] = "4.0"
 31458  }
 31459  
 31460  // This event records when the ghost DVS proxy switches (a.k.a host
 31461  // proxy switches that don't match any DVS defined in Virtual Center)
 31462  // were removed on the host.
 31463  type GhostDvsProxySwitchRemovedEvent struct {
 31464  	HostEvent
 31465  
 31466  	// The list of ghost DVS proxy switch uuid that were removed.
 31467  	SwitchUuid []string `xml:"switchUuid" json:"switchUuid"`
 31468  }
 31469  
 31470  func init() {
 31471  	t["GhostDvsProxySwitchRemovedEvent"] = reflect.TypeOf((*GhostDvsProxySwitchRemovedEvent)(nil)).Elem()
 31472  	minAPIVersionForType["GhostDvsProxySwitchRemovedEvent"] = "4.0"
 31473  }
 31474  
 31475  // This event records a change to the global message.
 31476  type GlobalMessageChangedEvent struct {
 31477  	SessionEvent
 31478  
 31479  	// The new message that was set.
 31480  	Message string `xml:"message" json:"message"`
 31481  	// The previous message that was set.
 31482  	PrevMessage string `xml:"prevMessage,omitempty" json:"prevMessage,omitempty" vim:"6.5"`
 31483  }
 31484  
 31485  func init() {
 31486  	t["GlobalMessageChangedEvent"] = reflect.TypeOf((*GlobalMessageChangedEvent)(nil)).Elem()
 31487  }
 31488  
 31489  // This data object type describes a group of
 31490  // actions that occur when the alarm is triggered.
 31491  //
 31492  // These actions are not
 31493  // necessarily executed in order.
 31494  type GroupAlarmAction struct {
 31495  	AlarmAction
 31496  
 31497  	// The list of alarm actions that occur when the alarm is triggered.
 31498  	Action []BaseAlarmAction `xml:"action,typeattr" json:"action"`
 31499  }
 31500  
 31501  func init() {
 31502  	t["GroupAlarmAction"] = reflect.TypeOf((*GroupAlarmAction)(nil)).Elem()
 31503  }
 31504  
 31505  // Describes the representation of an alias and the subjects
 31506  // that are trusted from that VMware SSO Server.
 31507  type GuestAliases struct {
 31508  	DynamicData
 31509  
 31510  	// The associated VMware SSO Server X.509 certificate, in base64
 31511  	// encoded DER format.
 31512  	Base64Cert string `xml:"base64Cert" json:"base64Cert"`
 31513  	// A white list of aliases that the in-guest user account trusts;
 31514  	// it can be a subset of the subjects known to the identity
 31515  	// provider.
 31516  	Aliases []GuestAuthAliasInfo `xml:"aliases" json:"aliases"`
 31517  }
 31518  
 31519  func init() {
 31520  	t["GuestAliases"] = reflect.TypeOf((*GuestAliases)(nil)).Elem()
 31521  	minAPIVersionForType["GuestAliases"] = "6.0"
 31522  }
 31523  
 31524  // Describes a subject associated with an X.509 certificate in the alias
 31525  // store.
 31526  type GuestAuthAliasInfo struct {
 31527  	DynamicData
 31528  
 31529  	// The subject.
 31530  	Subject BaseGuestAuthSubject `xml:"subject,typeattr" json:"subject"`
 31531  	// User-supplied data to describe the subject.
 31532  	Comment string `xml:"comment" json:"comment"`
 31533  }
 31534  
 31535  func init() {
 31536  	t["GuestAuthAliasInfo"] = reflect.TypeOf((*GuestAuthAliasInfo)(nil)).Elem()
 31537  	minAPIVersionForType["GuestAuthAliasInfo"] = "6.0"
 31538  }
 31539  
 31540  // The ANY subject.
 31541  //
 31542  // When an in-guest user account is configured
 31543  // to trust an alias using the ANY subject, any vSphere user
 31544  // authenticated by that alias will be allowed to impersonate the
 31545  // in-guest user.
 31546  type GuestAuthAnySubject struct {
 31547  	GuestAuthSubject
 31548  }
 31549  
 31550  func init() {
 31551  	t["GuestAuthAnySubject"] = reflect.TypeOf((*GuestAuthAnySubject)(nil)).Elem()
 31552  	minAPIVersionForType["GuestAuthAnySubject"] = "6.0"
 31553  }
 31554  
 31555  // A named subject.
 31556  //
 31557  // Grants access to a specific vSphere user with
 31558  // the specified name.
 31559  type GuestAuthNamedSubject struct {
 31560  	GuestAuthSubject
 31561  
 31562  	// The subject name.
 31563  	Name string `xml:"name" json:"name"`
 31564  }
 31565  
 31566  func init() {
 31567  	t["GuestAuthNamedSubject"] = reflect.TypeOf((*GuestAuthNamedSubject)(nil)).Elem()
 31568  	minAPIVersionForType["GuestAuthNamedSubject"] = "6.0"
 31569  }
 31570  
 31571  // A Subject.
 31572  type GuestAuthSubject struct {
 31573  	DynamicData
 31574  }
 31575  
 31576  func init() {
 31577  	t["GuestAuthSubject"] = reflect.TypeOf((*GuestAuthSubject)(nil)).Elem()
 31578  	minAPIVersionForType["GuestAuthSubject"] = "6.0"
 31579  }
 31580  
 31581  // GuestAuthentication is an abstract base class for authentication
 31582  // in the guest.
 31583  type GuestAuthentication struct {
 31584  	DynamicData
 31585  
 31586  	// This is set to true if the client wants an interactive session
 31587  	// in the guest.
 31588  	//
 31589  	// Setting this is supported only for `NamePasswordAuthentication`.
 31590  	InteractiveSession bool `xml:"interactiveSession" json:"interactiveSession"`
 31591  }
 31592  
 31593  func init() {
 31594  	t["GuestAuthentication"] = reflect.TypeOf((*GuestAuthentication)(nil)).Elem()
 31595  	minAPIVersionForType["GuestAuthentication"] = "5.0"
 31596  }
 31597  
 31598  // Fault is thrown when a call to `GuestAuthManager.AcquireCredentialsInGuest` requires a challenge
 31599  // response in order to authenticate in the guest.
 31600  //
 31601  // The authToken string
 31602  // in serverChallenge contains a base64 encoded challenge token.
 31603  type GuestAuthenticationChallenge struct {
 31604  	GuestOperationsFault
 31605  
 31606  	// Contains the server challenge information
 31607  	ServerChallenge BaseGuestAuthentication `xml:"serverChallenge,typeattr" json:"serverChallenge"`
 31608  	// Contains a session ID number that associates the server response
 31609  	// with the initial request.
 31610  	SessionID int64 `xml:"sessionID" json:"sessionID"`
 31611  }
 31612  
 31613  func init() {
 31614  	t["GuestAuthenticationChallenge"] = reflect.TypeOf((*GuestAuthenticationChallenge)(nil)).Elem()
 31615  	minAPIVersionForType["GuestAuthenticationChallenge"] = "5.0"
 31616  }
 31617  
 31618  type GuestAuthenticationChallengeFault GuestAuthenticationChallenge
 31619  
 31620  func init() {
 31621  	t["GuestAuthenticationChallengeFault"] = reflect.TypeOf((*GuestAuthenticationChallengeFault)(nil)).Elem()
 31622  }
 31623  
 31624  // A GuestComponentsOutOfDate exception is thrown when an
 31625  // operation fails because the guest operations agent is out of date and lacks
 31626  // the functionality to execute the operation.
 31627  type GuestComponentsOutOfDate struct {
 31628  	GuestOperationsFault
 31629  }
 31630  
 31631  func init() {
 31632  	t["GuestComponentsOutOfDate"] = reflect.TypeOf((*GuestComponentsOutOfDate)(nil)).Elem()
 31633  	minAPIVersionForType["GuestComponentsOutOfDate"] = "5.0"
 31634  }
 31635  
 31636  type GuestComponentsOutOfDateFault GuestComponentsOutOfDate
 31637  
 31638  func init() {
 31639  	t["GuestComponentsOutOfDateFault"] = reflect.TypeOf((*GuestComponentsOutOfDateFault)(nil)).Elem()
 31640  }
 31641  
 31642  // Information about each local virtual disk configured in the
 31643  // guest operating system.
 31644  type GuestDiskInfo struct {
 31645  	DynamicData
 31646  
 31647  	// Name of the virtual disk in the guest operating system.
 31648  	//
 31649  	// For example: C:\\
 31650  	DiskPath string `xml:"diskPath,omitempty" json:"diskPath,omitempty"`
 31651  	// Total capacity of the disk, in bytes.
 31652  	//
 31653  	// This is part of the virtual machine configuration.
 31654  	Capacity int64 `xml:"capacity,omitempty" json:"capacity,omitempty"`
 31655  	// Free space on the disk, in bytes.
 31656  	//
 31657  	// This is retrieved by VMware Tools.
 31658  	FreeSpace int64 `xml:"freeSpace,omitempty" json:"freeSpace,omitempty"`
 31659  	// Filesystem type, if known.
 31660  	//
 31661  	// For example NTFS or ext3.
 31662  	FilesystemType string `xml:"filesystemType,omitempty" json:"filesystemType,omitempty" vim:"7.0"`
 31663  	// VirtualDisks backing the guest partition, if known.
 31664  	Mappings []GuestInfoVirtualDiskMapping `xml:"mappings,omitempty" json:"mappings,omitempty" vim:"7.0"`
 31665  }
 31666  
 31667  func init() {
 31668  	t["GuestDiskInfo"] = reflect.TypeOf((*GuestDiskInfo)(nil)).Elem()
 31669  }
 31670  
 31671  // Different attributes for a guest file.
 31672  //   - Check `GuestPosixFileAttributes`
 31673  //     for Posix guest files.
 31674  //   - Check `GuestWindowsFileAttributes`
 31675  //     for Windows guest files.
 31676  type GuestFileAttributes struct {
 31677  	DynamicData
 31678  
 31679  	// The date and time the file was last modified.
 31680  	//
 31681  	// If this property is not specified when passing a
 31682  	// `GuestFileAttributes` object to
 31683  	// `GuestFileManager.InitiateFileTransferToGuest`,
 31684  	// the default value will be the time when the file is created inside the
 31685  	// guest.
 31686  	ModificationTime *time.Time `xml:"modificationTime" json:"modificationTime,omitempty"`
 31687  	// The date and time the file was last accessed.
 31688  	//
 31689  	// If this property is not specified when passing a
 31690  	// `GuestFileAttributes` object to
 31691  	// `GuestFileManager.InitiateFileTransferToGuest`,
 31692  	// the default value will be the time when the file is created inside the
 31693  	// guest.
 31694  	AccessTime *time.Time `xml:"accessTime" json:"accessTime,omitempty"`
 31695  	// The target for the file if it's a symbolic link.
 31696  	//
 31697  	// This is currently only set for Linux guest operating systems,
 31698  	// but may be supported in the
 31699  	// future on Windows guest operating systems that support symbolic links.
 31700  	// This property gives information about files when returned from
 31701  	// `GuestFileManager.ListFilesInGuest` or
 31702  	// `GuestFileManager.InitiateFileTransferFromGuest`
 31703  	// as part of a `GuestFileAttributes` object.
 31704  	// This property will be ignored when passing a
 31705  	// `GuestFileAttributes` object to
 31706  	// `GuestFileManager.InitiateFileTransferToGuest` or
 31707  	// `GuestFileManager.ChangeFileAttributesInGuest`.
 31708  	// If the file is a symbolic link, then the attributes of the target
 31709  	// are returned, not those of the symbolic link.
 31710  	SymlinkTarget string `xml:"symlinkTarget,omitempty" json:"symlinkTarget,omitempty"`
 31711  }
 31712  
 31713  func init() {
 31714  	t["GuestFileAttributes"] = reflect.TypeOf((*GuestFileAttributes)(nil)).Elem()
 31715  	minAPIVersionForType["GuestFileAttributes"] = "5.0"
 31716  }
 31717  
 31718  type GuestFileInfo struct {
 31719  	DynamicData
 31720  
 31721  	// The complete path to the file
 31722  	Path string `xml:"path" json:"path"`
 31723  	// The file type, one of `GuestFileType_enum`
 31724  	Type string `xml:"type" json:"type"`
 31725  	// The file size in bytes
 31726  	Size int64 `xml:"size" json:"size"`
 31727  	// Different attributes of a file.
 31728  	Attributes BaseGuestFileAttributes `xml:"attributes,typeattr" json:"attributes"`
 31729  }
 31730  
 31731  func init() {
 31732  	t["GuestFileInfo"] = reflect.TypeOf((*GuestFileInfo)(nil)).Elem()
 31733  }
 31734  
 31735  // Information about the guest operating system.
 31736  //
 31737  // Most of this information is collected by VMware Tools.
 31738  // In general, be sure you have VMware Tools installed
 31739  // and that the virtual machine is running when you access this information.
 31740  type GuestInfo struct {
 31741  	DynamicData
 31742  
 31743  	// Deprecated as of vSphere API 4.0 use `GuestInfo.toolsVersionStatus` and
 31744  	// `GuestInfo.toolsRunningStatus`.
 31745  	//
 31746  	// Current status of VMware Tools in the guest operating system, if known.
 31747  	ToolsStatus VirtualMachineToolsStatus `xml:"toolsStatus,omitempty" json:"toolsStatus,omitempty"`
 31748  	// Deprecated as of vSphere API 5.1 use `GuestInfo.toolsVersionStatus2`.
 31749  	//
 31750  	// Current version status of VMware Tools in the guest operating system,
 31751  	// if known.
 31752  	//
 31753  	// The set of possible values is described in
 31754  	// `VirtualMachineToolsVersionStatus_enum` for vSphere API 5.0.
 31755  	ToolsVersionStatus string `xml:"toolsVersionStatus,omitempty" json:"toolsVersionStatus,omitempty" vim:"4.0"`
 31756  	// Current version status of VMware Tools in the guest operating system,
 31757  	// if known.
 31758  	//
 31759  	// The set of possible values is described in
 31760  	// `VirtualMachineToolsVersionStatus_enum`
 31761  	ToolsVersionStatus2 string `xml:"toolsVersionStatus2,omitempty" json:"toolsVersionStatus2,omitempty" vim:"5.0"`
 31762  	// Current running status of VMware Tools in the guest operating system,
 31763  	// if known.
 31764  	//
 31765  	// The set of possible values is described in
 31766  	// `VirtualMachineToolsRunningStatus_enum`
 31767  	ToolsRunningStatus string `xml:"toolsRunningStatus,omitempty" json:"toolsRunningStatus,omitempty" vim:"4.0"`
 31768  	// Current version of VMware Tools, if known.
 31769  	ToolsVersion string `xml:"toolsVersion,omitempty" json:"toolsVersion,omitempty"`
 31770  	// Current installation type of VMware Tools in the guest operating system.
 31771  	//
 31772  	// The set of possible values is described in
 31773  	// `VirtualMachineToolsInstallType_enum`
 31774  	ToolsInstallType string `xml:"toolsInstallType,omitempty" json:"toolsInstallType,omitempty" vim:"6.5"`
 31775  	// Guest operating system identifier (short name), if known.
 31776  	GuestId string `xml:"guestId,omitempty" json:"guestId,omitempty"`
 31777  	// Guest operating system family, if known.
 31778  	GuestFamily string `xml:"guestFamily,omitempty" json:"guestFamily,omitempty"`
 31779  	// Guest operating system full name, if known.
 31780  	GuestFullName string `xml:"guestFullName,omitempty" json:"guestFullName,omitempty"`
 31781  	// Guest OS Detailed data.
 31782  	//
 31783  	// The guest detailed data string is a property list (space separated,
 31784  	// name='value' pairs where the value is embedded in single quotes) of
 31785  	// metadata provided by the guest OS when sufficiently recent tools are
 31786  	// installed. The fields supplied will vary between distributions and
 31787  	// distribution versions. The order of these fields is not guaranteed.
 31788  	//
 31789  	// The guest detailed data string is not available before a virtual machine
 31790  	// is first powered on. The guest must first be booted and a supported
 31791  	// version of tools must be run to record the data (approximately 30-60
 31792  	// seconds after booting). Once the guest detailed data string has been
 31793  	// recorded, it will be available whether the virtual machine is powered off
 31794  	// or on.
 31795  	//
 31796  	// Available fields:
 31797  	// <table summary="Available fields">
 31798  	// <thead>
 31799  	// <tr>
 31800  	// <th>Name</th>
 31801  	// <th>Description</th>
 31802  	// <th>Tools version first available</th>
 31803  	// </tr>
 31804  	// </thead>
 31805  	// <tbody>
 31806  	// <tr>
 31807  	// <td>architecture</td>
 31808  	// <td>'Arm' or 'X86'</td>
 31809  	// <td>11.2.0</td>
 31810  	// </tr>
 31811  	// <tr>
 31812  	// <td>bitness</td>
 31813  	// <td>'32' or '64'</td>
 31814  	// <td>11.2.0</td>
 31815  	// </tr>
 31816  	// <tr>
 31817  	// <td>buildNumber</td>
 31818  	// <td>OS build number</td>
 31819  	// <td>11.2.0</td>
 31820  	// </tr>
 31821  	// <tr>
 31822  	// <td>cpeString</td>
 31823  	// <td>NIST Common Platform Enumeration Specification string, a standardized identifier for the OS</td>
 31824  	// <td>12.2.0</td>
 31825  	// </tr>
 31826  	// <tr>
 31827  	// <td>distroAddlVersion</td>
 31828  	// <td>Longer OS version string that may contain additional info (e.g. version name)</td>
 31829  	// <td>12.2.0</td>
 31830  	// </tr>
 31831  	// <tr>
 31832  	// <td>distroName</td>
 31833  	// <td>OS distribution name</td>
 31834  	// <td>11.2.0</td>
 31835  	// </tr>
 31836  	// <tr>
 31837  	// <td>distroVersion</td>
 31838  	// <td>OS version string</td>
 31839  	// <td>11.2.0</td>
 31840  	// </tr>
 31841  	// <tr>
 31842  	// <td>familyName</td>
 31843  	// <td>OS family name (Windows, Linux, etc.)</td>
 31844  	// <td>11.2.0</td>
 31845  	// </tr>
 31846  	// <tr>
 31847  	// <td>kernelVersion</td>
 31848  	// <td>Linux kernel version, Windows 10+ patch number, or Windows build number</td>
 31849  	// <td>11.2.0</td>
 31850  	// </tr>
 31851  	// <tr>
 31852  	// <td>prettyName</td>
 31853  	// <td>Officially specified distro "pretty name"</td>
 31854  	// <td>11.2.0</td>
 31855  	// </tr>
 31856  	// </tbody>
 31857  	// </table>
 31858  	GuestDetailedData string `xml:"guestDetailedData,omitempty" json:"guestDetailedData,omitempty" vim:"8.0.2.0"`
 31859  	// Hostname of the guest operating system, if known.
 31860  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 31861  	// Primary IP address assigned to the guest operating system, if known.
 31862  	IpAddress string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 31863  	// Guest information about network adapters, if known.
 31864  	Net []GuestNicInfo `xml:"net,omitempty" json:"net,omitempty"`
 31865  	// Guest information about IP networking stack, if known.
 31866  	IpStack []GuestStackInfo `xml:"ipStack,omitempty" json:"ipStack,omitempty" vim:"4.1"`
 31867  	// Guest information about disks.
 31868  	//
 31869  	// You can obtain Linux guest disk information for the following file system
 31870  	// types: Ext2, Ext3, Ext4, ReiserFS, XFS, Btrfs, NTFS, VFAT, UFS, PCFS, HFS,
 31871  	// and MS-DOS.
 31872  	//
 31873  	// NOTE: Installing a more recent version of VMware Tools in the guest may help
 31874  	// obtain disk information for more file system types. Please refer the VMware Tools
 31875  	// User Guide for up-to-date supported file system types.
 31876  	Disk []GuestDiskInfo `xml:"disk,omitempty" json:"disk,omitempty"`
 31877  	// Guest screen resolution info, if known.
 31878  	Screen *GuestScreenInfo `xml:"screen,omitempty" json:"screen,omitempty"`
 31879  	// Operation mode of guest operating system.
 31880  	//
 31881  	// One of:
 31882  	//     - "running" - Guest is running normally.
 31883  	//     - "shuttingdown" - Guest has a pending shutdown command.
 31884  	//     - "resetting" - Guest has a pending reset command.
 31885  	//     - "standby" - Guest has a pending standby command.
 31886  	//     - "notrunning" - Guest is not running.
 31887  	//     - "unknown" - Guest information is not available.
 31888  	GuestState string `xml:"guestState" json:"guestState"`
 31889  	// Application heartbeat status.
 31890  	//
 31891  	// Please see `VirtualMachineAppHeartbeatStatusType_enum`
 31892  	AppHeartbeatStatus string `xml:"appHeartbeatStatus,omitempty" json:"appHeartbeatStatus,omitempty" vim:"4.1"`
 31893  	// Guest operating system's kernel crash state.
 31894  	//
 31895  	// If true, the guest operating system's kernel has crashed.
 31896  	GuestKernelCrashed *bool `xml:"guestKernelCrashed" json:"guestKernelCrashed,omitempty" vim:"6.0"`
 31897  	// Application state.
 31898  	//
 31899  	// If vSphere HA is enabled and the vm is configured for Application Monitoring
 31900  	// and this field's value is "appStateNeedReset" then HA will attempt immediately reset
 31901  	// the vm.
 31902  	// There are some system conditions which may delay the immediate reset. The immediate
 31903  	// reset will be performed as soon as allowed by vSphere HA and ESX. If during these
 31904  	// conditions the value is changed to appStateOk the reset will be cancelled.
 31905  	//
 31906  	// See also `GuestInfoAppStateType_enum`.
 31907  	AppState string `xml:"appState,omitempty" json:"appState,omitempty" vim:"5.5"`
 31908  	// Guest Operations availability.
 31909  	//
 31910  	// If true, the virtual machine is ready to process guest operations.
 31911  	GuestOperationsReady *bool `xml:"guestOperationsReady" json:"guestOperationsReady,omitempty" vim:"5.0"`
 31912  	// Interactive Guest Operations availability.
 31913  	//
 31914  	// If true, the virtual machine is ready to process guest operations
 31915  	// as the user interacting with the guest desktop.
 31916  	InteractiveGuestOperationsReady *bool `xml:"interactiveGuestOperationsReady" json:"interactiveGuestOperationsReady,omitempty" vim:"5.0"`
 31917  	// State change support.
 31918  	//
 31919  	// If true, the virtual machine is ready to process soft power operations.
 31920  	GuestStateChangeSupported *bool `xml:"guestStateChangeSupported" json:"guestStateChangeSupported,omitempty" vim:"6.0"`
 31921  	// A list of namespaces and their corresponding generation numbers.
 31922  	//
 31923  	// Only namespaces with non-zero
 31924  	// `VirtualMachineNamespaceManagerCreateSpec.maxSizeEventsFromGuest`
 31925  	// are guaranteed to be present here.
 31926  	// Use `VirtualMachineNamespaceManager.ListNamespaces` to retrieve list of
 31927  	// namespaces.
 31928  	GenerationInfo []GuestInfoNamespaceGenerationInfo `xml:"generationInfo,omitempty" json:"generationInfo,omitempty" vim:"5.1"`
 31929  	// The hardware version string for this virtual machine.
 31930  	HwVersion string `xml:"hwVersion,omitempty" json:"hwVersion,omitempty" vim:"6.9.1"`
 31931  	// Guest OS Customization status info.
 31932  	CustomizationInfo *GuestInfoCustomizationInfo `xml:"customizationInfo,omitempty" json:"customizationInfo,omitempty" vim:"7.0.2.0"`
 31933  }
 31934  
 31935  func init() {
 31936  	t["GuestInfo"] = reflect.TypeOf((*GuestInfo)(nil)).Elem()
 31937  }
 31938  
 31939  type GuestInfoCustomizationInfo struct {
 31940  	DynamicData
 31941  
 31942  	// The customization status for this VM
 31943  	//
 31944  	// See also `GuestInfoCustomizationStatus_enum`for the list of supported values.
 31945  	CustomizationStatus string `xml:"customizationStatus" json:"customizationStatus"`
 31946  	// The time when the customization process has started inside the
 31947  	// guest OS
 31948  	StartTime *time.Time `xml:"startTime" json:"startTime,omitempty"`
 31949  	// The time when the customization process has completed inside the
 31950  	// guest OS
 31951  	EndTime *time.Time `xml:"endTime" json:"endTime,omitempty"`
 31952  	// Description of the error if there is error for the customization
 31953  	// process inside the guest OS
 31954  	ErrorMsg string `xml:"errorMsg,omitempty" json:"errorMsg,omitempty"`
 31955  }
 31956  
 31957  func init() {
 31958  	t["GuestInfoCustomizationInfo"] = reflect.TypeOf((*GuestInfoCustomizationInfo)(nil)).Elem()
 31959  }
 31960  
 31961  // A data class for the namespace and its corresponding generation number
 31962  // The generation number can be used to track updates to the corresponding
 31963  // namespace.
 31964  //
 31965  // An update to the generation number indicates that the return
 31966  // value of `VirtualMachineNamespaceManager.FetchEventsFromGuest` may have
 31967  // changed.
 31968  type GuestInfoNamespaceGenerationInfo struct {
 31969  	DynamicData
 31970  
 31971  	// The namespace name as the unique key.
 31972  	Key string `xml:"key" json:"key"`
 31973  	// Namespace generation number.
 31974  	//
 31975  	// Generation number is changed whenever
 31976  	// there is new unread event pending from the guest to the VMODL.
 31977  	GenerationNo int32 `xml:"generationNo" json:"generationNo"`
 31978  }
 31979  
 31980  func init() {
 31981  	t["GuestInfoNamespaceGenerationInfo"] = reflect.TypeOf((*GuestInfoNamespaceGenerationInfo)(nil)).Elem()
 31982  	minAPIVersionForType["GuestInfoNamespaceGenerationInfo"] = "5.1"
 31983  }
 31984  
 31985  // Describes the virtual disk backing a local guest disk.
 31986  type GuestInfoVirtualDiskMapping struct {
 31987  	DynamicData
 31988  
 31989  	// The key of the VirtualDevice.
 31990  	//
 31991  	// `VirtualDevice.key`
 31992  	Key int32 `xml:"key" json:"key"`
 31993  }
 31994  
 31995  func init() {
 31996  	t["GuestInfoVirtualDiskMapping"] = reflect.TypeOf((*GuestInfoVirtualDiskMapping)(nil)).Elem()
 31997  	minAPIVersionForType["GuestInfoVirtualDiskMapping"] = "7.0"
 31998  }
 31999  
 32000  type GuestListFileInfo struct {
 32001  	DynamicData
 32002  
 32003  	// A list of `GuestFileInfo`
 32004  	// data objects containing information for all the matching files.
 32005  	Files []GuestFileInfo `xml:"files,omitempty" json:"files,omitempty"`
 32006  	// The number of files left to be returned.
 32007  	//
 32008  	// If non-zero,
 32009  	// then the next set of files can be returned by calling
 32010  	// ListFiles again with the index set to the number of results
 32011  	// already returned.
 32012  	Remaining int32 `xml:"remaining" json:"remaining"`
 32013  }
 32014  
 32015  func init() {
 32016  	t["GuestListFileInfo"] = reflect.TypeOf((*GuestListFileInfo)(nil)).Elem()
 32017  }
 32018  
 32019  // Represents a mapping between an external subject, as
 32020  // authenticated by a given VMware SSO Server, and an in-guest user.
 32021  type GuestMappedAliases struct {
 32022  	DynamicData
 32023  
 32024  	// The associated VMware SSO Server X.509 certificate, in base64
 32025  	// encoded DER format.
 32026  	Base64Cert string `xml:"base64Cert" json:"base64Cert"`
 32027  	// The in-guest user associated with the mapping.
 32028  	Username string `xml:"username" json:"username"`
 32029  	// The list of subjects associated with the mapping.
 32030  	Subjects []BaseGuestAuthSubject `xml:"subjects,typeattr" json:"subjects"`
 32031  }
 32032  
 32033  func init() {
 32034  	t["GuestMappedAliases"] = reflect.TypeOf((*GuestMappedAliases)(nil)).Elem()
 32035  	minAPIVersionForType["GuestMappedAliases"] = "6.0"
 32036  }
 32037  
 32038  // A GuestMultipleMappings exception is thrown when an
 32039  // operation fails because the guest alias store mapping file
 32040  // contains multiple conflicting instances of the same certificate
 32041  // and username.
 32042  type GuestMultipleMappings struct {
 32043  	GuestOperationsFault
 32044  }
 32045  
 32046  func init() {
 32047  	t["GuestMultipleMappings"] = reflect.TypeOf((*GuestMultipleMappings)(nil)).Elem()
 32048  	minAPIVersionForType["GuestMultipleMappings"] = "6.0"
 32049  }
 32050  
 32051  type GuestMultipleMappingsFault GuestMultipleMappings
 32052  
 32053  func init() {
 32054  	t["GuestMultipleMappingsFault"] = reflect.TypeOf((*GuestMultipleMappingsFault)(nil)).Elem()
 32055  }
 32056  
 32057  // Information about each virtual network adapter
 32058  // configured in the guest operating system.
 32059  type GuestNicInfo struct {
 32060  	DynamicData
 32061  
 32062  	// Name of the virtual switch portgroup or dvPort connected to this adapter.
 32063  	Network string `xml:"network,omitempty" json:"network,omitempty"`
 32064  	// Deprecated as of vSphere API 5.0, use ipConfig property.
 32065  	//
 32066  	// IP addresses of the adapter.
 32067  	IpAddress []string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 32068  	// MAC address of the adapter.
 32069  	MacAddress string `xml:"macAddress,omitempty" json:"macAddress,omitempty"`
 32070  	// Flag indicating whether or not the virtual device is connected.
 32071  	Connected bool `xml:"connected" json:"connected"`
 32072  	// Link to the corresponding virtual device.
 32073  	DeviceConfigId int32 `xml:"deviceConfigId" json:"deviceConfigId"`
 32074  	// DNS configuration of the adapter.
 32075  	//
 32076  	// This property is set only when Guest OS supports it.
 32077  	// See `GuestStackInfo` dnsConfig for system wide
 32078  	// settings.
 32079  	DnsConfig *NetDnsConfigInfo `xml:"dnsConfig,omitempty" json:"dnsConfig,omitempty" vim:"4.1"`
 32080  	// IP configuration settings of the adapter
 32081  	// See `GuestStackInfo` ipStackConfig for system wide
 32082  	// settings.
 32083  	IpConfig *NetIpConfigInfo `xml:"ipConfig,omitempty" json:"ipConfig,omitempty" vim:"4.1"`
 32084  	// NetBIOS configuration of the adapter
 32085  	NetBIOSConfig BaseNetBIOSConfigInfo `xml:"netBIOSConfig,omitempty,typeattr" json:"netBIOSConfig,omitempty" vim:"4.1"`
 32086  }
 32087  
 32088  func init() {
 32089  	t["GuestNicInfo"] = reflect.TypeOf((*GuestNicInfo)(nil)).Elem()
 32090  }
 32091  
 32092  // The common base type for all guest operations faults.
 32093  type GuestOperationsFault struct {
 32094  	VimFault
 32095  }
 32096  
 32097  func init() {
 32098  	t["GuestOperationsFault"] = reflect.TypeOf((*GuestOperationsFault)(nil)).Elem()
 32099  	minAPIVersionForType["GuestOperationsFault"] = "5.0"
 32100  }
 32101  
 32102  type GuestOperationsFaultFault BaseGuestOperationsFault
 32103  
 32104  func init() {
 32105  	t["GuestOperationsFaultFault"] = reflect.TypeOf((*GuestOperationsFaultFault)(nil)).Elem()
 32106  }
 32107  
 32108  // A GuestOperationsUnavailable exception is thrown when an
 32109  // operation fails to contact the guest operations agent
 32110  // running inside the virtual machine.
 32111  type GuestOperationsUnavailable struct {
 32112  	GuestOperationsFault
 32113  }
 32114  
 32115  func init() {
 32116  	t["GuestOperationsUnavailable"] = reflect.TypeOf((*GuestOperationsUnavailable)(nil)).Elem()
 32117  	minAPIVersionForType["GuestOperationsUnavailable"] = "5.0"
 32118  }
 32119  
 32120  type GuestOperationsUnavailableFault GuestOperationsUnavailable
 32121  
 32122  func init() {
 32123  	t["GuestOperationsUnavailableFault"] = reflect.TypeOf((*GuestOperationsUnavailableFault)(nil)).Elem()
 32124  }
 32125  
 32126  // This data object type contains information to describe a
 32127  // particular guest operating system.
 32128  type GuestOsDescriptor struct {
 32129  	DynamicData
 32130  
 32131  	// Identifier (short name) for the guest operating system.
 32132  	Id string `xml:"id" json:"id"`
 32133  	// Family to which this guest operating system belongs.
 32134  	Family string `xml:"family" json:"family"`
 32135  	// Full name of the guest operating system.
 32136  	//
 32137  	// For example, if the value of "id" is "win2000Pro", then
 32138  	// the value of "fullName" is "Windows 2000 Professional".
 32139  	FullName string `xml:"fullName" json:"fullName"`
 32140  	// Maximum number of processors supported for this guest.
 32141  	SupportedMaxCPUs int32 `xml:"supportedMaxCPUs" json:"supportedMaxCPUs"`
 32142  	// Maximum number of sockets supported for this guest.
 32143  	NumSupportedPhysicalSockets int32 `xml:"numSupportedPhysicalSockets,omitempty" json:"numSupportedPhysicalSockets,omitempty" vim:"5.0"`
 32144  	// Maximum number of cores per socket for this guest.
 32145  	NumSupportedCoresPerSocket int32 `xml:"numSupportedCoresPerSocket,omitempty" json:"numSupportedCoresPerSocket,omitempty" vim:"5.0"`
 32146  	// Minimum memory requirements supported for this guest, in MB.
 32147  	SupportedMinMemMB int32 `xml:"supportedMinMemMB" json:"supportedMinMemMB"`
 32148  	// Maximum memory requirements supported for this guest, in MB.
 32149  	SupportedMaxMemMB int32 `xml:"supportedMaxMemMB" json:"supportedMaxMemMB"`
 32150  	// Recommended default memory size for this guest, in MB.
 32151  	RecommendedMemMB int32 `xml:"recommendedMemMB" json:"recommendedMemMB"`
 32152  	// Recommended default color depth for this guest.
 32153  	RecommendedColorDepth int32 `xml:"recommendedColorDepth" json:"recommendedColorDepth"`
 32154  	// List of supported disk controller types for this guest.
 32155  	SupportedDiskControllerList []string `xml:"supportedDiskControllerList" json:"supportedDiskControllerList"`
 32156  	// Recommended default SCSI controller type for this guest.
 32157  	RecommendedSCSIController string `xml:"recommendedSCSIController,omitempty" json:"recommendedSCSIController,omitempty"`
 32158  	// Recommended default disk controller type for this guest.
 32159  	RecommendedDiskController string `xml:"recommendedDiskController" json:"recommendedDiskController"`
 32160  	// Number of disks supported for this guest.
 32161  	SupportedNumDisks int32 `xml:"supportedNumDisks" json:"supportedNumDisks"`
 32162  	// Recommended default disk size for this guest, in MB.
 32163  	RecommendedDiskSizeMB int32 `xml:"recommendedDiskSizeMB" json:"recommendedDiskSizeMB"`
 32164  	// Recommended default CD-ROM type for this guest.
 32165  	RecommendedCdromController string `xml:"recommendedCdromController,omitempty" json:"recommendedCdromController,omitempty" vim:"5.5"`
 32166  	// List of supported ethernet cards for this guest.
 32167  	SupportedEthernetCard []string `xml:"supportedEthernetCard" json:"supportedEthernetCard"`
 32168  	// Recommended default ethernet controller type for this guest.
 32169  	RecommendedEthernetCard string `xml:"recommendedEthernetCard,omitempty" json:"recommendedEthernetCard,omitempty"`
 32170  	// Flag to indicate whether or not this guest can support
 32171  	// a disk configured as a slave.
 32172  	SupportsSlaveDisk *bool `xml:"supportsSlaveDisk" json:"supportsSlaveDisk,omitempty"`
 32173  	// Specifies the CPU feature compatibility masks.
 32174  	CpuFeatureMask []HostCpuIdInfo `xml:"cpuFeatureMask,omitempty" json:"cpuFeatureMask,omitempty"`
 32175  	// Flag that indicates wether the guest requires an SMC (Apple hardware).
 32176  	//
 32177  	// This is logically equivalent to GuestOS = Mac OS
 32178  	SmcRequired *bool `xml:"smcRequired" json:"smcRequired,omitempty" vim:"5.0"`
 32179  	// Flag to indicate whether or not this guest can support Wake-on-LAN.
 32180  	SupportsWakeOnLan bool `xml:"supportsWakeOnLan" json:"supportsWakeOnLan"`
 32181  	// Flag indicating whether or not this guest supports the virtual
 32182  	// machine interface.
 32183  	SupportsVMI *bool `xml:"supportsVMI" json:"supportsVMI,omitempty" vim:"2.5 U2"`
 32184  	// Whether the memory size for this guest can be changed
 32185  	// while the virtual machine is running.
 32186  	SupportsMemoryHotAdd *bool `xml:"supportsMemoryHotAdd" json:"supportsMemoryHotAdd,omitempty" vim:"2.5 U2"`
 32187  	// Whether virtual CPUs can be added to this guest
 32188  	// while the virtual machine is running.
 32189  	SupportsCpuHotAdd *bool `xml:"supportsCpuHotAdd" json:"supportsCpuHotAdd,omitempty" vim:"2.5 U2"`
 32190  	// Whether virtual CPUs can be removed from this guest
 32191  	// while the virtual machine is running.
 32192  	SupportsCpuHotRemove *bool `xml:"supportsCpuHotRemove" json:"supportsCpuHotRemove,omitempty" vim:"2.5 U2"`
 32193  	// Supported firmware types for this guest.
 32194  	//
 32195  	// Possible values are described in
 32196  	// `GuestOsDescriptorFirmwareType_enum`
 32197  	SupportedFirmware []string `xml:"supportedFirmware,omitempty" json:"supportedFirmware,omitempty" vim:"5.0"`
 32198  	// Recommended firmware type for this guest.
 32199  	//
 32200  	// Possible values are described in
 32201  	// `GuestOsDescriptorFirmwareType_enum`
 32202  	RecommendedFirmware string `xml:"recommendedFirmware,omitempty" json:"recommendedFirmware,omitempty" vim:"5.0"`
 32203  	// List of supported USB controllers for this guest.
 32204  	SupportedUSBControllerList []string `xml:"supportedUSBControllerList,omitempty" json:"supportedUSBControllerList,omitempty" vim:"5.0"`
 32205  	// Recommended default USB controller type for this guest.
 32206  	RecommendedUSBController string `xml:"recommendedUSBController,omitempty" json:"recommendedUSBController,omitempty" vim:"5.0"`
 32207  	// Whether this guest supports 3D graphics.
 32208  	Supports3D *bool `xml:"supports3D" json:"supports3D,omitempty" vim:"5.0"`
 32209  	// Recommended 3D graphics for this guest.
 32210  	Recommended3D *bool `xml:"recommended3D" json:"recommended3D,omitempty" vim:"5.1"`
 32211  	// Whether SMC (Apple hardware) is recommended for this guest.
 32212  	SmcRecommended *bool `xml:"smcRecommended" json:"smcRecommended,omitempty" vim:"5.0"`
 32213  	// Whether I/O Controller Hub is recommended for this guest.
 32214  	Ich7mRecommended *bool `xml:"ich7mRecommended" json:"ich7mRecommended,omitempty" vim:"5.0"`
 32215  	// Whether USB controller is recommended for this guest.
 32216  	UsbRecommended *bool `xml:"usbRecommended" json:"usbRecommended,omitempty" vim:"5.0"`
 32217  	// Support level of this Guest
 32218  	// Possible values are described in
 32219  	// `GuestOsDescriptorSupportLevel_enum`
 32220  	SupportLevel string `xml:"supportLevel,omitempty" json:"supportLevel,omitempty" vim:"5.0"`
 32221  	// Whether or not this guest should be allowed for selection
 32222  	// during virtual machine creation.
 32223  	SupportedForCreate *bool `xml:"supportedForCreate" json:"supportedForCreate,omitempty" vim:"5.0"`
 32224  	// Video RAM size limits supported by this guest, in KB.
 32225  	VRAMSizeInKB *IntOption `xml:"vRAMSizeInKB,omitempty" json:"vRAMSizeInKB,omitempty" vim:"5.0"`
 32226  	// Maximum number of floppies supported by this guest.
 32227  	NumSupportedFloppyDevices int32 `xml:"numSupportedFloppyDevices,omitempty" json:"numSupportedFloppyDevices,omitempty" vim:"6.0"`
 32228  	// List of NICs supported by this guest that support Wake-On-Lan.
 32229  	WakeOnLanEthernetCard []string `xml:"wakeOnLanEthernetCard,omitempty" json:"wakeOnLanEthernetCard,omitempty" vim:"6.0"`
 32230  	// Whether or not this guest can use pvscsi as boot adapter.
 32231  	SupportsPvscsiControllerForBoot *bool `xml:"supportsPvscsiControllerForBoot" json:"supportsPvscsiControllerForBoot,omitempty" vim:"6.0"`
 32232  	// Whether or not this guest should have disk uuid enabled by default.
 32233  	DiskUuidEnabled *bool `xml:"diskUuidEnabled" json:"diskUuidEnabled,omitempty" vim:"6.0"`
 32234  	// Whether or not this guest supports hot plug of PCI devices.
 32235  	SupportsHotPlugPCI *bool `xml:"supportsHotPlugPCI" json:"supportsHotPlugPCI,omitempty" vim:"6.0"`
 32236  	// Whether or not this guest supports Secure Boot.
 32237  	//
 32238  	// If some of the OS
 32239  	// releases that fall under this guest OS descriptor support Secure Boot, it
 32240  	// is reasonable to offer the ability to enable Secure Boot. Only
 32241  	// meaningful when virtual EFI firmware is in use.
 32242  	SupportsSecureBoot *bool `xml:"supportsSecureBoot" json:"supportsSecureBoot,omitempty" vim:"6.5"`
 32243  	// Whether or not Secure Boot should be enabled by default for this
 32244  	// guest OS.
 32245  	//
 32246  	// If all OS releases that fall under this guest OS descriptor
 32247  	// support Secure Boot and are known to operate correctly with Secure Boot
 32248  	// enabled, it is reasonable to enable it by default. Only meaningful when
 32249  	// virtual EFI firmware is in use.
 32250  	DefaultSecureBoot *bool `xml:"defaultSecureBoot" json:"defaultSecureBoot,omitempty" vim:"6.5"`
 32251  	// Support of persistent memory (virtual NVDIMM device).
 32252  	//
 32253  	// See also `VirtualNVDIMM`.
 32254  	PersistentMemorySupported *bool `xml:"persistentMemorySupported" json:"persistentMemorySupported,omitempty" vim:"6.7"`
 32255  	// Minimum persistent memory supported for this guest, in MB.
 32256  	SupportedMinPersistentMemoryMB int64 `xml:"supportedMinPersistentMemoryMB,omitempty" json:"supportedMinPersistentMemoryMB,omitempty" vim:"6.7"`
 32257  	// Maximum persistent memory supported for this guest, in MB.
 32258  	//
 32259  	// Total size of all the virtual NVDIMM devices should be less
 32260  	// than this value.
 32261  	SupportedMaxPersistentMemoryMB int64 `xml:"supportedMaxPersistentMemoryMB,omitempty" json:"supportedMaxPersistentMemoryMB,omitempty" vim:"6.7"`
 32262  	// Recommended default persistent memory size for this guest, in MB.
 32263  	RecommendedPersistentMemoryMB int64 `xml:"recommendedPersistentMemoryMB,omitempty" json:"recommendedPersistentMemoryMB,omitempty" vim:"6.7"`
 32264  	// Support of persistent memory hot-add operation.
 32265  	PersistentMemoryHotAddSupported *bool `xml:"persistentMemoryHotAddSupported" json:"persistentMemoryHotAddSupported,omitempty" vim:"6.7"`
 32266  	// Support of persistent memory hot-remove operation.
 32267  	PersistentMemoryHotRemoveSupported *bool `xml:"persistentMemoryHotRemoveSupported" json:"persistentMemoryHotRemoveSupported,omitempty" vim:"6.7"`
 32268  	// Support of virtual NVDIMM cold-growth operation.
 32269  	PersistentMemoryColdGrowthSupported *bool `xml:"persistentMemoryColdGrowthSupported" json:"persistentMemoryColdGrowthSupported,omitempty" vim:"6.7"`
 32270  	// Virtual NVDIMM cold-growth granularity in MB.
 32271  	PersistentMemoryColdGrowthGranularityMB int64 `xml:"persistentMemoryColdGrowthGranularityMB,omitempty" json:"persistentMemoryColdGrowthGranularityMB,omitempty" vim:"6.7"`
 32272  	// Support of virtual NVDIMM hot-growth operation.
 32273  	PersistentMemoryHotGrowthSupported *bool `xml:"persistentMemoryHotGrowthSupported" json:"persistentMemoryHotGrowthSupported,omitempty" vim:"6.7"`
 32274  	// Virtual NVDIMM hot-growth granularity in MB.
 32275  	PersistentMemoryHotGrowthGranularityMB int64 `xml:"persistentMemoryHotGrowthGranularityMB,omitempty" json:"persistentMemoryHotGrowthGranularityMB,omitempty" vim:"6.7"`
 32276  	// Recommended number of sockets for this guest.
 32277  	NumRecommendedPhysicalSockets int32 `xml:"numRecommendedPhysicalSockets,omitempty" json:"numRecommendedPhysicalSockets,omitempty" vim:"6.7"`
 32278  	// Recommended number of cores per socket for this guest.
 32279  	NumRecommendedCoresPerSocket int32 `xml:"numRecommendedCoresPerSocket,omitempty" json:"numRecommendedCoresPerSocket,omitempty" vim:"6.7"`
 32280  	// Support of Intel Virtualization Technology for Directed I/O.
 32281  	VvtdSupported *BoolOption `xml:"vvtdSupported,omitempty" json:"vvtdSupported,omitempty" vim:"6.7"`
 32282  	// Support of Virtualization-based security.
 32283  	VbsSupported *BoolOption `xml:"vbsSupported,omitempty" json:"vbsSupported,omitempty" vim:"6.7"`
 32284  	// Support for Intel Software Guard Extensions
 32285  	VsgxSupported *BoolOption `xml:"vsgxSupported,omitempty" json:"vsgxSupported,omitempty" vim:"7.0"`
 32286  	// Support for Intel Software Guard Extensions remote attestation.
 32287  	VsgxRemoteAttestationSupported *bool `xml:"vsgxRemoteAttestationSupported" json:"vsgxRemoteAttestationSupported,omitempty" vim:"8.0.0.1"`
 32288  	// Support for TPM 2.0.
 32289  	SupportsTPM20 *bool `xml:"supportsTPM20" json:"supportsTPM20,omitempty" vim:"6.7"`
 32290  	// Support for default vTPM
 32291  	RecommendedTPM20 *bool `xml:"recommendedTPM20" json:"recommendedTPM20,omitempty" vim:"8.0.0.1"`
 32292  	// Support for Virtual Watchdog Timer.
 32293  	VwdtSupported *bool `xml:"vwdtSupported" json:"vwdtSupported,omitempty" vim:"7.0"`
 32294  }
 32295  
 32296  func init() {
 32297  	t["GuestOsDescriptor"] = reflect.TypeOf((*GuestOsDescriptor)(nil)).Elem()
 32298  }
 32299  
 32300  // A GuestPermissionDenied exception is thrown when an
 32301  // operation fails because the authentication used
 32302  // is insufficient to perform the operation.
 32303  type GuestPermissionDenied struct {
 32304  	GuestOperationsFault
 32305  }
 32306  
 32307  func init() {
 32308  	t["GuestPermissionDenied"] = reflect.TypeOf((*GuestPermissionDenied)(nil)).Elem()
 32309  	minAPIVersionForType["GuestPermissionDenied"] = "5.0"
 32310  }
 32311  
 32312  type GuestPermissionDeniedFault GuestPermissionDenied
 32313  
 32314  func init() {
 32315  	t["GuestPermissionDeniedFault"] = reflect.TypeOf((*GuestPermissionDeniedFault)(nil)).Elem()
 32316  }
 32317  
 32318  // Different attributes for Posix guest file.
 32319  type GuestPosixFileAttributes struct {
 32320  	GuestFileAttributes
 32321  
 32322  	// The owner ID.
 32323  	//
 32324  	// If this property is not specified when passing a
 32325  	// `GuestPosixFileAttributes` object to
 32326  	// `GuestFileManager.InitiateFileTransferToGuest`,
 32327  	// the default value will be the owner Id of the user who invoked
 32328  	// the file transfer operation.
 32329  	OwnerId *int32 `xml:"ownerId" json:"ownerId,omitempty"`
 32330  	// The group ID.
 32331  	//
 32332  	// If this property is not specified when passing a
 32333  	// `GuestPosixFileAttributes` object to
 32334  	// `GuestFileManager.InitiateFileTransferToGuest`,
 32335  	// the default value will be the group Id of the user who invoked
 32336  	// the file transfer operation.
 32337  	GroupId *int32 `xml:"groupId" json:"groupId,omitempty"`
 32338  	// The file permissions.
 32339  	//
 32340  	// When creating a file with
 32341  	// `GuestFileManager.InitiateFileTransferToGuest`,
 32342  	// these are in chmod(2) format. When reporting on
 32343  	// existing files, these are in stat(2) format.
 32344  	// If this property is not specified when passing a
 32345  	// `GuestPosixFileAttributes` object to
 32346  	// `GuestFileManager.InitiateFileTransferToGuest`,
 32347  	// the file will be created with 0644 permissions.
 32348  	Permissions int64 `xml:"permissions,omitempty" json:"permissions,omitempty"`
 32349  }
 32350  
 32351  func init() {
 32352  	t["GuestPosixFileAttributes"] = reflect.TypeOf((*GuestPosixFileAttributes)(nil)).Elem()
 32353  	minAPIVersionForType["GuestPosixFileAttributes"] = "5.0"
 32354  }
 32355  
 32356  type GuestProcessInfo struct {
 32357  	DynamicData
 32358  
 32359  	// The process name
 32360  	Name string `xml:"name" json:"name"`
 32361  	// The process ID
 32362  	Pid int64 `xml:"pid" json:"pid"`
 32363  	// The process owner
 32364  	Owner string `xml:"owner" json:"owner"`
 32365  	// The full command line
 32366  	CmdLine string `xml:"cmdLine" json:"cmdLine"`
 32367  	// The start time of the process
 32368  	StartTime time.Time `xml:"startTime" json:"startTime"`
 32369  	// If the process was started using
 32370  	// `GuestProcessManager.StartProgramInGuest`
 32371  	// then the process completion time will be available if
 32372  	// queried within 5 minutes after it completes.
 32373  	EndTime *time.Time `xml:"endTime" json:"endTime,omitempty"`
 32374  	// If the process was started using
 32375  	// `GuestProcessManager.StartProgramInGuest`
 32376  	// then the process exit code will be available if
 32377  	// queried within 5 minutes after it completes.
 32378  	ExitCode int32 `xml:"exitCode,omitempty" json:"exitCode,omitempty"`
 32379  }
 32380  
 32381  func init() {
 32382  	t["GuestProcessInfo"] = reflect.TypeOf((*GuestProcessInfo)(nil)).Elem()
 32383  }
 32384  
 32385  // A GuestProcessNotFound exception is thrown when an
 32386  // operation fails because the guest process specified does not exist.
 32387  type GuestProcessNotFound struct {
 32388  	GuestOperationsFault
 32389  
 32390  	// The process ID that was not found.
 32391  	Pid int64 `xml:"pid" json:"pid"`
 32392  }
 32393  
 32394  func init() {
 32395  	t["GuestProcessNotFound"] = reflect.TypeOf((*GuestProcessNotFound)(nil)).Elem()
 32396  	minAPIVersionForType["GuestProcessNotFound"] = "5.0"
 32397  }
 32398  
 32399  type GuestProcessNotFoundFault GuestProcessNotFound
 32400  
 32401  func init() {
 32402  	t["GuestProcessNotFoundFault"] = reflect.TypeOf((*GuestProcessNotFoundFault)(nil)).Elem()
 32403  }
 32404  
 32405  // This describes the arguments to `GuestProcessManager.StartProgramInGuest`.
 32406  type GuestProgramSpec struct {
 32407  	DynamicData
 32408  
 32409  	// The absolute path to the program to start.
 32410  	//
 32411  	// For Linux guest operating systems, /bin/bash is used to start the
 32412  	// program.
 32413  	//
 32414  	// For Solaris guest operating systems, /bin/bash is used to start
 32415  	// the program if it exists.
 32416  	// Otherwise /bin/sh is used. If /bin/sh is used, then the process ID
 32417  	// returned by `GuestProcessManager.StartProgramInGuest` will be that of the shell used
 32418  	// to start the program, rather than the program itself, due to the
 32419  	// differences in how /bin/sh and /bin/bash work. This PID will
 32420  	// still be usable for watching the process with
 32421  	// `GuestProcessManager.ListProcessesInGuest` to
 32422  	// find its exit code and elapsed time.
 32423  	ProgramPath string `xml:"programPath" json:"programPath"`
 32424  	// The arguments to the program.
 32425  	//
 32426  	// In Linux and Solaris guest operating
 32427  	// systems, the program will be executed by a guest shell.
 32428  	// This allows stdio redirection, but may also
 32429  	// require that characters which must be escaped to the shell also
 32430  	// be escaped on the command line provided.
 32431  	//
 32432  	// For Windows guest operating systems, prefixing the command with
 32433  	// "cmd /c" can provide stdio redirection.
 32434  	Arguments string `xml:"arguments" json:"arguments"`
 32435  	// The absolute path of the working directory for the program to be
 32436  	// run.
 32437  	//
 32438  	// VMware recommends explicitly setting the working directory
 32439  	// for the program to be run. If this value is unset or is an empty
 32440  	// string, the behavior depends on the guest operating system.
 32441  	// For Linux guest operating systems, if this value is unset or is
 32442  	// an empty string, the working directory will be the home directory
 32443  	// of the user associated with the guest authentication.
 32444  	// For other guest operating systems, if this value is unset, the
 32445  	// behavior is unspecified.
 32446  	WorkingDirectory string `xml:"workingDirectory,omitempty" json:"workingDirectory,omitempty"`
 32447  	// An array of environment variables, specified
 32448  	// in the guest OS notation (eg PATH=c:\\bin;c:\\windows\\system32
 32449  	// or LD\_LIBRARY\_PATH=/usr/lib:/lib), to be set for the program
 32450  	// being run.
 32451  	//
 32452  	// Note that these are not additions to the default
 32453  	// environment variables; they define the complete set available to
 32454  	// the program. If none are specified the values are guest dependent.
 32455  	EnvVariables []string `xml:"envVariables,omitempty" json:"envVariables,omitempty"`
 32456  }
 32457  
 32458  func init() {
 32459  	t["GuestProgramSpec"] = reflect.TypeOf((*GuestProgramSpec)(nil)).Elem()
 32460  	minAPIVersionForType["GuestProgramSpec"] = "5.0"
 32461  }
 32462  
 32463  // This describes the registry key name.
 32464  type GuestRegKeyNameSpec struct {
 32465  	DynamicData
 32466  
 32467  	// The full path to a registry key.
 32468  	RegistryPath string `xml:"registryPath" json:"registryPath"`
 32469  	// The wow bitness, one of `GuestRegKeyWowSpec_enum`.
 32470  	WowBitness string `xml:"wowBitness" json:"wowBitness"`
 32471  }
 32472  
 32473  func init() {
 32474  	t["GuestRegKeyNameSpec"] = reflect.TypeOf((*GuestRegKeyNameSpec)(nil)).Elem()
 32475  	minAPIVersionForType["GuestRegKeyNameSpec"] = "6.0"
 32476  }
 32477  
 32478  // This describes the registry key record.
 32479  type GuestRegKeyRecordSpec struct {
 32480  	DynamicData
 32481  
 32482  	// The key.
 32483  	Key GuestRegKeySpec `xml:"key" json:"key"`
 32484  	// Any error that occurred while trying to access this key.
 32485  	//
 32486  	// Presence of this fault indicates that a recursive listing failed to
 32487  	// open this key to find keys below it in the tree. This could be a
 32488  	// result of insufficient user permissions within the guest.
 32489  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 32490  }
 32491  
 32492  func init() {
 32493  	t["GuestRegKeyRecordSpec"] = reflect.TypeOf((*GuestRegKeyRecordSpec)(nil)).Elem()
 32494  	minAPIVersionForType["GuestRegKeyRecordSpec"] = "6.0"
 32495  }
 32496  
 32497  // This describes the registry key.
 32498  type GuestRegKeySpec struct {
 32499  	DynamicData
 32500  
 32501  	// The key name.
 32502  	KeyName GuestRegKeyNameSpec `xml:"keyName" json:"keyName"`
 32503  	// The user-defined class type of this key.
 32504  	ClassType string `xml:"classType" json:"classType"`
 32505  	// Time stamp of last modification.
 32506  	LastWritten time.Time `xml:"lastWritten" json:"lastWritten"`
 32507  }
 32508  
 32509  func init() {
 32510  	t["GuestRegKeySpec"] = reflect.TypeOf((*GuestRegKeySpec)(nil)).Elem()
 32511  	minAPIVersionForType["GuestRegKeySpec"] = "6.0"
 32512  }
 32513  
 32514  // This describes the registry value binary.
 32515  type GuestRegValueBinarySpec struct {
 32516  	GuestRegValueDataSpec
 32517  
 32518  	// The data of the registry value.
 32519  	//
 32520  	// The Windows registry allows this type of value to exist without
 32521  	// having any data associated with it.
 32522  	Value []byte `xml:"value,omitempty" json:"value,omitempty"`
 32523  }
 32524  
 32525  func init() {
 32526  	t["GuestRegValueBinarySpec"] = reflect.TypeOf((*GuestRegValueBinarySpec)(nil)).Elem()
 32527  	minAPIVersionForType["GuestRegValueBinarySpec"] = "6.0"
 32528  }
 32529  
 32530  // This describes the registry value data.
 32531  type GuestRegValueDataSpec struct {
 32532  	DynamicData
 32533  }
 32534  
 32535  func init() {
 32536  	t["GuestRegValueDataSpec"] = reflect.TypeOf((*GuestRegValueDataSpec)(nil)).Elem()
 32537  	minAPIVersionForType["GuestRegValueDataSpec"] = "6.0"
 32538  }
 32539  
 32540  // This describes the registry value dword.
 32541  type GuestRegValueDwordSpec struct {
 32542  	GuestRegValueDataSpec
 32543  
 32544  	// The data of the registry value.
 32545  	Value int32 `xml:"value" json:"value"`
 32546  }
 32547  
 32548  func init() {
 32549  	t["GuestRegValueDwordSpec"] = reflect.TypeOf((*GuestRegValueDwordSpec)(nil)).Elem()
 32550  	minAPIVersionForType["GuestRegValueDwordSpec"] = "6.0"
 32551  }
 32552  
 32553  // This describes the registry value expand string.
 32554  type GuestRegValueExpandStringSpec struct {
 32555  	GuestRegValueDataSpec
 32556  
 32557  	// The expanded (if applicable) data of the registry value.
 32558  	//
 32559  	// The Windows registry allows this type of value to exist without
 32560  	// having any data associated with it.
 32561  	Value string `xml:"value,omitempty" json:"value,omitempty"`
 32562  }
 32563  
 32564  func init() {
 32565  	t["GuestRegValueExpandStringSpec"] = reflect.TypeOf((*GuestRegValueExpandStringSpec)(nil)).Elem()
 32566  	minAPIVersionForType["GuestRegValueExpandStringSpec"] = "6.0"
 32567  }
 32568  
 32569  // This describes the registry value multi string.
 32570  type GuestRegValueMultiStringSpec struct {
 32571  	GuestRegValueDataSpec
 32572  
 32573  	// The data of the registry value.
 32574  	//
 32575  	// The Windows registry allows this type of value to exist without
 32576  	// having any data associated with it.
 32577  	Value []string `xml:"value,omitempty" json:"value,omitempty"`
 32578  }
 32579  
 32580  func init() {
 32581  	t["GuestRegValueMultiStringSpec"] = reflect.TypeOf((*GuestRegValueMultiStringSpec)(nil)).Elem()
 32582  	minAPIVersionForType["GuestRegValueMultiStringSpec"] = "6.0"
 32583  }
 32584  
 32585  // This describes the registry value name.
 32586  type GuestRegValueNameSpec struct {
 32587  	DynamicData
 32588  
 32589  	// The key name that contains this value.
 32590  	KeyName GuestRegKeyNameSpec `xml:"keyName" json:"keyName"`
 32591  	// The name of the value.
 32592  	Name string `xml:"name" json:"name"`
 32593  }
 32594  
 32595  func init() {
 32596  	t["GuestRegValueNameSpec"] = reflect.TypeOf((*GuestRegValueNameSpec)(nil)).Elem()
 32597  	minAPIVersionForType["GuestRegValueNameSpec"] = "6.0"
 32598  }
 32599  
 32600  // This describes the registry value qword.
 32601  type GuestRegValueQwordSpec struct {
 32602  	GuestRegValueDataSpec
 32603  
 32604  	// The data of the registry value.
 32605  	Value int64 `xml:"value" json:"value"`
 32606  }
 32607  
 32608  func init() {
 32609  	t["GuestRegValueQwordSpec"] = reflect.TypeOf((*GuestRegValueQwordSpec)(nil)).Elem()
 32610  	minAPIVersionForType["GuestRegValueQwordSpec"] = "6.0"
 32611  }
 32612  
 32613  // This describes the registry value.
 32614  type GuestRegValueSpec struct {
 32615  	DynamicData
 32616  
 32617  	// The value name.
 32618  	Name GuestRegValueNameSpec `xml:"name" json:"name"`
 32619  	// The value data.
 32620  	//
 32621  	// Use one of the extended classes to specify data type:
 32622  	// `GuestRegValueDwordSpec`,
 32623  	// `GuestRegValueQwordSpec`,
 32624  	// `GuestRegValueStringSpec`,
 32625  	// `GuestRegValueExpandStringSpec`,
 32626  	// `GuestRegValueMultiStringSpec`,
 32627  	// `GuestRegValueBinarySpec`.
 32628  	Data BaseGuestRegValueDataSpec `xml:"data,typeattr" json:"data"`
 32629  }
 32630  
 32631  func init() {
 32632  	t["GuestRegValueSpec"] = reflect.TypeOf((*GuestRegValueSpec)(nil)).Elem()
 32633  	minAPIVersionForType["GuestRegValueSpec"] = "6.0"
 32634  }
 32635  
 32636  // This describes the registry value string.
 32637  type GuestRegValueStringSpec struct {
 32638  	GuestRegValueDataSpec
 32639  
 32640  	// The data of the registry value.
 32641  	//
 32642  	// The Windows registry allows this type of value to exist without
 32643  	// having any data associated with it.
 32644  	Value string `xml:"value,omitempty" json:"value,omitempty"`
 32645  }
 32646  
 32647  func init() {
 32648  	t["GuestRegValueStringSpec"] = reflect.TypeOf((*GuestRegValueStringSpec)(nil)).Elem()
 32649  	minAPIVersionForType["GuestRegValueStringSpec"] = "6.0"
 32650  }
 32651  
 32652  // A GuestRegistryFault exception is thrown when an operation fails
 32653  // because of some errors in accessing/modifying the guest registry.
 32654  type GuestRegistryFault struct {
 32655  	GuestOperationsFault
 32656  
 32657  	// The windows system error number from GetLastError().
 32658  	WindowsSystemErrorCode int64 `xml:"windowsSystemErrorCode" json:"windowsSystemErrorCode"`
 32659  }
 32660  
 32661  func init() {
 32662  	t["GuestRegistryFault"] = reflect.TypeOf((*GuestRegistryFault)(nil)).Elem()
 32663  	minAPIVersionForType["GuestRegistryFault"] = "6.0"
 32664  }
 32665  
 32666  type GuestRegistryFaultFault BaseGuestRegistryFault
 32667  
 32668  func init() {
 32669  	t["GuestRegistryFaultFault"] = reflect.TypeOf((*GuestRegistryFaultFault)(nil)).Elem()
 32670  }
 32671  
 32672  // A GuestRegistryKeyAlreadyExists exception is thrown when an operation fails
 32673  // because the guest registry key specified already exists.
 32674  type GuestRegistryKeyAlreadyExists struct {
 32675  	GuestRegistryKeyFault
 32676  }
 32677  
 32678  func init() {
 32679  	t["GuestRegistryKeyAlreadyExists"] = reflect.TypeOf((*GuestRegistryKeyAlreadyExists)(nil)).Elem()
 32680  	minAPIVersionForType["GuestRegistryKeyAlreadyExists"] = "6.0"
 32681  }
 32682  
 32683  type GuestRegistryKeyAlreadyExistsFault GuestRegistryKeyAlreadyExists
 32684  
 32685  func init() {
 32686  	t["GuestRegistryKeyAlreadyExistsFault"] = reflect.TypeOf((*GuestRegistryKeyAlreadyExistsFault)(nil)).Elem()
 32687  }
 32688  
 32689  // A GuestRegistryKeyFault exception is thrown when an operation fails
 32690  // because of some errors in accessing/modifying a guest registry key.
 32691  type GuestRegistryKeyFault struct {
 32692  	GuestRegistryFault
 32693  
 32694  	// The full path to the windows registry key.
 32695  	KeyName string `xml:"keyName" json:"keyName"`
 32696  }
 32697  
 32698  func init() {
 32699  	t["GuestRegistryKeyFault"] = reflect.TypeOf((*GuestRegistryKeyFault)(nil)).Elem()
 32700  	minAPIVersionForType["GuestRegistryKeyFault"] = "6.0"
 32701  }
 32702  
 32703  type GuestRegistryKeyFaultFault BaseGuestRegistryKeyFault
 32704  
 32705  func init() {
 32706  	t["GuestRegistryKeyFaultFault"] = reflect.TypeOf((*GuestRegistryKeyFaultFault)(nil)).Elem()
 32707  }
 32708  
 32709  // A GuestRegistryKeyHasSubkeys exception is thrown when an operation fails
 32710  // because the guest registry key has subkeys.
 32711  //
 32712  // If a delete on the key is
 32713  // desired, please use the recursive delete option.
 32714  type GuestRegistryKeyHasSubkeys struct {
 32715  	GuestRegistryKeyFault
 32716  }
 32717  
 32718  func init() {
 32719  	t["GuestRegistryKeyHasSubkeys"] = reflect.TypeOf((*GuestRegistryKeyHasSubkeys)(nil)).Elem()
 32720  	minAPIVersionForType["GuestRegistryKeyHasSubkeys"] = "6.0"
 32721  }
 32722  
 32723  type GuestRegistryKeyHasSubkeysFault GuestRegistryKeyHasSubkeys
 32724  
 32725  func init() {
 32726  	t["GuestRegistryKeyHasSubkeysFault"] = reflect.TypeOf((*GuestRegistryKeyHasSubkeysFault)(nil)).Elem()
 32727  }
 32728  
 32729  // A GuestRegistryKeyInvalid exception is thrown when an operation fails
 32730  // because the guest registry key specified was not valid (most probably
 32731  // due to an invalid HKEY Root in the key path), or does not exist.
 32732  type GuestRegistryKeyInvalid struct {
 32733  	GuestRegistryKeyFault
 32734  }
 32735  
 32736  func init() {
 32737  	t["GuestRegistryKeyInvalid"] = reflect.TypeOf((*GuestRegistryKeyInvalid)(nil)).Elem()
 32738  	minAPIVersionForType["GuestRegistryKeyInvalid"] = "6.0"
 32739  }
 32740  
 32741  type GuestRegistryKeyInvalidFault GuestRegistryKeyInvalid
 32742  
 32743  func init() {
 32744  	t["GuestRegistryKeyInvalidFault"] = reflect.TypeOf((*GuestRegistryKeyInvalidFault)(nil)).Elem()
 32745  }
 32746  
 32747  // A GuestRegistryKeyParentVolatile exception is thrown when trying to create
 32748  // a non-volatile registry subkey under a volatile registry parent key.
 32749  type GuestRegistryKeyParentVolatile struct {
 32750  	GuestRegistryKeyFault
 32751  }
 32752  
 32753  func init() {
 32754  	t["GuestRegistryKeyParentVolatile"] = reflect.TypeOf((*GuestRegistryKeyParentVolatile)(nil)).Elem()
 32755  	minAPIVersionForType["GuestRegistryKeyParentVolatile"] = "6.0"
 32756  }
 32757  
 32758  type GuestRegistryKeyParentVolatileFault GuestRegistryKeyParentVolatile
 32759  
 32760  func init() {
 32761  	t["GuestRegistryKeyParentVolatileFault"] = reflect.TypeOf((*GuestRegistryKeyParentVolatileFault)(nil)).Elem()
 32762  }
 32763  
 32764  // A GuestRegistryValueFault exception is thrown when an operation fails
 32765  // because of some errors in accessing/modifying a guest registry value.
 32766  type GuestRegistryValueFault struct {
 32767  	GuestRegistryFault
 32768  
 32769  	// The full path to the windows registry key containing the value.
 32770  	KeyName string `xml:"keyName" json:"keyName"`
 32771  	// The name of the value.
 32772  	ValueName string `xml:"valueName" json:"valueName"`
 32773  }
 32774  
 32775  func init() {
 32776  	t["GuestRegistryValueFault"] = reflect.TypeOf((*GuestRegistryValueFault)(nil)).Elem()
 32777  	minAPIVersionForType["GuestRegistryValueFault"] = "6.0"
 32778  }
 32779  
 32780  type GuestRegistryValueFaultFault BaseGuestRegistryValueFault
 32781  
 32782  func init() {
 32783  	t["GuestRegistryValueFaultFault"] = reflect.TypeOf((*GuestRegistryValueFaultFault)(nil)).Elem()
 32784  }
 32785  
 32786  // A GuestRegistryValueNotFound exception is thrown when an operation fails
 32787  // because the guest registry Value specified was not found.
 32788  type GuestRegistryValueNotFound struct {
 32789  	GuestRegistryValueFault
 32790  }
 32791  
 32792  func init() {
 32793  	t["GuestRegistryValueNotFound"] = reflect.TypeOf((*GuestRegistryValueNotFound)(nil)).Elem()
 32794  	minAPIVersionForType["GuestRegistryValueNotFound"] = "6.0"
 32795  }
 32796  
 32797  type GuestRegistryValueNotFoundFault GuestRegistryValueNotFound
 32798  
 32799  func init() {
 32800  	t["GuestRegistryValueNotFoundFault"] = reflect.TypeOf((*GuestRegistryValueNotFoundFault)(nil)).Elem()
 32801  }
 32802  
 32803  // Screen settings
 32804  type GuestScreenInfo struct {
 32805  	DynamicData
 32806  
 32807  	// Width of the screen in pixels.
 32808  	Width int32 `xml:"width" json:"width"`
 32809  	// Height of the screen in pixels.
 32810  	Height int32 `xml:"height" json:"height"`
 32811  }
 32812  
 32813  func init() {
 32814  	t["GuestScreenInfo"] = reflect.TypeOf((*GuestScreenInfo)(nil)).Elem()
 32815  }
 32816  
 32817  // Information about the Internet Protocol stack
 32818  // as configured in the guest operating system.
 32819  type GuestStackInfo struct {
 32820  	DynamicData
 32821  
 32822  	// Client DNS configuration.
 32823  	//
 32824  	// How DNS queries are resolved.
 32825  	DnsConfig *NetDnsConfigInfo `xml:"dnsConfig,omitempty" json:"dnsConfig,omitempty"`
 32826  	// IP route table configuration.
 32827  	IpRouteConfig *NetIpRouteConfigInfo `xml:"ipRouteConfig,omitempty" json:"ipRouteConfig,omitempty"`
 32828  	// Report Kernel IP configuration settings.
 32829  	//
 32830  	// The key part contains a unique number in the report.
 32831  	// The value part contains the 'key=value'
 32832  	// as provided by the underlying provider.
 32833  	// For example on Linux, BSD, the
 32834  	// systcl -a output would be reported as:
 32835  	// key='5', value='net.ipv4.tcp\_keepalive\_time = 7200'
 32836  	IpStackConfig []KeyValue `xml:"ipStackConfig,omitempty" json:"ipStackConfig,omitempty"`
 32837  	// Client side DHCP for a given interface.
 32838  	//
 32839  	// This reports only the system wide dhcp client settings.
 32840  	// See NicInfo.IpConfig for per interface settings.
 32841  	// For example on Linux, BSD systems:
 32842  	// Using the file dhclient.conf output would be reported as:
 32843  	// key='1', value='timeout 60;'
 32844  	// key='2', value='reboot 10;'
 32845  	DhcpConfig *NetDhcpConfigInfo `xml:"dhcpConfig,omitempty" json:"dhcpConfig,omitempty"`
 32846  }
 32847  
 32848  func init() {
 32849  	t["GuestStackInfo"] = reflect.TypeOf((*GuestStackInfo)(nil)).Elem()
 32850  	minAPIVersionForType["GuestStackInfo"] = "4.1"
 32851  }
 32852  
 32853  // Different attributes for a Windows guest file.
 32854  type GuestWindowsFileAttributes struct {
 32855  	GuestFileAttributes
 32856  
 32857  	// The file is hidden.
 32858  	//
 32859  	// If this property is not specified when passing a
 32860  	// `GuestWindowsFileAttributes` object to
 32861  	// `GuestFileManager.InitiateFileTransferToGuest`,
 32862  	// the file will not be set as a hidden file.
 32863  	Hidden *bool `xml:"hidden" json:"hidden,omitempty"`
 32864  	// The file is read-only.
 32865  	//
 32866  	// If this property is not specified when passing a
 32867  	// `GuestWindowsFileAttributes` object to
 32868  	// `GuestFileManager.InitiateFileTransferToGuest`,
 32869  	// the file will not be set as a read-only file.
 32870  	ReadOnly *bool `xml:"readOnly" json:"readOnly,omitempty"`
 32871  	// The date and time the file was created.
 32872  	//
 32873  	// This property gives information about files when returned from
 32874  	// `GuestFileManager.ListFilesInGuest` or
 32875  	// `GuestFileManager.InitiateFileTransferFromGuest`
 32876  	// as part of a `GuestWindowsFileAttributes`
 32877  	// object. This property will be ignored when passing a
 32878  	// `GuestWindowsFileAttributes` object to
 32879  	// `GuestFileManager.InitiateFileTransferToGuest` or
 32880  	// `GuestFileManager.ChangeFileAttributesInGuest`.
 32881  	CreateTime *time.Time `xml:"createTime" json:"createTime,omitempty"`
 32882  }
 32883  
 32884  func init() {
 32885  	t["GuestWindowsFileAttributes"] = reflect.TypeOf((*GuestWindowsFileAttributes)(nil)).Elem()
 32886  	minAPIVersionForType["GuestWindowsFileAttributes"] = "5.0"
 32887  }
 32888  
 32889  // This describes the arguments to `GuestProcessManager.StartProgramInGuest` that apply
 32890  // only for Windows guests.
 32891  type GuestWindowsProgramSpec struct {
 32892  	GuestProgramSpec
 32893  
 32894  	// Makes any program window start minimized.
 32895  	StartMinimized bool `xml:"startMinimized" json:"startMinimized"`
 32896  }
 32897  
 32898  func init() {
 32899  	t["GuestWindowsProgramSpec"] = reflect.TypeOf((*GuestWindowsProgramSpec)(nil)).Elem()
 32900  	minAPIVersionForType["GuestWindowsProgramSpec"] = "5.0"
 32901  }
 32902  
 32903  // The destination compute resource is HA-enabled, and HA is not running
 32904  // properly.
 32905  //
 32906  // This will cause the following problems:
 32907  // 1\) The VM will not have HA protection.
 32908  // 2\) If this is an intracluster VMotion, HA will not be properly
 32909  // informed that the migration completed. This can have serious
 32910  // consequences to the functioning of HA.
 32911  type HAErrorsAtDest struct {
 32912  	MigrationFault
 32913  }
 32914  
 32915  func init() {
 32916  	t["HAErrorsAtDest"] = reflect.TypeOf((*HAErrorsAtDest)(nil)).Elem()
 32917  	minAPIVersionForType["HAErrorsAtDest"] = "2.5"
 32918  }
 32919  
 32920  type HAErrorsAtDestFault HAErrorsAtDest
 32921  
 32922  func init() {
 32923  	t["HAErrorsAtDestFault"] = reflect.TypeOf((*HAErrorsAtDestFault)(nil)).Elem()
 32924  }
 32925  
 32926  type HasMonitoredEntity HasMonitoredEntityRequestType
 32927  
 32928  func init() {
 32929  	t["HasMonitoredEntity"] = reflect.TypeOf((*HasMonitoredEntity)(nil)).Elem()
 32930  }
 32931  
 32932  // The parameters of `HealthUpdateManager.HasMonitoredEntity`.
 32933  type HasMonitoredEntityRequestType struct {
 32934  	This ManagedObjectReference `xml:"_this" json:"-"`
 32935  	// The provider id.
 32936  	ProviderId string `xml:"providerId" json:"providerId"`
 32937  	// An entity of type HostSystem.
 32938  	//
 32939  	// Refers instance of `ManagedEntity`.
 32940  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 32941  }
 32942  
 32943  func init() {
 32944  	t["HasMonitoredEntityRequestType"] = reflect.TypeOf((*HasMonitoredEntityRequestType)(nil)).Elem()
 32945  }
 32946  
 32947  type HasMonitoredEntityResponse struct {
 32948  	Returnval bool `xml:"returnval" json:"returnval"`
 32949  }
 32950  
 32951  type HasPrivilegeOnEntities HasPrivilegeOnEntitiesRequestType
 32952  
 32953  func init() {
 32954  	t["HasPrivilegeOnEntities"] = reflect.TypeOf((*HasPrivilegeOnEntities)(nil)).Elem()
 32955  }
 32956  
 32957  // The parameters of `AuthorizationManager.HasPrivilegeOnEntities`.
 32958  type HasPrivilegeOnEntitiesRequestType struct {
 32959  	This ManagedObjectReference `xml:"_this" json:"-"`
 32960  	// The set of entities on which the privileges are checked.
 32961  	//
 32962  	// Required privileges: System.Read
 32963  	//
 32964  	// Refers instances of `ManagedEntity`.
 32965  	Entity []ManagedObjectReference `xml:"entity" json:"entity"`
 32966  	// The session ID to check privileges for. A sesssion ID can be
 32967  	// obtained from `UserSession.key`.
 32968  	SessionId string `xml:"sessionId" json:"sessionId"`
 32969  	// The array of privilege IDs to check.
 32970  	PrivId []string `xml:"privId,omitempty" json:"privId,omitempty"`
 32971  }
 32972  
 32973  func init() {
 32974  	t["HasPrivilegeOnEntitiesRequestType"] = reflect.TypeOf((*HasPrivilegeOnEntitiesRequestType)(nil)).Elem()
 32975  }
 32976  
 32977  type HasPrivilegeOnEntitiesResponse struct {
 32978  	Returnval []EntityPrivilege `xml:"returnval,omitempty" json:"returnval,omitempty"`
 32979  }
 32980  
 32981  type HasPrivilegeOnEntity HasPrivilegeOnEntityRequestType
 32982  
 32983  func init() {
 32984  	t["HasPrivilegeOnEntity"] = reflect.TypeOf((*HasPrivilegeOnEntity)(nil)).Elem()
 32985  }
 32986  
 32987  // The parameters of `AuthorizationManager.HasPrivilegeOnEntity`.
 32988  type HasPrivilegeOnEntityRequestType struct {
 32989  	This ManagedObjectReference `xml:"_this" json:"-"`
 32990  	// The entity on which the privileges are checked.
 32991  	//
 32992  	// Required privileges: System.Read
 32993  	//
 32994  	// Refers instance of `ManagedEntity`.
 32995  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 32996  	// The session ID to check privileges for. A sesssion ID can be
 32997  	// obtained from `UserSession.key`.
 32998  	SessionId string `xml:"sessionId" json:"sessionId"`
 32999  	// The array of privilege IDs to check.
 33000  	PrivId []string `xml:"privId,omitempty" json:"privId,omitempty"`
 33001  }
 33002  
 33003  func init() {
 33004  	t["HasPrivilegeOnEntityRequestType"] = reflect.TypeOf((*HasPrivilegeOnEntityRequestType)(nil)).Elem()
 33005  }
 33006  
 33007  type HasPrivilegeOnEntityResponse struct {
 33008  	Returnval []bool `xml:"returnval,omitempty" json:"returnval,omitempty"`
 33009  }
 33010  
 33011  type HasProvider HasProviderRequestType
 33012  
 33013  func init() {
 33014  	t["HasProvider"] = reflect.TypeOf((*HasProvider)(nil)).Elem()
 33015  }
 33016  
 33017  // The parameters of `HealthUpdateManager.HasProvider`.
 33018  type HasProviderRequestType struct {
 33019  	This ManagedObjectReference `xml:"_this" json:"-"`
 33020  	// The provider id.
 33021  	Id string `xml:"id" json:"id"`
 33022  }
 33023  
 33024  func init() {
 33025  	t["HasProviderRequestType"] = reflect.TypeOf((*HasProviderRequestType)(nil)).Elem()
 33026  }
 33027  
 33028  type HasProviderResponse struct {
 33029  	Returnval bool `xml:"returnval" json:"returnval"`
 33030  }
 33031  
 33032  type HasUserPrivilegeOnEntities HasUserPrivilegeOnEntitiesRequestType
 33033  
 33034  func init() {
 33035  	t["HasUserPrivilegeOnEntities"] = reflect.TypeOf((*HasUserPrivilegeOnEntities)(nil)).Elem()
 33036  }
 33037  
 33038  // The parameters of `AuthorizationManager.HasUserPrivilegeOnEntities`.
 33039  type HasUserPrivilegeOnEntitiesRequestType struct {
 33040  	This ManagedObjectReference `xml:"_this" json:"-"`
 33041  	// are the managed objects to check privileges on. If they
 33042  	// refer to managed objects that are not managed entities
 33043  	// the privilege check will be done on the root folder.
 33044  	//
 33045  	// Required privileges: System.View
 33046  	Entities []ManagedObjectReference `xml:"entities" json:"entities"`
 33047  	// is the name of the user to check privileges for. Both
 33048  	// UPN and PreWindows2000LogonName user name formats
 33049  	// are supported.
 33050  	UserName string `xml:"userName" json:"userName"`
 33051  	// is the set of privileges to check for
 33052  	PrivId []string `xml:"privId,omitempty" json:"privId,omitempty"`
 33053  }
 33054  
 33055  func init() {
 33056  	t["HasUserPrivilegeOnEntitiesRequestType"] = reflect.TypeOf((*HasUserPrivilegeOnEntitiesRequestType)(nil)).Elem()
 33057  }
 33058  
 33059  type HasUserPrivilegeOnEntitiesResponse struct {
 33060  	Returnval []EntityPrivilege `xml:"returnval,omitempty" json:"returnval,omitempty"`
 33061  }
 33062  
 33063  // Describes a single HBR secondary disk migration action.
 33064  //
 33065  // The storage migration
 33066  // action applies either to a single disk or a set of secondary virtual disks.
 33067  type HbrDiskMigrationAction struct {
 33068  	ClusterAction
 33069  
 33070  	// HMS Service specific collection id
 33071  	CollectionId string `xml:"collectionId" json:"collectionId"`
 33072  	// HMS specific name of this collection
 33073  	CollectionName string `xml:"collectionName" json:"collectionName"`
 33074  	// HBR disk ids of secondary disks moved by this action
 33075  	DiskIds []string `xml:"diskIds" json:"diskIds"`
 33076  	// Source datastore.
 33077  	//
 33078  	// Refers instance of `Datastore`.
 33079  	Source ManagedObjectReference `xml:"source" json:"source"`
 33080  	// Destination datastore.
 33081  	//
 33082  	// Refers instance of `Datastore`.
 33083  	Destination ManagedObjectReference `xml:"destination" json:"destination"`
 33084  	// The amount of data to be transferred.
 33085  	//
 33086  	// Unit: KB.
 33087  	SizeTransferred int64 `xml:"sizeTransferred" json:"sizeTransferred"`
 33088  	// Space utilization on the source datastore before storage migration.
 33089  	//
 33090  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 33091  	// If not set, the value is not available.
 33092  	SpaceUtilSrcBefore float32 `xml:"spaceUtilSrcBefore,omitempty" json:"spaceUtilSrcBefore,omitempty"`
 33093  	// Space utilization on the destination datastore before storage migration.
 33094  	//
 33095  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 33096  	// If not set, the value is not available.
 33097  	SpaceUtilDstBefore float32 `xml:"spaceUtilDstBefore,omitempty" json:"spaceUtilDstBefore,omitempty"`
 33098  	// Expected space utilization on the source datastore after storage migration.
 33099  	//
 33100  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 33101  	// If not set, the value is not available.
 33102  	SpaceUtilSrcAfter float32 `xml:"spaceUtilSrcAfter,omitempty" json:"spaceUtilSrcAfter,omitempty"`
 33103  	// Expected space utilization on the destination datastore after storage migration.
 33104  	//
 33105  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 33106  	// If not set, the value is not available.
 33107  	SpaceUtilDstAfter float32 `xml:"spaceUtilDstAfter,omitempty" json:"spaceUtilDstAfter,omitempty"`
 33108  	// I/O latency on the source datastore before storage migration.
 33109  	//
 33110  	// Unit: millisecond.
 33111  	// If not set, the value is not available.
 33112  	IoLatencySrcBefore float32 `xml:"ioLatencySrcBefore,omitempty" json:"ioLatencySrcBefore,omitempty"`
 33113  	// I/O latency on the destination datastore before storage migration.
 33114  	//
 33115  	// Unit: millisecond.
 33116  	// If not set, the value is not available.
 33117  	IoLatencyDstBefore float32 `xml:"ioLatencyDstBefore,omitempty" json:"ioLatencyDstBefore,omitempty"`
 33118  }
 33119  
 33120  func init() {
 33121  	t["HbrDiskMigrationAction"] = reflect.TypeOf((*HbrDiskMigrationAction)(nil)).Elem()
 33122  	minAPIVersionForType["HbrDiskMigrationAction"] = "6.0"
 33123  }
 33124  
 33125  // This data object represents the essential information about the
 33126  // state of a given replicated `VirtualMachine`.
 33127  type HbrManagerReplicationVmInfo struct {
 33128  	DynamicData
 33129  
 33130  	// A string representing the current `ReplicationVmState_enum` of the virtual machine.
 33131  	State string `xml:"state" json:"state"`
 33132  	// Progress stats for the current operation.
 33133  	//
 33134  	// Never present if the state is
 33135  	// not "syncing" or "active". If not present while in one of these states,
 33136  	// the host is still gathering initial operation statistics (progress can
 33137  	// be assumed to be 0).
 33138  	ProgressInfo *ReplicationVmProgressInfo `xml:"progressInfo,omitempty" json:"progressInfo,omitempty"`
 33139  	// An optional imageId that identifies the instance being created,
 33140  	// this is the imagId string that is passed to
 33141  	// `HbrManager.HbrCreateInstance_Task` or
 33142  	// `HbrManager.HbrStartOfflineInstance_Task`
 33143  	ImageId string `xml:"imageId,omitempty" json:"imageId,omitempty"`
 33144  	// A MethodFault representing the last replication specific error
 33145  	// that the `VirtualMachine` encountered during a create
 33146  	// instance operation.
 33147  	//
 33148  	// The successful creation of an instance
 33149  	// will clear any error.
 33150  	LastError *LocalizedMethodFault `xml:"lastError,omitempty" json:"lastError,omitempty"`
 33151  }
 33152  
 33153  func init() {
 33154  	t["HbrManagerReplicationVmInfo"] = reflect.TypeOf((*HbrManagerReplicationVmInfo)(nil)).Elem()
 33155  	minAPIVersionForType["HbrManagerReplicationVmInfo"] = "5.0"
 33156  }
 33157  
 33158  // This data object represents the capabilities of a given
 33159  // `VirtualMachine`.
 33160  type HbrManagerVmReplicationCapability struct {
 33161  	DynamicData
 33162  
 33163  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 33164  	// A string representing the current `QuiesceMode_enum` of the virtual machine.
 33165  	SupportedQuiesceMode string `xml:"supportedQuiesceMode" json:"supportedQuiesceMode"`
 33166  	// Flag indicating compression support on the host on which this virtual
 33167  	// machine is running.
 33168  	CompressionSupported bool `xml:"compressionSupported" json:"compressionSupported"`
 33169  	// Maximum disk size supported (in bytes) on the host on which this virtual
 33170  	// machine is running.
 33171  	MaxSupportedSourceDiskCapacity int64 `xml:"maxSupportedSourceDiskCapacity" json:"maxSupportedSourceDiskCapacity"`
 33172  	// Minimum rpo supported (in minutes) on the host on which this virtual
 33173  	// machine is running.
 33174  	MinRpo int64 `xml:"minRpo,omitempty" json:"minRpo,omitempty"`
 33175  	// If we are unable to find the VM, we would set this to NotFound fault.
 33176  	//
 33177  	// And, if we are unable to find the host for a given VM, then we would
 33178  	// set this to HostNotReachable fault.
 33179  	// Unset if we are able to fetch the capabilities for the VM.
 33180  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 33181  }
 33182  
 33183  func init() {
 33184  	t["HbrManagerVmReplicationCapability"] = reflect.TypeOf((*HbrManagerVmReplicationCapability)(nil)).Elem()
 33185  	minAPIVersionForType["HbrManagerVmReplicationCapability"] = "6.0"
 33186  }
 33187  
 33188  // Event used to report change in health status of VirtualCenter components.
 33189  type HealthStatusChangedEvent struct {
 33190  	Event
 33191  
 33192  	// Unique ID of the VirtualCenter component.
 33193  	ComponentId string `xml:"componentId" json:"componentId"`
 33194  	// Previous health status of the component.
 33195  	OldStatus string `xml:"oldStatus" json:"oldStatus"`
 33196  	// Current health status of the component.
 33197  	NewStatus string `xml:"newStatus" json:"newStatus"`
 33198  	// Component name.
 33199  	ComponentName string `xml:"componentName" json:"componentName"`
 33200  	// Service Id of component.
 33201  	ServiceId string `xml:"serviceId,omitempty" json:"serviceId,omitempty" vim:"6.0"`
 33202  }
 33203  
 33204  func init() {
 33205  	t["HealthStatusChangedEvent"] = reflect.TypeOf((*HealthStatusChangedEvent)(nil)).Elem()
 33206  	minAPIVersionForType["HealthStatusChangedEvent"] = "4.0"
 33207  }
 33208  
 33209  // The system health runtime information
 33210  type HealthSystemRuntime struct {
 33211  	DynamicData
 33212  
 33213  	// Available system health information
 33214  	SystemHealthInfo *HostSystemHealthInfo `xml:"systemHealthInfo,omitempty" json:"systemHealthInfo,omitempty"`
 33215  	// Available hardware health information
 33216  	HardwareStatusInfo *HostHardwareStatusInfo `xml:"hardwareStatusInfo,omitempty" json:"hardwareStatusInfo,omitempty"`
 33217  }
 33218  
 33219  func init() {
 33220  	t["HealthSystemRuntime"] = reflect.TypeOf((*HealthSystemRuntime)(nil)).Elem()
 33221  	minAPIVersionForType["HealthSystemRuntime"] = "2.5"
 33222  }
 33223  
 33224  type HealthUpdate struct {
 33225  	DynamicData
 33226  
 33227  	// The entity on which the health update occurred.
 33228  	//
 33229  	// Only host is supported.
 33230  	//
 33231  	// Refers instance of `ManagedEntity`.
 33232  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 33233  	// The ID of the corresponding HealthUpdateInfo.
 33234  	HealthUpdateInfoId string `xml:"healthUpdateInfoId" json:"healthUpdateInfoId"`
 33235  	// The ID of this particular HealthUpdate instance, for cross-reference
 33236  	// with HealthUpdateProvider logs.
 33237  	Id string `xml:"id" json:"id"`
 33238  	// The current health status.
 33239  	//
 33240  	// Values are of type
 33241  	// `Status`.
 33242  	Status ManagedEntityStatus `xml:"status" json:"status"`
 33243  	// A description of the physical remediation required to resolve this
 33244  	// health update.
 33245  	//
 33246  	// For example, "Replace Fan #3".
 33247  	Remediation string `xml:"remediation" json:"remediation"`
 33248  }
 33249  
 33250  func init() {
 33251  	t["HealthUpdate"] = reflect.TypeOf((*HealthUpdate)(nil)).Elem()
 33252  }
 33253  
 33254  type HealthUpdateInfo struct {
 33255  	DynamicData
 33256  
 33257  	// The identifier provided by the HealthUpdateProvider.
 33258  	//
 33259  	// Identifiers are
 33260  	// required to be unique per HealthUpdateProvider.
 33261  	Id string `xml:"id" json:"id"`
 33262  	// The component type.
 33263  	//
 33264  	// For supported values, see `HealthUpdateInfoComponentType_enum`
 33265  	ComponentType string `xml:"componentType" json:"componentType"`
 33266  	// A description of the change in health.
 33267  	Description string `xml:"description" json:"description"`
 33268  }
 33269  
 33270  func init() {
 33271  	t["HealthUpdateInfo"] = reflect.TypeOf((*HealthUpdateInfo)(nil)).Elem()
 33272  }
 33273  
 33274  // An attempt to enable Enhanced VMotion Compatibility on a cluster has failed
 33275  // because the cluster contains CPUs from more than one vendor.
 33276  type HeterogenousHostsBlockingEVC struct {
 33277  	EVCConfigFault
 33278  }
 33279  
 33280  func init() {
 33281  	t["HeterogenousHostsBlockingEVC"] = reflect.TypeOf((*HeterogenousHostsBlockingEVC)(nil)).Elem()
 33282  	minAPIVersionForType["HeterogenousHostsBlockingEVC"] = "2.5u2"
 33283  }
 33284  
 33285  type HeterogenousHostsBlockingEVCFault HeterogenousHostsBlockingEVC
 33286  
 33287  func init() {
 33288  	t["HeterogenousHostsBlockingEVCFault"] = reflect.TypeOf((*HeterogenousHostsBlockingEVCFault)(nil)).Elem()
 33289  }
 33290  
 33291  // Data structure describing the access mode for a user or group.
 33292  type HostAccessControlEntry struct {
 33293  	DynamicData
 33294  
 33295  	// User or group having the described access mode.
 33296  	//
 33297  	// The format is "login" for local users or "DOMAIN\\login" for users
 33298  	// in a Windows domain.
 33299  	Principal string `xml:"principal" json:"principal"`
 33300  	// True if 'principal' describes a group account, false otherwise.
 33301  	Group bool `xml:"group" json:"group"`
 33302  	// Access mode for the principal.
 33303  	AccessMode HostAccessMode `xml:"accessMode" json:"accessMode"`
 33304  }
 33305  
 33306  func init() {
 33307  	t["HostAccessControlEntry"] = reflect.TypeOf((*HostAccessControlEntry)(nil)).Elem()
 33308  	minAPIVersionForType["HostAccessControlEntry"] = "6.0"
 33309  }
 33310  
 33311  // Fault thrown when an attempt is made to adjust resource settings
 33312  // directly on a host that is being managed by VC.
 33313  //
 33314  // VC is currently the
 33315  // source of truth for all resource pools on the host.
 33316  // Examples of methods affected by this are:
 33317  //   - create respool
 33318  //   - update respool
 33319  //   - change VM resource settings.
 33320  type HostAccessRestrictedToManagementServer struct {
 33321  	NotSupported
 33322  
 33323  	// Name/IP of the server currently managing this host.
 33324  	ManagementServer string `xml:"managementServer" json:"managementServer"`
 33325  }
 33326  
 33327  func init() {
 33328  	t["HostAccessRestrictedToManagementServer"] = reflect.TypeOf((*HostAccessRestrictedToManagementServer)(nil)).Elem()
 33329  	minAPIVersionForType["HostAccessRestrictedToManagementServer"] = "5.0"
 33330  }
 33331  
 33332  type HostAccessRestrictedToManagementServerFault HostAccessRestrictedToManagementServer
 33333  
 33334  func init() {
 33335  	t["HostAccessRestrictedToManagementServerFault"] = reflect.TypeOf((*HostAccessRestrictedToManagementServerFault)(nil)).Elem()
 33336  }
 33337  
 33338  // This data object type contains common parameters
 33339  // for local account creation.
 33340  //
 33341  // The password and description properties
 33342  // are not supported for group accounts on POSIX hosts.
 33343  type HostAccountSpec struct {
 33344  	DynamicData
 33345  
 33346  	// The ID of the specified account.
 33347  	Id string `xml:"id" json:"id"`
 33348  	// The password for a user or group.
 33349  	Password string `xml:"password,omitempty" json:"password,omitempty"`
 33350  	// The description of the specified account.
 33351  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 33352  }
 33353  
 33354  func init() {
 33355  	t["HostAccountSpec"] = reflect.TypeOf((*HostAccountSpec)(nil)).Elem()
 33356  }
 33357  
 33358  // The `HostActiveDirectory` data object contains
 33359  // Active Directory configuration information for an ESX host.
 33360  //
 33361  // The vSphere API supports Microsoft Active Directory management
 33362  // of authentication for ESX hosts. To integrate an ESX host
 33363  // into an Active Directory environment, you use an Active Directory
 33364  // account that has the authority to add a computer to a domain.
 33365  // The ESX Server locates the Active Directory domain controller.
 33366  // When you use the host profile to configure authentication
 33367  // for an ESX host, you specify the configuration operation (add or remove).
 33368  // To add the host to a domain, specify
 33369  // the domain, and the authorized Active Directory account user name and password.
 33370  // You do not need to specify these parameters to remove the host from a domain
 33371  // because the host has the information it needs to perform the operation.
 33372  // When you call `HostProfileManager.ApplyHostConfig_Task`
 33373  // to apply the configuration, the ESX Server will call the appropriate
 33374  // method (`HostActiveDirectoryAuthentication.JoinDomain_Task`
 33375  // or `HostActiveDirectoryAuthentication.LeaveCurrentDomain_Task`)
 33376  // on your behalf.
 33377  //
 33378  // Before you call the method to apply the host profile, check to see that the
 33379  // `HostAuthenticationManager*.*HostAuthenticationManager.supportedStore`
 33380  // array contains a `HostActiveDirectoryAuthentication` object.
 33381  // The presence of the Active Directory authentication object indicates
 33382  // that a host is capable of joining a domain.
 33383  // However, if you try to add a host to a domain when the
 33384  // `HostAuthenticationStoreInfo*.*HostAuthenticationStoreInfo.enabled`
 33385  // property is <code>True</code>, the join method will throw a fault.
 33386  //
 33387  // As an alternative to using the host profile to configure Active Directory
 33388  // authentication for an ESX host, your vSphere client application can call
 33389  // the `HostActiveDirectoryAuthentication` join and leave methods directly
 33390  // to add the host to or remove the host from a domain.
 33391  //
 33392  // To take advantage of ESX host membership in an Active Directory domain,
 33393  // grant permissions on the ESX host to users and groups in Active Directory
 33394  // who should have direct access to management of the ESX host.
 33395  // Use the `UserDirectory*.*UserDirectory.RetrieveUserGroups`
 33396  // method to obtain information about Active Directory users and groups.
 33397  // After retrieving the Active Directory data, you can use the
 33398  // `AuthorizationManager*.*AuthorizationManager.SetEntityPermissions`
 33399  // method to set the `Permission.principal` property
 33400  // to the appropriate user or group.
 33401  //
 33402  // By default, the ESX host assigns the Administrator role to the "ESX Admins" group.
 33403  // If the group does not exist when the host joins the domain, the host will
 33404  // not assign the role. In this case, you must create the "ESX Admins"
 33405  // group in the Active Directory. The host will periodically check the domain controller
 33406  // for the group and will assign the role when the group exists.
 33407  type HostActiveDirectory struct {
 33408  	DynamicData
 33409  
 33410  	// Configuration change operation to apply to the host.
 33411  	//
 33412  	// You can specify
 33413  	// the following values:
 33414  	//     - `add`:
 33415  	//       Add the host to the domain. The ESX Server will use the
 33416  	//       `HostActiveDirectorySpec` information
 33417  	//       (domain, account user name and password) to call
 33418  	//       `HostActiveDirectoryAuthentication.JoinDomain_Task` and optionally
 33419  	//       configure smart card authentication by calling
 33420  	//       `HostActiveDirectoryAuthentication.DisableSmartCardAuthentication`
 33421  	//       and replacing the trust anchors with those provided.
 33422  	//     - `remove`:
 33423  	//       Remove the host from its current domain.
 33424  	//       The ESX Server will call
 33425  	//       `HostActiveDirectoryAuthentication.LeaveCurrentDomain_Task`, specifying
 33426  	//       <code>True</code> for the <code>force</code> parameter to delete
 33427  	//       existing permissions.
 33428  	//       `HostActiveDirectoryAuthentication.DisableSmartCardAuthentication`
 33429  	//       is also called if smart card authentication is enabled and trust
 33430  	//       anchors are removed.
 33431  	//
 33432  	// See also `HostConfigChangeOperation_enum`.
 33433  	ChangeOperation string `xml:"changeOperation" json:"changeOperation"`
 33434  	// Active Directory domain access information (domain and account
 33435  	// user name and password).
 33436  	Spec *HostActiveDirectorySpec `xml:"spec,omitempty" json:"spec,omitempty"`
 33437  }
 33438  
 33439  func init() {
 33440  	t["HostActiveDirectory"] = reflect.TypeOf((*HostActiveDirectory)(nil)).Elem()
 33441  	minAPIVersionForType["HostActiveDirectory"] = "4.1"
 33442  }
 33443  
 33444  // The `HostActiveDirectoryInfo` data object describes ESX host
 33445  // membership in an Active Directory domain.
 33446  //
 33447  // If the
 33448  // `HostAuthenticationStoreInfo*.*HostAuthenticationStoreInfo.enabled`
 33449  // property is <code>True</code>, the host is a member of a domain
 33450  // and the ESX Server will set the domain information properties.
 33451  type HostActiveDirectoryInfo struct {
 33452  	HostDirectoryStoreInfo
 33453  
 33454  	// The domain that this host joined.
 33455  	JoinedDomain string `xml:"joinedDomain,omitempty" json:"joinedDomain,omitempty"`
 33456  	// List of domains with which the <code>joinedDomain</code> has a trust.
 33457  	//
 33458  	// The <code>joinedDomain</code> is not included in the
 33459  	// <code>trustedDomain</code> list.
 33460  	TrustedDomain []string `xml:"trustedDomain,omitempty" json:"trustedDomain,omitempty"`
 33461  	// Health information about the domain membership.
 33462  	//
 33463  	// See `HostActiveDirectoryInfoDomainMembershipStatus_enum`.
 33464  	DomainMembershipStatus string `xml:"domainMembershipStatus,omitempty" json:"domainMembershipStatus,omitempty"`
 33465  	// Whether local smart card authentication is enabled.
 33466  	SmartCardAuthenticationEnabled *bool `xml:"smartCardAuthenticationEnabled" json:"smartCardAuthenticationEnabled,omitempty" vim:"6.0"`
 33467  }
 33468  
 33469  func init() {
 33470  	t["HostActiveDirectoryInfo"] = reflect.TypeOf((*HostActiveDirectoryInfo)(nil)).Elem()
 33471  	minAPIVersionForType["HostActiveDirectoryInfo"] = "4.1"
 33472  }
 33473  
 33474  // The `HostActiveDirectorySpec` data object defines
 33475  // properties for Active Directory domain access.
 33476  type HostActiveDirectorySpec struct {
 33477  	DynamicData
 33478  
 33479  	// Domain name.
 33480  	DomainName string `xml:"domainName,omitempty" json:"domainName,omitempty"`
 33481  	// Name of an Active Directory account with the authority
 33482  	// to add a host to the domain.
 33483  	UserName string `xml:"userName,omitempty" json:"userName,omitempty"`
 33484  	// Password for the Active Directory account.
 33485  	Password string `xml:"password,omitempty" json:"password,omitempty"`
 33486  	// If set, the CAM server will be used to join the domain
 33487  	// and the <code>userName</code> and <code>password</code> fields
 33488  	// will be ignored.
 33489  	CamServer string `xml:"camServer,omitempty" json:"camServer,omitempty" vim:"5.0"`
 33490  	// Thumbprint for the SSL certficate of CAM server
 33491  	Thumbprint string `xml:"thumbprint,omitempty" json:"thumbprint,omitempty" vim:"5.0"`
 33492  	// Support smart card authentication of local users.
 33493  	SmartCardAuthenticationEnabled *bool `xml:"smartCardAuthenticationEnabled" json:"smartCardAuthenticationEnabled,omitempty" vim:"6.0"`
 33494  	// Trusted root certificates for smart cards.
 33495  	SmartCardTrustAnchors []string `xml:"smartCardTrustAnchors,omitempty" json:"smartCardTrustAnchors,omitempty" vim:"6.0"`
 33496  }
 33497  
 33498  func init() {
 33499  	t["HostActiveDirectorySpec"] = reflect.TypeOf((*HostActiveDirectorySpec)(nil)).Elem()
 33500  	minAPIVersionForType["HostActiveDirectorySpec"] = "4.1"
 33501  }
 33502  
 33503  // This event records that adding a host failed.
 33504  type HostAddFailedEvent struct {
 33505  	HostEvent
 33506  
 33507  	Hostname string `xml:"hostname" json:"hostname"`
 33508  }
 33509  
 33510  func init() {
 33511  	t["HostAddFailedEvent"] = reflect.TypeOf((*HostAddFailedEvent)(nil)).Elem()
 33512  }
 33513  
 33514  // This event records the addition of a host to VirtualCenter.
 33515  type HostAddedEvent struct {
 33516  	HostEvent
 33517  }
 33518  
 33519  func init() {
 33520  	t["HostAddedEvent"] = reflect.TypeOf((*HostAddedEvent)(nil)).Elem()
 33521  }
 33522  
 33523  // This event records that the permission on the host has been changed such
 33524  // that only the user account used for VirtualCenter operation will have
 33525  // Administrator permission.
 33526  type HostAdminDisableEvent struct {
 33527  	HostEvent
 33528  }
 33529  
 33530  func init() {
 33531  	t["HostAdminDisableEvent"] = reflect.TypeOf((*HostAdminDisableEvent)(nil)).Elem()
 33532  	minAPIVersionForType["HostAdminDisableEvent"] = "2.5"
 33533  }
 33534  
 33535  // This event records that the administrator permission has been restored.
 33536  type HostAdminEnableEvent struct {
 33537  	HostEvent
 33538  }
 33539  
 33540  func init() {
 33541  	t["HostAdminEnableEvent"] = reflect.TypeOf((*HostAdminEnableEvent)(nil)).Elem()
 33542  	minAPIVersionForType["HostAdminEnableEvent"] = "2.5"
 33543  }
 33544  
 33545  // The `HostApplyProfile` data object provides access to subprofiles
 33546  // that contain configuration data for different host capabilities.
 33547  //
 33548  // The Profile Engine will use any configuration data that you supply
 33549  // to overwrite the host configuration. See the `HostProfile.ExecuteHostProfile`
 33550  // and `HostProfileManager.ApplyHostConfig_Task` methods.
 33551  type HostApplyProfile struct {
 33552  	ApplyProfile
 33553  
 33554  	// Memory configuration for the host.
 33555  	//
 33556  	// This may not be valid for all versions of the host.
 33557  	Memory *HostMemoryProfile `xml:"memory,omitempty" json:"memory,omitempty"`
 33558  	// Host storage configuration.
 33559  	Storage *StorageProfile `xml:"storage,omitempty" json:"storage,omitempty"`
 33560  	// Network configuration.
 33561  	Network *NetworkProfile `xml:"network,omitempty" json:"network,omitempty"`
 33562  	// Date and time configuration.
 33563  	Datetime *DateTimeProfile `xml:"datetime,omitempty" json:"datetime,omitempty"`
 33564  	// Firewall configuration.
 33565  	Firewall *FirewallProfile `xml:"firewall,omitempty" json:"firewall,omitempty"`
 33566  	// Security Configuration of the host.
 33567  	//
 33568  	// The security subprofile can include data such as administrator passwords.
 33569  	Security *SecurityProfile `xml:"security,omitempty" json:"security,omitempty"`
 33570  	// Host configuration for services.
 33571  	//
 33572  	// Use the `ServiceProfile.key` property
 33573  	// to access a subprofile in the list.
 33574  	Service []ServiceProfile `xml:"service,omitempty" json:"service,omitempty"`
 33575  	// List of subprofiles representing advanced configuration options.
 33576  	//
 33577  	// Use the `OptionProfile.key` property to access a subprofile
 33578  	// in the list.
 33579  	Option []OptionProfile `xml:"option,omitempty" json:"option,omitempty"`
 33580  	// List of subprofiles for user accounts to be configured on the host.
 33581  	//
 33582  	// Use the `UserProfile.key` property to access a subprofile
 33583  	// in the list.
 33584  	UserAccount []UserProfile `xml:"userAccount,omitempty" json:"userAccount,omitempty"`
 33585  	// List of subprofiles for user groups to be configured on the host.
 33586  	//
 33587  	// Use the `UserGroupProfile.key` property to access a subprofile
 33588  	// in the list.
 33589  	UsergroupAccount []UserGroupProfile `xml:"usergroupAccount,omitempty" json:"usergroupAccount,omitempty"`
 33590  	// Authentication Configuration.
 33591  	Authentication *AuthenticationProfile `xml:"authentication,omitempty" json:"authentication,omitempty" vim:"4.1"`
 33592  }
 33593  
 33594  func init() {
 33595  	t["HostApplyProfile"] = reflect.TypeOf((*HostApplyProfile)(nil)).Elem()
 33596  	minAPIVersionForType["HostApplyProfile"] = "4.0"
 33597  }
 33598  
 33599  // Data object indicating a device instance has been allocated to a VM.
 33600  type HostAssignableHardwareBinding struct {
 33601  	DynamicData
 33602  
 33603  	// Instance ID of assigned device.
 33604  	InstanceId string `xml:"instanceId" json:"instanceId"`
 33605  	// Virtual machine to which the device is assigned.
 33606  	//
 33607  	// Refers instance of `VirtualMachine`.
 33608  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 33609  }
 33610  
 33611  func init() {
 33612  	t["HostAssignableHardwareBinding"] = reflect.TypeOf((*HostAssignableHardwareBinding)(nil)).Elem()
 33613  	minAPIVersionForType["HostAssignableHardwareBinding"] = "7.0"
 33614  }
 33615  
 33616  // The AssignableHardwareConfig data object describes properties
 33617  // of all assignable devices on the host.
 33618  type HostAssignableHardwareConfig struct {
 33619  	DynamicData
 33620  
 33621  	// List of attribute overrides.
 33622  	AttributeOverride []HostAssignableHardwareConfigAttributeOverride `xml:"attributeOverride,omitempty" json:"attributeOverride,omitempty"`
 33623  }
 33624  
 33625  func init() {
 33626  	t["HostAssignableHardwareConfig"] = reflect.TypeOf((*HostAssignableHardwareConfig)(nil)).Elem()
 33627  	minAPIVersionForType["HostAssignableHardwareConfig"] = "7.0"
 33628  }
 33629  
 33630  // An AttributeOverride provides a name-value pair that overrides
 33631  // for a particular instance node a configurable Attribute defined
 33632  // by that device.
 33633  type HostAssignableHardwareConfigAttributeOverride struct {
 33634  	DynamicData
 33635  
 33636  	// Instance ID of the Assignable Hardware instance node where
 33637  	// the attribute specified by name is overridden.
 33638  	InstanceId string `xml:"instanceId" json:"instanceId"`
 33639  	// Name of attribute to override.
 33640  	Name string `xml:"name" json:"name"`
 33641  	// When AssignableHardwareConfig is a returned data object:
 33642  	// Value returned will always be set.
 33643  	//
 33644  	// When AssignableHardwareConfig is used as a parameter to
 33645  	// an operation updating Assignable Hardware configuration:
 33646  	// If value is set, an existing AttributeOverride with matching
 33647  	// instanceId and name will have its value updated; if there is
 33648  	// no existing AttributeOverride that matches, a new
 33649  	// AttributeOverride is created. The type of the value must match
 33650  	// the type of the attribute value being overridden.
 33651  	// If value is not set, an existing AttributeOverride matching
 33652  	// the specified instanceId and name is deleted.
 33653  	Value AnyType `xml:"value,typeattr" json:"value"`
 33654  }
 33655  
 33656  func init() {
 33657  	t["HostAssignableHardwareConfigAttributeOverride"] = reflect.TypeOf((*HostAssignableHardwareConfigAttributeOverride)(nil)).Elem()
 33658  	minAPIVersionForType["HostAssignableHardwareConfigAttributeOverride"] = "7.0"
 33659  }
 33660  
 33661  // The `HostAuthenticationManagerInfo` data object provides
 33662  // access to authentication information for the ESX host.
 33663  type HostAuthenticationManagerInfo struct {
 33664  	DynamicData
 33665  
 33666  	// An array containing entries for local authentication and host
 33667  	// Active Directory authentication.
 33668  	//     - `HostLocalAuthenticationInfo` - Local authentication is always enabled.
 33669  	//     - `HostActiveDirectoryInfo` - Host Active Directory authentication information
 33670  	//       includes the name of the domain, membership status,
 33671  	//       and a list of other domains trusted by the membership domain.
 33672  	AuthConfig []BaseHostAuthenticationStoreInfo `xml:"authConfig,typeattr" json:"authConfig"`
 33673  }
 33674  
 33675  func init() {
 33676  	t["HostAuthenticationManagerInfo"] = reflect.TypeOf((*HostAuthenticationManagerInfo)(nil)).Elem()
 33677  	minAPIVersionForType["HostAuthenticationManagerInfo"] = "4.1"
 33678  }
 33679  
 33680  // The `HostAuthenticationStoreInfo` base class defines status information
 33681  // for local and host Active Directory authentication.
 33682  type HostAuthenticationStoreInfo struct {
 33683  	DynamicData
 33684  
 33685  	// Indicates whether the authentication store is configured.
 33686  	//     - Host Active Directory authentication - <code>enabled</code>
 33687  	//       is <code>True</code> if the host is a member of a domain.
 33688  	//     - Local authentication - <code>enabled</code> is always <code>True</code>.
 33689  	Enabled bool `xml:"enabled" json:"enabled"`
 33690  }
 33691  
 33692  func init() {
 33693  	t["HostAuthenticationStoreInfo"] = reflect.TypeOf((*HostAuthenticationStoreInfo)(nil)).Elem()
 33694  	minAPIVersionForType["HostAuthenticationStoreInfo"] = "4.1"
 33695  }
 33696  
 33697  // Contains the entire auto-start/auto-stop configuration.
 33698  type HostAutoStartManagerConfig struct {
 33699  	DynamicData
 33700  
 33701  	// System defaults for auto-start/auto-stop.
 33702  	Defaults *AutoStartDefaults `xml:"defaults,omitempty" json:"defaults,omitempty"`
 33703  	// Lists the auto-start/auto-stop configuration.
 33704  	//
 33705  	// If a virtual machine is not
 33706  	// mentioned in this array, it does not participate in auto-start/auto-stop
 33707  	// operations.
 33708  	PowerInfo []AutoStartPowerInfo `xml:"powerInfo,omitempty" json:"powerInfo,omitempty"`
 33709  }
 33710  
 33711  func init() {
 33712  	t["HostAutoStartManagerConfig"] = reflect.TypeOf((*HostAutoStartManagerConfig)(nil)).Elem()
 33713  }
 33714  
 33715  type HostBIOSInfo struct {
 33716  	DynamicData
 33717  
 33718  	// The current BIOS version of the physical chassis
 33719  	BiosVersion string `xml:"biosVersion,omitempty" json:"biosVersion,omitempty"`
 33720  	// The release date for the BIOS.
 33721  	ReleaseDate *time.Time `xml:"releaseDate" json:"releaseDate,omitempty"`
 33722  	// The vendor for the BIOS.
 33723  	Vendor string `xml:"vendor,omitempty" json:"vendor,omitempty" vim:"6.5"`
 33724  	// BIOS Major Release
 33725  	MajorRelease int32 `xml:"majorRelease,omitempty" json:"majorRelease,omitempty" vim:"6.5"`
 33726  	// "BIOS Minor Release
 33727  	MinorRelease         int32 `xml:"minorRelease,omitempty" json:"minorRelease,omitempty" vim:"6.5"`
 33728  	FirmwareMajorRelease int32 `xml:"firmwareMajorRelease,omitempty" json:"firmwareMajorRelease,omitempty"`
 33729  	// Embedded Controller Firmware Minor Release
 33730  	FirmwareMinorRelease int32 `xml:"firmwareMinorRelease,omitempty" json:"firmwareMinorRelease,omitempty" vim:"6.5"`
 33731  	// Firmware Type of the host.
 33732  	//
 33733  	// The set of supported values is described
 33734  	// in `HostBIOSInfoFirmwareType_enum`
 33735  	FirmwareType string `xml:"firmwareType,omitempty" json:"firmwareType,omitempty" vim:"8.0.2.0"`
 33736  }
 33737  
 33738  func init() {
 33739  	t["HostBIOSInfo"] = reflect.TypeOf((*HostBIOSInfo)(nil)).Elem()
 33740  }
 33741  
 33742  // Block adapter transport information about a SCSI target.
 33743  type HostBlockAdapterTargetTransport struct {
 33744  	HostTargetTransport
 33745  }
 33746  
 33747  func init() {
 33748  	t["HostBlockAdapterTargetTransport"] = reflect.TypeOf((*HostBlockAdapterTargetTransport)(nil)).Elem()
 33749  }
 33750  
 33751  // This data object type describes the host bus adapter that
 33752  // provides block devices.
 33753  type HostBlockHba struct {
 33754  	HostHostBusAdapter
 33755  }
 33756  
 33757  func init() {
 33758  	t["HostBlockHba"] = reflect.TypeOf((*HostBlockHba)(nil)).Elem()
 33759  }
 33760  
 33761  // The `HostBootDevice` data object represents a boot device on the host system.
 33762  type HostBootDevice struct {
 33763  	DynamicData
 33764  
 33765  	// The identifier for the boot device.
 33766  	Key string `xml:"key" json:"key"`
 33767  	// The description of the boot device.
 33768  	Description string `xml:"description" json:"description"`
 33769  }
 33770  
 33771  func init() {
 33772  	t["HostBootDevice"] = reflect.TypeOf((*HostBootDevice)(nil)).Elem()
 33773  	minAPIVersionForType["HostBootDevice"] = "2.5"
 33774  }
 33775  
 33776  // This data object represents the boot device information of the host.
 33777  type HostBootDeviceInfo struct {
 33778  	DynamicData
 33779  
 33780  	// The list of boot devices present on the host
 33781  	BootDevices []HostBootDevice `xml:"bootDevices,omitempty" json:"bootDevices,omitempty"`
 33782  	// The key of the current boot device that the host is configured to
 33783  	// boot.
 33784  	//
 33785  	// This property is unset if the current boot device is disabled.
 33786  	CurrentBootDeviceKey string `xml:"currentBootDeviceKey,omitempty" json:"currentBootDeviceKey,omitempty"`
 33787  }
 33788  
 33789  func init() {
 33790  	t["HostBootDeviceInfo"] = reflect.TypeOf((*HostBootDeviceInfo)(nil)).Elem()
 33791  	minAPIVersionForType["HostBootDeviceInfo"] = "2.5"
 33792  }
 33793  
 33794  // Host solid state drive cache configuration information.
 33795  type HostCacheConfigurationInfo struct {
 33796  	DynamicData
 33797  
 33798  	// Datastore used for swap performance enhancements.
 33799  	//
 33800  	// Refers instance of `Datastore`.
 33801  	Key ManagedObjectReference `xml:"key" json:"key"`
 33802  	// Space allocated on this datastore to implement swap performance
 33803  	// enhancements, in MB.
 33804  	SwapSize int64 `xml:"swapSize" json:"swapSize"`
 33805  }
 33806  
 33807  func init() {
 33808  	t["HostCacheConfigurationInfo"] = reflect.TypeOf((*HostCacheConfigurationInfo)(nil)).Elem()
 33809  	minAPIVersionForType["HostCacheConfigurationInfo"] = "5.0"
 33810  }
 33811  
 33812  // Host cache configuration specification.
 33813  type HostCacheConfigurationSpec struct {
 33814  	DynamicData
 33815  
 33816  	// Datastore used for swap performance enhancement.
 33817  	//
 33818  	// Refers instance of `Datastore`.
 33819  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 33820  	// Space to allocate on this datastore to implement swap performance
 33821  	// enhancements, in MB.
 33822  	//
 33823  	// This value should be less or equal to free space
 33824  	// capacity on the datastore `DatastoreSummary.freeSpace`.
 33825  	SwapSize int64 `xml:"swapSize" json:"swapSize"`
 33826  }
 33827  
 33828  func init() {
 33829  	t["HostCacheConfigurationSpec"] = reflect.TypeOf((*HostCacheConfigurationSpec)(nil)).Elem()
 33830  	minAPIVersionForType["HostCacheConfigurationSpec"] = "5.0"
 33831  }
 33832  
 33833  // Specifies the capabilities of the particular host.
 33834  //
 33835  // This set of
 33836  // capabilities is referenced in other parts of the API specification
 33837  // to indicate under what circumstances an API will throw a
 33838  // `NotSupported` fault.
 33839  type HostCapability struct {
 33840  	DynamicData
 33841  
 33842  	RecursiveResourcePoolsSupported bool `xml:"recursiveResourcePoolsSupported" json:"recursiveResourcePoolsSupported"`
 33843  	// Flag indicating whether cpu and memory resource configuration is
 33844  	// supported.
 33845  	//
 33846  	// If this is set to false,
 33847  	// `ResourcePool.UpdateConfig`,
 33848  	// `ResourcePool.UpdateChildResourceConfiguration`
 33849  	// cannot be used for changing the cpu/memory resource configurations.
 33850  	CpuMemoryResourceConfigurationSupported bool `xml:"cpuMemoryResourceConfigurationSupported" json:"cpuMemoryResourceConfigurationSupported" vim:"2.5"`
 33851  	// Flag indicating whether rebooting the host is supported.
 33852  	RebootSupported bool `xml:"rebootSupported" json:"rebootSupported"`
 33853  	// Flag indicating whether the host can be powered off
 33854  	ShutdownSupported bool `xml:"shutdownSupported" json:"shutdownSupported"`
 33855  	// Flag indicating whether you can perform VMotion.
 33856  	VmotionSupported bool `xml:"vmotionSupported" json:"vmotionSupported"`
 33857  	// Flag indicating whether you can put the host in a power down
 33858  	// state, from which it can be powered up automatically.
 33859  	StandbySupported bool `xml:"standbySupported" json:"standbySupported" vim:"2.5"`
 33860  	// Flag indicating whether the host supports
 33861  	// IPMI (Intelligent Platform Management Interface).
 33862  	//
 33863  	// XXX - Make ipmiSupported optional until there is a compatible hostagent.
 33864  	IpmiSupported *bool `xml:"ipmiSupported" json:"ipmiSupported,omitempty" vim:"4.0"`
 33865  	// The maximum number of virtual machines that can exist on this host.
 33866  	//
 33867  	// If this capability is not set, the number of virtual machines is
 33868  	// unlimited.
 33869  	MaxSupportedVMs int32 `xml:"maxSupportedVMs,omitempty" json:"maxSupportedVMs,omitempty"`
 33870  	// The maximum number of virtual machines that can be running
 33871  	// simultaneously on this host.
 33872  	//
 33873  	// If this capability is not set, the number of virtual machines
 33874  	// running simultaneously is unlimited.
 33875  	MaxRunningVMs int32 `xml:"maxRunningVMs,omitempty" json:"maxRunningVMs,omitempty"`
 33876  	// The maximum number of virtual CPUs supported per virtual machine.
 33877  	//
 33878  	// If this capability is not set, the number is unlimited.
 33879  	MaxSupportedVcpus int32 `xml:"maxSupportedVcpus,omitempty" json:"maxSupportedVcpus,omitempty"`
 33880  	// The maximum number of registered virtual machines supported by
 33881  	// the host.
 33882  	//
 33883  	// If this limit is exceeded, the management agent will be
 33884  	// at risk of running out of system resources. `configIssue` will be posted on
 33885  	// `HostSystem` in this case.
 33886  	//
 33887  	// If this capability is not set, the number is unknown.
 33888  	MaxRegisteredVMs int32 `xml:"maxRegisteredVMs,omitempty" json:"maxRegisteredVMs,omitempty" vim:"5.1"`
 33889  	// Flag indicating whether datastore principal user
 33890  	// is supported on the host.
 33891  	DatastorePrincipalSupported bool `xml:"datastorePrincipalSupported" json:"datastorePrincipalSupported"`
 33892  	// Flag indicating whether access to SAN devices is supported.
 33893  	SanSupported bool `xml:"sanSupported" json:"sanSupported"`
 33894  	// Is access to NFS devices supported.
 33895  	NfsSupported bool `xml:"nfsSupported" json:"nfsSupported"`
 33896  	// Is access to iSCSI devices supported.
 33897  	IscsiSupported bool `xml:"iscsiSupported" json:"iscsiSupported"`
 33898  	// Is VLAN Tagging supported.
 33899  	VlanTaggingSupported bool `xml:"vlanTaggingSupported" json:"vlanTaggingSupported"`
 33900  	// Is NIC teaming supported.
 33901  	NicTeamingSupported bool `xml:"nicTeamingSupported" json:"nicTeamingSupported"`
 33902  	// Is high guest memory supported.
 33903  	HighGuestMemSupported bool `xml:"highGuestMemSupported" json:"highGuestMemSupported"`
 33904  	// Is maintenance mode supported
 33905  	MaintenanceModeSupported bool `xml:"maintenanceModeSupported" json:"maintenanceModeSupported"`
 33906  	// Indicates whether this host supports relocation of
 33907  	// suspended virtual machines.
 33908  	//
 33909  	// Must be true on the source
 33910  	// and destination hosts for the relocation to work.
 33911  	SuspendedRelocateSupported bool `xml:"suspendedRelocateSupported" json:"suspendedRelocateSupported"`
 33912  	// Indicates whether this host supports relocation of
 33913  	// virtual machines with snapshots.
 33914  	//
 33915  	// Must be true on the
 33916  	// source and destination hosts for the relocation to work.
 33917  	// Even if this is true, the following conditions must hold:
 33918  	// 1\) All the the vm's files are in one directory prior
 33919  	// to the relocate.
 33920  	// 2\) All of the vm's files will be in one directory
 33921  	// after the relocate.
 33922  	// 3\) The source and destination hosts are the same product
 33923  	// version.
 33924  	RestrictedSnapshotRelocateSupported bool `xml:"restrictedSnapshotRelocateSupported" json:"restrictedSnapshotRelocateSupported" vim:"2.5"`
 33925  	// Flag indicating whether virtual machine execution on this host involves
 33926  	// a swapfile for each virtual machine.
 33927  	//
 33928  	// If true, the swapfile placement
 33929  	// for a powered-on virtual machine is advertised in its FileLayout by
 33930  	// the `swapFile` property.
 33931  	PerVmSwapFiles bool `xml:"perVmSwapFiles" json:"perVmSwapFiles" vim:"2.5"`
 33932  	// Flag indicating whether the host supports selecting a datastore that
 33933  	// that may be used to store virtual machine swapfiles.
 33934  	LocalSwapDatastoreSupported bool `xml:"localSwapDatastoreSupported" json:"localSwapDatastoreSupported" vim:"2.5"`
 33935  	// Flag indicating whether the host supports participating in a VMotion
 33936  	// where the virtual machine swapfile is not visible to the destination.
 33937  	UnsharedSwapVMotionSupported bool `xml:"unsharedSwapVMotionSupported" json:"unsharedSwapVMotionSupported" vim:"2.5"`
 33938  	// Flag indicating whether background snapshots are supported on this host.
 33939  	BackgroundSnapshotsSupported bool `xml:"backgroundSnapshotsSupported" json:"backgroundSnapshotsSupported" vim:"2.5"`
 33940  	// Flag to indicate whether the server returns unit numbers in a
 33941  	// pre-assigned range for devices on the PCI bus.
 33942  	//
 33943  	// When the server supports this flag, the device unit number namespace is
 33944  	// partitioned by device type. Different types of devices will sit in
 33945  	// a specific range of unit numbers that may not correspond to physical
 33946  	// slots in the pci bus but present a relative ordering of the devices
 33947  	// with respect to other devices of the same type.
 33948  	// Note that this does not mean that the user can set the relative ordering
 33949  	// between device types, but only allows stable orderings between devices
 33950  	// of the same type. The unit number will now clearly represent an ordering
 33951  	// between devices of the same type.
 33952  	// `VirtualDevice.unitNumber`
 33953  	// This property is only available for devices on the pci controller.
 33954  	PreAssignedPCIUnitNumbersSupported bool `xml:"preAssignedPCIUnitNumbersSupported" json:"preAssignedPCIUnitNumbersSupported" vim:"2.5"`
 33955  	// Indicates whether the screenshot retrival over https is supported for this host's
 33956  	// virtual machines.
 33957  	//
 33958  	// If true, a screenshot can be retrieved at the HTTPS relative path
 33959  	// _/screen?id=&lt;managed object ID of virtual machine or snapshot&gt;_.
 33960  	// If any of the optional parameters 'top', 'left', 'bottom', and 'right' is
 33961  	// specified, the returned image will be cropped from the rectangle with upper left
 33962  	// corner (left, top) and bottom right corner (right - 1, bottom - 1). These values
 33963  	// default to the top, left, bottom and right edges of the image.
 33964  	// The client must use an authenticated session with privilege
 33965  	// VirtualMachine.Interact.ConsoleInteract on the requested virtual machine or,
 33966  	// in the case of a snapshot, the virtual machine associated with that snapshot.
 33967  	ScreenshotSupported bool `xml:"screenshotSupported" json:"screenshotSupported" vim:"2.5"`
 33968  	// Indicates whether scaling is supported for screenshots retrieved over https.
 33969  	//
 33970  	// If true, screenshot retrieval supports the additional optional
 33971  	// parameters 'width' and 'height'. After cropping, the returned image will be scaled
 33972  	// to these dimensions. If only one of these parameters is specified, default behavior
 33973  	// is to return an image roughly proportional to the source image.
 33974  	ScaledScreenshotSupported bool `xml:"scaledScreenshotSupported" json:"scaledScreenshotSupported" vim:"2.5"`
 33975  	// Indicates whether the storage of a powered-on virtual machine may be
 33976  	// relocated.
 33977  	StorageVMotionSupported *bool `xml:"storageVMotionSupported" json:"storageVMotionSupported,omitempty" vim:"4.0"`
 33978  	// Indicates whether the storage of a powered-on virtual machine may be
 33979  	// relocated while simultaneously changing the execution host of the
 33980  	// virtual machine.
 33981  	VmotionWithStorageVMotionSupported *bool `xml:"vmotionWithStorageVMotionSupported" json:"vmotionWithStorageVMotionSupported,omitempty" vim:"4.0"`
 33982  	// Indicates whether the network of a powered-on virtual machine can be
 33983  	// changed while simultaneously changing the execution host of the
 33984  	// virtual machine.
 33985  	VmotionAcrossNetworkSupported *bool `xml:"vmotionAcrossNetworkSupported" json:"vmotionAcrossNetworkSupported,omitempty" vim:"5.5"`
 33986  	// Maximum number of migrating disks allowed of a migrating VM during SVMotion.
 33987  	//
 33988  	// If this capability is not set, then the maximum is considered to be 64.
 33989  	MaxNumDisksSVMotion int32 `xml:"maxNumDisksSVMotion,omitempty" json:"maxNumDisksSVMotion,omitempty" vim:"6.0"`
 33990  	// Maximum version of vDiskVersion supported by this host.
 33991  	//
 33992  	// If this capability is not set, then the maximum is considered to be 6.
 33993  	MaxVirtualDiskDescVersionSupported int32 `xml:"maxVirtualDiskDescVersionSupported,omitempty" json:"maxVirtualDiskDescVersionSupported,omitempty" vim:"8.0.1.0"`
 33994  	// Indicates whether a dedicated nic can be selected for vSphere Replication
 33995  	// LWD traffic, i.e., from the primary host to the VR server.
 33996  	HbrNicSelectionSupported *bool `xml:"hbrNicSelectionSupported" json:"hbrNicSelectionSupported,omitempty" vim:"5.1"`
 33997  	// Indicates whether a dedicated nic can be selected for vSphere Replication
 33998  	// NFC traffic, i.e., from the VR server to the secondary host.
 33999  	VrNfcNicSelectionSupported *bool `xml:"vrNfcNicSelectionSupported" json:"vrNfcNicSelectionSupported,omitempty" vim:"6.0"`
 34000  	// Deprecated as of vSphere API 6.0.
 34001  	//
 34002  	// Indicates whether this host supports record and replay
 34003  	RecordReplaySupported *bool `xml:"recordReplaySupported" json:"recordReplaySupported,omitempty" vim:"4.0"`
 34004  	// Deprecated as of vSphere API 6.0.
 34005  	//
 34006  	// Indicates whether this host supports Fault Tolerance
 34007  	// There can be many reasons why a host does not support Fault
 34008  	// Tolerance, which includes CPU compatibility, product
 34009  	// compatibility as well as other host configuration settings.
 34010  	//
 34011  	// For specific reasons, look into
 34012  	// `HostCapability.replayCompatibilityIssues` and
 34013  	// `HostCapability.ftCompatibilityIssues`
 34014  	// In releases after vSphere API 5.0, vSphere Servers might not
 34015  	// generate property collector update notifications for this property.
 34016  	// To obtain the latest value of the property, you can use
 34017  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 34018  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 34019  	// an empty string for the version parameter.
 34020  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 34021  	// contain values for this property when some other property on the DataObject changes.
 34022  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 34023  	// version parameter, the value for this property may not be current.
 34024  	FtSupported *bool `xml:"ftSupported" json:"ftSupported,omitempty" vim:"4.0"`
 34025  	// Deprecated as of vSphere API 4.1, use
 34026  	// `HostCapability.replayCompatibilityIssues`.
 34027  	//
 34028  	// For a host whose CPU doesn't support replay, indicates the reason
 34029  	// for the incompatibility.
 34030  	//
 34031  	// `HostReplayUnsupportedReason_enum`
 34032  	// represents the set of possible values.
 34033  	ReplayUnsupportedReason string `xml:"replayUnsupportedReason,omitempty" json:"replayUnsupportedReason,omitempty" vim:"4.0"`
 34034  	// Deprecated as of vSphere API 6.0.
 34035  	//
 34036  	// For a host which doesn't support replay, indicates all the reasons
 34037  	// for the incompatibility.
 34038  	//
 34039  	// `HostReplayUnsupportedReason_enum`
 34040  	// lists the set of possible values.
 34041  	ReplayCompatibilityIssues []string `xml:"replayCompatibilityIssues,omitempty" json:"replayCompatibilityIssues,omitempty" vim:"4.1"`
 34042  	// Indicates whether this host supports smp fault tolerance
 34043  	SmpFtSupported *bool `xml:"smpFtSupported" json:"smpFtSupported,omitempty" vim:"6.0"`
 34044  	// Deprecated as of vSphere API 6.0.
 34045  	//
 34046  	// For a host which doesn't support Fault Tolerance, indicates all the reasons
 34047  	// for the incompatibility.
 34048  	//
 34049  	// `HostCapabilityFtUnsupportedReason_enum`
 34050  	// lists the set of possible values.
 34051  	FtCompatibilityIssues []string `xml:"ftCompatibilityIssues,omitempty" json:"ftCompatibilityIssues,omitempty" vim:"4.1"`
 34052  	// For a host which doesn't support smp fault tolerance, indicates all the
 34053  	// reasons for the incompatibility.
 34054  	//
 34055  	// `HostCapabilityFtUnsupportedReason_enum` lists the set of possible
 34056  	// values.
 34057  	SmpFtCompatibilityIssues []string `xml:"smpFtCompatibilityIssues,omitempty" json:"smpFtCompatibilityIssues,omitempty" vim:"6.0"`
 34058  	// The maximum number of vCPUs allowed for a fault-tolerant virtual machine.
 34059  	MaxVcpusPerFtVm int32 `xml:"maxVcpusPerFtVm,omitempty" json:"maxVcpusPerFtVm,omitempty" vim:"6.0"`
 34060  	// Flag indicating whether this host supports SSL thumbprint authentication
 34061  	LoginBySSLThumbprintSupported *bool `xml:"loginBySSLThumbprintSupported" json:"loginBySSLThumbprintSupported,omitempty" vim:"4.0"`
 34062  	// Indicates whether or not cloning a virtual machine from a snapshot
 34063  	// point is allowed.
 34064  	//
 34065  	// This property must be true on the host where the virtual machine
 34066  	// is currently residing. This property need not be true on the
 34067  	// destination host for the clone.
 34068  	//
 34069  	// See also `VirtualMachineCloneSpec.snapshot`.
 34070  	CloneFromSnapshotSupported *bool `xml:"cloneFromSnapshotSupported" json:"cloneFromSnapshotSupported,omitempty" vim:"4.0"`
 34071  	// Flag indicating whether explicitly creating arbirary configurations of
 34072  	// delta disk backings is supported.
 34073  	//
 34074  	// A delta disk backing is a way to preserve a virtual disk backing
 34075  	// at some point in time. A delta disk backing is a file backing which in
 34076  	// turn points to the original virtual disk backing (the parent). After a delta
 34077  	// disk backing is added, all writes go to the delta disk backing. All reads
 34078  	// first try the delta disk backing and then try the parent backing if needed.
 34079  	//
 34080  	// If this property is false, then delta disk backings can only be implicitly
 34081  	// created through using snapshot operations and two virtual machines cannot
 34082  	// safely share a parent disk backing.
 34083  	//
 34084  	// If this property is true, then delta disk backings can be explicitly created
 34085  	// and managed, and two virtual machines may safely share a parent disk backing.
 34086  	//
 34087  	// In the context above, "safely" means that performing operations on one of the
 34088  	// virtual machines will not affect the operation of the other virtual machine.
 34089  	//
 34090  	// See also `VirtualDiskSparseVer1BackingInfo.parent`, `VirtualDiskSparseVer2BackingInfo.parent`, `VirtualDiskFlatVer1BackingInfo.parent`, `VirtualDiskFlatVer2BackingInfo.parent`, `VirtualDiskRawDiskMappingVer1BackingInfo.parent`, `VirtualMachine.PromoteDisks_Task`, `VirtualMachineRelocateSpec.diskMoveType`, `VirtualMachineRelocateSpecDiskLocator.diskMoveType`.
 34091  	DeltaDiskBackingsSupported *bool `xml:"deltaDiskBackingsSupported" json:"deltaDiskBackingsSupported,omitempty" vim:"4.0"`
 34092  	// Indicates whether network traffic shaping on a
 34093  	// per virtual machine basis is supported.
 34094  	PerVMNetworkTrafficShapingSupported *bool `xml:"perVMNetworkTrafficShapingSupported" json:"perVMNetworkTrafficShapingSupported,omitempty" vim:"2.5 U2"`
 34095  	// Flag indicating whether this host supports the integrity measurement using
 34096  	// a TPM device.
 34097  	TpmSupported *bool `xml:"tpmSupported" json:"tpmSupported,omitempty" vim:"4.0"`
 34098  	// TPM version if supported by this host.
 34099  	TpmVersion string `xml:"tpmVersion,omitempty" json:"tpmVersion,omitempty" vim:"6.7"`
 34100  	// Flag indicating whether Intel TXT is enabled on this host.
 34101  	TxtEnabled *bool `xml:"txtEnabled" json:"txtEnabled,omitempty" vim:"6.7"`
 34102  	// Deprecated as of vSphere API 6.5 use
 34103  	// `featureCapability`.
 34104  	//
 34105  	// CPU feature set that is supported by the virtualization platform.
 34106  	//
 34107  	// This
 34108  	// feature set may reflect characteristics of the product capabilities and
 34109  	// licensing. For any feature marked '-', reference the
 34110  	// `cpuFeature` array of the host's
 34111  	// HardwareInfo to determine the correct value.
 34112  	SupportedCpuFeature []HostCpuIdInfo `xml:"supportedCpuFeature,omitempty" json:"supportedCpuFeature,omitempty" vim:"4.0"`
 34113  	// Indicates whether the host supports configuring hardware
 34114  	// virtualization (HV) support for virtual machines.
 34115  	VirtualExecUsageSupported *bool `xml:"virtualExecUsageSupported" json:"virtualExecUsageSupported,omitempty" vim:"4.0"`
 34116  	// Indicates whether the host supports storage I/O resource
 34117  	// management.
 34118  	StorageIORMSupported *bool `xml:"storageIORMSupported" json:"storageIORMSupported,omitempty" vim:"4.1"`
 34119  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 34120  	// there is no replacement.
 34121  	//
 34122  	// Indicates whether the host supports network passthrough using
 34123  	// VMDirectPath Gen 2.
 34124  	//
 34125  	// Note that this is a general capability for the host
 34126  	// and is independent of support by a given physical NIC. If false, the
 34127  	// reason(s) for lack of support will be provided in
 34128  	// `HostCapability.vmDirectPathGen2UnsupportedReason` and/or in
 34129  	// `HostCapability.vmDirectPathGen2UnsupportedReasonExtended`.
 34130  	//
 34131  	// See also `PhysicalNic.vmDirectPathGen2Supported`.
 34132  	VmDirectPathGen2Supported *bool `xml:"vmDirectPathGen2Supported" json:"vmDirectPathGen2Supported,omitempty" vim:"4.1"`
 34133  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 34134  	// there is no replacement.
 34135  	//
 34136  	// If `HostCapability.vmDirectPathGen2Supported` is false, this array will be
 34137  	// populated with reasons for the lack of support (chosen from
 34138  	// `HostCapabilityVmDirectPathGen2UnsupportedReason_enum`).
 34139  	//
 34140  	// If there is a reason for
 34141  	// the lack of support that cannot be described by the available constants,
 34142  	// `HostCapability.vmDirectPathGen2UnsupportedReasonExtended` will be populated
 34143  	// with an additional explanation provided by the platform.
 34144  	//
 34145  	// Note that this list of reasons is not guaranteed to be exhaustive.
 34146  	//
 34147  	// If the reason "hostNptIncompatibleProduct" is provided, then that will
 34148  	// be the only provided reason, as the host software is incapable of
 34149  	// providing additional information.
 34150  	VmDirectPathGen2UnsupportedReason []string `xml:"vmDirectPathGen2UnsupportedReason,omitempty" json:"vmDirectPathGen2UnsupportedReason,omitempty" vim:"4.1"`
 34151  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 34152  	// there is no replacement.
 34153  	//
 34154  	// If `HostCapability.vmDirectPathGen2Supported` is false, this property may
 34155  	// contain an explanation provided by the platform, beyond the reasons (if
 34156  	// any) enumerated in `HostCapability.vmDirectPathGen2UnsupportedReason`.
 34157  	VmDirectPathGen2UnsupportedReasonExtended string `xml:"vmDirectPathGen2UnsupportedReasonExtended,omitempty" json:"vmDirectPathGen2UnsupportedReasonExtended,omitempty" vim:"4.1"`
 34158  	// List of VMFS major versions supported by the host.
 34159  	SupportedVmfsMajorVersion []int32 `xml:"supportedVmfsMajorVersion,omitempty" json:"supportedVmfsMajorVersion,omitempty" vim:"5.0"`
 34160  	// Indicates whether the host supports vStorage Hardware
 34161  	// acceleration.
 34162  	VStorageCapable *bool `xml:"vStorageCapable" json:"vStorageCapable,omitempty" vim:"4.1"`
 34163  	// Indicates whether this host supports unrestricted relocation of virtual
 34164  	// machines with snapshots.
 34165  	//
 34166  	// Only needs to be true on the destination host for
 34167  	// the unrestricted relocation to work. The full snapshot relocation does not
 34168  	// restrict the layout of snapshot files or disks of the virtual machine, nor
 34169  	// its power state. If the virtual machine is powered on, a storage vmotion
 34170  	// will be performed to relocate its snapshots and disks.
 34171  	SnapshotRelayoutSupported *bool `xml:"snapshotRelayoutSupported" json:"snapshotRelayoutSupported,omitempty" vim:"5.0"`
 34172  	// Indicates whether this host supports ip address based restrictions in
 34173  	// the firewall configuration.
 34174  	FirewallIpRulesSupported *bool `xml:"firewallIpRulesSupported" json:"firewallIpRulesSupported,omitempty" vim:"5.0"`
 34175  	// Indicates whether this host supports package information in service
 34176  	// configuration.
 34177  	ServicePackageInfoSupported *bool `xml:"servicePackageInfoSupported" json:"servicePackageInfoSupported,omitempty" vim:"5.0"`
 34178  	// The maximum number of virtual machines that can be run on the host.
 34179  	//
 34180  	// An unset value indicates that the value could not be obtained. In contrast
 34181  	// to `HostCapability.maxRunningVMs`, this value is the minimum of (i) the maximum
 34182  	// number supported by the hardware and (ii) the maximum number permitted by
 34183  	// the host license.
 34184  	MaxHostRunningVms int32 `xml:"maxHostRunningVms,omitempty" json:"maxHostRunningVms,omitempty" vim:"5.0"`
 34185  	// The maximum number of virtual CPUs that can be run on the host.
 34186  	//
 34187  	// An unset
 34188  	// value indicates that the value could not be obtained. In contrast to
 34189  	// `HostCapability.maxSupportedVcpus`, this value is the minimum of (i) the maximum
 34190  	// number supported by the hardware and (ii) the maximum number permitted by
 34191  	// the host license.
 34192  	MaxHostSupportedVcpus int32 `xml:"maxHostSupportedVcpus,omitempty" json:"maxHostSupportedVcpus,omitempty" vim:"5.0"`
 34193  	// Indicates whether the host is capable of mounting/unmounting
 34194  	// VMFS datastores.
 34195  	VmfsDatastoreMountCapable *bool `xml:"vmfsDatastoreMountCapable" json:"vmfsDatastoreMountCapable,omitempty" vim:"5.0"`
 34196  	// Indicates whether the host is capable of accessing a VMFS disk
 34197  	// when there are eight or more hosts accessing the disk already.
 34198  	EightPlusHostVmfsSharedAccessSupported *bool `xml:"eightPlusHostVmfsSharedAccessSupported" json:"eightPlusHostVmfsSharedAccessSupported,omitempty" vim:"5.1"`
 34199  	// Indicates whether the host supports nested hardware-assisted virtualization.
 34200  	NestedHVSupported *bool `xml:"nestedHVSupported" json:"nestedHVSupported,omitempty" vim:"5.1"`
 34201  	// Indicates whether the host supports virtual CPU performance counters.
 34202  	VPMCSupported *bool `xml:"vPMCSupported" json:"vPMCSupported,omitempty" vim:"5.1"`
 34203  	// Indicates whether the host supports VMCI for communication
 34204  	// between virtual machines.
 34205  	InterVMCommunicationThroughVMCISupported *bool `xml:"interVMCommunicationThroughVMCISupported" json:"interVMCommunicationThroughVMCISupported,omitempty" vim:"5.1"`
 34206  	// Indicates whether the host supports scheduled hardware upgrades.
 34207  	//
 34208  	// See also `VirtualMachineConfigInfo.scheduledHardwareUpgradeInfo`.
 34209  	ScheduledHardwareUpgradeSupported *bool `xml:"scheduledHardwareUpgradeSupported" json:"scheduledHardwareUpgradeSupported,omitempty" vim:"5.1"`
 34210  	// Indicated whether the host supports feature capabilities
 34211  	// for EVC mode.
 34212  	FeatureCapabilitiesSupported *bool `xml:"featureCapabilitiesSupported" json:"featureCapabilitiesSupported,omitempty" vim:"5.1"`
 34213  	// Indicates whether the host supports latency sensitivity for the
 34214  	// virtual machines.
 34215  	LatencySensitivitySupported *bool `xml:"latencySensitivitySupported" json:"latencySensitivitySupported,omitempty" vim:"5.1"`
 34216  	// Indicates that host supports Object-based Storage System and
 34217  	// Storage-Profile based disk provisioning.
 34218  	StoragePolicySupported *bool `xml:"storagePolicySupported" json:"storagePolicySupported,omitempty" vim:"5.5"`
 34219  	// Indicates if 3D hardware acceleration for virtual machines is supported.
 34220  	Accel3dSupported *bool `xml:"accel3dSupported" json:"accel3dSupported,omitempty" vim:"5.1"`
 34221  	// Indicates that this host uses a reliable memory aware allocation policy.
 34222  	ReliableMemoryAware *bool `xml:"reliableMemoryAware" json:"reliableMemoryAware,omitempty" vim:"5.5"`
 34223  	// Indicates whether the host supports Multiple Instance TCP/IP stack
 34224  	MultipleNetworkStackInstanceSupported *bool `xml:"multipleNetworkStackInstanceSupported" json:"multipleNetworkStackInstanceSupported,omitempty" vim:"5.5"`
 34225  	// Indicates whether the message bus proxy is supported
 34226  	MessageBusProxySupported *bool `xml:"messageBusProxySupported" json:"messageBusProxySupported,omitempty" vim:"6.0"`
 34227  	// Indicates whether the host supports VSAN functionality.
 34228  	//
 34229  	// See also `HostVsanSystem`.
 34230  	VsanSupported *bool `xml:"vsanSupported" json:"vsanSupported,omitempty" vim:"5.5"`
 34231  	// Indicates whether the host supports vFlash.
 34232  	VFlashSupported *bool `xml:"vFlashSupported" json:"vFlashSupported,omitempty" vim:"5.5"`
 34233  	// Whether this host supports HostAccessManager for controlling direct
 34234  	// access to the host and for better lockdown mode management.
 34235  	HostAccessManagerSupported *bool `xml:"hostAccessManagerSupported" json:"hostAccessManagerSupported,omitempty" vim:"6.0"`
 34236  	// Indicates whether a dedicated nic can be selected for vSphere Provisioning
 34237  	// NFC traffic.
 34238  	ProvisioningNicSelectionSupported *bool `xml:"provisioningNicSelectionSupported" json:"provisioningNicSelectionSupported,omitempty" vim:"6.0"`
 34239  	// Whether this host supports NFS41 file systems.
 34240  	Nfs41Supported *bool `xml:"nfs41Supported" json:"nfs41Supported,omitempty" vim:"6.0"`
 34241  	// Whether this host support NFS41 Kerberos 5\* security type.
 34242  	Nfs41Krb5iSupported *bool `xml:"nfs41Krb5iSupported" json:"nfs41Krb5iSupported,omitempty" vim:"6.5"`
 34243  	// Indicates whether turning on/off local disk LED is supported
 34244  	// on the host.
 34245  	//
 34246  	// See also `HostStorageSystem.TurnDiskLocatorLedOn_Task`, `HostStorageSystem.TurnDiskLocatorLedOff_Task`.
 34247  	TurnDiskLocatorLedSupported *bool `xml:"turnDiskLocatorLedSupported" json:"turnDiskLocatorLedSupported,omitempty" vim:"6.0"`
 34248  	// Indicates whether this host supports VirtualVolume based Datastore.
 34249  	VirtualVolumeDatastoreSupported *bool `xml:"virtualVolumeDatastoreSupported" json:"virtualVolumeDatastoreSupported,omitempty" vim:"6.0"`
 34250  	// Indicates whether mark disk as SSD or Non-SSD is supported
 34251  	// on the host.
 34252  	//
 34253  	// See also `HostStorageSystem.MarkAsSsd_Task`, `HostStorageSystem.MarkAsNonSsd_Task`.
 34254  	MarkAsSsdSupported *bool `xml:"markAsSsdSupported" json:"markAsSsdSupported,omitempty" vim:"6.0"`
 34255  	// Indicates whether mark disk as local or remote is supported
 34256  	// on the host.
 34257  	//
 34258  	// See also `HostStorageSystem.MarkAsLocal_Task`, `HostStorageSystem.MarkAsNonLocal_Task`.
 34259  	MarkAsLocalSupported *bool `xml:"markAsLocalSupported" json:"markAsLocalSupported,omitempty" vim:"6.0"`
 34260  	// Indicates whether this host supports local two-factor user
 34261  	// authentication using smart cards.
 34262  	//
 34263  	// See also `HostActiveDirectoryAuthentication.EnableSmartCardAuthentication`.
 34264  	SmartCardAuthenticationSupported *bool `xml:"smartCardAuthenticationSupported" json:"smartCardAuthenticationSupported,omitempty" vim:"6.0"`
 34265  	// Indicates whether this host supports persistent memory.
 34266  	//
 34267  	// If value is not specified, it should be considered as not supported.
 34268  	PMemSupported *bool `xml:"pMemSupported" json:"pMemSupported,omitempty" vim:"6.7"`
 34269  	// Indicates whether this host supports snapshots for VMs with virtual
 34270  	// devices backed by persistent memory.
 34271  	//
 34272  	// If value is not specified, it should be considered as not supported.
 34273  	PMemSnapshotSupported *bool `xml:"pMemSnapshotSupported" json:"pMemSnapshotSupported,omitempty" vim:"6.7"`
 34274  	// Flag indicating whether Cryptographer feature is supported.
 34275  	CryptoSupported *bool `xml:"cryptoSupported" json:"cryptoSupported,omitempty" vim:"6.5"`
 34276  	// Indicates whether this host supports granular datastore cache update.
 34277  	//
 34278  	// If value is not specified, it should be considered as not supported.
 34279  	OneKVolumeAPIsSupported *bool `xml:"oneKVolumeAPIsSupported" json:"oneKVolumeAPIsSupported,omitempty" vim:"6.5"`
 34280  	// Flag indicating whether default gateway can be configured on a
 34281  	// vmkernel nic.
 34282  	GatewayOnNicSupported *bool `xml:"gatewayOnNicSupported" json:"gatewayOnNicSupported,omitempty" vim:"6.5"`
 34283  	// Deprecated as of vSphere API 8.0, and there is no replacement for it.
 34284  	//
 34285  	// Indicate whether this host supports UPIT
 34286  	UpitSupported *bool `xml:"upitSupported" json:"upitSupported,omitempty" vim:"6.5"`
 34287  	// Indicates whether this host supports hardware-based MMU virtualization.
 34288  	CpuHwMmuSupported *bool `xml:"cpuHwMmuSupported" json:"cpuHwMmuSupported,omitempty" vim:"6.5"`
 34289  	// Indicates whether this host supports encrypted vMotion.
 34290  	EncryptedVMotionSupported *bool `xml:"encryptedVMotionSupported" json:"encryptedVMotionSupported,omitempty" vim:"6.5"`
 34291  	// Indicates whether this host supports changing the encryption state
 34292  	// of a virtual disk when the disk is being added or removed from a
 34293  	// virtual machine configuration.
 34294  	EncryptionChangeOnAddRemoveSupported *bool `xml:"encryptionChangeOnAddRemoveSupported" json:"encryptionChangeOnAddRemoveSupported,omitempty" vim:"6.5"`
 34295  	// Indicates whether this host supports changing the encryption state
 34296  	// of a virtual machine, or virtual disk, while the virtual machine
 34297  	// is powered on.
 34298  	EncryptionHotOperationSupported *bool `xml:"encryptionHotOperationSupported" json:"encryptionHotOperationSupported,omitempty" vim:"6.5"`
 34299  	// Indicates whether this host supports changing the encryption state
 34300  	// state of a virtual machine, or virtual disk, while the virtual
 34301  	// machine has snapshots present.
 34302  	EncryptionWithSnapshotsSupported *bool `xml:"encryptionWithSnapshotsSupported" json:"encryptionWithSnapshotsSupported,omitempty" vim:"6.5"`
 34303  	// Indicates whether this host supports enabling Fault Tolerance on
 34304  	// encrypted virtual machines.
 34305  	EncryptionFaultToleranceSupported *bool `xml:"encryptionFaultToleranceSupported" json:"encryptionFaultToleranceSupported,omitempty" vim:"6.5"`
 34306  	// Indicates whether this host supports suspending, or creating
 34307  	// with-memory snapshots, encrypted virtual machines.
 34308  	EncryptionMemorySaveSupported *bool `xml:"encryptionMemorySaveSupported" json:"encryptionMemorySaveSupported,omitempty" vim:"6.5"`
 34309  	// Indicates whether this host supports encrypting RDM backed virtual
 34310  	// disks.
 34311  	EncryptionRDMSupported *bool `xml:"encryptionRDMSupported" json:"encryptionRDMSupported,omitempty" vim:"6.5"`
 34312  	// Indicates whether this host supports encrypting virtual disks with
 34313  	// vFlash cache enabled.
 34314  	EncryptionVFlashSupported *bool `xml:"encryptionVFlashSupported" json:"encryptionVFlashSupported,omitempty" vim:"6.5"`
 34315  	// Indicates whether this host supports encrypting virtual disks with
 34316  	// Content Based Read Cache (digest disks) enabled.
 34317  	EncryptionCBRCSupported *bool `xml:"encryptionCBRCSupported" json:"encryptionCBRCSupported,omitempty" vim:"6.5"`
 34318  	// Indicates whether this host supports encrypting virtual disks with
 34319  	// Host Based Replication enabled.
 34320  	EncryptionHBRSupported *bool `xml:"encryptionHBRSupported" json:"encryptionHBRSupported,omitempty" vim:"6.5"`
 34321  	// Indicates whether this host supports Fault Tolerance VMs that have
 34322  	// specified UEFI firmware.
 34323  	FtEfiSupported *bool `xml:"ftEfiSupported" json:"ftEfiSupported,omitempty" vim:"6.7"`
 34324  	// Indicates which kind of VMFS unmap method is supported.
 34325  	//
 34326  	// See
 34327  	// `HostCapabilityUnmapMethodSupported_enum`
 34328  	UnmapMethodSupported string `xml:"unmapMethodSupported,omitempty" json:"unmapMethodSupported,omitempty" vim:"6.7"`
 34329  	// Indicates maximum memory allowed for Fault Tolerance virtual machine.
 34330  	MaxMemMBPerFtVm int32 `xml:"maxMemMBPerFtVm,omitempty" json:"maxMemMBPerFtVm,omitempty" vim:"6.7"`
 34331  	// Indicates that `VirtualMachineFlagInfo.virtualMmuUsage` is
 34332  	// ignored by the host, always operating as if "on" was selected.
 34333  	VirtualMmuUsageIgnored *bool `xml:"virtualMmuUsageIgnored" json:"virtualMmuUsageIgnored,omitempty" vim:"6.7"`
 34334  	// Indicates that `VirtualMachineFlagInfo.virtualExecUsage` is
 34335  	// ignored by the host, always operating as if "hvOn" was selected.
 34336  	VirtualExecUsageIgnored *bool `xml:"virtualExecUsageIgnored" json:"virtualExecUsageIgnored,omitempty" vim:"6.7"`
 34337  	// Indicates that createDate feature is supported by the host.
 34338  	VmCreateDateSupported *bool `xml:"vmCreateDateSupported" json:"vmCreateDateSupported,omitempty" vim:"6.7"`
 34339  	// Indicates whether this host supports VMFS-3 EOL.
 34340  	//
 34341  	// If value is not specified, it should be considered as not supported.
 34342  	Vmfs3EOLSupported *bool `xml:"vmfs3EOLSupported" json:"vmfs3EOLSupported,omitempty" vim:"6.7"`
 34343  	// Indicates whether this host supports VMCP for Fault Tolerance VMs.
 34344  	FtVmcpSupported *bool `xml:"ftVmcpSupported" json:"ftVmcpSupported,omitempty" vim:"6.7"`
 34345  	// Indicates whether this host supports the LoadESX feature
 34346  	// which allows faster reboots.
 34347  	//
 34348  	// See also `HostLoadEsxManager.QueryLoadEsxSupported`.
 34349  	QuickBootSupported *bool `xml:"quickBootSupported" json:"quickBootSupported,omitempty" vim:"6.7.1"`
 34350  	// Indicates whether this host supports encrypted Fault Tolerance.
 34351  	EncryptedFtSupported *bool `xml:"encryptedFtSupported" json:"encryptedFtSupported,omitempty" vim:"7.0.2.0"`
 34352  	// Indicates whether this host supports Assignable Hardware.
 34353  	AssignableHardwareSupported *bool `xml:"assignableHardwareSupported" json:"assignableHardwareSupported,omitempty" vim:"7.0"`
 34354  	// Indicates whether this host supports suspending virtual machines to memory.
 34355  	SuspendToMemorySupported *bool `xml:"suspendToMemorySupported" json:"suspendToMemorySupported,omitempty" vim:"7.0.2.0"`
 34356  	// Indicates whether this host uses vmFeatures for compatibility checking
 34357  	// of old (&leq;8) virtual hardware version VMs.
 34358  	UseFeatureReqsForOldHWv *bool `xml:"useFeatureReqsForOldHWv" json:"useFeatureReqsForOldHWv,omitempty" vim:"6.8.7"`
 34359  	// Indicates whether this host supports marking specified LUN as
 34360  	// perennially reserved.
 34361  	MarkPerenniallyReservedSupported *bool `xml:"markPerenniallyReservedSupported" json:"markPerenniallyReservedSupported,omitempty" vim:"6.7.2"`
 34362  	// Indicates whether this host supports HPP path selection policy
 34363  	// settings.
 34364  	HppPspSupported *bool `xml:"hppPspSupported" json:"hppPspSupported,omitempty" vim:"7.0"`
 34365  	// Indicates whether device rebind without reboot is supported.
 34366  	//
 34367  	// This is
 34368  	// the capability which enables PCI passthrough and SR-IOV configuration
 34369  	// without reboot.
 34370  	DeviceRebindWithoutRebootSupported *bool `xml:"deviceRebindWithoutRebootSupported" json:"deviceRebindWithoutRebootSupported,omitempty" vim:"7.0"`
 34371  	// Indicates whether this host supports storage policy change.
 34372  	StoragePolicyChangeSupported *bool `xml:"storagePolicyChangeSupported" json:"storagePolicyChangeSupported,omitempty" vim:"7.0"`
 34373  	// Indicates whether this host supports date time synchronization over
 34374  	// Precision Time Protocol (PTP).
 34375  	PrecisionTimeProtocolSupported *bool `xml:"precisionTimeProtocolSupported" json:"precisionTimeProtocolSupported,omitempty" vim:"7.0"`
 34376  	// Indicates whether vMotion of a VM with remote devices attached is
 34377  	// supported.
 34378  	//
 34379  	// This applies to CD-ROM and floppy devices backed by a
 34380  	// remote client.
 34381  	RemoteDeviceVMotionSupported *bool `xml:"remoteDeviceVMotionSupported" json:"remoteDeviceVMotionSupported,omitempty" vim:"7.0"`
 34382  	// The maximum amount of virtual memory supported per virtual machine.
 34383  	//
 34384  	// If this capability is not set, the size is limited by hardware version
 34385  	// of the virtual machine only.
 34386  	MaxSupportedVmMemory int32 `xml:"maxSupportedVmMemory,omitempty" json:"maxSupportedVmMemory,omitempty" vim:"7.0"`
 34387  	// Indicates if the host supports Assignable Hardware device hints.
 34388  	AhDeviceHintsSupported *bool `xml:"ahDeviceHintsSupported" json:"ahDeviceHintsSupported,omitempty" vim:"7.0.2.0"`
 34389  	// Indicates if access to NVMe over TCP devices is supported.
 34390  	NvmeOverTcpSupported *bool `xml:"nvmeOverTcpSupported" json:"nvmeOverTcpSupported,omitempty" vim:"7.0.3.0"`
 34391  	// Indicates whether NVMe Storage Fabrics Services (StFS) are supported.
 34392  	NvmeStorageFabricServicesSupported *bool `xml:"nvmeStorageFabricServicesSupported" json:"nvmeStorageFabricServicesSupported,omitempty" vim:"7.0.3.0"`
 34393  	// Indicates if setting hardwareLabel using PciPassThrough is supported.
 34394  	AssignHwPciConfigSupported *bool `xml:"assignHwPciConfigSupported" json:"assignHwPciConfigSupported,omitempty" vim:"7.0.2.0"`
 34395  	// Indicates whether advanced timekeeping apis are supported
 34396  	TimeConfigSupported *bool `xml:"timeConfigSupported" json:"timeConfigSupported,omitempty" vim:"7.0.3.0"`
 34397  	// Indicates whether batch NVMe controller connection/disconnection is supported.
 34398  	//
 34399  	// See `HostStorageSystem.ConnectNvmeControllerEx_Task` and
 34400  	// `HostStorageSystem.DisconnectNvmeControllerEx_Task`.
 34401  	NvmeBatchOperationsSupported *bool `xml:"nvmeBatchOperationsSupported" json:"nvmeBatchOperationsSupported,omitempty" vim:"7.0.3.0"`
 34402  	// Indicates whether this host supports failover for VMs with virtual
 34403  	// devices backed by persistent memory.
 34404  	//
 34405  	// If value is not specified, it should be considered as not supported.
 34406  	PMemFailoverSupported *bool `xml:"pMemFailoverSupported" json:"pMemFailoverSupported,omitempty" vim:"7.0.2.0"`
 34407  	// Indicates whether this host supports host configuration encryption.
 34408  	HostConfigEncryptionSupported *bool `xml:"hostConfigEncryptionSupported" json:"hostConfigEncryptionSupported,omitempty" vim:"7.0.2.0"`
 34409  	// Max supported number of SMT (Simultaneous multithreading) threads.
 34410  	//
 34411  	// If value is not specified, it should be considered as not supported.
 34412  	MaxSupportedSimultaneousThreads int32 `xml:"maxSupportedSimultaneousThreads,omitempty" json:"maxSupportedSimultaneousThreads,omitempty" vim:"8.0.0.1"`
 34413  	// Indicates whether this host supports PTP (Precision Time Protocol)
 34414  	// service configuration.
 34415  	//
 34416  	// See `HostPtpConfig`. If value is
 34417  	// not specified, it should be considered as not supported.
 34418  	PtpConfigSupported *bool `xml:"ptpConfigSupported" json:"ptpConfigSupported,omitempty" vim:"7.0.3.0"`
 34419  	// Number of PTP (Precision Time Protocol) ports supported by this
 34420  	// host (See `HostPtpConfig`).
 34421  	//
 34422  	// If this capability is not
 34423  	// set, number of PTP ports in the host is 0.
 34424  	MaxSupportedPtpPorts int32 `xml:"maxSupportedPtpPorts,omitempty" json:"maxSupportedPtpPorts,omitempty" vim:"7.0.3.0"`
 34425  	// Indicates whether this host supports SGX registration.
 34426  	SgxRegistrationSupported *bool `xml:"sgxRegistrationSupported" json:"sgxRegistrationSupported,omitempty" vim:"8.0.0.1"`
 34427  	// Indicates whether this host supports snapshots of VMs configured
 34428  	// with independent vNVDIMMs.
 34429  	//
 34430  	// If value is not specified, it should be considered as not supported.
 34431  	// This support does not depend on `HostCapability.pMemSnapshotSupported`.
 34432  	PMemIndependentSnapshotSupported *bool `xml:"pMemIndependentSnapshotSupported" json:"pMemIndependentSnapshotSupported,omitempty" vim:"7.0.3.0"`
 34433  	// Indicates whether this host's IOMMUs are capable of tracking pages
 34434  	// written by device DMAs using dirty bits in the second-level page
 34435  	// tables.
 34436  	//
 34437  	// If this value is not specified, it should be considered as
 34438  	// not capable.
 34439  	IommuSLDirtyCapable *bool `xml:"iommuSLDirtyCapable" json:"iommuSLDirtyCapable,omitempty" vim:"8.0.0.1"`
 34440  	// Indicates whether vmknic binding is supported over this host.
 34441  	VmknicBindingSupported *bool `xml:"vmknicBindingSupported" json:"vmknicBindingSupported,omitempty" vim:"8.0.1.0"`
 34442  	// Indicates whether ultralow fixed unmap bandwidth is supported on this host.
 34443  	UltralowFixedUnmapSupported *bool `xml:"ultralowFixedUnmapSupported" json:"ultralowFixedUnmapSupported,omitempty" vim:"8.0.0.1"`
 34444  	// Indicates whether mounting of NVMe vvol is supported on this host.
 34445  	NvmeVvolSupported *bool `xml:"nvmeVvolSupported" json:"nvmeVvolSupported,omitempty" vim:"8.0.0.0"`
 34446  	// Indicates whether FPT Hotplug is supported on this host.
 34447  	FptHotplugSupported *bool `xml:"fptHotplugSupported" json:"fptHotplugSupported,omitempty" vim:"8.0.1.0"`
 34448  	// Indicates whether MCONNECT is supported on this host.
 34449  	MconnectSupported *bool `xml:"mconnectSupported" json:"mconnectSupported,omitempty" vim:"8.0.1.0"`
 34450  	// Indicates whether vSAN nic types can be managed by VirtualNicManager.
 34451  	VsanNicMgmtSupported *bool `xml:"vsanNicMgmtSupported" json:"vsanNicMgmtSupported,omitempty" vim:"8.0.2.0"`
 34452  	// Indicates whether vVol NQN is supported on this host.
 34453  	VvolNQNSupported *bool `xml:"vvolNQNSupported" json:"vvolNQNSupported,omitempty" vim:"8.0.2.0"`
 34454  }
 34455  
 34456  func init() {
 34457  	t["HostCapability"] = reflect.TypeOf((*HostCapability)(nil)).Elem()
 34458  }
 34459  
 34460  // This data object is used to encapsulate the X509 certificate metadata.
 34461  type HostCertificateManagerCertificateInfo struct {
 34462  	DynamicData
 34463  
 34464  	// Certificate kind, if unset the certificate is Machine certificate
 34465  	// The list of supported values can be found in `HostCertificateManagerCertificateKind_enum`
 34466  	Kind string `xml:"kind,omitempty" json:"kind,omitempty" vim:"8.0.1.0"`
 34467  	// The issuer of the certificate.
 34468  	Issuer string `xml:"issuer,omitempty" json:"issuer,omitempty"`
 34469  	// The validity of the certificate.
 34470  	NotBefore *time.Time `xml:"notBefore" json:"notBefore,omitempty"`
 34471  	NotAfter  *time.Time `xml:"notAfter" json:"notAfter,omitempty"`
 34472  	// The subject of the certificate.
 34473  	Subject string `xml:"subject,omitempty" json:"subject,omitempty"`
 34474  	// The status of the certificate in vCenter Server.
 34475  	//
 34476  	// The possible values for status are as
 34477  	// described in `HostCertificateManagerCertificateInfoCertificateStatus_enum`.
 34478  	// If queried directly from an ESX host, the property is set to
 34479  	// `unknown`.
 34480  	Status string `xml:"status" json:"status"`
 34481  }
 34482  
 34483  func init() {
 34484  	t["HostCertificateManagerCertificateInfo"] = reflect.TypeOf((*HostCertificateManagerCertificateInfo)(nil)).Elem()
 34485  	minAPIVersionForType["HostCertificateManagerCertificateInfo"] = "6.0"
 34486  }
 34487  
 34488  // Represents certificate specification used for
 34489  // identifying a specific certificate supported by Host.
 34490  type HostCertificateManagerCertificateSpec struct {
 34491  	DynamicData
 34492  
 34493  	// The list of supported values can be found in `HostCertificateManagerCertificateKind_enum`
 34494  	Kind string `xml:"kind" json:"kind"`
 34495  }
 34496  
 34497  func init() {
 34498  	t["HostCertificateManagerCertificateSpec"] = reflect.TypeOf((*HostCertificateManagerCertificateSpec)(nil)).Elem()
 34499  	minAPIVersionForType["HostCertificateManagerCertificateSpec"] = "8.0.1.0"
 34500  }
 34501  
 34502  type HostClearVStorageObjectControlFlags HostClearVStorageObjectControlFlagsRequestType
 34503  
 34504  func init() {
 34505  	t["HostClearVStorageObjectControlFlags"] = reflect.TypeOf((*HostClearVStorageObjectControlFlags)(nil)).Elem()
 34506  }
 34507  
 34508  // The parameters of `HostVStorageObjectManager.HostClearVStorageObjectControlFlags`.
 34509  type HostClearVStorageObjectControlFlagsRequestType struct {
 34510  	This ManagedObjectReference `xml:"_this" json:"-"`
 34511  	// The ID of the virtual storage object.
 34512  	Id ID `xml:"id" json:"id"`
 34513  	// The datastore where the source virtual storage
 34514  	// object is located.
 34515  	//
 34516  	// Required privileges: Datastore.FileManagement
 34517  	//
 34518  	// Refers instance of `Datastore`.
 34519  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 34520  	// control flags enum array to be cleared on the
 34521  	// VStorageObject. All control flags not included
 34522  	// in the array remain intact.
 34523  	ControlFlags []string `xml:"controlFlags,omitempty" json:"controlFlags,omitempty"`
 34524  }
 34525  
 34526  func init() {
 34527  	t["HostClearVStorageObjectControlFlagsRequestType"] = reflect.TypeOf((*HostClearVStorageObjectControlFlagsRequestType)(nil)).Elem()
 34528  }
 34529  
 34530  type HostClearVStorageObjectControlFlagsResponse struct {
 34531  }
 34532  
 34533  // The parameters of `HostVStorageObjectManager.HostCloneVStorageObject_Task`.
 34534  type HostCloneVStorageObjectRequestType struct {
 34535  	This ManagedObjectReference `xml:"_this" json:"-"`
 34536  	// The ID of the virtual storage object.
 34537  	Id ID `xml:"id" json:"id"`
 34538  	// The datastore where the source virtual storage
 34539  	// object is located.
 34540  	//
 34541  	// Refers instance of `Datastore`.
 34542  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 34543  	// The specification for cloning the virtual storage
 34544  	// object.
 34545  	Spec VslmCloneSpec `xml:"spec" json:"spec"`
 34546  }
 34547  
 34548  func init() {
 34549  	t["HostCloneVStorageObjectRequestType"] = reflect.TypeOf((*HostCloneVStorageObjectRequestType)(nil)).Elem()
 34550  }
 34551  
 34552  type HostCloneVStorageObject_Task HostCloneVStorageObjectRequestType
 34553  
 34554  func init() {
 34555  	t["HostCloneVStorageObject_Task"] = reflect.TypeOf((*HostCloneVStorageObject_Task)(nil)).Elem()
 34556  }
 34557  
 34558  type HostCloneVStorageObject_TaskResponse struct {
 34559  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 34560  }
 34561  
 34562  // This event records a failure to connect to a host
 34563  // due to a failure to set up a management account.
 34564  type HostCnxFailedAccountFailedEvent struct {
 34565  	HostEvent
 34566  }
 34567  
 34568  func init() {
 34569  	t["HostCnxFailedAccountFailedEvent"] = reflect.TypeOf((*HostCnxFailedAccountFailedEvent)(nil)).Elem()
 34570  }
 34571  
 34572  // This event records a failure to connect to a host
 34573  // due to the host being managed by a different VirtualCenter server.
 34574  type HostCnxFailedAlreadyManagedEvent struct {
 34575  	HostEvent
 34576  
 34577  	// The name of the VirtualCenter server that manages the host.
 34578  	ServerName string `xml:"serverName" json:"serverName"`
 34579  }
 34580  
 34581  func init() {
 34582  	t["HostCnxFailedAlreadyManagedEvent"] = reflect.TypeOf((*HostCnxFailedAlreadyManagedEvent)(nil)).Elem()
 34583  }
 34584  
 34585  // This event records a failure to connect to a host
 34586  // due to no response being received from the host agent.
 34587  type HostCnxFailedBadCcagentEvent struct {
 34588  	HostEvent
 34589  }
 34590  
 34591  func init() {
 34592  	t["HostCnxFailedBadCcagentEvent"] = reflect.TypeOf((*HostCnxFailedBadCcagentEvent)(nil)).Elem()
 34593  }
 34594  
 34595  // This event records a failure to connect to a host
 34596  // due to an invalid user name and password combination.
 34597  type HostCnxFailedBadUsernameEvent struct {
 34598  	HostEvent
 34599  }
 34600  
 34601  func init() {
 34602  	t["HostCnxFailedBadUsernameEvent"] = reflect.TypeOf((*HostCnxFailedBadUsernameEvent)(nil)).Elem()
 34603  }
 34604  
 34605  // This event records a failure to connect to a host
 34606  // due to an incompatible client version.
 34607  type HostCnxFailedBadVersionEvent struct {
 34608  	HostEvent
 34609  }
 34610  
 34611  func init() {
 34612  	t["HostCnxFailedBadVersionEvent"] = reflect.TypeOf((*HostCnxFailedBadVersionEvent)(nil)).Elem()
 34613  }
 34614  
 34615  // This event records a failure to connect to a host
 34616  // due to a conflict with an upgrade or installation of the host agent.
 34617  type HostCnxFailedCcagentUpgradeEvent struct {
 34618  	HostEvent
 34619  }
 34620  
 34621  func init() {
 34622  	t["HostCnxFailedCcagentUpgradeEvent"] = reflect.TypeOf((*HostCnxFailedCcagentUpgradeEvent)(nil)).Elem()
 34623  }
 34624  
 34625  // This event records a failure to connect to a host
 34626  // due to an unspecified condition.
 34627  type HostCnxFailedEvent struct {
 34628  	HostEvent
 34629  }
 34630  
 34631  func init() {
 34632  	t["HostCnxFailedEvent"] = reflect.TypeOf((*HostCnxFailedEvent)(nil)).Elem()
 34633  }
 34634  
 34635  // This event records a failure to connect to a host
 34636  // due to a network error.
 34637  type HostCnxFailedNetworkErrorEvent struct {
 34638  	HostEvent
 34639  }
 34640  
 34641  func init() {
 34642  	t["HostCnxFailedNetworkErrorEvent"] = reflect.TypeOf((*HostCnxFailedNetworkErrorEvent)(nil)).Elem()
 34643  }
 34644  
 34645  // This event records a failure to connect to a host
 34646  // due to insufficient account privileges.
 34647  type HostCnxFailedNoAccessEvent struct {
 34648  	HostEvent
 34649  }
 34650  
 34651  func init() {
 34652  	t["HostCnxFailedNoAccessEvent"] = reflect.TypeOf((*HostCnxFailedNoAccessEvent)(nil)).Elem()
 34653  }
 34654  
 34655  // This event records a failure to connect to a host
 34656  // due to a host not being present on the network.
 34657  type HostCnxFailedNoConnectionEvent struct {
 34658  	HostEvent
 34659  }
 34660  
 34661  func init() {
 34662  	t["HostCnxFailedNoConnectionEvent"] = reflect.TypeOf((*HostCnxFailedNoConnectionEvent)(nil)).Elem()
 34663  }
 34664  
 34665  // This event records a failure to connect to a host
 34666  // due to a licensing issue.
 34667  type HostCnxFailedNoLicenseEvent struct {
 34668  	HostEvent
 34669  }
 34670  
 34671  func init() {
 34672  	t["HostCnxFailedNoLicenseEvent"] = reflect.TypeOf((*HostCnxFailedNoLicenseEvent)(nil)).Elem()
 34673  }
 34674  
 34675  // This event records a failure to connect to a host
 34676  // due to a failure to resolve the host name.
 34677  type HostCnxFailedNotFoundEvent struct {
 34678  	HostEvent
 34679  }
 34680  
 34681  func init() {
 34682  	t["HostCnxFailedNotFoundEvent"] = reflect.TypeOf((*HostCnxFailedNotFoundEvent)(nil)).Elem()
 34683  }
 34684  
 34685  // This event records a failure to connect to a host
 34686  // due to a timeout on the connection attempt.
 34687  type HostCnxFailedTimeoutEvent struct {
 34688  	HostEvent
 34689  }
 34690  
 34691  func init() {
 34692  	t["HostCnxFailedTimeoutEvent"] = reflect.TypeOf((*HostCnxFailedTimeoutEvent)(nil)).Elem()
 34693  }
 34694  
 34695  // A HostCommunication fault is thrown if an error happened
 34696  // while communicating to a host.
 34697  //
 34698  // This would typically be
 34699  // due to network connections or server failures.
 34700  type HostCommunication struct {
 34701  	RuntimeFault
 34702  }
 34703  
 34704  func init() {
 34705  	t["HostCommunication"] = reflect.TypeOf((*HostCommunication)(nil)).Elem()
 34706  }
 34707  
 34708  type HostCommunicationFault BaseHostCommunication
 34709  
 34710  func init() {
 34711  	t["HostCommunicationFault"] = reflect.TypeOf((*HostCommunicationFault)(nil)).Elem()
 34712  }
 34713  
 34714  // This event records that a compliance check was triggered
 34715  // on the host.
 34716  type HostComplianceCheckedEvent struct {
 34717  	HostEvent
 34718  
 34719  	Profile ProfileEventArgument `xml:"profile" json:"profile"`
 34720  }
 34721  
 34722  func init() {
 34723  	t["HostComplianceCheckedEvent"] = reflect.TypeOf((*HostComplianceCheckedEvent)(nil)).Elem()
 34724  	minAPIVersionForType["HostComplianceCheckedEvent"] = "4.0"
 34725  }
 34726  
 34727  // This event records that host is in compliance.
 34728  type HostCompliantEvent struct {
 34729  	HostEvent
 34730  }
 34731  
 34732  func init() {
 34733  	t["HostCompliantEvent"] = reflect.TypeOf((*HostCompliantEvent)(nil)).Elem()
 34734  	minAPIVersionForType["HostCompliantEvent"] = "4.0"
 34735  }
 34736  
 34737  // This event records that a configuration was applied on a host
 34738  type HostConfigAppliedEvent struct {
 34739  	HostEvent
 34740  }
 34741  
 34742  func init() {
 34743  	t["HostConfigAppliedEvent"] = reflect.TypeOf((*HostConfigAppliedEvent)(nil)).Elem()
 34744  	minAPIVersionForType["HostConfigAppliedEvent"] = "4.0"
 34745  }
 34746  
 34747  // This data object type describes types and constants related to the
 34748  // specification of changes to a host configuration.
 34749  type HostConfigChange struct {
 34750  	DynamicData
 34751  }
 34752  
 34753  func init() {
 34754  	t["HostConfigChange"] = reflect.TypeOf((*HostConfigChange)(nil)).Elem()
 34755  }
 34756  
 34757  // Fault to indicate configuration of the host failed.
 34758  //
 34759  // Configuration could have failed because of multiple
 34760  // reasons and individual failures will be reported in
 34761  // \#failure.
 34762  type HostConfigFailed struct {
 34763  	HostConfigFault
 34764  
 34765  	Failure []LocalizedMethodFault `xml:"failure" json:"failure"`
 34766  }
 34767  
 34768  func init() {
 34769  	t["HostConfigFailed"] = reflect.TypeOf((*HostConfigFailed)(nil)).Elem()
 34770  	minAPIVersionForType["HostConfigFailed"] = "4.0"
 34771  }
 34772  
 34773  type HostConfigFailedFault HostConfigFailed
 34774  
 34775  func init() {
 34776  	t["HostConfigFailedFault"] = reflect.TypeOf((*HostConfigFailedFault)(nil)).Elem()
 34777  }
 34778  
 34779  // Base class for all Host configuration related faults
 34780  type HostConfigFault struct {
 34781  	VimFault
 34782  }
 34783  
 34784  func init() {
 34785  	t["HostConfigFault"] = reflect.TypeOf((*HostConfigFault)(nil)).Elem()
 34786  }
 34787  
 34788  type HostConfigFaultFault BaseHostConfigFault
 34789  
 34790  func init() {
 34791  	t["HostConfigFaultFault"] = reflect.TypeOf((*HostConfigFaultFault)(nil)).Elem()
 34792  }
 34793  
 34794  // This data object type encapsulates a typical set of host configuration
 34795  // information that is useful for displaying and configuring a host.
 34796  //
 34797  // VirtualCenter can retrieve this set of information
 34798  // very efficiently even for a large set of hosts.
 34799  type HostConfigInfo struct {
 34800  	DynamicData
 34801  
 34802  	// A reference to a managed object on a host.
 34803  	//
 34804  	// Refers instance of `HostSystem`.
 34805  	Host ManagedObjectReference `xml:"host" json:"host"`
 34806  	// Information about a product.
 34807  	Product AboutInfo `xml:"product" json:"product"`
 34808  	// Deployment information about the host.
 34809  	DeploymentInfo *HostDeploymentInfo `xml:"deploymentInfo,omitempty" json:"deploymentInfo,omitempty" vim:"6.5"`
 34810  	// If hyperthreading is supported, this is the CPU configuration for
 34811  	// optimizing hyperthreading.
 34812  	HyperThread *HostHyperThreadScheduleInfo `xml:"hyperThread,omitempty" json:"hyperThread,omitempty"`
 34813  	// Memory configuration.
 34814  	ConsoleReservation *ServiceConsoleReservationInfo `xml:"consoleReservation,omitempty" json:"consoleReservation,omitempty"`
 34815  	// Virtual machine memory configuration.
 34816  	VirtualMachineReservation *VirtualMachineMemoryReservationInfo `xml:"virtualMachineReservation,omitempty" json:"virtualMachineReservation,omitempty" vim:"2.5"`
 34817  	// Storage system information.
 34818  	StorageDevice *HostStorageDeviceInfo `xml:"storageDevice,omitempty" json:"storageDevice,omitempty"`
 34819  	// Storage multipath state information.
 34820  	MultipathState *HostMultipathStateInfo `xml:"multipathState,omitempty" json:"multipathState,omitempty" vim:"4.0"`
 34821  	// Storage system file system volume information.
 34822  	FileSystemVolume *HostFileSystemVolumeInfo `xml:"fileSystemVolume,omitempty" json:"fileSystemVolume,omitempty"`
 34823  	// Datastore paths of files used by the host system on
 34824  	// mounted volumes, for instance, the COS vmdk file of the
 34825  	// host.
 34826  	//
 34827  	// For information on datastore paths, see `Datastore`.
 34828  	SystemFile []string `xml:"systemFile,omitempty" json:"systemFile,omitempty" vim:"4.1"`
 34829  	// Network system information.
 34830  	Network *HostNetworkInfo `xml:"network,omitempty" json:"network,omitempty"`
 34831  	// Deprecated as of VI API 4.0, use `HostConfigInfo.virtualNicManagerInfo`.
 34832  	//
 34833  	// VMotion system information.
 34834  	Vmotion *HostVMotionInfo `xml:"vmotion,omitempty" json:"vmotion,omitempty"`
 34835  	// VirtualNic manager information.
 34836  	VirtualNicManagerInfo *HostVirtualNicManagerInfo `xml:"virtualNicManagerInfo,omitempty" json:"virtualNicManagerInfo,omitempty" vim:"4.0"`
 34837  	// Capability vector indicating the available network features.
 34838  	Capabilities *HostNetCapabilities `xml:"capabilities,omitempty" json:"capabilities,omitempty"`
 34839  	// Capability vector indicating available datastore features.
 34840  	DatastoreCapabilities *HostDatastoreSystemCapabilities `xml:"datastoreCapabilities,omitempty" json:"datastoreCapabilities,omitempty" vim:"2.5"`
 34841  	// Deprecated as of VI API 4.0, the system defaults will be used.
 34842  	//
 34843  	// capabilities to offload operations either to the host or to physical
 34844  	// hardware when a virtual machine is transmitting on a network
 34845  	OffloadCapabilities *HostNetOffloadCapabilities `xml:"offloadCapabilities,omitempty" json:"offloadCapabilities,omitempty"`
 34846  	// Host service configuration.
 34847  	Service *HostServiceInfo `xml:"service,omitempty" json:"service,omitempty"`
 34848  	// Firewall configuration.
 34849  	Firewall *HostFirewallInfo `xml:"firewall,omitempty" json:"firewall,omitempty"`
 34850  	// AutoStart configuration.
 34851  	AutoStart *HostAutoStartManagerConfig `xml:"autoStart,omitempty" json:"autoStart,omitempty"`
 34852  	// The diagnostic partition that will be set as the current
 34853  	// diagnostic partition on the host.
 34854  	ActiveDiagnosticPartition *HostDiagnosticPartition `xml:"activeDiagnosticPartition,omitempty" json:"activeDiagnosticPartition,omitempty"`
 34855  	// Host configuration options as defined by the
 34856  	// `OptionValue` data object type.
 34857  	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 34858  	// A list of supported options.
 34859  	OptionDef []OptionDef `xml:"optionDef,omitempty" json:"optionDef,omitempty"`
 34860  	// Datastore principal user
 34861  	DatastorePrincipal string `xml:"datastorePrincipal,omitempty" json:"datastorePrincipal,omitempty"`
 34862  	// Datastore visible to this host that may be used to store virtual
 34863  	// machine swapfiles, for virtual machines executing on this host.
 34864  	//
 34865  	// The
 34866  	// value of this property is set or unset by invoking
 34867  	// `HostDatastoreSystem.UpdateLocalSwapDatastore`.
 34868  	// The policy for using this datastore is determined by the compute
 34869  	// resource configuration's
 34870  	// `vmSwapPlacement`
 34871  	// property in concert with each individual virtual machine configuration's
 34872  	// `swapPlacement` property.
 34873  	//
 34874  	// Note: Using a host-specific swap location may degrade VMotion performance.
 34875  	//
 34876  	// Refers instance of `Datastore`.
 34877  	LocalSwapDatastore *ManagedObjectReference `xml:"localSwapDatastore,omitempty" json:"localSwapDatastore,omitempty" vim:"2.5"`
 34878  	// The system swap configuration specifies which options are currently
 34879  	// enabled.
 34880  	//
 34881  	// See also `HostSystemSwapConfiguration`.
 34882  	SystemSwapConfiguration *HostSystemSwapConfiguration `xml:"systemSwapConfiguration,omitempty" json:"systemSwapConfiguration,omitempty" vim:"5.1"`
 34883  	// Reference for the system resource hierarchy, used for configuring
 34884  	// the set of resources reserved to the system and unavailable to
 34885  	// virtual machines.
 34886  	SystemResources *HostSystemResourceInfo `xml:"systemResources,omitempty" json:"systemResources,omitempty"`
 34887  	// Date/Time related configuration
 34888  	DateTimeInfo *HostDateTimeInfo `xml:"dateTimeInfo,omitempty" json:"dateTimeInfo,omitempty" vim:"2.5"`
 34889  	// Additional flags for a host.
 34890  	Flags *HostFlagInfo `xml:"flags,omitempty" json:"flags,omitempty" vim:"2.5"`
 34891  	// Deprecated as of vSphere API 6.0, use `HostConfigInfo.lockdownMode`.
 34892  	//
 34893  	// If the flag is true, the permissions on the host have been modified such
 34894  	// that it is only accessible through local console or an authorized
 34895  	// centralized management application.
 34896  	//
 34897  	// This flag is affected by the
 34898  	// `HostSystem.EnterLockdownMode` and
 34899  	// `HostSystem.ExitLockdownMode` operations.
 34900  	//
 34901  	// This flag is supported in VirtualCenter only. The value returned from host
 34902  	// should be ignored.
 34903  	//
 34904  	// See also `HostSystem.EnterLockdownMode`, `HostSystem.ExitLockdownMode`.
 34905  	AdminDisabled *bool `xml:"adminDisabled" json:"adminDisabled,omitempty" vim:"2.5"`
 34906  	// Indicates the current lockdown mode of the host as reported by
 34907  	// `HostAccessManager.lockdownMode`.
 34908  	//
 34909  	// See also `HostAccessManager.ChangeLockdownMode`.
 34910  	LockdownMode HostLockdownMode `xml:"lockdownMode,omitempty" json:"lockdownMode,omitempty" vim:"6.0"`
 34911  	// IPMI (Intelligent Platform Management Interface) info for the host.
 34912  	Ipmi *HostIpmiInfo `xml:"ipmi,omitempty" json:"ipmi,omitempty" vim:"4.0"`
 34913  	// Deprecated as of vSphere API 5.0, use `HostConfigInfo.sslThumbprintData` instead.
 34914  	//
 34915  	// SSL Thumbprint info for hosts registered on this host.
 34916  	SslThumbprintInfo *HostSslThumbprintInfo `xml:"sslThumbprintInfo,omitempty" json:"sslThumbprintInfo,omitempty" vim:"4.0"`
 34917  	// SSL Thumbprints registered on this host.
 34918  	SslThumbprintData []HostSslThumbprintInfo `xml:"sslThumbprintData,omitempty" json:"sslThumbprintData,omitempty" vim:"5.0"`
 34919  	// Full Host Certificate in PEM format, if known
 34920  	Certificate []byte `xml:"certificate,omitempty" json:"certificate,omitempty" vim:"5.0"`
 34921  	// PCI passthrough information.
 34922  	PciPassthruInfo []BaseHostPciPassthruInfo `xml:"pciPassthruInfo,omitempty,typeattr" json:"pciPassthruInfo,omitempty" vim:"4.0"`
 34923  	// Current authentication configuration.
 34924  	AuthenticationManagerInfo *HostAuthenticationManagerInfo `xml:"authenticationManagerInfo,omitempty" json:"authenticationManagerInfo,omitempty" vim:"4.1"`
 34925  	// List of feature-specific version information.
 34926  	//
 34927  	// Each element refers
 34928  	// to the version information for a specific feature.
 34929  	FeatureVersion []HostFeatureVersionInfo `xml:"featureVersion,omitempty" json:"featureVersion,omitempty" vim:"4.1"`
 34930  	// Host power management capability.
 34931  	PowerSystemCapability *PowerSystemCapability `xml:"powerSystemCapability,omitempty" json:"powerSystemCapability,omitempty" vim:"4.1"`
 34932  	// Host power management information.
 34933  	PowerSystemInfo *PowerSystemInfo `xml:"powerSystemInfo,omitempty" json:"powerSystemInfo,omitempty" vim:"4.1"`
 34934  	// Host solid stats drive cache configuration information.
 34935  	CacheConfigurationInfo []HostCacheConfigurationInfo `xml:"cacheConfigurationInfo,omitempty" json:"cacheConfigurationInfo,omitempty" vim:"5.0"`
 34936  	// Indicates if a host is wake on lan capable.
 34937  	//
 34938  	// A host is deemed wake on lan capable if there exists at least one
 34939  	// physical network card that is both backing the vmotion interface and
 34940  	// is itself wake on lan capable.
 34941  	WakeOnLanCapable *bool `xml:"wakeOnLanCapable" json:"wakeOnLanCapable,omitempty" vim:"5.0"`
 34942  	// Array of host feature capabilities.
 34943  	//
 34944  	// This is expected to change
 34945  	// infrequently. It may change while host is in maintenance mode
 34946  	// and between reboots if hardware, firmware, or a device driver
 34947  	// is changed or upgraded.
 34948  	FeatureCapability []HostFeatureCapability `xml:"featureCapability,omitempty" json:"featureCapability,omitempty" vim:"5.1"`
 34949  	// Array of the feature capabilities that the host has after the
 34950  	// mask has been applied.
 34951  	MaskedFeatureCapability []HostFeatureCapability `xml:"maskedFeatureCapability,omitempty" json:"maskedFeatureCapability,omitempty" vim:"5.1"`
 34952  	// Host vFlash configuration information
 34953  	VFlashConfigInfo *HostVFlashManagerVFlashConfigInfo `xml:"vFlashConfigInfo,omitempty" json:"vFlashConfigInfo,omitempty" vim:"5.5"`
 34954  	// VSAN configuration for a host.
 34955  	VsanHostConfig *VsanHostConfigInfo `xml:"vsanHostConfig,omitempty" json:"vsanHostConfig,omitempty" vim:"5.5"`
 34956  	// List of Windows domains available for user searches, if the underlying
 34957  	// system supports windows domain membership.
 34958  	//
 34959  	// See `UserDirectory.domainList`.
 34960  	DomainList []string `xml:"domainList,omitempty" json:"domainList,omitempty" vim:"6.0"`
 34961  	// A checksum of overhead computation script.
 34962  	//
 34963  	// (For VMware internal usage only)
 34964  	ScriptCheckSum []byte `xml:"scriptCheckSum,omitempty" json:"scriptCheckSum,omitempty" vim:"6.0"`
 34965  	// A checksum of host configuration option set.
 34966  	//
 34967  	// (For VMware internal usage only)
 34968  	HostConfigCheckSum []byte `xml:"hostConfigCheckSum,omitempty" json:"hostConfigCheckSum,omitempty" vim:"6.0"`
 34969  	// A checksum of the Assignable Hardware Description Tree.
 34970  	//
 34971  	// (For VMware internal usage only)
 34972  	DescriptionTreeCheckSum []byte `xml:"descriptionTreeCheckSum,omitempty" json:"descriptionTreeCheckSum,omitempty" vim:"7.0"`
 34973  	// The list of graphics devices available on this host.
 34974  	GraphicsInfo []HostGraphicsInfo `xml:"graphicsInfo,omitempty" json:"graphicsInfo,omitempty" vim:"5.5"`
 34975  	// Array of shared passthru GPU types.
 34976  	//
 34977  	// These GPU types may be enabled
 34978  	// when specific host hardware is present.
 34979  	SharedPassthruGpuTypes []string `xml:"sharedPassthruGpuTypes,omitempty" json:"sharedPassthruGpuTypes,omitempty" vim:"6.0"`
 34980  	// Graphics configuration for a host.
 34981  	GraphicsConfig *HostGraphicsConfig `xml:"graphicsConfig,omitempty" json:"graphicsConfig,omitempty" vim:"6.5"`
 34982  	// Array of shared passthru GPU capablities.
 34983  	//
 34984  	// See also `HostSharedGpuCapabilities`.
 34985  	SharedGpuCapabilities []HostSharedGpuCapabilities `xml:"sharedGpuCapabilities,omitempty" json:"sharedGpuCapabilities,omitempty" vim:"6.7"`
 34986  	// Information of the IO Filters installed on the host.
 34987  	//
 34988  	// See `HostIoFilterInfo`.
 34989  	IoFilterInfo []HostIoFilterInfo `xml:"ioFilterInfo,omitempty" json:"ioFilterInfo,omitempty" vim:"6.0"`
 34990  	// Information on SRIOV device pools present on host.
 34991  	SriovDevicePool []BaseHostSriovDevicePoolInfo `xml:"sriovDevicePool,omitempty,typeattr" json:"sriovDevicePool,omitempty" vim:"6.5"`
 34992  	// Information describing Assignable Hardware device bindings on host.
 34993  	//
 34994  	// See `HostAssignableHardwareBinding`.
 34995  	AssignableHardwareBinding []HostAssignableHardwareBinding `xml:"assignableHardwareBinding,omitempty" json:"assignableHardwareBinding,omitempty" vim:"7.0"`
 34996  	// Configured assignable hardware device attributes.
 34997  	AssignableHardwareConfig *HostAssignableHardwareConfig `xml:"assignableHardwareConfig,omitempty" json:"assignableHardwareConfig,omitempty" vim:"7.0"`
 34998  }
 34999  
 35000  func init() {
 35001  	t["HostConfigInfo"] = reflect.TypeOf((*HostConfigInfo)(nil)).Elem()
 35002  }
 35003  
 35004  // This data object type describes the configuration of a host
 35005  // across products and versions.
 35006  type HostConfigManager struct {
 35007  	DynamicData
 35008  
 35009  	// The CPU scheduler that determines which threads execute on a CPU
 35010  	// at any given time.
 35011  	//
 35012  	// Refers instance of `HostCpuSchedulerSystem`.
 35013  	CpuScheduler *ManagedObjectReference `xml:"cpuScheduler,omitempty" json:"cpuScheduler,omitempty"`
 35014  	// The datastore manager.
 35015  	//
 35016  	// Refers instance of `HostDatastoreSystem`.
 35017  	DatastoreSystem *ManagedObjectReference `xml:"datastoreSystem,omitempty" json:"datastoreSystem,omitempty"`
 35018  	// The memory manager on the host.
 35019  	//
 35020  	// Refers instance of `HostMemorySystem`.
 35021  	MemoryManager *ManagedObjectReference `xml:"memoryManager,omitempty" json:"memoryManager,omitempty"`
 35022  	// The storage configuration.
 35023  	//
 35024  	// Refers instance of `HostStorageSystem`.
 35025  	StorageSystem *ManagedObjectReference `xml:"storageSystem,omitempty" json:"storageSystem,omitempty"`
 35026  	// The network system configuration.
 35027  	//
 35028  	// Refers instance of `HostNetworkSystem`.
 35029  	NetworkSystem *ManagedObjectReference `xml:"networkSystem,omitempty" json:"networkSystem,omitempty"`
 35030  	// Deprecated as of VI API 4.0, use `HostConfigManager.virtualNicManager`
 35031  	// to manage the VMotion configuration of the host.
 35032  	//
 35033  	// The VMotion configuration.
 35034  	//
 35035  	// Refers instance of `HostVMotionSystem`.
 35036  	VmotionSystem *ManagedObjectReference `xml:"vmotionSystem,omitempty" json:"vmotionSystem,omitempty"`
 35037  	// The VirtualNic configuration.
 35038  	//
 35039  	// Refers instance of `HostVirtualNicManager`.
 35040  	VirtualNicManager *ManagedObjectReference `xml:"virtualNicManager,omitempty" json:"virtualNicManager,omitempty" vim:"4.0"`
 35041  	// The configuration of the host services (for example,
 35042  	// SSH, FTP, and Telnet).
 35043  	//
 35044  	// Refers instance of `HostServiceSystem`.
 35045  	ServiceSystem *ManagedObjectReference `xml:"serviceSystem,omitempty" json:"serviceSystem,omitempty"`
 35046  	// The firewall configuration.
 35047  	//
 35048  	// Refers instance of `HostFirewallSystem`.
 35049  	FirewallSystem *ManagedObjectReference `xml:"firewallSystem,omitempty" json:"firewallSystem,omitempty"`
 35050  	// Advanced options.
 35051  	//
 35052  	// Refers instance of `OptionManager`.
 35053  	AdvancedOption *ManagedObjectReference `xml:"advancedOption,omitempty" json:"advancedOption,omitempty"`
 35054  	// The diagnostic for the ESX Server system.
 35055  	//
 35056  	// Refers instance of `HostDiagnosticSystem`.
 35057  	DiagnosticSystem *ManagedObjectReference `xml:"diagnosticSystem,omitempty" json:"diagnosticSystem,omitempty"`
 35058  	// Auto-start and auto-stop configuration.
 35059  	//
 35060  	// Refers instance of `HostAutoStartManager`.
 35061  	AutoStartManager *ManagedObjectReference `xml:"autoStartManager,omitempty" json:"autoStartManager,omitempty"`
 35062  	// Snmp configuration
 35063  	//
 35064  	// Refers instance of `HostSnmpSystem`.
 35065  	SnmpSystem *ManagedObjectReference `xml:"snmpSystem,omitempty" json:"snmpSystem,omitempty"`
 35066  	// DateTime configuration
 35067  	//
 35068  	// Refers instance of `HostDateTimeSystem`.
 35069  	DateTimeSystem *ManagedObjectReference `xml:"dateTimeSystem,omitempty" json:"dateTimeSystem,omitempty" vim:"2.5"`
 35070  	// Host patch management.
 35071  	//
 35072  	// Refers instance of `HostPatchManager`.
 35073  	PatchManager *ManagedObjectReference `xml:"patchManager,omitempty" json:"patchManager,omitempty" vim:"2.5"`
 35074  	// Host image configuration management.
 35075  	//
 35076  	// Refers instance of `HostImageConfigManager`.
 35077  	ImageConfigManager *ManagedObjectReference `xml:"imageConfigManager,omitempty" json:"imageConfigManager,omitempty" vim:"5.0"`
 35078  	// Boot device order management.
 35079  	//
 35080  	// Refers instance of `HostBootDeviceSystem`.
 35081  	BootDeviceSystem *ManagedObjectReference `xml:"bootDeviceSystem,omitempty" json:"bootDeviceSystem,omitempty" vim:"2.5"`
 35082  	// Firmware management.
 35083  	//
 35084  	// Refers instance of `HostFirmwareSystem`.
 35085  	FirmwareSystem *ManagedObjectReference `xml:"firmwareSystem,omitempty" json:"firmwareSystem,omitempty" vim:"2.5"`
 35086  	// System health status manager.
 35087  	//
 35088  	// Refers instance of `HostHealthStatusSystem`.
 35089  	HealthStatusSystem *ManagedObjectReference `xml:"healthStatusSystem,omitempty" json:"healthStatusSystem,omitempty" vim:"2.5"`
 35090  	// PciDeviceSystem for passthru.
 35091  	//
 35092  	// Refers instance of `HostPciPassthruSystem`.
 35093  	PciPassthruSystem *ManagedObjectReference `xml:"pciPassthruSystem,omitempty" json:"pciPassthruSystem,omitempty" vim:"4.0"`
 35094  	// License manager
 35095  	//
 35096  	// Refers instance of `LicenseManager`.
 35097  	LicenseManager *ManagedObjectReference `xml:"licenseManager,omitempty" json:"licenseManager,omitempty" vim:"4.0"`
 35098  	// Kernel module configuration management.
 35099  	//
 35100  	// Refers instance of `HostKernelModuleSystem`.
 35101  	KernelModuleSystem *ManagedObjectReference `xml:"kernelModuleSystem,omitempty" json:"kernelModuleSystem,omitempty" vim:"4.0"`
 35102  	// Authentication method configuration - for example, for Active Directory membership.
 35103  	//
 35104  	// Refers instance of `HostAuthenticationManager`.
 35105  	AuthenticationManager *ManagedObjectReference `xml:"authenticationManager,omitempty" json:"authenticationManager,omitempty" vim:"4.1"`
 35106  	// Power System manager.
 35107  	//
 35108  	// Refers instance of `HostPowerSystem`.
 35109  	PowerSystem *ManagedObjectReference `xml:"powerSystem,omitempty" json:"powerSystem,omitempty" vim:"4.1"`
 35110  	// Host solid state drive cache configuration manager.
 35111  	//
 35112  	// Refers instance of `HostCacheConfigurationManager`.
 35113  	CacheConfigurationManager *ManagedObjectReference `xml:"cacheConfigurationManager,omitempty" json:"cacheConfigurationManager,omitempty" vim:"5.0"`
 35114  	// Esx Agent resource configuration manager
 35115  	//
 35116  	// Refers instance of `HostEsxAgentHostManager`.
 35117  	EsxAgentHostManager *ManagedObjectReference `xml:"esxAgentHostManager,omitempty" json:"esxAgentHostManager,omitempty" vim:"5.0"`
 35118  	// Iscsi Management Operations managed entity
 35119  	//
 35120  	// Refers instance of `IscsiManager`.
 35121  	IscsiManager *ManagedObjectReference `xml:"iscsiManager,omitempty" json:"iscsiManager,omitempty" vim:"5.0"`
 35122  	// vFlash Manager
 35123  	//
 35124  	// Refers instance of `HostVFlashManager`.
 35125  	VFlashManager *ManagedObjectReference `xml:"vFlashManager,omitempty" json:"vFlashManager,omitempty" vim:"5.5"`
 35126  	// VsanSystem managed entity.
 35127  	//
 35128  	// Refers instance of `HostVsanSystem`.
 35129  	VsanSystem *ManagedObjectReference `xml:"vsanSystem,omitempty" json:"vsanSystem,omitempty" vim:"5.5"`
 35130  	// Common Message Bus proxy service.
 35131  	//
 35132  	// This API shall always be present in vSphere API 6.0 or later.
 35133  	//
 35134  	// Refers instance of `MessageBusProxy`.
 35135  	MessageBusProxy *ManagedObjectReference `xml:"messageBusProxy,omitempty" json:"messageBusProxy,omitempty" vim:"6.0"`
 35136  	// A user directory managed object.
 35137  	//
 35138  	// Refers instance of `UserDirectory`.
 35139  	UserDirectory *ManagedObjectReference `xml:"userDirectory,omitempty" json:"userDirectory,omitempty" vim:"6.0"`
 35140  	// A manager for host local user accounts.
 35141  	//
 35142  	// Refers instance of `HostLocalAccountManager`.
 35143  	AccountManager *ManagedObjectReference `xml:"accountManager,omitempty" json:"accountManager,omitempty" vim:"6.0"`
 35144  	// Host access manager
 35145  	//
 35146  	// Refers instance of `HostAccessManager`.
 35147  	HostAccessManager *ManagedObjectReference `xml:"hostAccessManager,omitempty" json:"hostAccessManager,omitempty" vim:"6.0"`
 35148  	// Host graphics manager.
 35149  	//
 35150  	// Refers instance of `HostGraphicsManager`.
 35151  	GraphicsManager *ManagedObjectReference `xml:"graphicsManager,omitempty" json:"graphicsManager,omitempty" vim:"5.5"`
 35152  	// VsanInternalSystem managed entity.
 35153  	//
 35154  	// Refers instance of `HostVsanInternalSystem`.
 35155  	VsanInternalSystem *ManagedObjectReference `xml:"vsanInternalSystem,omitempty" json:"vsanInternalSystem,omitempty" vim:"5.5"`
 35156  	// Host CertificateManager.
 35157  	//
 35158  	// Refers instance of `HostCertificateManager`.
 35159  	CertificateManager *ManagedObjectReference `xml:"certificateManager,omitempty" json:"certificateManager,omitempty" vim:"6.0"`
 35160  	// Host CryptoManager.
 35161  	//
 35162  	// Refers instance of `CryptoManager`.
 35163  	CryptoManager *ManagedObjectReference `xml:"cryptoManager,omitempty" json:"cryptoManager,omitempty" vim:"6.5"`
 35164  	// Host Non-Volatile DIMM configuration manager
 35165  	//
 35166  	// Refers instance of `HostNvdimmSystem`.
 35167  	NvdimmSystem *ManagedObjectReference `xml:"nvdimmSystem,omitempty" json:"nvdimmSystem,omitempty" vim:"6.7"`
 35168  	// Assignable Hardware manager.
 35169  	//
 35170  	// Refers instance of `HostAssignableHardwareManager`.
 35171  	AssignableHardwareManager *ManagedObjectReference `xml:"assignableHardwareManager,omitempty" json:"assignableHardwareManager,omitempty" vim:"7.0"`
 35172  }
 35173  
 35174  func init() {
 35175  	t["HostConfigManager"] = reflect.TypeOf((*HostConfigManager)(nil)).Elem()
 35176  }
 35177  
 35178  // The `HostConfigSpec` data object provides access to data objects
 35179  // that specify configuration changes to be applied to an ESX host.
 35180  type HostConfigSpec struct {
 35181  	DynamicData
 35182  
 35183  	// Configurations to create NAS datastores.
 35184  	NasDatastore []HostNasVolumeConfig `xml:"nasDatastore,omitempty" json:"nasDatastore,omitempty"`
 35185  	// Network system information.
 35186  	Network *HostNetworkConfig `xml:"network,omitempty" json:"network,omitempty"`
 35187  	// Type selection for different VirtualNics.
 35188  	NicTypeSelection []HostVirtualNicManagerNicTypeSelection `xml:"nicTypeSelection,omitempty" json:"nicTypeSelection,omitempty"`
 35189  	// Host service configuration.
 35190  	Service []HostServiceConfig `xml:"service,omitempty" json:"service,omitempty"`
 35191  	// Firewall configuration.
 35192  	Firewall *HostFirewallConfig `xml:"firewall,omitempty" json:"firewall,omitempty"`
 35193  	// Host configuration options as defined by the
 35194  	// `OptionValue` data object type.
 35195  	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 35196  	// Datastore principal user.
 35197  	DatastorePrincipal string `xml:"datastorePrincipal,omitempty" json:"datastorePrincipal,omitempty"`
 35198  	// Password for the datastore principal.
 35199  	DatastorePrincipalPasswd string `xml:"datastorePrincipalPasswd,omitempty" json:"datastorePrincipalPasswd,omitempty"`
 35200  	// DateTime Configuration.
 35201  	Datetime *HostDateTimeConfig `xml:"datetime,omitempty" json:"datetime,omitempty"`
 35202  	// Storage system information.
 35203  	StorageDevice *HostStorageDeviceInfo `xml:"storageDevice,omitempty" json:"storageDevice,omitempty"`
 35204  	// License configuration for the host.
 35205  	License *HostLicenseSpec `xml:"license,omitempty" json:"license,omitempty"`
 35206  	// Security specification.
 35207  	Security *HostSecuritySpec `xml:"security,omitempty" json:"security,omitempty"`
 35208  	// List of users to create/update with new password.
 35209  	UserAccount []BaseHostAccountSpec `xml:"userAccount,omitempty,typeattr" json:"userAccount,omitempty"`
 35210  	// List of users to create/update with new password.
 35211  	UsergroupAccount []BaseHostAccountSpec `xml:"usergroupAccount,omitempty,typeattr" json:"usergroupAccount,omitempty"`
 35212  	// Memory configuration for the host.
 35213  	Memory *HostMemorySpec `xml:"memory,omitempty" json:"memory,omitempty"`
 35214  	// Active Directory configuration change.
 35215  	ActiveDirectory []HostActiveDirectory `xml:"activeDirectory,omitempty" json:"activeDirectory,omitempty" vim:"4.1"`
 35216  	// Advanced configuration.
 35217  	GenericConfig []KeyAnyValue `xml:"genericConfig,omitempty" json:"genericConfig,omitempty" vim:"5.0"`
 35218  	// Graphics configuration for a host.
 35219  	GraphicsConfig *HostGraphicsConfig `xml:"graphicsConfig,omitempty" json:"graphicsConfig,omitempty" vim:"6.5"`
 35220  	// Assignable Hardware configuration for the host
 35221  	AssignableHardwareConfig *HostAssignableHardwareConfig `xml:"assignableHardwareConfig,omitempty" json:"assignableHardwareConfig,omitempty" vim:"7.0"`
 35222  }
 35223  
 35224  func init() {
 35225  	t["HostConfigSpec"] = reflect.TypeOf((*HostConfigSpec)(nil)).Elem()
 35226  	minAPIVersionForType["HostConfigSpec"] = "4.0"
 35227  }
 35228  
 35229  // An overview of the key configuration parameters.
 35230  type HostConfigSummary struct {
 35231  	DynamicData
 35232  
 35233  	// The name of the host.
 35234  	Name string `xml:"name" json:"name"`
 35235  	// The port number.
 35236  	Port int32 `xml:"port" json:"port"`
 35237  	// The SSL thumbprint of the host, if known.
 35238  	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty" vim:"4.0"`
 35239  	// Information about the software running on the host, if known.
 35240  	//
 35241  	// The current supported hosts are ESX Server 2.0.1 (and later) and VMware Server
 35242  	// 2.0.0 (and later).
 35243  	Product *AboutInfo `xml:"product,omitempty" json:"product,omitempty"`
 35244  	// The flag to indicate whether or not VMotion is enabled on this host.
 35245  	VmotionEnabled bool `xml:"vmotionEnabled" json:"vmotionEnabled"`
 35246  	// The flag to indicate whether or not Fault Tolerance logging is enabled on this host.
 35247  	FaultToleranceEnabled *bool `xml:"faultToleranceEnabled" json:"faultToleranceEnabled,omitempty" vim:"4.0"`
 35248  	// List of feature-specific version information.
 35249  	//
 35250  	// Each element refers
 35251  	// to the version information for a specific feature.
 35252  	FeatureVersion []HostFeatureVersionInfo `xml:"featureVersion,omitempty" json:"featureVersion,omitempty" vim:"4.1"`
 35253  	// Datastore used to deploy Agent VMs on for this host.
 35254  	//
 35255  	// Refers instance of `Datastore`.
 35256  	AgentVmDatastore *ManagedObjectReference `xml:"agentVmDatastore,omitempty" json:"agentVmDatastore,omitempty" vim:"5.0"`
 35257  	// Management network for Agent VMs.
 35258  	//
 35259  	// Refers instance of `Network`.
 35260  	AgentVmNetwork *ManagedObjectReference `xml:"agentVmNetwork,omitempty" json:"agentVmNetwork,omitempty" vim:"5.0"`
 35261  }
 35262  
 35263  func init() {
 35264  	t["HostConfigSummary"] = reflect.TypeOf((*HostConfigSummary)(nil)).Elem()
 35265  }
 35266  
 35267  type HostConfigVFlashCache HostConfigVFlashCacheRequestType
 35268  
 35269  func init() {
 35270  	t["HostConfigVFlashCache"] = reflect.TypeOf((*HostConfigVFlashCache)(nil)).Elem()
 35271  }
 35272  
 35273  // The parameters of `HostVFlashManager.HostConfigVFlashCache`.
 35274  type HostConfigVFlashCacheRequestType struct {
 35275  	This ManagedObjectReference `xml:"_this" json:"-"`
 35276  	// Specification for host cache configuration.
 35277  	Spec HostVFlashManagerVFlashCacheConfigSpec `xml:"spec" json:"spec"`
 35278  }
 35279  
 35280  func init() {
 35281  	t["HostConfigVFlashCacheRequestType"] = reflect.TypeOf((*HostConfigVFlashCacheRequestType)(nil)).Elem()
 35282  }
 35283  
 35284  type HostConfigVFlashCacheResponse struct {
 35285  }
 35286  
 35287  type HostConfigureVFlashResource HostConfigureVFlashResourceRequestType
 35288  
 35289  func init() {
 35290  	t["HostConfigureVFlashResource"] = reflect.TypeOf((*HostConfigureVFlashResource)(nil)).Elem()
 35291  }
 35292  
 35293  // The parameters of `HostVFlashManager.HostConfigureVFlashResource`.
 35294  type HostConfigureVFlashResourceRequestType struct {
 35295  	This ManagedObjectReference `xml:"_this" json:"-"`
 35296  	// the vFlash resource specification.
 35297  	Spec HostVFlashManagerVFlashResourceConfigSpec `xml:"spec" json:"spec"`
 35298  }
 35299  
 35300  func init() {
 35301  	t["HostConfigureVFlashResourceRequestType"] = reflect.TypeOf((*HostConfigureVFlashResourceRequestType)(nil)).Elem()
 35302  }
 35303  
 35304  type HostConfigureVFlashResourceResponse struct {
 35305  }
 35306  
 35307  // A base clase for faults that are related to connecting or
 35308  // adding a host to the inventory.
 35309  type HostConnectFault struct {
 35310  	VimFault
 35311  }
 35312  
 35313  func init() {
 35314  	t["HostConnectFault"] = reflect.TypeOf((*HostConnectFault)(nil)).Elem()
 35315  }
 35316  
 35317  type HostConnectFaultFault BaseHostConnectFault
 35318  
 35319  func init() {
 35320  	t["HostConnectFaultFault"] = reflect.TypeOf((*HostConnectFaultFault)(nil)).Elem()
 35321  }
 35322  
 35323  // This data object type contains information about a single host that can be used by
 35324  // the connection wizard.
 35325  //
 35326  // This can be returned without adding the host to VirtualCenter.
 35327  type HostConnectInfo struct {
 35328  	DynamicData
 35329  
 35330  	// The IP address of the VirtualCenter already managing this host, if any.
 35331  	ServerIp string `xml:"serverIp,omitempty" json:"serverIp,omitempty"`
 35332  	// If the host is already being managed by a vCenter Server, this property
 35333  	// reports true if the host is also part of a vSphere HA enabled cluster.
 35334  	//
 35335  	// If
 35336  	// this is the case, remove or disconnect the host
 35337  	// from this cluster before adding it to another vCenter Server.
 35338  	InDasCluster *bool `xml:"inDasCluster" json:"inDasCluster,omitempty" vim:"5.0"`
 35339  	// Summary information about the host.
 35340  	//
 35341  	// The status fields and managed object
 35342  	// reference is not set when an object of this type is created. These fields and
 35343  	// references are typically set later when these objects are associated with a host.
 35344  	Host HostListSummary `xml:"host" json:"host"`
 35345  	// The list of virtual machines on the host.
 35346  	Vm []VirtualMachineSummary `xml:"vm,omitempty" json:"vm,omitempty"`
 35347  	// Whether or not the host requires a vimAccountName and password to be set in the
 35348  	// ConnectSpec.
 35349  	//
 35350  	// This is normally only required for VMware Server hosts.
 35351  	VimAccountNameRequired *bool `xml:"vimAccountNameRequired" json:"vimAccountNameRequired,omitempty"`
 35352  	// Whether or not the host supports clustering capabilities such as HA or DRS and
 35353  	// therefore can be added to a cluster.
 35354  	//
 35355  	// If false, the host must be added as a
 35356  	// standalone host.
 35357  	ClusterSupported *bool `xml:"clusterSupported" json:"clusterSupported,omitempty"`
 35358  	// The list of network information for networks configured on this host.
 35359  	Network []BaseHostConnectInfoNetworkInfo `xml:"network,omitempty,typeattr" json:"network,omitempty"`
 35360  	// The list of datastores on the host.
 35361  	Datastore []BaseHostDatastoreConnectInfo `xml:"datastore,omitempty,typeattr" json:"datastore,omitempty"`
 35362  	// License manager information on the host
 35363  	License *HostLicenseConnectInfo `xml:"license,omitempty" json:"license,omitempty" vim:"4.0"`
 35364  	// Host capabilities.
 35365  	Capability *HostCapability `xml:"capability,omitempty" json:"capability,omitempty" vim:"6.0"`
 35366  }
 35367  
 35368  func init() {
 35369  	t["HostConnectInfo"] = reflect.TypeOf((*HostConnectInfo)(nil)).Elem()
 35370  }
 35371  
 35372  // The base data object type for information about networks on the host.
 35373  type HostConnectInfoNetworkInfo struct {
 35374  	DynamicData
 35375  
 35376  	// Basic network information, such as network name.
 35377  	//
 35378  	// The managed object reference
 35379  	// is not set.
 35380  	Summary BaseNetworkSummary `xml:"summary,typeattr" json:"summary"`
 35381  }
 35382  
 35383  func init() {
 35384  	t["HostConnectInfoNetworkInfo"] = reflect.TypeOf((*HostConnectInfoNetworkInfo)(nil)).Elem()
 35385  }
 35386  
 35387  // Specifies the parameters needed to add a single host.
 35388  //
 35389  // This includes
 35390  // a small set of optional information about the host configuration.
 35391  // This allows the network and datastore configuration of the host to
 35392  // be synchronized with the naming conventions of the datacenter, as well
 35393  // as the configuration of a vim account (the username/password for the
 35394  // virtual machine files that is created on disk).
 35395  type HostConnectSpec struct {
 35396  	DynamicData
 35397  
 35398  	// The DNS name or IP address of the host.
 35399  	//
 35400  	// (Required for adding
 35401  	// a host.)
 35402  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 35403  	// The port number for the connection.
 35404  	//
 35405  	// If this is not specified,
 35406  	// the default port number is used. For ESX 2.x hosts this is the authd
 35407  	// port (902 by default). For ESX 3.x and above and VMware Server hosts
 35408  	// this is the https port (443 by default).
 35409  	// If this is a reconnect, the port number is unchanged.
 35410  	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
 35411  	// The thumbprint of the SSL certificate, which the host is
 35412  	// expected to have.
 35413  	//
 35414  	// If this value is set and matches the
 35415  	// certificate thumbprint presented by the host, then the host is
 35416  	// authenticated. If this value is not set or does not match the
 35417  	// certificate thumbprint presented by the host, then the host's
 35418  	// certificate is verified by checking whether it was signed by a
 35419  	// recognized CA.
 35420  	//
 35421  	// The thumbprint is always computed using the SHA1 hash and is
 35422  	// the string representation of that hash in the format:
 35423  	// xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
 35424  	// where, 'x' represents a hexadecimal digit
 35425  	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty" vim:"2.5"`
 35426  	// The administration account on the host.
 35427  	//
 35428  	// (Required for adding
 35429  	// a host.)
 35430  	UserName string `xml:"userName,omitempty" json:"userName,omitempty"`
 35431  	// The password for the administration account.
 35432  	//
 35433  	// (Required for adding
 35434  	// a host.)
 35435  	Password string `xml:"password,omitempty" json:"password,omitempty"`
 35436  	// The folder in which to store the existing virtual machines on the host.
 35437  	//
 35438  	// If this folder is not specified, a default folder is chosen
 35439  	// (and possibly created) by the VirtualCenter. This folder exists (or
 35440  	// is possibly created) on the
 35441  	// VirtualCenter server and is called "Discovered VM".
 35442  	//
 35443  	// Refers instance of `Folder`.
 35444  	VmFolder *ManagedObjectReference `xml:"vmFolder,omitempty" json:"vmFolder,omitempty"`
 35445  	// If this flag is set to "true", then the connection succeeds even
 35446  	// if the host is already being managed by another VirtualCenter server.
 35447  	//
 35448  	// The original VirtualCenter server loses connection to the host.
 35449  	Force bool `xml:"force" json:"force"`
 35450  	// The username to be used for accessing the virtual
 35451  	// machine files on the disk.
 35452  	VimAccountName string `xml:"vimAccountName,omitempty" json:"vimAccountName,omitempty"`
 35453  	// The password to be used with the
 35454  	// `vimAccountName`
 35455  	// property for accessing the virtual
 35456  	// machine files on the disk.
 35457  	VimAccountPassword string `xml:"vimAccountPassword,omitempty" json:"vimAccountPassword,omitempty"`
 35458  	// The IP address of the VirtualCenter server that will manage this host.
 35459  	//
 35460  	// This field can be used to control which IP address the VirtualCenter agent
 35461  	// will send heartbeats to. If it is not set, VirtualCenter will use the local IP
 35462  	// address used when communicating with the host. Setting this field is useful
 35463  	// when the VirtualCenter server is behind a NAT in which case the external NAT
 35464  	// address must be used.
 35465  	ManagementIp string `xml:"managementIp,omitempty" json:"managementIp,omitempty" vim:"4.0"`
 35466  	// If this is set then the host will be put in the specified lockdown mode
 35467  	// when the host is added and connected.
 35468  	//
 35469  	// It is used only when calling the APIs
 35470  	// `Folder.AddStandaloneHost_Task` with parameter 'addConnected' set to true,
 35471  	// or `ClusterComputeResource.AddHost_Task` with parameter 'asConnected'
 35472  	// set to true.
 35473  	// If the operation to add the host specifies that the host should only be
 35474  	// added but not connected, then the host won't be put in lockdown mode.
 35475  	//
 35476  	// This is equivalent to invoking
 35477  	// `HostAccessManager.ChangeLockdownMode`
 35478  	// immediately after addition and connection to the host succeeds.
 35479  	//
 35480  	// If equal to `lockdownDisabled`
 35481  	// then it is ignored.
 35482  	LockdownMode HostLockdownMode `xml:"lockdownMode,omitempty" json:"lockdownMode,omitempty" vim:"6.0"`
 35483  	// Deprecated not supported since vSphere 6.5.
 35484  	//
 35485  	// Setting for a gateway for communication to the host.
 35486  	//
 35487  	// If set all trafic to the
 35488  	// host will pass through this gateway.
 35489  	HostGateway *HostGatewaySpec `xml:"hostGateway,omitempty" json:"hostGateway,omitempty" vim:"6.0"`
 35490  }
 35491  
 35492  func init() {
 35493  	t["HostConnectSpec"] = reflect.TypeOf((*HostConnectSpec)(nil)).Elem()
 35494  }
 35495  
 35496  // This event records a successful host connection.
 35497  type HostConnectedEvent struct {
 35498  	HostEvent
 35499  }
 35500  
 35501  func init() {
 35502  	t["HostConnectedEvent"] = reflect.TypeOf((*HostConnectedEvent)(nil)).Elem()
 35503  }
 35504  
 35505  // This event records the loss of a host connection.
 35506  type HostConnectionLostEvent struct {
 35507  	HostEvent
 35508  }
 35509  
 35510  func init() {
 35511  	t["HostConnectionLostEvent"] = reflect.TypeOf((*HostConnectionLostEvent)(nil)).Elem()
 35512  }
 35513  
 35514  // The CpuIdInfo data object type is used to represent the CPU features of
 35515  // a particular host or product, or to specify what the CPU feature
 35516  // requirements are for a particular virtual machine or guest operating
 35517  // system.
 35518  //
 35519  // As of vSphere API 5.1 `FeatureMask` must be
 35520  // used for masking all hosts and is the recommended method for masking
 35521  // virtual machines with hardware version 9 and above (newer). CpuIdInfo
 35522  // should be used only to mask hardware version 8 and lower (older)
 35523  // virtual machines. Although CpuIdInfo can mask all virtual machines
 35524  // regardless of hardware version, its application is limited and has been
 35525  // superceded by FeatureMask.
 35526  //
 35527  // For each register (eax,ebx,ecx,edx), the string is a bit mask of the form:
 35528  //
 35529  //	????:????:????:????:????:????:????:????
 35530  //
 35531  // When used to represent the features of a specific processor package
 35532  // (`HostHardwareInfo.cpuPkg`), the features common to all
 35533  // processors on a host (`HostHardwareInfo.cpuFeature`), or the
 35534  // features supported by a virtualization platform
 35535  // (`HostCapability.supportedCpuFeature`), each bit is either '0'
 35536  // or '1', or '-' for unknown/unspecified. In these feature vectors, the
 35537  // vendor field is never set.
 35538  //
 35539  // Optional values in these feature vectors default to
 35540  // '----:----:----:----:----:----:----:----'.
 35541  //
 35542  // When specifying the required feature set for a virtual machine or a guest
 35543  // operating system, the bits can take on the values as described below, and
 35544  // the vendor field may be set. The total feature requirements for a virtual
 35545  // machine are composed by using any requirements listed in the virtual
 35546  // machine's configuration to override the requirements listed in the
 35547  // descriptor for the virtual machine's guest OS.
 35548  //
 35549  // Bits used for specifying requirements:
 35550  //   - `*x*`: Unused by guest software.
 35551  //   - `*T*`: Feature that the guest software requires to be enabled.
 35552  //   - `*F*`: Feature that the guest software requires to be disabled.
 35553  //   - `*1*`: Feature will be reported as enabled if queried by the guest
 35554  //     software.
 35555  //   - `*0*`: Feature will be reported as disabled if queried by the guest
 35556  //     software.
 35557  //   - `*R*`: Feature will be reported as disabled if queried by the guest
 35558  //     software; however, for VMotion the actual value of this
 35559  //     feature is required to be the same on both hosts.
 35560  //   - `*H*`: Used by guest software. For VMotion the value of this
 35561  //     feature is required to be the same on both hosts.
 35562  //   - `*-*`: This bit type is only used in the requirements stored in
 35563  //     the virtual machine's configuration. It indicates that, for
 35564  //     this bit position, the requirement from the guest OS
 35565  //     descriptor should be used instead.
 35566  //
 35567  // The values 'F' and '1' are rarely used but included for completeness. The
 35568  // '0' and '1' values do not promise a faithful virtualization of these
 35569  // features; whether the features work when forced to 0 or 1 is highly
 35570  // dependent on the guest software.
 35571  //
 35572  // Optional values in the requirements from the virtual machine's
 35573  // configuration default to '----:----:----:----:----:----:----:----'.
 35574  // Optional values in the requirements from the guest OS descriptor default
 35575  // to 'xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx'.
 35576  //
 35577  // Once the feature requirements for a virtual machine have been composed
 35578  // from the virtual machine's configuration and guest OS descriptor, the bit
 35579  // types above are used to identify whether or not the virtual machine
 35580  // can be powered on or be migrated with VMotion to a particular host.
 35581  // The rules are as follows:
 35582  //   - `*Power-on*`: Requirements marked as 'T' or 'F' must match bits
 35583  //     '1' or '0', respectively, in the features advertised by the HardwareInfo
 35584  //     of the power-on host.
 35585  //   - `*VMotion*`: Requirements marked as 'T' or 'F' must match bits
 35586  //     '1' or '0', respectively, in the features advertised by the HardwareInfo
 35587  //     of the destination host. Also, at the positions where requirements are
 35588  //     marked 'H' or 'R', the advertised value of that feature for the source
 35589  //     host must match that of the destination host.
 35590  type HostCpuIdInfo struct {
 35591  	DynamicData
 35592  
 35593  	// Level (EAX input to CPUID).
 35594  	Level int32 `xml:"level" json:"level"`
 35595  	// Used if this mask is for a particular vendor.
 35596  	Vendor string `xml:"vendor,omitempty" json:"vendor,omitempty"`
 35597  	// String representing the required EAX bits.
 35598  	Eax string `xml:"eax,omitempty" json:"eax,omitempty"`
 35599  	// String representing the required EBX bits.
 35600  	Ebx string `xml:"ebx,omitempty" json:"ebx,omitempty"`
 35601  	// String representing the required ECX bits.
 35602  	Ecx string `xml:"ecx,omitempty" json:"ecx,omitempty"`
 35603  	// String representing the required EDX bits.
 35604  	Edx string `xml:"edx,omitempty" json:"edx,omitempty"`
 35605  }
 35606  
 35607  func init() {
 35608  	t["HostCpuIdInfo"] = reflect.TypeOf((*HostCpuIdInfo)(nil)).Elem()
 35609  }
 35610  
 35611  // Information about the CPUs.
 35612  type HostCpuInfo struct {
 35613  	DynamicData
 35614  
 35615  	// Number of physical CPU packages on the host.
 35616  	NumCpuPackages int16 `xml:"numCpuPackages" json:"numCpuPackages"`
 35617  	// Number of physical CPU cores on the host.
 35618  	NumCpuCores int16 `xml:"numCpuCores" json:"numCpuCores"`
 35619  	// Number of physical CPU threads on the host.
 35620  	NumCpuThreads int16 `xml:"numCpuThreads" json:"numCpuThreads"`
 35621  	// CPU speed per core.
 35622  	//
 35623  	// This might be an averaged value if the speed
 35624  	// is not uniform across all cores. The total CPU speed of the box is
 35625  	// defined as hz \* numCpuCores
 35626  	Hz int64 `xml:"hz" json:"hz"`
 35627  }
 35628  
 35629  func init() {
 35630  	t["HostCpuInfo"] = reflect.TypeOf((*HostCpuInfo)(nil)).Elem()
 35631  }
 35632  
 35633  // Information about a physical CPU package.
 35634  type HostCpuPackage struct {
 35635  	DynamicData
 35636  
 35637  	// Package index, starting from zero.
 35638  	Index int16 `xml:"index" json:"index"`
 35639  	// CPU vendor name, possible names currently are "Intel", "AMD",
 35640  	// "arm", "hygon", or "unknown".
 35641  	Vendor string `xml:"vendor" json:"vendor"`
 35642  	// CPU speed in HZ.
 35643  	Hz int64 `xml:"hz" json:"hz"`
 35644  	// Bus speed in HZ.
 35645  	BusHz int64 `xml:"busHz" json:"busHz"`
 35646  	// String summary description of CPU (for display purposes).
 35647  	Description string `xml:"description" json:"description"`
 35648  	// The logical CPU threads on this package.
 35649  	ThreadId []int16 `xml:"threadId" json:"threadId"`
 35650  	// The CPU feature bit on this particular CPU.
 35651  	//
 35652  	// This is independent of
 35653  	// the product and licensing capabilities.
 35654  	CpuFeature []HostCpuIdInfo `xml:"cpuFeature,omitempty" json:"cpuFeature,omitempty"`
 35655  }
 35656  
 35657  func init() {
 35658  	t["HostCpuPackage"] = reflect.TypeOf((*HostCpuPackage)(nil)).Elem()
 35659  }
 35660  
 35661  // The CpuPowerManagementInfo data object type describes supported
 35662  // power management and current policy.
 35663  type HostCpuPowerManagementInfo struct {
 35664  	DynamicData
 35665  
 35666  	// Information about current CPU power management policy.
 35667  	CurrentPolicy string `xml:"currentPolicy,omitempty" json:"currentPolicy,omitempty"`
 35668  	// Information about supported CPU power management.
 35669  	HardwareSupport string `xml:"hardwareSupport,omitempty" json:"hardwareSupport,omitempty"`
 35670  }
 35671  
 35672  func init() {
 35673  	t["HostCpuPowerManagementInfo"] = reflect.TypeOf((*HostCpuPowerManagementInfo)(nil)).Elem()
 35674  	minAPIVersionForType["HostCpuPowerManagementInfo"] = "4.0"
 35675  }
 35676  
 35677  // The parameters of `HostVStorageObjectManager.HostCreateDisk_Task`.
 35678  type HostCreateDiskRequestType struct {
 35679  	This ManagedObjectReference `xml:"_this" json:"-"`
 35680  	// The specification of the virtual storage object
 35681  	// to be created.
 35682  	// 2
 35683  	Spec VslmCreateSpec `xml:"spec" json:"spec"`
 35684  }
 35685  
 35686  func init() {
 35687  	t["HostCreateDiskRequestType"] = reflect.TypeOf((*HostCreateDiskRequestType)(nil)).Elem()
 35688  }
 35689  
 35690  type HostCreateDisk_Task HostCreateDiskRequestType
 35691  
 35692  func init() {
 35693  	t["HostCreateDisk_Task"] = reflect.TypeOf((*HostCreateDisk_Task)(nil)).Elem()
 35694  }
 35695  
 35696  type HostCreateDisk_TaskResponse struct {
 35697  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 35698  }
 35699  
 35700  // This event records when HA has been disabled on a host.
 35701  type HostDasDisabledEvent struct {
 35702  	HostEvent
 35703  }
 35704  
 35705  func init() {
 35706  	t["HostDasDisabledEvent"] = reflect.TypeOf((*HostDasDisabledEvent)(nil)).Elem()
 35707  }
 35708  
 35709  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 35710  //
 35711  // This event records when HA is being disabled on a host.
 35712  type HostDasDisablingEvent struct {
 35713  	HostEvent
 35714  }
 35715  
 35716  func init() {
 35717  	t["HostDasDisablingEvent"] = reflect.TypeOf((*HostDasDisablingEvent)(nil)).Elem()
 35718  }
 35719  
 35720  // This event records when HA has been enabled on a host.
 35721  type HostDasEnabledEvent struct {
 35722  	HostEvent
 35723  }
 35724  
 35725  func init() {
 35726  	t["HostDasEnabledEvent"] = reflect.TypeOf((*HostDasEnabledEvent)(nil)).Elem()
 35727  }
 35728  
 35729  // This event records when HA is being enabled on a host.
 35730  type HostDasEnablingEvent struct {
 35731  	HostEvent
 35732  }
 35733  
 35734  func init() {
 35735  	t["HostDasEnablingEvent"] = reflect.TypeOf((*HostDasEnablingEvent)(nil)).Elem()
 35736  }
 35737  
 35738  // Deprecated as of vSphere API 5.0, the Server will generate the `EventEx` event
 35739  // with the `EventEx.eventTypeId` property set to "com.vmware.vc.HA.HostAgentErrorEvent".
 35740  //
 35741  // This event records when there is a HA error on a host.
 35742  type HostDasErrorEvent struct {
 35743  	HostEvent
 35744  
 35745  	Message string `xml:"message,omitempty" json:"message,omitempty"`
 35746  	// The reason for the failure.
 35747  	Reason string `xml:"reason,omitempty" json:"reason,omitempty" vim:"4.0"`
 35748  }
 35749  
 35750  func init() {
 35751  	t["HostDasErrorEvent"] = reflect.TypeOf((*HostDasErrorEvent)(nil)).Elem()
 35752  }
 35753  
 35754  // Top-level event for host DAS events to extend.
 35755  type HostDasEvent struct {
 35756  	HostEvent
 35757  }
 35758  
 35759  func init() {
 35760  	t["HostDasEvent"] = reflect.TypeOf((*HostDasEvent)(nil)).Elem()
 35761  	minAPIVersionForType["HostDasEvent"] = "2.5"
 35762  }
 35763  
 35764  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 35765  //
 35766  // This event records when HA on a host returns to normal after an error.
 35767  type HostDasOkEvent struct {
 35768  	HostEvent
 35769  }
 35770  
 35771  func init() {
 35772  	t["HostDasOkEvent"] = reflect.TypeOf((*HostDasOkEvent)(nil)).Elem()
 35773  }
 35774  
 35775  // DataTransportConnectionInfo contains common information about data transport
 35776  // connections on a host.
 35777  type HostDataTransportConnectionInfo struct {
 35778  	DynamicData
 35779  
 35780  	// Static memory consumption by a connection in bytes like buffer sizes, heap sizes, etc.
 35781  	StaticMemoryConsumed int64 `xml:"staticMemoryConsumed" json:"staticMemoryConsumed"`
 35782  }
 35783  
 35784  func init() {
 35785  	t["HostDataTransportConnectionInfo"] = reflect.TypeOf((*HostDataTransportConnectionInfo)(nil)).Elem()
 35786  	minAPIVersionForType["HostDataTransportConnectionInfo"] = "7.0.3.0"
 35787  }
 35788  
 35789  // This data object type contains the results of a search method for one datastore.
 35790  //
 35791  // A
 35792  // search method typically returns a set of these objects as an array.
 35793  type HostDatastoreBrowserSearchResults struct {
 35794  	DynamicData
 35795  
 35796  	// Datastore contains the results.
 35797  	//
 35798  	// Refers instance of `Datastore`.
 35799  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 35800  	// Relative path to the top-level folder.
 35801  	FolderPath string `xml:"folderPath,omitempty" json:"folderPath,omitempty"`
 35802  	// Set of matching files, if any.
 35803  	File []BaseFileInfo `xml:"file,omitempty,typeattr" json:"file,omitempty"`
 35804  }
 35805  
 35806  func init() {
 35807  	t["HostDatastoreBrowserSearchResults"] = reflect.TypeOf((*HostDatastoreBrowserSearchResults)(nil)).Elem()
 35808  }
 35809  
 35810  // The data object type describes a search for files in one or more datastores.
 35811  //
 35812  // The
 35813  // properties do not include the starting datastore path because that path is a
 35814  // separate parameter to the search method.
 35815  //
 35816  // A SearchSpec contains the query parameters and some global search modifiers.
 35817  type HostDatastoreBrowserSearchSpec struct {
 35818  	DynamicData
 35819  
 35820  	// The set of file types to match, search criteria specific to the file type, and
 35821  	// the amount of detail for a file.
 35822  	//
 35823  	// These search parameters are specific to a file
 35824  	// type, meaning that they can be specified only if the file type to which they
 35825  	// are associated is in the set. A file type cannot appear more than once in the
 35826  	// set.
 35827  	//
 35828  	// If this query object is not present, then all files providing only file level
 35829  	// details are matched.
 35830  	Query []BaseFileQuery `xml:"query,omitempty,typeattr" json:"query,omitempty"`
 35831  	// This object comprises a set of booleans that describe what details to return
 35832  	// for each file.
 35833  	//
 35834  	// The file level details apply globally to all matched files.
 35835  	Details *FileQueryFlags `xml:"details,omitempty" json:"details,omitempty"`
 35836  	// This flag indicates whether or not to search using a case insensitive match on
 35837  	// type.
 35838  	//
 35839  	// In general the algorithm used to match file types relies on file
 35840  	// extensions. Although the specific file extensions used are encapsulated by this
 35841  	// API, clients are still allowed to modify the filtering behavior.
 35842  	//
 35843  	// By default, the DatastoreBrowser uses a platform-consistent algorithm to
 35844  	// determine if a file is of a type. Specifically on Linux, where case is
 35845  	// important, the search is case sensitive. On Windows, case is not important, so
 35846  	// the search is case insensitive.
 35847  	//
 35848  	// In an environment with heterogenous platforms, being platform-consistent may
 35849  	// not be desirable. As a result, the default behavior can be overridden by
 35850  	// setting this optional flag.
 35851  	SearchCaseInsensitive *bool `xml:"searchCaseInsensitive" json:"searchCaseInsensitive,omitempty"`
 35852  	// Specifies a list of file patterns that must match for a file to be returned.
 35853  	//
 35854  	// This search property is a filter that applies globally so that only files
 35855  	// matching the specified patterns are returned, regardless of the other search
 35856  	// parameters.
 35857  	MatchPattern []string `xml:"matchPattern,omitempty" json:"matchPattern,omitempty"`
 35858  	// By default, files are sorted in alphabetical order regardless of file type.
 35859  	//
 35860  	// If
 35861  	// this flag is set to "true", folders are placed at the start of the list of
 35862  	// results in alphabetical order. The remaining files follow in alphabetical
 35863  	// order.
 35864  	SortFoldersFirst *bool `xml:"sortFoldersFirst" json:"sortFoldersFirst,omitempty"`
 35865  }
 35866  
 35867  func init() {
 35868  	t["HostDatastoreBrowserSearchSpec"] = reflect.TypeOf((*HostDatastoreBrowserSearchSpec)(nil)).Elem()
 35869  }
 35870  
 35871  // The base data object type for information about datastores on the host.
 35872  type HostDatastoreConnectInfo struct {
 35873  	DynamicData
 35874  
 35875  	// Basic datastore information.
 35876  	//
 35877  	// The managed object reference is not set.
 35878  	Summary DatastoreSummary `xml:"summary" json:"summary"`
 35879  }
 35880  
 35881  func init() {
 35882  	t["HostDatastoreConnectInfo"] = reflect.TypeOf((*HostDatastoreConnectInfo)(nil)).Elem()
 35883  }
 35884  
 35885  // This data object type describes a datastore on the host that matches an existing
 35886  // datastore on VirtualCenter that has a different name.
 35887  type HostDatastoreExistsConnectInfo struct {
 35888  	HostDatastoreConnectInfo
 35889  
 35890  	// The name of a matching datastore on VirtualCenter.
 35891  	//
 35892  	// The datastore on the host
 35893  	// will be renamed to this name.
 35894  	NewDatastoreName string `xml:"newDatastoreName" json:"newDatastoreName"`
 35895  }
 35896  
 35897  func init() {
 35898  	t["HostDatastoreExistsConnectInfo"] = reflect.TypeOf((*HostDatastoreExistsConnectInfo)(nil)).Elem()
 35899  }
 35900  
 35901  // This data object type describes a datastore on the host that has the same name as
 35902  // a different datastore on VirtualCenter.
 35903  type HostDatastoreNameConflictConnectInfo struct {
 35904  	HostDatastoreConnectInfo
 35905  
 35906  	// To resolve a conflict with existing datastores, a suggested new name of the
 35907  	// datastore can be provided.
 35908  	NewDatastoreName string `xml:"newDatastoreName" json:"newDatastoreName"`
 35909  }
 35910  
 35911  func init() {
 35912  	t["HostDatastoreNameConflictConnectInfo"] = reflect.TypeOf((*HostDatastoreNameConflictConnectInfo)(nil)).Elem()
 35913  }
 35914  
 35915  // Capability vector indicating the available product features.
 35916  type HostDatastoreSystemCapabilities struct {
 35917  	DynamicData
 35918  
 35919  	// Indicates whether mounting the NFS volume is required to be done as part
 35920  	// of NAS datastore creation.
 35921  	//
 35922  	// If this is set to true, then NAS datastores
 35923  	// cannot be created for currently mounted NFS volumes.
 35924  	NfsMountCreationRequired bool `xml:"nfsMountCreationRequired" json:"nfsMountCreationRequired"`
 35925  	// Indicates whether mounting an NFS volume is supported
 35926  	// when a NAS datastore is created.
 35927  	//
 35928  	// If this option is false,
 35929  	// then NAS datastores corresponding to NFS volumes can be created
 35930  	// only for already mounted NFS volumes.
 35931  	NfsMountCreationSupported bool `xml:"nfsMountCreationSupported" json:"nfsMountCreationSupported"`
 35932  	// Indicates whether local datastores are supported.
 35933  	LocalDatastoreSupported bool `xml:"localDatastoreSupported" json:"localDatastoreSupported"`
 35934  	// Indicates whether vmfs extent expansion is supported.
 35935  	VmfsExtentExpansionSupported *bool `xml:"vmfsExtentExpansionSupported" json:"vmfsExtentExpansionSupported,omitempty" vim:"4.0"`
 35936  }
 35937  
 35938  func init() {
 35939  	t["HostDatastoreSystemCapabilities"] = reflect.TypeOf((*HostDatastoreSystemCapabilities)(nil)).Elem()
 35940  	minAPIVersionForType["HostDatastoreSystemCapabilities"] = "2.5"
 35941  }
 35942  
 35943  // Contains result of remove datastore request.
 35944  //
 35945  // Used as return value
 35946  // by `HostDatastoreSystem.RemoveDatastoreEx_Task`
 35947  type HostDatastoreSystemDatastoreResult struct {
 35948  	DynamicData
 35949  
 35950  	// Datastore removed
 35951  	//
 35952  	// Refers instance of `Datastore`.
 35953  	Key ManagedObjectReference `xml:"key" json:"key"`
 35954  	// Fault if removal fails
 35955  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 35956  }
 35957  
 35958  func init() {
 35959  	t["HostDatastoreSystemDatastoreResult"] = reflect.TypeOf((*HostDatastoreSystemDatastoreResult)(nil)).Elem()
 35960  	minAPIVersionForType["HostDatastoreSystemDatastoreResult"] = "6.0"
 35961  }
 35962  
 35963  // Specification for creating Virtual Volumed based datastore.
 35964  type HostDatastoreSystemVvolDatastoreSpec struct {
 35965  	DynamicData
 35966  
 35967  	// Name of the datastore.
 35968  	Name string `xml:"name" json:"name"`
 35969  	// Storage contained Id.
 35970  	//
 35971  	// This is used to retrieve configuration of the
 35972  	// storage container from SMS.
 35973  	ScId string `xml:"scId" json:"scId"`
 35974  }
 35975  
 35976  func init() {
 35977  	t["HostDatastoreSystemVvolDatastoreSpec"] = reflect.TypeOf((*HostDatastoreSystemVvolDatastoreSpec)(nil)).Elem()
 35978  	minAPIVersionForType["HostDatastoreSystemVvolDatastoreSpec"] = "6.0"
 35979  }
 35980  
 35981  // This data object represents the dateTime configuration of the host.
 35982  type HostDateTimeConfig struct {
 35983  	DynamicData
 35984  
 35985  	// The time zone of the host.
 35986  	//
 35987  	// Must be one of the values of
 35988  	// `HostDateTimeSystemTimeZone.key`
 35989  	TimeZone string `xml:"timeZone,omitempty" json:"timeZone,omitempty"`
 35990  	// The NTP configuration on the host.
 35991  	NtpConfig *HostNtpConfig `xml:"ntpConfig,omitempty" json:"ntpConfig,omitempty"`
 35992  	// The PTP configuration on the host.
 35993  	PtpConfig *HostPtpConfig `xml:"ptpConfig,omitempty" json:"ptpConfig,omitempty" vim:"7.0.3.0"`
 35994  	// Specify which network time configuration to discipline vmkernel clock.
 35995  	//
 35996  	// See `HostDateTimeInfoProtocol_enum` for supported values.
 35997  	Protocol string `xml:"protocol,omitempty" json:"protocol,omitempty" vim:"7.0.3.0"`
 35998  	// Bring Time services subsystem up or down.
 35999  	Enabled *bool `xml:"enabled" json:"enabled,omitempty" vim:"7.0.3.0"`
 36000  	// When Network Time service or Precision Time service are enabled
 36001  	// any detecteced failures will result in Events being sent to
 36002  	// Virtual Center.
 36003  	//
 36004  	// Use this setting to disable Time Events.
 36005  	DisableEvents *bool `xml:"disableEvents" json:"disableEvents,omitempty" vim:"7.0.3.0"`
 36006  	// When in PrecisionTimeSync, NTP configuration as set will be
 36007  	// running as backup.
 36008  	//
 36009  	// Use this setting to prevent NTP from becoming
 36010  	// the primary time protocol in the event of a PTP service failure.
 36011  	DisableFallback *bool `xml:"disableFallback" json:"disableFallback,omitempty" vim:"7.0.3.0"`
 36012  	// When this property is present and set true the existing
 36013  	// configuration for Time Services will be reset to factory default.
 36014  	//
 36015  	// The protocol property when set defines the scope of what is reset.
 36016  	// If additional configuration beyond protocol is provided host
 36017  	// will first perform factory reset followed by applying any configuration
 36018  	// present.
 36019  	ResetToFactoryDefaults *bool `xml:"resetToFactoryDefaults" json:"resetToFactoryDefaults,omitempty" vim:"7.0.3.0"`
 36020  }
 36021  
 36022  func init() {
 36023  	t["HostDateTimeConfig"] = reflect.TypeOf((*HostDateTimeConfig)(nil)).Elem()
 36024  	minAPIVersionForType["HostDateTimeConfig"] = "2.5"
 36025  }
 36026  
 36027  // This data object represents the dateTime configuration of the host.
 36028  type HostDateTimeInfo struct {
 36029  	DynamicData
 36030  
 36031  	// The time zone of the host.
 36032  	TimeZone HostDateTimeSystemTimeZone `xml:"timeZone" json:"timeZone"`
 36033  	// The system clock synchronization protocol.
 36034  	//
 36035  	// See `HostDateTimeInfoProtocol_enum` for possible values.
 36036  	SystemClockProtocol string `xml:"systemClockProtocol,omitempty" json:"systemClockProtocol,omitempty" vim:"7.0"`
 36037  	// The NTP configuration on the host.
 36038  	NtpConfig *HostNtpConfig `xml:"ntpConfig,omitempty" json:"ntpConfig,omitempty"`
 36039  	// The PTP configuration on the host.
 36040  	PtpConfig *HostPtpConfig `xml:"ptpConfig,omitempty" json:"ptpConfig,omitempty" vim:"7.0.3.0"`
 36041  	// Present state of the time services subsystem.
 36042  	Enabled *bool `xml:"enabled" json:"enabled,omitempty" vim:"7.0.3.0"`
 36043  	// When not disabled Network Time service or Precision Time service
 36044  	// will send events to Virtual Center when service fails or recovers.
 36045  	DisableEvents *bool `xml:"disableEvents" json:"disableEvents,omitempty" vim:"7.0.3.0"`
 36046  	// When not disabled, if PrecisionTimeSync is configured, then the
 36047  	// NTP configuration can run as backup.
 36048  	DisableFallback *bool `xml:"disableFallback" json:"disableFallback,omitempty" vim:"7.0.3.0"`
 36049  	// Tracks if NTP is providing time to ESXi due to PTP service failure.
 36050  	//
 36051  	// This is set only if disableFallback is set to false.
 36052  	InFallbackState *bool `xml:"inFallbackState" json:"inFallbackState,omitempty" vim:"7.0.3.0"`
 36053  	// Report true if time is synchronized with remote time source
 36054  	// For PrecisionTimeSync this is obtained from PTP Port Status value.
 36055  	//
 36056  	// For NetworkTimeProtocol this obtained from Leap Indicator value.
 36057  	ServiceSync *bool `xml:"serviceSync" json:"serviceSync,omitempty" vim:"7.0.3.0"`
 36058  	// Timestamp when time services were last in sync with remote clock.
 36059  	//
 36060  	// If not set, time services have never established synchronization.
 36061  	LastSyncTime *time.Time `xml:"lastSyncTime" json:"lastSyncTime,omitempty" vim:"7.0.3.0"`
 36062  	// Provides the NTP server that the host is synced with from the
 36063  	// set of servers configured.
 36064  	RemoteNtpServer string `xml:"remoteNtpServer,omitempty" json:"remoteNtpServer,omitempty" vim:"7.0.3.0"`
 36065  	// Provides the total seconds ntpd process has been running for.
 36066  	NtpRunTime int64 `xml:"ntpRunTime,omitempty" json:"ntpRunTime,omitempty" vim:"7.0.3.0"`
 36067  	// Provides the total seconds ptpd process has been running for.
 36068  	PtpRunTime int64 `xml:"ptpRunTime,omitempty" json:"ptpRunTime,omitempty" vim:"7.0.3.0"`
 36069  	// Provides a duration in simplified, human-readable form
 36070  	// for the lifetime of the ntp service.
 36071  	NtpDuration string `xml:"ntpDuration,omitempty" json:"ntpDuration,omitempty" vim:"7.0.3.0"`
 36072  	// Provides a duration in simplified, human-readable form
 36073  	// for the lifetime of the ptp service.
 36074  	PtpDuration string `xml:"ptpDuration,omitempty" json:"ptpDuration,omitempty" vim:"7.0.3.0"`
 36075  }
 36076  
 36077  func init() {
 36078  	t["HostDateTimeInfo"] = reflect.TypeOf((*HostDateTimeInfo)(nil)).Elem()
 36079  	minAPIVersionForType["HostDateTimeInfo"] = "2.5"
 36080  }
 36081  
 36082  type HostDateTimeSystemServiceTestResult struct {
 36083  	DynamicData
 36084  
 36085  	// Value is true if time services are presently working normally.
 36086  	WorkingNormally bool `xml:"workingNormally" json:"workingNormally"`
 36087  	// Returns details of the checks done to verify time services are working.
 36088  	Report []string `xml:"report,omitempty" json:"report,omitempty"`
 36089  }
 36090  
 36091  func init() {
 36092  	t["HostDateTimeSystemServiceTestResult"] = reflect.TypeOf((*HostDateTimeSystemServiceTestResult)(nil)).Elem()
 36093  }
 36094  
 36095  type HostDateTimeSystemTimeZone struct {
 36096  	DynamicData
 36097  
 36098  	// The identifier for the time zone.
 36099  	Key string `xml:"key" json:"key"`
 36100  	// The time zone name.
 36101  	Name string `xml:"name" json:"name"`
 36102  	// Description of the time zone.
 36103  	Description string `xml:"description" json:"description"`
 36104  	// The GMT offset in seconds that is currently applicable to the timezone
 36105  	// (with respect to the current time on the host).
 36106  	GmtOffset int32 `xml:"gmtOffset" json:"gmtOffset"`
 36107  }
 36108  
 36109  func init() {
 36110  	t["HostDateTimeSystemTimeZone"] = reflect.TypeOf((*HostDateTimeSystemTimeZone)(nil)).Elem()
 36111  }
 36112  
 36113  // The parameters of `HostVStorageObjectManager.HostDeleteVStorageObjectEx_Task`.
 36114  type HostDeleteVStorageObjectExRequestType struct {
 36115  	This ManagedObjectReference `xml:"_this" json:"-"`
 36116  	// The ID of the virtual storage object to be deleted.
 36117  	Id ID `xml:"id" json:"id"`
 36118  	// The datastore where the virtual storage object is
 36119  	// located.
 36120  	//
 36121  	// Refers instance of `Datastore`.
 36122  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 36123  }
 36124  
 36125  func init() {
 36126  	t["HostDeleteVStorageObjectExRequestType"] = reflect.TypeOf((*HostDeleteVStorageObjectExRequestType)(nil)).Elem()
 36127  }
 36128  
 36129  type HostDeleteVStorageObjectEx_Task HostDeleteVStorageObjectExRequestType
 36130  
 36131  func init() {
 36132  	t["HostDeleteVStorageObjectEx_Task"] = reflect.TypeOf((*HostDeleteVStorageObjectEx_Task)(nil)).Elem()
 36133  }
 36134  
 36135  type HostDeleteVStorageObjectEx_TaskResponse struct {
 36136  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 36137  }
 36138  
 36139  // The parameters of `HostVStorageObjectManager.HostDeleteVStorageObject_Task`.
 36140  type HostDeleteVStorageObjectRequestType struct {
 36141  	This ManagedObjectReference `xml:"_this" json:"-"`
 36142  	// The ID of the virtual storage object to be deleted.
 36143  	Id ID `xml:"id" json:"id"`
 36144  	// The datastore where the virtual storage object is
 36145  	// located.
 36146  	//
 36147  	// Refers instance of `Datastore`.
 36148  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 36149  }
 36150  
 36151  func init() {
 36152  	t["HostDeleteVStorageObjectRequestType"] = reflect.TypeOf((*HostDeleteVStorageObjectRequestType)(nil)).Elem()
 36153  }
 36154  
 36155  type HostDeleteVStorageObject_Task HostDeleteVStorageObjectRequestType
 36156  
 36157  func init() {
 36158  	t["HostDeleteVStorageObject_Task"] = reflect.TypeOf((*HostDeleteVStorageObject_Task)(nil)).Elem()
 36159  }
 36160  
 36161  type HostDeleteVStorageObject_TaskResponse struct {
 36162  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 36163  }
 36164  
 36165  // Data object describing the deployment information for a host.
 36166  type HostDeploymentInfo struct {
 36167  	DynamicData
 36168  
 36169  	// Flag indicating if the host was booted from stateless cache.
 36170  	BootedFromStatelessCache *bool `xml:"bootedFromStatelessCache" json:"bootedFromStatelessCache,omitempty"`
 36171  }
 36172  
 36173  func init() {
 36174  	t["HostDeploymentInfo"] = reflect.TypeOf((*HostDeploymentInfo)(nil)).Elem()
 36175  	minAPIVersionForType["HostDeploymentInfo"] = "6.5"
 36176  }
 36177  
 36178  // This data object type defines a device on the host.
 36179  type HostDevice struct {
 36180  	DynamicData
 36181  
 36182  	// The name of the device on the host.
 36183  	//
 36184  	// For example,
 36185  	// /dev/cdrom or \\\\serverX\\device\_name.
 36186  	DeviceName string `xml:"deviceName" json:"deviceName"`
 36187  	// Device type when available:
 36188  	// floppy, mouse, cdrom, disk, scsi device, or adapter.
 36189  	DeviceType string `xml:"deviceType" json:"deviceType"`
 36190  }
 36191  
 36192  func init() {
 36193  	t["HostDevice"] = reflect.TypeOf((*HostDevice)(nil)).Elem()
 36194  }
 36195  
 36196  // A dynamic host control protocol (DHCP) service instance serves IP
 36197  // addresses to a single virtual network subnet.
 36198  //
 36199  // The instances may
 36200  // be handled collectively by a single server. This decision can
 36201  // be made during implementation.
 36202  type HostDhcpService struct {
 36203  	DynamicData
 36204  
 36205  	// The instance ID of the DHCP service.
 36206  	Key string `xml:"key" json:"key"`
 36207  	// Configurable properties for the DHCP service.
 36208  	Spec HostDhcpServiceSpec `xml:"spec" json:"spec"`
 36209  }
 36210  
 36211  func init() {
 36212  	t["HostDhcpService"] = reflect.TypeOf((*HostDhcpService)(nil)).Elem()
 36213  	minAPIVersionForType["HostDhcpService"] = "2.5"
 36214  }
 36215  
 36216  // This data object type describes the configuration of a DHCP service
 36217  // instance representing both the configured properties
 36218  // on the instance and identification information.
 36219  type HostDhcpServiceConfig struct {
 36220  	DynamicData
 36221  
 36222  	// Indicates the change operation to apply on this configuration
 36223  	// specification.
 36224  	//
 36225  	// See also `HostConfigChangeOperation_enum`.
 36226  	ChangeOperation string `xml:"changeOperation,omitempty" json:"changeOperation,omitempty"`
 36227  	// The instance ID of the DHCP service.
 36228  	Key string `xml:"key" json:"key"`
 36229  	// Specification of the DHCP service.
 36230  	Spec HostDhcpServiceSpec `xml:"spec" json:"spec"`
 36231  }
 36232  
 36233  func init() {
 36234  	t["HostDhcpServiceConfig"] = reflect.TypeOf((*HostDhcpServiceConfig)(nil)).Elem()
 36235  	minAPIVersionForType["HostDhcpServiceConfig"] = "2.5"
 36236  }
 36237  
 36238  type HostDhcpServiceSpec struct {
 36239  	DynamicData
 36240  
 36241  	// The name of the virtual switch to which DHCP service is connected.
 36242  	VirtualSwitch string `xml:"virtualSwitch" json:"virtualSwitch"`
 36243  	// The default DHCP lease duration (minutes).
 36244  	DefaultLeaseDuration int32 `xml:"defaultLeaseDuration" json:"defaultLeaseDuration"`
 36245  	// The start of the IP address range served by the DHCP service.
 36246  	LeaseBeginIp string `xml:"leaseBeginIp" json:"leaseBeginIp"`
 36247  	// The end of the IP address range served by the DHCP service.
 36248  	LeaseEndIp string `xml:"leaseEndIp" json:"leaseEndIp"`
 36249  	// The maximum DHCP lease duration (minutes).
 36250  	MaxLeaseDuration int32 `xml:"maxLeaseDuration" json:"maxLeaseDuration"`
 36251  	// A flag to indicate whether or not unlimited DHCP lease
 36252  	// durations are allowed.
 36253  	UnlimitedLease bool `xml:"unlimitedLease" json:"unlimitedLease"`
 36254  	// Subnet served by DHCP service.
 36255  	IpSubnetAddr string `xml:"ipSubnetAddr" json:"ipSubnetAddr"`
 36256  	// Subnet mask of network served by DHCP service.
 36257  	IpSubnetMask string `xml:"ipSubnetMask" json:"ipSubnetMask"`
 36258  }
 36259  
 36260  func init() {
 36261  	t["HostDhcpServiceSpec"] = reflect.TypeOf((*HostDhcpServiceSpec)(nil)).Elem()
 36262  }
 36263  
 36264  // This data object type contains information about an available or active
 36265  // diagnostic partition.
 36266  type HostDiagnosticPartition struct {
 36267  	DynamicData
 36268  
 36269  	// Indicates the storage type of the diagnostic partition.
 36270  	//
 36271  	// See also `DiagnosticPartitionStorageType_enum`.
 36272  	StorageType string `xml:"storageType" json:"storageType"`
 36273  	// Indicates the type of the diagnostic partition.
 36274  	//
 36275  	// See also `DiagnosticPartitionType_enum`.
 36276  	DiagnosticType string `xml:"diagnosticType" json:"diagnosticType"`
 36277  	// The number of slots in the diagnostic partition.
 36278  	Slots int32 `xml:"slots" json:"slots"`
 36279  	// Diagnostic partition identification information.
 36280  	Id HostScsiDiskPartition `xml:"id" json:"id"`
 36281  }
 36282  
 36283  func init() {
 36284  	t["HostDiagnosticPartition"] = reflect.TypeOf((*HostDiagnosticPartition)(nil)).Elem()
 36285  }
 36286  
 36287  // The diagnostic partition create description details what will be done
 36288  // to create a new diagnostic partition on a disk.
 36289  //
 36290  // It contains a CreateSpec
 36291  // that can be submitted to create the partition and information that can
 36292  // be shown to the user.
 36293  type HostDiagnosticPartitionCreateDescription struct {
 36294  	DynamicData
 36295  
 36296  	// Layout describing the format of the disk
 36297  	// In releases after vSphere API 5.0, vSphere Servers might not
 36298  	// generate property collector update notifications for this property.
 36299  	//
 36300  	// To obtain the latest value of the property, you can use
 36301  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 36302  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 36303  	// an empty string for the version parameter.
 36304  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 36305  	// contain values for this property when some other property on the DataObject changes.
 36306  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 36307  	// version parameter, the value for this property may not be current.
 36308  	Layout HostDiskPartitionLayout `xml:"layout" json:"layout"`
 36309  	// The UUID of the SCSI disk on which to create the diagnostic partition.
 36310  	//
 36311  	// This disk UUID will match that found in the identification field of the
 36312  	// creation spec.
 36313  	//
 36314  	// See also `HostScsiDisk`, `ScsiLun.uuid`.
 36315  	DiskUuid string `xml:"diskUuid" json:"diskUuid"`
 36316  	// Creation specification for diagnostic partition
 36317  	Spec HostDiagnosticPartitionCreateSpec `xml:"spec" json:"spec"`
 36318  }
 36319  
 36320  func init() {
 36321  	t["HostDiagnosticPartitionCreateDescription"] = reflect.TypeOf((*HostDiagnosticPartitionCreateDescription)(nil)).Elem()
 36322  }
 36323  
 36324  // This data object describes a disk that can be used to create a
 36325  // diagnostic partition.
 36326  type HostDiagnosticPartitionCreateOption struct {
 36327  	DynamicData
 36328  
 36329  	// Indicates the storage type of diagnostic partition to be created.
 36330  	//
 36331  	// See also `DiagnosticPartitionStorageType_enum`.
 36332  	StorageType string `xml:"storageType" json:"storageType"`
 36333  	// Indicates the type of the diagnostic partition to be created.
 36334  	//
 36335  	// See also `DiagnosticPartitionType_enum`.
 36336  	DiagnosticType string `xml:"diagnosticType" json:"diagnosticType"`
 36337  	// The disk which has sufficient free space to contain a diagnostic
 36338  	// partition.
 36339  	Disk HostScsiDisk `xml:"disk" json:"disk"`
 36340  }
 36341  
 36342  func init() {
 36343  	t["HostDiagnosticPartitionCreateOption"] = reflect.TypeOf((*HostDiagnosticPartitionCreateOption)(nil)).Elem()
 36344  }
 36345  
 36346  // The diagnostic create specification is used by the system to create a new
 36347  // diagnostic partition on a SCSI disk.
 36348  type HostDiagnosticPartitionCreateSpec struct {
 36349  	DynamicData
 36350  
 36351  	// Indicates the storage type where the diagnostic partition
 36352  	// will be created.
 36353  	//
 36354  	// See also `DiagnosticPartitionStorageType_enum`.
 36355  	StorageType string `xml:"storageType" json:"storageType"`
 36356  	// Indicates the type of the diagnostic partition to be created.
 36357  	//
 36358  	// See also `DiagnosticPartitionType_enum`.
 36359  	DiagnosticType string `xml:"diagnosticType" json:"diagnosticType"`
 36360  	// Diagnostic partition identification information.
 36361  	Id HostScsiDiskPartition `xml:"id" json:"id"`
 36362  	// Partitioning specification.
 36363  	Partition HostDiskPartitionSpec `xml:"partition" json:"partition"`
 36364  	// Indicates if the created diagnostic partition should be made the
 36365  	// active diagnostic partition.
 36366  	//
 36367  	// If not supplied, the system will
 36368  	// decide whether or not the created specification is active.
 36369  	Active *bool `xml:"active" json:"active,omitempty"`
 36370  }
 36371  
 36372  func init() {
 36373  	t["HostDiagnosticPartitionCreateSpec"] = reflect.TypeOf((*HostDiagnosticPartitionCreateSpec)(nil)).Elem()
 36374  }
 36375  
 36376  // This data object type describes the digest information
 36377  type HostDigestInfo struct {
 36378  	DynamicData
 36379  
 36380  	// Method in which the digest value is calculated.
 36381  	//
 36382  	// The set of possible
 36383  	// values is described in `HostDigestInfoDigestMethodType_enum`.
 36384  	DigestMethod string `xml:"digestMethod" json:"digestMethod"`
 36385  	// The variable length byte array containing the digest value calculated by
 36386  	// the specified digestMethod.
 36387  	DigestValue []byte `xml:"digestValue" json:"digestValue"`
 36388  	// The name of the object from which this digest value is calcaulated.
 36389  	ObjectName string `xml:"objectName,omitempty" json:"objectName,omitempty"`
 36390  }
 36391  
 36392  func init() {
 36393  	t["HostDigestInfo"] = reflect.TypeOf((*HostDigestInfo)(nil)).Elem()
 36394  	minAPIVersionForType["HostDigestInfo"] = "4.0"
 36395  }
 36396  
 36397  // `HostDirectoryStoreInfo` is a base class for objects that
 36398  // provide information about directory-based authentication stores.
 36399  type HostDirectoryStoreInfo struct {
 36400  	HostAuthenticationStoreInfo
 36401  }
 36402  
 36403  func init() {
 36404  	t["HostDirectoryStoreInfo"] = reflect.TypeOf((*HostDirectoryStoreInfo)(nil)).Elem()
 36405  	minAPIVersionForType["HostDirectoryStoreInfo"] = "4.1"
 36406  }
 36407  
 36408  // This event records a disconnection from a host.
 36409  type HostDisconnectedEvent struct {
 36410  	HostEvent
 36411  
 36412  	// Reason why the host was disconnected.
 36413  	Reason string `xml:"reason,omitempty" json:"reason,omitempty" vim:"4.0"`
 36414  }
 36415  
 36416  func init() {
 36417  	t["HostDisconnectedEvent"] = reflect.TypeOf((*HostDisconnectedEvent)(nil)).Elem()
 36418  }
 36419  
 36420  // Disk configuration result returns success or fault of the
 36421  // operation on the disk.
 36422  type HostDiskConfigurationResult struct {
 36423  	DynamicData
 36424  
 36425  	// The device path.
 36426  	//
 36427  	// See `ScsiDisk`
 36428  	DevicePath string `xml:"devicePath,omitempty" json:"devicePath,omitempty"`
 36429  	// Flag to indicate if the operation is successful
 36430  	Success *bool `xml:"success" json:"success,omitempty"`
 36431  	// 'fault' would be set if the operation was not successful
 36432  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 36433  }
 36434  
 36435  func init() {
 36436  	t["HostDiskConfigurationResult"] = reflect.TypeOf((*HostDiskConfigurationResult)(nil)).Elem()
 36437  	minAPIVersionForType["HostDiskConfigurationResult"] = "5.5"
 36438  }
 36439  
 36440  // This data object type describes multiple coordinate systems
 36441  // used to refer to a location or size on a disk.
 36442  type HostDiskDimensions struct {
 36443  	DynamicData
 36444  }
 36445  
 36446  func init() {
 36447  	t["HostDiskDimensions"] = reflect.TypeOf((*HostDiskDimensions)(nil)).Elem()
 36448  }
 36449  
 36450  // This data object type describes dimensions using the cylinder,
 36451  // head, sector (CHS) coordinate system.
 36452  //
 36453  // This coordinate system
 36454  // is generally needed for partitioning for legacy reasons. When defining
 36455  // partitions, many partitioning utilities do not function correctly when
 36456  // certain CHS constraints are not met.
 36457  type HostDiskDimensionsChs struct {
 36458  	DynamicData
 36459  
 36460  	// The number of cylinders.
 36461  	Cylinder int64 `xml:"cylinder" json:"cylinder"`
 36462  	// The number of heads per cylinders.
 36463  	Head int32 `xml:"head" json:"head"`
 36464  	// The number of sectors per head.
 36465  	Sector int32 `xml:"sector" json:"sector"`
 36466  }
 36467  
 36468  func init() {
 36469  	t["HostDiskDimensionsChs"] = reflect.TypeOf((*HostDiskDimensionsChs)(nil)).Elem()
 36470  }
 36471  
 36472  // This data object type describes the logical block addressing system
 36473  // that uses block numbers and block sizes to refer to a block.
 36474  //
 36475  // This
 36476  // scheme is employed by SCSI. If a SCSI disk is not involved,
 36477  // then blockSize is 512 bytes.
 36478  type HostDiskDimensionsLba struct {
 36479  	DynamicData
 36480  
 36481  	// The size of the blocks.
 36482  	BlockSize int32 `xml:"blockSize" json:"blockSize"`
 36483  	// The number of blocks.
 36484  	Block int64 `xml:"block" json:"block"`
 36485  }
 36486  
 36487  func init() {
 36488  	t["HostDiskDimensionsLba"] = reflect.TypeOf((*HostDiskDimensionsLba)(nil)).Elem()
 36489  }
 36490  
 36491  // The HostDiskMappingInfo data object type describes
 36492  // a virtual disk mapping to a host disk.
 36493  type HostDiskMappingInfo struct {
 36494  	DynamicData
 36495  
 36496  	// The partition used on the host, if not mapping
 36497  	// to a full disk device.
 36498  	PhysicalPartition *HostDiskMappingPartitionInfo `xml:"physicalPartition,omitempty" json:"physicalPartition,omitempty"`
 36499  	// Host resource name.
 36500  	Name string `xml:"name" json:"name"`
 36501  	// Flag to indicate whether or not the virtual machine has exclusive access
 36502  	// to the host device.
 36503  	Exclusive *bool `xml:"exclusive" json:"exclusive,omitempty"`
 36504  }
 36505  
 36506  func init() {
 36507  	t["HostDiskMappingInfo"] = reflect.TypeOf((*HostDiskMappingInfo)(nil)).Elem()
 36508  }
 36509  
 36510  // The HostDiskMappingOption data object type describes
 36511  // the options for a virtual disk mapping to a host disk.
 36512  type HostDiskMappingOption struct {
 36513  	DynamicData
 36514  
 36515  	// Array of valid partitions on this physical disk.
 36516  	//
 36517  	// There is no default for this array.
 36518  	PhysicalPartition []HostDiskMappingPartitionOption `xml:"physicalPartition,omitempty" json:"physicalPartition,omitempty"`
 36519  	// Host resource name.
 36520  	Name string `xml:"name" json:"name"`
 36521  }
 36522  
 36523  func init() {
 36524  	t["HostDiskMappingOption"] = reflect.TypeOf((*HostDiskMappingOption)(nil)).Elem()
 36525  }
 36526  
 36527  // The PhysicalPartitionInfo data class.
 36528  type HostDiskMappingPartitionInfo struct {
 36529  	DynamicData
 36530  
 36531  	// Partition name.
 36532  	Name string `xml:"name" json:"name"`
 36533  	// Filesystem, if the partition is formatted.
 36534  	FileSystem string `xml:"fileSystem" json:"fileSystem"`
 36535  	// Partition capacity, in KB.
 36536  	CapacityInKb int64 `xml:"capacityInKb" json:"capacityInKb"`
 36537  }
 36538  
 36539  func init() {
 36540  	t["HostDiskMappingPartitionInfo"] = reflect.TypeOf((*HostDiskMappingPartitionInfo)(nil)).Elem()
 36541  }
 36542  
 36543  // The PhysicalPartitionOption data class contains the options
 36544  // for a partition on a physical disk.
 36545  type HostDiskMappingPartitionOption struct {
 36546  	DynamicData
 36547  
 36548  	// Partition name.
 36549  	Name string `xml:"name" json:"name"`
 36550  	// File system, if the partition is formatted.
 36551  	FileSystem string `xml:"fileSystem" json:"fileSystem"`
 36552  	// Partition capacity, in KB.
 36553  	CapacityInKb int64 `xml:"capacityInKb" json:"capacityInKb"`
 36554  }
 36555  
 36556  func init() {
 36557  	t["HostDiskMappingPartitionOption"] = reflect.TypeOf((*HostDiskMappingPartitionOption)(nil)).Elem()
 36558  }
 36559  
 36560  // Information about a single disk partition.
 36561  //
 36562  // A partition is a contiguous
 36563  // set of blocks on a disk that is marked for use. The typeId identifies
 36564  // the purpose of the data in the partition.
 36565  type HostDiskPartitionAttributes struct {
 36566  	DynamicData
 36567  
 36568  	// The partition number.
 36569  	//
 36570  	// Must be a positive integer.
 36571  	Partition int32 `xml:"partition" json:"partition"`
 36572  	// The start sector.
 36573  	StartSector int64 `xml:"startSector" json:"startSector"`
 36574  	// The end sector.
 36575  	EndSector int64 `xml:"endSector" json:"endSector"`
 36576  	// Type of data in the partition.
 36577  	//
 36578  	// If it is a well-known partition type,
 36579  	// it will be one of the defined types. If it is not, then it will be
 36580  	// reported as a hexadecimal number. For example, "none", "vmfs", "linux",
 36581  	// and "0x20" are all valid values.
 36582  	//
 36583  	// See also `HostDiskPartitionInfoType_enum`.
 36584  	Type string `xml:"type" json:"type"`
 36585  	// Globally Unique Identifier of the partition, as defined by the GUID
 36586  	// Partition Table (GPT) format.
 36587  	//
 36588  	// This is available only for GPT formatted
 36589  	// disks.
 36590  	Guid string `xml:"guid,omitempty" json:"guid,omitempty" vim:"5.0"`
 36591  	// The flag to indicate whether or not the partition is
 36592  	// logical.
 36593  	//
 36594  	// If true, the partition
 36595  	// number should be greater than 4.
 36596  	Logical bool `xml:"logical" json:"logical"`
 36597  	// The attributes on the partition.
 36598  	Attributes byte `xml:"attributes" json:"attributes"`
 36599  	// Partition alignment in bytes.
 36600  	//
 36601  	// If unset, partition alignment value is unknown.
 36602  	PartitionAlignment int64 `xml:"partitionAlignment,omitempty" json:"partitionAlignment,omitempty" vim:"5.0"`
 36603  }
 36604  
 36605  func init() {
 36606  	t["HostDiskPartitionAttributes"] = reflect.TypeOf((*HostDiskPartitionAttributes)(nil)).Elem()
 36607  }
 36608  
 36609  // A BlockRange data object type describes a contiguous set of blocks
 36610  // on a disk.
 36611  //
 36612  // A BlockRange may describe either a partition or
 36613  // unpartitioned (primordial) blocks on the disk.
 36614  type HostDiskPartitionBlockRange struct {
 36615  	DynamicData
 36616  
 36617  	// Partition number.
 36618  	//
 36619  	// This number is a hint from the server indicating
 36620  	// what the partition number for this block range is if the range
 36621  	// corresponds to a partition. The partition number should correlate to
 36622  	// the one in the partition specification. If sent back to the server,
 36623  	// this property is ignored.
 36624  	Partition int32 `xml:"partition,omitempty" json:"partition,omitempty"`
 36625  	// The type of data in the partition.
 36626  	//
 36627  	// See also `HostDiskPartitionAttributes.type`.
 36628  	Type string `xml:"type" json:"type"`
 36629  	// The starting block address of the disk range.
 36630  	//
 36631  	// The block numbers start
 36632  	// from zero. The range is inclusive of the end address.
 36633  	Start HostDiskDimensionsLba `xml:"start" json:"start"`
 36634  	// The end block address of the disk range.
 36635  	//
 36636  	// The block numbers start
 36637  	// from zero. The range is inclusive of the end address.
 36638  	End HostDiskDimensionsLba `xml:"end" json:"end"`
 36639  }
 36640  
 36641  func init() {
 36642  	t["HostDiskPartitionBlockRange"] = reflect.TypeOf((*HostDiskPartitionBlockRange)(nil)).Elem()
 36643  }
 36644  
 36645  // Information about the partitions on a disk.
 36646  //
 36647  // A DiskPartitionInfo object
 36648  // provides two different views into the partitions on a disk:
 36649  //   - A detailed specification that is used to create the partition
 36650  //     table.
 36651  //   - A convenient view that shows the allocations
 36652  //     of blocks as a contiguous sequence of block ranges.
 36653  //
 36654  // See also `HostStorageSystem.RetrieveDiskPartitionInfo`, `HostStorageSystem.ComputeDiskPartitionInfo`, `HostStorageSystem.UpdateDiskPartitions`.
 36655  type HostDiskPartitionInfo struct {
 36656  	DynamicData
 36657  
 36658  	// The device name of the disk to which this partition information
 36659  	// corresponds.
 36660  	DeviceName string `xml:"deviceName" json:"deviceName"`
 36661  	// The detailed disk partition specification.
 36662  	//
 36663  	// Use this specification for
 36664  	// manipulating the file system.
 36665  	//
 36666  	// See also `HostStorageSystem.RetrieveDiskPartitionInfo`, `HostStorageSystem.UpdateDiskPartitions`.
 36667  	Spec HostDiskPartitionSpec `xml:"spec" json:"spec"`
 36668  	// A convenient format for describing disk layout.
 36669  	//
 36670  	// This layout
 36671  	// specification can be converted to a Specification object.
 36672  	//
 36673  	// See also `HostStorageSystem.ComputeDiskPartitionInfo`.
 36674  	Layout HostDiskPartitionLayout `xml:"layout" json:"layout"`
 36675  }
 36676  
 36677  func init() {
 36678  	t["HostDiskPartitionInfo"] = reflect.TypeOf((*HostDiskPartitionInfo)(nil)).Elem()
 36679  }
 36680  
 36681  // This data object type describes the disk partition layout
 36682  // specified as a list of ordered BlockRanges.
 36683  //
 36684  // This
 36685  // view of the disk partitions shows the data on the disk as a contiguous
 36686  // set of BlockRanges.
 36687  type HostDiskPartitionLayout struct {
 36688  	DynamicData
 36689  
 36690  	// Total number of blocks on a disk.
 36691  	Total *HostDiskDimensionsLba `xml:"total,omitempty" json:"total,omitempty"`
 36692  	// List of block ranges on the disk.
 36693  	Partition []HostDiskPartitionBlockRange `xml:"partition" json:"partition"`
 36694  }
 36695  
 36696  func init() {
 36697  	t["HostDiskPartitionLayout"] = reflect.TypeOf((*HostDiskPartitionLayout)(nil)).Elem()
 36698  }
 36699  
 36700  // This data object type describes the disk partition table
 36701  // specification used to configure the partitions on a
 36702  // disk.
 36703  //
 36704  // This data object represents the fundamental data needed to specify
 36705  // a partition table.
 36706  type HostDiskPartitionSpec struct {
 36707  	DynamicData
 36708  
 36709  	// Partition format type on the disk.
 36710  	PartitionFormat string `xml:"partitionFormat,omitempty" json:"partitionFormat,omitempty" vim:"5.0"`
 36711  	// Disk dimensions expressed as cylinder, head, sector (CHS)
 36712  	// coordinates.
 36713  	Chs *HostDiskDimensionsChs `xml:"chs,omitempty" json:"chs,omitempty"`
 36714  	// Disk dimensions expressed as a total number of sectors.
 36715  	//
 36716  	// For sector size, see the `sectorSize` field.
 36717  	TotalSectors int64 `xml:"totalSectors,omitempty" json:"totalSectors,omitempty"`
 36718  	// List of partitions on the disk.
 36719  	Partition []HostDiskPartitionAttributes `xml:"partition,omitempty" json:"partition,omitempty"`
 36720  }
 36721  
 36722  func init() {
 36723  	t["HostDiskPartitionSpec"] = reflect.TypeOf((*HostDiskPartitionSpec)(nil)).Elem()
 36724  }
 36725  
 36726  // This data object type describes the DNS configuration.
 36727  //
 36728  // All IPv4 addresses, subnet addresses, and netmasks are specified using
 36729  // dotted decimal notation. For example, "192.0.2.1".
 36730  // IPv6 addresses are 128-bit addresses represented as
 36731  // eight fields of up to four hexadecimal digits.
 36732  // A colon separates each field (:). For example,
 36733  // 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the
 36734  // symbol '::' to represent multiple 16-bit groups of
 36735  // contiguous 0's only once in an address as described in RFC 2373.
 36736  type HostDnsConfig struct {
 36737  	DynamicData
 36738  
 36739  	// The flag to indicate whether or not DHCP (dynamic host control
 36740  	// protocol) is used to determine DNS configuration automatically.
 36741  	Dhcp bool `xml:"dhcp" json:"dhcp"`
 36742  	// If DHCP is enabled, the DHCP DNS of the vmkernel nic will override
 36743  	// the system's DNS.
 36744  	//
 36745  	// This field applies to both IPv4 and IPv6 DNS settings
 36746  	// if `ipv6VirtualNicDevice`
 36747  	// is unset, otherwise it is applicable only for IPv4 setting.
 36748  	// This field is ignored if DHCP is disabled by the
 36749  	// `dhcp` property.
 36750  	VirtualNicDevice string `xml:"virtualNicDevice,omitempty" json:"virtualNicDevice,omitempty"`
 36751  	// If DHCP is enabled, the IPv6 DHCP DNS of the vmkernel nic will override
 36752  	// the system's IPv6 DNS.
 36753  	//
 36754  	// This field is ignored if DHCP is disabled by the
 36755  	// `dhcp` property.
 36756  	Ipv6VirtualNicDevice string `xml:"ipv6VirtualNicDevice,omitempty" json:"ipv6VirtualNicDevice,omitempty" vim:"6.7"`
 36757  	// The host name portion of DNS name.
 36758  	//
 36759  	// For example, "esx01".
 36760  	//
 36761  	// `*Note*`: When DHCP is not enabled, the property can be set
 36762  	// explicitly. When DHCP is enabled, the property reflects the current
 36763  	// DNS configuration, but cannot be set.
 36764  	// The hostName can't have character '.' in it when set explicitly.
 36765  	HostName string `xml:"hostName" json:"hostName"`
 36766  	// The domain name portion of the DNS name.
 36767  	//
 36768  	// For example, "vmware.com".
 36769  	//
 36770  	// `*Note*`: When DHCP is not enabled, the property can be set
 36771  	// explicitly. When DHCP is enabled, the property reflects the current
 36772  	// DNS configuration, but cannot be set.
 36773  	DomainName string `xml:"domainName" json:"domainName"`
 36774  	// The IP addresses of the DNS servers, placed in order of preference.
 36775  	//
 36776  	// `*Note*`: When DHCP is not enabled, the property can be set
 36777  	// explicitly. When DHCP is enabled, the property reflects the current
 36778  	// DNS configuration, but cannot be set.
 36779  	Address []string `xml:"address,omitempty" json:"address,omitempty"`
 36780  	// The domain in which to search for hosts, placed in order of preference.
 36781  	//
 36782  	// `*Note*`: When DHCP is not enabled, the property can be set
 36783  	// explicitly. When DHCP is enabled, the property reflects the current
 36784  	// DNS configuration, but cannot be set.
 36785  	SearchDomain []string `xml:"searchDomain,omitempty" json:"searchDomain,omitempty"`
 36786  }
 36787  
 36788  func init() {
 36789  	t["HostDnsConfig"] = reflect.TypeOf((*HostDnsConfig)(nil)).Elem()
 36790  }
 36791  
 36792  // Dataobject for configuring the DNS settings on the host.
 36793  type HostDnsConfigSpec struct {
 36794  	HostDnsConfig
 36795  
 36796  	// Choose a Virtual nic based on what it is connected to.
 36797  	VirtualNicConnection *HostVirtualNicConnection `xml:"virtualNicConnection,omitempty" json:"virtualNicConnection,omitempty"`
 36798  	// Choose an IPv6 Virtual nic based on what it is connected to.
 36799  	VirtualNicConnectionV6 *HostVirtualNicConnection `xml:"virtualNicConnectionV6,omitempty" json:"virtualNicConnectionV6,omitempty" vim:"6.7"`
 36800  }
 36801  
 36802  func init() {
 36803  	t["HostDnsConfigSpec"] = reflect.TypeOf((*HostDnsConfigSpec)(nil)).Elem()
 36804  	minAPIVersionForType["HostDnsConfigSpec"] = "4.0"
 36805  }
 36806  
 36807  // Provides information about a single Device Virtualization Extensions (DVX)
 36808  // device class.
 36809  type HostDvxClass struct {
 36810  	DynamicData
 36811  
 36812  	// The class name.
 36813  	DeviceClass string `xml:"deviceClass" json:"deviceClass"`
 36814  	// Indicates whether checkpointing is supported.
 36815  	CheckpointSupported bool `xml:"checkpointSupported" json:"checkpointSupported"`
 36816  	// Indicates whether software Direct Memory Access (DMA)
 36817  	// tracing is supported.
 36818  	SwDMATracingSupported bool `xml:"swDMATracingSupported" json:"swDMATracingSupported"`
 36819  	// Indicates whether the devices of this class are SR-IOV NICs.
 36820  	SriovNic bool `xml:"sriovNic" json:"sriovNic"`
 36821  }
 36822  
 36823  func init() {
 36824  	t["HostDvxClass"] = reflect.TypeOf((*HostDvxClass)(nil)).Elem()
 36825  	minAPIVersionForType["HostDvxClass"] = "8.0.0.1"
 36826  }
 36827  
 36828  // This event records the failure to restore some of the administrator's permissions.
 36829  type HostEnableAdminFailedEvent struct {
 36830  	HostEvent
 36831  
 36832  	Permissions []Permission `xml:"permissions" json:"permissions"`
 36833  }
 36834  
 36835  func init() {
 36836  	t["HostEnableAdminFailedEvent"] = reflect.TypeOf((*HostEnableAdminFailedEvent)(nil)).Elem()
 36837  	minAPIVersionForType["HostEnableAdminFailedEvent"] = "2.5"
 36838  }
 36839  
 36840  // EnterMaintenanceResult is the result returned to the
 36841  // `HostSystem.QueryWhatIfEnterMaintenance` method.
 36842  type HostEnterMaintenanceResult struct {
 36843  	DynamicData
 36844  
 36845  	// VM specific faults that would prevent host from
 36846  	// entering maintenance mode.
 36847  	VmFaults []FaultsByVM `xml:"vmFaults,omitempty" json:"vmFaults,omitempty"`
 36848  	// Host specific faults that would prevent host from
 36849  	// entering maintenance mode.
 36850  	HostFaults []FaultsByHost `xml:"hostFaults,omitempty" json:"hostFaults,omitempty"`
 36851  }
 36852  
 36853  func init() {
 36854  	t["HostEnterMaintenanceResult"] = reflect.TypeOf((*HostEnterMaintenanceResult)(nil)).Elem()
 36855  	minAPIVersionForType["HostEnterMaintenanceResult"] = "6.7"
 36856  }
 36857  
 36858  type HostEsxAgentHostManagerConfigInfo struct {
 36859  	DynamicData
 36860  
 36861  	// Datastore used for deploying Agent VMs on this host.
 36862  	//
 36863  	// Refers instance of `Datastore`.
 36864  	AgentVmDatastore *ManagedObjectReference `xml:"agentVmDatastore,omitempty" json:"agentVmDatastore,omitempty"`
 36865  	// Management Network for Agent VMs on this host.
 36866  	//
 36867  	// Refers instance of `Network`.
 36868  	AgentVmNetwork *ManagedObjectReference `xml:"agentVmNetwork,omitempty" json:"agentVmNetwork,omitempty"`
 36869  }
 36870  
 36871  func init() {
 36872  	t["HostEsxAgentHostManagerConfigInfo"] = reflect.TypeOf((*HostEsxAgentHostManagerConfigInfo)(nil)).Elem()
 36873  }
 36874  
 36875  // These are host-related events.
 36876  type HostEvent struct {
 36877  	Event
 36878  }
 36879  
 36880  func init() {
 36881  	t["HostEvent"] = reflect.TypeOf((*HostEvent)(nil)).Elem()
 36882  }
 36883  
 36884  // The event argument is a Host object.
 36885  type HostEventArgument struct {
 36886  	EntityEventArgument
 36887  
 36888  	// The host object.
 36889  	//
 36890  	// Refers instance of `HostSystem`.
 36891  	Host ManagedObjectReference `xml:"host" json:"host"`
 36892  }
 36893  
 36894  func init() {
 36895  	t["HostEventArgument"] = reflect.TypeOf((*HostEventArgument)(nil)).Elem()
 36896  }
 36897  
 36898  // The parameters of `HostVStorageObjectManager.HostExtendDisk_Task`.
 36899  type HostExtendDiskRequestType struct {
 36900  	This ManagedObjectReference `xml:"_this" json:"-"`
 36901  	// The ID of the virtual disk to be extended.
 36902  	Id ID `xml:"id" json:"id"`
 36903  	// The datastore where the virtual disk is located.
 36904  	//
 36905  	// Refers instance of `Datastore`.
 36906  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 36907  	// The new capacity of the virtual disk in MB.
 36908  	NewCapacityInMB int64 `xml:"newCapacityInMB" json:"newCapacityInMB"`
 36909  }
 36910  
 36911  func init() {
 36912  	t["HostExtendDiskRequestType"] = reflect.TypeOf((*HostExtendDiskRequestType)(nil)).Elem()
 36913  }
 36914  
 36915  type HostExtendDisk_Task HostExtendDiskRequestType
 36916  
 36917  func init() {
 36918  	t["HostExtendDisk_Task"] = reflect.TypeOf((*HostExtendDisk_Task)(nil)).Elem()
 36919  }
 36920  
 36921  type HostExtendDisk_TaskResponse struct {
 36922  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 36923  }
 36924  
 36925  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 36926  //
 36927  // This event records the fact that a host has extra networks not used by
 36928  // other hosts for HA communication
 36929  type HostExtraNetworksEvent struct {
 36930  	HostDasEvent
 36931  
 36932  	// The comma-separated list of extra networks
 36933  	Ips string `xml:"ips,omitempty" json:"ips,omitempty"`
 36934  }
 36935  
 36936  func init() {
 36937  	t["HostExtraNetworksEvent"] = reflect.TypeOf((*HostExtraNetworksEvent)(nil)).Elem()
 36938  	minAPIVersionForType["HostExtraNetworksEvent"] = "4.0"
 36939  }
 36940  
 36941  // Data structure for component health information of a virtual machine.
 36942  type HostFaultToleranceManagerComponentHealthInfo struct {
 36943  	DynamicData
 36944  
 36945  	// Whether the virtual machine can access the datastores configured.
 36946  	IsStorageHealthy bool `xml:"isStorageHealthy" json:"isStorageHealthy"`
 36947  	// Whether the virtual machine can access the VM network configured.
 36948  	IsNetworkHealthy bool `xml:"isNetworkHealthy" json:"isNetworkHealthy"`
 36949  }
 36950  
 36951  func init() {
 36952  	t["HostFaultToleranceManagerComponentHealthInfo"] = reflect.TypeOf((*HostFaultToleranceManagerComponentHealthInfo)(nil)).Elem()
 36953  	minAPIVersionForType["HostFaultToleranceManagerComponentHealthInfo"] = "6.0"
 36954  }
 36955  
 36956  // A feature that the host is able to provide at a particular value.
 36957  type HostFeatureCapability struct {
 36958  	DynamicData
 36959  
 36960  	// Accessor name to the feature capability.
 36961  	Key string `xml:"key" json:"key"`
 36962  	// Name of the feature.
 36963  	//
 36964  	// Identical to the key.
 36965  	FeatureName string `xml:"featureName" json:"featureName"`
 36966  	// Opaque value that the feature is capable at.
 36967  	Value string `xml:"value" json:"value"`
 36968  }
 36969  
 36970  func init() {
 36971  	t["HostFeatureCapability"] = reflect.TypeOf((*HostFeatureCapability)(nil)).Elem()
 36972  	minAPIVersionForType["HostFeatureCapability"] = "5.1"
 36973  }
 36974  
 36975  // A mask that is applied to a host feature capability.
 36976  type HostFeatureMask struct {
 36977  	DynamicData
 36978  
 36979  	// Accessor name to the feature mask.
 36980  	Key string `xml:"key" json:"key"`
 36981  	// Name of the feature Identical to the key.
 36982  	FeatureName string `xml:"featureName" json:"featureName"`
 36983  	// Opaque value to change the host feature capability to.
 36984  	//
 36985  	// Masking operation is contained in the value.
 36986  	Value string `xml:"value" json:"value"`
 36987  }
 36988  
 36989  func init() {
 36990  	t["HostFeatureMask"] = reflect.TypeOf((*HostFeatureMask)(nil)).Elem()
 36991  	minAPIVersionForType["HostFeatureMask"] = "5.1"
 36992  }
 36993  
 36994  // Feature-specific version information for a host
 36995  type HostFeatureVersionInfo struct {
 36996  	DynamicData
 36997  
 36998  	// A unique key that identifies a feature, list of possible values are
 36999  	// specified in `HostFeatureVersionKey_enum`
 37000  	Key string `xml:"key" json:"key"`
 37001  	// The version string of this feature
 37002  	Value string `xml:"value" json:"value"`
 37003  }
 37004  
 37005  func init() {
 37006  	t["HostFeatureVersionInfo"] = reflect.TypeOf((*HostFeatureVersionInfo)(nil)).Elem()
 37007  	minAPIVersionForType["HostFeatureVersionInfo"] = "4.1"
 37008  }
 37009  
 37010  // This data object type describes the Fibre Channel host bus adapter.
 37011  type HostFibreChannelHba struct {
 37012  	HostHostBusAdapter
 37013  
 37014  	// The world wide port name for the adapter.
 37015  	PortWorldWideName int64 `xml:"portWorldWideName" json:"portWorldWideName"`
 37016  	// The world wide node name for the adapter.
 37017  	NodeWorldWideName int64 `xml:"nodeWorldWideName" json:"nodeWorldWideName"`
 37018  	// The type of the fiber channel port.
 37019  	PortType FibreChannelPortType `xml:"portType" json:"portType"`
 37020  	// The current operating speed of the adapter in
 37021  	// bits per second.
 37022  	Speed int64 `xml:"speed" json:"speed"`
 37023  }
 37024  
 37025  func init() {
 37026  	t["HostFibreChannelHba"] = reflect.TypeOf((*HostFibreChannelHba)(nil)).Elem()
 37027  }
 37028  
 37029  // This data object type describes the FCoE host bus adapter
 37030  // interface.
 37031  //
 37032  // Terminology is borrowed from T11's working draft of the Fibre Channel
 37033  // Backbone 5 standard (FC-BB-5). The draft can be found at
 37034  // http://www.t11.org.
 37035  type HostFibreChannelOverEthernetHba struct {
 37036  	HostFibreChannelHba
 37037  
 37038  	// The name associated with this FCoE HBA's underlying FcoeNic.
 37039  	UnderlyingNic string `xml:"underlyingNic" json:"underlyingNic"`
 37040  	// Link information that can be used to uniquely identify this FCoE HBA.
 37041  	LinkInfo HostFibreChannelOverEthernetHbaLinkInfo `xml:"linkInfo" json:"linkInfo"`
 37042  	// True if this host bus adapter is a software based FCoE initiator.
 37043  	IsSoftwareFcoe bool `xml:"isSoftwareFcoe" json:"isSoftwareFcoe"`
 37044  	// Deprecated as of vSphere API 8.0. Software FCoE not supported.
 37045  	//
 37046  	// True if this host bus adapter has been marked for removal.
 37047  	MarkedForRemoval *bool `xml:"markedForRemoval" json:"markedForRemoval,omitempty"`
 37048  }
 37049  
 37050  func init() {
 37051  	t["HostFibreChannelOverEthernetHba"] = reflect.TypeOf((*HostFibreChannelOverEthernetHba)(nil)).Elem()
 37052  	minAPIVersionForType["HostFibreChannelOverEthernetHba"] = "5.0"
 37053  }
 37054  
 37055  // Represents FCoE link information.
 37056  //
 37057  // The link information represents a VNPort to VFPort Virtual Link, as
 37058  // described in the FC-BB-5 standard, with the addition of the VLAN ID
 37059  // over which a link exists.
 37060  type HostFibreChannelOverEthernetHbaLinkInfo struct {
 37061  	DynamicData
 37062  
 37063  	// VNPort MAC address, as defined by the FC-BB-5 standard.
 37064  	//
 37065  	// This MAC address should be of the form "xx:xx:xx:xx:xx:xx", where
 37066  	// 'x' is a hexadecimal digit. Valid MAC addresses are unicast
 37067  	// addresses.
 37068  	VnportMac string `xml:"vnportMac" json:"vnportMac"`
 37069  	// FCF MAC address, also known as the VFPort MAC address in the FC-BB-5
 37070  	// standard.
 37071  	//
 37072  	// This MAC address should be of the form "xx:xx:xx:xx:xx:xx", where
 37073  	// 'x' is a hexadecimal digit. Valid MAC addresses are unicast
 37074  	// addresses.
 37075  	FcfMac string `xml:"fcfMac" json:"fcfMac"`
 37076  	// VLAN ID.
 37077  	//
 37078  	// This field represents the VLAN on which an FCoE HBA was
 37079  	// discovered. Valid numbers fall into the range \[0,4094\].
 37080  	VlanId int32 `xml:"vlanId" json:"vlanId"`
 37081  }
 37082  
 37083  func init() {
 37084  	t["HostFibreChannelOverEthernetHbaLinkInfo"] = reflect.TypeOf((*HostFibreChannelOverEthernetHbaLinkInfo)(nil)).Elem()
 37085  	minAPIVersionForType["HostFibreChannelOverEthernetHbaLinkInfo"] = "5.0"
 37086  }
 37087  
 37088  // Fibre Channel Over Ethernet transport information about a SCSI target.
 37089  //
 37090  // FCoE transport information is that of: the regular FC World Wide Node
 37091  // and Port Names; the VNPort MAC address and FCF MAC address which
 37092  // constitute a VN\_Port to VF\_Port Virtual Link; and the VLAN on which
 37093  // an FCoE target resides.
 37094  // More FCoE information can be found in the working draft of the T11's
 37095  // Fibre Channel Backbone 5 standard (FC-BB-5). The draft can be found
 37096  // at http://www.t11.org.
 37097  type HostFibreChannelOverEthernetTargetTransport struct {
 37098  	HostFibreChannelTargetTransport
 37099  
 37100  	// VNPort MAC address.
 37101  	//
 37102  	// This MAC address should be of the form "xx:xx:xx:xx:xx:xx", where
 37103  	// 'x' is a hexadecimal digit. Valid MAC addresses are unicast
 37104  	// addresses.
 37105  	VnportMac string `xml:"vnportMac" json:"vnportMac"`
 37106  	// FCF MAC address.
 37107  	//
 37108  	// This MAC address should be of the form "xx:xx:xx:xx:xx:xx", where
 37109  	// 'x' is a hexadecimal digit. Valid MAC addresses are unicast
 37110  	// addresses.
 37111  	FcfMac string `xml:"fcfMac" json:"fcfMac"`
 37112  	// VLAN ID.
 37113  	//
 37114  	// Valid VLAN IDs fall within the range \[0,4094\].
 37115  	VlanId int32 `xml:"vlanId" json:"vlanId"`
 37116  }
 37117  
 37118  func init() {
 37119  	t["HostFibreChannelOverEthernetTargetTransport"] = reflect.TypeOf((*HostFibreChannelOverEthernetTargetTransport)(nil)).Elem()
 37120  	minAPIVersionForType["HostFibreChannelOverEthernetTargetTransport"] = "5.0"
 37121  }
 37122  
 37123  // Fibre Channel transport information about a SCSI target.
 37124  type HostFibreChannelTargetTransport struct {
 37125  	HostTargetTransport
 37126  
 37127  	// The world wide port name of the target.
 37128  	PortWorldWideName int64 `xml:"portWorldWideName" json:"portWorldWideName"`
 37129  	// The world wide node name of the target.
 37130  	NodeWorldWideName int64 `xml:"nodeWorldWideName" json:"nodeWorldWideName"`
 37131  }
 37132  
 37133  func init() {
 37134  	t["HostFibreChannelTargetTransport"] = reflect.TypeOf((*HostFibreChannelTargetTransport)(nil)).Elem()
 37135  }
 37136  
 37137  // This data object type contains a single access control
 37138  // entry for a file permissions list.
 37139  type HostFileAccess struct {
 37140  	DynamicData
 37141  
 37142  	// User or group to which the access applies.
 37143  	Who string `xml:"who" json:"who"`
 37144  	// Rights given to the user or group.
 37145  	What string `xml:"what" json:"what"`
 37146  }
 37147  
 37148  func init() {
 37149  	t["HostFileAccess"] = reflect.TypeOf((*HostFileAccess)(nil)).Elem()
 37150  }
 37151  
 37152  // The `HostFileSystemMountInfo` data object describes
 37153  // a host mount point for a file system.
 37154  type HostFileSystemMountInfo struct {
 37155  	DynamicData
 37156  
 37157  	// Information about the mount point.
 37158  	MountInfo HostMountInfo `xml:"mountInfo" json:"mountInfo"`
 37159  	// Information about the mounted volume.
 37160  	Volume BaseHostFileSystemVolume `xml:"volume,typeattr" json:"volume"`
 37161  	// vStorage hardware acceleration support status.
 37162  	//
 37163  	// This property
 37164  	// represents the volume's capability for storage acceleration.
 37165  	// See `FileSystemMountInfoVStorageSupportStatus_enum` for valid
 37166  	// values.
 37167  	//
 37168  	// If the ESX Server supports hardware acceleration, the Server
 37169  	// can offload specific virtual machine management operations
 37170  	// to a storage device with the hardware acceleration feature.
 37171  	// With hardware assistance, the host performs storage operations
 37172  	// faster and consumes less CPU, memory, and storage fabric bandwidth.
 37173  	//
 37174  	// For vSphere 4.0 or earlier hosts, this value will be unset.
 37175  	VStorageSupport string `xml:"vStorageSupport,omitempty" json:"vStorageSupport,omitempty" vim:"4.1"`
 37176  }
 37177  
 37178  func init() {
 37179  	t["HostFileSystemMountInfo"] = reflect.TypeOf((*HostFileSystemMountInfo)(nil)).Elem()
 37180  }
 37181  
 37182  // Detailed information about a file system.
 37183  //
 37184  // This is a base type for derived types
 37185  // that have more specific details about specific filesystem types.
 37186  //
 37187  // # Typically a FileSystem is exposed as a datatore
 37188  //
 37189  // See also `DatastoreInfo`, `HostVmfsVolume`, `HostNasVolume`, `HostVffsVolume`, `HostLocalFileSystemVolume`
 37190  //
 37191  // However, a FileSystemVolume need not be exposed a datastore., `HostVfatVolume`.
 37192  type HostFileSystemVolume struct {
 37193  	DynamicData
 37194  
 37195  	// FileSystemType of this particular file system
 37196  	// See `HostFileSystemVolumeFileSystemType_enum`
 37197  	Type string `xml:"type" json:"type"`
 37198  	// Name of the file system volume.
 37199  	Name string `xml:"name" json:"name"`
 37200  	// The capacity of the file system volume, in bytes.
 37201  	Capacity int64 `xml:"capacity" json:"capacity"`
 37202  }
 37203  
 37204  func init() {
 37205  	t["HostFileSystemVolume"] = reflect.TypeOf((*HostFileSystemVolume)(nil)).Elem()
 37206  }
 37207  
 37208  // The `HostFileSystemVolumeInfo` data object describes the file system volume
 37209  // information for the host.
 37210  //
 37211  // A file system volume refers to a storage abstraction that allows files
 37212  // to be created and organized. A host can have multiple file system
 37213  // volumes. File system volumes are typically mounted into a file namespace
 37214  // that allows all files in mounted file systems to be addressable from the
 37215  // host.
 37216  //
 37217  // A file system volume is backed by disk storage. It could span one or more
 37218  // disks but need not use an entire disk.
 37219  //
 37220  // A file system volume by definition must be mounted on the file system
 37221  // in order to exist.
 37222  type HostFileSystemVolumeInfo struct {
 37223  	DynamicData
 37224  
 37225  	// The list of supported file system volume types.
 37226  	VolumeTypeList []string `xml:"volumeTypeList,omitempty" json:"volumeTypeList,omitempty"`
 37227  	// The list of file system volumes mounted on the host.
 37228  	MountInfo []HostFileSystemMountInfo `xml:"mountInfo,omitempty" json:"mountInfo,omitempty"`
 37229  }
 37230  
 37231  func init() {
 37232  	t["HostFileSystemVolumeInfo"] = reflect.TypeOf((*HostFileSystemVolumeInfo)(nil)).Elem()
 37233  }
 37234  
 37235  // DataObject used for firewall configuration
 37236  type HostFirewallConfig struct {
 37237  	DynamicData
 37238  
 37239  	// Rules determining firewall settings.
 37240  	Rule []HostFirewallConfigRuleSetConfig `xml:"rule,omitempty" json:"rule,omitempty"`
 37241  	// Default settings for the firewall,
 37242  	// used for ports that are not explicitly opened.
 37243  	DefaultBlockingPolicy HostFirewallDefaultPolicy `xml:"defaultBlockingPolicy" json:"defaultBlockingPolicy"`
 37244  }
 37245  
 37246  func init() {
 37247  	t["HostFirewallConfig"] = reflect.TypeOf((*HostFirewallConfig)(nil)).Elem()
 37248  	minAPIVersionForType["HostFirewallConfig"] = "4.0"
 37249  }
 37250  
 37251  type HostFirewallConfigRuleSetConfig struct {
 37252  	DynamicData
 37253  
 37254  	// Id of the ruleset.
 37255  	RulesetId string `xml:"rulesetId" json:"rulesetId"`
 37256  	// Flag indicating if the specified ruleset should be enabled.
 37257  	Enabled bool `xml:"enabled" json:"enabled"`
 37258  	// The list of allowed ip addresses
 37259  	AllowedHosts *HostFirewallRulesetIpList `xml:"allowedHosts,omitempty" json:"allowedHosts,omitempty" vim:"5.0"`
 37260  }
 37261  
 37262  func init() {
 37263  	t["HostFirewallConfigRuleSetConfig"] = reflect.TypeOf((*HostFirewallConfigRuleSetConfig)(nil)).Elem()
 37264  }
 37265  
 37266  // Default settings for the firewall, used for ports
 37267  // that are not explicitly opened.
 37268  type HostFirewallDefaultPolicy struct {
 37269  	DynamicData
 37270  
 37271  	// Flag indicating whether incoming traffic should be blocked by default.
 37272  	IncomingBlocked *bool `xml:"incomingBlocked" json:"incomingBlocked,omitempty"`
 37273  	// Flag indicating whether outgoing traffic should be blocked by default.
 37274  	OutgoingBlocked *bool `xml:"outgoingBlocked" json:"outgoingBlocked,omitempty"`
 37275  }
 37276  
 37277  func init() {
 37278  	t["HostFirewallDefaultPolicy"] = reflect.TypeOf((*HostFirewallDefaultPolicy)(nil)).Elem()
 37279  }
 37280  
 37281  // Data object describing the firewall configuration.
 37282  type HostFirewallInfo struct {
 37283  	DynamicData
 37284  
 37285  	// Default firewall policy.
 37286  	DefaultPolicy HostFirewallDefaultPolicy `xml:"defaultPolicy" json:"defaultPolicy"`
 37287  	// List of configured rulesets.
 37288  	Ruleset []HostFirewallRuleset `xml:"ruleset,omitempty" json:"ruleset,omitempty"`
 37289  }
 37290  
 37291  func init() {
 37292  	t["HostFirewallInfo"] = reflect.TypeOf((*HostFirewallInfo)(nil)).Elem()
 37293  }
 37294  
 37295  // This data object type describes a port (or range of ports),
 37296  // identified by port number(s), direction and protocol.
 37297  //
 37298  // It is
 37299  // used as a convenient way for users to express what ports they
 37300  // want to permit through the firewall.
 37301  type HostFirewallRule struct {
 37302  	DynamicData
 37303  
 37304  	// The port number.
 37305  	Port int32 `xml:"port" json:"port"`
 37306  	// For a port range, the ending port number.
 37307  	EndPort int32 `xml:"endPort,omitempty" json:"endPort,omitempty"`
 37308  	// The port direction.
 37309  	Direction HostFirewallRuleDirection `xml:"direction" json:"direction"`
 37310  	// The port type.
 37311  	PortType HostFirewallRulePortType `xml:"portType,omitempty" json:"portType,omitempty" vim:"5.0"`
 37312  	// The port protocol.
 37313  	//
 37314  	// Valid values are defined by the
 37315  	// `HostFirewallRuleProtocol_enum` enumeration.
 37316  	Protocol string `xml:"protocol" json:"protocol"`
 37317  }
 37318  
 37319  func init() {
 37320  	t["HostFirewallRule"] = reflect.TypeOf((*HostFirewallRule)(nil)).Elem()
 37321  }
 37322  
 37323  // Data object that describes a single network ruleset that can be
 37324  // allowed or blocked by the firewall using the `HostFirewallSystem` object.
 37325  type HostFirewallRuleset struct {
 37326  	DynamicData
 37327  
 37328  	// Brief identifier for the ruleset.
 37329  	Key string `xml:"key" json:"key"`
 37330  	// Display label for the ruleset.
 37331  	Label string `xml:"label" json:"label"`
 37332  	// Flag indicating whether the ruleset is required and cannot be disabled.
 37333  	Required bool `xml:"required" json:"required"`
 37334  	// List of rules within the ruleset.
 37335  	Rule []HostFirewallRule `xml:"rule" json:"rule"`
 37336  	// Managed service (if any) that uses this ruleset.
 37337  	//
 37338  	// Must be one of
 37339  	// the services listed in `HostServiceInfo.service`.
 37340  	Service string `xml:"service,omitempty" json:"service,omitempty"`
 37341  	// Flag indicating whether the ruleset is enabled.
 37342  	//
 37343  	// If the
 37344  	// ruleset is enabled, all ports specified in the ruleset are
 37345  	// opened by the firewall.
 37346  	Enabled bool `xml:"enabled" json:"enabled"`
 37347  	// List of ipaddress to allow access to the service
 37348  	AllowedHosts *HostFirewallRulesetIpList `xml:"allowedHosts,omitempty" json:"allowedHosts,omitempty" vim:"5.0"`
 37349  	// Flag indicating whether user can enable/disable the firewall ruleset.
 37350  	UserControllable *bool `xml:"userControllable" json:"userControllable,omitempty" vim:"8.0.2.0"`
 37351  	// Flag indicating whether user can modify the allowed IP list of the
 37352  	// firewall ruleset.
 37353  	IpListUserConfigurable *bool `xml:"ipListUserConfigurable" json:"ipListUserConfigurable,omitempty" vim:"8.0.2.0"`
 37354  }
 37355  
 37356  func init() {
 37357  	t["HostFirewallRuleset"] = reflect.TypeOf((*HostFirewallRuleset)(nil)).Elem()
 37358  }
 37359  
 37360  type HostFirewallRulesetIpList struct {
 37361  	DynamicData
 37362  
 37363  	// The list of ipAddresses.
 37364  	//
 37365  	// All IPv4 addresses are specified as strings using dotted
 37366  	// decimal format. For example, "192.0.20.10".
 37367  	// IPv6 addresses are 128-bit addresses represented
 37368  	// as eight fields of up to four hexadecimal digits. A colon separates each
 37369  	// field (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can
 37370  	// also consist of symbol '::' to represent multiple 16-bit groups of
 37371  	// contiguous 0's only once in an address as described in RFC 2373.
 37372  	IpAddress []string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 37373  	// The list of networks
 37374  	IpNetwork []HostFirewallRulesetIpNetwork `xml:"ipNetwork,omitempty" json:"ipNetwork,omitempty"`
 37375  	// Flag indicating whether the ruleset works for all ip addresses.
 37376  	AllIp bool `xml:"allIp" json:"allIp"`
 37377  }
 37378  
 37379  func init() {
 37380  	t["HostFirewallRulesetIpList"] = reflect.TypeOf((*HostFirewallRulesetIpList)(nil)).Elem()
 37381  }
 37382  
 37383  type HostFirewallRulesetIpNetwork struct {
 37384  	DynamicData
 37385  
 37386  	// The IPv4 or IPv6 network.
 37387  	//
 37388  	// All IPv4 subnet addresses are specified as strings using dotted
 37389  	// decimal format. For example, "192.0.20.0".
 37390  	// IPv6 addresses are 128-bit addresses represented
 37391  	// as eight fields of up to four hexadecimal digits. A colon separates each
 37392  	// field (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can
 37393  	// also consist of symbol '::' to represent multiple 16-bit groups of
 37394  	// contiguous 0's only once in an address as described in RFC 2373.
 37395  	Network string `xml:"network" json:"network"`
 37396  	// The prefix length for the network.
 37397  	//
 37398  	// For example the prefix length for a network 10.20.120/22 is 22
 37399  	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
 37400  }
 37401  
 37402  func init() {
 37403  	t["HostFirewallRulesetIpNetwork"] = reflect.TypeOf((*HostFirewallRulesetIpNetwork)(nil)).Elem()
 37404  }
 37405  
 37406  // The ruleset update specification.
 37407  type HostFirewallRulesetRulesetSpec struct {
 37408  	DynamicData
 37409  
 37410  	// The list of allowed ip addresses
 37411  	AllowedHosts HostFirewallRulesetIpList `xml:"allowedHosts" json:"allowedHosts"`
 37412  }
 37413  
 37414  func init() {
 37415  	t["HostFirewallRulesetRulesetSpec"] = reflect.TypeOf((*HostFirewallRulesetRulesetSpec)(nil)).Elem()
 37416  	minAPIVersionForType["HostFirewallRulesetRulesetSpec"] = "5.0"
 37417  }
 37418  
 37419  // The FlagInfo data object type encapsulates the flag settings for a host.
 37420  //
 37421  // These properties are optional since the same structure is used to change
 37422  // the values during an edit or create operation.
 37423  type HostFlagInfo struct {
 37424  	DynamicData
 37425  
 37426  	// Flag to specify whether background snapshots are enabled.
 37427  	BackgroundSnapshotsEnabled *bool `xml:"backgroundSnapshotsEnabled" json:"backgroundSnapshotsEnabled,omitempty"`
 37428  }
 37429  
 37430  func init() {
 37431  	t["HostFlagInfo"] = reflect.TypeOf((*HostFlagInfo)(nil)).Elem()
 37432  	minAPIVersionForType["HostFlagInfo"] = "2.5"
 37433  }
 37434  
 37435  // When the system detects a copy of a VmfsVolume, it will not be
 37436  // auto-mounted on the host and it will be detected as
 37437  // 'UnresolvedVmfsVolume'.
 37438  //
 37439  // If user decides to keep the original Uuid and mount it on the host,
 37440  // it will have 'forceMounted' flag and 'forceMountedInfo' set.
 37441  // 'ForceMountedInfo' provides additional information specific to
 37442  // user-mounted VmfsVolume.
 37443  type HostForceMountedInfo struct {
 37444  	DynamicData
 37445  
 37446  	// Indicates if the vmfsExtent information persistent across
 37447  	// host reboots.
 37448  	Persist bool `xml:"persist" json:"persist"`
 37449  	// Indicates if the volume is currently mounted on the host
 37450  	Mounted bool `xml:"mounted" json:"mounted"`
 37451  }
 37452  
 37453  func init() {
 37454  	t["HostForceMountedInfo"] = reflect.TypeOf((*HostForceMountedInfo)(nil)).Elem()
 37455  	minAPIVersionForType["HostForceMountedInfo"] = "4.0"
 37456  }
 37457  
 37458  // Data object representing the hardware vendor identity
 37459  // for a given hardware component in the host.
 37460  type HostFru struct {
 37461  	DynamicData
 37462  
 37463  	// Report the FRU type if available `HostFruFruType_enum`
 37464  	Type string `xml:"type" json:"type"`
 37465  	// Part Name is used for ordering replacement.
 37466  	PartName string `xml:"partName" json:"partName"`
 37467  	// Part Number is used for ordering replacement.
 37468  	PartNumber string `xml:"partNumber" json:"partNumber"`
 37469  	// The name of the manufacturer.
 37470  	Manufacturer string `xml:"manufacturer" json:"manufacturer"`
 37471  	// The serial number of the part.
 37472  	SerialNumber string `xml:"serialNumber,omitempty" json:"serialNumber,omitempty"`
 37473  	// The time, if any, when this FRU entry was created by manufacturer.
 37474  	MfgTimeStamp *time.Time `xml:"mfgTimeStamp" json:"mfgTimeStamp,omitempty"`
 37475  }
 37476  
 37477  func init() {
 37478  	t["HostFru"] = reflect.TypeOf((*HostFru)(nil)).Elem()
 37479  	minAPIVersionForType["HostFru"] = "8.0.0.1"
 37480  }
 37481  
 37482  // Deprecated not supported since vSphere 6.5.
 37483  //
 37484  // Settings for a gateway used to communicate with a host.
 37485  type HostGatewaySpec struct {
 37486  	DynamicData
 37487  
 37488  	// The type of the gateway used for the communication to the host.
 37489  	GatewayType string `xml:"gatewayType" json:"gatewayType"`
 37490  	// Identifier of the gateway to be used for communction to the host.
 37491  	//
 37492  	// If
 37493  	// omitted a random gateway of this type will be selected.
 37494  	GatewayId string `xml:"gatewayId,omitempty" json:"gatewayId,omitempty"`
 37495  	// An opaque string that the gateway may need to validate that the host
 37496  	// it connects to is the correct host.
 37497  	TrustVerificationToken string `xml:"trustVerificationToken,omitempty" json:"trustVerificationToken,omitempty"`
 37498  	// Additional opaque authentication data that the gateway may need to
 37499  	// authenticate to the host.
 37500  	HostAuthParams []KeyValue `xml:"hostAuthParams,omitempty" json:"hostAuthParams,omitempty"`
 37501  }
 37502  
 37503  func init() {
 37504  	t["HostGatewaySpec"] = reflect.TypeOf((*HostGatewaySpec)(nil)).Elem()
 37505  	minAPIVersionForType["HostGatewaySpec"] = "6.0"
 37506  }
 37507  
 37508  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 37509  //
 37510  // This event records that hostname -s failed or returned a name containing '.'.
 37511  type HostGetShortNameFailedEvent struct {
 37512  	HostEvent
 37513  }
 37514  
 37515  func init() {
 37516  	t["HostGetShortNameFailedEvent"] = reflect.TypeOf((*HostGetShortNameFailedEvent)(nil)).Elem()
 37517  	minAPIVersionForType["HostGetShortNameFailedEvent"] = "2.5"
 37518  }
 37519  
 37520  type HostGetVFlashModuleDefaultConfig HostGetVFlashModuleDefaultConfigRequestType
 37521  
 37522  func init() {
 37523  	t["HostGetVFlashModuleDefaultConfig"] = reflect.TypeOf((*HostGetVFlashModuleDefaultConfig)(nil)).Elem()
 37524  }
 37525  
 37526  // The parameters of `HostVFlashManager.HostGetVFlashModuleDefaultConfig`.
 37527  type HostGetVFlashModuleDefaultConfigRequestType struct {
 37528  	This ManagedObjectReference `xml:"_this" json:"-"`
 37529  	// Name of the vFlash module
 37530  	VFlashModule string `xml:"vFlashModule" json:"vFlashModule"`
 37531  }
 37532  
 37533  func init() {
 37534  	t["HostGetVFlashModuleDefaultConfigRequestType"] = reflect.TypeOf((*HostGetVFlashModuleDefaultConfigRequestType)(nil)).Elem()
 37535  }
 37536  
 37537  type HostGetVFlashModuleDefaultConfigResponse struct {
 37538  	Returnval VirtualDiskVFlashCacheConfigInfo `xml:"returnval" json:"returnval"`
 37539  }
 37540  
 37541  // Data object used for graphics configuration
 37542  type HostGraphicsConfig struct {
 37543  	DynamicData
 37544  
 37545  	// The host default graphics type.
 37546  	//
 37547  	// See `HostGraphicsConfigGraphicsType_enum` for list
 37548  	// of supported values. This default value can be overridden by specifying
 37549  	// graphics type for an individual device. If host supports a single
 37550  	// graphics type, specifying an individual graphics device is optional.
 37551  	HostDefaultGraphicsType string `xml:"hostDefaultGraphicsType" json:"hostDefaultGraphicsType"`
 37552  	// The policy for assigning shared passthrough VMs to a host graphics
 37553  	// device.
 37554  	//
 37555  	// See `HostGraphicsConfigSharedPassthruAssignmentPolicy_enum` for list of
 37556  	// supported values.
 37557  	SharedPassthruAssignmentPolicy string `xml:"sharedPassthruAssignmentPolicy" json:"sharedPassthruAssignmentPolicy"`
 37558  	// Graphics devices and their associated type.
 37559  	DeviceType []HostGraphicsConfigDeviceType `xml:"deviceType,omitempty" json:"deviceType,omitempty"`
 37560  }
 37561  
 37562  func init() {
 37563  	t["HostGraphicsConfig"] = reflect.TypeOf((*HostGraphicsConfig)(nil)).Elem()
 37564  	minAPIVersionForType["HostGraphicsConfig"] = "6.5"
 37565  }
 37566  
 37567  // A particular graphics device with its associated type and mode.
 37568  type HostGraphicsConfigDeviceType struct {
 37569  	DynamicData
 37570  
 37571  	// Graphics device identifier (ex.
 37572  	//
 37573  	// PCI ID).
 37574  	DeviceId string `xml:"deviceId" json:"deviceId"`
 37575  	// Graphics type for this device.
 37576  	//
 37577  	// See `HostGraphicsConfigGraphicsType_enum` for list of
 37578  	// supported values.
 37579  	GraphicsType string `xml:"graphicsType" json:"graphicsType"`
 37580  }
 37581  
 37582  func init() {
 37583  	t["HostGraphicsConfigDeviceType"] = reflect.TypeOf((*HostGraphicsConfigDeviceType)(nil)).Elem()
 37584  	minAPIVersionForType["HostGraphicsConfigDeviceType"] = "6.5"
 37585  }
 37586  
 37587  // This data object type describes information about a single
 37588  // graphics device.
 37589  type HostGraphicsInfo struct {
 37590  	DynamicData
 37591  
 37592  	// The device name.
 37593  	DeviceName string `xml:"deviceName" json:"deviceName"`
 37594  	// The vendor name.
 37595  	VendorName string `xml:"vendorName" json:"vendorName"`
 37596  	// PCI ID of this device composed of "bus:slot.function".
 37597  	PciId string `xml:"pciId" json:"pciId"`
 37598  	// Graphics type (@see GraphicsType).
 37599  	GraphicsType string `xml:"graphicsType" json:"graphicsType"`
 37600  	// Memory capacity of graphics device or zero if not available.
 37601  	MemorySizeInKB int64 `xml:"memorySizeInKB" json:"memorySizeInKB"`
 37602  	// Virtual machines using this graphics device.
 37603  	//
 37604  	// Refers instances of `VirtualMachine`.
 37605  	Vm []ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 37606  }
 37607  
 37608  func init() {
 37609  	t["HostGraphicsInfo"] = reflect.TypeOf((*HostGraphicsInfo)(nil)).Elem()
 37610  	minAPIVersionForType["HostGraphicsInfo"] = "5.5"
 37611  }
 37612  
 37613  // Data object describing the operational status of a physical
 37614  // element.
 37615  type HostHardwareElementInfo struct {
 37616  	DynamicData
 37617  
 37618  	// The name of the physical element
 37619  	Name string `xml:"name" json:"name"`
 37620  	// The operational status of the physical element.
 37621  	//
 37622  	// The status is one of
 37623  	// the values specified in HostHardwareElementStatus.
 37624  	//
 37625  	// See also `HostHardwareElementStatus_enum`.
 37626  	Status BaseElementDescription `xml:"status,typeattr" json:"status"`
 37627  }
 37628  
 37629  func init() {
 37630  	t["HostHardwareElementInfo"] = reflect.TypeOf((*HostHardwareElementInfo)(nil)).Elem()
 37631  	minAPIVersionForType["HostHardwareElementInfo"] = "2.5"
 37632  }
 37633  
 37634  // The HardwareInfo data object type describes the hardware
 37635  // configuration of the host.
 37636  type HostHardwareInfo struct {
 37637  	DynamicData
 37638  
 37639  	// Information about the system as a whole.
 37640  	SystemInfo             HostSystemInfo              `xml:"systemInfo" json:"systemInfo"`
 37641  	CpuPowerManagementInfo *HostCpuPowerManagementInfo `xml:"cpuPowerManagementInfo,omitempty" json:"cpuPowerManagementInfo,omitempty"`
 37642  	// Overall CPU information.
 37643  	CpuInfo HostCpuInfo `xml:"cpuInfo" json:"cpuInfo"`
 37644  	// Information about each of the physical CPU packages on the host.
 37645  	CpuPkg []HostCpuPackage `xml:"cpuPkg" json:"cpuPkg"`
 37646  	// Total amount of physical memory on the host in bytes.
 37647  	MemorySize int64 `xml:"memorySize" json:"memorySize"`
 37648  	// Information about the NUMA (non-uniform memory access).
 37649  	NumaInfo *HostNumaInfo `xml:"numaInfo,omitempty" json:"numaInfo,omitempty"`
 37650  	// Presence of System Management Controller, indicates the host is
 37651  	// Apple hardware, and thus capable of running Mac OS guest as VM.
 37652  	SmcPresent *bool `xml:"smcPresent" json:"smcPresent,omitempty" vim:"5.0"`
 37653  	// The list of Peripheral Component Interconnect (PCI) devices
 37654  	// available on this host.
 37655  	PciDevice []HostPciDevice `xml:"pciDevice,omitempty" json:"pciDevice,omitempty"`
 37656  	// The list of Device Virtualization Extensions (DVX) classes
 37657  	// available on this host.
 37658  	DvxClasses []HostDvxClass `xml:"dvxClasses,omitempty" json:"dvxClasses,omitempty" vim:"8.0.0.1"`
 37659  	// CPU feature set that is supported by the hardware.
 37660  	//
 37661  	// This is the
 37662  	// intersection of the feature sets supported by the individual CPU
 37663  	// packages. This feature set is modified by the
 37664  	// `supportedCpuFeature`
 37665  	// array in the host capabilities to obtain the feature set supported by
 37666  	// the virtualization platform.
 37667  	CpuFeature []HostCpuIdInfo `xml:"cpuFeature,omitempty" json:"cpuFeature,omitempty"`
 37668  	// Information about the system BIOS
 37669  	BiosInfo *HostBIOSInfo `xml:"biosInfo,omitempty" json:"biosInfo,omitempty" vim:"2.5"`
 37670  	// Information about reliable memory.
 37671  	ReliableMemoryInfo *HostReliableMemoryInfo `xml:"reliableMemoryInfo,omitempty" json:"reliableMemoryInfo,omitempty" vim:"5.5"`
 37672  	// Persistent memory configuration on this host.
 37673  	PersistentMemoryInfo *HostPersistentMemoryInfo `xml:"persistentMemoryInfo,omitempty" json:"persistentMemoryInfo,omitempty" vim:"6.7"`
 37674  	// SGX configuration on this host.
 37675  	SgxInfo *HostSgxInfo `xml:"sgxInfo,omitempty" json:"sgxInfo,omitempty" vim:"7.0"`
 37676  	// SEV configuration on this host.
 37677  	SevInfo *HostSevInfo `xml:"sevInfo,omitempty" json:"sevInfo,omitempty" vim:"7.0.1.0"`
 37678  	// Type of memory tiering configured on this host.
 37679  	//
 37680  	// See `HostMemoryTieringType_enum` for
 37681  	// supported values. This field will be unset for legacy hosts as well as
 37682  	// for hosts that don't support memory tiering.
 37683  	MemoryTieringType string `xml:"memoryTieringType,omitempty" json:"memoryTieringType,omitempty" vim:"7.0.3.0"`
 37684  	// Configuration of each memory tier on this host.
 37685  	//
 37686  	// The array is populated in the
 37687  	// order of tiers (ie, tier 0 at array index 0, tier 1 at array index 1,
 37688  	// and so on).
 37689  	MemoryTierInfo []HostMemoryTierInfo `xml:"memoryTierInfo,omitempty" json:"memoryTierInfo,omitempty" vim:"7.0.3.0"`
 37690  }
 37691  
 37692  func init() {
 37693  	t["HostHardwareInfo"] = reflect.TypeOf((*HostHardwareInfo)(nil)).Elem()
 37694  }
 37695  
 37696  // Data object representing the status of the
 37697  // hardware components of the host.
 37698  type HostHardwareStatusInfo struct {
 37699  	DynamicData
 37700  
 37701  	// Status of the physical memory
 37702  	MemoryStatusInfo []BaseHostHardwareElementInfo `xml:"memoryStatusInfo,omitempty,typeattr" json:"memoryStatusInfo,omitempty"`
 37703  	// Status of the CPU packages
 37704  	CpuStatusInfo []BaseHostHardwareElementInfo `xml:"cpuStatusInfo,omitempty,typeattr" json:"cpuStatusInfo,omitempty"`
 37705  	// Status of the physical storage system
 37706  	StorageStatusInfo []HostStorageElementInfo `xml:"storageStatusInfo,omitempty" json:"storageStatusInfo,omitempty"`
 37707  	// Status of one or more DPU elements
 37708  	DpuStatusInfo []DpuStatusInfo `xml:"dpuStatusInfo,omitempty" json:"dpuStatusInfo,omitempty" vim:"8.0.0.1"`
 37709  }
 37710  
 37711  func init() {
 37712  	t["HostHardwareStatusInfo"] = reflect.TypeOf((*HostHardwareStatusInfo)(nil)).Elem()
 37713  	minAPIVersionForType["HostHardwareStatusInfo"] = "2.5"
 37714  }
 37715  
 37716  // This data object type summarizes hardware used by the host.
 37717  type HostHardwareSummary struct {
 37718  	DynamicData
 37719  
 37720  	// The hardware vendor identification.
 37721  	Vendor string `xml:"vendor" json:"vendor"`
 37722  	// The system model identification.
 37723  	Model string `xml:"model" json:"model"`
 37724  	// The hardware BIOS identification.
 37725  	Uuid string `xml:"uuid" json:"uuid"`
 37726  	// Other identification information.
 37727  	//
 37728  	// This information may be vendor
 37729  	// specific.
 37730  	OtherIdentifyingInfo []HostSystemIdentificationInfo `xml:"otherIdentifyingInfo,omitempty" json:"otherIdentifyingInfo,omitempty" vim:"2.5"`
 37731  	// The physical memory size in bytes.
 37732  	MemorySize int64 `xml:"memorySize" json:"memorySize"`
 37733  	// The CPU model.
 37734  	CpuModel string `xml:"cpuModel" json:"cpuModel"`
 37735  	// The speed of the CPU cores.
 37736  	//
 37737  	// This is an average value if there are multiple
 37738  	// speeds. The product of cpuMhz and numCpuCores is approximately equal to the
 37739  	// sum of the MHz for all the individual cores on the host.
 37740  	CpuMhz int32 `xml:"cpuMhz" json:"cpuMhz"`
 37741  	// Number of physical CPU packages on the host.
 37742  	//
 37743  	// Physical CPU packages are chips
 37744  	// that contain one or more processors. Processors contained by a package are
 37745  	// also known as CPU cores. For example, one dual-core package is comprised of
 37746  	// one chip that contains two CPU cores.
 37747  	NumCpuPkgs int16 `xml:"numCpuPkgs" json:"numCpuPkgs"`
 37748  	// Number of physical CPU cores on the host.
 37749  	//
 37750  	// Physical CPU cores are the
 37751  	// processors contained by a CPU package.
 37752  	NumCpuCores int16 `xml:"numCpuCores" json:"numCpuCores"`
 37753  	// Number of physical CPU threads on the host.
 37754  	NumCpuThreads int16 `xml:"numCpuThreads" json:"numCpuThreads"`
 37755  	// The number of network adapters.
 37756  	NumNics int32 `xml:"numNics" json:"numNics"`
 37757  	// The number of host bus adapters (HBAs).
 37758  	NumHBAs int32 `xml:"numHBAs" json:"numHBAs"`
 37759  }
 37760  
 37761  func init() {
 37762  	t["HostHardwareSummary"] = reflect.TypeOf((*HostHardwareSummary)(nil)).Elem()
 37763  }
 37764  
 37765  // The host has a component failure and thus can cause issues for VMs running or
 37766  // to be running on it.
 37767  type HostHasComponentFailure struct {
 37768  	VimFault
 37769  
 37770  	// The host that has the component failure.
 37771  	HostName string `xml:"hostName" json:"hostName"`
 37772  	// The type of the component that has failed.
 37773  	//
 37774  	// Values come from `HostHasComponentFailureHostComponentType_enum`.
 37775  	ComponentType string `xml:"componentType" json:"componentType"`
 37776  	// The name of the component that has failed.
 37777  	ComponentName string `xml:"componentName" json:"componentName"`
 37778  }
 37779  
 37780  func init() {
 37781  	t["HostHasComponentFailure"] = reflect.TypeOf((*HostHasComponentFailure)(nil)).Elem()
 37782  	minAPIVersionForType["HostHasComponentFailure"] = "6.0"
 37783  }
 37784  
 37785  type HostHasComponentFailureFault HostHasComponentFailure
 37786  
 37787  func init() {
 37788  	t["HostHasComponentFailureFault"] = reflect.TypeOf((*HostHasComponentFailureFault)(nil)).Elem()
 37789  }
 37790  
 37791  // A data object which specifies the parameters needed
 37792  // to create a software host bus adapter of a specific kind.
 37793  type HostHbaCreateSpec struct {
 37794  	DynamicData
 37795  }
 37796  
 37797  func init() {
 37798  	t["HostHbaCreateSpec"] = reflect.TypeOf((*HostHbaCreateSpec)(nil)).Elem()
 37799  	minAPIVersionForType["HostHbaCreateSpec"] = "7.0.3.0"
 37800  }
 37801  
 37802  // This data object type describes the bus adapter for
 37803  // the host.
 37804  //
 37805  // A host bus adapter (HBA) is a hardware
 37806  // or software adapter that connects the host to storage devices.
 37807  type HostHostBusAdapter struct {
 37808  	DynamicData
 37809  
 37810  	// The linkable identifier.
 37811  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 37812  	// The device name of host bus adapter.
 37813  	Device string `xml:"device" json:"device"`
 37814  	// The host bus number.
 37815  	Bus int32 `xml:"bus" json:"bus"`
 37816  	// The operational status of the adapter.
 37817  	//
 37818  	// Valid values include "online",
 37819  	// "offline", "unbound", and "unknown".
 37820  	Status string `xml:"status" json:"status"`
 37821  	// The model name of the host bus adapter.
 37822  	Model string `xml:"model" json:"model"`
 37823  	// The name of the driver.
 37824  	Driver string `xml:"driver,omitempty" json:"driver,omitempty"`
 37825  	// The Peripheral Connect Interface (PCI) ID of the device
 37826  	// representing the host bus adapter.
 37827  	Pci string `xml:"pci,omitempty" json:"pci,omitempty"`
 37828  	// The type of protocol supported by the host bus adapter.
 37829  	//
 37830  	// The list of supported values is described in
 37831  	// `HostStorageProtocol_enum`.
 37832  	// When unset, a default value of "scsi" is assumed.
 37833  	StorageProtocol string `xml:"storageProtocol,omitempty" json:"storageProtocol,omitempty" vim:"7.0"`
 37834  }
 37835  
 37836  func init() {
 37837  	t["HostHostBusAdapter"] = reflect.TypeOf((*HostHostBusAdapter)(nil)).Elem()
 37838  }
 37839  
 37840  // This data object type describes the CpuSchedulerSystem configuration
 37841  // for optimizing hyperthreading.
 37842  //
 37843  // The primary hyperthreading
 37844  // optimization employed by the CpuSchedulerSystem is to utilize
 37845  // hyperthreads as additional schedulable resources. Although
 37846  // hyperthreads provide limited additional concurrency,
 37847  // certain workloads (such as idling) can take advantage of
 37848  // these hyperthreads. This is particularly useful for SMP virtual
 37849  // machines that use gang scheduling. (Gang scheduling refers to a
 37850  // situation in which all of a parallel program's tasks are grouped
 37851  // into a "gang" and concurrently scheduled on distinct
 37852  // processors of a parallel computer system.)
 37853  //
 37854  // Changes to the hyperthreading optimization can take effect only
 37855  // after a system restart. Therefore, while it is possible to change
 37856  // the configuration at any time, the change will take effect only
 37857  // on the next boot.
 37858  type HostHyperThreadScheduleInfo struct {
 37859  	DynamicData
 37860  
 37861  	// The flag to indicate whether or not hyperthreading
 37862  	// optimization is available on the system.
 37863  	//
 37864  	// This property
 37865  	// is set by VMware prior to installation.
 37866  	Available bool `xml:"available" json:"available"`
 37867  	// The flag to indicate whether or not the CPU scheduler is
 37868  	// currently treating
 37869  	// hyperthreads as schedulable resources.
 37870  	//
 37871  	// Setting this property
 37872  	// involves a successful invocation of either the
 37873  	// `enableHyperThreading()` method ("true") or the
 37874  	// `disableHyperthreading()` method
 37875  	// ("false"). The property is set once the system is rebooted.
 37876  	Active bool `xml:"active" json:"active"`
 37877  	// The flag to indicate whether or not the CPU scheduler
 37878  	// should treat hyperthreads as
 37879  	// schedulable resources the next time the CPU scheduler starts.
 37880  	//     - This property is set to "true" by successfully invoking the
 37881  	//       `enableHyperThreading()` method.
 37882  	//     - This property is set to "false" by successfully invoking the
 37883  	//       `disableHyperthreading()` method.
 37884  	Config bool `xml:"config" json:"config"`
 37885  }
 37886  
 37887  func init() {
 37888  	t["HostHyperThreadScheduleInfo"] = reflect.TypeOf((*HostHyperThreadScheduleInfo)(nil)).Elem()
 37889  }
 37890  
 37891  type HostImageConfigGetAcceptance HostImageConfigGetAcceptanceRequestType
 37892  
 37893  func init() {
 37894  	t["HostImageConfigGetAcceptance"] = reflect.TypeOf((*HostImageConfigGetAcceptance)(nil)).Elem()
 37895  }
 37896  
 37897  type HostImageConfigGetAcceptanceRequestType struct {
 37898  	This ManagedObjectReference `xml:"_this" json:"-"`
 37899  }
 37900  
 37901  func init() {
 37902  	t["HostImageConfigGetAcceptanceRequestType"] = reflect.TypeOf((*HostImageConfigGetAcceptanceRequestType)(nil)).Elem()
 37903  }
 37904  
 37905  type HostImageConfigGetAcceptanceResponse struct {
 37906  	Returnval string `xml:"returnval" json:"returnval"`
 37907  }
 37908  
 37909  type HostImageConfigGetProfile HostImageConfigGetProfileRequestType
 37910  
 37911  func init() {
 37912  	t["HostImageConfigGetProfile"] = reflect.TypeOf((*HostImageConfigGetProfile)(nil)).Elem()
 37913  }
 37914  
 37915  type HostImageConfigGetProfileRequestType struct {
 37916  	This ManagedObjectReference `xml:"_this" json:"-"`
 37917  }
 37918  
 37919  func init() {
 37920  	t["HostImageConfigGetProfileRequestType"] = reflect.TypeOf((*HostImageConfigGetProfileRequestType)(nil)).Elem()
 37921  }
 37922  
 37923  type HostImageConfigGetProfileResponse struct {
 37924  	Returnval HostImageProfileSummary `xml:"returnval" json:"returnval"`
 37925  }
 37926  
 37927  // Summary of an image profile
 37928  type HostImageProfileSummary struct {
 37929  	DynamicData
 37930  
 37931  	// The name of the image profile
 37932  	Name string `xml:"name" json:"name"`
 37933  	// The organization publishing the image profile.
 37934  	Vendor string `xml:"vendor" json:"vendor"`
 37935  }
 37936  
 37937  func init() {
 37938  	t["HostImageProfileSummary"] = reflect.TypeOf((*HostImageProfileSummary)(nil)).Elem()
 37939  	minAPIVersionForType["HostImageProfileSummary"] = "5.0"
 37940  }
 37941  
 37942  // Host is booted in audit mode.
 37943  type HostInAuditModeEvent struct {
 37944  	HostEvent
 37945  }
 37946  
 37947  func init() {
 37948  	t["HostInAuditModeEvent"] = reflect.TypeOf((*HostInAuditModeEvent)(nil)).Elem()
 37949  	minAPIVersionForType["HostInAuditModeEvent"] = "5.0"
 37950  }
 37951  
 37952  // Fault indicating that an operation cannot be performed while
 37953  // the host is part of a Windows domain.
 37954  type HostInDomain struct {
 37955  	HostConfigFault
 37956  }
 37957  
 37958  func init() {
 37959  	t["HostInDomain"] = reflect.TypeOf((*HostInDomain)(nil)).Elem()
 37960  	minAPIVersionForType["HostInDomain"] = "4.1"
 37961  }
 37962  
 37963  type HostInDomainFault HostInDomain
 37964  
 37965  func init() {
 37966  	t["HostInDomainFault"] = reflect.TypeOf((*HostInDomainFault)(nil)).Elem()
 37967  }
 37968  
 37969  // This fault is thrown when an attempt is made to configure a fault tolerant
 37970  // virtual machine on a host that is incompatible.
 37971  type HostIncompatibleForFaultTolerance struct {
 37972  	VmFaultToleranceIssue
 37973  
 37974  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 37975  	// The specific reason why the host does not support fault tolerance.
 37976  	//
 37977  	// Values should come from `HostIncompatibleForFaultToleranceReason_enum`.
 37978  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 37979  }
 37980  
 37981  func init() {
 37982  	t["HostIncompatibleForFaultTolerance"] = reflect.TypeOf((*HostIncompatibleForFaultTolerance)(nil)).Elem()
 37983  	minAPIVersionForType["HostIncompatibleForFaultTolerance"] = "4.0"
 37984  }
 37985  
 37986  type HostIncompatibleForFaultToleranceFault HostIncompatibleForFaultTolerance
 37987  
 37988  func init() {
 37989  	t["HostIncompatibleForFaultToleranceFault"] = reflect.TypeOf((*HostIncompatibleForFaultToleranceFault)(nil)).Elem()
 37990  }
 37991  
 37992  // Deprecated as of vSphere API 6.0.
 37993  //
 37994  // This fault is thrown when an attempt is made record or replay
 37995  // a virtual machine on a host that is incompatible.
 37996  type HostIncompatibleForRecordReplay struct {
 37997  	VimFault
 37998  
 37999  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 38000  	// The specific reason why the host does not support record/replay.
 38001  	//
 38002  	// Values should come from `HostIncompatibleForRecordReplayReason_enum`.
 38003  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 38004  }
 38005  
 38006  func init() {
 38007  	t["HostIncompatibleForRecordReplay"] = reflect.TypeOf((*HostIncompatibleForRecordReplay)(nil)).Elem()
 38008  	minAPIVersionForType["HostIncompatibleForRecordReplay"] = "4.0"
 38009  }
 38010  
 38011  type HostIncompatibleForRecordReplayFault HostIncompatibleForRecordReplay
 38012  
 38013  func init() {
 38014  	t["HostIncompatibleForRecordReplayFault"] = reflect.TypeOf((*HostIncompatibleForRecordReplayFault)(nil)).Elem()
 38015  }
 38016  
 38017  // The parameters of `HostVStorageObjectManager.HostInflateDisk_Task`.
 38018  type HostInflateDiskRequestType struct {
 38019  	This ManagedObjectReference `xml:"_this" json:"-"`
 38020  	// The ID of the virtual disk to be inflated.
 38021  	Id ID `xml:"id" json:"id"`
 38022  	// The datastore where the virtual disk is located.
 38023  	//
 38024  	// Refers instance of `Datastore`.
 38025  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 38026  }
 38027  
 38028  func init() {
 38029  	t["HostInflateDiskRequestType"] = reflect.TypeOf((*HostInflateDiskRequestType)(nil)).Elem()
 38030  }
 38031  
 38032  type HostInflateDisk_Task HostInflateDiskRequestType
 38033  
 38034  func init() {
 38035  	t["HostInflateDisk_Task"] = reflect.TypeOf((*HostInflateDisk_Task)(nil)).Elem()
 38036  }
 38037  
 38038  type HostInflateDisk_TaskResponse struct {
 38039  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 38040  }
 38041  
 38042  // This data object type describes the iSCSI host bus adapter
 38043  // interface.
 38044  type HostInternetScsiHba struct {
 38045  	HostHostBusAdapter
 38046  
 38047  	// True if this host bus adapter is a software based initiator
 38048  	// utilizing the hosting system's existing TCP/IP network connection
 38049  	IsSoftwareBased bool `xml:"isSoftwareBased" json:"isSoftwareBased"`
 38050  	// Can this adapter be disabled
 38051  	CanBeDisabled *bool `xml:"canBeDisabled" json:"canBeDisabled,omitempty" vim:"5.0"`
 38052  	// Specifies if this iSCSI Adapter requires a bound network
 38053  	// interface to function.
 38054  	NetworkBindingSupport HostInternetScsiHbaNetworkBindingSupportType `xml:"networkBindingSupport,omitempty" json:"networkBindingSupport,omitempty" vim:"5.0"`
 38055  	// The discovery capabilities for this host bus adapter.
 38056  	DiscoveryCapabilities HostInternetScsiHbaDiscoveryCapabilities `xml:"discoveryCapabilities" json:"discoveryCapabilities"`
 38057  	// The discovery settings for this host bus adapter.
 38058  	DiscoveryProperties HostInternetScsiHbaDiscoveryProperties `xml:"discoveryProperties" json:"discoveryProperties"`
 38059  	// The authentication capabilities for this host bus adapter.
 38060  	AuthenticationCapabilities HostInternetScsiHbaAuthenticationCapabilities `xml:"authenticationCapabilities" json:"authenticationCapabilities"`
 38061  	// The authentication settings for this host bus adapter.
 38062  	//
 38063  	// All static and discovery targets will inherit the use of these
 38064  	// settings unless their authentication settings are explicitly set.
 38065  	AuthenticationProperties HostInternetScsiHbaAuthenticationProperties `xml:"authenticationProperties" json:"authenticationProperties"`
 38066  	// The authentication capabilities for this host bus adapter.
 38067  	DigestCapabilities *HostInternetScsiHbaDigestCapabilities `xml:"digestCapabilities,omitempty" json:"digestCapabilities,omitempty" vim:"4.0"`
 38068  	// The digest settings for this host bus adapter.
 38069  	//
 38070  	// All static and discovery targets will inherit the use of these
 38071  	// properties unless their digest settings are explicitly set.
 38072  	DigestProperties *HostInternetScsiHbaDigestProperties `xml:"digestProperties,omitempty" json:"digestProperties,omitempty" vim:"4.0"`
 38073  	// The IP capabilities for this host bus adapter.
 38074  	IpCapabilities HostInternetScsiHbaIPCapabilities `xml:"ipCapabilities" json:"ipCapabilities"`
 38075  	// The IP settings for this host bus adapter.
 38076  	IpProperties HostInternetScsiHbaIPProperties `xml:"ipProperties" json:"ipProperties"`
 38077  	// A list of supported key/value pair advanced options for the
 38078  	// host bus adapter including their type information.
 38079  	SupportedAdvancedOptions []OptionDef `xml:"supportedAdvancedOptions,omitempty" json:"supportedAdvancedOptions,omitempty" vim:"4.0"`
 38080  	// A list of the current options settings for the host bus adapter.
 38081  	AdvancedOptions []HostInternetScsiHbaParamValue `xml:"advancedOptions,omitempty" json:"advancedOptions,omitempty" vim:"4.0"`
 38082  	// The iSCSI name of this host bus adapter.
 38083  	IScsiName string `xml:"iScsiName" json:"iScsiName"`
 38084  	// The iSCSI alias of this host bus adapter.
 38085  	IScsiAlias string `xml:"iScsiAlias,omitempty" json:"iScsiAlias,omitempty"`
 38086  	// The configured iSCSI send target entries.
 38087  	ConfiguredSendTarget []HostInternetScsiHbaSendTarget `xml:"configuredSendTarget,omitempty" json:"configuredSendTarget,omitempty"`
 38088  	// The configured iSCSI static target entries.
 38089  	ConfiguredStaticTarget []HostInternetScsiHbaStaticTarget `xml:"configuredStaticTarget,omitempty" json:"configuredStaticTarget,omitempty"`
 38090  	// The maximum supported link speed of the port in megabits per second.
 38091  	MaxSpeedMb int32 `xml:"maxSpeedMb,omitempty" json:"maxSpeedMb,omitempty"`
 38092  	// The Current operating link speed of the port in megabits per second.
 38093  	CurrentSpeedMb int32 `xml:"currentSpeedMb,omitempty" json:"currentSpeedMb,omitempty"`
 38094  }
 38095  
 38096  func init() {
 38097  	t["HostInternetScsiHba"] = reflect.TypeOf((*HostInternetScsiHba)(nil)).Elem()
 38098  }
 38099  
 38100  // The authentication capabilities for this host bus adapter.
 38101  type HostInternetScsiHbaAuthenticationCapabilities struct {
 38102  	DynamicData
 38103  
 38104  	// True if this host bus adapter supports changing the configuration
 38105  	// state of CHAP authentication.
 38106  	//
 38107  	// CHAP is mandatory, however some
 38108  	// adapter may not allow disabling this authentication method.
 38109  	ChapAuthSettable bool `xml:"chapAuthSettable" json:"chapAuthSettable"`
 38110  	// Always false in this version of the API.
 38111  	Krb5AuthSettable bool `xml:"krb5AuthSettable" json:"krb5AuthSettable"`
 38112  	// Always false in this version of the API.
 38113  	SrpAuthSettable bool `xml:"srpAuthSettable" json:"srpAuthSettable"`
 38114  	// Always false in this version of the API.
 38115  	SpkmAuthSettable bool `xml:"spkmAuthSettable" json:"spkmAuthSettable"`
 38116  	// When chapAuthSettable is TRUE, this describes if Mutual CHAP
 38117  	// configuration is allowed as well.
 38118  	MutualChapSettable *bool `xml:"mutualChapSettable" json:"mutualChapSettable,omitempty" vim:"4.0"`
 38119  	// When targetChapSettable is TRUE, this describes if
 38120  	// CHAP configuration is allowed on targets associated
 38121  	// with the adapter.
 38122  	TargetChapSettable *bool `xml:"targetChapSettable" json:"targetChapSettable,omitempty" vim:"4.0"`
 38123  	// When targetMutualChapSettable is TRUE, this describes if
 38124  	// Mutual CHAP configuration is allowed on targets associated
 38125  	// with the adapter.
 38126  	TargetMutualChapSettable *bool `xml:"targetMutualChapSettable" json:"targetMutualChapSettable,omitempty" vim:"4.0"`
 38127  }
 38128  
 38129  func init() {
 38130  	t["HostInternetScsiHbaAuthenticationCapabilities"] = reflect.TypeOf((*HostInternetScsiHbaAuthenticationCapabilities)(nil)).Elem()
 38131  }
 38132  
 38133  // The authentication settings for this host bus adapter or target.
 38134  type HostInternetScsiHbaAuthenticationProperties struct {
 38135  	DynamicData
 38136  
 38137  	// True if CHAP is currently enabled
 38138  	ChapAuthEnabled bool `xml:"chapAuthEnabled" json:"chapAuthEnabled"`
 38139  	// The CHAP user name if enabled
 38140  	ChapName string `xml:"chapName,omitempty" json:"chapName,omitempty"`
 38141  	// The CHAP secret if enabled
 38142  	ChapSecret string `xml:"chapSecret,omitempty" json:"chapSecret,omitempty"`
 38143  	// The preference for CHAP or non-CHAP protocol if CHAP is enabled
 38144  	ChapAuthenticationType string `xml:"chapAuthenticationType,omitempty" json:"chapAuthenticationType,omitempty" vim:"4.0"`
 38145  	// CHAP settings are inherited
 38146  	ChapInherited *bool `xml:"chapInherited" json:"chapInherited,omitempty" vim:"4.0"`
 38147  	// When Mutual-CHAP is enabled, the user name that target needs to
 38148  	// use to authenticate with the initiator
 38149  	MutualChapName string `xml:"mutualChapName,omitempty" json:"mutualChapName,omitempty" vim:"4.0"`
 38150  	// When Mutual-CHAP is enabled, the secret that target needs to
 38151  	// use to authenticate with the initiator
 38152  	MutualChapSecret string `xml:"mutualChapSecret,omitempty" json:"mutualChapSecret,omitempty" vim:"4.0"`
 38153  	// The preference for CHAP or non-CHAP protocol if CHAP is enabled
 38154  	MutualChapAuthenticationType string `xml:"mutualChapAuthenticationType,omitempty" json:"mutualChapAuthenticationType,omitempty" vim:"4.0"`
 38155  	// Mutual-CHAP settings are inherited
 38156  	MutualChapInherited *bool `xml:"mutualChapInherited" json:"mutualChapInherited,omitempty" vim:"4.0"`
 38157  }
 38158  
 38159  func init() {
 38160  	t["HostInternetScsiHbaAuthenticationProperties"] = reflect.TypeOf((*HostInternetScsiHbaAuthenticationProperties)(nil)).Elem()
 38161  }
 38162  
 38163  // The digest capabilities for this host bus adapter.
 38164  type HostInternetScsiHbaDigestCapabilities struct {
 38165  	DynamicData
 38166  
 38167  	// True if this host bus adapter supports the configuration
 38168  	// of the use of header digest.
 38169  	//
 38170  	// Defaults to false, in which
 38171  	// case no header digests will be used.
 38172  	HeaderDigestSettable *bool `xml:"headerDigestSettable" json:"headerDigestSettable,omitempty"`
 38173  	// True if this host bus adapter supports the configuration
 38174  	// of the use of data digest.
 38175  	//
 38176  	// Defaults to false, in which
 38177  	// case no data digests will be used.
 38178  	DataDigestSettable *bool `xml:"dataDigestSettable" json:"dataDigestSettable,omitempty"`
 38179  	// True if configuration of the use of header digest is supported
 38180  	// on the targets associated with the host bus adapter.
 38181  	//
 38182  	// Defaults to
 38183  	// false, in which case no header digests will be used.
 38184  	TargetHeaderDigestSettable *bool `xml:"targetHeaderDigestSettable" json:"targetHeaderDigestSettable,omitempty"`
 38185  	// True if configuration of the use of data digest is supported
 38186  	// on the targets associated with the host bus adapter.
 38187  	//
 38188  	// Defaults to
 38189  	// false, in which case no data digests will be used.
 38190  	TargetDataDigestSettable *bool `xml:"targetDataDigestSettable" json:"targetDataDigestSettable,omitempty"`
 38191  }
 38192  
 38193  func init() {
 38194  	t["HostInternetScsiHbaDigestCapabilities"] = reflect.TypeOf((*HostInternetScsiHbaDigestCapabilities)(nil)).Elem()
 38195  	minAPIVersionForType["HostInternetScsiHbaDigestCapabilities"] = "4.0"
 38196  }
 38197  
 38198  // The digest settings for this host bus adapter.
 38199  type HostInternetScsiHbaDigestProperties struct {
 38200  	DynamicData
 38201  
 38202  	// The header digest preference if header digest is enabled
 38203  	HeaderDigestType string `xml:"headerDigestType,omitempty" json:"headerDigestType,omitempty"`
 38204  	// Header digest setting is inherited
 38205  	HeaderDigestInherited *bool `xml:"headerDigestInherited" json:"headerDigestInherited,omitempty"`
 38206  	// The data digest preference if data digest is enabled
 38207  	DataDigestType string `xml:"dataDigestType,omitempty" json:"dataDigestType,omitempty"`
 38208  	// Data digest setting is inherited
 38209  	DataDigestInherited *bool `xml:"dataDigestInherited" json:"dataDigestInherited,omitempty"`
 38210  }
 38211  
 38212  func init() {
 38213  	t["HostInternetScsiHbaDigestProperties"] = reflect.TypeOf((*HostInternetScsiHbaDigestProperties)(nil)).Elem()
 38214  	minAPIVersionForType["HostInternetScsiHbaDigestProperties"] = "4.0"
 38215  }
 38216  
 38217  // The discovery capabilities for this host bus adapter.
 38218  //
 38219  // At least one discovery mode must always be active.
 38220  // Multiple modes may be active at the same time.
 38221  type HostInternetScsiHbaDiscoveryCapabilities struct {
 38222  	DynamicData
 38223  
 38224  	// True if this host bus adapter supports iSNS
 38225  	ISnsDiscoverySettable bool `xml:"iSnsDiscoverySettable" json:"iSnsDiscoverySettable"`
 38226  	// True if this host bus adapter supports SLP
 38227  	SlpDiscoverySettable bool `xml:"slpDiscoverySettable" json:"slpDiscoverySettable"`
 38228  	// True if this host bus adapter supports static discovery
 38229  	StaticTargetDiscoverySettable bool `xml:"staticTargetDiscoverySettable" json:"staticTargetDiscoverySettable"`
 38230  	// True if this host bus adapter supports changing the configuration
 38231  	// state of send targets discovery.
 38232  	//
 38233  	// Send targets is mandatory, however
 38234  	// some adapters may not allow disabling this discovery method.
 38235  	SendTargetsDiscoverySettable bool `xml:"sendTargetsDiscoverySettable" json:"sendTargetsDiscoverySettable"`
 38236  }
 38237  
 38238  func init() {
 38239  	t["HostInternetScsiHbaDiscoveryCapabilities"] = reflect.TypeOf((*HostInternetScsiHbaDiscoveryCapabilities)(nil)).Elem()
 38240  }
 38241  
 38242  // The discovery settings for this host bus adapter.
 38243  //
 38244  // At least one discovery mode must always be active.
 38245  // Multiple modes may be active at the same time.
 38246  type HostInternetScsiHbaDiscoveryProperties struct {
 38247  	DynamicData
 38248  
 38249  	// True if iSNS is currently enabled
 38250  	ISnsDiscoveryEnabled bool `xml:"iSnsDiscoveryEnabled" json:"iSnsDiscoveryEnabled"`
 38251  	// The iSNS discovery method in use when iSNS is enabled.
 38252  	//
 38253  	// Must be one of the values of
 38254  	// `InternetScsiSnsDiscoveryMethod_enum`
 38255  	ISnsDiscoveryMethod string `xml:"iSnsDiscoveryMethod,omitempty" json:"iSnsDiscoveryMethod,omitempty"`
 38256  	// For STATIC iSNS, this is the iSNS server address
 38257  	ISnsHost string `xml:"iSnsHost,omitempty" json:"iSnsHost,omitempty"`
 38258  	// True if SLP is enabled
 38259  	SlpDiscoveryEnabled bool `xml:"slpDiscoveryEnabled" json:"slpDiscoveryEnabled"`
 38260  	// The current SLP discovery method when SLP is enabled.
 38261  	//
 38262  	// Must be one of the values of
 38263  	// `SlpDiscoveryMethod_enum`
 38264  	SlpDiscoveryMethod string `xml:"slpDiscoveryMethod,omitempty" json:"slpDiscoveryMethod,omitempty"`
 38265  	// When the SLP discovery method is set to MANUAL, this property
 38266  	// reflects the hostname, and optionally port number of the SLP DA.
 38267  	SlpHost string `xml:"slpHost,omitempty" json:"slpHost,omitempty"`
 38268  	// True if static target discovery is enabled
 38269  	StaticTargetDiscoveryEnabled bool `xml:"staticTargetDiscoveryEnabled" json:"staticTargetDiscoveryEnabled"`
 38270  	// True if send targets discovery is enabled
 38271  	SendTargetsDiscoveryEnabled bool `xml:"sendTargetsDiscoveryEnabled" json:"sendTargetsDiscoveryEnabled"`
 38272  }
 38273  
 38274  func init() {
 38275  	t["HostInternetScsiHbaDiscoveryProperties"] = reflect.TypeOf((*HostInternetScsiHbaDiscoveryProperties)(nil)).Elem()
 38276  }
 38277  
 38278  // The IP Capabilities for the host bus adapter
 38279  type HostInternetScsiHbaIPCapabilities struct {
 38280  	DynamicData
 38281  
 38282  	// True if the host bus adapter supports setting its IPv4 address.
 38283  	AddressSettable bool `xml:"addressSettable" json:"addressSettable"`
 38284  	// True if the host bus adapter supports DHCPv4.
 38285  	IpConfigurationMethodSettable bool `xml:"ipConfigurationMethodSettable" json:"ipConfigurationMethodSettable"`
 38286  	// True if the host bus adapter supports setting its IPv4 subnet mask.
 38287  	SubnetMaskSettable bool `xml:"subnetMaskSettable" json:"subnetMaskSettable"`
 38288  	// True if the host bus adapter supports setting its IPv4 gateway.
 38289  	DefaultGatewaySettable bool `xml:"defaultGatewaySettable" json:"defaultGatewaySettable"`
 38290  	// True if the host bus adapter supports setting its primary DNS.
 38291  	PrimaryDnsServerAddressSettable bool `xml:"primaryDnsServerAddressSettable" json:"primaryDnsServerAddressSettable"`
 38292  	// True if the host bus adapter supports setting its secondary DNS.
 38293  	AlternateDnsServerAddressSettable bool `xml:"alternateDnsServerAddressSettable" json:"alternateDnsServerAddressSettable"`
 38294  	// True if the host bus adapter supports the use of IPv6 addresses
 38295  	Ipv6Supported *bool `xml:"ipv6Supported" json:"ipv6Supported,omitempty" vim:"4.0"`
 38296  	// True if the host bus adapter supports setting its ARP Redirect value
 38297  	ArpRedirectSettable *bool `xml:"arpRedirectSettable" json:"arpRedirectSettable,omitempty" vim:"4.0"`
 38298  	// True if the host bus adapter supports setting its MTU, (for Jumbo
 38299  	// Frames, etc)
 38300  	MtuSettable *bool `xml:"mtuSettable" json:"mtuSettable,omitempty" vim:"4.0"`
 38301  	// True if the discovery and static targets can be configured with
 38302  	// a host name as opposed to an IP address.
 38303  	HostNameAsTargetAddress *bool `xml:"hostNameAsTargetAddress" json:"hostNameAsTargetAddress,omitempty" vim:"4.0"`
 38304  	// True if the host bus adapter supports setting its name and alias
 38305  	NameAliasSettable *bool `xml:"nameAliasSettable" json:"nameAliasSettable,omitempty" vim:"4.1"`
 38306  	// True if IPv4 addresssing can be enabled or disabled on the host bus adapter.
 38307  	Ipv4EnableSettable *bool `xml:"ipv4EnableSettable" json:"ipv4EnableSettable,omitempty" vim:"6.0"`
 38308  	// True if IPv6 addresssing can be enabled or disabled on the host bus adapter.
 38309  	Ipv6EnableSettable *bool `xml:"ipv6EnableSettable" json:"ipv6EnableSettable,omitempty" vim:"6.0"`
 38310  	// True if the Host bus adapter supports setting IPv6 Prefix Length.
 38311  	Ipv6PrefixLengthSettable *bool `xml:"ipv6PrefixLengthSettable" json:"ipv6PrefixLengthSettable,omitempty" vim:"6.0"`
 38312  	// Provides the value that user should be using if host bus adapter
 38313  	// does not support changing of prefix length.
 38314  	Ipv6PrefixLength int32 `xml:"ipv6PrefixLength,omitempty" json:"ipv6PrefixLength,omitempty" vim:"6.0"`
 38315  	// True if the Host bus adapter supports DHCPv6 configuration.
 38316  	Ipv6DhcpConfigurationSettable *bool `xml:"ipv6DhcpConfigurationSettable" json:"ipv6DhcpConfigurationSettable,omitempty" vim:"6.0"`
 38317  	// True if the Host bus adapter supports setting configuration of its IPv6 link local address
 38318  	// User can specify link local static address if link local auto configuration is set to false.
 38319  	//
 38320  	// link local address usually starts with fe80: and has prefix 64.
 38321  	Ipv6LinkLocalAutoConfigurationSettable *bool `xml:"ipv6LinkLocalAutoConfigurationSettable" json:"ipv6LinkLocalAutoConfigurationSettable,omitempty" vim:"6.0"`
 38322  	// True if the Host bus adapter supports router advertisement configuration method.
 38323  	//
 38324  	// Note: Currently Qlogic adapter does not support plumbing of any user specified
 38325  	// static address if router advertisement method is enabled.
 38326  	Ipv6RouterAdvertisementConfigurationSettable *bool `xml:"ipv6RouterAdvertisementConfigurationSettable" json:"ipv6RouterAdvertisementConfigurationSettable,omitempty" vim:"6.0"`
 38327  	// True if the Host bus adapter supports setting its IPv6 default gateway.
 38328  	Ipv6DefaultGatewaySettable *bool `xml:"ipv6DefaultGatewaySettable" json:"ipv6DefaultGatewaySettable,omitempty" vim:"6.0"`
 38329  	// The maximum number of supported IPv6 static addresses on the
 38330  	// host bus adapter that user can set.
 38331  	Ipv6MaxStaticAddressesSupported int32 `xml:"ipv6MaxStaticAddressesSupported,omitempty" json:"ipv6MaxStaticAddressesSupported,omitempty" vim:"6.0"`
 38332  }
 38333  
 38334  func init() {
 38335  	t["HostInternetScsiHbaIPCapabilities"] = reflect.TypeOf((*HostInternetScsiHbaIPCapabilities)(nil)).Elem()
 38336  }
 38337  
 38338  // The IP properties for the host bus adapter
 38339  type HostInternetScsiHbaIPProperties struct {
 38340  	DynamicData
 38341  
 38342  	// The MAC address.
 38343  	Mac string `xml:"mac,omitempty" json:"mac,omitempty"`
 38344  	// The current IPv4 address.
 38345  	Address string `xml:"address,omitempty" json:"address,omitempty"`
 38346  	// True if the host bus adapter fetches its IP using DHCP.
 38347  	DhcpConfigurationEnabled bool `xml:"dhcpConfigurationEnabled" json:"dhcpConfigurationEnabled"`
 38348  	// The current IPv4 subnet mask.
 38349  	SubnetMask string `xml:"subnetMask,omitempty" json:"subnetMask,omitempty"`
 38350  	// The current IPv4 gateway.
 38351  	DefaultGateway string `xml:"defaultGateway,omitempty" json:"defaultGateway,omitempty"`
 38352  	// The current primary DNS address.
 38353  	PrimaryDnsServerAddress string `xml:"primaryDnsServerAddress,omitempty" json:"primaryDnsServerAddress,omitempty"`
 38354  	// The current secondary DNS address.
 38355  	AlternateDnsServerAddress string `xml:"alternateDnsServerAddress,omitempty" json:"alternateDnsServerAddress,omitempty"`
 38356  	// Deprecated since vSphere API 5.5 use { @link IPProperties#ipv6properties }.
 38357  	//
 38358  	// The current IPv6 address.
 38359  	Ipv6Address string `xml:"ipv6Address,omitempty" json:"ipv6Address,omitempty" vim:"4.0"`
 38360  	// Deprecated since vSphere API 5.5 use { @link IPProperties#ipv6properties }.
 38361  	//
 38362  	// The current IPv6 subnet mask.
 38363  	Ipv6SubnetMask string `xml:"ipv6SubnetMask,omitempty" json:"ipv6SubnetMask,omitempty" vim:"4.0"`
 38364  	// Deprecated since vSphere API 5.5 use { @link IPProperties#ipv6properties }.
 38365  	//
 38366  	// The current IPv6 default gateway.
 38367  	Ipv6DefaultGateway string `xml:"ipv6DefaultGateway,omitempty" json:"ipv6DefaultGateway,omitempty" vim:"4.0"`
 38368  	// True if ARP Redirect is enabled
 38369  	ArpRedirectEnabled *bool `xml:"arpRedirectEnabled" json:"arpRedirectEnabled,omitempty" vim:"4.0"`
 38370  	// True if the host bus adapter supports setting its MTU, (for Jumbo
 38371  	// Frames, etc)
 38372  	// Setting enableJumboFrames and not a numeric mtu value implies
 38373  	// autoselection of appropriate MTU value for Jumbo Frames.
 38374  	Mtu                int32 `xml:"mtu,omitempty" json:"mtu,omitempty" vim:"4.0"`
 38375  	JumboFramesEnabled *bool `xml:"jumboFramesEnabled" json:"jumboFramesEnabled,omitempty"`
 38376  	// True if IPv4 is enabled.
 38377  	//
 38378  	// Unset value will keep existing IPv4 enabled state as is.
 38379  	Ipv4Enabled *bool `xml:"ipv4Enabled" json:"ipv4Enabled,omitempty" vim:"6.0"`
 38380  	// True if IPv6 is enabled.
 38381  	//
 38382  	// Unset value will keep existing IPv6 enabled state as is.
 38383  	Ipv6Enabled *bool `xml:"ipv6Enabled" json:"ipv6Enabled,omitempty" vim:"6.0"`
 38384  	// IPv6 properties.
 38385  	//
 38386  	// It is set only if { @link #ipv6Enabled } is true.
 38387  	Ipv6properties *HostInternetScsiHbaIPv6Properties `xml:"ipv6properties,omitempty" json:"ipv6properties,omitempty" vim:"6.0"`
 38388  }
 38389  
 38390  func init() {
 38391  	t["HostInternetScsiHbaIPProperties"] = reflect.TypeOf((*HostInternetScsiHbaIPProperties)(nil)).Elem()
 38392  }
 38393  
 38394  // The IPv6 properties for the host bus adapter.
 38395  type HostInternetScsiHbaIPv6Properties struct {
 38396  	DynamicData
 38397  
 38398  	// There can be multiple IPv6 addressed plumbed onto the Host Bus Adapter.
 38399  	IscsiIpv6Address []HostInternetScsiHbaIscsiIpv6Address `xml:"iscsiIpv6Address,omitempty" json:"iscsiIpv6Address,omitempty"`
 38400  	// True if DHCPv6 is enabled on the host bus adapter.
 38401  	//
 38402  	// User can keep this field unset while changing other IPv6 properties
 38403  	// without altering current DHCP configuration.
 38404  	Ipv6DhcpConfigurationEnabled *bool `xml:"ipv6DhcpConfigurationEnabled" json:"ipv6DhcpConfigurationEnabled,omitempty"`
 38405  	// True if auto configuration of link local address is enabled on the host bus adapter.
 38406  	//
 38407  	// User can keep this field unset while changing other IPv6 properties
 38408  	// without altering current link local auto configuration.
 38409  	Ipv6LinkLocalAutoConfigurationEnabled *bool `xml:"ipv6LinkLocalAutoConfigurationEnabled" json:"ipv6LinkLocalAutoConfigurationEnabled,omitempty"`
 38410  	// True if the router advertisement configuration is enabled on the host bus adapter.
 38411  	//
 38412  	// User can keep this field unset while changing other IPv6 properties
 38413  	// without altering current router advertisement configuration.
 38414  	Ipv6RouterAdvertisementConfigurationEnabled *bool `xml:"ipv6RouterAdvertisementConfigurationEnabled" json:"ipv6RouterAdvertisementConfigurationEnabled,omitempty"`
 38415  	// The current IPv6 default gateway.
 38416  	//
 38417  	// User can keep this field unset while changing other IPv6 properties
 38418  	// without altering current default gateway configuration.
 38419  	Ipv6DefaultGateway string `xml:"ipv6DefaultGateway,omitempty" json:"ipv6DefaultGateway,omitempty"`
 38420  }
 38421  
 38422  func init() {
 38423  	t["HostInternetScsiHbaIPv6Properties"] = reflect.TypeOf((*HostInternetScsiHbaIPv6Properties)(nil)).Elem()
 38424  	minAPIVersionForType["HostInternetScsiHbaIPv6Properties"] = "6.0"
 38425  }
 38426  
 38427  // The IPv6 address.
 38428  type HostInternetScsiHbaIscsiIpv6Address struct {
 38429  	DynamicData
 38430  
 38431  	// IPv6 address.
 38432  	Address string `xml:"address" json:"address"`
 38433  	// IPv6 address prefix length.
 38434  	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
 38435  	// Type of the address.
 38436  	//
 38437  	// See { @Vim::Host::HostBusAdapter::IscsiIpv6Address::AddressConfigurationType }.
 38438  	// Note: While setting IPv6 address, value of origin should be set to static.
 38439  	Origin string `xml:"origin" json:"origin"`
 38440  	// Operation to be performed with the IP address.
 38441  	//
 38442  	// See { @Vim::Host::HostBusAdapter::IscsiIpv6Address::IPv6AddressOperation }.
 38443  	// Note: This field/operation is used only while setting the IPProperties on host bus adapter.
 38444  	// This field would not have any value (Unset) while viewing IPProperties
 38445  	// of the host bus adapter.
 38446  	Operation string `xml:"operation,omitempty" json:"operation,omitempty"`
 38447  }
 38448  
 38449  func init() {
 38450  	t["HostInternetScsiHbaIscsiIpv6Address"] = reflect.TypeOf((*HostInternetScsiHbaIscsiIpv6Address)(nil)).Elem()
 38451  	minAPIVersionForType["HostInternetScsiHbaIscsiIpv6Address"] = "6.0"
 38452  }
 38453  
 38454  // Describes the the value of an iSCSI parameter, and whether
 38455  // the value is being inherited.
 38456  type HostInternetScsiHbaParamValue struct {
 38457  	OptionValue
 38458  
 38459  	// Indicates if the value is inherited from some other source.
 38460  	//
 38461  	// If unset, the value is not inheritable.
 38462  	// isInherited can be modified only if it has already been set.
 38463  	// If value is to being modified, isInherited should be set to true.
 38464  	// Setting isInherited to false will result in the value being
 38465  	// once again inherited from the source.
 38466  	IsInherited *bool `xml:"isInherited" json:"isInherited,omitempty"`
 38467  }
 38468  
 38469  func init() {
 38470  	t["HostInternetScsiHbaParamValue"] = reflect.TypeOf((*HostInternetScsiHbaParamValue)(nil)).Elem()
 38471  	minAPIVersionForType["HostInternetScsiHbaParamValue"] = "4.0"
 38472  }
 38473  
 38474  // The iSCSI send target.
 38475  type HostInternetScsiHbaSendTarget struct {
 38476  	DynamicData
 38477  
 38478  	// The IP address or hostname of the storage device.
 38479  	Address string `xml:"address" json:"address"`
 38480  	// The TCP port of the storage device.
 38481  	//
 38482  	// If not specified, the standard default of 3260 is used.
 38483  	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
 38484  	// The authentication settings for this discovery target.
 38485  	//
 38486  	// All static targets discovered via this target will inherit the
 38487  	// use of these settings unless the static target's authentication
 38488  	// settings are explicitly set.
 38489  	AuthenticationProperties *HostInternetScsiHbaAuthenticationProperties `xml:"authenticationProperties,omitempty" json:"authenticationProperties,omitempty" vim:"4.0"`
 38490  	// The digest settings for this discovery target.
 38491  	//
 38492  	// All static targets discovered via this target will inherit the
 38493  	// use of these settings unless the static target's digest
 38494  	// settings are explicitly set.
 38495  	DigestProperties *HostInternetScsiHbaDigestProperties `xml:"digestProperties,omitempty" json:"digestProperties,omitempty" vim:"4.0"`
 38496  	// A list of supported key/value pair advanced options for the
 38497  	// host bus adapter including their type information.
 38498  	SupportedAdvancedOptions []OptionDef `xml:"supportedAdvancedOptions,omitempty" json:"supportedAdvancedOptions,omitempty" vim:"4.0"`
 38499  	// A list of the current options settings for the host bus adapter.
 38500  	AdvancedOptions []HostInternetScsiHbaParamValue `xml:"advancedOptions,omitempty" json:"advancedOptions,omitempty" vim:"4.0"`
 38501  	// The device name of the host bus adapter from which settings
 38502  	// can be inherited.
 38503  	Parent string `xml:"parent,omitempty" json:"parent,omitempty" vim:"4.0"`
 38504  }
 38505  
 38506  func init() {
 38507  	t["HostInternetScsiHbaSendTarget"] = reflect.TypeOf((*HostInternetScsiHbaSendTarget)(nil)).Elem()
 38508  }
 38509  
 38510  // The iSCSI static target.
 38511  type HostInternetScsiHbaStaticTarget struct {
 38512  	DynamicData
 38513  
 38514  	// The IP address or hostname of the storage device.
 38515  	Address string `xml:"address" json:"address"`
 38516  	// The TCP port of the storage device.
 38517  	//
 38518  	// If not specified, the standard default of 3260 is used.
 38519  	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
 38520  	// The iSCSI name of the storage device.
 38521  	IScsiName string `xml:"iScsiName" json:"iScsiName"`
 38522  	// Discovery method
 38523  	// each static target is discovered by some method
 38524  	// define in TargetDiscoveryMethod.
 38525  	DiscoveryMethod string `xml:"discoveryMethod,omitempty" json:"discoveryMethod,omitempty" vim:"5.1"`
 38526  	// The authentication settings for this target.
 38527  	AuthenticationProperties *HostInternetScsiHbaAuthenticationProperties `xml:"authenticationProperties,omitempty" json:"authenticationProperties,omitempty" vim:"4.0"`
 38528  	// The digest settings for this target.
 38529  	DigestProperties *HostInternetScsiHbaDigestProperties `xml:"digestProperties,omitempty" json:"digestProperties,omitempty" vim:"4.0"`
 38530  	// A list of supported key/value pair advanced options for the
 38531  	// host bus adapter including their type information.
 38532  	SupportedAdvancedOptions []OptionDef `xml:"supportedAdvancedOptions,omitempty" json:"supportedAdvancedOptions,omitempty" vim:"4.0"`
 38533  	// A list of the current options settings for the host bus adapter.
 38534  	AdvancedOptions []HostInternetScsiHbaParamValue `xml:"advancedOptions,omitempty" json:"advancedOptions,omitempty" vim:"4.0"`
 38535  	// The parent entity from which settings can be inherited.
 38536  	//
 38537  	// It can either
 38538  	// be unset, or set to the device name of the host bus adapter or the
 38539  	// name of the SendTarget.
 38540  	Parent string `xml:"parent,omitempty" json:"parent,omitempty" vim:"4.0"`
 38541  }
 38542  
 38543  func init() {
 38544  	t["HostInternetScsiHbaStaticTarget"] = reflect.TypeOf((*HostInternetScsiHbaStaticTarget)(nil)).Elem()
 38545  }
 38546  
 38547  // A collection of one or more static targets or discovery addresses.
 38548  //
 38549  // At least one of the arrays must be non-empty.
 38550  type HostInternetScsiHbaTargetSet struct {
 38551  	DynamicData
 38552  
 38553  	StaticTargets []HostInternetScsiHbaStaticTarget `xml:"staticTargets,omitempty" json:"staticTargets,omitempty"`
 38554  	SendTargets   []HostInternetScsiHbaSendTarget   `xml:"sendTargets,omitempty" json:"sendTargets,omitempty"`
 38555  }
 38556  
 38557  func init() {
 38558  	t["HostInternetScsiHbaTargetSet"] = reflect.TypeOf((*HostInternetScsiHbaTargetSet)(nil)).Elem()
 38559  	minAPIVersionForType["HostInternetScsiHbaTargetSet"] = "4.0"
 38560  }
 38561  
 38562  // Internet SCSI transport information about a SCSI target.
 38563  type HostInternetScsiTargetTransport struct {
 38564  	HostTargetTransport
 38565  
 38566  	// The iSCSI name of the target.
 38567  	IScsiName string `xml:"iScsiName" json:"iScsiName"`
 38568  	// The iSCSI alias of the target.
 38569  	IScsiAlias string `xml:"iScsiAlias" json:"iScsiAlias"`
 38570  	// The IP addresses through which the target may be reached.
 38571  	Address []string `xml:"address,omitempty" json:"address,omitempty"`
 38572  }
 38573  
 38574  func init() {
 38575  	t["HostInternetScsiTargetTransport"] = reflect.TypeOf((*HostInternetScsiTargetTransport)(nil)).Elem()
 38576  }
 38577  
 38578  // A HostInventoryFull is thrown if the inventory has reach the max capacity of hosts.
 38579  type HostInventoryFull struct {
 38580  	NotEnoughLicenses
 38581  
 38582  	Capacity int32 `xml:"capacity" json:"capacity"`
 38583  }
 38584  
 38585  func init() {
 38586  	t["HostInventoryFull"] = reflect.TypeOf((*HostInventoryFull)(nil)).Elem()
 38587  	minAPIVersionForType["HostInventoryFull"] = "2.5"
 38588  }
 38589  
 38590  // This event records if the inventory of hosts has reached capacity.
 38591  type HostInventoryFullEvent struct {
 38592  	LicenseEvent
 38593  
 38594  	Capacity int32 `xml:"capacity" json:"capacity"`
 38595  }
 38596  
 38597  func init() {
 38598  	t["HostInventoryFullEvent"] = reflect.TypeOf((*HostInventoryFullEvent)(nil)).Elem()
 38599  	minAPIVersionForType["HostInventoryFullEvent"] = "2.5"
 38600  }
 38601  
 38602  type HostInventoryFullFault HostInventoryFull
 38603  
 38604  func init() {
 38605  	t["HostInventoryFullFault"] = reflect.TypeOf((*HostInventoryFullFault)(nil)).Elem()
 38606  }
 38607  
 38608  // Event indicating that the virtual machine inventory
 38609  // file on the host is damaged or unreadable.
 38610  type HostInventoryUnreadableEvent struct {
 38611  	Event
 38612  }
 38613  
 38614  func init() {
 38615  	t["HostInventoryUnreadableEvent"] = reflect.TypeOf((*HostInventoryUnreadableEvent)(nil)).Elem()
 38616  	minAPIVersionForType["HostInventoryUnreadableEvent"] = "4.0"
 38617  }
 38618  
 38619  // Information about an IO Filter installed on a host.
 38620  type HostIoFilterInfo struct {
 38621  	IoFilterInfo
 38622  
 38623  	// Whether or not the filter is available for use.
 38624  	Available bool `xml:"available" json:"available"`
 38625  }
 38626  
 38627  func init() {
 38628  	t["HostIoFilterInfo"] = reflect.TypeOf((*HostIoFilterInfo)(nil)).Elem()
 38629  	minAPIVersionForType["HostIoFilterInfo"] = "6.0"
 38630  }
 38631  
 38632  // This event records a change in host IP address.
 38633  type HostIpChangedEvent struct {
 38634  	HostEvent
 38635  
 38636  	// Old IP address of the host.
 38637  	OldIP string `xml:"oldIP" json:"oldIP"`
 38638  	// New IP address of the host.
 38639  	NewIP string `xml:"newIP" json:"newIP"`
 38640  }
 38641  
 38642  func init() {
 38643  	t["HostIpChangedEvent"] = reflect.TypeOf((*HostIpChangedEvent)(nil)).Elem()
 38644  	minAPIVersionForType["HostIpChangedEvent"] = "2.5"
 38645  }
 38646  
 38647  // The IP configuration.
 38648  type HostIpConfig struct {
 38649  	DynamicData
 38650  
 38651  	// The flag to indicate whether or not DHCP (dynamic host
 38652  	// control protocol) is enabled.
 38653  	//
 38654  	// If this property is set to true,
 38655  	// the ipAddress and the subnetMask strings cannot be set explicitly.
 38656  	Dhcp bool `xml:"dhcp" json:"dhcp"`
 38657  	// The IP address currently used by the network adapter.
 38658  	//
 38659  	// All IP addresses are specified using IPv4 dot notation.
 38660  	// For example, "192.168.0.1". Subnet addresses and netmasks are
 38661  	// specified using the same notation.
 38662  	//
 38663  	// `*Note*`: When DHCP is enabled, this property reflects the
 38664  	// current IP configuration and cannot be set. When DHCP is not
 38665  	// enabled, this property can be set explicitly.
 38666  	IpAddress string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 38667  	// The subnet mask.
 38668  	//
 38669  	// `*Note*`: When DHCP is not enabled, this property can be
 38670  	// set explicitly. When DHCP is enabled, this property reflects the
 38671  	// current IP configuration and cannot be set.
 38672  	SubnetMask string `xml:"subnetMask,omitempty" json:"subnetMask,omitempty"`
 38673  	// The ipv6 configuration
 38674  	IpV6Config *HostIpConfigIpV6AddressConfiguration `xml:"ipV6Config,omitempty" json:"ipV6Config,omitempty" vim:"4.0"`
 38675  }
 38676  
 38677  func init() {
 38678  	t["HostIpConfig"] = reflect.TypeOf((*HostIpConfig)(nil)).Elem()
 38679  }
 38680  
 38681  // The ipv6 address specification
 38682  type HostIpConfigIpV6Address struct {
 38683  	DynamicData
 38684  
 38685  	// The ipv6 address.
 38686  	//
 38687  	// When DHCP is enabled, this property
 38688  	// reflects the current IP configuration and cannot be set.
 38689  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 38690  	// The prefix length.
 38691  	//
 38692  	// An ipv6 prefixLength is a decimal value that indicates
 38693  	// the number of contiguous, higher-order bits of the address that make up the
 38694  	// network portion of the address.
 38695  	// For example, 10FA:6604:8136:6502::/64 is a possible IPv6 prefix. The prefix
 38696  	// length in this case is 64.
 38697  	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
 38698  	// The type of the ipv6 address configuration on the interface.
 38699  	//
 38700  	// This can be one of the types defined my the enum
 38701  	// `HostIpConfigIpV6AddressConfigType_enum`.
 38702  	Origin string `xml:"origin,omitempty" json:"origin,omitempty"`
 38703  	// The state of this ipAddress.
 38704  	//
 38705  	// Can be one of
 38706  	// `HostIpConfigIpV6AddressStatus_enum`
 38707  	DadState string `xml:"dadState,omitempty" json:"dadState,omitempty"`
 38708  	// The time when will this address expire.
 38709  	//
 38710  	// If not set
 38711  	// the address lifetime is unlimited.
 38712  	Lifetime *time.Time `xml:"lifetime" json:"lifetime,omitempty"`
 38713  	// Valid values are "add" and "remove".
 38714  	//
 38715  	// See `HostConfigChangeOperation_enum`.
 38716  	Operation string `xml:"operation,omitempty" json:"operation,omitempty"`
 38717  }
 38718  
 38719  func init() {
 38720  	t["HostIpConfigIpV6Address"] = reflect.TypeOf((*HostIpConfigIpV6Address)(nil)).Elem()
 38721  	minAPIVersionForType["HostIpConfigIpV6Address"] = "4.0"
 38722  }
 38723  
 38724  // The ipv6 address configuration
 38725  type HostIpConfigIpV6AddressConfiguration struct {
 38726  	DynamicData
 38727  
 38728  	// Ipv6 adrresses configured on the interface.
 38729  	//
 38730  	// The global addresses can be configured
 38731  	// through DHCP, stateless or manual configuration. Link local addresses can be
 38732  	// only configured with the origin set to
 38733  	// `other`.
 38734  	IpV6Address []HostIpConfigIpV6Address `xml:"ipV6Address,omitempty" json:"ipV6Address,omitempty"`
 38735  	// Specify if IPv6 address and routing information information
 38736  	// be enabled or not as per RFC 2462.
 38737  	AutoConfigurationEnabled *bool `xml:"autoConfigurationEnabled" json:"autoConfigurationEnabled,omitempty"`
 38738  	// The flag to indicate whether or not DHCP (dynamic host
 38739  	// control protocol) is enabled to obtain an ipV6 address.
 38740  	//
 38741  	// If this property is set to true, an ipV6 address is configured through dhcpV6.
 38742  	DhcpV6Enabled *bool `xml:"dhcpV6Enabled" json:"dhcpV6Enabled,omitempty"`
 38743  }
 38744  
 38745  func init() {
 38746  	t["HostIpConfigIpV6AddressConfiguration"] = reflect.TypeOf((*HostIpConfigIpV6AddressConfiguration)(nil)).Elem()
 38747  	minAPIVersionForType["HostIpConfigIpV6AddressConfiguration"] = "4.0"
 38748  }
 38749  
 38750  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 38751  //
 38752  // This event records that the IP address resolution returned different
 38753  // addresses on the host.
 38754  //
 38755  // Please check your host's network configuration.
 38756  type HostIpInconsistentEvent struct {
 38757  	HostEvent
 38758  
 38759  	IpAddress  string `xml:"ipAddress" json:"ipAddress"`
 38760  	IpAddress2 string `xml:"ipAddress2" json:"ipAddress2"`
 38761  }
 38762  
 38763  func init() {
 38764  	t["HostIpInconsistentEvent"] = reflect.TypeOf((*HostIpInconsistentEvent)(nil)).Elem()
 38765  	minAPIVersionForType["HostIpInconsistentEvent"] = "2.5"
 38766  }
 38767  
 38768  // IP Route Configuration.
 38769  //
 38770  // All IPv4 addresses, subnet addresses, and
 38771  // netmasks are specified as strings using dotted decimal notation.
 38772  // For example, "192.0.2.1".
 38773  // IPv6 addresses are 128-bit addresses represented
 38774  // as eight fields of up to four hexadecimal digits. A colon separates each
 38775  // field (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can
 38776  // also consist of symbol '::' to represent multiple 16-bit groups of
 38777  // contiguous 0's only once in an address as described in RFC 2373.
 38778  type HostIpRouteConfig struct {
 38779  	DynamicData
 38780  
 38781  	// The default gateway address.
 38782  	DefaultGateway string `xml:"defaultGateway,omitempty" json:"defaultGateway,omitempty"`
 38783  	// The gateway device.
 38784  	//
 38785  	// This applies to service console gateway only, it
 38786  	// is ignored otherwise.
 38787  	GatewayDevice string `xml:"gatewayDevice,omitempty" json:"gatewayDevice,omitempty"`
 38788  	// The default ipv6 gateway address
 38789  	IpV6DefaultGateway string `xml:"ipV6DefaultGateway,omitempty" json:"ipV6DefaultGateway,omitempty" vim:"4.0"`
 38790  	// The ipv6 gateway device.
 38791  	//
 38792  	// This applies to service console gateway only, it
 38793  	IpV6GatewayDevice string `xml:"ipV6GatewayDevice,omitempty" json:"ipV6GatewayDevice,omitempty" vim:"4.0"`
 38794  }
 38795  
 38796  func init() {
 38797  	t["HostIpRouteConfig"] = reflect.TypeOf((*HostIpRouteConfig)(nil)).Elem()
 38798  }
 38799  
 38800  // Dataobject specifying the configuration for IpRoute
 38801  type HostIpRouteConfigSpec struct {
 38802  	HostIpRouteConfig
 38803  
 38804  	// Choose a gateway device based on what the VirtualNic is connected to.
 38805  	//
 38806  	// This applies to service console gateway only, it
 38807  	// is ignored otherwise.
 38808  	GatewayDeviceConnection *HostVirtualNicConnection `xml:"gatewayDeviceConnection,omitempty" json:"gatewayDeviceConnection,omitempty"`
 38809  	// The ipv6 gateway device based on what the VirtualNic is connected to.
 38810  	//
 38811  	// This applies to service console gateway only, it
 38812  	// is ignored otherwise.
 38813  	IpV6GatewayDeviceConnection *HostVirtualNicConnection `xml:"ipV6GatewayDeviceConnection,omitempty" json:"ipV6GatewayDeviceConnection,omitempty"`
 38814  }
 38815  
 38816  func init() {
 38817  	t["HostIpRouteConfigSpec"] = reflect.TypeOf((*HostIpRouteConfigSpec)(nil)).Elem()
 38818  	minAPIVersionForType["HostIpRouteConfigSpec"] = "4.0"
 38819  }
 38820  
 38821  // IpRouteEntry.
 38822  //
 38823  // Routing entries are individual static routes which combined
 38824  // with the default route form all of the routing rules for a host.
 38825  type HostIpRouteEntry struct {
 38826  	DynamicData
 38827  
 38828  	// Network of the routing entry
 38829  	// Of the format "10.20.120.0" or "2001:db8::1428:57"
 38830  	Network string `xml:"network" json:"network"`
 38831  	// Prefix length of the network (this is the 22 in 10.20.120.0/22)
 38832  	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
 38833  	// Gateway for the routing entry
 38834  	Gateway string `xml:"gateway" json:"gateway"`
 38835  	// If available the property indicates the device associated with the
 38836  	// routing entry.
 38837  	//
 38838  	// This property can only be read from the server.
 38839  	// It will be ignored if set by the client.
 38840  	DeviceName string `xml:"deviceName,omitempty" json:"deviceName,omitempty" vim:"4.1"`
 38841  }
 38842  
 38843  func init() {
 38844  	t["HostIpRouteEntry"] = reflect.TypeOf((*HostIpRouteEntry)(nil)).Elem()
 38845  	minAPIVersionForType["HostIpRouteEntry"] = "4.0"
 38846  }
 38847  
 38848  // Routing Entry Operation.
 38849  //
 38850  // Routing entries are individual static routes
 38851  // which combined with the default route form all of the routing rules for
 38852  // a host.
 38853  type HostIpRouteOp struct {
 38854  	DynamicData
 38855  
 38856  	// This property indicates the change operation to apply on
 38857  	// this configuration specification.
 38858  	//
 38859  	// See also `HostConfigChangeOperation_enum`.
 38860  	ChangeOperation string `xml:"changeOperation" json:"changeOperation"`
 38861  	// The routing entry itself
 38862  	Route HostIpRouteEntry `xml:"route" json:"route"`
 38863  }
 38864  
 38865  func init() {
 38866  	t["HostIpRouteOp"] = reflect.TypeOf((*HostIpRouteOp)(nil)).Elem()
 38867  	minAPIVersionForType["HostIpRouteOp"] = "4.0"
 38868  }
 38869  
 38870  // IpRouteEntry.
 38871  //
 38872  // Routing entries are individual static routes which combined
 38873  // with the default route form all of the routing rules for a host.
 38874  type HostIpRouteTableConfig struct {
 38875  	DynamicData
 38876  
 38877  	// The array of Routing ops (routes to be added/removed)
 38878  	IpRoute   []HostIpRouteOp `xml:"ipRoute,omitempty" json:"ipRoute,omitempty"`
 38879  	Ipv6Route []HostIpRouteOp `xml:"ipv6Route,omitempty" json:"ipv6Route,omitempty"`
 38880  }
 38881  
 38882  func init() {
 38883  	t["HostIpRouteTableConfig"] = reflect.TypeOf((*HostIpRouteTableConfig)(nil)).Elem()
 38884  	minAPIVersionForType["HostIpRouteTableConfig"] = "4.0"
 38885  }
 38886  
 38887  // IpRouteTableInfo.
 38888  //
 38889  // This is the list of all static routes on the host
 38890  type HostIpRouteTableInfo struct {
 38891  	DynamicData
 38892  
 38893  	// The array of IpRouteEntry
 38894  	IpRoute   []HostIpRouteEntry `xml:"ipRoute,omitempty" json:"ipRoute,omitempty"`
 38895  	Ipv6Route []HostIpRouteEntry `xml:"ipv6Route,omitempty" json:"ipv6Route,omitempty"`
 38896  }
 38897  
 38898  func init() {
 38899  	t["HostIpRouteTableInfo"] = reflect.TypeOf((*HostIpRouteTableInfo)(nil)).Elem()
 38900  	minAPIVersionForType["HostIpRouteTableInfo"] = "4.0"
 38901  }
 38902  
 38903  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 38904  //
 38905  // This event records that the host's IP address could not be resolved to a short name.
 38906  type HostIpToShortNameFailedEvent struct {
 38907  	HostEvent
 38908  }
 38909  
 38910  func init() {
 38911  	t["HostIpToShortNameFailedEvent"] = reflect.TypeOf((*HostIpToShortNameFailedEvent)(nil)).Elem()
 38912  	minAPIVersionForType["HostIpToShortNameFailedEvent"] = "2.5"
 38913  }
 38914  
 38915  // The IpmiInfo data object contains IPMI (Intelligent Platform Management Interface)
 38916  // and BMC (Baseboard Management Controller) information for the host.
 38917  type HostIpmiInfo struct {
 38918  	DynamicData
 38919  
 38920  	// IP address of the BMC on the host.
 38921  	//
 38922  	// It should be null terminated.
 38923  	BmcIpAddress string `xml:"bmcIpAddress,omitempty" json:"bmcIpAddress,omitempty"`
 38924  	// MAC address of the BMC on the host.
 38925  	//
 38926  	// The MAC address should be of the
 38927  	// form xx:xx:xx:xx:xx:xx where each x is a hex digit. It should be null
 38928  	// terminated.
 38929  	BmcMacAddress string `xml:"bmcMacAddress,omitempty" json:"bmcMacAddress,omitempty"`
 38930  	// User ID for logging into the BMC.
 38931  	//
 38932  	// BMC usernames may be up to 16
 38933  	// characters and must be null terminated. Hence, a login comprises
 38934  	// 17 or fewer characters.
 38935  	Login string `xml:"login,omitempty" json:"login,omitempty"`
 38936  	// Password for logging into the BMC.
 38937  	//
 38938  	// Only used for configuration, returned as unset
 38939  	// while reading. The password can be up to 16 characters and must be null
 38940  	// terminated. Hence, a password comprises 17 or fewer characters.
 38941  	Password string `xml:"password,omitempty" json:"password,omitempty"`
 38942  }
 38943  
 38944  func init() {
 38945  	t["HostIpmiInfo"] = reflect.TypeOf((*HostIpmiInfo)(nil)).Elem()
 38946  	minAPIVersionForType["HostIpmiInfo"] = "4.0"
 38947  }
 38948  
 38949  // This event records that the isolation address could not be pinged.
 38950  //
 38951  // The default isolation address is the service console's default gateway.
 38952  type HostIsolationIpPingFailedEvent struct {
 38953  	HostDasEvent
 38954  
 38955  	IsolationIp string `xml:"isolationIp" json:"isolationIp"`
 38956  }
 38957  
 38958  func init() {
 38959  	t["HostIsolationIpPingFailedEvent"] = reflect.TypeOf((*HostIsolationIpPingFailedEvent)(nil)).Elem()
 38960  	minAPIVersionForType["HostIsolationIpPingFailedEvent"] = "2.5"
 38961  }
 38962  
 38963  // Encapsulates information about all licensable resources on the host.
 38964  type HostLicensableResourceInfo struct {
 38965  	DynamicData
 38966  
 38967  	// List of currently supported resources.
 38968  	//
 38969  	// The type of every value is long. The key can be one of `HostLicensableResourceKey_enum`
 38970  	// or arbitrary string.
 38971  	//
 38972  	// NOTE:
 38973  	// The values in this property may not be accurate for pre-5.0 hosts when returned by vCenter 5.0
 38974  	Resource []KeyAnyValue `xml:"resource" json:"resource"`
 38975  }
 38976  
 38977  func init() {
 38978  	t["HostLicensableResourceInfo"] = reflect.TypeOf((*HostLicensableResourceInfo)(nil)).Elem()
 38979  	minAPIVersionForType["HostLicensableResourceInfo"] = "5.0"
 38980  }
 38981  
 38982  // This data object type describes license information stored on the host.
 38983  type HostLicenseConnectInfo struct {
 38984  	DynamicData
 38985  
 38986  	// License information.
 38987  	License LicenseManagerLicenseInfo `xml:"license" json:"license"`
 38988  	// Evaluation information.
 38989  	Evaluation LicenseManagerEvaluationInfo `xml:"evaluation" json:"evaluation"`
 38990  	// Licensable resources information.
 38991  	//
 38992  	// NOTE:
 38993  	// The values in this property may not be accurate for pre-5.0 hosts when returned by vCenter 5.0
 38994  	Resource *HostLicensableResourceInfo `xml:"resource,omitempty" json:"resource,omitempty" vim:"5.0"`
 38995  }
 38996  
 38997  func init() {
 38998  	t["HostLicenseConnectInfo"] = reflect.TypeOf((*HostLicenseConnectInfo)(nil)).Elem()
 38999  	minAPIVersionForType["HostLicenseConnectInfo"] = "4.0"
 39000  }
 39001  
 39002  // This event records an expired host license.
 39003  type HostLicenseExpiredEvent struct {
 39004  	LicenseEvent
 39005  }
 39006  
 39007  func init() {
 39008  	t["HostLicenseExpiredEvent"] = reflect.TypeOf((*HostLicenseExpiredEvent)(nil)).Elem()
 39009  }
 39010  
 39011  type HostLicenseSpec struct {
 39012  	DynamicData
 39013  
 39014  	// License source to be used
 39015  	Source BaseLicenseSource `xml:"source,omitempty,typeattr" json:"source,omitempty"`
 39016  	// License edition to use
 39017  	EditionKey string `xml:"editionKey,omitempty" json:"editionKey,omitempty"`
 39018  	// Disabled features.
 39019  	//
 39020  	// When an edition is set, all the features in it
 39021  	// are enabled by default. The following parameter gives a finer
 39022  	// control on which features are disabled.
 39023  	DisabledFeatureKey []string `xml:"disabledFeatureKey,omitempty" json:"disabledFeatureKey,omitempty"`
 39024  	// Enabled features
 39025  	EnabledFeatureKey []string `xml:"enabledFeatureKey,omitempty" json:"enabledFeatureKey,omitempty"`
 39026  }
 39027  
 39028  func init() {
 39029  	t["HostLicenseSpec"] = reflect.TypeOf((*HostLicenseSpec)(nil)).Elem()
 39030  }
 39031  
 39032  // This data object type encapsulates a typical set of host information that is useful
 39033  // for list views and summary pages.
 39034  //
 39035  // VirtualCenter can retrieve this information very efficiently, even for a large set
 39036  // of hosts.
 39037  type HostListSummary struct {
 39038  	DynamicData
 39039  
 39040  	// The reference to the host-managed object.
 39041  	//
 39042  	// Refers instance of `HostSystem`.
 39043  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 39044  	// Basic hardware information, if known.
 39045  	Hardware *HostHardwareSummary `xml:"hardware,omitempty" json:"hardware,omitempty"`
 39046  	// Basic runtime information, if known.
 39047  	Runtime *HostRuntimeInfo `xml:"runtime,omitempty" json:"runtime,omitempty"`
 39048  	// Basic configuration information, if known.
 39049  	Config HostConfigSummary `xml:"config" json:"config"`
 39050  	// Basic host statistics.
 39051  	QuickStats HostListSummaryQuickStats `xml:"quickStats" json:"quickStats"`
 39052  	// The overall alarm status of the host.
 39053  	//
 39054  	// In releases after vSphere API 5.0, vSphere Servers might not
 39055  	// generate property collector update notifications for this property.
 39056  	// To obtain the latest value of the property, you can use
 39057  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 39058  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 39059  	// an empty string for the version parameter.
 39060  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 39061  	// contain values for this property when some other property on the DataObject changes.
 39062  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 39063  	// version parameter, the value for this property may not be current.
 39064  	OverallStatus ManagedEntityStatus `xml:"overallStatus" json:"overallStatus"`
 39065  	// Indicates whether or not the host requires a reboot due to a configuration
 39066  	// change.
 39067  	RebootRequired bool `xml:"rebootRequired" json:"rebootRequired"`
 39068  	// The customized field values.
 39069  	CustomValue []BaseCustomFieldValue `xml:"customValue,omitempty,typeattr" json:"customValue,omitempty"`
 39070  	// IP address of the VirtualCenter server managing this host, if any.
 39071  	ManagementServerIp string `xml:"managementServerIp,omitempty" json:"managementServerIp,omitempty" vim:"2.5"`
 39072  	// The most capable Enhanced VMotion Compatibility mode supported by the
 39073  	// host hardware and software; unset if this host cannot participate in
 39074  	// any EVC mode.
 39075  	//
 39076  	// See also `Capability.supportedEVCMode`.
 39077  	MaxEVCModeKey string `xml:"maxEVCModeKey,omitempty" json:"maxEVCModeKey,omitempty" vim:"4.0"`
 39078  	// The Enhanced VMotion Compatibility mode that is currently in effect
 39079  	// for this host.
 39080  	//
 39081  	// If the host is in a cluster where EVC is active, this
 39082  	// will match the cluster's EVC mode; otherwise this will be unset.
 39083  	//
 39084  	// See also `Capability.supportedEVCMode`.
 39085  	CurrentEVCModeKey string `xml:"currentEVCModeKey,omitempty" json:"currentEVCModeKey,omitempty" vim:"4.0"`
 39086  	// The Enhanced VMotion Compatibility Graphics mode that is currently in
 39087  	// effect for this host.
 39088  	//
 39089  	// If the host is in a cluster where EVC is active,
 39090  	// this will match the cluster's EVC Graphics mode; otherwise this will
 39091  	// be unset.
 39092  	//
 39093  	// See also `Capability.supportedEVCGraphicsMode`.
 39094  	CurrentEVCGraphicsModeKey string `xml:"currentEVCGraphicsModeKey,omitempty" json:"currentEVCGraphicsModeKey,omitempty" vim:"7.0.1.0"`
 39095  	// Gateway configuration, if vCenter server manages the host via a gateway
 39096  	Gateway        *HostListSummaryGatewaySummary `xml:"gateway,omitempty" json:"gateway,omitempty" vim:"6.0"`
 39097  	TpmAttestation *HostTpmAttestationInfo        `xml:"tpmAttestation,omitempty" json:"tpmAttestation,omitempty"`
 39098  	// The attestation information for the host as retrieved from any Trust
 39099  	// Authority attestation services configured in the host's parent compute
 39100  	// resource.
 39101  	//
 39102  	// This field will be set only if there is any Trust Authority
 39103  	// attestation service configured for the host's parent compute resource,
 39104  	// and unset otherwise.
 39105  	TrustAuthorityAttestationInfos []HostTrustAuthorityAttestationInfo `xml:"trustAuthorityAttestationInfos,omitempty" json:"trustAuthorityAttestationInfos,omitempty" vim:"7.0.1.0"`
 39106  }
 39107  
 39108  func init() {
 39109  	t["HostListSummary"] = reflect.TypeOf((*HostListSummary)(nil)).Elem()
 39110  }
 39111  
 39112  // This data object type describes information about a host gateway server
 39113  // that is used for the connection between vCenter Server and the host.
 39114  //
 39115  // Gateway servers are identified by type and id. In order to use
 39116  // a gateway server it has to be registered with the respective type and id
 39117  // in the vCenter Lookup Service.
 39118  type HostListSummaryGatewaySummary struct {
 39119  	DynamicData
 39120  
 39121  	// The type of the gateway server used for communication with the host.
 39122  	//
 39123  	// This is an opaque string that depends on how the gateway server is
 39124  	// registered with the vCenter Component Manager Service. There might be
 39125  	// several gateway servers for the same type.
 39126  	GatewayType string `xml:"gatewayType" json:"gatewayType"`
 39127  	// Unique ID of the gateway server used for communication with the host.
 39128  	//
 39129  	// This ID must be a unique identifier for the gateway server as
 39130  	// registered in the vCenter Component Manager Service. There must be
 39131  	// only one gateway server with the same ID.
 39132  	GatewayId string `xml:"gatewayId" json:"gatewayId"`
 39133  }
 39134  
 39135  func init() {
 39136  	t["HostListSummaryGatewaySummary"] = reflect.TypeOf((*HostListSummaryGatewaySummary)(nil)).Elem()
 39137  	minAPIVersionForType["HostListSummaryGatewaySummary"] = "6.0"
 39138  }
 39139  
 39140  // Basic host statistics.
 39141  //
 39142  // Included in the host statistics are fairness scores. Fairness scores are
 39143  // represented in units with relative values, meaning they are evaluated relative to
 39144  // the scores of other hosts. They should not be thought of as having any particular
 39145  // absolute value. Each fairness unit represents an increment of 0.001 in a fairness
 39146  // score. The further the fairness score diverges from 1, the less fair the
 39147  // allocation. Therefore, a fairness score of 990, representing 0.990, is more fair
 39148  // than a fairness score of 1015, which represents 1.015. This is because 1.015 is
 39149  // further from 1 than 0.990.
 39150  type HostListSummaryQuickStats struct {
 39151  	DynamicData
 39152  
 39153  	// Aggregated CPU usage across all cores on the host in MHz.
 39154  	//
 39155  	// This is only
 39156  	// available if the host is connected.
 39157  	OverallCpuUsage int32 `xml:"overallCpuUsage,omitempty" json:"overallCpuUsage,omitempty"`
 39158  	// Physical memory usage on the host in MB.
 39159  	//
 39160  	// This is only available if the
 39161  	// host is connected.
 39162  	OverallMemoryUsage int32 `xml:"overallMemoryUsage,omitempty" json:"overallMemoryUsage,omitempty"`
 39163  	// The fairness of distributed CPU resource allocation on the host.
 39164  	DistributedCpuFairness int32 `xml:"distributedCpuFairness,omitempty" json:"distributedCpuFairness,omitempty"`
 39165  	// The fairness of distributed memory resource allocation on the host.
 39166  	DistributedMemoryFairness int32 `xml:"distributedMemoryFairness,omitempty" json:"distributedMemoryFairness,omitempty"`
 39167  	// The available capacity in MB.
 39168  	AvailablePMemCapacity int32 `xml:"availablePMemCapacity,omitempty" json:"availablePMemCapacity,omitempty" vim:"6.7"`
 39169  	// The system uptime of the host in seconds.
 39170  	Uptime int32 `xml:"uptime,omitempty" json:"uptime,omitempty" vim:"4.1"`
 39171  }
 39172  
 39173  func init() {
 39174  	t["HostListSummaryQuickStats"] = reflect.TypeOf((*HostListSummaryQuickStats)(nil)).Elem()
 39175  }
 39176  
 39177  type HostListVStorageObject HostListVStorageObjectRequestType
 39178  
 39179  func init() {
 39180  	t["HostListVStorageObject"] = reflect.TypeOf((*HostListVStorageObject)(nil)).Elem()
 39181  }
 39182  
 39183  // The parameters of `HostVStorageObjectManager.HostListVStorageObject`.
 39184  type HostListVStorageObjectRequestType struct {
 39185  	This ManagedObjectReference `xml:"_this" json:"-"`
 39186  	// The datastore to query for the virtual storage objects.
 39187  	//
 39188  	// Refers instance of `Datastore`.
 39189  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 39190  }
 39191  
 39192  func init() {
 39193  	t["HostListVStorageObjectRequestType"] = reflect.TypeOf((*HostListVStorageObjectRequestType)(nil)).Elem()
 39194  }
 39195  
 39196  type HostListVStorageObjectResponse struct {
 39197  	Returnval []ID `xml:"returnval,omitempty" json:"returnval,omitempty"`
 39198  }
 39199  
 39200  // The `HostLocalAuthenticationInfo` data object represents
 39201  // local authentication on the ESX host.
 39202  //
 39203  // Local authentication
 39204  // is always enabled.
 39205  type HostLocalAuthenticationInfo struct {
 39206  	HostAuthenticationStoreInfo
 39207  }
 39208  
 39209  func init() {
 39210  	t["HostLocalAuthenticationInfo"] = reflect.TypeOf((*HostLocalAuthenticationInfo)(nil)).Elem()
 39211  	minAPIVersionForType["HostLocalAuthenticationInfo"] = "4.1"
 39212  }
 39213  
 39214  // Local file system volume.
 39215  type HostLocalFileSystemVolume struct {
 39216  	HostFileSystemVolume
 39217  
 39218  	// The device of the local file system.
 39219  	Device string `xml:"device" json:"device"`
 39220  }
 39221  
 39222  func init() {
 39223  	t["HostLocalFileSystemVolume"] = reflect.TypeOf((*HostLocalFileSystemVolume)(nil)).Elem()
 39224  }
 39225  
 39226  // The specification for creating a new local file system volume.
 39227  type HostLocalFileSystemVolumeSpec struct {
 39228  	DynamicData
 39229  
 39230  	// The device of the local file system.
 39231  	Device string `xml:"device" json:"device"`
 39232  	// The file path on the host where the file system is mounted.
 39233  	LocalPath string `xml:"localPath" json:"localPath"`
 39234  }
 39235  
 39236  func init() {
 39237  	t["HostLocalFileSystemVolumeSpec"] = reflect.TypeOf((*HostLocalFileSystemVolumeSpec)(nil)).Elem()
 39238  }
 39239  
 39240  // This event records when host local port is created to recover from
 39241  // management network connectivity loss.
 39242  type HostLocalPortCreatedEvent struct {
 39243  	DvsEvent
 39244  
 39245  	// The configuration of the new host local port.
 39246  	HostLocalPort DVSHostLocalPortInfo `xml:"hostLocalPort" json:"hostLocalPort"`
 39247  }
 39248  
 39249  func init() {
 39250  	t["HostLocalPortCreatedEvent"] = reflect.TypeOf((*HostLocalPortCreatedEvent)(nil)).Elem()
 39251  	minAPIVersionForType["HostLocalPortCreatedEvent"] = "5.1"
 39252  }
 39253  
 39254  // File layout spec of a virtual disk.
 39255  //
 39256  // The disk could be either a base-disk
 39257  // or a delta disk.
 39258  type HostLowLevelProvisioningManagerDiskLayoutSpec struct {
 39259  	DynamicData
 39260  
 39261  	// Disk controller type, e.g.
 39262  	//
 39263  	// vim.vm.device.VirtualSCSIController or
 39264  	// vim.vm.device.VirtualIDEController.
 39265  	ControllerType string `xml:"controllerType" json:"controllerType"`
 39266  	// Bus number associated with the controller for this disk.
 39267  	BusNumber int32 `xml:"busNumber" json:"busNumber"`
 39268  	// Unit number of this disk on its controller.
 39269  	UnitNumber *int32 `xml:"unitNumber" json:"unitNumber,omitempty"`
 39270  	// Source disk filename in datastore path.
 39271  	SrcFilename string `xml:"srcFilename" json:"srcFilename"`
 39272  	// Destination filename in datastore path.
 39273  	DstFilename string `xml:"dstFilename" json:"dstFilename"`
 39274  }
 39275  
 39276  func init() {
 39277  	t["HostLowLevelProvisioningManagerDiskLayoutSpec"] = reflect.TypeOf((*HostLowLevelProvisioningManagerDiskLayoutSpec)(nil)).Elem()
 39278  	minAPIVersionForType["HostLowLevelProvisioningManagerDiskLayoutSpec"] = "5.0"
 39279  }
 39280  
 39281  type HostLowLevelProvisioningManagerFileDeleteResult struct {
 39282  	DynamicData
 39283  
 39284  	FileName string               `xml:"fileName" json:"fileName"`
 39285  	Fault    LocalizedMethodFault `xml:"fault" json:"fault"`
 39286  }
 39287  
 39288  func init() {
 39289  	t["HostLowLevelProvisioningManagerFileDeleteResult"] = reflect.TypeOf((*HostLowLevelProvisioningManagerFileDeleteResult)(nil)).Elem()
 39290  }
 39291  
 39292  type HostLowLevelProvisioningManagerFileDeleteSpec struct {
 39293  	DynamicData
 39294  
 39295  	FileName string `xml:"fileName" json:"fileName"`
 39296  	FileType string `xml:"fileType" json:"fileType"`
 39297  }
 39298  
 39299  func init() {
 39300  	t["HostLowLevelProvisioningManagerFileDeleteSpec"] = reflect.TypeOf((*HostLowLevelProvisioningManagerFileDeleteSpec)(nil)).Elem()
 39301  }
 39302  
 39303  // A FileReserveResult object describles the information of a file reserved
 39304  // by the ReserveFiles method.
 39305  //
 39306  // This includes the original input ReserveFiles
 39307  // method so that the caller can map the input with the reserved file. All
 39308  // paths will be the complete local path in the url format.
 39309  type HostLowLevelProvisioningManagerFileReserveResult struct {
 39310  	DynamicData
 39311  
 39312  	BaseName     string `xml:"baseName" json:"baseName"`
 39313  	ParentDir    string `xml:"parentDir" json:"parentDir"`
 39314  	ReservedName string `xml:"reservedName" json:"reservedName"`
 39315  }
 39316  
 39317  func init() {
 39318  	t["HostLowLevelProvisioningManagerFileReserveResult"] = reflect.TypeOf((*HostLowLevelProvisioningManagerFileReserveResult)(nil)).Elem()
 39319  	minAPIVersionForType["HostLowLevelProvisioningManagerFileReserveResult"] = "6.0"
 39320  }
 39321  
 39322  type HostLowLevelProvisioningManagerFileReserveSpec struct {
 39323  	DynamicData
 39324  
 39325  	BaseName       string `xml:"baseName" json:"baseName"`
 39326  	ParentDir      string `xml:"parentDir" json:"parentDir"`
 39327  	FileType       string `xml:"fileType" json:"fileType"`
 39328  	StorageProfile string `xml:"storageProfile" json:"storageProfile"`
 39329  }
 39330  
 39331  func init() {
 39332  	t["HostLowLevelProvisioningManagerFileReserveSpec"] = reflect.TypeOf((*HostLowLevelProvisioningManagerFileReserveSpec)(nil)).Elem()
 39333  }
 39334  
 39335  // File layout spec of a snapshot, including path to the vmsn file of the
 39336  // snapshot and the layout of virtual disks when the snapshot was taken.
 39337  type HostLowLevelProvisioningManagerSnapshotLayoutSpec struct {
 39338  	DynamicData
 39339  
 39340  	// The unique identifier of the snapshot
 39341  	Id int32 `xml:"id" json:"id"`
 39342  	// Name of the source snapshot file in datastore path.
 39343  	SrcFilename string `xml:"srcFilename" json:"srcFilename"`
 39344  	// Name of the destination snapshot file in datastore path.
 39345  	DstFilename string `xml:"dstFilename" json:"dstFilename"`
 39346  	// Layout of each virtual disk of the virtual machine when the
 39347  	// snapshot was taken.
 39348  	Disk []HostLowLevelProvisioningManagerDiskLayoutSpec `xml:"disk,omitempty" json:"disk,omitempty"`
 39349  }
 39350  
 39351  func init() {
 39352  	t["HostLowLevelProvisioningManagerSnapshotLayoutSpec"] = reflect.TypeOf((*HostLowLevelProvisioningManagerSnapshotLayoutSpec)(nil)).Elem()
 39353  	minAPIVersionForType["HostLowLevelProvisioningManagerSnapshotLayoutSpec"] = "5.0"
 39354  }
 39355  
 39356  // The status of a virtual machine migration operation.
 39357  type HostLowLevelProvisioningManagerVmMigrationStatus struct {
 39358  	DynamicData
 39359  
 39360  	// Unique identifier for this operation, currently it's unique
 39361  	// within one virtual center instance.
 39362  	MigrationId int64 `xml:"migrationId" json:"migrationId"`
 39363  	// Manner in which the migration process is performed.
 39364  	//
 39365  	// The set of
 39366  	// possible values is described in
 39367  	// `HostVMotionManagerVMotionType_enum`.
 39368  	Type string `xml:"type" json:"type"`
 39369  	// Whether the virtual machine is the source of the migration.
 39370  	//
 39371  	// For disk only migration, the value is always true.
 39372  	Source bool `xml:"source" json:"source"`
 39373  	// Whether the operation is considered successful.
 39374  	//
 39375  	// A migration
 39376  	// operation is considered successful if its switch over phase has
 39377  	// completed successfully.
 39378  	//
 39379  	// More specifically, for an in-progress migration, it is considered
 39380  	// successful if it has had a sucessful switch over, otherwise it is
 39381  	// considered unsuccessful. Likewise, the status of a completed
 39382  	// migration operation is also based on the switch over completion
 39383  	// status.
 39384  	//
 39385  	// The difference between a completed vs. in-progress migration with
 39386  	// the same consideredSuccessful property is that in the former case
 39387  	// the server is able to complete the clean up process thus leaves
 39388  	// nothing for the recovery process to clean up.
 39389  	ConsideredSuccessful bool `xml:"consideredSuccessful" json:"consideredSuccessful"`
 39390  }
 39391  
 39392  func init() {
 39393  	t["HostLowLevelProvisioningManagerVmMigrationStatus"] = reflect.TypeOf((*HostLowLevelProvisioningManagerVmMigrationStatus)(nil)).Elem()
 39394  	minAPIVersionForType["HostLowLevelProvisioningManagerVmMigrationStatus"] = "5.1"
 39395  }
 39396  
 39397  // Virtual machine information that can be used for recovery, for
 39398  // example, to decide whether to register a virtual machine with a
 39399  // server if the virtual machine is currently unregistered.
 39400  //
 39401  // This data
 39402  // object does not contain a complete virtual machine configuration,
 39403  // but a subset of information available from `VirtualMachineConfigInfo`, all of which are available via virtual machine
 39404  // configuration files.
 39405  //
 39406  // The documentation for each property in this data object describes
 39407  // the property in `VirtualMachineConfigInfo` that contains the same
 39408  // information if available.
 39409  type HostLowLevelProvisioningManagerVmRecoveryInfo struct {
 39410  	DynamicData
 39411  
 39412  	// The hardware version of this virtual machine.
 39413  	//
 39414  	// Same as
 39415  	// `VirtualMachineConfigInfo.version`.
 39416  	Version string `xml:"version" json:"version"`
 39417  	// 128-bit SMBIOS UUID of this virtual machine.
 39418  	//
 39419  	// Same as
 39420  	// `VirtualMachineConfigInfo.uuid`.
 39421  	BiosUUID string `xml:"biosUUID" json:"biosUUID"`
 39422  	// VirtualCenter-specific 128-bit UUID of this virtual machine.
 39423  	//
 39424  	// Same
 39425  	// as `VirtualMachineConfigInfo.instanceUuid`.
 39426  	InstanceUUID string `xml:"instanceUUID" json:"instanceUUID"`
 39427  	// Fault Tolerance settings for this virtual machine.
 39428  	//
 39429  	// Same as
 39430  	// `VirtualMachineConfigInfo.ftInfo`. Unset if non FT.
 39431  	FtInfo BaseFaultToleranceConfigInfo `xml:"ftInfo,omitempty,typeattr" json:"ftInfo,omitempty"`
 39432  }
 39433  
 39434  func init() {
 39435  	t["HostLowLevelProvisioningManagerVmRecoveryInfo"] = reflect.TypeOf((*HostLowLevelProvisioningManagerVmRecoveryInfo)(nil)).Elem()
 39436  	minAPIVersionForType["HostLowLevelProvisioningManagerVmRecoveryInfo"] = "5.1"
 39437  }
 39438  
 39439  // The `HostMaintenanceSpec` data object may be used to specify
 39440  // actions to be taken by a host upon entering maintenance mode.
 39441  //
 39442  // If the `HostMaintenanceSpec` or any of its fields are omitted in a
 39443  // call to `HostSystem.EnterMaintenanceMode_Task`, default actions
 39444  // will be chosen as documented for each field's type.
 39445  //
 39446  // See also `HostSystem.EnterMaintenanceMode_Task`, `VsanHostDecommissionMode`.
 39447  type HostMaintenanceSpec struct {
 39448  	DynamicData
 39449  
 39450  	// The `VsanHostDecommissionMode` for this MaintenanceSpec.
 39451  	VsanMode *VsanHostDecommissionMode `xml:"vsanMode,omitempty" json:"vsanMode,omitempty"`
 39452  	// Maintenance mode reason code.
 39453  	//
 39454  	// See `HostMaintenanceSpecPurpose_enum` for valid values.
 39455  	Purpose string `xml:"purpose,omitempty" json:"purpose,omitempty" vim:"7.0"`
 39456  }
 39457  
 39458  func init() {
 39459  	t["HostMaintenanceSpec"] = reflect.TypeOf((*HostMaintenanceSpec)(nil)).Elem()
 39460  	minAPIVersionForType["HostMaintenanceSpec"] = "5.5"
 39461  }
 39462  
 39463  // This class defines healthcheck result of the vSphere Distributed Switch.
 39464  type HostMemberHealthCheckResult struct {
 39465  	DynamicData
 39466  
 39467  	// The summary of health check result.
 39468  	Summary string `xml:"summary,omitempty" json:"summary,omitempty"`
 39469  }
 39470  
 39471  func init() {
 39472  	t["HostMemberHealthCheckResult"] = reflect.TypeOf((*HostMemberHealthCheckResult)(nil)).Elem()
 39473  	minAPIVersionForType["HostMemberHealthCheckResult"] = "5.1"
 39474  }
 39475  
 39476  // The `HostMemberRuntimeInfo` data object
 39477  // contains healthcheck and status information about a host
 39478  // member of a distributed virtual switch.
 39479  type HostMemberRuntimeInfo struct {
 39480  	DynamicData
 39481  
 39482  	// The host.
 39483  	//
 39484  	// Refers instance of `HostSystem`.
 39485  	Host ManagedObjectReference `xml:"host" json:"host"`
 39486  	// Host proxy switch status.
 39487  	//
 39488  	// See
 39489  	// `HostComponentState` for valid values.
 39490  	// This property replaces the deprecated
 39491  	// `DistributedVirtualSwitchHostMember*.*DistributedVirtualSwitchHostMember.status`.
 39492  	Status string `xml:"status,omitempty" json:"status,omitempty"`
 39493  	// Additional information regarding the current membership status of the host.
 39494  	//
 39495  	// This property replaces the deprecated
 39496  	// `DistributedVirtualSwitchHostMember*.*DistributedVirtualSwitchHostMember.statusDetail`.
 39497  	StatusDetail string `xml:"statusDetail,omitempty" json:"statusDetail,omitempty"`
 39498  	// NSX-T component status.
 39499  	NsxtStatus string `xml:"nsxtStatus,omitempty" json:"nsxtStatus,omitempty" vim:"7.0"`
 39500  	// Additional information regarding the NSX-T component status.
 39501  	NsxtStatusDetail string `xml:"nsxtStatusDetail,omitempty" json:"nsxtStatusDetail,omitempty" vim:"7.0"`
 39502  	// Health check result for the host that joined the distributed virtual switch.
 39503  	HealthCheckResult []BaseHostMemberHealthCheckResult `xml:"healthCheckResult,omitempty,typeattr" json:"healthCheckResult,omitempty"`
 39504  }
 39505  
 39506  func init() {
 39507  	t["HostMemberRuntimeInfo"] = reflect.TypeOf((*HostMemberRuntimeInfo)(nil)).Elem()
 39508  	minAPIVersionForType["HostMemberRuntimeInfo"] = "5.1"
 39509  }
 39510  
 39511  // This class defines healthcheck result of a specified Uplink port
 39512  // in vSphere Distributed Switch.
 39513  type HostMemberUplinkHealthCheckResult struct {
 39514  	HostMemberHealthCheckResult
 39515  
 39516  	// The uplink port key.
 39517  	UplinkPortKey string `xml:"uplinkPortKey" json:"uplinkPortKey"`
 39518  }
 39519  
 39520  func init() {
 39521  	t["HostMemberUplinkHealthCheckResult"] = reflect.TypeOf((*HostMemberUplinkHealthCheckResult)(nil)).Elem()
 39522  	minAPIVersionForType["HostMemberUplinkHealthCheckResult"] = "5.1"
 39523  }
 39524  
 39525  // The `HostMemoryProfile` data object represents
 39526  // memory configuration for the host.
 39527  //
 39528  // This may not be valid all versions of the host.
 39529  //
 39530  // Use the `ApplyProfile.policy` list for access to configuration data
 39531  // for the host memory profile. Use the `ApplyProfile.property` list
 39532  // for access to subprofile configuration data, if any.
 39533  type HostMemoryProfile struct {
 39534  	ApplyProfile
 39535  }
 39536  
 39537  func init() {
 39538  	t["HostMemoryProfile"] = reflect.TypeOf((*HostMemoryProfile)(nil)).Elem()
 39539  	minAPIVersionForType["HostMemoryProfile"] = "4.0"
 39540  }
 39541  
 39542  // DataObject used for configuring the memory setting
 39543  type HostMemorySpec struct {
 39544  	DynamicData
 39545  
 39546  	// Service Console reservation in bytes.
 39547  	ServiceConsoleReservation int64 `xml:"serviceConsoleReservation,omitempty" json:"serviceConsoleReservation,omitempty"`
 39548  }
 39549  
 39550  func init() {
 39551  	t["HostMemorySpec"] = reflect.TypeOf((*HostMemorySpec)(nil)).Elem()
 39552  	minAPIVersionForType["HostMemorySpec"] = "4.0"
 39553  }
 39554  
 39555  // Information about a memory tier on this host.
 39556  type HostMemoryTierInfo struct {
 39557  	DynamicData
 39558  
 39559  	// Descriptive name for the memory tier.
 39560  	Name string `xml:"name" json:"name"`
 39561  	// Type of the memory tier.
 39562  	//
 39563  	// See `HostMemoryTierType_enum` for supported values.
 39564  	Type string `xml:"type" json:"type"`
 39565  	// Flags pertaining to the memory tier.
 39566  	//
 39567  	// See `HostMemoryTierFlags_enum` for supported
 39568  	// values.
 39569  	Flags []string `xml:"flags,omitempty" json:"flags,omitempty"`
 39570  	// Size of the memory tier in bytes.
 39571  	Size int64 `xml:"size" json:"size"`
 39572  }
 39573  
 39574  func init() {
 39575  	t["HostMemoryTierInfo"] = reflect.TypeOf((*HostMemoryTierInfo)(nil)).Elem()
 39576  	minAPIVersionForType["HostMemoryTierInfo"] = "7.0.3.0"
 39577  }
 39578  
 39579  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 39580  //
 39581  // This event records the fact that a host is missing networks that
 39582  // other hosts are using for HA communication
 39583  type HostMissingNetworksEvent struct {
 39584  	HostDasEvent
 39585  
 39586  	Ips string `xml:"ips,omitempty" json:"ips,omitempty"`
 39587  }
 39588  
 39589  func init() {
 39590  	t["HostMissingNetworksEvent"] = reflect.TypeOf((*HostMissingNetworksEvent)(nil)).Elem()
 39591  	minAPIVersionForType["HostMissingNetworksEvent"] = "4.0"
 39592  }
 39593  
 39594  // This event records when host monitoring state has changed.
 39595  type HostMonitoringStateChangedEvent struct {
 39596  	ClusterEvent
 39597  
 39598  	// The service state in
 39599  	// `ClusterDasConfigInfoServiceState_enum`
 39600  	State string `xml:"state" json:"state"`
 39601  	// The previous service state in
 39602  	// `ClusterDasConfigInfoServiceState_enum`
 39603  	PrevState string `xml:"prevState,omitempty" json:"prevState,omitempty" vim:"6.5"`
 39604  }
 39605  
 39606  func init() {
 39607  	t["HostMonitoringStateChangedEvent"] = reflect.TypeOf((*HostMonitoringStateChangedEvent)(nil)).Elem()
 39608  	minAPIVersionForType["HostMonitoringStateChangedEvent"] = "4.0"
 39609  }
 39610  
 39611  // The `HostMountInfo` data object provides information related
 39612  // to a configured mount point.
 39613  //
 39614  // This object does not include information
 39615  // about the mounted file system. (See `HostFileSystemMountInfo`.)
 39616  type HostMountInfo struct {
 39617  	DynamicData
 39618  
 39619  	// Local file path where file system volume is mounted, if applicable.
 39620  	//
 39621  	// This path identifies the file system volume from the point of view
 39622  	// of the host.
 39623  	Path string `xml:"path,omitempty" json:"path,omitempty"`
 39624  	// Access mode to the underlying file system for this host.
 39625  	AccessMode string `xml:"accessMode" json:"accessMode"`
 39626  	// The mount state of this mount point.
 39627  	//
 39628  	// For a discovered
 39629  	// volume, which is mounted, this is true. When this value is
 39630  	// unset, the default value is true.
 39631  	Mounted *bool `xml:"mounted" json:"mounted,omitempty" vim:"5.0"`
 39632  	// Flag that indicates if the datastore is currently accessible from
 39633  	// the host.
 39634  	//
 39635  	// For the case of a standalone host, this property has the same value as
 39636  	// `DatastoreSummary*.*DatastoreSummary.accessible`.
 39637  	// You can use the `DatastoreSummary` property if the `HostMountInfo`
 39638  	// property is not set. The VirtualCenter Server will always make
 39639  	// sure the `DatastoreSummary` property is set correctly.
 39640  	Accessible *bool `xml:"accessible" json:"accessible,omitempty" vim:"2.5"`
 39641  	// This optional property for inaccessible reason is reported only if
 39642  	// a datastore becomes inaccessible as reported by
 39643  	// `HostMountInfo.accessible` and
 39644  	// `DatastoreSummary*.*DatastoreSummary.accessible`.
 39645  	//
 39646  	// The values for inaccessible reason are defined in the enum
 39647  	// `HostMountInfoInaccessibleReason_enum`
 39648  	// This helps to determine host specific reason for datastore inaccessibility.
 39649  	// If the datastore becomes accessible following an inaccessible condition,
 39650  	// the property `HostMountInfo.inaccessibleReason` will be unset.
 39651  	InaccessibleReason string `xml:"inaccessibleReason,omitempty" json:"inaccessibleReason,omitempty" vim:"5.1"`
 39652  	// The name of the vmknic used during mount.
 39653  	//
 39654  	// Populated by the vmk control layer if the NAS
 39655  	// volume is mounted successfully with a vmknic binding.
 39656  	VmknicName string `xml:"vmknicName,omitempty" json:"vmknicName,omitempty" vim:"8.0.1.0"`
 39657  	// Indicates whether vmknic is active or inactive.
 39658  	//
 39659  	// This field will be populated by vmk control layer during
 39660  	// NAS volume mount, and will be set to true if the
 39661  	// vmknic binding is active.
 39662  	VmknicActive *bool `xml:"vmknicActive" json:"vmknicActive,omitempty" vim:"8.0.1.0"`
 39663  	// The optional property which gives the reason for mount operation
 39664  	// failure of NFS datastore.
 39665  	//
 39666  	// This field is applicable for only those
 39667  	// mounts for which retry mount operation is configured.
 39668  	// The values for the mount failed reason are defined in the enum
 39669  	// `HostMountInfoMountFailedReason_enum`.
 39670  	// If mount operation on NFS volume succeeds in the retry, then
 39671  	// the property `HostMountInfo.mountFailedReason` will be unset.
 39672  	MountFailedReason string `xml:"mountFailedReason,omitempty" json:"mountFailedReason,omitempty" vim:"8.0.0.1"`
 39673  	// Maintained for each Host, it indicates the total number of TCP
 39674  	// connections for the NAS datastore
 39675  	NumTcpConnections int32 `xml:"numTcpConnections,omitempty" json:"numTcpConnections,omitempty" vim:"8.0.1.0"`
 39676  }
 39677  
 39678  func init() {
 39679  	t["HostMountInfo"] = reflect.TypeOf((*HostMountInfo)(nil)).Elem()
 39680  }
 39681  
 39682  // The `HostMultipathInfo` data object describes the multipathing policy
 39683  // configuration to determine the storage failover policies
 39684  // for a SCSI logical unit.
 39685  //
 39686  // The multipathing policy configuration operates on
 39687  // SCSI logical units and the paths to the logical units.
 39688  //
 39689  // Multipath policy configuration is only possible on storage devices
 39690  // provided by the native multipathing plug-store plugin. Storage devices
 39691  // using the native multipathing storage plugin will have an entry
 39692  // in this data object. Storage devices provided by a different
 39693  // storage plugin will not appear in the inventory represented by
 39694  // this data object.
 39695  //
 39696  // Legacy note: In hosts where `HostMultipathStateInfo` is not
 39697  // defined or does not exist on the `HostStorageDeviceInfo` object,
 39698  // only native multipathing exists. That means for these hosts, the
 39699  // MultipathInfo object contains the complete set of LUNs and paths on the LUNs
 39700  // available on the host.
 39701  type HostMultipathInfo struct {
 39702  	DynamicData
 39703  
 39704  	// List of logical units that can be configured for multipathing.
 39705  	Lun []HostMultipathInfoLogicalUnit `xml:"lun,omitempty" json:"lun,omitempty"`
 39706  }
 39707  
 39708  func init() {
 39709  	t["HostMultipathInfo"] = reflect.TypeOf((*HostMultipathInfo)(nil)).Elem()
 39710  }
 39711  
 39712  // The `HostMultipathInfoFixedLogicalUnitPolicy` data object
 39713  // describes a multipathing policy for a logical unit which uses
 39714  // a preferred path whenever possible.
 39715  type HostMultipathInfoFixedLogicalUnitPolicy struct {
 39716  	HostMultipathInfoLogicalUnitPolicy
 39717  
 39718  	// Preferred path used for the `*fixed*` policy.
 39719  	Prefer string `xml:"prefer" json:"prefer"`
 39720  }
 39721  
 39722  func init() {
 39723  	t["HostMultipathInfoFixedLogicalUnitPolicy"] = reflect.TypeOf((*HostMultipathInfoFixedLogicalUnitPolicy)(nil)).Elem()
 39724  }
 39725  
 39726  // The `HostMultipathInfoHppLogicalUnitPolicy` data object
 39727  // describes a multipathing policy for a HPP claimed logical unit and
 39728  // its configuration.
 39729  type HostMultipathInfoHppLogicalUnitPolicy struct {
 39730  	HostMultipathInfoLogicalUnitPolicy
 39731  
 39732  	// Byte count on the paths will be used as criteria to switch path
 39733  	// for the device.
 39734  	//
 39735  	// Allowed values 1 to (100\`1024\`1024)
 39736  	// Default Value 10\`1024\`1024
 39737  	Bytes int64 `xml:"bytes,omitempty" json:"bytes,omitempty"`
 39738  	// IOPS count on the paths will be used as criteria to switch path
 39739  	// for the device.
 39740  	//
 39741  	// Allowed values 1 to 10000
 39742  	// Default Value 1000
 39743  	Iops int64 `xml:"iops,omitempty" json:"iops,omitempty"`
 39744  	// The preferred path for the given device.
 39745  	//
 39746  	// If no prefered path is specified by the user, algorithem at ESX
 39747  	// side will choose the random possible path.
 39748  	Path string `xml:"path,omitempty" json:"path,omitempty"`
 39749  	// This value can control at what interval (in ms) the latency of
 39750  	// paths should be evaluated.
 39751  	//
 39752  	// Allowed values 10000 to (300 \* 1000) in ms
 39753  	// Default Value 30 \* 1000
 39754  	LatencyEvalTime int64 `xml:"latencyEvalTime,omitempty" json:"latencyEvalTime,omitempty"`
 39755  	// This value will control how many sample IOs should be issued on
 39756  	// each path to calculate latency of the path.
 39757  	//
 39758  	// Allowed values 16 to 160
 39759  	// Default Value 16
 39760  	SamplingIosPerPath int64 `xml:"samplingIosPerPath,omitempty" json:"samplingIosPerPath,omitempty"`
 39761  }
 39762  
 39763  func init() {
 39764  	t["HostMultipathInfoHppLogicalUnitPolicy"] = reflect.TypeOf((*HostMultipathInfoHppLogicalUnitPolicy)(nil)).Elem()
 39765  	minAPIVersionForType["HostMultipathInfoHppLogicalUnitPolicy"] = "7.0"
 39766  }
 39767  
 39768  // The `HostMultipathInfoLogicalUnit` data object
 39769  // represents a storage entity that provides disk blocks to a host.
 39770  type HostMultipathInfoLogicalUnit struct {
 39771  	DynamicData
 39772  
 39773  	// Linkable identifier.
 39774  	Key string `xml:"key" json:"key"`
 39775  	// Identifier of LogicalUnit.
 39776  	//
 39777  	// Use this id to configure LogicalUnit multipathing policy using `HostStorageSystem.SetMultipathLunPolicy`.
 39778  	Id string `xml:"id" json:"id"`
 39779  	// SCSI device corresponding to logical unit.
 39780  	Lun string `xml:"lun" json:"lun"`
 39781  	// Array of paths available to access this LogicalUnit.
 39782  	Path []HostMultipathInfoPath `xml:"path" json:"path"`
 39783  	// Policy that the logical unit should use when selecting a path.
 39784  	Policy BaseHostMultipathInfoLogicalUnitPolicy `xml:"policy,typeattr" json:"policy"`
 39785  	// Policy used to determine how a storage device is accessed.
 39786  	//
 39787  	// This policy
 39788  	// is currently immutable.
 39789  	StorageArrayTypePolicy *HostMultipathInfoLogicalUnitStorageArrayTypePolicy `xml:"storageArrayTypePolicy,omitempty" json:"storageArrayTypePolicy,omitempty" vim:"4.0"`
 39790  }
 39791  
 39792  func init() {
 39793  	t["HostMultipathInfoLogicalUnit"] = reflect.TypeOf((*HostMultipathInfoLogicalUnit)(nil)).Elem()
 39794  }
 39795  
 39796  // The `HostMultipathInfoLogicalUnitPolicy` data object
 39797  // describes a path selection policy for a device.
 39798  //
 39799  // This policy determines
 39800  // how paths should be utilized when accessing a device.
 39801  type HostMultipathInfoLogicalUnitPolicy struct {
 39802  	DynamicData
 39803  
 39804  	// String representing the path selection policy for a device.
 39805  	//
 39806  	// Use one of the following
 39807  	// strings:
 39808  	// For NMP plugin
 39809  	//     - <code>VMW\_PSP\_FIXED</code> - Use a preferred path whenever possible.
 39810  	//     - <code>VMW\_PSP\_RR</code> - Load balance.
 39811  	//     - <code>VMW\_PSP\_MRU</code> - Use the most recently used path.
 39812  	//
 39813  	// For HPP plugin
 39814  	//     - <code>FIXED</code> - Use a preferred path whenever possible.
 39815  	//     - <code>LB-RR</code> - Load Balance - round robin.
 39816  	//     - <code>LB-IOPS</code> - Load Balance - iops.
 39817  	//     - <code>LB-BYTES</code> - Load Balance - bytes.
 39818  	//     - <code>LB--Latency</code> - Load balance - least latency.
 39819  	//
 39820  	// You can also use the
 39821  	// `HostStorageSystem.QueryPathSelectionPolicyOptions` method
 39822  	// to retrieve the set of valid strings.
 39823  	// Use the key from the resulting structure
 39824  	// `HostPathSelectionPolicyOption`.
 39825  	Policy string `xml:"policy" json:"policy"`
 39826  }
 39827  
 39828  func init() {
 39829  	t["HostMultipathInfoLogicalUnitPolicy"] = reflect.TypeOf((*HostMultipathInfoLogicalUnitPolicy)(nil)).Elem()
 39830  }
 39831  
 39832  // The `HostMultipathInfoLogicalUnitStorageArrayTypePolicy`
 39833  // data object describes a storage array type policy for
 39834  // for a device.
 39835  //
 39836  // This policy determines how device I/O and management
 39837  // is performed.
 39838  type HostMultipathInfoLogicalUnitStorageArrayTypePolicy struct {
 39839  	DynamicData
 39840  
 39841  	// String indicating the storage array type policy.
 39842  	Policy string `xml:"policy" json:"policy"`
 39843  }
 39844  
 39845  func init() {
 39846  	t["HostMultipathInfoLogicalUnitStorageArrayTypePolicy"] = reflect.TypeOf((*HostMultipathInfoLogicalUnitStorageArrayTypePolicy)(nil)).Elem()
 39847  	minAPIVersionForType["HostMultipathInfoLogicalUnitStorageArrayTypePolicy"] = "4.0"
 39848  }
 39849  
 39850  // The `HostMultipathInfoPath` data object
 39851  // is a storage entity that represents a topological path from a
 39852  // host bus adapter to a SCSI logical unit.
 39853  //
 39854  // Each path is unique although each
 39855  // host bus adapter/SCSI logical unit pair can have multiple paths.
 39856  //
 39857  // Path objects are identified by a key. The specifics of how
 39858  // the key is formatted are dependent on the implementation. Example
 39859  // implementations include using strings like "vmhba1:0:0:0".
 39860  type HostMultipathInfoPath struct {
 39861  	DynamicData
 39862  
 39863  	// Identifier of the path.
 39864  	Key string `xml:"key" json:"key"`
 39865  	// Name of path.
 39866  	//
 39867  	// Use this name to configure LogicalUnit multipathing policy using `HostStorageSystem.EnableMultipathPath` and `HostStorageSystem.DisableMultipathPath`.
 39868  	Name string `xml:"name" json:"name"`
 39869  	// Deprecated as of VI API 4.0:
 39870  	//     - System reported path states are available in `HostMultipathInfoPath.state`.
 39871  	//     - Paths slated for I/O can be found using `HostMultipathInfoPath.isWorkingPath`.
 39872  	//
 39873  	// State of the path.
 39874  	//
 39875  	// Must be one of the values of
 39876  	// `MultipathState_enum`
 39877  	// <dl>
 39878  	// <dt>active</dt>
 39879  	// <dd>Path can be used for I/O and is currently a working path.</dd>
 39880  	// <dt>standby</dt>
 39881  	// <dd>Path can be used for I/O but is not a working path or can be
 39882  	// used if active paths fail.</dd>
 39883  	// <dt>disabled</dt>
 39884  	// <dd>Path has been administratively disabled.</dd>
 39885  	// <dt>dead</dt>
 39886  	// <dd>Path cannot be used for I/O.</dd>
 39887  	// <dt>unknown</dt>
 39888  	// <dd>Path is in unknown error state.</dd>
 39889  	// </dl>
 39890  	PathState string `xml:"pathState" json:"pathState"`
 39891  	// System-reported state of the path.
 39892  	//
 39893  	// Must be one of the values of
 39894  	// `MultipathState_enum`
 39895  	// <dl>
 39896  	// <dt>active</dt>
 39897  	// <dd>Path can be used for I/O.</dd>
 39898  	// <dt>standby</dt>
 39899  	// <dd>Path can be used for I/O if active paths fail.</dd>
 39900  	// <dt>disabled</dt>
 39901  	// <dd>Path has been administratively disabled.</dd>
 39902  	// <dt>dead</dt>
 39903  	// <dd>Path cannot be used for I/O.</dd>
 39904  	// <dt>unknown</dt>
 39905  	// <dd>Path is in unknown error state.</dd>
 39906  	// </dl>
 39907  	State string `xml:"state,omitempty" json:"state,omitempty" vim:"4.0"`
 39908  	// A path, managed by a given path selection policy(psp) plugin, is
 39909  	// denoted to be a Working Path if the psp plugin is likely to select the
 39910  	// path for performing I/O in the near future.
 39911  	IsWorkingPath *bool `xml:"isWorkingPath" json:"isWorkingPath,omitempty" vim:"4.0"`
 39912  	// The host bus adapter at one endpoint of this path.
 39913  	Adapter string `xml:"adapter" json:"adapter"`
 39914  	// The logical unit at one endpoint of this path.
 39915  	Lun string `xml:"lun" json:"lun"`
 39916  	// Transport information for the target end of the path.
 39917  	Transport BaseHostTargetTransport `xml:"transport,omitempty,typeattr" json:"transport,omitempty"`
 39918  }
 39919  
 39920  func init() {
 39921  	t["HostMultipathInfoPath"] = reflect.TypeOf((*HostMultipathInfoPath)(nil)).Elem()
 39922  }
 39923  
 39924  // This data object type describes the state of storage paths on the host.
 39925  //
 39926  // All storage paths on the host are enumerated in this data object.
 39927  //
 39928  // The reason all path state information is encapsulated in this data
 39929  // object is because the path may actively change. This data object
 39930  // ensures that a request to gather path state changes only needs to
 39931  // fetch this data object.
 39932  type HostMultipathStateInfo struct {
 39933  	DynamicData
 39934  
 39935  	// List of paths on the system and their path states.
 39936  	Path []HostMultipathStateInfoPath `xml:"path,omitempty" json:"path,omitempty"`
 39937  }
 39938  
 39939  func init() {
 39940  	t["HostMultipathStateInfo"] = reflect.TypeOf((*HostMultipathStateInfo)(nil)).Elem()
 39941  	minAPIVersionForType["HostMultipathStateInfo"] = "4.0"
 39942  }
 39943  
 39944  // Data object indicating state of storage path for a named path.
 39945  type HostMultipathStateInfoPath struct {
 39946  	DynamicData
 39947  
 39948  	// Name of path.
 39949  	//
 39950  	// Use this name to enable or disable storage paths `HostStorageSystem.EnableMultipathPath` and `HostStorageSystem.DisableMultipathPath`.
 39951  	//
 39952  	// In addition to being the identifier for the path state
 39953  	// operations, the name is used to correlate this object to the
 39954  	// corresponding Path object in other contexts.
 39955  	//
 39956  	// See also `HostPlugStoreTopologyPath.name`.
 39957  	Name string `xml:"name" json:"name"`
 39958  	// The state of the path.
 39959  	//
 39960  	// Must be one of the values of
 39961  	// `MultipathState_enum`.
 39962  	PathState string `xml:"pathState" json:"pathState"`
 39963  }
 39964  
 39965  func init() {
 39966  	t["HostMultipathStateInfoPath"] = reflect.TypeOf((*HostMultipathStateInfoPath)(nil)).Elem()
 39967  	minAPIVersionForType["HostMultipathStateInfoPath"] = "4.0"
 39968  }
 39969  
 39970  type HostNasVolume struct {
 39971  	HostFileSystemVolume
 39972  
 39973  	// The host that runs the NFS/CIFS server.
 39974  	//
 39975  	// Clients must plan to use remoteHostNames for both NFS v3
 39976  	// as well as NFS v4.1 because this field remoteHost may be
 39977  	// deprecated in future.
 39978  	RemoteHost string `xml:"remoteHost" json:"remoteHost"`
 39979  	// The remote path of NFS/CIFS mount point.
 39980  	RemotePath string `xml:"remotePath" json:"remotePath"`
 39981  	// In case of CIFS, the user name used while connecting to the server.
 39982  	UserName string `xml:"userName,omitempty" json:"userName,omitempty" vim:"2.5"`
 39983  	// This field will hold host names (or ip addresses) of all
 39984  	// remote hosts configured for the datastore.
 39985  	//
 39986  	// In case of NFS v3 it will have one hostname which will be
 39987  	// the same value as in remoteHost defined above.
 39988  	// In case of NFS v4.1 if the NFS Client detects additional
 39989  	// hostnames or ip addresses during its negotiations with the
 39990  	// NFS server, those additional host names (connections) will be
 39991  	// added to this list after the datastore is created.
 39992  	// Addition of hostnames to this list is limited to MDS server host names
 39993  	// or the IP addresses. In other words, the Data Server host names IP addresses
 39994  	// will not be appended to this list.
 39995  	RemoteHostNames []string `xml:"remoteHostNames,omitempty" json:"remoteHostNames,omitempty" vim:"6.0"`
 39996  	// Security type the volume is currently using.
 39997  	//
 39998  	// See `HostNasVolumeSecurityType_enum`
 39999  	SecurityType string `xml:"securityType,omitempty" json:"securityType,omitempty" vim:"6.0"`
 40000  	// Indicates that this NAS volume is protocol endpoint.
 40001  	//
 40002  	// This
 40003  	// property will be populated if and only if host supports
 40004  	// VirtualVolume based Datastore. Check the host capability
 40005  	// `HostCapability.virtualVolumeDatastoreSupported`.
 40006  	// See `HostProtocolEndpoint`.
 40007  	ProtocolEndpoint *bool `xml:"protocolEndpoint" json:"protocolEndpoint,omitempty" vim:"6.0"`
 40008  }
 40009  
 40010  func init() {
 40011  	t["HostNasVolume"] = reflect.TypeOf((*HostNasVolume)(nil)).Elem()
 40012  }
 40013  
 40014  // This describes the NAS Volume configuration containing
 40015  // the configurable properties on a NAS Volume
 40016  type HostNasVolumeConfig struct {
 40017  	DynamicData
 40018  
 40019  	// Indicates the change operation to apply on this configuration
 40020  	// specification.
 40021  	//
 40022  	// See also `HostConfigChangeOperation_enum`.
 40023  	ChangeOperation string `xml:"changeOperation,omitempty" json:"changeOperation,omitempty"`
 40024  	// The specification volume.
 40025  	Spec *HostNasVolumeSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 40026  }
 40027  
 40028  func init() {
 40029  	t["HostNasVolumeConfig"] = reflect.TypeOf((*HostNasVolumeConfig)(nil)).Elem()
 40030  	minAPIVersionForType["HostNasVolumeConfig"] = "4.0"
 40031  }
 40032  
 40033  // Specification for creating NAS volume.
 40034  //
 40035  // When mounting a NAS volume on multiple hosts, the same remoteHost and remotePath
 40036  // values should be used on every host, otherwise it will be treated as different
 40037  // datastores. For example, if one host references the remotePath of a NAS volume
 40038  // as "/mnt/mount1" and another references it as "/mnt/mount1/", it will not be
 40039  // recognized as the same datastore.
 40040  type HostNasVolumeSpec struct {
 40041  	DynamicData
 40042  
 40043  	// The host that runs the NFS v3 or CIFS server.
 40044  	//
 40045  	// For NFS v4.1
 40046  	// and beyond use remoteHostNames defined later. The field remotehost
 40047  	// may be deprecated in future for NFS, so clients should plan to use the
 40048  	// property remoteHostNames to send in the host name(s) for both NFS v3
 40049  	// and v4.1
 40050  	RemoteHost string `xml:"remoteHost" json:"remoteHost"`
 40051  	// The remote path of the NFS mount point.
 40052  	RemotePath string `xml:"remotePath" json:"remotePath"`
 40053  	// The localPath refers to the name of the NAS datastore to be created
 40054  	// using this specification.
 40055  	//
 40056  	// In the case of ESX Server, the datastore name is a component in the
 40057  	// file system path at which the NAS volume can be found. For example,
 40058  	// if localPath is set to "nas\_volume" the created NAS datastore will be
 40059  	// named "nas\_volume" and it can be accessed via the file system path
 40060  	// "/vmfs/volumes/nas\_volume".
 40061  	//
 40062  	// In the case of VMware Server, the localPath will also be used as the
 40063  	// datastore name, but the datastore name may not necessarily be
 40064  	// reflected in the file system path where the NAS volume may be
 40065  	// accessed.
 40066  	LocalPath string `xml:"localPath" json:"localPath"`
 40067  	// Access mode for the mount point.
 40068  	//
 40069  	// Mounting in read-write mode would be successful irregardless on
 40070  	// how the mount point is exported or access permissions. For
 40071  	// example, mounting a volume that is exported as read-only as
 40072  	// readWrite will succeed. Hence, that a readWrite mount succeeds
 40073  	// should not be taken as an indication that all files on a mount
 40074  	// is writable.
 40075  	//
 40076  	// If a file system is mounted readOnly, the system cannot create
 40077  	// or modify any files on the file system. This is mostly useful
 40078  	// for storing ISO images and templates, since a virtual machine
 40079  	// cannot be powered on from a readOnly volume.
 40080  	//
 40081  	// The access mode of a mounted NFS volume can be obtained at
 40082  	// `HostMountInfo.accessMode`.
 40083  	//
 40084  	// See also `HostMountMode_enum`.
 40085  	AccessMode string `xml:"accessMode" json:"accessMode"`
 40086  	// Specifies the type of the the NAS volume.
 40087  	//
 40088  	// Supported types are
 40089  	// `CIFS`,
 40090  	// `NFS`,
 40091  	// `NFS41`
 40092  	// If not specified, defaults to
 40093  	// `NFS`
 40094  	Type string `xml:"type,omitempty" json:"type,omitempty" vim:"2.5"`
 40095  	// If type is CIFS, the user name to use when connecting to the
 40096  	// CIFS server.
 40097  	//
 40098  	// If type is NFS, this field will be ignored.
 40099  	UserName string `xml:"userName,omitempty" json:"userName,omitempty" vim:"2.5"`
 40100  	// If type is CIFS, the password to use when connecting to the
 40101  	// CIFS server.
 40102  	//
 40103  	// If type is NFS, this field will be ignored.
 40104  	Password string `xml:"password,omitempty" json:"password,omitempty" vim:"2.5"`
 40105  	// Hostnames or IP addresses of remote NFS server.
 40106  	//
 40107  	// In case
 40108  	// of NFS v4.1 this may have multiple entries. For NFS v3 the
 40109  	// input should be same in both remoteHost and remoteHostNames.
 40110  	// In case of NFS v4.1, if vmknic binding is enabled,
 40111  	// then input can be in format {hostip1:vmknic1, hostip2:vmknic2}.
 40112  	RemoteHostNames []string `xml:"remoteHostNames,omitempty" json:"remoteHostNames,omitempty" vim:"6.0"`
 40113  	// Provided during mount indicating what security type,
 40114  	// if any, to use
 40115  	// See `HostNasVolumeSecurityType_enum`
 40116  	SecurityType string `xml:"securityType,omitempty" json:"securityType,omitempty" vim:"6.0"`
 40117  	// Name of the vmknic to be used by this mount.
 40118  	//
 40119  	// This field will be updated by a client with vmknic that will be used
 40120  	// for NAS volume mount operation for vmknic binding for NFSv3
 40121  	VmknicToBind string `xml:"vmknicToBind,omitempty" json:"vmknicToBind,omitempty" vim:"8.0.1.0"`
 40122  	// Indicates whether a client wants to bind this mount to vmknic.
 40123  	//
 40124  	// This field will be set to true by a client if vmknic should bind
 40125  	// during NAS volume mount operation for NFSv3
 40126  	// else it will be set to false
 40127  	VmknicBound *bool `xml:"vmknicBound" json:"vmknicBound,omitempty" vim:"8.0.1.0"`
 40128  	// Indicates the number of TCP connections for the particular
 40129  	// NFSv3 Server during NAS volume mount operation.
 40130  	//
 40131  	// If unset or set to 0, it defaults to one connection
 40132  	Connections int32 `xml:"connections,omitempty" json:"connections,omitempty" vim:"8.0.1.0"`
 40133  }
 40134  
 40135  func init() {
 40136  	t["HostNasVolumeSpec"] = reflect.TypeOf((*HostNasVolumeSpec)(nil)).Elem()
 40137  }
 40138  
 40139  // NFS user authentication information
 40140  type HostNasVolumeUserInfo struct {
 40141  	DynamicData
 40142  
 40143  	// User name for authentication.
 40144  	User string `xml:"user" json:"user"`
 40145  }
 40146  
 40147  func init() {
 40148  	t["HostNasVolumeUserInfo"] = reflect.TypeOf((*HostNasVolumeUserInfo)(nil)).Elem()
 40149  	minAPIVersionForType["HostNasVolumeUserInfo"] = "6.0"
 40150  }
 40151  
 40152  // A network address translation (NAT) service instance provides
 40153  // firewall and network address translation services for a virtual
 40154  // network.
 40155  type HostNatService struct {
 40156  	DynamicData
 40157  
 40158  	// The instance ID of the NAT service.
 40159  	Key string `xml:"key" json:"key"`
 40160  	// The configurable properties for the NatService object.
 40161  	Spec HostNatServiceSpec `xml:"spec" json:"spec"`
 40162  }
 40163  
 40164  func init() {
 40165  	t["HostNatService"] = reflect.TypeOf((*HostNatService)(nil)).Elem()
 40166  	minAPIVersionForType["HostNatService"] = "2.5"
 40167  }
 40168  
 40169  // This data object type describes the network address
 40170  // translation (NAT) service configuration
 40171  // representing both the configured properties
 40172  // on a NAT Service and identification information.
 40173  type HostNatServiceConfig struct {
 40174  	DynamicData
 40175  
 40176  	// Indicates the change operation to apply on this configuration
 40177  	// specification.
 40178  	//
 40179  	// See also `HostConfigChangeOperation_enum`.
 40180  	ChangeOperation string `xml:"changeOperation,omitempty" json:"changeOperation,omitempty"`
 40181  	// The instance ID of the NAT service.
 40182  	Key string `xml:"key" json:"key"`
 40183  	// The specification of the NAT service.
 40184  	Spec HostNatServiceSpec `xml:"spec" json:"spec"`
 40185  }
 40186  
 40187  func init() {
 40188  	t["HostNatServiceConfig"] = reflect.TypeOf((*HostNatServiceConfig)(nil)).Elem()
 40189  	minAPIVersionForType["HostNatServiceConfig"] = "2.5"
 40190  }
 40191  
 40192  // This data object type specifies the information for the
 40193  // name servers.
 40194  type HostNatServiceNameServiceSpec struct {
 40195  	DynamicData
 40196  
 40197  	// The flag to indicate whether or not the DNS server should
 40198  	// be automatically detected or specified explicitly.
 40199  	DnsAutoDetect bool `xml:"dnsAutoDetect" json:"dnsAutoDetect"`
 40200  	// The policy to use when multiple DNS addresses are available
 40201  	// on the host.
 40202  	DnsPolicy string `xml:"dnsPolicy" json:"dnsPolicy"`
 40203  	// The number of retries before giving up on a DNS request
 40204  	// from a virtual network.
 40205  	DnsRetries int32 `xml:"dnsRetries" json:"dnsRetries"`
 40206  	// The time (in seconds) before retrying a DNS request to an external
 40207  	// network.
 40208  	DnsTimeout int32 `xml:"dnsTimeout" json:"dnsTimeout"`
 40209  	// The list of DNS servers.
 40210  	DnsNameServer []string `xml:"dnsNameServer,omitempty" json:"dnsNameServer,omitempty"`
 40211  	// The time (in seconds) allotted for queries to the NetBIOS
 40212  	// Datagram Server (NBDS).
 40213  	NbdsTimeout int32 `xml:"nbdsTimeout" json:"nbdsTimeout"`
 40214  	// Number of retries for each query to the NBNS.
 40215  	NbnsRetries int32 `xml:"nbnsRetries" json:"nbnsRetries"`
 40216  	// The time (in seconds) allotted for queries to the NBNS.
 40217  	NbnsTimeout int32 `xml:"nbnsTimeout" json:"nbnsTimeout"`
 40218  }
 40219  
 40220  func init() {
 40221  	t["HostNatServiceNameServiceSpec"] = reflect.TypeOf((*HostNatServiceNameServiceSpec)(nil)).Elem()
 40222  	minAPIVersionForType["HostNatServiceNameServiceSpec"] = "2.5"
 40223  }
 40224  
 40225  // This data object type describes the
 40226  // Network Address Translation (NAT) port forwarding specification.
 40227  type HostNatServicePortForwardSpec struct {
 40228  	DynamicData
 40229  
 40230  	// Either "tcp" or "udp".
 40231  	Type string `xml:"type" json:"type"`
 40232  	// The user-defined name to identify the service being forwarded.
 40233  	//
 40234  	// No white spaces are allowed in the string.
 40235  	Name string `xml:"name" json:"name"`
 40236  	// The port number on the host.
 40237  	//
 40238  	// Network traffic sent to the host on this
 40239  	// TCP/UDP port is forwarded to the guest at the specified IP address
 40240  	// and port.
 40241  	HostPort int32 `xml:"hostPort" json:"hostPort"`
 40242  	// The port number for the guest.
 40243  	//
 40244  	// Network traffic from the host is
 40245  	// forwarded to this port.
 40246  	GuestPort int32 `xml:"guestPort" json:"guestPort"`
 40247  	// The IP address for the guest.
 40248  	//
 40249  	// Network traffic from the host is
 40250  	// forwarded to this IP address.
 40251  	GuestIpAddress string `xml:"guestIpAddress" json:"guestIpAddress"`
 40252  }
 40253  
 40254  func init() {
 40255  	t["HostNatServicePortForwardSpec"] = reflect.TypeOf((*HostNatServicePortForwardSpec)(nil)).Elem()
 40256  	minAPIVersionForType["HostNatServicePortForwardSpec"] = "2.5"
 40257  }
 40258  
 40259  // This data object type provides the details about the
 40260  // Network Address Translation (NAT) service.
 40261  type HostNatServiceSpec struct {
 40262  	DynamicData
 40263  
 40264  	// The name of the virtual switch to which nat service is connected.
 40265  	VirtualSwitch string `xml:"virtualSwitch" json:"virtualSwitch"`
 40266  	// The flag to indicate whether or not non-passive mode FTP
 40267  	// connections should be allowed.
 40268  	ActiveFtp bool `xml:"activeFtp" json:"activeFtp"`
 40269  	// The flag to indicate whether or not the NAT
 40270  	// Service allows media access control traffic from any
 40271  	// Organizational Unique Identifier (OUI)?
 40272  	// By default, it does not allow traffic that originated
 40273  	// from the host to avoid packet loops.
 40274  	AllowAnyOui bool `xml:"allowAnyOui" json:"allowAnyOui"`
 40275  	// The flag to indicate whether or not the NAT Service
 40276  	// should open a configuration port.
 40277  	ConfigPort bool `xml:"configPort" json:"configPort"`
 40278  	// The IP address that the NAT Service should use on
 40279  	// the virtual network.
 40280  	IpGatewayAddress string `xml:"ipGatewayAddress" json:"ipGatewayAddress"`
 40281  	// The time allotted for UDP packets.
 40282  	UdpTimeout int32 `xml:"udpTimeout" json:"udpTimeout"`
 40283  	// The port forwarding specifications to allow network
 40284  	// connections to be initiated from outside the firewall.
 40285  	PortForward []HostNatServicePortForwardSpec `xml:"portForward,omitempty" json:"portForward,omitempty"`
 40286  	// The configuration of naming services.
 40287  	//
 40288  	// These parameters are
 40289  	// specific to Windows.
 40290  	NameService *HostNatServiceNameServiceSpec `xml:"nameService,omitempty" json:"nameService,omitempty"`
 40291  }
 40292  
 40293  func init() {
 40294  	t["HostNatServiceSpec"] = reflect.TypeOf((*HostNatServiceSpec)(nil)).Elem()
 40295  	minAPIVersionForType["HostNatServiceSpec"] = "2.5"
 40296  }
 40297  
 40298  // Capability vector indicating the available product features.
 40299  type HostNetCapabilities struct {
 40300  	DynamicData
 40301  
 40302  	// The flag to indicate whether or not a physical network
 40303  	// adapter's link speed and duplex settings can be changed through
 40304  	// this API.
 40305  	//
 40306  	// For a hosted product, the host uses its physical network
 40307  	// adapters for network connectivity. Configuration of link speed is
 40308  	// done through regular host operations. In ESX Server, the configuration
 40309  	// can be changed through this API.
 40310  	CanSetPhysicalNicLinkSpeed bool `xml:"canSetPhysicalNicLinkSpeed" json:"canSetPhysicalNicLinkSpeed"`
 40311  	// The flag to indicate whether or not network adapter teaming is
 40312  	// available.
 40313  	//
 40314  	// Multiple network adapters can be bridged to a
 40315  	// virtual switch through a BondBridge. Also, network adapter teaming
 40316  	// policies such as failover order and detection are enabled.
 40317  	SupportsNicTeaming bool `xml:"supportsNicTeaming" json:"supportsNicTeaming"`
 40318  	// The available teaming policies if the platform supports network
 40319  	// adapter teaming.
 40320  	NicTeamingPolicy []string `xml:"nicTeamingPolicy,omitempty" json:"nicTeamingPolicy,omitempty"`
 40321  	// The flag to indicate whether or not VLANs can be configured on
 40322  	// PortGroups attached to VirtualSwitch objects.
 40323  	//
 40324  	// This allows VLANs for virtual machines without requiring special VLAN
 40325  	// capable hardware switches.
 40326  	SupportsVlan bool `xml:"supportsVlan" json:"supportsVlan"`
 40327  	// The flag to indicate whether or not a service
 40328  	// console network adapter
 40329  	// is used or required.
 40330  	//
 40331  	// This means that the system
 40332  	// software has two TCP/IP stacks. As a result, at least two types of
 40333  	// VirtualNics may be created -- the normal VirtualNic and the service
 40334  	// console VirtualNic. If this is not set, then only the VirtualNic type is
 40335  	// supported.
 40336  	UsesServiceConsoleNic bool `xml:"usesServiceConsoleNic" json:"usesServiceConsoleNic"`
 40337  	// The flag to indicate whether or not the host is able
 40338  	// to support
 40339  	// the querying of network hints.
 40340  	SupportsNetworkHints bool `xml:"supportsNetworkHints" json:"supportsNetworkHints"`
 40341  	// The maximum number of port groups supported per virtual switch.
 40342  	//
 40343  	// This property will not be set if this value is unlimited.
 40344  	MaxPortGroupsPerVswitch int32 `xml:"maxPortGroupsPerVswitch,omitempty" json:"maxPortGroupsPerVswitch,omitempty" vim:"2.5"`
 40345  	// The flag to indicate whether virtual switch configuration is
 40346  	// supported.
 40347  	//
 40348  	// This means that operations to add, remove, update virtual
 40349  	// switches are supported.
 40350  	VswitchConfigSupported bool `xml:"vswitchConfigSupported" json:"vswitchConfigSupported" vim:"2.5"`
 40351  	// The flag to indicate whether Virtual NIC configuration is supported.
 40352  	//
 40353  	// This means that operations to add, remove, update virtualNic are
 40354  	// supported.
 40355  	VnicConfigSupported bool `xml:"vnicConfigSupported" json:"vnicConfigSupported" vim:"2.5"`
 40356  	// The flag to indicate whether ip route configuration for the host
 40357  	// is supported.
 40358  	IpRouteConfigSupported bool `xml:"ipRouteConfigSupported" json:"ipRouteConfigSupported" vim:"2.5"`
 40359  	// The flag to indicate whether DNS configuration for the host is
 40360  	// supported.
 40361  	DnsConfigSupported bool `xml:"dnsConfigSupported" json:"dnsConfigSupported" vim:"2.5"`
 40362  	// This flag indicates whether or not the host is able to support
 40363  	// dhcp configuration for vnics.
 40364  	DhcpOnVnicSupported bool `xml:"dhcpOnVnicSupported" json:"dhcpOnVnicSupported" vim:"2.5"`
 40365  	// The flag to indicate whether the host is capable of communicating
 40366  	// using ipv6 protocol
 40367  	IpV6Supported *bool `xml:"ipV6Supported" json:"ipV6Supported,omitempty" vim:"4.0"`
 40368  	// The flag to indicate whether the host supports Backup NFC NIOC system
 40369  	// traffic, Unset means Backup NFC NIOC system traffic is not supported.
 40370  	BackupNfcNiocSupported *bool `xml:"backupNfcNiocSupported" json:"backupNfcNiocSupported,omitempty" vim:"7.0.1.0"`
 40371  }
 40372  
 40373  func init() {
 40374  	t["HostNetCapabilities"] = reflect.TypeOf((*HostNetCapabilities)(nil)).Elem()
 40375  }
 40376  
 40377  // Deprecated as of VI API 4.0, the system defaults will be used.
 40378  //
 40379  // Offload capabilities are used to optimize virtual machine network
 40380  // performance.
 40381  //
 40382  // When a virtual machine is transmitting on a network,
 40383  // some operations can be offloaded either to the host or to physical
 40384  // hardware. This data object type defines the set of offload capabilities
 40385  // that may be available on a host.
 40386  //
 40387  // This data object type is used both to publish the list of offload capabilities
 40388  // and to contain offload capability policy settings. The network
 40389  // policy logic is built on a two-level inheritance scheme which
 40390  // requires that all settings be optional. As a result, all properties
 40391  // on the NetOffloadCapabilities object must be optional.
 40392  //
 40393  // See also `HostNetworkPolicy`.
 40394  type HostNetOffloadCapabilities struct {
 40395  	DynamicData
 40396  
 40397  	// (Optional) The flag to indicate whether or not checksum
 40398  	// offloading is supported.
 40399  	CsumOffload *bool `xml:"csumOffload" json:"csumOffload,omitempty"`
 40400  	// (Optional) The flag to indicate whether or not TCP segmentation
 40401  	// offloading (TSO) is supported.
 40402  	TcpSegmentation *bool `xml:"tcpSegmentation" json:"tcpSegmentation,omitempty"`
 40403  	// (Optional) The flag to indicate whether or not zero copy
 40404  	// transmits are supported.
 40405  	ZeroCopyXmit *bool `xml:"zeroCopyXmit" json:"zeroCopyXmit,omitempty"`
 40406  }
 40407  
 40408  func init() {
 40409  	t["HostNetOffloadCapabilities"] = reflect.TypeOf((*HostNetOffloadCapabilities)(nil)).Elem()
 40410  }
 40411  
 40412  // This class describes Network Stack Instance configuration
 40413  type HostNetStackInstance struct {
 40414  	DynamicData
 40415  
 40416  	// Key of instance
 40417  	// For instance which created by host, its value should be `HostNetStackInstanceSystemStackKey_enum`.
 40418  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 40419  	// The display name
 40420  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 40421  	// DNS configuration
 40422  	DnsConfig BaseHostDnsConfig `xml:"dnsConfig,omitempty,typeattr" json:"dnsConfig,omitempty"`
 40423  	// IP Route configuration
 40424  	IpRouteConfig BaseHostIpRouteConfig `xml:"ipRouteConfig,omitempty,typeattr" json:"ipRouteConfig,omitempty"`
 40425  	// The maximum number of socket connection that are requested on this instance
 40426  	RequestedMaxNumberOfConnections int32 `xml:"requestedMaxNumberOfConnections,omitempty" json:"requestedMaxNumberOfConnections,omitempty"`
 40427  	// The TCP congest control algorithm used by this instance,
 40428  	// See `HostNetStackInstanceCongestionControlAlgorithmType_enum` for valid values.
 40429  	CongestionControlAlgorithm string `xml:"congestionControlAlgorithm,omitempty" json:"congestionControlAlgorithm,omitempty"`
 40430  	// Enable or disable IPv6 protocol on this stack instance.
 40431  	//
 40432  	// This property is not supported currently.
 40433  	IpV6Enabled      *bool                   `xml:"ipV6Enabled" json:"ipV6Enabled,omitempty"`
 40434  	RouteTableConfig *HostIpRouteTableConfig `xml:"routeTableConfig,omitempty" json:"routeTableConfig,omitempty"`
 40435  }
 40436  
 40437  func init() {
 40438  	t["HostNetStackInstance"] = reflect.TypeOf((*HostNetStackInstance)(nil)).Elem()
 40439  	minAPIVersionForType["HostNetStackInstance"] = "5.5"
 40440  }
 40441  
 40442  // This data object type describes networking host configuration data objects.
 40443  //
 40444  // These objects contain only the configuration information for networking.
 40445  // The runtime information is available from the
 40446  // `NetworkInfo` data object type.
 40447  //
 40448  // See also `HostNetworkInfo`.
 40449  type HostNetworkConfig struct {
 40450  	DynamicData
 40451  
 40452  	// Virtual switches configured on the host.
 40453  	Vswitch []HostVirtualSwitchConfig `xml:"vswitch,omitempty" json:"vswitch,omitempty"`
 40454  	// Host proxy switches configured on the host.
 40455  	ProxySwitch []HostProxySwitchConfig `xml:"proxySwitch,omitempty" json:"proxySwitch,omitempty" vim:"4.0"`
 40456  	// Port groups configured on the host.
 40457  	Portgroup []HostPortGroupConfig `xml:"portgroup,omitempty" json:"portgroup,omitempty"`
 40458  	// Physical network adapters as seen by the primary operating system.
 40459  	Pnic []PhysicalNicConfig `xml:"pnic,omitempty" json:"pnic,omitempty"`
 40460  	// Virtual network adapters configured for use by the host
 40461  	// operating system network adapter.
 40462  	Vnic []HostVirtualNicConfig `xml:"vnic,omitempty" json:"vnic,omitempty"`
 40463  	// Virtual network adapters configured for use by the Service
 40464  	// Console.
 40465  	ConsoleVnic []HostVirtualNicConfig `xml:"consoleVnic,omitempty" json:"consoleVnic,omitempty"`
 40466  	// Deprecated as of vSphere API 5.5, which is moved to
 40467  	// the default NetStackInstance.
 40468  	//
 40469  	// Client-side DNS configuration for the host.
 40470  	//
 40471  	// The DNS configuration is
 40472  	// global to the entire host.
 40473  	DnsConfig BaseHostDnsConfig `xml:"dnsConfig,omitempty,typeattr" json:"dnsConfig,omitempty"`
 40474  	// Deprecated as of vSphere API 5.5, which is moved to
 40475  	// the default NetStackInstance.
 40476  	//
 40477  	// IP route configuration of the host.
 40478  	IpRouteConfig BaseHostIpRouteConfig `xml:"ipRouteConfig,omitempty,typeattr" json:"ipRouteConfig,omitempty"`
 40479  	// IP route configuration of the service console.
 40480  	ConsoleIpRouteConfig BaseHostIpRouteConfig `xml:"consoleIpRouteConfig,omitempty,typeattr" json:"consoleIpRouteConfig,omitempty"`
 40481  	// Deprecated as of vSphere API 5.5, which is moved to
 40482  	// the default NetStackInstance.
 40483  	//
 40484  	// IP routing table configuration of the host.
 40485  	RouteTableConfig *HostIpRouteTableConfig `xml:"routeTableConfig,omitempty" json:"routeTableConfig,omitempty" vim:"4.0"`
 40486  	// Dynamic Host Control Protocol (DHCP) Service instances configured
 40487  	// on the host.
 40488  	Dhcp []HostDhcpServiceConfig `xml:"dhcp,omitempty" json:"dhcp,omitempty" vim:"2.5"`
 40489  	// Network address translation (NAT) Service instances configured
 40490  	// on the host.
 40491  	Nat []HostNatServiceConfig `xml:"nat,omitempty" json:"nat,omitempty" vim:"2.5"`
 40492  	// Enable or disable IPv6 protocol on this system.
 40493  	//
 40494  	// This property must be set by itself, no other property can accompany
 40495  	// this change. Following the successful change, the system should be rebooted to
 40496  	// have the change take effect.
 40497  	IpV6Enabled *bool `xml:"ipV6Enabled" json:"ipV6Enabled,omitempty" vim:"4.0"`
 40498  	// The list of network stack instance spec
 40499  	NetStackSpec []HostNetworkConfigNetStackSpec `xml:"netStackSpec,omitempty" json:"netStackSpec,omitempty" vim:"5.5"`
 40500  	// Current status of NVDS to VDS migration.
 40501  	//
 40502  	// See `HostNetworkConfig*.*HostNetworkConfigMigrationStatus_enum`
 40503  	// for supported values.
 40504  	MigrationStatus string `xml:"migrationStatus,omitempty" json:"migrationStatus,omitempty" vim:"7.0.2.0"`
 40505  }
 40506  
 40507  func init() {
 40508  	t["HostNetworkConfig"] = reflect.TypeOf((*HostNetworkConfig)(nil)).Elem()
 40509  }
 40510  
 40511  // This data type describes Network Stack Spec
 40512  type HostNetworkConfigNetStackSpec struct {
 40513  	DynamicData
 40514  
 40515  	// Network stack instance
 40516  	NetStackInstance HostNetStackInstance `xml:"netStackInstance" json:"netStackInstance"`
 40517  	// Operation type, see
 40518  	// `ConfigSpecOperation_enum` for valid values.
 40519  	//
 40520  	// Only edit operation is supported currently.
 40521  	Operation string `xml:"operation,omitempty" json:"operation,omitempty"`
 40522  }
 40523  
 40524  func init() {
 40525  	t["HostNetworkConfigNetStackSpec"] = reflect.TypeOf((*HostNetworkConfigNetStackSpec)(nil)).Elem()
 40526  	minAPIVersionForType["HostNetworkConfigNetStackSpec"] = "5.5"
 40527  }
 40528  
 40529  // The result returned by updateNetworkConfig call.
 40530  //
 40531  // See also `HostNetworkSystem.UpdateNetworkConfig`.
 40532  type HostNetworkConfigResult struct {
 40533  	DynamicData
 40534  
 40535  	// Virtual network adapter keys.
 40536  	VnicDevice []string `xml:"vnicDevice,omitempty" json:"vnicDevice,omitempty"`
 40537  	// Service console virtual network adapter keys.
 40538  	ConsoleVnicDevice []string `xml:"consoleVnicDevice,omitempty" json:"consoleVnicDevice,omitempty"`
 40539  }
 40540  
 40541  func init() {
 40542  	t["HostNetworkConfigResult"] = reflect.TypeOf((*HostNetworkConfigResult)(nil)).Elem()
 40543  }
 40544  
 40545  // This data object type describes networking host
 40546  // configuration data objects.
 40547  type HostNetworkInfo struct {
 40548  	DynamicData
 40549  
 40550  	// Virtual switches configured on the host.
 40551  	Vswitch []HostVirtualSwitch `xml:"vswitch,omitempty" json:"vswitch,omitempty"`
 40552  	// Proxy switches configured on the host.
 40553  	ProxySwitch []HostProxySwitch `xml:"proxySwitch,omitempty" json:"proxySwitch,omitempty" vim:"4.0"`
 40554  	// Port groups configured on the host.
 40555  	Portgroup []HostPortGroup `xml:"portgroup,omitempty" json:"portgroup,omitempty"`
 40556  	// Physical network adapters as seen by the primary operating system.
 40557  	Pnic []PhysicalNic `xml:"pnic,omitempty" json:"pnic,omitempty"`
 40558  	// Remote direct memory access devices, if any are present on the host.
 40559  	RdmaDevice []HostRdmaDevice `xml:"rdmaDevice,omitempty" json:"rdmaDevice,omitempty" vim:"7.0"`
 40560  	// Virtual network adapters configured on the host (hosted products)
 40561  	// or the vmkernel.
 40562  	//
 40563  	// In the hosted architecture, these network adapters are used by the
 40564  	// host to
 40565  	// communicate with the virtual machines running on that host. In the
 40566  	// VMkernel architecture, these virtual network adapters provide the
 40567  	// ESX Server with
 40568  	// external network access through a virtual switch that is bridged to a
 40569  	// physical network adapter. The VMkernel uses these network adapters
 40570  	// for features such as VMotion, NAS, iSCSI, and remote MKS connections.
 40571  	Vnic []HostVirtualNic `xml:"vnic,omitempty" json:"vnic,omitempty"`
 40572  	// Virtual network adapters configured for use by the service console.
 40573  	//
 40574  	// The service
 40575  	// console uses this network access for system management and bootstrapping
 40576  	// services like network boot.
 40577  	// The two sets of virtual network adapters are mutually exclusive.
 40578  	// A virtual network adapter
 40579  	// in this list cannot be used for things like VMotion. Likewise, a
 40580  	// virtual network adapter in the other list cannot be used by the
 40581  	// service console.
 40582  	ConsoleVnic []HostVirtualNic `xml:"consoleVnic,omitempty" json:"consoleVnic,omitempty"`
 40583  	// Deprecated as of vSphere API 5.5, which is moved to
 40584  	// each NetStackInstance. For this property in NetworkInfo,
 40585  	// Get operation will only return its value of default NetStackInstance.
 40586  	//
 40587  	// Client-side DNS configuration.
 40588  	DnsConfig BaseHostDnsConfig `xml:"dnsConfig,omitempty,typeattr" json:"dnsConfig,omitempty"`
 40589  	// Deprecated as of vSphere API 5.5, which is moved to
 40590  	// each NetStackInstance. For this property in NetworkInfo,
 40591  	// Get operation will only return its value of default NetStackInstance.
 40592  	//
 40593  	// IP route configuration.
 40594  	IpRouteConfig BaseHostIpRouteConfig `xml:"ipRouteConfig,omitempty,typeattr" json:"ipRouteConfig,omitempty"`
 40595  	// IP route configuration of the service console.
 40596  	ConsoleIpRouteConfig BaseHostIpRouteConfig `xml:"consoleIpRouteConfig,omitempty,typeattr" json:"consoleIpRouteConfig,omitempty"`
 40597  	// Deprecated as of vSphere API 5.5, which is moved to
 40598  	// each NetStackInstance. For this property in NetworkInfo,
 40599  	// Get operation will only return its value of default NetStackInstance.
 40600  	//
 40601  	// IP routing table
 40602  	RouteTableInfo *HostIpRouteTableInfo `xml:"routeTableInfo,omitempty" json:"routeTableInfo,omitempty" vim:"4.0"`
 40603  	// DHCP Service instances configured on the host.
 40604  	Dhcp []HostDhcpService `xml:"dhcp,omitempty" json:"dhcp,omitempty" vim:"2.5"`
 40605  	// NAT service instances configured on the host.
 40606  	Nat []HostNatService `xml:"nat,omitempty" json:"nat,omitempty" vim:"2.5"`
 40607  	// Enable or disable IPv6 protocol on this system.
 40608  	IpV6Enabled *bool `xml:"ipV6Enabled" json:"ipV6Enabled,omitempty" vim:"4.0"`
 40609  	// If true then dual IPv4/IPv6 stack enabled else IPv4 only.
 40610  	AtBootIpV6Enabled *bool `xml:"atBootIpV6Enabled" json:"atBootIpV6Enabled,omitempty" vim:"4.1"`
 40611  	// List of NetStackInstances
 40612  	NetStackInstance []HostNetStackInstance `xml:"netStackInstance,omitempty" json:"netStackInstance,omitempty" vim:"5.5"`
 40613  	// List of opaque switches configured on the host.
 40614  	OpaqueSwitch []HostOpaqueSwitch `xml:"opaqueSwitch,omitempty" json:"opaqueSwitch,omitempty" vim:"5.5"`
 40615  	// List of opaque networks
 40616  	OpaqueNetwork []HostOpaqueNetworkInfo `xml:"opaqueNetwork,omitempty" json:"opaqueNetwork,omitempty" vim:"5.5"`
 40617  	// The nsx transport node Id
 40618  	NsxTransportNodeId string `xml:"nsxTransportNodeId,omitempty" json:"nsxTransportNodeId,omitempty" vim:"7.0"`
 40619  	// Whether NSX N-VDS to VDS migration is required
 40620  	NvdsToVdsMigrationRequired *bool `xml:"nvdsToVdsMigrationRequired" json:"nvdsToVdsMigrationRequired,omitempty" vim:"7.0.2.0"`
 40621  	// Current status of NVDS to VDS migration.
 40622  	//
 40623  	// See `HostNetworkConfig*.*HostNetworkConfigMigrationStatus_enum`
 40624  	// for supported values.
 40625  	MigrationStatus string `xml:"migrationStatus,omitempty" json:"migrationStatus,omitempty" vim:"7.0.2.0"`
 40626  }
 40627  
 40628  func init() {
 40629  	t["HostNetworkInfo"] = reflect.TypeOf((*HostNetworkInfo)(nil)).Elem()
 40630  }
 40631  
 40632  // This data object type describes network policies that can be configured for
 40633  // both virtual switches and port groups.
 40634  //
 40635  // The policy settings on the
 40636  // port group can inherit policy settings from their containing virtual
 40637  // switch. These policy settings are inherited if
 40638  // the settings on the port group are not set. Since every policy
 40639  // setting on a port group is optional, every individual policy setting
 40640  // can be inherited.
 40641  //
 40642  // By contrast, if a host is capable of implementing a policy setting, every
 40643  // virtual switch has some value assigned to the policy setting. In this
 40644  // case, although all of the policy settings are optional,
 40645  // they always have some value either by inheritance or by direct
 40646  // setting.
 40647  //
 40648  // Policy settings are organized into policy groups such as SecurityPolicy.
 40649  // Policy groups are optional since it is possible that a host may not implement
 40650  // such policies. If a host does not support a policy group, the policy group
 40651  // is not set on both the virtual switches and the port groups.
 40652  //
 40653  // See also `HostNetCapabilities`.
 40654  type HostNetworkPolicy struct {
 40655  	DynamicData
 40656  
 40657  	// The security policy governing ports on this virtual switch.
 40658  	Security *HostNetworkSecurityPolicy `xml:"security,omitempty" json:"security,omitempty"`
 40659  	// The network adapter teaming policy.
 40660  	//
 40661  	// The bridge must be BondBridge
 40662  	// for this property to be valid.
 40663  	NicTeaming *HostNicTeamingPolicy `xml:"nicTeaming,omitempty" json:"nicTeaming,omitempty"`
 40664  	// Deprecated as of VI API 4.0, the system defaults will be used.
 40665  	//
 40666  	// Offload capabilities are used to optimize virtual machine network
 40667  	// performance.
 40668  	//
 40669  	// When a virtual machine is transmitting on a network,
 40670  	// some operations can be offloaded to either the host or the physical
 40671  	// hardware. This policy indicates what networking related operations
 40672  	// should be offloaded.
 40673  	//
 40674  	// All virtual machines using this PortGroup are subject to this
 40675  	// policy. There is no setting for an individual virtual machine
 40676  	// to determine if an operation should be offloaded.
 40677  	OffloadPolicy *HostNetOffloadCapabilities `xml:"offloadPolicy,omitempty" json:"offloadPolicy,omitempty"`
 40678  	// The traffic shaping policy.
 40679  	ShapingPolicy *HostNetworkTrafficShapingPolicy `xml:"shapingPolicy,omitempty" json:"shapingPolicy,omitempty"`
 40680  }
 40681  
 40682  func init() {
 40683  	t["HostNetworkPolicy"] = reflect.TypeOf((*HostNetworkPolicy)(nil)).Elem()
 40684  }
 40685  
 40686  // This data type describes the network resource runtime information
 40687  type HostNetworkResourceRuntime struct {
 40688  	DynamicData
 40689  
 40690  	// The network resource related information on each
 40691  	// physical NIC
 40692  	PnicResourceInfo []HostPnicNetworkResourceInfo `xml:"pnicResourceInfo" json:"pnicResourceInfo"`
 40693  }
 40694  
 40695  func init() {
 40696  	t["HostNetworkResourceRuntime"] = reflect.TypeOf((*HostNetworkResourceRuntime)(nil)).Elem()
 40697  	minAPIVersionForType["HostNetworkResourceRuntime"] = "6.0"
 40698  }
 40699  
 40700  // This data object type describes security policy governing ports.
 40701  type HostNetworkSecurityPolicy struct {
 40702  	DynamicData
 40703  
 40704  	// The flag to indicate whether or not all traffic is seen
 40705  	// on the port.
 40706  	AllowPromiscuous *bool `xml:"allowPromiscuous" json:"allowPromiscuous,omitempty"`
 40707  	// The flag to indicate whether or not the Media Access
 40708  	// Control (MAC) address can be changed.
 40709  	MacChanges *bool `xml:"macChanges" json:"macChanges,omitempty"`
 40710  	// The flag to indicate whether or not the virtual network adapter
 40711  	// should be allowed to send network traffic with a different MAC
 40712  	// address than that of the virtual network adapter.
 40713  	ForgedTransmits *bool `xml:"forgedTransmits" json:"forgedTransmits,omitempty"`
 40714  }
 40715  
 40716  func init() {
 40717  	t["HostNetworkSecurityPolicy"] = reflect.TypeOf((*HostNetworkSecurityPolicy)(nil)).Elem()
 40718  }
 40719  
 40720  // This data object type describes traffic shaping policy.
 40721  type HostNetworkTrafficShapingPolicy struct {
 40722  	DynamicData
 40723  
 40724  	// The flag to indicate whether or not traffic shaper is enabled on
 40725  	// the port.
 40726  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 40727  	// The average bandwidth in bits per second if shaping is enabled on
 40728  	// the port.
 40729  	AverageBandwidth int64 `xml:"averageBandwidth,omitempty" json:"averageBandwidth,omitempty"`
 40730  	// The peak bandwidth during bursts in bits per second if traffic
 40731  	// shaping is enabled on the port.
 40732  	PeakBandwidth int64 `xml:"peakBandwidth,omitempty" json:"peakBandwidth,omitempty"`
 40733  	// The maximum burst size allowed in bytes if shaping is enabled on
 40734  	// the port.
 40735  	BurstSize int64 `xml:"burstSize,omitempty" json:"burstSize,omitempty"`
 40736  }
 40737  
 40738  func init() {
 40739  	t["HostNetworkTrafficShapingPolicy"] = reflect.TypeOf((*HostNetworkTrafficShapingPolicy)(nil)).Elem()
 40740  }
 40741  
 40742  // Network information for a network that will be added to VirtualCenter when the
 40743  // host is added.
 40744  type HostNewNetworkConnectInfo struct {
 40745  	HostConnectInfoNetworkInfo
 40746  }
 40747  
 40748  func init() {
 40749  	t["HostNewNetworkConnectInfo"] = reflect.TypeOf((*HostNewNetworkConnectInfo)(nil)).Elem()
 40750  }
 40751  
 40752  // NfcConnectionInfo contains information about an NFC connection on the host.
 40753  type HostNfcConnectionInfo struct {
 40754  	HostDataTransportConnectionInfo
 40755  
 40756  	// NFC streaming memory used by the connection in bytes.
 40757  	StreamingMemoryConsumed int64 `xml:"streamingMemoryConsumed,omitempty" json:"streamingMemoryConsumed,omitempty"`
 40758  }
 40759  
 40760  func init() {
 40761  	t["HostNfcConnectionInfo"] = reflect.TypeOf((*HostNfcConnectionInfo)(nil)).Elem()
 40762  	minAPIVersionForType["HostNfcConnectionInfo"] = "7.0.3.0"
 40763  }
 40764  
 40765  // This data object type describes the network adapter failover
 40766  // detection algorithm for a network adapter team.
 40767  type HostNicFailureCriteria struct {
 40768  	DynamicData
 40769  
 40770  	// Deprecated as of VI API 5.1, this property is not supported.
 40771  	//
 40772  	// To use link speed as the criteria, _checkSpeed_ must be one of
 40773  	// the following values:
 40774  	//     - `*exact*`: Use exact speed to detect link failure.
 40775  	//       `*speed*` is the configured exact speed in megabits per second.
 40776  	//     - `*minimum*`: Use minimum speed to detect failure.
 40777  	//       `*speed*` is the configured minimum speed in megabits per second.
 40778  	//     - **empty string**: Do not use link speed to detect failure.
 40779  	//       `*speed*` is unused in this case.
 40780  	CheckSpeed string `xml:"checkSpeed,omitempty" json:"checkSpeed,omitempty"`
 40781  	// Deprecated as of VI API 5.1, this property is not supported.
 40782  	//
 40783  	// Speed.
 40784  	//
 40785  	// See also `HostNicFailureCriteria.checkSpeed`.
 40786  	Speed int32 `xml:"speed,omitempty" json:"speed,omitempty"`
 40787  	// Deprecated as of VI API 5.1, this property is not supported.
 40788  	//
 40789  	// The flag to indicate whether or not to use the link duplex reported
 40790  	// by the driver as link selection criteria.
 40791  	//
 40792  	// If `*checkDuplex*` is true, then fullDuplex is the configured
 40793  	// duplex mode. The link is considered bad if the link duplex reported
 40794  	// by driver is not the same as fullDuplex.
 40795  	//
 40796  	// If `*checkDuplex*` is false, then fullDuplex is unused, and
 40797  	// link duplexity is not used as a detection method.
 40798  	CheckDuplex *bool `xml:"checkDuplex" json:"checkDuplex,omitempty"`
 40799  	// Deprecated as of VI API 5.1, this property is not supported.
 40800  	//
 40801  	// Full duplex.
 40802  	//
 40803  	// See also `HostNicFailureCriteria.checkDuplex`.
 40804  	FullDuplex *bool `xml:"fullDuplex" json:"fullDuplex,omitempty"`
 40805  	// Deprecated as of VI API 5.1, this property is not supported.
 40806  	//
 40807  	// The flag to indicate whether or not to use link error percentage
 40808  	// to detect failure.
 40809  	//
 40810  	// If `*checkErrorPercent*` is true, then percentage is the configured
 40811  	// error percentage that is tolerated. The link is considered bad
 40812  	// if error rate exceeds percentage.
 40813  	//
 40814  	// If `*checkErrorPercent*` is false, percentage is unused, and
 40815  	// error percentage is not used as a detection method.
 40816  	CheckErrorPercent *bool `xml:"checkErrorPercent" json:"checkErrorPercent,omitempty"`
 40817  	// Deprecated as of VI API 5.1, this property is not supported.
 40818  	//
 40819  	// Percentage.
 40820  	//
 40821  	// See also `HostNicFailureCriteria.checkErrorPercent`.
 40822  	Percentage int32 `xml:"percentage,omitempty" json:"percentage,omitempty"`
 40823  	// The flag to indicate whether or not to enable this property to
 40824  	// enable beacon probing as a method to validate
 40825  	// the link status of a physical network adapter.
 40826  	//
 40827  	// `*checkBeacon*` can be enabled only if the VirtualSwitch has been
 40828  	// configured to use the beacon. Attempting to set `*checkBeacon*`
 40829  	// on a PortGroup or VirtualSwitch that does not have beacon probing
 40830  	// configured for the applicable VirtualSwitch results in an error.
 40831  	//
 40832  	// See also `HostVirtualSwitchBondBridge.beacon`, `HostVirtualSwitchBeaconConfig`.
 40833  	CheckBeacon *bool `xml:"checkBeacon" json:"checkBeacon,omitempty"`
 40834  }
 40835  
 40836  func init() {
 40837  	t["HostNicFailureCriteria"] = reflect.TypeOf((*HostNicFailureCriteria)(nil)).Elem()
 40838  }
 40839  
 40840  // This data object type describes network adapter ordering policy for a
 40841  // network adapter team.
 40842  //
 40843  // A physical network adapter can be in the active
 40844  // list, the standby list, or neither. It cannot be in both lists.
 40845  // For a virtual switch, the NicOrderPolicy property is never null when
 40846  // retrieved from the server. When creating a new virtual switch or
 40847  // updating an existing virtual switch, the NicOrderPolicy can be null,
 40848  // in which case the default NicOrderPolicy from the server will be
 40849  // used.
 40850  // For a portgroup, a null NicOrderPolicy property means the portgroup
 40851  // inherits the policy from its parent. Otherwise, the NicOrderPolicy
 40852  // property defined in the portgroup takes precedence.
 40853  // In all cases where the NicOrderPolicy property is set, an empty
 40854  // activeNic array means there are no active Ethernet adapters in the team. An
 40855  // empty standbyNic array means there are no standby Ethernet adapters.
 40856  type HostNicOrderPolicy struct {
 40857  	DynamicData
 40858  
 40859  	// List of active network adapters used for load balancing.
 40860  	ActiveNic []string `xml:"activeNic,omitempty" json:"activeNic,omitempty"`
 40861  	// Standby network adapters used for failover.
 40862  	StandbyNic []string `xml:"standbyNic,omitempty" json:"standbyNic,omitempty"`
 40863  }
 40864  
 40865  func init() {
 40866  	t["HostNicOrderPolicy"] = reflect.TypeOf((*HostNicOrderPolicy)(nil)).Elem()
 40867  }
 40868  
 40869  // Policy for a network adapter team.
 40870  type HostNicTeamingPolicy struct {
 40871  	DynamicData
 40872  
 40873  	// Network adapter teaming policy includes failover and load balancing,
 40874  	// It can be one of the following:
 40875  	//     - `*loadbalance\_ip*`: route based on ip hash.
 40876  	//     - `*loadbalance\_srcmac*`: route based on source MAC hash.
 40877  	//     - `*loadbalance\_srcid*`: route based on the source of the port ID.
 40878  	//     - `*failover\_explicit*`: use explicit failover order.
 40879  	//
 40880  	// See also `HostNetCapabilities.nicTeamingPolicy`.
 40881  	Policy string `xml:"policy,omitempty" json:"policy,omitempty"`
 40882  	// Deprecated as of VI API 5.1, the system default (true) will be used.
 40883  	//
 40884  	// The flag to indicate whether or not the teaming policy is applied
 40885  	// to inbound frames as well.
 40886  	//
 40887  	// For example, if the policy is explicit failover, a broadcast request goes
 40888  	// through uplink1 and comes back through uplink2. Then if the
 40889  	// reverse policy is set, the frame is dropped when it is
 40890  	// received from
 40891  	// uplink2. This reverse policy is useful to prevent the virtual machine
 40892  	// from getting reflections.
 40893  	ReversePolicy *bool `xml:"reversePolicy" json:"reversePolicy,omitempty"`
 40894  	// Flag to specify whether or not to notify the physical switch
 40895  	// if a link fails.
 40896  	//
 40897  	// If this property is true, ESX Server will
 40898  	// respond to the failure by sending a RARP packet from a different
 40899  	// physical adapter, causing the switch to update its cache.
 40900  	NotifySwitches *bool `xml:"notifySwitches" json:"notifySwitches,omitempty"`
 40901  	// The flag to indicate whether or not to use a rolling policy when
 40902  	// restoring links.
 40903  	//
 40904  	// For example, assume the explicit link order is
 40905  	// (vmnic9, vmnic0), therefore vmnic9 goes down, vmnic0 comes
 40906  	// up. However, when vmnic9 comes backup, if rollingOrder is set
 40907  	// to be true, vmnic0 continues to be used, otherwise, vmnic9
 40908  	// is restored as specified in the explicitly order.
 40909  	RollingOrder *bool `xml:"rollingOrder" json:"rollingOrder,omitempty"`
 40910  	// Failover detection policy for this network adapter team.
 40911  	//
 40912  	// The bridge must be BondBridge for this property to be valid.
 40913  	FailureCriteria *HostNicFailureCriteria `xml:"failureCriteria,omitempty" json:"failureCriteria,omitempty"`
 40914  	// Failover order policy for network adapters on this switch.
 40915  	//
 40916  	// The bridge must be BondBridge for this property to be valid.
 40917  	NicOrder *HostNicOrderPolicy `xml:"nicOrder,omitempty" json:"nicOrder,omitempty"`
 40918  }
 40919  
 40920  func init() {
 40921  	t["HostNicTeamingPolicy"] = reflect.TypeOf((*HostNicTeamingPolicy)(nil)).Elem()
 40922  }
 40923  
 40924  // This event records the fact that a host does not have any available networks
 40925  // for HA communication
 40926  type HostNoAvailableNetworksEvent struct {
 40927  	HostDasEvent
 40928  
 40929  	// The comma-separated list of used networks
 40930  	Ips string `xml:"ips,omitempty" json:"ips,omitempty"`
 40931  }
 40932  
 40933  func init() {
 40934  	t["HostNoAvailableNetworksEvent"] = reflect.TypeOf((*HostNoAvailableNetworksEvent)(nil)).Elem()
 40935  	minAPIVersionForType["HostNoAvailableNetworksEvent"] = "4.0"
 40936  }
 40937  
 40938  // This event records the fact that a host does not have any HA-enabled port
 40939  // groups
 40940  type HostNoHAEnabledPortGroupsEvent struct {
 40941  	HostDasEvent
 40942  }
 40943  
 40944  func init() {
 40945  	t["HostNoHAEnabledPortGroupsEvent"] = reflect.TypeOf((*HostNoHAEnabledPortGroupsEvent)(nil)).Elem()
 40946  	minAPIVersionForType["HostNoHAEnabledPortGroupsEvent"] = "4.0"
 40947  }
 40948  
 40949  // This event records the fact that a host does not have a redundant
 40950  // management network.
 40951  //
 40952  // It is recommended that host management networks
 40953  // be configured with redundancy.
 40954  type HostNoRedundantManagementNetworkEvent struct {
 40955  	HostDasEvent
 40956  }
 40957  
 40958  func init() {
 40959  	t["HostNoRedundantManagementNetworkEvent"] = reflect.TypeOf((*HostNoRedundantManagementNetworkEvent)(nil)).Elem()
 40960  	minAPIVersionForType["HostNoRedundantManagementNetworkEvent"] = "2.5"
 40961  }
 40962  
 40963  // This event records that host went out of compliance.
 40964  type HostNonCompliantEvent struct {
 40965  	HostEvent
 40966  }
 40967  
 40968  func init() {
 40969  	t["HostNonCompliantEvent"] = reflect.TypeOf((*HostNonCompliantEvent)(nil)).Elem()
 40970  	minAPIVersionForType["HostNonCompliantEvent"] = "4.0"
 40971  }
 40972  
 40973  // A HostNotConnected fault is thrown if a method needs
 40974  // to communicate with a host that has been disconnected in
 40975  // VirtualCenter.
 40976  type HostNotConnected struct {
 40977  	HostCommunication
 40978  }
 40979  
 40980  func init() {
 40981  	t["HostNotConnected"] = reflect.TypeOf((*HostNotConnected)(nil)).Elem()
 40982  }
 40983  
 40984  type HostNotConnectedFault HostNotConnected
 40985  
 40986  func init() {
 40987  	t["HostNotConnectedFault"] = reflect.TypeOf((*HostNotConnectedFault)(nil)).Elem()
 40988  }
 40989  
 40990  // This event records that the host is not a cluster member.
 40991  type HostNotInClusterEvent struct {
 40992  	HostDasEvent
 40993  }
 40994  
 40995  func init() {
 40996  	t["HostNotInClusterEvent"] = reflect.TypeOf((*HostNotInClusterEvent)(nil)).Elem()
 40997  	minAPIVersionForType["HostNotInClusterEvent"] = "2.5"
 40998  }
 40999  
 41000  // A HostNotReachable fault is thrown if the server was unable
 41001  // to communicate with the host
 41002  type HostNotReachable struct {
 41003  	HostCommunication
 41004  }
 41005  
 41006  func init() {
 41007  	t["HostNotReachable"] = reflect.TypeOf((*HostNotReachable)(nil)).Elem()
 41008  }
 41009  
 41010  type HostNotReachableFault HostNotReachable
 41011  
 41012  func init() {
 41013  	t["HostNotReachableFault"] = reflect.TypeOf((*HostNotReachableFault)(nil)).Elem()
 41014  }
 41015  
 41016  // Configuration information for the NTP (Network Time Protocol) service.
 41017  type HostNtpConfig struct {
 41018  	DynamicData
 41019  
 41020  	// List of time servers, specified as either IP addresses or
 41021  	// fully qualified domain names (FQDNs).
 41022  	//
 41023  	// Each entry may optionally
 41024  	// specify one or more space separated 'server' ntp.conf command options.
 41025  	// Any comments appended to an entry after a '#' will not be retained.
 41026  	// To reset any previously configured servers, submit an NtpConfig
 41027  	// without the server or configFile property set to method
 41028  	// `HostDateTimeSystem.UpdateDateTimeConfig`
 41029  	Server []string `xml:"server,omitempty" json:"server,omitempty"`
 41030  	// Content of ntp.conf host configuration file, split by lines for ntpd version 4.2.8.
 41031  	//
 41032  	// Comment lines start with comment marker '#' as per ntp.conf are kept.
 41033  	// When submitting a new ntp commands to this property via
 41034  	// `HostDateTimeSystem.UpdateDateTimeConfig` method, any 'restrict'
 41035  	// or 'drift' commands will be ignored as the those are set to fixed defaults.
 41036  	ConfigFile []string `xml:"configFile,omitempty" json:"configFile,omitempty" vim:"6.0"`
 41037  }
 41038  
 41039  func init() {
 41040  	t["HostNtpConfig"] = reflect.TypeOf((*HostNtpConfig)(nil)).Elem()
 41041  	minAPIVersionForType["HostNtpConfig"] = "2.5"
 41042  }
 41043  
 41044  // Information about NUMA (non-uniform memory access).
 41045  type HostNumaInfo struct {
 41046  	DynamicData
 41047  
 41048  	// Deprecated as of vSphere API 5.1, this property is always
 41049  	// set to "NUMA".
 41050  	//
 41051  	// The type of NUMA technology.
 41052  	Type string `xml:"type" json:"type"`
 41053  	// The number of NUMA nodes on the host.
 41054  	//
 41055  	// The value is 0 if the
 41056  	// host is not NUMA-capable.
 41057  	NumNodes int32 `xml:"numNodes" json:"numNodes"`
 41058  	// Information about each of the NUMA nodes on the host.
 41059  	//
 41060  	// The array is empty if the host is not NUMA-capable.
 41061  	NumaNode []HostNumaNode `xml:"numaNode,omitempty" json:"numaNode,omitempty"`
 41062  }
 41063  
 41064  func init() {
 41065  	t["HostNumaInfo"] = reflect.TypeOf((*HostNumaInfo)(nil)).Elem()
 41066  }
 41067  
 41068  // Information about a single NUMA node.
 41069  type HostNumaNode struct {
 41070  	DynamicData
 41071  
 41072  	// Zero-based NUMA ID for the node.
 41073  	TypeId byte `xml:"typeId" json:"typeId"`
 41074  	// Information about each of the CPUs associated with the node.
 41075  	CpuID []int16 `xml:"cpuID" json:"cpuID"`
 41076  	// The total amount of memory in this NUMA node, in bytes.
 41077  	MemorySize int64 `xml:"memorySize,omitempty" json:"memorySize,omitempty" vim:"8.0.0.0"`
 41078  	// Deprecated as of vSphere 8.0, this property is always set to
 41079  	// zero. The memory of a NUMA node is not necessarily a single
 41080  	// physically contiguous range.
 41081  	//
 41082  	// Beginning memory range for this NUMA node.
 41083  	MemoryRangeBegin int64 `xml:"memoryRangeBegin" json:"memoryRangeBegin"`
 41084  	// Deprecated as of vSphere 8.0, this property is replaced by
 41085  	// `HostNumaNode.memorySize` and is set to the same value. The memory of
 41086  	// a NUMA node is not necessarily a single physically contiguous
 41087  	// range.
 41088  	//
 41089  	// Length of the memory range for this node in bytes, that is, the amount
 41090  	// of memory on the node.
 41091  	MemoryRangeLength int64 `xml:"memoryRangeLength" json:"memoryRangeLength"`
 41092  	// Information about each of the pci devices associated with the node.
 41093  	//
 41094  	// The string is of SBDF format, "Segment:Bus:Device.Function".
 41095  	PciId []string `xml:"pciId,omitempty" json:"pciId,omitempty" vim:"6.7"`
 41096  }
 41097  
 41098  func init() {
 41099  	t["HostNumaNode"] = reflect.TypeOf((*HostNumaNode)(nil)).Elem()
 41100  }
 41101  
 41102  // Base class for numeric sensor information.
 41103  type HostNumericSensorInfo struct {
 41104  	DynamicData
 41105  
 41106  	// The name of the physical element associated with the sensor
 41107  	// It consists of a string of the form:
 41108  	// "description --- state/identifer".
 41109  	Name string `xml:"name" json:"name"`
 41110  	// The health state of the of the element indicated by the sensor.
 41111  	//
 41112  	// This property is populated only for sensors that support threshold
 41113  	// settings and for discrete sensors using control file.
 41114  	//
 41115  	// See also `HostNumericSensorHealthState_enum`.
 41116  	HealthState BaseElementDescription `xml:"healthState,omitempty,typeattr" json:"healthState,omitempty"`
 41117  	// The current reading of the element indicated by the sensor.
 41118  	//
 41119  	// The actual
 41120  	// sensor reading is obtained by multiplying the current reading by the
 41121  	// scale factor.
 41122  	CurrentReading int64 `xml:"currentReading" json:"currentReading"`
 41123  	// The unit multiplier for the values returned by the sensor.
 41124  	//
 41125  	// All values
 41126  	// returned by the sensor are current reading \* 10 raised to the power of
 41127  	// the UnitModifier. If no unitModifier applies the value returned is 0.
 41128  	UnitModifier int32 `xml:"unitModifier" json:"unitModifier"`
 41129  	// The base units in which the sensor reading is specified.
 41130  	//
 41131  	// If rateUnits
 41132  	// is set the units of the current reading is further qualified by the
 41133  	// rateUnits. Otherwise the value returned is 'unspecified'.
 41134  	//
 41135  	// See also `HostNumericSensorInfo.rateUnits`.
 41136  	BaseUnits string `xml:"baseUnits" json:"baseUnits"`
 41137  	// The rate units in which the sensor reading is specified.
 41138  	//
 41139  	// For example if
 41140  	// the baseUnits is Volts and the rateUnits is per second the value
 41141  	// returned by the sensor are in Volts/second. If no rate applies
 41142  	// the value returned is 'none'.
 41143  	RateUnits string `xml:"rateUnits,omitempty" json:"rateUnits,omitempty"`
 41144  	// The type of the sensor.
 41145  	//
 41146  	// If the sensor type is set to Other the sensor
 41147  	// name can be used to further identify the type of sensor. The sensor
 41148  	// units can also be used to further implicitly determine the type of the
 41149  	// sensor.
 41150  	//
 41151  	// See also `HostNumericSensorType_enum`.
 41152  	SensorType string `xml:"sensorType" json:"sensorType"`
 41153  	// A unique sensor identifier.
 41154  	//
 41155  	// A four part value consisting of:
 41156  	// BMC device.Entity ID.Instance.SensorNumber
 41157  	// Can be used to match a NumericSensorInfo object to
 41158  	// esxcli hardware ipmi sdr list
 41159  	Id string `xml:"id,omitempty" json:"id,omitempty" vim:"6.5"`
 41160  	// The IPMI Sensor/probe that is reporting this event.
 41161  	//
 41162  	// Use this value
 41163  	// to locate System Event Log (SEL) entries for this Sensor. It is also
 41164  	// reported in 'id' in string format. This property is intended to
 41165  	// be used with vim.host.SystemEventInfo.sensorNumber
 41166  	SensorNumber int64 `xml:"sensorNumber,omitempty" json:"sensorNumber,omitempty" vim:"8.0.0.1"`
 41167  	// Reports the ISO 8601 Timestamp when this sensor was last updated by
 41168  	// management controller if the this sensor is capable of tracking
 41169  	// when it was last updated.
 41170  	TimeStamp string `xml:"timeStamp,omitempty" json:"timeStamp,omitempty" vim:"6.5"`
 41171  	// The FRU this sensor monitors if any.
 41172  	Fru *HostFru `xml:"fru,omitempty" json:"fru,omitempty" vim:"8.0.0.1"`
 41173  }
 41174  
 41175  func init() {
 41176  	t["HostNumericSensorInfo"] = reflect.TypeOf((*HostNumericSensorInfo)(nil)).Elem()
 41177  	minAPIVersionForType["HostNumericSensorInfo"] = "2.5"
 41178  }
 41179  
 41180  // Specifies the parameters necessary to connect to a regular NVME over Fabrics
 41181  // controller.
 41182  //
 41183  // Here the transportParameters are used to establish a transport level
 41184  // connection to the specified controller. For reference, see:
 41185  //   - "NVM Express over Fabrics 1.0", Section 3.3,
 41186  //     "Connect command and response"
 41187  type HostNvmeConnectSpec struct {
 41188  	HostNvmeSpec
 41189  
 41190  	// NVME Qualified Name of the NVM subsystem to connect to.
 41191  	//
 41192  	// Corresponds to the SUBNQN field in the Connect command as
 41193  	// referenced above.
 41194  	Subnqn string `xml:"subnqn" json:"subnqn"`
 41195  	// ID of the controller to connect to within the NVM subsystem.
 41196  	//
 41197  	// This field corresponds to CNTLID in the Connect command.
 41198  	// Its usage depends on whether the NVM Subsystem supports
 41199  	// a static or dynamic controller model.
 41200  	// In the static model, a number of controllers
 41201  	// may be exposed. A connection to a specific one may be requested
 41202  	// by specifying its controller ID (which is unique only within the
 41203  	// NVM subsystem). If a value of 0xFFFE (65534 in decimal) is provided,
 41204  	// any one of the controllers may be allocated for the connection. In
 41205  	// the static model a value of 0xFFFF (65535 in decimal) or above is
 41206  	// invalid.
 41207  	// In the dynamic model, the NVM Subsystem will dynamically allocate
 41208  	// a controller. Any value other than 0xFFFF (65535 in decimal) specified
 41209  	// will be consider invalid.
 41210  	// If the controllerId is unset, it defaults to 0xFFFF (the value used in
 41211  	// the dynamic model).
 41212  	// Whether the NVM subsystem supports the dynamic or static model can be
 41213  	// determined by examining the corresponding
 41214  	// `HostNvmeDiscoveryLogEntry` returned for it.
 41215  	ControllerId int32 `xml:"controllerId,omitempty" json:"controllerId,omitempty"`
 41216  	// Size of the admin queue which will be created once connection
 41217  	// is established.
 41218  	//
 41219  	// This field corresponds to SQSIZE in the Connect command (see above).
 41220  	// If unset, it defaults to a reasonable value which may vary between
 41221  	// releases (currently 16).
 41222  	AdminQueueSize int32 `xml:"adminQueueSize,omitempty" json:"adminQueueSize,omitempty"`
 41223  	// Timeout for the keep alive feature in seconds.
 41224  	//
 41225  	// This field corresponds to KATO in the Connect command (see above).
 41226  	// If unset, it defaults to a reasonable value which may vary between
 41227  	// releases (currently 30 seconds).
 41228  	// For further information, see:
 41229  	//     - "NVM Express 1.3", Section 5.21.1.15, "Keep Alive Timer"
 41230  	KeepAliveTimeout int32 `xml:"keepAliveTimeout,omitempty" json:"keepAliveTimeout,omitempty"`
 41231  }
 41232  
 41233  func init() {
 41234  	t["HostNvmeConnectSpec"] = reflect.TypeOf((*HostNvmeConnectSpec)(nil)).Elem()
 41235  	minAPIVersionForType["HostNvmeConnectSpec"] = "7.0"
 41236  }
 41237  
 41238  // This data object represents an NVME controller.
 41239  //
 41240  // Some terminology is borrowed from the NVM Express over Fabrics
 41241  // and the NVM Express 1.3 specifications, which are available
 41242  // at the following address:
 41243  // https://nvmexpress.org/resources/specifications/
 41244  type HostNvmeController struct {
 41245  	DynamicData
 41246  
 41247  	// The linkable identifier.
 41248  	Key string `xml:"key" json:"key"`
 41249  	// The controller number uniquely identifies the NVME Controller
 41250  	// within its HostSystem.
 41251  	//
 41252  	// This should not be confused with Controller ID (see
 41253  	// "NVM Express over Fabrics 1.0", Section 4.2, "Controller model"
 41254  	// for details), which only serves as an identifier
 41255  	// within a particular NVME subsystem.
 41256  	ControllerNumber int32 `xml:"controllerNumber" json:"controllerNumber"`
 41257  	// The NVME subsystem qualified name.
 41258  	//
 41259  	// Each NVME controller is associated with an NVME subsystem
 41260  	// which can present a collection of controllers to the adapter.
 41261  	// For more details, refer to:
 41262  	//     - "NVM Express over Fabrics 1.0", Section 1.5.2,
 41263  	//       "NVM Subsystem".
 41264  	Subnqn string `xml:"subnqn" json:"subnqn"`
 41265  	// Name of the controller.
 41266  	//
 41267  	// Each controller has a name. For NVME over Fabrics controllers,
 41268  	// it is generated when the controller is connected to an NVME
 41269  	// over Fabrics adapter.
 41270  	Name string `xml:"name" json:"name"`
 41271  	// Associated NVME over Fabrics host bus adapter.
 41272  	//
 41273  	// A controller is associated with exactly one host at a time through
 41274  	// an NVME over Fabrics host bus adapter.
 41275  	AssociatedAdapter string `xml:"associatedAdapter" json:"associatedAdapter"`
 41276  	// The transport type supported by the controller.
 41277  	//
 41278  	// The set of possible values is described in `HostNvmeTransportType_enum`.
 41279  	// For details, see:
 41280  	//     - "NVM Express over Fabrics 1.0", Section 1.5.1,
 41281  	//       "Fabrics and Transports".
 41282  	TransportType string `xml:"transportType" json:"transportType"`
 41283  	// Indicates whether fused operations are supported by the controller.
 41284  	//
 41285  	// An NVME controller may support fused operations. This is required
 41286  	// to support shared storage, otherwise data corruption may occur.
 41287  	// For more details, see:
 41288  	//     - "NVM Express 1.3", Section 6.2, "Fused Operations".
 41289  	FusedOperationSupported bool `xml:"fusedOperationSupported" json:"fusedOperationSupported"`
 41290  	// The number of I/O queues allocated for the controller.
 41291  	NumberOfQueues int32 `xml:"numberOfQueues" json:"numberOfQueues"`
 41292  	// The size of each of the I/O queues.
 41293  	//
 41294  	// This will not be greater than the Maximum Queue Entries Supported
 41295  	// (mqes) value for the controller. For more information, see:
 41296  	//     - "NVM Express 1.3", section 3.1, "Register definition".
 41297  	QueueSize int32 `xml:"queueSize" json:"queueSize"`
 41298  	// List of NVME namespaces attached to the controller.
 41299  	//
 41300  	// Namespaces provide access to a non-volatile storage medium
 41301  	// which is part of the NVM subsystem. For an overview, see:
 41302  	//     - "NVM Express over Fabrics 1.0", Section 1.5.2,
 41303  	//       "NVM Subsystem".
 41304  	//     - "NVM Express 1.3", section 6.1, "Namespaces".
 41305  	AttachedNamespace []HostNvmeNamespace `xml:"attachedNamespace,omitempty" json:"attachedNamespace,omitempty"`
 41306  	// The vendor ID of the controller, if available.
 41307  	VendorId string `xml:"vendorId,omitempty" json:"vendorId,omitempty"`
 41308  	// The model name of the controller, if available.
 41309  	Model string `xml:"model,omitempty" json:"model,omitempty"`
 41310  	// The serial number of the controller, if available.
 41311  	SerialNumber string `xml:"serialNumber,omitempty" json:"serialNumber,omitempty"`
 41312  	// The firmware version of the controller, if available.
 41313  	FirmwareVersion string `xml:"firmwareVersion,omitempty" json:"firmwareVersion,omitempty"`
 41314  }
 41315  
 41316  func init() {
 41317  	t["HostNvmeController"] = reflect.TypeOf((*HostNvmeController)(nil)).Elem()
 41318  	minAPIVersionForType["HostNvmeController"] = "7.0"
 41319  }
 41320  
 41321  // Specifies the parameters necessary to disconnect an NVME controller
 41322  // from a given NVME over Fabrics adapter.
 41323  type HostNvmeDisconnectSpec struct {
 41324  	DynamicData
 41325  
 41326  	// The device name of the NVME over Fabrics host bus adapter.
 41327  	HbaName string `xml:"hbaName" json:"hbaName"`
 41328  	// NVME Qualified Name of the NVM subsystem to disconnect from.
 41329  	//
 41330  	// If controllerNumber is not specified, the subsystem qualified
 41331  	// name has to be specified and any controllers exposed by that
 41332  	// subsystem will be disconnected from the specified adapter. This
 41333  	// is particularly convenient for the dynamic controller model, where
 41334  	// the mapping subsystemNQN &lt;-&gt; ctrlNumber is expected to be 1:1.
 41335  	// If controllerNumber is also specified, this value is ignored.
 41336  	Subnqn string `xml:"subnqn,omitempty" json:"subnqn,omitempty"`
 41337  	// Controller number of the controller to be disconnected.
 41338  	//
 41339  	// If this value is set, the subsystemQualifiedName can be left unset
 41340  	// and the controller whose controllerNumber field matches this value
 41341  	// will be disconnected from the specified adapter.
 41342  	// If this value is not set, subsystemQualifiedName must be set.
 41343  	ControllerNumber int32 `xml:"controllerNumber,omitempty" json:"controllerNumber,omitempty"`
 41344  }
 41345  
 41346  func init() {
 41347  	t["HostNvmeDisconnectSpec"] = reflect.TypeOf((*HostNvmeDisconnectSpec)(nil)).Elem()
 41348  	minAPIVersionForType["HostNvmeDisconnectSpec"] = "7.0"
 41349  }
 41350  
 41351  // Specifies the parameters necessary to connect to a Discovery Service and
 41352  // retrieve a Discovery Log Page.
 41353  //
 41354  // Here the transportParameters are used to establish a transport level
 41355  // connection to a Discovery Controller. Further details can be found here:
 41356  //   - "NVM Express over Fabrics 1.0", Section 5, "Discovery service"
 41357  type HostNvmeDiscoverSpec struct {
 41358  	HostNvmeSpec
 41359  
 41360  	// Indicates whether the specified adapter should automatically be
 41361  	// connected to all the discovered controllers.
 41362  	//
 41363  	// It is possible to automatically connect to all discovered controllers.
 41364  	// This will only be attempted if this flag is set to true. Whether the
 41365  	// connection attempt for an entry succeeded can then be determined
 41366  	// via the corresponding `HostNvmeDiscoveryLogEntry.connected` field.
 41367  	AutoConnect *bool `xml:"autoConnect" json:"autoConnect,omitempty"`
 41368  	// If set to true, this flag indicates we are connecting to a root/central
 41369  	// discovery controller (RDC/CDC).
 41370  	//
 41371  	// This will create a persistent connection between the host and the
 41372  	// root discovery controller, thus enabling some advanced features.
 41373  	RootDiscoveryController *bool `xml:"rootDiscoveryController" json:"rootDiscoveryController,omitempty" vim:"7.0.3.0"`
 41374  }
 41375  
 41376  func init() {
 41377  	t["HostNvmeDiscoverSpec"] = reflect.TypeOf((*HostNvmeDiscoverSpec)(nil)).Elem()
 41378  	minAPIVersionForType["HostNvmeDiscoverSpec"] = "7.0"
 41379  }
 41380  
 41381  // This data object represents the Discovery Log returned by
 41382  // an NVME over Fabrics Discovery controller.
 41383  //
 41384  // The Discovery Log consists of pages which contain a number
 41385  // of entries. It provides an inventory of NVM subsystems with
 41386  // which the host may attempt to form an association through
 41387  // an NVME over Fabrics adapter. For details, see:
 41388  //   - "NVM Express over Fabrics 1.0", Section 5.3,
 41389  //     Discovery Log Page
 41390  type HostNvmeDiscoveryLog struct {
 41391  	DynamicData
 41392  
 41393  	// The list of entries that make up the Discovery Log.
 41394  	Entry []HostNvmeDiscoveryLogEntry `xml:"entry,omitempty" json:"entry,omitempty"`
 41395  	// Indicates whether the NvmeDiscoveryLog object completely
 41396  	// represents the underlying Discovery Log returned by the
 41397  	// controller.
 41398  	//
 41399  	// It is possible some of the entries returned by the Discovery
 41400  	// Controller contain unsupported transport types or data that
 41401  	// cannot be interpreted - in that case, those entries will be
 41402  	// skipped and the log will be marked as incomplete.
 41403  	Complete bool `xml:"complete" json:"complete"`
 41404  }
 41405  
 41406  func init() {
 41407  	t["HostNvmeDiscoveryLog"] = reflect.TypeOf((*HostNvmeDiscoveryLog)(nil)).Elem()
 41408  	minAPIVersionForType["HostNvmeDiscoveryLog"] = "7.0"
 41409  }
 41410  
 41411  // This data object represents a single entry in the Discovery
 41412  // Log returned by a Discovery controller.
 41413  type HostNvmeDiscoveryLogEntry struct {
 41414  	DynamicData
 41415  
 41416  	// NVME Qualified name of the discovered subsystem.
 41417  	//
 41418  	// Corresponds to the SUBNQN field in the Discovery Log
 41419  	// Page Entry as specified by the NVME over Fabrics spec.
 41420  	Subnqn string `xml:"subnqn" json:"subnqn"`
 41421  	// NVM Subsystem type.
 41422  	//
 41423  	// Corresponds to the SUBTYPE field in the Discovery Log
 41424  	// Page Entry as specified by the NVME over Fabrics spec.
 41425  	// The set of supported values is described in
 41426  	// `HostNvmeDiscoveryLogSubsystemType_enum`.
 41427  	SubsystemType string `xml:"subsystemType" json:"subsystemType"`
 41428  	// NVM subsystem port ID.
 41429  	//
 41430  	// Corresponds to the PORTID field in the Discovery Log
 41431  	// Page Entry as specified by the NVME over Fabrics spec.
 41432  	// For an overview, see:
 41433  	//     - "NVM Express over Fabrics 1.0", Section 1.5.2,
 41434  	//       NVM Subsystem
 41435  	SubsystemPortId int32 `xml:"subsystemPortId" json:"subsystemPortId"`
 41436  	// NVME Controller ID within the NVM subsystem.
 41437  	//
 41438  	// Corresponds to the CNTLID field in the Discovery Log
 41439  	// Page Entry as specified by the NVME over Fabrics spec.
 41440  	// In the static controller model, this field may be set
 41441  	// to a specific controller ID which can be used to connect
 41442  	// to that particular controller. It could also be set
 41443  	// to 0xFFFE (65534 in decimal), in which case the controller
 41444  	// ID will be allocated when a connection is established.
 41445  	// In the dynamic controller model, this field shall be set
 41446  	// to 0xFFFF (65535 in decimal).
 41447  	// Note that this is different from the controllerNumber
 41448  	// `HostNvmeController.controllerNumber`,
 41449  	// which is the unique identifier of the NVMe controller
 41450  	// within the entire host and is allocated only after a
 41451  	// connection is established.
 41452  	ControllerId int32 `xml:"controllerId" json:"controllerId"`
 41453  	// The maximum size of the Admin Submission Queue.
 41454  	//
 41455  	// Corresponds to the ASQSZ field in the Discovery Log
 41456  	// Page Entry as specified by the NVME over Fabrics spec.
 41457  	// This applies to all controllers within the NVM Subsystem.
 41458  	// When establishing a connection, the value of
 41459  	// `HostNvmeConnectSpec.adminQueueSize` may not exceed
 41460  	// this value.
 41461  	AdminQueueMaxSize int32 `xml:"adminQueueMaxSize" json:"adminQueueMaxSize"`
 41462  	// Transport specific parameters necessary to establish
 41463  	// a connection.
 41464  	//
 41465  	// Different types of fabrics transports and different
 41466  	// means to specify a connection target may be supported.
 41467  	// The transport specific parameters object is constructed
 41468  	// based on the data in the Transport Type (TRTYPE),
 41469  	// Address Family (ADRFAM), Transport Service Identifier
 41470  	// (TRSVCID), Transport Address (TRADDR) and Transport
 41471  	// Specific Address Subtype (TSAS) fields in the Discovery
 41472  	// Log Page Entry as specified by the NVME over Fabrics spec.
 41473  	// When connecting to the controller represented by this
 41474  	// Discovery Log Page Entry, the transport specific
 41475  	// parameters can be passed directly as
 41476  	// `HostNvmeSpec.transportParameters`.
 41477  	TransportParameters BaseHostNvmeTransportParameters `xml:"transportParameters,typeattr" json:"transportParameters"`
 41478  	// The requirements for NVME Transport.
 41479  	//
 41480  	// Corresponds to the TREQ field in the Discovery Log
 41481  	// Page Entry as specified by the NVME over Fabrics spec
 41482  	// The set of possible values is described in
 41483  	// `HostNvmeDiscoveryLogTransportRequirements_enum`
 41484  	TransportRequirements string `xml:"transportRequirements" json:"transportRequirements"`
 41485  	// Indicates whether the controller represented
 41486  	// by this Discovery Log Page Entry is already connected
 41487  	// to the adapter through which the discovery is initiated.
 41488  	Connected bool `xml:"connected" json:"connected"`
 41489  }
 41490  
 41491  func init() {
 41492  	t["HostNvmeDiscoveryLogEntry"] = reflect.TypeOf((*HostNvmeDiscoveryLogEntry)(nil)).Elem()
 41493  	minAPIVersionForType["HostNvmeDiscoveryLogEntry"] = "7.0"
 41494  }
 41495  
 41496  // This data object represents an NVM Express Namespace.
 41497  //
 41498  // In the NVME model, the underlying non-volatile storage medium
 41499  // is exposed via namespaces. For further information, see:
 41500  //   - "NVM Express over Fabrics 1.0", Section 1.5.2,
 41501  //     "NVM Subsystem".
 41502  //   - "NVM Express 1.3", section 6.1, "Namespaces".
 41503  type HostNvmeNamespace struct {
 41504  	DynamicData
 41505  
 41506  	// The linkable identifier.
 41507  	//
 41508  	// This is a unique identifier of the NVME namespace within
 41509  	// the host system.
 41510  	Key string `xml:"key" json:"key"`
 41511  	// The name of the namespace.
 41512  	//
 41513  	// The name identifies the underlying storage exposed
 41514  	// by the NvmeNamespace. In multipath scenarios, two
 41515  	// namespaces can have the same name if they expose the
 41516  	// same underlying storage through different NVME controllers.
 41517  	Name string `xml:"name" json:"name"`
 41518  	// The namespace ID is an identifier used by an NVME controller
 41519  	// to provide access to a namespace.
 41520  	//
 41521  	// The namespace ID is only unique among the namespaces
 41522  	// attached to the same controller. For details, see:
 41523  	//     - "NVM Express 1.3", section 6.1, "Namespaces".
 41524  	Id int32 `xml:"id" json:"id"`
 41525  	// Block size of the namespace in bytes.
 41526  	//
 41527  	// Namespaces are comprised of a number of logical blocks with
 41528  	// a fixed size - the smallest units of data that may be
 41529  	// read or written by the NVME controller.
 41530  	BlockSize int32 `xml:"blockSize" json:"blockSize"`
 41531  	// The maximum number of logical blocks that may be allocated
 41532  	// in the namespace at any point in time.
 41533  	//
 41534  	// Corresponds to the NCAP field in the Identify Namespace data
 41535  	// structure:
 41536  	//     - "NVM Express 1.3", Section 5.15, Figure 114,
 41537  	//       "Identify Namespace Data Structure"
 41538  	CapacityInBlocks int64 `xml:"capacityInBlocks" json:"capacityInBlocks"`
 41539  }
 41540  
 41541  func init() {
 41542  	t["HostNvmeNamespace"] = reflect.TypeOf((*HostNvmeNamespace)(nil)).Elem()
 41543  	minAPIVersionForType["HostNvmeNamespace"] = "7.0"
 41544  }
 41545  
 41546  // This data object represents the raw transport specific parameters
 41547  // returned in a Discovery Log Page Entry, when they cannot be
 41548  // interpreted as one of the known common types of parameters.
 41549  //
 41550  // For details, see:
 41551  //   - "NVM Express over Fabrics 1.0", Section 5.3,
 41552  //     Discovery Log Page
 41553  type HostNvmeOpaqueTransportParameters struct {
 41554  	HostNvmeTransportParameters
 41555  
 41556  	// The transport type.
 41557  	//
 41558  	// Corresponds to the TRTYPE field in the Discovery Log Page Entry
 41559  	// as specified by the NVME over Fabrics spec.
 41560  	// The set of possible values is desribed in `HostNvmeTransportType_enum`.
 41561  	Trtype string `xml:"trtype" json:"trtype"`
 41562  	// The transport address.
 41563  	//
 41564  	// Corresponds to the TRADDR field in the Discovery Log Page Entry
 41565  	// as specified by the NVME over Fabrics spec.
 41566  	Traddr string `xml:"traddr" json:"traddr"`
 41567  	// Indicates the address family of the address specified above.
 41568  	//
 41569  	// Corresponds to the ADRFAM field in the Discovery Log Page Entry
 41570  	// as specified by the NVME over Fabrics spec.
 41571  	// The set of supported values is described in
 41572  	// `HostNvmeTransportParametersNvmeAddressFamily_enum`.
 41573  	Adrfam string `xml:"adrfam" json:"adrfam"`
 41574  	// Transport service identifier.
 41575  	//
 41576  	// Corresponds to the TRSVCID field in the Discovery Log Page Entry
 41577  	// as specified by the NVME over Fabrics spec.
 41578  	// Its interpretation varies depending on the transport type.
 41579  	Trsvcid string `xml:"trsvcid" json:"trsvcid"`
 41580  	// Transport specific address subtype.
 41581  	//
 41582  	// Corresponds to the TSAS field in the Discovery Log Page Entry
 41583  	// as specified by the NVME over Fabrics spec.
 41584  	// Its interpretation varies depending on the transport type.
 41585  	Tsas []byte `xml:"tsas" json:"tsas"`
 41586  }
 41587  
 41588  func init() {
 41589  	t["HostNvmeOpaqueTransportParameters"] = reflect.TypeOf((*HostNvmeOpaqueTransportParameters)(nil)).Elem()
 41590  	minAPIVersionForType["HostNvmeOpaqueTransportParameters"] = "7.0"
 41591  }
 41592  
 41593  // This data object represents the transport specific parameters
 41594  // necessary to establish an NVME over Fibre Channel connection.
 41595  type HostNvmeOverFibreChannelParameters struct {
 41596  	HostNvmeTransportParameters
 41597  
 41598  	// The world wide node name for the connection target.
 41599  	NodeWorldWideName int64 `xml:"nodeWorldWideName" json:"nodeWorldWideName"`
 41600  	// The world wide port name for the connection target.
 41601  	PortWorldWideName int64 `xml:"portWorldWideName" json:"portWorldWideName"`
 41602  }
 41603  
 41604  func init() {
 41605  	t["HostNvmeOverFibreChannelParameters"] = reflect.TypeOf((*HostNvmeOverFibreChannelParameters)(nil)).Elem()
 41606  	minAPIVersionForType["HostNvmeOverFibreChannelParameters"] = "7.0"
 41607  }
 41608  
 41609  // This data object represents the transport specific parameters
 41610  // necessary to establish an NVME over RDMA connection.
 41611  type HostNvmeOverRdmaParameters struct {
 41612  	HostNvmeTransportParameters
 41613  
 41614  	// The address of the connection target.
 41615  	Address string `xml:"address" json:"address"`
 41616  	// Indicates the type of the address specified above.
 41617  	//
 41618  	// If unset, it is assumed to be an IPv4 address. The set of possible
 41619  	// values is described in
 41620  	// `HostNvmeTransportParametersNvmeAddressFamily_enum`.
 41621  	// Note that not all of the address families may be supported for
 41622  	// establishing a connection over RDMA.
 41623  	AddressFamily string `xml:"addressFamily,omitempty" json:"addressFamily,omitempty"`
 41624  	// The port number of the RDMA target port.
 41625  	//
 41626  	// When IPv4/IPv6 is used as address family above, the port number
 41627  	// needs to be specified. If this field is unset, a default
 41628  	// value of 4420 is assumed as per the IANA assignment:
 41629  	// https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml
 41630  	PortNumber int32 `xml:"portNumber,omitempty" json:"portNumber,omitempty"`
 41631  }
 41632  
 41633  func init() {
 41634  	t["HostNvmeOverRdmaParameters"] = reflect.TypeOf((*HostNvmeOverRdmaParameters)(nil)).Elem()
 41635  	minAPIVersionForType["HostNvmeOverRdmaParameters"] = "7.0"
 41636  }
 41637  
 41638  // This data object represents the transport specific parameters
 41639  // necessary to establish an NVME over TCP connection.
 41640  type HostNvmeOverTcpParameters struct {
 41641  	HostNvmeTransportParameters
 41642  
 41643  	// The address of the connection target.
 41644  	//
 41645  	// It is expected to be an IPv4 or IPv6 address.
 41646  	Address string `xml:"address" json:"address"`
 41647  	// The port number of the TCP target port.
 41648  	//
 41649  	// If this field is unset, the default value of 8009
 41650  	// is assumed as per the IANA assignment:
 41651  	// https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml
 41652  	PortNumber int32 `xml:"portNumber,omitempty" json:"portNumber,omitempty"`
 41653  	// Digest verification parameter.
 41654  	//
 41655  	// When used in a discovery or connect spec, this parameter specifies
 41656  	// the requested digest verification setting. The list of supported values is
 41657  	// described in `HostDigestVerificationSetting_enum`. If unset,
 41658  	// a default value of disabled is assumed.
 41659  	// For details, see:
 41660  	//     - NVM Express Technical Proposal 8000 - NVMe/TCP Transport,
 41661  	//       Section 7.4.10.2, "Initialize Connection Request PDU (ICReq)" - DGST field.
 41662  	//
 41663  	// When part of `HostNvmeDiscoveryLogEntry`, this value is unset.
 41664  	DigestVerification string `xml:"digestVerification,omitempty" json:"digestVerification,omitempty"`
 41665  }
 41666  
 41667  func init() {
 41668  	t["HostNvmeOverTcpParameters"] = reflect.TypeOf((*HostNvmeOverTcpParameters)(nil)).Elem()
 41669  	minAPIVersionForType["HostNvmeOverTcpParameters"] = "7.0.3.0"
 41670  }
 41671  
 41672  // Specifies the main parameters needed when connecting to
 41673  // an NVMe over Fabrics controller or Discovery Service.
 41674  type HostNvmeSpec struct {
 41675  	DynamicData
 41676  
 41677  	// The device name of the NVME over Fabrics host bus adapter.
 41678  	HbaName string `xml:"hbaName" json:"hbaName"`
 41679  	// Transport specific information necessary to connect to the controller.
 41680  	TransportParameters BaseHostNvmeTransportParameters `xml:"transportParameters,typeattr" json:"transportParameters"`
 41681  }
 41682  
 41683  func init() {
 41684  	t["HostNvmeSpec"] = reflect.TypeOf((*HostNvmeSpec)(nil)).Elem()
 41685  	minAPIVersionForType["HostNvmeSpec"] = "7.0"
 41686  }
 41687  
 41688  // This data object type describes the NVME topology information.
 41689  //
 41690  // The data objects in this data object type model the NVME storage objects
 41691  // from a topological point of view. The NVME topological view organizes
 41692  // objects by NVME interface, which contains connected controllers,
 41693  // which in turn contain attached namespaces.
 41694  //
 41695  // Only storage adapters which support the NVME protocol will be represented
 41696  // as NVME interfaces in this data object. In particular, an NVME interface
 41697  // will be created for each NVME over Fabrics adapter in the system.
 41698  //
 41699  // Note that it is possible for an adapter to be represented by both
 41700  // an NVME interface in the NVME topology and a SCSI interface in the SCSI
 41701  // topology. This can happen when an adapter supporting the NVME protocol is
 41702  // also presented as a SCSI adapter and SCSI to NVME translation is performed.
 41703  type HostNvmeTopology struct {
 41704  	DynamicData
 41705  
 41706  	// The list of NVME interfaces (could be empty).
 41707  	Adapter []HostNvmeTopologyInterface `xml:"adapter,omitempty" json:"adapter,omitempty"`
 41708  }
 41709  
 41710  func init() {
 41711  	t["HostNvmeTopology"] = reflect.TypeOf((*HostNvmeTopology)(nil)).Elem()
 41712  	minAPIVersionForType["HostNvmeTopology"] = "7.0"
 41713  }
 41714  
 41715  // This data object describes the NVME interface that is
 41716  // associated with a list of connected NVME controllers.
 41717  type HostNvmeTopologyInterface struct {
 41718  	DynamicData
 41719  
 41720  	// The identifier for the NVME interface.
 41721  	Key string `xml:"key" json:"key"`
 41722  	// The link to data for the NVME interface.
 41723  	Adapter string `xml:"adapter" json:"adapter"`
 41724  	// The list of connected NVME controllers.
 41725  	//
 41726  	// This list can be empty if am NVME interface is not connected
 41727  	// to any controllers. Each NvmeController object contains
 41728  	// a list of its attached NVME namespaces in
 41729  	// `HostNvmeController.attachedNamespace`.
 41730  	ConnectedController []HostNvmeController `xml:"connectedController,omitempty" json:"connectedController,omitempty"`
 41731  }
 41732  
 41733  func init() {
 41734  	t["HostNvmeTopologyInterface"] = reflect.TypeOf((*HostNvmeTopologyInterface)(nil)).Elem()
 41735  	minAPIVersionForType["HostNvmeTopologyInterface"] = "7.0"
 41736  }
 41737  
 41738  // This data object represents the transport specific parameters
 41739  // necessary to establish an NVM Express over Fabrics connection.
 41740  //
 41741  // For some further information, see:
 41742  //   - "NVM Express over Fabrics 1.0", Section 1.5.7, "Connection"
 41743  type HostNvmeTransportParameters struct {
 41744  	DynamicData
 41745  }
 41746  
 41747  func init() {
 41748  	t["HostNvmeTransportParameters"] = reflect.TypeOf((*HostNvmeTransportParameters)(nil)).Elem()
 41749  	minAPIVersionForType["HostNvmeTransportParameters"] = "7.0"
 41750  }
 41751  
 41752  // Information on opaque networks that are available on the host.
 41753  type HostOpaqueNetworkInfo struct {
 41754  	DynamicData
 41755  
 41756  	// The ID of the opaque network.
 41757  	OpaqueNetworkId string `xml:"opaqueNetworkId" json:"opaqueNetworkId"`
 41758  	// The name of the opaque network.
 41759  	OpaqueNetworkName string `xml:"opaqueNetworkName" json:"opaqueNetworkName"`
 41760  	// The type of the opaque network.
 41761  	OpaqueNetworkType string `xml:"opaqueNetworkType" json:"opaqueNetworkType"`
 41762  	// IDs of networking zones that back the opaque network.
 41763  	PnicZone []string `xml:"pnicZone,omitempty" json:"pnicZone,omitempty" vim:"6.0"`
 41764  	// The capability of the opaque network.
 41765  	//
 41766  	// Refer `OpaqueNetworkCapability`
 41767  	Capability *OpaqueNetworkCapability `xml:"capability,omitempty" json:"capability,omitempty" vim:"6.5"`
 41768  	// Extra NSX specific properties for opaque networks.
 41769  	ExtraConfig []BaseOptionValue `xml:"extraConfig,omitempty,typeattr" json:"extraConfig,omitempty" vim:"6.5"`
 41770  }
 41771  
 41772  func init() {
 41773  	t["HostOpaqueNetworkInfo"] = reflect.TypeOf((*HostOpaqueNetworkInfo)(nil)).Elem()
 41774  	minAPIVersionForType["HostOpaqueNetworkInfo"] = "5.5"
 41775  }
 41776  
 41777  // The OpaqueSwitch contains basic information about virtual switches that are
 41778  // managed by a management plane outside of vSphere.
 41779  type HostOpaqueSwitch struct {
 41780  	DynamicData
 41781  
 41782  	// The opaque switch ID.
 41783  	Key string `xml:"key" json:"key"`
 41784  	// The opaque switch name.
 41785  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 41786  	// The set of physical network adapters associated with this switch.
 41787  	Pnic []string `xml:"pnic,omitempty" json:"pnic,omitempty"`
 41788  	// The IDs of networking zones associated with this switch.
 41789  	PnicZone []HostOpaqueSwitchPhysicalNicZone `xml:"pnicZone,omitempty" json:"pnicZone,omitempty" vim:"6.0"`
 41790  	// Opaque switch status.
 41791  	//
 41792  	// See
 41793  	// `OpaqueSwitchState` for valid values.
 41794  	Status string `xml:"status,omitempty" json:"status,omitempty" vim:"6.0"`
 41795  	// List of VTEPs associated with this switch.
 41796  	Vtep []HostVirtualNic `xml:"vtep,omitempty" json:"vtep,omitempty" vim:"6.0"`
 41797  	// Extra NSX specific properties for opaque switch.
 41798  	ExtraConfig []BaseOptionValue `xml:"extraConfig,omitempty,typeattr" json:"extraConfig,omitempty" vim:"6.5"`
 41799  	// Array of host specific feature capabilities that the switch has.
 41800  	FeatureCapability []HostFeatureCapability `xml:"featureCapability,omitempty" json:"featureCapability,omitempty" vim:"6.7"`
 41801  }
 41802  
 41803  func init() {
 41804  	t["HostOpaqueSwitch"] = reflect.TypeOf((*HostOpaqueSwitch)(nil)).Elem()
 41805  	minAPIVersionForType["HostOpaqueSwitch"] = "5.5"
 41806  }
 41807  
 41808  type HostOpaqueSwitchPhysicalNicZone struct {
 41809  	DynamicData
 41810  
 41811  	// The zone ID
 41812  	Key string `xml:"key" json:"key"`
 41813  	// Whenever an OpaqueSwitch is associated with a PhysicalNicZone, then by default,
 41814  	// the zone will consist of all physical nics that are linked to the switch.
 41815  	//
 41816  	// However, if this property is set, then the zone will be considered to be
 41817  	// consisting of only those physical nics that are listed here.
 41818  	PnicDevice []string `xml:"pnicDevice,omitempty" json:"pnicDevice,omitempty"`
 41819  }
 41820  
 41821  func init() {
 41822  	t["HostOpaqueSwitchPhysicalNicZone"] = reflect.TypeOf((*HostOpaqueSwitchPhysicalNicZone)(nil)).Elem()
 41823  }
 41824  
 41825  // This event records when a host's capacity cannot satisfy resource
 41826  // configuration constraints.
 41827  type HostOvercommittedEvent struct {
 41828  	ClusterOvercommittedEvent
 41829  }
 41830  
 41831  func init() {
 41832  	t["HostOvercommittedEvent"] = reflect.TypeOf((*HostOvercommittedEvent)(nil)).Elem()
 41833  	minAPIVersionForType["HostOvercommittedEvent"] = "4.0"
 41834  }
 41835  
 41836  // The VMFS file system.
 41837  type HostPMemVolume struct {
 41838  	HostFileSystemVolume
 41839  
 41840  	// The universally unique identifier assigned to PMem volume.
 41841  	Uuid string `xml:"uuid" json:"uuid"`
 41842  	// Version of the PMem FS
 41843  	Version string `xml:"version" json:"version"`
 41844  }
 41845  
 41846  func init() {
 41847  	t["HostPMemVolume"] = reflect.TypeOf((*HostPMemVolume)(nil)).Elem()
 41848  	minAPIVersionForType["HostPMemVolume"] = "6.7"
 41849  }
 41850  
 41851  // The ParallelScsiHba data object type describes a
 41852  // parallel SCSI host bus adapter.
 41853  type HostParallelScsiHba struct {
 41854  	HostHostBusAdapter
 41855  }
 41856  
 41857  func init() {
 41858  	t["HostParallelScsiHba"] = reflect.TypeOf((*HostParallelScsiHba)(nil)).Elem()
 41859  }
 41860  
 41861  // Parallel SCSI transport information about a SCSI target.
 41862  type HostParallelScsiTargetTransport struct {
 41863  	HostTargetTransport
 41864  }
 41865  
 41866  func init() {
 41867  	t["HostParallelScsiTargetTransport"] = reflect.TypeOf((*HostParallelScsiTargetTransport)(nil)).Elem()
 41868  }
 41869  
 41870  type HostPatchManagerLocator struct {
 41871  	DynamicData
 41872  
 41873  	// The URL that will be used to access the patch repository.
 41874  	Url string `xml:"url" json:"url"`
 41875  	// The proxy setting required to access the URL from the host.
 41876  	//
 41877  	// If unset, a direct URL connection will be attempted.
 41878  	Proxy string `xml:"proxy,omitempty" json:"proxy,omitempty"`
 41879  }
 41880  
 41881  func init() {
 41882  	t["HostPatchManagerLocator"] = reflect.TypeOf((*HostPatchManagerLocator)(nil)).Elem()
 41883  }
 41884  
 41885  // Optional parameters for hostd to pass to exupdate.
 41886  type HostPatchManagerPatchManagerOperationSpec struct {
 41887  	DynamicData
 41888  
 41889  	// The name of the possible proxy for esxupdate to use to connect to a server.
 41890  	//
 41891  	// The patch and metadata may be cached within the proxy server.
 41892  	Proxy string `xml:"proxy,omitempty" json:"proxy,omitempty"`
 41893  	// The port of the possible proxy for esxupdate to use to connect to a server.
 41894  	//
 41895  	// The patch and metadata may be cached within the proxy server.
 41896  	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
 41897  	// The user name used for the proxy server.
 41898  	UserName string `xml:"userName,omitempty" json:"userName,omitempty"`
 41899  	// The password used for the proxy server.
 41900  	//
 41901  	// This is passed with ssl through a
 41902  	// trusted channel.
 41903  	Password string `xml:"password,omitempty" json:"password,omitempty"`
 41904  	// Possible command line options when calling esxupdate.
 41905  	CmdOption string `xml:"cmdOption,omitempty" json:"cmdOption,omitempty"`
 41906  }
 41907  
 41908  func init() {
 41909  	t["HostPatchManagerPatchManagerOperationSpec"] = reflect.TypeOf((*HostPatchManagerPatchManagerOperationSpec)(nil)).Elem()
 41910  	minAPIVersionForType["HostPatchManagerPatchManagerOperationSpec"] = "4.0"
 41911  }
 41912  
 41913  // The result of the operation.
 41914  //
 41915  // Some of the fields are only valid for
 41916  // specific operations.
 41917  type HostPatchManagerResult struct {
 41918  	DynamicData
 41919  
 41920  	// The version of the scan result schema.
 41921  	Version string `xml:"version" json:"version"`
 41922  	// The scan results for each patch.
 41923  	Status []HostPatchManagerStatus `xml:"status,omitempty" json:"status,omitempty"`
 41924  	// The scan results in XML format.
 41925  	XmlResult string `xml:"xmlResult,omitempty" json:"xmlResult,omitempty"`
 41926  }
 41927  
 41928  func init() {
 41929  	t["HostPatchManagerResult"] = reflect.TypeOf((*HostPatchManagerResult)(nil)).Elem()
 41930  	minAPIVersionForType["HostPatchManagerResult"] = "4.0"
 41931  }
 41932  
 41933  type HostPatchManagerStatus struct {
 41934  	DynamicData
 41935  
 41936  	// Unique identifier for this update.
 41937  	Id string `xml:"id" json:"id"`
 41938  	// Whether or not this update is applicable to this host.
 41939  	//
 41940  	// An update
 41941  	// may not be applicable to the ESX host for many reasons - for
 41942  	// example, it is obsolete, it conflicts with other installed
 41943  	// patches or libraries, and so on. The `HostPatchManagerStatus.reason` shows some of the reasons
 41944  	// why the update is not applicable.
 41945  	// An update could be inapplicable with no reason listed. This is
 41946  	// because the prerequisite install state is not correct. For example,
 41947  	// update A is one of the prerequisites of update B. B not only
 41948  	// requires A to be installed, but also requires the host is
 41949  	// rebooted after A is installed. When A is installed and the host
 41950  	// has not been restarted after the installation, B will not be
 41951  	// applicable. In such a case, the scan on both updates A and B
 41952  	// would yield a whole picture of the update applicable status.
 41953  	Applicable bool `xml:"applicable" json:"applicable"`
 41954  	// Possible reasons why an update is not applicable to the ESX host.
 41955  	//
 41956  	// See also `HostPatchManagerReason_enum`.
 41957  	Reason []string `xml:"reason,omitempty" json:"reason,omitempty"`
 41958  	// The integrity status of the update's metadata.
 41959  	//
 41960  	// The value would
 41961  	// be unset if the integrity status is unknown to the server.
 41962  	//
 41963  	// See also `HostPatchManagerIntegrityStatus_enum`.
 41964  	Integrity string `xml:"integrity,omitempty" json:"integrity,omitempty"`
 41965  	// Whether the update is installed on the server.
 41966  	Installed bool `xml:"installed" json:"installed"`
 41967  	// The installation state of the update.
 41968  	//
 41969  	// Unset if the update is not
 41970  	// installed on the server.
 41971  	//
 41972  	// See also `HostPatchManagerInstallState_enum`.
 41973  	InstallState []string `xml:"installState,omitempty" json:"installState,omitempty"`
 41974  	// Prerequisite update.
 41975  	PrerequisitePatch []HostPatchManagerStatusPrerequisitePatch `xml:"prerequisitePatch,omitempty" json:"prerequisitePatch,omitempty"`
 41976  	// Whether or not this update requires a host restart to take effect.
 41977  	RestartRequired bool `xml:"restartRequired" json:"restartRequired"`
 41978  	// Whether or not this update requires caller to reconnect to the
 41979  	// host.
 41980  	//
 41981  	// This is usually because the update is on the agent that
 41982  	// running on the host, the agent would thus be restarted when the
 41983  	// update is applied. Caller can reconnect (and possibly relogin) to
 41984  	// the host after the agent has been restarted.
 41985  	ReconnectRequired bool `xml:"reconnectRequired" json:"reconnectRequired"`
 41986  	// Whether or not this update requires the host in maintenance mode.
 41987  	VmOffRequired bool `xml:"vmOffRequired" json:"vmOffRequired"`
 41988  	// Patches that are superseded by this update.
 41989  	SupersededPatchIds []string `xml:"supersededPatchIds,omitempty" json:"supersededPatchIds,omitempty"`
 41990  }
 41991  
 41992  func init() {
 41993  	t["HostPatchManagerStatus"] = reflect.TypeOf((*HostPatchManagerStatus)(nil)).Elem()
 41994  }
 41995  
 41996  // Updates that are required to be installed before this update can
 41997  // be installed on the server.
 41998  //
 41999  // In addition to being installed on the server, an update can have
 42000  // additional requirement on the server or services running on the
 42001  // server pertaining to the prerequisite update.
 42002  type HostPatchManagerStatusPrerequisitePatch struct {
 42003  	DynamicData
 42004  
 42005  	// Unique identifier of the prerequisite update.
 42006  	Id string `xml:"id" json:"id"`
 42007  	// The requirement on the server or services running on the
 42008  	// server pertaining to the prerequisite update.
 42009  	//
 42010  	// For example,
 42011  	// this update could require the server to be rebooted after the
 42012  	// prerequisite update is installed. Unset if there is no
 42013  	// additional requirement on the prerequisite update.
 42014  	//
 42015  	// See also `HostPatchManagerInstallState_enum`.
 42016  	InstallState []string `xml:"installState,omitempty" json:"installState,omitempty"`
 42017  }
 42018  
 42019  func init() {
 42020  	t["HostPatchManagerStatusPrerequisitePatch"] = reflect.TypeOf((*HostPatchManagerStatusPrerequisitePatch)(nil)).Elem()
 42021  }
 42022  
 42023  // Description of options associated with a native multipathing
 42024  // path selection policy plugin.
 42025  type HostPathSelectionPolicyOption struct {
 42026  	DynamicData
 42027  
 42028  	// Description of the paths selection policy.
 42029  	//
 42030  	// Use the key as the
 42031  	// identifier.
 42032  	Policy BaseElementDescription `xml:"policy,typeattr" json:"policy"`
 42033  }
 42034  
 42035  func init() {
 42036  	t["HostPathSelectionPolicyOption"] = reflect.TypeOf((*HostPathSelectionPolicyOption)(nil)).Elem()
 42037  	minAPIVersionForType["HostPathSelectionPolicyOption"] = "4.0"
 42038  }
 42039  
 42040  // This data object type describes information about
 42041  // a single Peripheral Component Interconnect (PCI) device.
 42042  type HostPciDevice struct {
 42043  	DynamicData
 42044  
 42045  	// The name ID of this PCI, composed of "bus:slot.function".
 42046  	Id string `xml:"id" json:"id"`
 42047  	// The class of this PCI.
 42048  	ClassId int16 `xml:"classId" json:"classId"`
 42049  	// The bus ID of this PCI.
 42050  	Bus byte `xml:"bus" json:"bus"`
 42051  	// The slot ID of this PCI.
 42052  	Slot byte `xml:"slot" json:"slot"`
 42053  	// The function ID of this PCI.
 42054  	Function byte `xml:"function" json:"function"`
 42055  	// The vendor ID of this PCI.
 42056  	//
 42057  	// The vendor ID might be a negative value. A vSphere Server uses an unsigned
 42058  	// short integer to represent a PCI vendor ID. The WSDL representation of the ID
 42059  	// is a signed short integer. If the vendor ID is greater than 32767, the Server
 42060  	// will convert the ID to its two's complement for the WSDL representation.
 42061  	// When you specify a PCI device vendor ID for a virtual machine
 42062  	// (`VirtualPCIPassthroughDeviceBackingInfo`.vendorId),
 42063  	// you must use the retrieved `HostPciDevice`.deviceId value.
 42064  	VendorId int16 `xml:"vendorId" json:"vendorId"`
 42065  	// The subvendor ID of this PCI.
 42066  	//
 42067  	// The subvendor ID might be a negative value. A vSphere Server uses an unsigned
 42068  	// short integer to represent a PCI subvendor ID. The WSDL representation of the ID
 42069  	// is a signed short integer. If the subvendor ID is greater than 32767, the Server
 42070  	// will convert the ID to its two's complement for the WSDL representation.
 42071  	SubVendorId int16 `xml:"subVendorId" json:"subVendorId"`
 42072  	// The vendor name of this PCI.
 42073  	VendorName string `xml:"vendorName" json:"vendorName"`
 42074  	// The device ID of this PCI.
 42075  	//
 42076  	// The device ID might be a negative value. A vSphere Server uses an unsigned
 42077  	// short integer to represent a PCI device ID. The WSDL representation of the ID
 42078  	// is a signed short integer. If the PCI ID is greater than 32767, the Server
 42079  	// will convert the ID to its two's complement for the WSDL representation.
 42080  	// When you specify a PCI device ID for a virtual machine
 42081  	// (`VirtualPCIPassthroughDeviceBackingInfo`.deviceId),
 42082  	// you must use the `HostPciDevice`.deviceId value as retrieved
 42083  	// and convert it to a string.
 42084  	DeviceId int16 `xml:"deviceId" json:"deviceId"`
 42085  	// The subdevice ID of this PCI.
 42086  	//
 42087  	// The subdevice ID might be a negative value. A vSphere Server uses an unsigned
 42088  	// short integer to represent a PCI subdevice ID. The WSDL representation of the ID
 42089  	// is a signed short integer. If the subdevice ID is greater than 32767, the Server
 42090  	// will convert the ID to its two's complement for the WSDL representation.
 42091  	SubDeviceId int16 `xml:"subDeviceId" json:"subDeviceId"`
 42092  	// The parent bridge of this PCI.
 42093  	ParentBridge string `xml:"parentBridge,omitempty" json:"parentBridge,omitempty" vim:"4.0"`
 42094  	// The device name of this PCI.
 42095  	DeviceName string `xml:"deviceName" json:"deviceName"`
 42096  }
 42097  
 42098  func init() {
 42099  	t["HostPciDevice"] = reflect.TypeOf((*HostPciDevice)(nil)).Elem()
 42100  }
 42101  
 42102  // This data object provides information about the state of PciPassthru
 42103  // for all pci devices.
 42104  type HostPciPassthruConfig struct {
 42105  	DynamicData
 42106  
 42107  	// The name ID of this PCI, composed of "bus:slot.function".
 42108  	Id string `xml:"id" json:"id"`
 42109  	// Whether passThru has been configured for this device
 42110  	PassthruEnabled bool `xml:"passthruEnabled" json:"passthruEnabled"`
 42111  	// Whether the passThru config should take effect without rebooting ESX.
 42112  	//
 42113  	// When unset, the behavior will be determined automatically
 42114  	// based on `HostCapability.deviceRebindWithoutRebootSupported`.
 42115  	// If the configuration can be applied immediately, it
 42116  	// will be, otherwise the changes will take effect after reboot.
 42117  	ApplyNow *bool `xml:"applyNow" json:"applyNow,omitempty" vim:"7.0"`
 42118  	// The hardware label of the this PCI device.
 42119  	HardwareLabel string `xml:"hardwareLabel,omitempty" json:"hardwareLabel,omitempty" vim:"7.0.2.0"`
 42120  }
 42121  
 42122  func init() {
 42123  	t["HostPciPassthruConfig"] = reflect.TypeOf((*HostPciPassthruConfig)(nil)).Elem()
 42124  	minAPIVersionForType["HostPciPassthruConfig"] = "4.0"
 42125  }
 42126  
 42127  // This data object provides information about the state of PciPassthru
 42128  // for all pci devices.
 42129  type HostPciPassthruInfo struct {
 42130  	DynamicData
 42131  
 42132  	// The name ID of this PCI, composed of "bus:slot.function".
 42133  	Id string `xml:"id" json:"id"`
 42134  	// Device which needs to be unclaimed by vmkernel (may be bridge)
 42135  	DependentDevice string `xml:"dependentDevice" json:"dependentDevice"`
 42136  	// Whether passThru has been configured by the user
 42137  	PassthruEnabled bool `xml:"passthruEnabled" json:"passthruEnabled"`
 42138  	// Whether passThru is even possible for this device (decided by vmkctl)
 42139  	PassthruCapable bool `xml:"passthruCapable" json:"passthruCapable"`
 42140  	// Whether passThru is active for this device (meaning enabled + rebooted)
 42141  	PassthruActive bool `xml:"passthruActive" json:"passthruActive"`
 42142  	// The hardware label of this PCI device.
 42143  	HardwareLabel string `xml:"hardwareLabel,omitempty" json:"hardwareLabel,omitempty" vim:"7.0.2.0"`
 42144  }
 42145  
 42146  func init() {
 42147  	t["HostPciPassthruInfo"] = reflect.TypeOf((*HostPciPassthruInfo)(nil)).Elem()
 42148  	minAPIVersionForType["HostPciPassthruInfo"] = "4.0"
 42149  }
 42150  
 42151  // This data object describes the Peripheral Component Interconnect Express
 42152  // (PCIe) host bus adapter interface.
 42153  type HostPcieHba struct {
 42154  	HostHostBusAdapter
 42155  }
 42156  
 42157  func init() {
 42158  	t["HostPcieHba"] = reflect.TypeOf((*HostPcieHba)(nil)).Elem()
 42159  	minAPIVersionForType["HostPcieHba"] = "7.0"
 42160  }
 42161  
 42162  // Peripheral Component Interconnect Express (PCIe)
 42163  // transport information about a target.
 42164  type HostPcieTargetTransport struct {
 42165  	HostTargetTransport
 42166  }
 42167  
 42168  func init() {
 42169  	t["HostPcieTargetTransport"] = reflect.TypeOf((*HostPcieTargetTransport)(nil)).Elem()
 42170  	minAPIVersionForType["HostPcieTargetTransport"] = "7.0"
 42171  }
 42172  
 42173  // Host Hardware information about configured and available
 42174  // persistent memory on a host.
 42175  type HostPersistentMemoryInfo struct {
 42176  	DynamicData
 42177  
 42178  	// Amount of configured persistent memory available on a host in MB.
 42179  	CapacityInMB int64 `xml:"capacityInMB,omitempty" json:"capacityInMB,omitempty"`
 42180  	// Unique persistent memory host indentifier.
 42181  	VolumeUUID string `xml:"volumeUUID,omitempty" json:"volumeUUID,omitempty"`
 42182  }
 42183  
 42184  func init() {
 42185  	t["HostPersistentMemoryInfo"] = reflect.TypeOf((*HostPersistentMemoryInfo)(nil)).Elem()
 42186  	minAPIVersionForType["HostPersistentMemoryInfo"] = "6.7"
 42187  }
 42188  
 42189  // This data type describes the Virtual Machine and
 42190  // Virtual NIC to identify virtual adapters placed
 42191  // on a physical NIC
 42192  type HostPlacedVirtualNicIdentifier struct {
 42193  	DynamicData
 42194  
 42195  	// The Virtual Machine
 42196  	//
 42197  	// Refers instance of `VirtualMachine`.
 42198  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 42199  	// The virtual NIC key
 42200  	VnicKey string `xml:"vnicKey" json:"vnicKey"`
 42201  	// The virtual NIC reservation
 42202  	Reservation *int32 `xml:"reservation" json:"reservation,omitempty"`
 42203  }
 42204  
 42205  func init() {
 42206  	t["HostPlacedVirtualNicIdentifier"] = reflect.TypeOf((*HostPlacedVirtualNicIdentifier)(nil)).Elem()
 42207  	minAPIVersionForType["HostPlacedVirtualNicIdentifier"] = "6.0"
 42208  }
 42209  
 42210  // This data object represents the plug-store topology on a host
 42211  // system.
 42212  //
 42213  // Through this data object, the storage structure of a system
 42214  // that utilizes the plug-store architecture can be presented.
 42215  //
 42216  // The object entity-relationship diagram is modeled below:
 42217  //
 42218  //	------------------------------------------------------------
 42219  //	|             0..N             0..N      0..N              |
 42220  //	|   Plugin ----->  Device  ------>  Path  <------  Adapter |
 42221  //	|                          <------   |    ------>          |
 42222  //	|                          0,1       |          1          |
 42223  //	|                                    |                     |
 42224  //	|                                    | 0,1                 |
 42225  //	|                                   \|/                    |
 42226  //	|                                  Target                  |
 42227  //	------------------------------------------------------------
 42228  //
 42229  // Description and reasoning behind the relationships:
 42230  //
 42231  // When a storage device driver is loaded, it claims a PCI device as a
 42232  // host bus adapter. This host bus adapter is represented as an Adapter.
 42233  // The PCI device identifier is a property on the HostBusAdapter in the
 42234  // Adapter.
 42235  //
 42236  // Once the host bus adapter is on the system, the hardware bus is scanned.
 42237  // If a storage Device is found on the bus, the communication path to the
 42238  // Device from the the host bus adapter is represented by a Path. A Device
 42239  // may have more than one Path. How those Paths are composed to create a
 42240  // Device is determined by a storage Plugin.
 42241  //
 42242  // When a storage Plugin is loaded, it claims a set of Paths. It groups these
 42243  // Paths into a set of Devices. Devices are hence associated with a set of
 42244  // Paths that might be used to provide a single logical device such as in the
 42245  // case of multipathing. Devices may be also composed of zero Paths meaning
 42246  // that they do not directly use a host bus adapter for communication with
 42247  // underlying storage.
 42248  //
 42249  // The purpose of this data object is to represent the topology of storage
 42250  // as seen by the base plug-store system. There is some overlap
 42251  // with information in other objects such as ScsiTopology which is only
 42252  // applicable when a particular "native multipathing" plugin is used. This
 42253  // data object provides the complete inventory of Devices and Paths. Hence
 42254  // it provides a superset of Device mappings over data object such as
 42255  // ScsiTopology and Multipa
 42256  //
 42257  // The use cases that this data object accommodates includes the following
 42258  // non-exhaustive list:
 42259  //   - Enumerate paths on a host bus adapter.
 42260  //   - Enumerate paths on a storage device.
 42261  //   - Conveniently access the devices a host bus adapter is
 42262  //     associated with by traversing the path.
 42263  //   - Determine which plugin a device belongs.
 42264  //   - Determine which paths are claimed by a plugin by
 42265  //     accumulating the paths of all device of the plugin.
 42266  //   - Determine which plugin a path belongs to by accessing its
 42267  //     device and finding that device in the Plugin list.
 42268  type HostPlugStoreTopology struct {
 42269  	DynamicData
 42270  
 42271  	// List of host bus adapters in the plug store inventory.
 42272  	Adapter []HostPlugStoreTopologyAdapter `xml:"adapter,omitempty" json:"adapter,omitempty"`
 42273  	// List of paths in the plug store inventory.
 42274  	Path []HostPlugStoreTopologyPath `xml:"path,omitempty" json:"path,omitempty"`
 42275  	// Partial list of targets as seen by the host.
 42276  	//
 42277  	// The list of targets
 42278  	// may not be exhaustive on the host.
 42279  	Target []HostPlugStoreTopologyTarget `xml:"target,omitempty" json:"target,omitempty"`
 42280  	// List of devices in the plug store inventory.
 42281  	Device []HostPlugStoreTopologyDevice `xml:"device,omitempty" json:"device,omitempty"`
 42282  	// List of plugins in the plug store inventory.
 42283  	Plugin []HostPlugStoreTopologyPlugin `xml:"plugin,omitempty" json:"plugin,omitempty"`
 42284  }
 42285  
 42286  func init() {
 42287  	t["HostPlugStoreTopology"] = reflect.TypeOf((*HostPlugStoreTopology)(nil)).Elem()
 42288  	minAPIVersionForType["HostPlugStoreTopology"] = "4.0"
 42289  }
 42290  
 42291  // This data object type is an association class that describes a host bus
 42292  // adapter and its associated storage Paths.
 42293  //
 42294  // The set of Paths on all the
 42295  // host bus adapters is the complete set of Paths in the system.
 42296  type HostPlugStoreTopologyAdapter struct {
 42297  	DynamicData
 42298  
 42299  	// The identifier for the host bus adapter.
 42300  	Key string `xml:"key" json:"key"`
 42301  	// The link to the host bus adapter for this inebtrface.
 42302  	Adapter string `xml:"adapter" json:"adapter"`
 42303  	// The list of paths to which the host bus adapter is associated.
 42304  	Path []string `xml:"path,omitempty" json:"path,omitempty"`
 42305  }
 42306  
 42307  func init() {
 42308  	t["HostPlugStoreTopologyAdapter"] = reflect.TypeOf((*HostPlugStoreTopologyAdapter)(nil)).Elem()
 42309  	minAPIVersionForType["HostPlugStoreTopologyAdapter"] = "4.0"
 42310  }
 42311  
 42312  // This data object type is an association class that describes a ScsiLun
 42313  // and its associated Path objects.
 42314  //
 42315  // The ScsiLun is a Device that is formed
 42316  // from a set of Paths.
 42317  type HostPlugStoreTopologyDevice struct {
 42318  	DynamicData
 42319  
 42320  	// Linkable identifier.
 42321  	Key string `xml:"key" json:"key"`
 42322  	// The SCSI device corresponding to logical unit.
 42323  	Lun string `xml:"lun" json:"lun"`
 42324  	// The array of paths available to access this LogicalUnit.
 42325  	Path []string `xml:"path,omitempty" json:"path,omitempty"`
 42326  }
 42327  
 42328  func init() {
 42329  	t["HostPlugStoreTopologyDevice"] = reflect.TypeOf((*HostPlugStoreTopologyDevice)(nil)).Elem()
 42330  	minAPIVersionForType["HostPlugStoreTopologyDevice"] = "4.0"
 42331  }
 42332  
 42333  // This data object type is an association class that describes a Path and
 42334  // its associated Device.
 42335  //
 42336  // A Path may be claimed by at most one Device.
 42337  type HostPlugStoreTopologyPath struct {
 42338  	DynamicData
 42339  
 42340  	// The identifier for the Path.
 42341  	Key string `xml:"key" json:"key"`
 42342  	// Name of path.
 42343  	//
 42344  	// Use this property to correlate this path object to other
 42345  	// path objects.
 42346  	//
 42347  	// The state of the Path can be retrieved from the data object (@link
 42348  	// vim.host.MultipathStateInfo.Path} on the `HostMultipathStateInfo` data object.
 42349  	//
 42350  	// Use this name to configure LogicalUnit multipathing policy using `HostStorageSystem.EnableMultipathPath` and `HostStorageSystem.DisableMultipathPath`.
 42351  	Name string `xml:"name" json:"name"`
 42352  	// The channel number for a path if applicable.
 42353  	ChannelNumber int32 `xml:"channelNumber,omitempty" json:"channelNumber,omitempty"`
 42354  	// The target number for a path if applicable.
 42355  	//
 42356  	// The target number is not
 42357  	// guaranteed to be consistent across reboots or rescans of the adapter.
 42358  	TargetNumber int32 `xml:"targetNumber,omitempty" json:"targetNumber,omitempty"`
 42359  	// The LUN number for a path if applicable.
 42360  	LunNumber int32 `xml:"lunNumber,omitempty" json:"lunNumber,omitempty"`
 42361  	// The adapter that provided the Path.
 42362  	Adapter string `xml:"adapter,omitempty" json:"adapter,omitempty"`
 42363  	// The target of the Path if any.
 42364  	Target string `xml:"target,omitempty" json:"target,omitempty"`
 42365  	// The device that claimed the Path if any.
 42366  	Device string `xml:"device,omitempty" json:"device,omitempty"`
 42367  }
 42368  
 42369  func init() {
 42370  	t["HostPlugStoreTopologyPath"] = reflect.TypeOf((*HostPlugStoreTopologyPath)(nil)).Elem()
 42371  	minAPIVersionForType["HostPlugStoreTopologyPath"] = "4.0"
 42372  }
 42373  
 42374  // This data object type represents a Plugin in the plug store architecture.
 42375  //
 42376  // A Plugin claims a set of paths and groups them into Devices.
 42377  type HostPlugStoreTopologyPlugin struct {
 42378  	DynamicData
 42379  
 42380  	// The identifier of the plugin.
 42381  	Key string `xml:"key" json:"key"`
 42382  	// The name of the plugin.
 42383  	Name string `xml:"name" json:"name"`
 42384  	// The set of devices formed by this plugin.
 42385  	Device []string `xml:"device,omitempty" json:"device,omitempty"`
 42386  	// The set of paths claimed by this plugin.
 42387  	//
 42388  	// Not every claimed path
 42389  	// will necessarily appear as part of a Device. Claimed paths will
 42390  	// only appear under Devices if the device identifier of the path
 42391  	// matches up with the device identifier exposed by the Device.
 42392  	ClaimedPath []string `xml:"claimedPath,omitempty" json:"claimedPath,omitempty"`
 42393  }
 42394  
 42395  func init() {
 42396  	t["HostPlugStoreTopologyPlugin"] = reflect.TypeOf((*HostPlugStoreTopologyPlugin)(nil)).Elem()
 42397  	minAPIVersionForType["HostPlugStoreTopologyPlugin"] = "4.0"
 42398  }
 42399  
 42400  // This data object represents target information.
 42401  type HostPlugStoreTopologyTarget struct {
 42402  	DynamicData
 42403  
 42404  	// The identifier of the target.
 42405  	//
 42406  	// This will be a string representing the
 42407  	// transport information of the target.
 42408  	Key string `xml:"key" json:"key"`
 42409  	// Detailed, transport-specific information about the target of a path.
 42410  	Transport BaseHostTargetTransport `xml:"transport,omitempty,typeattr" json:"transport,omitempty"`
 42411  }
 42412  
 42413  func init() {
 42414  	t["HostPlugStoreTopologyTarget"] = reflect.TypeOf((*HostPlugStoreTopologyTarget)(nil)).Elem()
 42415  	minAPIVersionForType["HostPlugStoreTopologyTarget"] = "4.0"
 42416  }
 42417  
 42418  // This data type describes the avaialable capacity
 42419  // for VM traffic on a physical NIC
 42420  type HostPnicNetworkResourceInfo struct {
 42421  	DynamicData
 42422  
 42423  	// The physical NIC device
 42424  	PnicDevice string `xml:"pnicDevice" json:"pnicDevice"`
 42425  	// The total bandwidth available for VM traffic
 42426  	AvailableBandwidthForVMTraffic int64 `xml:"availableBandwidthForVMTraffic,omitempty" json:"availableBandwidthForVMTraffic,omitempty"`
 42427  	// The unused bandwidth for VM traffic
 42428  	UnusedBandwidthForVMTraffic int64 `xml:"unusedBandwidthForVMTraffic,omitempty" json:"unusedBandwidthForVMTraffic,omitempty"`
 42429  	// The connected virtual NICs of powered on Virtual Machines
 42430  	// that are placed on this physical NIC
 42431  	PlacedVirtualNics []HostPlacedVirtualNicIdentifier `xml:"placedVirtualNics,omitempty" json:"placedVirtualNics,omitempty"`
 42432  }
 42433  
 42434  func init() {
 42435  	t["HostPnicNetworkResourceInfo"] = reflect.TypeOf((*HostPnicNetworkResourceInfo)(nil)).Elem()
 42436  	minAPIVersionForType["HostPnicNetworkResourceInfo"] = "6.0"
 42437  }
 42438  
 42439  // This data object type is used to describe port groups.
 42440  //
 42441  // Port groups are used to group virtual network adapters on a virtual switch,
 42442  // associating them with networks and network policies.
 42443  type HostPortGroup struct {
 42444  	DynamicData
 42445  
 42446  	// The linkable identifier.
 42447  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 42448  	// The ports that currently exist and are used on this port group.
 42449  	Port []HostPortGroupPort `xml:"port,omitempty" json:"port,omitempty"`
 42450  	// The virtual switch that contains this port group.
 42451  	Vswitch string `xml:"vswitch,omitempty" json:"vswitch,omitempty"`
 42452  	// Computed network policies that are applicable for a port group.
 42453  	//
 42454  	// The
 42455  	// inheritance scheme for PortGroup requires knowledge about the
 42456  	// NetworkPolicy for a port group and its parent virtual switch as well as
 42457  	// the logic for computing the results. This information is provided as
 42458  	// a convenience so that callers need not duplicate the inheritance logic
 42459  	// to determine the proper values for a network policy.
 42460  	//
 42461  	// See the description of the
 42462  	// `NetworkPolicy` data object type
 42463  	// for more information.
 42464  	ComputedPolicy HostNetworkPolicy `xml:"computedPolicy" json:"computedPolicy"`
 42465  	// The specification of a port group.
 42466  	Spec HostPortGroupSpec `xml:"spec" json:"spec"`
 42467  }
 42468  
 42469  func init() {
 42470  	t["HostPortGroup"] = reflect.TypeOf((*HostPortGroup)(nil)).Elem()
 42471  }
 42472  
 42473  // This describes the port group configuration containing both
 42474  // the configurable properties on a port group and the associated
 42475  // virtual switch.
 42476  type HostPortGroupConfig struct {
 42477  	DynamicData
 42478  
 42479  	// Indicates the change operation to apply on this configuration
 42480  	// specification.
 42481  	//
 42482  	// See also `HostConfigChangeOperation_enum`.
 42483  	ChangeOperation string `xml:"changeOperation,omitempty" json:"changeOperation,omitempty"`
 42484  	// The specification of the port group.
 42485  	Spec *HostPortGroupSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 42486  }
 42487  
 42488  func init() {
 42489  	t["HostPortGroupConfig"] = reflect.TypeOf((*HostPortGroupConfig)(nil)).Elem()
 42490  }
 42491  
 42492  // A Port data object type is a runtime representation of network
 42493  // connectivity between a network service or virtual machine and a
 42494  // virtual switch.
 42495  //
 42496  // This is different from a port group in that
 42497  // the port group represents the configuration aspects of the
 42498  // network connection. The Port object provides runtime statistics.
 42499  type HostPortGroupPort struct {
 42500  	DynamicData
 42501  
 42502  	// The linkable identifier.
 42503  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 42504  	// The Media Access Control (MAC) address of network service of
 42505  	// the virtual machine connected on this port.
 42506  	Mac []string `xml:"mac,omitempty" json:"mac,omitempty"`
 42507  	// The type of component connected on this port.
 42508  	//
 42509  	// Must be one of the
 42510  	// values of `PortGroupConnecteeType_enum`.
 42511  	Type string `xml:"type" json:"type"`
 42512  }
 42513  
 42514  func init() {
 42515  	t["HostPortGroupPort"] = reflect.TypeOf((*HostPortGroupPort)(nil)).Elem()
 42516  }
 42517  
 42518  // The `HostPortGroupProfile` data object represents the subprofile
 42519  // for a port group that will be used by the ESX host.
 42520  //
 42521  // If a profile plug-in defines policies or subprofiles, use the
 42522  // `ApplyProfile.policy` or `ApplyProfile.property`
 42523  // list to access the additional configuration data.
 42524  type HostPortGroupProfile struct {
 42525  	PortGroupProfile
 42526  
 42527  	// IP address configuration for the Host network.
 42528  	IpConfig IpAddressProfile `xml:"ipConfig" json:"ipConfig"`
 42529  }
 42530  
 42531  func init() {
 42532  	t["HostPortGroupProfile"] = reflect.TypeOf((*HostPortGroupProfile)(nil)).Elem()
 42533  	minAPIVersionForType["HostPortGroupProfile"] = "4.0"
 42534  }
 42535  
 42536  // This data object type describes the PortGroup specification
 42537  // representing the properties on a PortGroup that
 42538  // can be configured.
 42539  type HostPortGroupSpec struct {
 42540  	DynamicData
 42541  
 42542  	// The name of the port group.
 42543  	Name string `xml:"name" json:"name"`
 42544  	// The VLAN ID for ports using this port group.
 42545  	//
 42546  	// Possible values:
 42547  	//     - A value of 0 specifies that you do not want the port group associated
 42548  	//       with a VLAN.
 42549  	//     - A value from 1 to 4094 specifies a VLAN ID for the port group.
 42550  	//     - A value of 4095 specifies that the port group should use trunk mode,
 42551  	//       which allows the guest operating system to manage its own VLAN tags.
 42552  	VlanId int32 `xml:"vlanId" json:"vlanId"`
 42553  	// The identifier of the virtual switch on which
 42554  	// this port group is located.
 42555  	VswitchName string `xml:"vswitchName" json:"vswitchName"`
 42556  	// Policies on the port group take precedence over the ones specified
 42557  	// on the virtual switch.
 42558  	Policy HostNetworkPolicy `xml:"policy" json:"policy"`
 42559  }
 42560  
 42561  func init() {
 42562  	t["HostPortGroupSpec"] = reflect.TypeOf((*HostPortGroupSpec)(nil)).Elem()
 42563  }
 42564  
 42565  // This data object type contains a POSIX-specific parameter
 42566  // for local account creation.
 42567  type HostPosixAccountSpec struct {
 42568  	HostAccountSpec
 42569  
 42570  	// Deprecated as of vSphere API 5.1, this property is deprecated and
 42571  	// is ignored.
 42572  	//
 42573  	// The user ID or group ID of a specified account.
 42574  	PosixId int32 `xml:"posixId,omitempty" json:"posixId,omitempty"`
 42575  	// Grants shell access.
 42576  	//
 42577  	// As of vSphere API 5.1, this property is deprecated and
 42578  	// is ignored. `HostLocalAccountManager.CreateUser` will always set this to true, and
 42579  	// `HostLocalAccountManager.UpdateUser` will set it to true if it is already false.
 42580  	// Also shell access is granted only to users with
 42581  	// Administrator role on the root folder and no other non-Admin role on
 42582  	// any other inventory object.
 42583  	//
 42584  	// As of vSphere API 7.0.3.2, this property is no longer ignored and it must
 42585  	// be true if a user with administrator permissions needs shell access.
 42586  	// It can be set to true for other users only by administrators
 42587  	// who themselves have this shell access.
 42588  	// Administrators without shell access cannot change the passwords of
 42589  	// users with shell access.
 42590  	// Setting this property to false for user 'root' has no effect.
 42591  	//
 42592  	// If this property is not specified when creating a new user account
 42593  	// then the default value depends on the following factors:
 42594  	// if the calling user does not have shell access then it defaults to
 42595  	// false; if the calling user has shell access then it defaults to true,
 42596  	// unless overridden by host configuration settings.
 42597  	ShellAccess *bool `xml:"shellAccess" json:"shellAccess,omitempty"`
 42598  }
 42599  
 42600  func init() {
 42601  	t["HostPosixAccountSpec"] = reflect.TypeOf((*HostPosixAccountSpec)(nil)).Elem()
 42602  }
 42603  
 42604  // This fault is thrown when a host power operation fails.
 42605  type HostPowerOpFailed struct {
 42606  	VimFault
 42607  }
 42608  
 42609  func init() {
 42610  	t["HostPowerOpFailed"] = reflect.TypeOf((*HostPowerOpFailed)(nil)).Elem()
 42611  	minAPIVersionForType["HostPowerOpFailed"] = "2.5"
 42612  }
 42613  
 42614  type HostPowerOpFailedFault BaseHostPowerOpFailed
 42615  
 42616  func init() {
 42617  	t["HostPowerOpFailedFault"] = reflect.TypeOf((*HostPowerOpFailedFault)(nil)).Elem()
 42618  }
 42619  
 42620  // Power Management Policy data object.
 42621  //
 42622  // Used to retrieve and specify current host power management policy.
 42623  type HostPowerPolicy struct {
 42624  	DynamicData
 42625  
 42626  	// Power Policy Key.
 42627  	//
 42628  	// Internally generated key which uniquely identifies power management
 42629  	// policy on a host.
 42630  	Key int32 `xml:"key" json:"key"`
 42631  	// Power Policy Name.
 42632  	Name string `xml:"name" json:"name"`
 42633  	// Power Policy Short Name.
 42634  	//
 42635  	// This is not localizable property which can be used to identify specific
 42636  	// power managing policies like "custom" power policy. Custom power policy
 42637  	// has short name set to "custom".
 42638  	ShortName string `xml:"shortName" json:"shortName"`
 42639  	// Power Policy Description.
 42640  	Description string `xml:"description" json:"description"`
 42641  }
 42642  
 42643  func init() {
 42644  	t["HostPowerPolicy"] = reflect.TypeOf((*HostPowerPolicy)(nil)).Elem()
 42645  	minAPIVersionForType["HostPowerPolicy"] = "4.1"
 42646  }
 42647  
 42648  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 42649  //
 42650  // This event records that the primary agent specified is not a short name.
 42651  //
 42652  // The name of the primary agent is usually stored as a short name. You should
 42653  // not normally see this error. Please check the network configurations of your
 42654  // hosts.
 42655  type HostPrimaryAgentNotShortNameEvent struct {
 42656  	HostDasEvent
 42657  
 42658  	PrimaryAgent string `xml:"primaryAgent" json:"primaryAgent"`
 42659  }
 42660  
 42661  func init() {
 42662  	t["HostPrimaryAgentNotShortNameEvent"] = reflect.TypeOf((*HostPrimaryAgentNotShortNameEvent)(nil)).Elem()
 42663  	minAPIVersionForType["HostPrimaryAgentNotShortNameEvent"] = "2.5"
 42664  }
 42665  
 42666  // This event records that a Profile application was done
 42667  // on the host
 42668  type HostProfileAppliedEvent struct {
 42669  	HostEvent
 42670  
 42671  	// Link to the profile which was applied
 42672  	Profile ProfileEventArgument `xml:"profile" json:"profile"`
 42673  }
 42674  
 42675  func init() {
 42676  	t["HostProfileAppliedEvent"] = reflect.TypeOf((*HostProfileAppliedEvent)(nil)).Elem()
 42677  	minAPIVersionForType["HostProfileAppliedEvent"] = "4.0"
 42678  }
 42679  
 42680  // The `HostProfileCompleteConfigSpec` data object
 42681  // specifies the complete configuration for a host profile.
 42682  type HostProfileCompleteConfigSpec struct {
 42683  	HostProfileConfigSpec
 42684  
 42685  	// Profile that contains configuration data for the host.
 42686  	ApplyProfile *HostApplyProfile `xml:"applyProfile,omitempty" json:"applyProfile,omitempty"`
 42687  	// User defined compliance profile.
 42688  	//
 42689  	// Reserved for future use.
 42690  	CustomComplyProfile *ComplianceProfile `xml:"customComplyProfile,omitempty" json:"customComplyProfile,omitempty"`
 42691  	// Flag indicating if this configuration specification contains changes
 42692  	// in the `HostProfileCompleteConfigSpec.disabledExpressionList`.
 42693  	//
 42694  	// If False, the Profile Engine ignores the contents of the disabled expression list.
 42695  	DisabledExpressionListChanged bool `xml:"disabledExpressionListChanged" json:"disabledExpressionListChanged"`
 42696  	// List of expressions to be disabled.
 42697  	//
 42698  	// Each entry in the list specifies
 42699  	// a `ProfileExpression*.*ProfileExpression.id`.
 42700  	// All expressions are enabled by default.
 42701  	//
 42702  	// If you set `HostProfileCompleteConfigSpec.disabledExpressionListChanged`
 42703  	// to True, the Profile Engine uses the contents of this list to replace the contents
 42704  	// of the `HostProfile*.*Profile.config*.*HostProfileConfigInfo.disabledExpressionList`.
 42705  	//
 42706  	// The expression list is contained in the
 42707  	// `HostProfileConfigInfo.defaultComplyProfile`.
 42708  	// The Profile Engine automatically generates the default compliance profile
 42709  	// when you create a host profile.
 42710  	DisabledExpressionList []string `xml:"disabledExpressionList,omitempty" json:"disabledExpressionList,omitempty"`
 42711  	// Host for profile validation.
 42712  	//
 42713  	// This can be a host on which the profile
 42714  	// is intended to be used. If you do not specify a validator host,
 42715  	// the Profile Engine uses the `HostProfile*.*HostProfile.referenceHost`
 42716  	// to validate the profile.
 42717  	//
 42718  	// Refers instance of `HostSystem`.
 42719  	ValidatorHost *ManagedObjectReference `xml:"validatorHost,omitempty" json:"validatorHost,omitempty" vim:"5.0"`
 42720  	// If "false", then the host profile will be saved without being validated.
 42721  	//
 42722  	// The default if not specified is "true".
 42723  	// This option should be used with caution, since the resulting host profile
 42724  	// will not be checked for errors.
 42725  	Validating *bool `xml:"validating" json:"validating,omitempty" vim:"6.0"`
 42726  	// Host profile configuration data and compliance information.
 42727  	//
 42728  	// If `HostProfileCompleteConfigSpec.hostConfig` is set,
 42729  	// then the HostApplyProfile
 42730  	// `HostProfileCompleteConfigSpec.applyProfile` and
 42731  	// ComplianceProfile
 42732  	// `HostProfileCompleteConfigSpec.customComplyProfile`
 42733  	// should not be set in CompleteConfigSpec.
 42734  	HostConfig *HostProfileConfigInfo `xml:"hostConfig,omitempty" json:"hostConfig,omitempty" vim:"6.5"`
 42735  }
 42736  
 42737  func init() {
 42738  	t["HostProfileCompleteConfigSpec"] = reflect.TypeOf((*HostProfileCompleteConfigSpec)(nil)).Elem()
 42739  	minAPIVersionForType["HostProfileCompleteConfigSpec"] = "4.0"
 42740  }
 42741  
 42742  // The `HostProfileConfigInfo` data object
 42743  // contains host profile data and information about profile compliance.
 42744  type HostProfileConfigInfo struct {
 42745  	ProfileConfigInfo
 42746  
 42747  	// Profile data for host configuration.
 42748  	ApplyProfile *HostApplyProfile `xml:"applyProfile,omitempty" json:"applyProfile,omitempty"`
 42749  	// Default compliance profile.
 42750  	//
 42751  	// The ESX Server uses the <code>applyProfile</code>
 42752  	// (`HostProfile*.*Profile.config*.*HostProfileConfigInfo.applyProfile`)
 42753  	// to generate the default compliance profile when you create a host profile.
 42754  	// When the <code>applyProfile</code> is modified, the Server automatically
 42755  	// updates the compliance profile to match it.
 42756  	DefaultComplyProfile *ComplianceProfile `xml:"defaultComplyProfile,omitempty" json:"defaultComplyProfile,omitempty"`
 42757  	// List of compliance locators.
 42758  	//
 42759  	// Each locator specifies an association between
 42760  	// the <code>applyProfile</code> and the <code>defaultComplyProfile</code>.
 42761  	// The association identifies a component profile and the expression generated
 42762  	// by the profile. vSphere clients can use this data to provide contextual
 42763  	// information to the user.
 42764  	DefaultComplyLocator []ComplianceLocator `xml:"defaultComplyLocator,omitempty" json:"defaultComplyLocator,omitempty"`
 42765  	// User defined compliance profile.
 42766  	//
 42767  	// Reserved for future use.
 42768  	CustomComplyProfile *ComplianceProfile `xml:"customComplyProfile,omitempty" json:"customComplyProfile,omitempty"`
 42769  	// Disabled expressions in the default compliance profile
 42770  	// (<code>DefaultComplyProfile</code>).
 42771  	//
 42772  	// Use this property to specify which expressions are disabled.
 42773  	// All expressions are enabled by default.
 42774  	DisabledExpressionList []string `xml:"disabledExpressionList,omitempty" json:"disabledExpressionList,omitempty"`
 42775  	// Localized description of the profile.
 42776  	Description *ProfileDescription `xml:"description,omitempty" json:"description,omitempty" vim:"6.5"`
 42777  }
 42778  
 42779  func init() {
 42780  	t["HostProfileConfigInfo"] = reflect.TypeOf((*HostProfileConfigInfo)(nil)).Elem()
 42781  	minAPIVersionForType["HostProfileConfigInfo"] = "4.0"
 42782  }
 42783  
 42784  // `HostProfileConfigSpec` is the base data object
 42785  // for all `HostProfile` configuration specifications.
 42786  type HostProfileConfigSpec struct {
 42787  	ProfileCreateSpec
 42788  }
 42789  
 42790  func init() {
 42791  	t["HostProfileConfigSpec"] = reflect.TypeOf((*HostProfileConfigSpec)(nil)).Elem()
 42792  	minAPIVersionForType["HostProfileConfigSpec"] = "4.0"
 42793  }
 42794  
 42795  // The `HostProfileHostBasedConfigSpec` data object
 42796  // specifies the host from which configuration data is to be extracted
 42797  // and the profile(s) to be created or updated.
 42798  type HostProfileHostBasedConfigSpec struct {
 42799  	HostProfileConfigSpec
 42800  
 42801  	// ESX host.
 42802  	//
 42803  	// Refers instance of `HostSystem`.
 42804  	Host ManagedObjectReference `xml:"host" json:"host"`
 42805  	// Flag indicating if the Profile Engine should use the profile
 42806  	// plug-ins present on the host to create the profile.
 42807  	//
 42808  	// If <code>true</code>, the host Profile Engine uses the vSphere 5.0
 42809  	// (or later) profile plug-ins. The resulting profile is not compatible
 42810  	// with legacy hosts (pre 5.0). If <code>false</code> or not specified,
 42811  	// the Profile Engine creates a legacy host profile.
 42812  	UseHostProfileEngine *bool `xml:"useHostProfileEngine" json:"useHostProfileEngine,omitempty" vim:"5.0"`
 42813  }
 42814  
 42815  func init() {
 42816  	t["HostProfileHostBasedConfigSpec"] = reflect.TypeOf((*HostProfileHostBasedConfigSpec)(nil)).Elem()
 42817  	minAPIVersionForType["HostProfileHostBasedConfigSpec"] = "4.0"
 42818  }
 42819  
 42820  // The data class for host profile composition result.
 42821  type HostProfileManagerCompositionResult struct {
 42822  	DynamicData
 42823  
 42824  	// The composition errors for all targets, for example, the source
 42825  	// profile doesn't exist.
 42826  	Errors []LocalizableMessage `xml:"errors,omitempty" json:"errors,omitempty"`
 42827  	// The array of
 42828  	// `HostProfileManagerCompositionResultResultElement`
 42829  	// for all the target host profiles.
 42830  	Results []HostProfileManagerCompositionResultResultElement `xml:"results,omitempty" json:"results,omitempty"`
 42831  }
 42832  
 42833  func init() {
 42834  	t["HostProfileManagerCompositionResult"] = reflect.TypeOf((*HostProfileManagerCompositionResult)(nil)).Elem()
 42835  	minAPIVersionForType["HostProfileManagerCompositionResult"] = "6.5"
 42836  }
 42837  
 42838  // Composition result for a specific target host profile.
 42839  type HostProfileManagerCompositionResultResultElement struct {
 42840  	DynamicData
 42841  
 42842  	// The target host profile.
 42843  	//
 42844  	// Refers instance of `Profile`.
 42845  	Target ManagedObjectReference `xml:"target" json:"target"`
 42846  	// The composition status.
 42847  	//
 42848  	// See `HostProfileManagerCompositionResultResultElementStatus_enum`
 42849  	// for details of supported values.
 42850  	Status string `xml:"status" json:"status"`
 42851  	// The composition errors.
 42852  	Errors []LocalizableMessage `xml:"errors,omitempty" json:"errors,omitempty"`
 42853  }
 42854  
 42855  func init() {
 42856  	t["HostProfileManagerCompositionResultResultElement"] = reflect.TypeOf((*HostProfileManagerCompositionResultResultElement)(nil)).Elem()
 42857  	minAPIVersionForType["HostProfileManagerCompositionResultResultElement"] = "6.5"
 42858  }
 42859  
 42860  // The data class for the host profile composition validation
 42861  // results.
 42862  type HostProfileManagerCompositionValidationResult struct {
 42863  	DynamicData
 42864  
 42865  	// The array of
 42866  	// `HostProfileManagerCompositionValidationResultResultElement`
 42867  	// for all the target host profiles.
 42868  	Results []HostProfileManagerCompositionValidationResultResultElement `xml:"results,omitempty" json:"results,omitempty"`
 42869  	// The common error happened at validation.
 42870  	Errors []LocalizableMessage `xml:"errors,omitempty" json:"errors,omitempty"`
 42871  }
 42872  
 42873  func init() {
 42874  	t["HostProfileManagerCompositionValidationResult"] = reflect.TypeOf((*HostProfileManagerCompositionValidationResult)(nil)).Elem()
 42875  	minAPIVersionForType["HostProfileManagerCompositionValidationResult"] = "6.5"
 42876  }
 42877  
 42878  // The host profile composition validation result for a specific target
 42879  // host profile.
 42880  type HostProfileManagerCompositionValidationResultResultElement struct {
 42881  	DynamicData
 42882  
 42883  	// The target host profile.
 42884  	//
 42885  	// Refers instance of `Profile`.
 42886  	Target ManagedObjectReference `xml:"target" json:"target"`
 42887  	// The composition validation status.
 42888  	//
 42889  	// See `HostProfileManagerCompositionValidationResultResultElementStatus_enum`
 42890  	// for details of supported values.
 42891  	Status string `xml:"status" json:"status"`
 42892  	// The composition validation errors.
 42893  	Errors []LocalizableMessage `xml:"errors,omitempty" json:"errors,omitempty"`
 42894  	// When a selected sub profile for composition exists in both the
 42895  	// source and target host profile, this member will contain the
 42896  	// source side difference for the selected sub profiles.
 42897  	SourceDiffForToBeMerged *HostApplyProfile `xml:"sourceDiffForToBeMerged,omitempty" json:"sourceDiffForToBeMerged,omitempty"`
 42898  	// Similar to the member <code>sourceDiffForToBeMerged</code> above
 42899  	// but contains the target side difference.
 42900  	//
 42901  	// Comparing the same
 42902  	// configurations in these two variables will show the changes for
 42903  	// the configurations that exist in both source and target host
 42904  	// profile.
 42905  	TargetDiffForToBeMerged *HostApplyProfile `xml:"targetDiffForToBeMerged,omitempty" json:"targetDiffForToBeMerged,omitempty"`
 42906  	// The sub profiles doesn't exist in the target and will be added to
 42907  	// the target at host profile composition.
 42908  	ToBeAdded *HostApplyProfile `xml:"toBeAdded,omitempty" json:"toBeAdded,omitempty"`
 42909  	// The sub profiles exists in the target but not in the source and will
 42910  	// be deleted from the target at host profile composition.
 42911  	ToBeDeleted *HostApplyProfile `xml:"toBeDeleted,omitempty" json:"toBeDeleted,omitempty"`
 42912  	// The sub profiles to be disabled in the target host profiles.
 42913  	ToBeDisabled *HostApplyProfile `xml:"toBeDisabled,omitempty" json:"toBeDisabled,omitempty"`
 42914  	// The sub profiles to be enabled in the target host profiles.
 42915  	ToBeEnabled *HostApplyProfile `xml:"toBeEnabled,omitempty" json:"toBeEnabled,omitempty"`
 42916  	// The sub profile to be unset ignoring compliance check
 42917  	// in the target host profile.
 42918  	ToBeReenableCC *HostApplyProfile `xml:"toBeReenableCC,omitempty" json:"toBeReenableCC,omitempty"`
 42919  }
 42920  
 42921  func init() {
 42922  	t["HostProfileManagerCompositionValidationResultResultElement"] = reflect.TypeOf((*HostProfileManagerCompositionValidationResultResultElement)(nil)).Elem()
 42923  	minAPIVersionForType["HostProfileManagerCompositionValidationResultResultElement"] = "6.5"
 42924  }
 42925  
 42926  // The `HostProfileManagerConfigTaskList` data object
 42927  // represents a set of tasks to be performed on a host during host profile application.
 42928  type HostProfileManagerConfigTaskList struct {
 42929  	DynamicData
 42930  
 42931  	// Set of configuration changes to be applied to the host.
 42932  	ConfigSpec *HostConfigSpec `xml:"configSpec,omitempty" json:"configSpec,omitempty"`
 42933  	// Description of tasks that will be performed on the host
 42934  	// to carry out HostProfile application.
 42935  	TaskDescription []LocalizableMessage `xml:"taskDescription,omitempty" json:"taskDescription,omitempty"`
 42936  	// A set of requirements whose actions must be fulfilled before and/or
 42937  	// after the task list is applied on an ESXi host, e.g.
 42938  	//
 42939  	// whether the ESXi
 42940  	// host must be in maintenance mode prior to applying the <code>configSpec</code>,
 42941  	// or whether the host will need to be rebooted after applying the <code>configSpec</code>.
 42942  	// See `HostProfileManagerTaskListRequirement_enum` for
 42943  	// details of supported values.
 42944  	TaskListRequirement []string `xml:"taskListRequirement,omitempty" json:"taskListRequirement,omitempty" vim:"6.0"`
 42945  }
 42946  
 42947  func init() {
 42948  	t["HostProfileManagerConfigTaskList"] = reflect.TypeOf((*HostProfileManagerConfigTaskList)(nil)).Elem()
 42949  	minAPIVersionForType["HostProfileManagerConfigTaskList"] = "4.0"
 42950  }
 42951  
 42952  // Data class for <code>HostSystem</code>-<code>AnswerFileCreateSpec</code>
 42953  // mapping.
 42954  type HostProfileManagerHostToConfigSpecMap struct {
 42955  	DynamicData
 42956  
 42957  	// The host
 42958  	//
 42959  	// Refers instance of `HostSystem`.
 42960  	Host ManagedObjectReference `xml:"host" json:"host"`
 42961  	// The corresponding <code>AnswerFileCreateSpec</code>.
 42962  	ConfigSpec BaseAnswerFileCreateSpec `xml:"configSpec,typeattr" json:"configSpec"`
 42963  }
 42964  
 42965  func init() {
 42966  	t["HostProfileManagerHostToConfigSpecMap"] = reflect.TypeOf((*HostProfileManagerHostToConfigSpecMap)(nil)).Elem()
 42967  	minAPIVersionForType["HostProfileManagerHostToConfigSpecMap"] = "6.5"
 42968  }
 42969  
 42970  type HostProfileResetValidationState HostProfileResetValidationStateRequestType
 42971  
 42972  func init() {
 42973  	t["HostProfileResetValidationState"] = reflect.TypeOf((*HostProfileResetValidationState)(nil)).Elem()
 42974  }
 42975  
 42976  type HostProfileResetValidationStateRequestType struct {
 42977  	This ManagedObjectReference `xml:"_this" json:"-"`
 42978  }
 42979  
 42980  func init() {
 42981  	t["HostProfileResetValidationStateRequestType"] = reflect.TypeOf((*HostProfileResetValidationStateRequestType)(nil)).Elem()
 42982  }
 42983  
 42984  type HostProfileResetValidationStateResponse struct {
 42985  }
 42986  
 42987  // The `HostProfileSerializedHostProfileSpec` data object
 42988  // contains a string representation of a host profile.
 42989  //
 42990  // Use this object when you
 42991  // create a host profile from a file.
 42992  type HostProfileSerializedHostProfileSpec struct {
 42993  	ProfileSerializedCreateSpec
 42994  
 42995  	// Host for profile validation.
 42996  	//
 42997  	// This can be a host on which
 42998  	// the profile is intended to be used.
 42999  	//
 43000  	// Refers instance of `HostSystem`.
 43001  	ValidatorHost *ManagedObjectReference `xml:"validatorHost,omitempty" json:"validatorHost,omitempty"`
 43002  	// If "false", then the host profile will be saved without being validated.
 43003  	//
 43004  	// The default if not specified is "true".
 43005  	// This option should be used with caution, since the resulting host profile
 43006  	// will not be checked for errors.
 43007  	Validating *bool `xml:"validating" json:"validating,omitempty" vim:"6.0"`
 43008  }
 43009  
 43010  func init() {
 43011  	t["HostProfileSerializedHostProfileSpec"] = reflect.TypeOf((*HostProfileSerializedHostProfileSpec)(nil)).Elem()
 43012  	minAPIVersionForType["HostProfileSerializedHostProfileSpec"] = "5.0"
 43013  }
 43014  
 43015  // This defines the validation result for the host profile.
 43016  type HostProfileValidationFailureInfo struct {
 43017  	DynamicData
 43018  
 43019  	// The name of host profile to be validated.
 43020  	Name string `xml:"name" json:"name"`
 43021  	// Host profile annotation at update.
 43022  	Annotation string `xml:"annotation" json:"annotation"`
 43023  	// Host profile update type.
 43024  	//
 43025  	// See the enumerate class
 43026  	// <code>UpdateType</code> above for the valid values.
 43027  	UpdateType string `xml:"updateType" json:"updateType"`
 43028  	// The host where the host profile is updated from.
 43029  	//
 43030  	// Refers instance of `HostSystem`.
 43031  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 43032  	// The host configuration after validation.
 43033  	ApplyProfile *HostApplyProfile `xml:"applyProfile,omitempty" json:"applyProfile,omitempty"`
 43034  	// List of failures in the host profile configuration.
 43035  	Failures []ProfileUpdateFailedUpdateFailure `xml:"failures,omitempty" json:"failures,omitempty"`
 43036  	// The <code>MethodFault</code>s happened at validation.
 43037  	Faults []LocalizedMethodFault `xml:"faults,omitempty" json:"faults,omitempty"`
 43038  }
 43039  
 43040  func init() {
 43041  	t["HostProfileValidationFailureInfo"] = reflect.TypeOf((*HostProfileValidationFailureInfo)(nil)).Elem()
 43042  	minAPIVersionForType["HostProfileValidationFailureInfo"] = "6.7"
 43043  }
 43044  
 43045  // Data type used to contain a representation of host or cluster customization
 43046  // data in a `HostProfilesCustomizationData` object.
 43047  //
 43048  // Subclasses of this must be defined to provide host or cluster customization
 43049  // data in specific formats.
 43050  type HostProfilesEntityCustomizations struct {
 43051  	DynamicData
 43052  }
 43053  
 43054  func init() {
 43055  	t["HostProfilesEntityCustomizations"] = reflect.TypeOf((*HostProfilesEntityCustomizations)(nil)).Elem()
 43056  	minAPIVersionForType["HostProfilesEntityCustomizations"] = "6.5"
 43057  }
 43058  
 43059  // ProtocolEndpoint is configured LUN or NFS directory
 43060  // This is used for io path to actual virtual disks (VVols)
 43061  type HostProtocolEndpoint struct {
 43062  	DynamicData
 43063  
 43064  	// Deprecated from all vmodl version above @released("6.0")
 43065  	// Use type instead.
 43066  	//
 43067  	// Type of ProtocolEndpoint
 43068  	// See `HostProtocolEndpointPEType_enum`
 43069  	PeType string `xml:"peType" json:"peType"`
 43070  	// Type of ProtocolEndpoint
 43071  	// See `HostProtocolEndpointProtocolEndpointType_enum`
 43072  	Type string `xml:"type,omitempty" json:"type,omitempty" vim:"6.5"`
 43073  	// Identifier for PE assigned by VASA Provider
 43074  	Uuid string `xml:"uuid" json:"uuid"`
 43075  	// Set of ESX hosts which can see the same PE
 43076  	//
 43077  	// Refers instances of `HostSystem`.
 43078  	HostKey []ManagedObjectReference `xml:"hostKey,omitempty" json:"hostKey,omitempty"`
 43079  	// Associated Storage Array
 43080  	StorageArray string `xml:"storageArray,omitempty" json:"storageArray,omitempty"`
 43081  	// NFSv3 and NFSv4x PE will contain information about NFS Server
 43082  	// For NFSv4x this field may contain comma separated list of IP addresses
 43083  	// which are associated with the NFS Server
 43084  	NfsServer string `xml:"nfsServer,omitempty" json:"nfsServer,omitempty"`
 43085  	// NFSv3 and NFSv4x PE will contain information about NFS directory
 43086  	NfsDir string `xml:"nfsDir,omitempty" json:"nfsDir,omitempty"`
 43087  	// NFSv4x PE will contain information about NFSv4x Server Scope
 43088  	NfsServerScope string `xml:"nfsServerScope,omitempty" json:"nfsServerScope,omitempty" vim:"6.5"`
 43089  	// NFSv4x PE will contain information about NFSv4x Server Major
 43090  	NfsServerMajor string `xml:"nfsServerMajor,omitempty" json:"nfsServerMajor,omitempty" vim:"6.5"`
 43091  	// NFSv4x PE will contain information about NFSv4x Server Auth-type
 43092  	NfsServerAuthType string `xml:"nfsServerAuthType,omitempty" json:"nfsServerAuthType,omitempty" vim:"6.5"`
 43093  	// NFSv4x PE will contain information about NFSv4x Server User
 43094  	NfsServerUser string `xml:"nfsServerUser,omitempty" json:"nfsServerUser,omitempty" vim:"6.5"`
 43095  	// SCSI PE will contain information about SCSI device ID
 43096  	DeviceId string `xml:"deviceId,omitempty" json:"deviceId,omitempty"`
 43097  }
 43098  
 43099  func init() {
 43100  	t["HostProtocolEndpoint"] = reflect.TypeOf((*HostProtocolEndpoint)(nil)).Elem()
 43101  	minAPIVersionForType["HostProtocolEndpoint"] = "6.0"
 43102  }
 43103  
 43104  // The HostProxySwitch is a software entity which represents the component
 43105  // of a DistributedVirtualSwitch on a particular host.
 43106  type HostProxySwitch struct {
 43107  	DynamicData
 43108  
 43109  	// The uuid of the DistributedVirtualSwitch that the HostProxySwitch
 43110  	// is a part of.
 43111  	DvsUuid string `xml:"dvsUuid" json:"dvsUuid"`
 43112  	// The name of the DistributedVirtualSwitch that the HostProxySwitch
 43113  	// is part of.
 43114  	DvsName string `xml:"dvsName" json:"dvsName"`
 43115  	// The proxy switch key.
 43116  	Key string `xml:"key" json:"key"`
 43117  	// The number of ports that this switch currently has.
 43118  	NumPorts int32 `xml:"numPorts" json:"numPorts"`
 43119  	// The configured number of ports that this switch has.
 43120  	//
 43121  	// If configured number of ports is changed,
 43122  	// a host reboot is required for the new value to take effect.
 43123  	ConfigNumPorts int32 `xml:"configNumPorts,omitempty" json:"configNumPorts,omitempty" vim:"5.0"`
 43124  	// The number of ports that are available on this virtual switch.
 43125  	NumPortsAvailable int32 `xml:"numPortsAvailable" json:"numPortsAvailable"`
 43126  	// The list of ports that can be potentially used by physical nics.
 43127  	//
 43128  	// This property contains the keys and names of such ports.
 43129  	UplinkPort []KeyValue `xml:"uplinkPort,omitempty" json:"uplinkPort,omitempty"`
 43130  	// The maximum transmission unit (MTU) associated with this switch
 43131  	// in bytes.
 43132  	Mtu int32 `xml:"mtu,omitempty" json:"mtu,omitempty"`
 43133  	// The set of physical network adapters associated with this switch.
 43134  	Pnic []string `xml:"pnic,omitempty" json:"pnic,omitempty"`
 43135  	// The specification of the switch.
 43136  	Spec HostProxySwitchSpec `xml:"spec" json:"spec"`
 43137  	// The Link Aggregation Control Protocol group and
 43138  	// Uplink ports in the group.
 43139  	HostLag []HostProxySwitchHostLagConfig `xml:"hostLag,omitempty" json:"hostLag,omitempty" vim:"5.5"`
 43140  	// Indicates whether network reservation is supported on this switch
 43141  	NetworkReservationSupported *bool `xml:"networkReservationSupported" json:"networkReservationSupported,omitempty" vim:"5.5"`
 43142  	// Indicate whether NSX-T is enabled on this switch
 43143  	NsxtEnabled *bool `xml:"nsxtEnabled" json:"nsxtEnabled,omitempty" vim:"7.0"`
 43144  	// Is ENS enabled on this switch
 43145  	EnsEnabled *bool `xml:"ensEnabled" json:"ensEnabled,omitempty" vim:"7.0"`
 43146  	// Is ENS interrupt mode enabled on this switch
 43147  	EnsInterruptEnabled *bool `xml:"ensInterruptEnabled" json:"ensInterruptEnabled,omitempty" vim:"7.0"`
 43148  	// Transport Zones this switch joined
 43149  	TransportZones []DistributedVirtualSwitchHostMemberTransportZoneInfo `xml:"transportZones,omitempty" json:"transportZones,omitempty" vim:"7.0"`
 43150  	// Uplink port names used by NSX-T
 43151  	NsxUsedUplinkPort []string `xml:"nsxUsedUplinkPort,omitempty" json:"nsxUsedUplinkPort,omitempty" vim:"7.0"`
 43152  	// NSX-T proxy switch status
 43153  	NsxtStatus string `xml:"nsxtStatus,omitempty" json:"nsxtStatus,omitempty" vim:"7.0"`
 43154  	// Additional information regarding the NSX-T proxy switch status
 43155  	NsxtStatusDetail string `xml:"nsxtStatusDetail,omitempty" json:"nsxtStatusDetail,omitempty" vim:"7.0"`
 43156  	// ENS Status From VmKernal.
 43157  	EnsInfo *HostProxySwitchEnsInfo `xml:"ensInfo,omitempty" json:"ensInfo,omitempty" vim:"8.0.0.1"`
 43158  	// Indicate if network offloading is enabled on the proxy switch of
 43159  	// this host.
 43160  	//
 43161  	// Unset implies that network offloading is disabled.
 43162  	NetworkOffloadingEnabled *bool `xml:"networkOffloadingEnabled" json:"networkOffloadingEnabled,omitempty" vim:"8.0.0.1"`
 43163  }
 43164  
 43165  func init() {
 43166  	t["HostProxySwitch"] = reflect.TypeOf((*HostProxySwitch)(nil)).Elem()
 43167  	minAPIVersionForType["HostProxySwitch"] = "4.0"
 43168  }
 43169  
 43170  // This data object type describes the HostProxySwitch configuration
 43171  // containing both the configurable
 43172  // properties on a HostProxySwitch and identification information.
 43173  type HostProxySwitchConfig struct {
 43174  	DynamicData
 43175  
 43176  	// This property indicates the change operation to apply on
 43177  	// this configuration specification.
 43178  	//
 43179  	// Valid values are:
 43180  	//     - `edit`
 43181  	//     - `remove`
 43182  	//
 43183  	// See also `HostConfigChangeOperation_enum`.
 43184  	ChangeOperation string `xml:"changeOperation,omitempty" json:"changeOperation,omitempty"`
 43185  	// The uuid of the DistributedVirtualSwitch that the HostProxySwitch
 43186  	// is a part of.
 43187  	Uuid string `xml:"uuid" json:"uuid"`
 43188  	// The specification of the HostProxySwitch.
 43189  	Spec *HostProxySwitchSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 43190  }
 43191  
 43192  func init() {
 43193  	t["HostProxySwitchConfig"] = reflect.TypeOf((*HostProxySwitchConfig)(nil)).Elem()
 43194  	minAPIVersionForType["HostProxySwitchConfig"] = "4.0"
 43195  }
 43196  
 43197  // This data object type describes
 43198  // the Ens status from VmKernal.
 43199  type HostProxySwitchEnsInfo struct {
 43200  	DynamicData
 43201  
 43202  	// ENS ops version
 43203  	OpsVersion int64 `xml:"opsVersion" json:"opsVersion"`
 43204  	// Number of ENS portset operations
 43205  	NumPSOps int64 `xml:"numPSOps" json:"numPSOps"`
 43206  	// Number of ENS Lcore operations
 43207  	NumLcoreOps int64 `xml:"numLcoreOps" json:"numLcoreOps"`
 43208  	// Error status of the last ENS portset operation
 43209  	ErrorStatus int64 `xml:"errorStatus" json:"errorStatus"`
 43210  	// Error status of the last Lcore operation
 43211  	LcoreStatus int64 `xml:"lcoreStatus" json:"lcoreStatus"`
 43212  }
 43213  
 43214  func init() {
 43215  	t["HostProxySwitchEnsInfo"] = reflect.TypeOf((*HostProxySwitchEnsInfo)(nil)).Elem()
 43216  	minAPIVersionForType["HostProxySwitchEnsInfo"] = "8.0.0.1"
 43217  }
 43218  
 43219  // This data object type describes the set of Uplink Ports in
 43220  // Link Aggregation Control Protocol group.
 43221  type HostProxySwitchHostLagConfig struct {
 43222  	DynamicData
 43223  
 43224  	LagKey  string `xml:"lagKey" json:"lagKey"`
 43225  	LagName string `xml:"lagName,omitempty" json:"lagName,omitempty"`
 43226  	// The list of Uplink Ports in the Link Aggregation Control Protocol group.
 43227  	//
 43228  	// This property contains the keys and names of such ports.
 43229  	UplinkPort []KeyValue `xml:"uplinkPort,omitempty" json:"uplinkPort,omitempty"`
 43230  }
 43231  
 43232  func init() {
 43233  	t["HostProxySwitchHostLagConfig"] = reflect.TypeOf((*HostProxySwitchHostLagConfig)(nil)).Elem()
 43234  	minAPIVersionForType["HostProxySwitchHostLagConfig"] = "5.5"
 43235  }
 43236  
 43237  // This data object type describes the HostProxySwitch specification
 43238  // representing the properties on a HostProxySwitch that can be
 43239  // configured once the object exists.
 43240  type HostProxySwitchSpec struct {
 43241  	DynamicData
 43242  
 43243  	// The specification describes how physical network adapters
 43244  	// are bridged to the switch.
 43245  	Backing BaseDistributedVirtualSwitchHostMemberBacking `xml:"backing,omitempty,typeattr" json:"backing,omitempty"`
 43246  }
 43247  
 43248  func init() {
 43249  	t["HostProxySwitchSpec"] = reflect.TypeOf((*HostProxySwitchSpec)(nil)).Elem()
 43250  	minAPIVersionForType["HostProxySwitchSpec"] = "4.0"
 43251  }
 43252  
 43253  // Configuration information for the host PTP (Precision Time
 43254  // Protocol) service.
 43255  type HostPtpConfig struct {
 43256  	DynamicData
 43257  
 43258  	// PTP domain number as defined in the IEEE 1588 standard.
 43259  	//
 43260  	// Supported
 43261  	// values are in the range 0-255.
 43262  	Domain int32 `xml:"domain,omitempty" json:"domain,omitempty"`
 43263  	// List of PTP port configurations.
 43264  	//
 43265  	// See `HostPtpConfigPtpPort`.
 43266  	Port []HostPtpConfigPtpPort `xml:"port,omitempty" json:"port,omitempty"`
 43267  }
 43268  
 43269  func init() {
 43270  	t["HostPtpConfig"] = reflect.TypeOf((*HostPtpConfig)(nil)).Elem()
 43271  	minAPIVersionForType["HostPtpConfig"] = "7.0.3.0"
 43272  }
 43273  
 43274  // Configuration of a PTP port, a logical entity providing an
 43275  // interface to the network for sending and receiving PTP messages
 43276  // with timestamping.
 43277  type HostPtpConfigPtpPort struct {
 43278  	DynamicData
 43279  
 43280  	// Index into the list of PTP ports.
 43281  	//
 43282  	// Supported values are in the
 43283  	// range 0 through `HostCapability.maxSupportedPtpPorts`-1.
 43284  	Index int32 `xml:"index" json:"index"`
 43285  	// Type of network device to be used with this port.
 43286  	//
 43287  	// See `HostPtpConfigDeviceType_enum` for supported values. A device type
 43288  	// of `none` indicates that this port is
 43289  	// inactive.
 43290  	DeviceType string `xml:"deviceType,omitempty" json:"deviceType,omitempty"`
 43291  	// Name of PTP capable network device to be used with this port.
 43292  	//
 43293  	// Supported values depend on the type of network device used.
 43294  	// For `virtualNic` this field is the name of
 43295  	// a valid virtual NIC. See `HostVirtualNic`.
 43296  	// For `pciPassthruNic` this field is a valid
 43297  	// PCI device ID composed of "bus:slot.function", enabled for
 43298  	// PCI passthru. See `HostPciPassthruInfo`.
 43299  	// For `none` this field is ignored.
 43300  	Device string `xml:"device,omitempty" json:"device,omitempty"`
 43301  	// IP configuration of this port.
 43302  	//
 43303  	// For `pciPassthruNic`, this field reflects
 43304  	// current IP configuration, and it can be set.
 43305  	// For `virtualNic`, this field reflects current
 43306  	// IP configuration, but it cannot be set. To configure IP settings
 43307  	// of a virtual NIC, see `HostVirtualNic`.
 43308  	// For `none`, this field is ignored.
 43309  	IpConfig *HostIpConfig `xml:"ipConfig,omitempty" json:"ipConfig,omitempty"`
 43310  }
 43311  
 43312  func init() {
 43313  	t["HostPtpConfigPtpPort"] = reflect.TypeOf((*HostPtpConfigPtpPort)(nil)).Elem()
 43314  	minAPIVersionForType["HostPtpConfigPtpPort"] = "7.0.3.0"
 43315  }
 43316  
 43317  // This data object describes a qualified name of the host used to
 43318  // identify it in a particular context.
 43319  type HostQualifiedName struct {
 43320  	DynamicData
 43321  
 43322  	// The qualified name.
 43323  	Value string `xml:"value" json:"value"`
 43324  	// The type of the qualified name.
 43325  	//
 43326  	// The list of supported values is specified in `HostQualifiedNameType_enum`.
 43327  	Type string `xml:"type" json:"type"`
 43328  }
 43329  
 43330  func init() {
 43331  	t["HostQualifiedName"] = reflect.TypeOf((*HostQualifiedName)(nil)).Elem()
 43332  	minAPIVersionForType["HostQualifiedName"] = "7.0.3.0"
 43333  }
 43334  
 43335  // This data object represents a Remote Direct Memory Access
 43336  // device as seen by the primary operating system.
 43337  type HostRdmaDevice struct {
 43338  	DynamicData
 43339  
 43340  	// The linkable identifier.
 43341  	Key string `xml:"key" json:"key"`
 43342  	// The device name of the RDMA device.
 43343  	Device string `xml:"device" json:"device"`
 43344  	// The short string name of the device driver, if available.
 43345  	Driver string `xml:"driver,omitempty" json:"driver,omitempty"`
 43346  	// Device description, if available.
 43347  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 43348  	// If set, represents the physical backing for the RDMA device.
 43349  	//
 43350  	// Not all RDMA devices are required to have a physical backing.
 43351  	Backing BaseHostRdmaDeviceBacking `xml:"backing,omitempty,typeattr" json:"backing,omitempty"`
 43352  	// Current device connection state.
 43353  	ConnectionInfo HostRdmaDeviceConnectionInfo `xml:"connectionInfo" json:"connectionInfo"`
 43354  	// Supported capabilies of the RDMA device.
 43355  	Capability HostRdmaDeviceCapability `xml:"capability" json:"capability"`
 43356  }
 43357  
 43358  func init() {
 43359  	t["HostRdmaDevice"] = reflect.TypeOf((*HostRdmaDevice)(nil)).Elem()
 43360  	minAPIVersionForType["HostRdmaDevice"] = "7.0"
 43361  }
 43362  
 43363  // This data object represents the physical
 43364  // backing of an RDMA device.
 43365  type HostRdmaDeviceBacking struct {
 43366  	DynamicData
 43367  }
 43368  
 43369  func init() {
 43370  	t["HostRdmaDeviceBacking"] = reflect.TypeOf((*HostRdmaDeviceBacking)(nil)).Elem()
 43371  	minAPIVersionForType["HostRdmaDeviceBacking"] = "7.0"
 43372  }
 43373  
 43374  // Represents device capabilies, e.g.
 43375  //
 43376  // supported protocols.
 43377  type HostRdmaDeviceCapability struct {
 43378  	DynamicData
 43379  
 43380  	// Indicates whether ROCEv1 is supported by the device.
 43381  	RoceV1Capable bool `xml:"roceV1Capable" json:"roceV1Capable"`
 43382  	// Indicates whether ROCEv2 is supported by the device.
 43383  	RoceV2Capable bool `xml:"roceV2Capable" json:"roceV2Capable"`
 43384  	// Indicates whether iWARP is supported by the device.
 43385  	IWarpCapable bool `xml:"iWarpCapable" json:"iWarpCapable"`
 43386  }
 43387  
 43388  func init() {
 43389  	t["HostRdmaDeviceCapability"] = reflect.TypeOf((*HostRdmaDeviceCapability)(nil)).Elem()
 43390  	minAPIVersionForType["HostRdmaDeviceCapability"] = "7.0"
 43391  }
 43392  
 43393  // Represents connection information for the RDMA device.
 43394  type HostRdmaDeviceConnectionInfo struct {
 43395  	DynamicData
 43396  
 43397  	// RDMA device connection state.
 43398  	//
 43399  	// The set of possible values
 43400  	// is described in `HostRdmaDeviceConnectionState_enum`.
 43401  	State string `xml:"state" json:"state"`
 43402  	// Maximum Transmission Unit in bytes.
 43403  	Mtu int32 `xml:"mtu" json:"mtu"`
 43404  	// Bit rate in Mbps.
 43405  	SpeedInMbps int32 `xml:"speedInMbps" json:"speedInMbps"`
 43406  }
 43407  
 43408  func init() {
 43409  	t["HostRdmaDeviceConnectionInfo"] = reflect.TypeOf((*HostRdmaDeviceConnectionInfo)(nil)).Elem()
 43410  	minAPIVersionForType["HostRdmaDeviceConnectionInfo"] = "7.0"
 43411  }
 43412  
 43413  // This data object represents a physical NIC backing
 43414  // for an RDMA device.
 43415  //
 43416  // When an RDMA device is backed by a physical NIC, it
 43417  // can be associated with the virtual NICs
 43418  // connected to a virtual switch which has the
 43419  // backing physical NIC as an uplink. The actual bindings
 43420  // are created and destroyed dynamically based on application
 43421  // usage of the RDMA device.
 43422  type HostRdmaDevicePnicBacking struct {
 43423  	HostRdmaDeviceBacking
 43424  
 43425  	// The associated physical NIC
 43426  	PairedUplink string `xml:"pairedUplink" json:"pairedUplink"`
 43427  }
 43428  
 43429  func init() {
 43430  	t["HostRdmaDevicePnicBacking"] = reflect.TypeOf((*HostRdmaDevicePnicBacking)(nil)).Elem()
 43431  	minAPIVersionForType["HostRdmaDevicePnicBacking"] = "7.0"
 43432  }
 43433  
 43434  // This data object describes the Remote Direct Memory Access
 43435  // (RDMA) host bus adapter interface.
 43436  type HostRdmaHba struct {
 43437  	HostHostBusAdapter
 43438  
 43439  	// Device name of the associated RDMA device, if any.
 43440  	//
 43441  	// Should match the `HostRdmaDevice.device` property
 43442  	// of the corresponding RDMA device.
 43443  	AssociatedRdmaDevice string `xml:"associatedRdmaDevice,omitempty" json:"associatedRdmaDevice,omitempty"`
 43444  }
 43445  
 43446  func init() {
 43447  	t["HostRdmaHba"] = reflect.TypeOf((*HostRdmaHba)(nil)).Elem()
 43448  	minAPIVersionForType["HostRdmaHba"] = "7.0"
 43449  }
 43450  
 43451  // Remote Direct Memory Access (RDMA) transport
 43452  // information about a target.
 43453  type HostRdmaTargetTransport struct {
 43454  	HostTargetTransport
 43455  }
 43456  
 43457  func init() {
 43458  	t["HostRdmaTargetTransport"] = reflect.TypeOf((*HostRdmaTargetTransport)(nil)).Elem()
 43459  	minAPIVersionForType["HostRdmaTargetTransport"] = "7.0"
 43460  }
 43461  
 43462  // The parameters of `HostVStorageObjectManager.HostReconcileDatastoreInventory_Task`.
 43463  type HostReconcileDatastoreInventoryRequestType struct {
 43464  	This ManagedObjectReference `xml:"_this" json:"-"`
 43465  	// The datastore that needs to be reconciled.
 43466  	//
 43467  	// Refers instance of `Datastore`.
 43468  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 43469  }
 43470  
 43471  func init() {
 43472  	t["HostReconcileDatastoreInventoryRequestType"] = reflect.TypeOf((*HostReconcileDatastoreInventoryRequestType)(nil)).Elem()
 43473  }
 43474  
 43475  type HostReconcileDatastoreInventory_Task HostReconcileDatastoreInventoryRequestType
 43476  
 43477  func init() {
 43478  	t["HostReconcileDatastoreInventory_Task"] = reflect.TypeOf((*HostReconcileDatastoreInventory_Task)(nil)).Elem()
 43479  }
 43480  
 43481  type HostReconcileDatastoreInventory_TaskResponse struct {
 43482  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 43483  }
 43484  
 43485  // This event records a failed attempt to re-establish a host connection.
 43486  type HostReconnectionFailedEvent struct {
 43487  	HostEvent
 43488  }
 43489  
 43490  func init() {
 43491  	t["HostReconnectionFailedEvent"] = reflect.TypeOf((*HostReconnectionFailedEvent)(nil)).Elem()
 43492  }
 43493  
 43494  type HostRegisterDisk HostRegisterDiskRequestType
 43495  
 43496  func init() {
 43497  	t["HostRegisterDisk"] = reflect.TypeOf((*HostRegisterDisk)(nil)).Elem()
 43498  }
 43499  
 43500  // The parameters of `HostVStorageObjectManager.HostRegisterDisk`.
 43501  type HostRegisterDiskRequestType struct {
 43502  	This ManagedObjectReference `xml:"_this" json:"-"`
 43503  	// URL or datastore path to the virtual disk.
 43504  	Path string `xml:"path" json:"path"`
 43505  	// The descriptive name of the disk object. If
 43506  	// unset the name will be automatically determined
 43507  	// from the path. @see vim.vslm.BaseConfigInfo#name
 43508  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 43509  	// Optional Parameter describing if the control Flags should be changed to default values
 43510  	ModifyControlFlags *bool `xml:"modifyControlFlags" json:"modifyControlFlags,omitempty" vim:"8.0.2.0"`
 43511  }
 43512  
 43513  func init() {
 43514  	t["HostRegisterDiskRequestType"] = reflect.TypeOf((*HostRegisterDiskRequestType)(nil)).Elem()
 43515  }
 43516  
 43517  type HostRegisterDiskResponse struct {
 43518  	Returnval VStorageObject `xml:"returnval" json:"returnval"`
 43519  }
 43520  
 43521  // Information about reliable memory installed on this host.
 43522  type HostReliableMemoryInfo struct {
 43523  	DynamicData
 43524  
 43525  	MemorySize int64 `xml:"memorySize" json:"memorySize"`
 43526  }
 43527  
 43528  func init() {
 43529  	t["HostReliableMemoryInfo"] = reflect.TypeOf((*HostReliableMemoryInfo)(nil)).Elem()
 43530  	minAPIVersionForType["HostReliableMemoryInfo"] = "5.5"
 43531  }
 43532  
 43533  // The parameters of `HostVStorageObjectManager.HostRelocateVStorageObject_Task`.
 43534  type HostRelocateVStorageObjectRequestType struct {
 43535  	This ManagedObjectReference `xml:"_this" json:"-"`
 43536  	// The ID of the virtual storage object.
 43537  	Id ID `xml:"id" json:"id"`
 43538  	// The datastore where the source virtual storage
 43539  	// object is located.
 43540  	//
 43541  	// Refers instance of `Datastore`.
 43542  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 43543  	// The specification for relocation of the virtual
 43544  	// storage object.
 43545  	Spec VslmRelocateSpec `xml:"spec" json:"spec"`
 43546  }
 43547  
 43548  func init() {
 43549  	t["HostRelocateVStorageObjectRequestType"] = reflect.TypeOf((*HostRelocateVStorageObjectRequestType)(nil)).Elem()
 43550  }
 43551  
 43552  type HostRelocateVStorageObject_Task HostRelocateVStorageObjectRequestType
 43553  
 43554  func init() {
 43555  	t["HostRelocateVStorageObject_Task"] = reflect.TypeOf((*HostRelocateVStorageObject_Task)(nil)).Elem()
 43556  }
 43557  
 43558  type HostRelocateVStorageObject_TaskResponse struct {
 43559  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 43560  }
 43561  
 43562  type HostRemoveVFlashResource HostRemoveVFlashResourceRequestType
 43563  
 43564  func init() {
 43565  	t["HostRemoveVFlashResource"] = reflect.TypeOf((*HostRemoveVFlashResource)(nil)).Elem()
 43566  }
 43567  
 43568  type HostRemoveVFlashResourceRequestType struct {
 43569  	This ManagedObjectReference `xml:"_this" json:"-"`
 43570  }
 43571  
 43572  func init() {
 43573  	t["HostRemoveVFlashResourceRequestType"] = reflect.TypeOf((*HostRemoveVFlashResourceRequestType)(nil)).Elem()
 43574  }
 43575  
 43576  type HostRemoveVFlashResourceResponse struct {
 43577  }
 43578  
 43579  // This event records the removal of a host from VirtualCenter.
 43580  type HostRemovedEvent struct {
 43581  	HostEvent
 43582  }
 43583  
 43584  func init() {
 43585  	t["HostRemovedEvent"] = reflect.TypeOf((*HostRemovedEvent)(nil)).Elem()
 43586  }
 43587  
 43588  type HostRenameVStorageObject HostRenameVStorageObjectRequestType
 43589  
 43590  func init() {
 43591  	t["HostRenameVStorageObject"] = reflect.TypeOf((*HostRenameVStorageObject)(nil)).Elem()
 43592  }
 43593  
 43594  // The parameters of `HostVStorageObjectManager.HostRenameVStorageObject`.
 43595  type HostRenameVStorageObjectRequestType struct {
 43596  	This ManagedObjectReference `xml:"_this" json:"-"`
 43597  	// The ID of the virtual storage object to be renamed.
 43598  	Id ID `xml:"id" json:"id"`
 43599  	// The datastore where the virtual storage object is
 43600  	// located.
 43601  	//
 43602  	// Refers instance of `Datastore`.
 43603  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 43604  	// The new name for the virtual storage object.
 43605  	Name string `xml:"name" json:"name"`
 43606  }
 43607  
 43608  func init() {
 43609  	t["HostRenameVStorageObjectRequestType"] = reflect.TypeOf((*HostRenameVStorageObjectRequestType)(nil)).Elem()
 43610  }
 43611  
 43612  type HostRenameVStorageObjectResponse struct {
 43613  }
 43614  
 43615  // The `HostResignatureRescanResult` data object
 43616  // identifies the newly created volume that is the result of a
 43617  // resignature operation.
 43618  //
 43619  // This data object is contained in the
 43620  // task object returned by the
 43621  // `HostDatastoreSystem.ResignatureUnresolvedVmfsVolume_Task`
 43622  // method.
 43623  //
 43624  // When a client calls the resignature method, the Server
 43625  // resignatures the volume, rescans the specified list of hosts,
 43626  // and auto-mounts the volume on the other hosts that share the same
 43627  // underlying storage LUNs.
 43628  type HostResignatureRescanResult struct {
 43629  	DynamicData
 43630  
 43631  	// Deprecated as of vSphere API 5.1, the results of the operation
 43632  	// are available when the task completes. That is, for shared volumes,
 43633  	// the new volume is mounted on all of the connected hosts.
 43634  	//
 43635  	// List of VMFS Rescan operation results.
 43636  	Rescan []HostVmfsRescanResult `xml:"rescan,omitempty" json:"rescan,omitempty"`
 43637  	// When an UnresolvedVmfsVolume has been resignatured, we want to return the
 43638  	// newly created VMFS Datastore.
 43639  	//
 43640  	// Refers instance of `Datastore`.
 43641  	Result ManagedObjectReference `xml:"result" json:"result"`
 43642  }
 43643  
 43644  func init() {
 43645  	t["HostResignatureRescanResult"] = reflect.TypeOf((*HostResignatureRescanResult)(nil)).Elem()
 43646  	minAPIVersionForType["HostResignatureRescanResult"] = "4.0"
 43647  }
 43648  
 43649  type HostRetrieveVStorageInfrastructureObjectPolicy HostRetrieveVStorageInfrastructureObjectPolicyRequestType
 43650  
 43651  func init() {
 43652  	t["HostRetrieveVStorageInfrastructureObjectPolicy"] = reflect.TypeOf((*HostRetrieveVStorageInfrastructureObjectPolicy)(nil)).Elem()
 43653  }
 43654  
 43655  // The parameters of `HostVStorageObjectManager.HostRetrieveVStorageInfrastructureObjectPolicy`.
 43656  type HostRetrieveVStorageInfrastructureObjectPolicyRequestType struct {
 43657  	This ManagedObjectReference `xml:"_this" json:"-"`
 43658  	// Datastore on which policy needs to be retrieved.
 43659  	//
 43660  	// Refers instance of `Datastore`.
 43661  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 43662  }
 43663  
 43664  func init() {
 43665  	t["HostRetrieveVStorageInfrastructureObjectPolicyRequestType"] = reflect.TypeOf((*HostRetrieveVStorageInfrastructureObjectPolicyRequestType)(nil)).Elem()
 43666  }
 43667  
 43668  type HostRetrieveVStorageInfrastructureObjectPolicyResponse struct {
 43669  	Returnval []VslmInfrastructureObjectPolicy `xml:"returnval,omitempty" json:"returnval,omitempty"`
 43670  }
 43671  
 43672  type HostRetrieveVStorageObject HostRetrieveVStorageObjectRequestType
 43673  
 43674  func init() {
 43675  	t["HostRetrieveVStorageObject"] = reflect.TypeOf((*HostRetrieveVStorageObject)(nil)).Elem()
 43676  }
 43677  
 43678  type HostRetrieveVStorageObjectMetadata HostRetrieveVStorageObjectMetadataRequestType
 43679  
 43680  func init() {
 43681  	t["HostRetrieveVStorageObjectMetadata"] = reflect.TypeOf((*HostRetrieveVStorageObjectMetadata)(nil)).Elem()
 43682  }
 43683  
 43684  // The parameters of `HostVStorageObjectManager.HostRetrieveVStorageObjectMetadata`.
 43685  type HostRetrieveVStorageObjectMetadataRequestType struct {
 43686  	This ManagedObjectReference `xml:"_this" json:"-"`
 43687  	// The ID of the virtual storage object.
 43688  	Id ID `xml:"id" json:"id"`
 43689  	// The datastore to query for the virtual storage objects.
 43690  	//
 43691  	// Refers instance of `Datastore`.
 43692  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 43693  	// The ID of the snapshot of virtual storage object.
 43694  	SnapshotId *ID `xml:"snapshotId,omitempty" json:"snapshotId,omitempty"`
 43695  	// The prefix of the metadata key that needs to be retrieved
 43696  	Prefix string `xml:"prefix,omitempty" json:"prefix,omitempty"`
 43697  }
 43698  
 43699  func init() {
 43700  	t["HostRetrieveVStorageObjectMetadataRequestType"] = reflect.TypeOf((*HostRetrieveVStorageObjectMetadataRequestType)(nil)).Elem()
 43701  }
 43702  
 43703  type HostRetrieveVStorageObjectMetadataResponse struct {
 43704  	Returnval []KeyValue `xml:"returnval,omitempty" json:"returnval,omitempty"`
 43705  }
 43706  
 43707  type HostRetrieveVStorageObjectMetadataValue HostRetrieveVStorageObjectMetadataValueRequestType
 43708  
 43709  func init() {
 43710  	t["HostRetrieveVStorageObjectMetadataValue"] = reflect.TypeOf((*HostRetrieveVStorageObjectMetadataValue)(nil)).Elem()
 43711  }
 43712  
 43713  // The parameters of `HostVStorageObjectManager.HostRetrieveVStorageObjectMetadataValue`.
 43714  type HostRetrieveVStorageObjectMetadataValueRequestType struct {
 43715  	This ManagedObjectReference `xml:"_this" json:"-"`
 43716  	// The ID of the virtual storage object.
 43717  	Id ID `xml:"id" json:"id"`
 43718  	// The datastore to query for the virtual storage objects.
 43719  	//
 43720  	// Refers instance of `Datastore`.
 43721  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 43722  	// The ID of the snapshot of virtual storage object.
 43723  	SnapshotId *ID `xml:"snapshotId,omitempty" json:"snapshotId,omitempty"`
 43724  	// The key for the the virtual storage object
 43725  	Key string `xml:"key" json:"key"`
 43726  }
 43727  
 43728  func init() {
 43729  	t["HostRetrieveVStorageObjectMetadataValueRequestType"] = reflect.TypeOf((*HostRetrieveVStorageObjectMetadataValueRequestType)(nil)).Elem()
 43730  }
 43731  
 43732  type HostRetrieveVStorageObjectMetadataValueResponse struct {
 43733  	Returnval string `xml:"returnval" json:"returnval"`
 43734  }
 43735  
 43736  // The parameters of `HostVStorageObjectManager.HostRetrieveVStorageObject`.
 43737  type HostRetrieveVStorageObjectRequestType struct {
 43738  	This ManagedObjectReference `xml:"_this" json:"-"`
 43739  	// The ID of the virtual storage object to be retrieved.
 43740  	Id ID `xml:"id" json:"id"`
 43741  	// The datastore where the virtual storage object is
 43742  	// located.
 43743  	//
 43744  	// Refers instance of `Datastore`.
 43745  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 43746  	// Flags indicating the FCD information to be
 43747  	// retrieved. If diskInfoFlags is unset, then all FCD
 43748  	// information will be retrieved. See
 43749  	// `vslmDiskInfoFlag_enum` for the list of
 43750  	// supported values.
 43751  	DiskInfoFlags []string `xml:"diskInfoFlags,omitempty" json:"diskInfoFlags,omitempty" vim:"8.0.0.1"`
 43752  }
 43753  
 43754  func init() {
 43755  	t["HostRetrieveVStorageObjectRequestType"] = reflect.TypeOf((*HostRetrieveVStorageObjectRequestType)(nil)).Elem()
 43756  }
 43757  
 43758  type HostRetrieveVStorageObjectResponse struct {
 43759  	Returnval VStorageObject `xml:"returnval" json:"returnval"`
 43760  }
 43761  
 43762  type HostRetrieveVStorageObjectState HostRetrieveVStorageObjectStateRequestType
 43763  
 43764  func init() {
 43765  	t["HostRetrieveVStorageObjectState"] = reflect.TypeOf((*HostRetrieveVStorageObjectState)(nil)).Elem()
 43766  }
 43767  
 43768  // The parameters of `HostVStorageObjectManager.HostRetrieveVStorageObjectState`.
 43769  type HostRetrieveVStorageObjectStateRequestType struct {
 43770  	This ManagedObjectReference `xml:"_this" json:"-"`
 43771  	// The ID of the virtual storage object the state to be retrieved.
 43772  	Id ID `xml:"id" json:"id"`
 43773  	// The datastore where the virtual storage object is
 43774  	// located.
 43775  	//
 43776  	// Refers instance of `Datastore`.
 43777  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 43778  }
 43779  
 43780  func init() {
 43781  	t["HostRetrieveVStorageObjectStateRequestType"] = reflect.TypeOf((*HostRetrieveVStorageObjectStateRequestType)(nil)).Elem()
 43782  }
 43783  
 43784  type HostRetrieveVStorageObjectStateResponse struct {
 43785  	Returnval VStorageObjectStateInfo `xml:"returnval" json:"returnval"`
 43786  }
 43787  
 43788  // This data object type describes the runtime state of a host.
 43789  type HostRuntimeInfo struct {
 43790  	DynamicData
 43791  
 43792  	// The host connection state.
 43793  	//
 43794  	// See the description in the enums for the
 43795  	// `ConnectionState` data object type.
 43796  	ConnectionState HostSystemConnectionState `xml:"connectionState" json:"connectionState"`
 43797  	// The host power state.
 43798  	//
 43799  	// See the description in the enums for the
 43800  	// `PowerState` data object type.
 43801  	PowerState HostSystemPowerState `xml:"powerState" json:"powerState" vim:"2.5"`
 43802  	// The host's standby mode.
 43803  	//
 43804  	// For valid values see
 43805  	// `HostStandbyMode_enum`. The property is only populated by
 43806  	// vCenter server. If queried directly from a ESX host, the property is
 43807  	// is unset.
 43808  	StandbyMode string `xml:"standbyMode,omitempty" json:"standbyMode,omitempty" vim:"4.1"`
 43809  	// The flag to indicate whether or not the host is in maintenance mode.
 43810  	//
 43811  	// This
 43812  	// flag is set when the host has entered the maintenance mode. It is not set
 43813  	// during the entering phase of maintenance mode.
 43814  	//
 43815  	// See also `HostSystem.EnterMaintenanceMode_Task`, `HostSystem.ExitMaintenanceMode_Task`.
 43816  	InMaintenanceMode bool `xml:"inMaintenanceMode" json:"inMaintenanceMode"`
 43817  	// The flag to indicate whether or not the host is in quarantine mode.
 43818  	//
 43819  	// InfraUpdateHa will recommend to set this flag based on the HealthUpdates
 43820  	// received by the HealthUpdateProviders configured for the cluster. A
 43821  	// host that is reported as degraded will be recommended to enter quarantine
 43822  	// mode, while a host that is reported as healthy will be recommended to
 43823  	// exit quarantine mode. Execution of these recommended actions will set
 43824  	// this flag. Hosts in quarantine mode will be avoided by vSphere DRS as
 43825  	// long as the increased consolidation in the cluster does not negatively
 43826  	// affect VM performance.
 43827  	//
 43828  	// See also `HealthUpdateManager`, `ClusterInfraUpdateHaConfigInfo`, `ClusterHostInfraUpdateHaModeAction`.
 43829  	InQuarantineMode *bool `xml:"inQuarantineMode" json:"inQuarantineMode,omitempty" vim:"6.5"`
 43830  	// The time when the host was booted.
 43831  	BootTime *time.Time `xml:"bootTime" json:"bootTime,omitempty"`
 43832  	// Available system health status
 43833  	HealthSystemRuntime *HealthSystemRuntime `xml:"healthSystemRuntime,omitempty" json:"healthSystemRuntime,omitempty" vim:"2.5"`
 43834  	// The availability state of an active host in a vSphere HA enabled
 43835  	// cluster.
 43836  	//
 43837  	// A host is inactive if it is in maintenance or standby mode, or
 43838  	// it has been disconnected from vCenter Server. The active hosts in a cluster
 43839  	// form a vSphere HA fault domain.
 43840  	//
 43841  	// The property is unset if vSphere HA is disabled, the host is
 43842  	// in maintenance or standby mode, or the host is disconnected from
 43843  	// vCenter Server. The property is set to hostDown if the host has crashed.
 43844  	DasHostState *ClusterDasFdmHostState `xml:"dasHostState,omitempty" json:"dasHostState,omitempty" vim:"5.0"`
 43845  	// Deprecated as of @released("5.1") this information should be
 43846  	// considered to be neither complete nor reliable.
 43847  	//
 43848  	// The array of PCR digest values stored in the TPM device since the last
 43849  	// host boot time.
 43850  	TpmPcrValues []HostTpmDigestInfo `xml:"tpmPcrValues,omitempty" json:"tpmPcrValues,omitempty" vim:"4.0"`
 43851  	// Host Runtime information related to the VSAN service.
 43852  	//
 43853  	// See also `VsanHostRuntimeInfo`.
 43854  	VsanRuntimeInfo *VsanHostRuntimeInfo `xml:"vsanRuntimeInfo,omitempty" json:"vsanRuntimeInfo,omitempty" vim:"5.5"`
 43855  	// This property is for getting network related runtime info
 43856  	NetworkRuntimeInfo *HostRuntimeInfoNetworkRuntimeInfo `xml:"networkRuntimeInfo,omitempty" json:"networkRuntimeInfo,omitempty" vim:"5.5"`
 43857  	// Runtime information of vFlash resource of the host.
 43858  	VFlashResourceRuntimeInfo *HostVFlashManagerVFlashResourceRunTimeInfo `xml:"vFlashResourceRuntimeInfo,omitempty" json:"vFlashResourceRuntimeInfo,omitempty" vim:"5.5"`
 43859  	// The maximum theoretical virtual disk capacity supported by this host
 43860  	HostMaxVirtualDiskCapacity int64 `xml:"hostMaxVirtualDiskCapacity,omitempty" json:"hostMaxVirtualDiskCapacity,omitempty" vim:"5.5"`
 43861  	// Encryption state of the host.
 43862  	//
 43863  	// Valid values are enumerated by the
 43864  	// `CryptoState` type.
 43865  	CryptoState string `xml:"cryptoState,omitempty" json:"cryptoState,omitempty" vim:"6.5"`
 43866  	// Crypto Key used for coredump encryption
 43867  	CryptoKeyId *CryptoKeyId `xml:"cryptoKeyId,omitempty" json:"cryptoKeyId,omitempty" vim:"6.5"`
 43868  	// Indicating the host is ready for NVDS to VDS migration.
 43869  	//
 43870  	// See `HostRuntimeInfoStatelessNvdsMigrationState_enum` for supported values.
 43871  	StatelessNvdsMigrationReady string `xml:"statelessNvdsMigrationReady,omitempty" json:"statelessNvdsMigrationReady,omitempty" vim:"7.0.2.0"`
 43872  	// Host persistent state encryption information.
 43873  	StateEncryption *HostRuntimeInfoStateEncryptionInfo `xml:"stateEncryption,omitempty" json:"stateEncryption,omitempty" vim:"7.0.3.0"`
 43874  }
 43875  
 43876  func init() {
 43877  	t["HostRuntimeInfo"] = reflect.TypeOf((*HostRuntimeInfo)(nil)).Elem()
 43878  }
 43879  
 43880  // This data type describes network stack instance runtime info
 43881  type HostRuntimeInfoNetStackInstanceRuntimeInfo struct {
 43882  	DynamicData
 43883  
 43884  	// Key of the instance
 43885  	NetStackInstanceKey string `xml:"netStackInstanceKey" json:"netStackInstanceKey"`
 43886  	// State of the instance
 43887  	// See `HostRuntimeInfoNetStackInstanceRuntimeInfoState_enum` for valid values.
 43888  	State string `xml:"state,omitempty" json:"state,omitempty"`
 43889  	// The keys of vmknics that are using this stack
 43890  	VmknicKeys []string `xml:"vmknicKeys,omitempty" json:"vmknicKeys,omitempty"`
 43891  	// The maximum number of socket connections can be worked on this
 43892  	// instance currently after booting up.
 43893  	MaxNumberOfConnections int32 `xml:"maxNumberOfConnections,omitempty" json:"maxNumberOfConnections,omitempty"`
 43894  	// If true then dual IPv4/IPv6 stack enabled else IPv4 only.
 43895  	CurrentIpV6Enabled *bool `xml:"currentIpV6Enabled" json:"currentIpV6Enabled,omitempty"`
 43896  }
 43897  
 43898  func init() {
 43899  	t["HostRuntimeInfoNetStackInstanceRuntimeInfo"] = reflect.TypeOf((*HostRuntimeInfoNetStackInstanceRuntimeInfo)(nil)).Elem()
 43900  	minAPIVersionForType["HostRuntimeInfoNetStackInstanceRuntimeInfo"] = "5.5"
 43901  }
 43902  
 43903  // This data type describes network related runtime info
 43904  type HostRuntimeInfoNetworkRuntimeInfo struct {
 43905  	DynamicData
 43906  
 43907  	// The list of network stack runtime info
 43908  	NetStackInstanceRuntimeInfo []HostRuntimeInfoNetStackInstanceRuntimeInfo `xml:"netStackInstanceRuntimeInfo,omitempty" json:"netStackInstanceRuntimeInfo,omitempty"`
 43909  	// The network resource runtime information
 43910  	NetworkResourceRuntime *HostNetworkResourceRuntime `xml:"networkResourceRuntime,omitempty" json:"networkResourceRuntime,omitempty" vim:"6.0"`
 43911  }
 43912  
 43913  func init() {
 43914  	t["HostRuntimeInfoNetworkRuntimeInfo"] = reflect.TypeOf((*HostRuntimeInfoNetworkRuntimeInfo)(nil)).Elem()
 43915  	minAPIVersionForType["HostRuntimeInfoNetworkRuntimeInfo"] = "5.5"
 43916  }
 43917  
 43918  // This data type describes the host's persistent state encryption.
 43919  type HostRuntimeInfoStateEncryptionInfo struct {
 43920  	DynamicData
 43921  
 43922  	// The state encryption key protection mode.
 43923  	//
 43924  	// The host state is encrypted with a key that is protected using
 43925  	// one of the modes specified by `HostRuntimeInfoStateEncryptionInfoProtectionMode_enum`.
 43926  	ProtectionMode string `xml:"protectionMode" json:"protectionMode"`
 43927  	// Indicates if UEFI Secure Boot must be enabled in order for the
 43928  	// state encryption key to be accessible.
 43929  	RequireSecureBoot *bool `xml:"requireSecureBoot" json:"requireSecureBoot,omitempty"`
 43930  	// Indicates if the "execInstalledOnly" enforcement must be active
 43931  	// for the state encryption key to be accessible.
 43932  	RequireExecInstalledOnly *bool `xml:"requireExecInstalledOnly" json:"requireExecInstalledOnly,omitempty"`
 43933  }
 43934  
 43935  func init() {
 43936  	t["HostRuntimeInfoStateEncryptionInfo"] = reflect.TypeOf((*HostRuntimeInfoStateEncryptionInfo)(nil)).Elem()
 43937  	minAPIVersionForType["HostRuntimeInfoStateEncryptionInfo"] = "7.0.3.0"
 43938  }
 43939  
 43940  type HostScheduleReconcileDatastoreInventory HostScheduleReconcileDatastoreInventoryRequestType
 43941  
 43942  func init() {
 43943  	t["HostScheduleReconcileDatastoreInventory"] = reflect.TypeOf((*HostScheduleReconcileDatastoreInventory)(nil)).Elem()
 43944  }
 43945  
 43946  // The parameters of `HostVStorageObjectManager.HostScheduleReconcileDatastoreInventory`.
 43947  type HostScheduleReconcileDatastoreInventoryRequestType struct {
 43948  	This ManagedObjectReference `xml:"_this" json:"-"`
 43949  	// The datastore that needs to be reconciled.
 43950  	//
 43951  	// Refers instance of `Datastore`.
 43952  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 43953  }
 43954  
 43955  func init() {
 43956  	t["HostScheduleReconcileDatastoreInventoryRequestType"] = reflect.TypeOf((*HostScheduleReconcileDatastoreInventoryRequestType)(nil)).Elem()
 43957  }
 43958  
 43959  type HostScheduleReconcileDatastoreInventoryResponse struct {
 43960  }
 43961  
 43962  // This data object type describes a SCSI disk.
 43963  //
 43964  // A SCSI disk contains a
 43965  // partition table which can be changed.
 43966  // To change a SCSI disk, use the device name and the partition specification.
 43967  //
 43968  // See also `HostStorageSystem.RetrieveDiskPartitionInfo`, `HostStorageSystem.UpdateDiskPartitions`.
 43969  type HostScsiDisk struct {
 43970  	ScsiLun
 43971  
 43972  	// The size of SCSI disk using the Logical Block Addressing scheme.
 43973  	Capacity HostDiskDimensionsLba `xml:"capacity" json:"capacity"`
 43974  	// The device path of the ScsiDisk.
 43975  	//
 43976  	// This device path is a file path
 43977  	// that can be opened to create partitions on the disk.
 43978  	//
 43979  	// See also `HostStorageSystem.RetrieveDiskPartitionInfo`, `HostStorageSystem.UpdateDiskPartitions`.
 43980  	DevicePath string `xml:"devicePath" json:"devicePath"`
 43981  	// Indicates whether the ScsiDisk is SSD backed.
 43982  	//
 43983  	// If unset, the information whether the ScsiDisk is SSD backed
 43984  	// is unknown.
 43985  	Ssd *bool `xml:"ssd" json:"ssd,omitempty" vim:"5.0"`
 43986  	// Indicates whether the ScsiDisk is local.
 43987  	//
 43988  	// If unset, the information whether the ScsiDisk is local is unknown.
 43989  	LocalDisk *bool `xml:"localDisk" json:"localDisk,omitempty" vim:"6.0"`
 43990  	// The physical location of the ScsiDisk if can be determined, otherwise
 43991  	// unset.
 43992  	//
 43993  	// If the ScsiDisk is a logical drive, it should be the
 43994  	// location of all constituent physical drives of the logical drive.
 43995  	// If the ScsiDisk is a physical drive, it's an array of one element.
 43996  	PhysicalLocation []string `xml:"physicalLocation,omitempty" json:"physicalLocation,omitempty" vim:"6.0"`
 43997  	// Indicates whether the ScsiDisk has emulated Data Integrity Extension
 43998  	// (DIX) / Data Integrity Field (DIF) enabled.
 43999  	//
 44000  	// If unset, the default value is false.
 44001  	EmulatedDIXDIFEnabled *bool `xml:"emulatedDIXDIFEnabled" json:"emulatedDIXDIFEnabled,omitempty" vim:"6.0"`
 44002  	// Indicates the additional VSAN information
 44003  	// if this disk is used by VSAN.
 44004  	VsanDiskInfo *VsanHostVsanDiskInfo `xml:"vsanDiskInfo,omitempty" json:"vsanDiskInfo,omitempty" vim:"6.0"`
 44005  	// The type of disk drives.
 44006  	//
 44007  	// See `ScsiDiskType_enum`
 44008  	// for definitions of supported types.
 44009  	ScsiDiskType string `xml:"scsiDiskType,omitempty" json:"scsiDiskType,omitempty" vim:"6.5"`
 44010  }
 44011  
 44012  func init() {
 44013  	t["HostScsiDisk"] = reflect.TypeOf((*HostScsiDisk)(nil)).Elem()
 44014  }
 44015  
 44016  // This data object type describes the specification of a Disk partition.
 44017  type HostScsiDiskPartition struct {
 44018  	DynamicData
 44019  
 44020  	// The SCSI disk device on which a VMware File System (VMFS)
 44021  	// extent resides.
 44022  	//
 44023  	// See also `HostScsiDisk`, `ScsiLun.canonicalName`.
 44024  	DiskName string `xml:"diskName" json:"diskName"`
 44025  	// The partition number of the partition on the ScsiDisk.
 44026  	Partition int32 `xml:"partition" json:"partition"`
 44027  }
 44028  
 44029  func init() {
 44030  	t["HostScsiDiskPartition"] = reflect.TypeOf((*HostScsiDiskPartition)(nil)).Elem()
 44031  }
 44032  
 44033  // This data object type describes the SCSI topology information.
 44034  //
 44035  // The
 44036  // data objects in this data object type model the
 44037  // SCSI storage objects from a topological point of view. The SCSI topological
 44038  // view organizes objects by SCSI interface, which contain targets, which in
 44039  // turn contain logical units.
 44040  //
 44041  // SCSI Topology information is not guaranteed to exhaustively enumerate all
 44042  // storage devices on the system. It only shows storage devices that are
 44043  // actually enumerable from a host bus adapter. This means that only storage
 44044  // devices that are composed from one or more paths, which are in turn provided
 44045  // by a host bus adapter, will appear in this inventory.
 44046  //
 44047  // Storage devices provided by the native multipathing plugin (NMP) will always
 44048  // be represented in this inventory since NMP uses a simple policy to create
 44049  // devices out of the paths it claims.
 44050  //
 44051  // Examples of storage devices that will not appear in this inventory are
 44052  // logical devices that are not formed from directly claiming paths. Specific
 44053  // examples of devices that will not appear in this inventory include a device
 44054  // backed by a ramdisk or formed from a software RAID plugin.
 44055  //
 44056  // Legacy note: In hosts where `HostPlugStoreTopology` is not
 44057  // defined or does not exist on the `HostStorageDeviceInfo` object,
 44058  // only native multipathing exists. That means for these hosts, the
 44059  // ScsiTopology object contains the complete set of LUNs and targets
 44060  // available on the host.
 44061  type HostScsiTopology struct {
 44062  	DynamicData
 44063  
 44064  	// The list of SCSI interfaces.
 44065  	Adapter []HostScsiTopologyInterface `xml:"adapter,omitempty" json:"adapter,omitempty"`
 44066  }
 44067  
 44068  func init() {
 44069  	t["HostScsiTopology"] = reflect.TypeOf((*HostScsiTopology)(nil)).Elem()
 44070  }
 44071  
 44072  // This data object type describes the SCSI interface that is associated
 44073  // with a list of targets.
 44074  type HostScsiTopologyInterface struct {
 44075  	DynamicData
 44076  
 44077  	// The identifier for the SCSI interface
 44078  	Key string `xml:"key" json:"key"`
 44079  	// The link to data for this SCSI interface.
 44080  	Adapter string `xml:"adapter" json:"adapter"`
 44081  	// The list of targets to which the SCSI interface is associated.
 44082  	Target []HostScsiTopologyTarget `xml:"target,omitempty" json:"target,omitempty"`
 44083  }
 44084  
 44085  func init() {
 44086  	t["HostScsiTopologyInterface"] = reflect.TypeOf((*HostScsiTopologyInterface)(nil)).Elem()
 44087  }
 44088  
 44089  // This data object type describes the SCSI logical unit.
 44090  type HostScsiTopologyLun struct {
 44091  	DynamicData
 44092  
 44093  	// The identifier for the SCSI Lun
 44094  	Key string `xml:"key" json:"key"`
 44095  	// The logical unit number of the SCSI logical unit.
 44096  	Lun int32 `xml:"lun" json:"lun"`
 44097  	// The link to data for this SCSI logical unit.
 44098  	ScsiLun string `xml:"scsiLun" json:"scsiLun"`
 44099  }
 44100  
 44101  func init() {
 44102  	t["HostScsiTopologyLun"] = reflect.TypeOf((*HostScsiTopologyLun)(nil)).Elem()
 44103  }
 44104  
 44105  // This data object type describes the SCSI target that is associated
 44106  // with a list of logical units.
 44107  type HostScsiTopologyTarget struct {
 44108  	DynamicData
 44109  
 44110  	// The identifier for the SCSI target
 44111  	Key string `xml:"key" json:"key"`
 44112  	// The target identifier.
 44113  	Target int32 `xml:"target" json:"target"`
 44114  	// The list of SCSI logical units with which a target is associated.
 44115  	Lun []HostScsiTopologyLun `xml:"lun,omitempty" json:"lun,omitempty"`
 44116  	// SCSI Transport information about the target.
 44117  	Transport BaseHostTargetTransport `xml:"transport,omitempty,typeattr" json:"transport,omitempty"`
 44118  }
 44119  
 44120  func init() {
 44121  	t["HostScsiTopologyTarget"] = reflect.TypeOf((*HostScsiTopologyTarget)(nil)).Elem()
 44122  }
 44123  
 44124  // DataObject used for configuring the Security settings
 44125  type HostSecuritySpec struct {
 44126  	DynamicData
 44127  
 44128  	// Administrator password to configure
 44129  	AdminPassword string `xml:"adminPassword,omitempty" json:"adminPassword,omitempty"`
 44130  	// Permissions to remove
 44131  	RemovePermission []Permission `xml:"removePermission,omitempty" json:"removePermission,omitempty" vim:"4.1"`
 44132  	// Permissions to add
 44133  	AddPermission []Permission `xml:"addPermission,omitempty" json:"addPermission,omitempty" vim:"4.1"`
 44134  }
 44135  
 44136  func init() {
 44137  	t["HostSecuritySpec"] = reflect.TypeOf((*HostSecuritySpec)(nil)).Elem()
 44138  	minAPIVersionForType["HostSecuritySpec"] = "4.0"
 44139  }
 44140  
 44141  // The data object type describes the
 44142  // Serial Attached Scsi(SAS) interface.
 44143  type HostSerialAttachedHba struct {
 44144  	HostHostBusAdapter
 44145  
 44146  	// The world wide node name for the adapter.
 44147  	NodeWorldWideName string `xml:"nodeWorldWideName" json:"nodeWorldWideName"`
 44148  }
 44149  
 44150  func init() {
 44151  	t["HostSerialAttachedHba"] = reflect.TypeOf((*HostSerialAttachedHba)(nil)).Elem()
 44152  	minAPIVersionForType["HostSerialAttachedHba"] = "6.5"
 44153  }
 44154  
 44155  // Serial attached adapter transport information about a SCSI target.
 44156  type HostSerialAttachedTargetTransport struct {
 44157  	HostTargetTransport
 44158  }
 44159  
 44160  func init() {
 44161  	t["HostSerialAttachedTargetTransport"] = reflect.TypeOf((*HostSerialAttachedTargetTransport)(nil)).Elem()
 44162  	minAPIVersionForType["HostSerialAttachedTargetTransport"] = "6.5"
 44163  }
 44164  
 44165  // Data object that describes a single service that runs on the host.
 44166  type HostService struct {
 44167  	DynamicData
 44168  
 44169  	// Brief identifier for the service.
 44170  	Key string `xml:"key" json:"key"`
 44171  	// Display label for the service.
 44172  	Label string `xml:"label" json:"label"`
 44173  	// Flag indicating whether the service is required and cannot be disabled.
 44174  	Required bool `xml:"required" json:"required"`
 44175  	// Deprecated this flag is unimplemented and will always be set to false.
 44176  	//
 44177  	// Flag indicating whether the service can be uninstalled.
 44178  	Uninstallable bool `xml:"uninstallable" json:"uninstallable"`
 44179  	// Flag indicating whether the service is currently running.
 44180  	Running bool `xml:"running" json:"running"`
 44181  	// List of firewall rulesets used by this service.
 44182  	//
 44183  	// Must come from the
 44184  	// list of rulesets in `HostFirewallInfo.ruleset`.
 44185  	Ruleset []string `xml:"ruleset,omitempty" json:"ruleset,omitempty"`
 44186  	// Service activation policy.
 44187  	//
 44188  	// See also `HostServicePolicy_enum`.
 44189  	Policy string `xml:"policy" json:"policy"`
 44190  	// The source package associated with the service
 44191  	SourcePackage *HostServiceSourcePackage `xml:"sourcePackage,omitempty" json:"sourcePackage,omitempty" vim:"5.0"`
 44192  }
 44193  
 44194  func init() {
 44195  	t["HostService"] = reflect.TypeOf((*HostService)(nil)).Elem()
 44196  }
 44197  
 44198  // DataObject representing configuration for a particular
 44199  // service.
 44200  type HostServiceConfig struct {
 44201  	DynamicData
 44202  
 44203  	// Key of the service to configure.
 44204  	ServiceId string `xml:"serviceId" json:"serviceId"`
 44205  	// Startup policy which defines how the service be configured.
 44206  	//
 44207  	// See @link Service.Policy for possible values.
 44208  	StartupPolicy string `xml:"startupPolicy" json:"startupPolicy"`
 44209  }
 44210  
 44211  func init() {
 44212  	t["HostServiceConfig"] = reflect.TypeOf((*HostServiceConfig)(nil)).Elem()
 44213  	minAPIVersionForType["HostServiceConfig"] = "4.0"
 44214  }
 44215  
 44216  // Data object describing the host service configuration.
 44217  type HostServiceInfo struct {
 44218  	DynamicData
 44219  
 44220  	// List of configured services.
 44221  	Service []HostService `xml:"service,omitempty" json:"service,omitempty"`
 44222  }
 44223  
 44224  func init() {
 44225  	t["HostServiceInfo"] = reflect.TypeOf((*HostServiceInfo)(nil)).Elem()
 44226  }
 44227  
 44228  type HostServiceSourcePackage struct {
 44229  	DynamicData
 44230  
 44231  	// The name of the source package
 44232  	SourcePackageName string `xml:"sourcePackageName" json:"sourcePackageName"`
 44233  	// The description of the source package
 44234  	Description string `xml:"description" json:"description"`
 44235  }
 44236  
 44237  func init() {
 44238  	t["HostServiceSourcePackage"] = reflect.TypeOf((*HostServiceSourcePackage)(nil)).Elem()
 44239  }
 44240  
 44241  // Return value for ticketable host services.
 44242  //
 44243  // The server has the option to
 44244  // provide a hostname and port for a future ticket-authenticated connection to
 44245  // a service on a host. If the service provider does not return a host the
 44246  // client must connect to the same host it used to request the ticket. In case
 44247  // the service provider does not return a port, except in the case of connecting
 44248  // to CIM interfaces, the client must connect using the same port it used to
 44249  // request the ticket. In the case of connecting to a CIM interface the
 44250  // standard well known port number for the particular service will be used for
 44251  // the connection.
 44252  //
 44253  // For example, when a client requests a ticket from an ESX Server, the returned ticket
 44254  // may omit the optional host and port. In such a case, the client establishes an
 44255  // out-of-band ticketed connection to the same server host and on the same port on
 44256  // which it made the connection to request the ticket. If this request is
 44257  // made to the VirtualCenter server, but the server does not provide the required
 44258  // service directly, then the server provides a hostname and port for a server that
 44259  // accepts the ticketed connection and provides the service.
 44260  type HostServiceTicket struct {
 44261  	DynamicData
 44262  
 44263  	// The name of the host providing the service for which the ticket applies.
 44264  	//
 44265  	// If
 44266  	// omitted, then the client uses the host name for the server that issued the ticket.
 44267  	Host string `xml:"host,omitempty" json:"host,omitempty"`
 44268  	// Access to some services is made possible by connecting to a port on a
 44269  	// server.
 44270  	//
 44271  	// If the service for which a ticket is issued is available on a
 44272  	// particular port, that port number is specified with this property. If
 44273  	// omitted, except in the case of connecting to CIM interfaces, the port
 44274  	// number for the service that issued the ticket is used. In the case of
 44275  	// connecting to a CIM interface the standard well known port for the
 44276  	// particular service will be used for the connection.
 44277  	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
 44278  	// The expected thumbprint of the SSL cert of the host to which
 44279  	// we are connecting.
 44280  	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty" vim:"2.5"`
 44281  	// The name of the service to which to connect.
 44282  	Service string `xml:"service" json:"service"`
 44283  	// A dot-separated string identifying the service protocol version.
 44284  	//
 44285  	// For example, 1.0
 44286  	// is used for NFC hosted by vpxa on ESX 2.5, and 1.1 is used for
 44287  	// NFC hosted by hostd on ESX 3.0.
 44288  	ServiceVersion string `xml:"serviceVersion" json:"serviceVersion"`
 44289  	// An identifying string for the session created for the ticketed connection.
 44290  	//
 44291  	// This
 44292  	// is used by the host service to identify the operations permitted within the
 44293  	// session.
 44294  	SessionId string `xml:"sessionId" json:"sessionId"`
 44295  }
 44296  
 44297  func init() {
 44298  	t["HostServiceTicket"] = reflect.TypeOf((*HostServiceTicket)(nil)).Elem()
 44299  }
 44300  
 44301  type HostSetVStorageObjectControlFlags HostSetVStorageObjectControlFlagsRequestType
 44302  
 44303  func init() {
 44304  	t["HostSetVStorageObjectControlFlags"] = reflect.TypeOf((*HostSetVStorageObjectControlFlags)(nil)).Elem()
 44305  }
 44306  
 44307  // The parameters of `HostVStorageObjectManager.HostSetVStorageObjectControlFlags`.
 44308  type HostSetVStorageObjectControlFlagsRequestType struct {
 44309  	This ManagedObjectReference `xml:"_this" json:"-"`
 44310  	// The ID of the virtual storage object.
 44311  	Id ID `xml:"id" json:"id"`
 44312  	// The datastore where the source virtual storage
 44313  	// object is located.
 44314  	//
 44315  	// Required privileges: Datastore.FileManagement
 44316  	//
 44317  	// Refers instance of `Datastore`.
 44318  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 44319  	// control flags enum array to be set on the
 44320  	// VStorageObject. All control flags not included
 44321  	// in the array remain intact.
 44322  	ControlFlags []string `xml:"controlFlags,omitempty" json:"controlFlags,omitempty"`
 44323  }
 44324  
 44325  func init() {
 44326  	t["HostSetVStorageObjectControlFlagsRequestType"] = reflect.TypeOf((*HostSetVStorageObjectControlFlagsRequestType)(nil)).Elem()
 44327  }
 44328  
 44329  type HostSetVStorageObjectControlFlagsResponse struct {
 44330  }
 44331  
 44332  type HostSevInfo struct {
 44333  	DynamicData
 44334  
 44335  	// State of SEV on the host.
 44336  	//
 44337  	// The set of supported values are described
 44338  	// in `HostSevInfoSevState_enum`.
 44339  	SevState string `xml:"sevState" json:"sevState"`
 44340  	// The maximum number of SEV-ES and SEV-SNP guests supported on this host.
 44341  	MaxSevEsGuests int64 `xml:"maxSevEsGuests" json:"maxSevEsGuests"`
 44342  }
 44343  
 44344  func init() {
 44345  	t["HostSevInfo"] = reflect.TypeOf((*HostSevInfo)(nil)).Elem()
 44346  }
 44347  
 44348  // Data object describing the Software Guard Extension (SGX)
 44349  // configuration on the ESXi host.
 44350  type HostSgxInfo struct {
 44351  	DynamicData
 44352  
 44353  	// SGX state of the host.
 44354  	//
 44355  	// The set of supported values are described
 44356  	// in `HostSgxInfoSgxStates_enum`.
 44357  	SgxState string `xml:"sgxState" json:"sgxState"`
 44358  	// Size of physical EPC in bytes.
 44359  	TotalEpcMemory int64 `xml:"totalEpcMemory" json:"totalEpcMemory"`
 44360  	// FLC mode of the host.
 44361  	//
 44362  	// The set of supported values are
 44363  	// described in `HostSgxInfoFlcModes_enum`.
 44364  	FlcMode string `xml:"flcMode" json:"flcMode"`
 44365  	// Public key hash of the provider launch enclave.
 44366  	//
 44367  	// This is the SHA256
 44368  	// digest of the SIGSTRUCT.MODULUS(MR\_SIGNER) of the provider launch
 44369  	// enclave. This attribute is set only if attribute flcMode is
 44370  	// locked.
 44371  	LePubKeyHash     string                   `xml:"lePubKeyHash,omitempty" json:"lePubKeyHash,omitempty"`
 44372  	RegistrationInfo *HostSgxRegistrationInfo `xml:"registrationInfo,omitempty" json:"registrationInfo,omitempty"`
 44373  }
 44374  
 44375  func init() {
 44376  	t["HostSgxInfo"] = reflect.TypeOf((*HostSgxInfo)(nil)).Elem()
 44377  	minAPIVersionForType["HostSgxInfo"] = "7.0"
 44378  }
 44379  
 44380  // Data object describing SGX host registration information.
 44381  type HostSgxRegistrationInfo struct {
 44382  	DynamicData
 44383  
 44384  	// SGX host registration status.
 44385  	//
 44386  	// Valid values come from `HostSgxRegistrationInfoRegistrationStatus_enum` enum.
 44387  	// Set, except in case of an internal error.
 44388  	Status string `xml:"status,omitempty" json:"status,omitempty"`
 44389  	// BIOS error related to SGX host registration.
 44390  	//
 44391  	// Set only if SGX registration status is incomplete.
 44392  	BiosError int32 `xml:"biosError,omitempty" json:"biosError,omitempty"`
 44393  	// SGX host registration URL.
 44394  	//
 44395  	// Unset if SGX registration status is not applicable
 44396  	// or in case of an internal error.
 44397  	RegistrationUrl string `xml:"registrationUrl,omitempty" json:"registrationUrl,omitempty"`
 44398  	// SGX host registration type.
 44399  	//
 44400  	// Valid values come from `HostSgxRegistrationInfoRegistrationType_enum` enum.
 44401  	// Unset if SGX registration status is not applicable,
 44402  	// complete, or in case of an internal error.
 44403  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 44404  	// Platform Provisioning ID (PPID).
 44405  	//
 44406  	// Hex-encoded representation of the the PPID
 44407  	// (Platform Provisioning ID), returned as the response
 44408  	// to a successful registration request. This field
 44409  	// is populated only on the vCenter through which
 44410  	// the host has been registered.
 44411  	Ppid string `xml:"ppid,omitempty" json:"ppid,omitempty"`
 44412  	// Timestamp of last successful registration
 44413  	// from this vCenter.
 44414  	LastRegisteredTime *time.Time `xml:"lastRegisteredTime" json:"lastRegisteredTime,omitempty"`
 44415  }
 44416  
 44417  func init() {
 44418  	t["HostSgxRegistrationInfo"] = reflect.TypeOf((*HostSgxRegistrationInfo)(nil)).Elem()
 44419  	minAPIVersionForType["HostSgxRegistrationInfo"] = "8.0.0.1"
 44420  }
 44421  
 44422  // Capability vector indicating the available shared graphics features.
 44423  type HostSharedGpuCapabilities struct {
 44424  	DynamicData
 44425  
 44426  	// Name of a particular VGPU available as a shared GPU device.
 44427  	//
 44428  	// See also `VirtualMachinePciSharedGpuPassthroughInfo`.
 44429  	Vgpu string `xml:"vgpu" json:"vgpu"`
 44430  	// Indicates whether the GPU plugin on this host is capable of
 44431  	// disk-only snapshots when VM is not powered off.
 44432  	//
 44433  	// Disk Snaphosts
 44434  	// on powered off VM are always supported.
 44435  	DiskSnapshotSupported bool `xml:"diskSnapshotSupported" json:"diskSnapshotSupported"`
 44436  	// Indicates whether the GPU plugin on this host is capable of
 44437  	// memory snapshots.
 44438  	MemorySnapshotSupported bool `xml:"memorySnapshotSupported" json:"memorySnapshotSupported"`
 44439  	// Indicates whether the GPU plugin on this host is capable of
 44440  	// suspend-resume.
 44441  	SuspendSupported bool `xml:"suspendSupported" json:"suspendSupported"`
 44442  	// Indicates whether the GPU plugin on this host is capable of
 44443  	// migration.
 44444  	MigrateSupported bool `xml:"migrateSupported" json:"migrateSupported"`
 44445  }
 44446  
 44447  func init() {
 44448  	t["HostSharedGpuCapabilities"] = reflect.TypeOf((*HostSharedGpuCapabilities)(nil)).Elem()
 44449  	minAPIVersionForType["HostSharedGpuCapabilities"] = "6.7"
 44450  }
 44451  
 44452  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 44453  //
 44454  // This event records that host name resolution returned different names on
 44455  // the host.
 44456  //
 44457  // Please check your host's network configuration and your DNS
 44458  // configuration. There may be duplicate entries.
 44459  type HostShortNameInconsistentEvent struct {
 44460  	HostDasEvent
 44461  
 44462  	ShortName  string `xml:"shortName" json:"shortName"`
 44463  	ShortName2 string `xml:"shortName2" json:"shortName2"`
 44464  }
 44465  
 44466  func init() {
 44467  	t["HostShortNameInconsistentEvent"] = reflect.TypeOf((*HostShortNameInconsistentEvent)(nil)).Elem()
 44468  	minAPIVersionForType["HostShortNameInconsistentEvent"] = "2.5"
 44469  }
 44470  
 44471  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 44472  //
 44473  // This event records that the host's short name could not be resolved to an IP address.
 44474  type HostShortNameToIpFailedEvent struct {
 44475  	HostEvent
 44476  
 44477  	ShortName string `xml:"shortName" json:"shortName"`
 44478  }
 44479  
 44480  func init() {
 44481  	t["HostShortNameToIpFailedEvent"] = reflect.TypeOf((*HostShortNameToIpFailedEvent)(nil)).Elem()
 44482  	minAPIVersionForType["HostShortNameToIpFailedEvent"] = "2.5"
 44483  }
 44484  
 44485  // This event records the shutdown of a host.
 44486  type HostShutdownEvent struct {
 44487  	HostEvent
 44488  
 44489  	// The reason for the host shutdown.
 44490  	Reason string `xml:"reason" json:"reason"`
 44491  }
 44492  
 44493  func init() {
 44494  	t["HostShutdownEvent"] = reflect.TypeOf((*HostShutdownEvent)(nil)).Elem()
 44495  }
 44496  
 44497  type HostSnmpConfigSpec struct {
 44498  	DynamicData
 44499  
 44500  	Enabled             *bool                 `xml:"enabled" json:"enabled,omitempty"`
 44501  	Port                int32                 `xml:"port,omitempty" json:"port,omitempty"`
 44502  	ReadOnlyCommunities []string              `xml:"readOnlyCommunities,omitempty" json:"readOnlyCommunities,omitempty"`
 44503  	TrapTargets         []HostSnmpDestination `xml:"trapTargets,omitempty" json:"trapTargets,omitempty"`
 44504  	Option              []KeyValue            `xml:"option,omitempty" json:"option,omitempty"`
 44505  }
 44506  
 44507  func init() {
 44508  	t["HostSnmpConfigSpec"] = reflect.TypeOf((*HostSnmpConfigSpec)(nil)).Elem()
 44509  }
 44510  
 44511  // Defines a receiver for SNMP Notifications
 44512  type HostSnmpDestination struct {
 44513  	DynamicData
 44514  
 44515  	// A system listening for SNMP notifications.
 44516  	//
 44517  	// These must be a IPv4 unicast address or resolvable dns name.
 44518  	HostName string `xml:"hostName" json:"hostName"`
 44519  	// UDP port to Notification receiver is listening on.
 44520  	//
 44521  	// udp/162 is
 44522  	// the reserved port
 44523  	Port      int32  `xml:"port" json:"port"`
 44524  	Community string `xml:"community" json:"community"`
 44525  }
 44526  
 44527  func init() {
 44528  	t["HostSnmpDestination"] = reflect.TypeOf((*HostSnmpDestination)(nil)).Elem()
 44529  }
 44530  
 44531  type HostSnmpSystemAgentLimits struct {
 44532  	DynamicData
 44533  
 44534  	// number of allowed communities
 44535  	MaxReadOnlyCommunities int32 `xml:"maxReadOnlyCommunities" json:"maxReadOnlyCommunities"`
 44536  	// number of allowed destinations for notifications
 44537  	MaxTrapDestinations int32 `xml:"maxTrapDestinations" json:"maxTrapDestinations"`
 44538  	// Max length of community
 44539  	MaxCommunityLength int32 `xml:"maxCommunityLength" json:"maxCommunityLength"`
 44540  	// SNMP input buffer size
 44541  	MaxBufferSize int32 `xml:"maxBufferSize" json:"maxBufferSize"`
 44542  	// Supported Capability for this agent
 44543  	Capability HostSnmpAgentCapability `xml:"capability,omitempty" json:"capability,omitempty" vim:"4.0"`
 44544  }
 44545  
 44546  func init() {
 44547  	t["HostSnmpSystemAgentLimits"] = reflect.TypeOf((*HostSnmpSystemAgentLimits)(nil)).Elem()
 44548  }
 44549  
 44550  type HostSpecGetUpdatedHosts HostSpecGetUpdatedHostsRequestType
 44551  
 44552  func init() {
 44553  	t["HostSpecGetUpdatedHosts"] = reflect.TypeOf((*HostSpecGetUpdatedHosts)(nil)).Elem()
 44554  }
 44555  
 44556  // The parameters of `HostSpecificationManager.HostSpecGetUpdatedHosts`.
 44557  type HostSpecGetUpdatedHostsRequestType struct {
 44558  	This ManagedObjectReference `xml:"_this" json:"-"`
 44559  	// The beginning of the time period.
 44560  	StartChangeID string `xml:"startChangeID,omitempty" json:"startChangeID,omitempty"`
 44561  	// The ending of the time period.
 44562  	EndChangeID string `xml:"endChangeID,omitempty" json:"endChangeID,omitempty"`
 44563  }
 44564  
 44565  func init() {
 44566  	t["HostSpecGetUpdatedHostsRequestType"] = reflect.TypeOf((*HostSpecGetUpdatedHostsRequestType)(nil)).Elem()
 44567  }
 44568  
 44569  type HostSpecGetUpdatedHostsResponse struct {
 44570  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 44571  }
 44572  
 44573  // The host specification data are those needed at host boot time to create and
 44574  // configure virtual devices and host services.
 44575  //
 44576  // The `HostSpecification` data object contains a collection of host sub
 44577  // specification data.
 44578  // For host sub specification data, see
 44579  // `HostSubSpecification`
 44580  // for details.
 44581  type HostSpecification struct {
 44582  	DynamicData
 44583  
 44584  	// Time at which the host specification was created.
 44585  	CreatedTime time.Time `xml:"createdTime" json:"createdTime"`
 44586  	// Time at which the host specification was last modified.
 44587  	//
 44588  	// If it isn't set,
 44589  	// it is the same as <code>createdTime</code>.
 44590  	LastModified *time.Time `xml:"lastModified" json:"lastModified,omitempty"`
 44591  	// The host that the spec data belongs to.
 44592  	//
 44593  	// Refers instance of `HostSystem`.
 44594  	Host ManagedObjectReference `xml:"host" json:"host"`
 44595  	// The collection of the host sub specifications.
 44596  	//
 44597  	// It is optional.
 44598  	SubSpecs []HostSubSpecification `xml:"subSpecs,omitempty" json:"subSpecs,omitempty"`
 44599  	// The change ID for querying the host specification data updated in a
 44600  	// time period.
 44601  	//
 44602  	// It has a format of timestamp:change\_number, where
 44603  	// timestamp is the decimal string of a start time, and change\_number is
 44604  	// the decimal string of an auto incremented variable counting from the
 44605  	// start time.
 44606  	ChangeID string `xml:"changeID,omitempty" json:"changeID,omitempty"`
 44607  }
 44608  
 44609  func init() {
 44610  	t["HostSpecification"] = reflect.TypeOf((*HostSpecification)(nil)).Elem()
 44611  	minAPIVersionForType["HostSpecification"] = "6.5"
 44612  }
 44613  
 44614  // This event records that the host specification was changed.
 44615  type HostSpecificationChangedEvent struct {
 44616  	HostEvent
 44617  }
 44618  
 44619  func init() {
 44620  	t["HostSpecificationChangedEvent"] = reflect.TypeOf((*HostSpecificationChangedEvent)(nil)).Elem()
 44621  	minAPIVersionForType["HostSpecificationChangedEvent"] = "6.5"
 44622  }
 44623  
 44624  // Fault thrown when an operation, on host specification or host sub
 44625  // specification for a host, failed.
 44626  type HostSpecificationOperationFailed struct {
 44627  	VimFault
 44628  
 44629  	// The host on which host specification operation failed.
 44630  	//
 44631  	// Refers instance of `HostSystem`.
 44632  	Host ManagedObjectReference `xml:"host" json:"host"`
 44633  }
 44634  
 44635  func init() {
 44636  	t["HostSpecificationOperationFailed"] = reflect.TypeOf((*HostSpecificationOperationFailed)(nil)).Elem()
 44637  	minAPIVersionForType["HostSpecificationOperationFailed"] = "6.5"
 44638  }
 44639  
 44640  type HostSpecificationOperationFailedFault HostSpecificationOperationFailed
 44641  
 44642  func init() {
 44643  	t["HostSpecificationOperationFailedFault"] = reflect.TypeOf((*HostSpecificationOperationFailedFault)(nil)).Elem()
 44644  }
 44645  
 44646  // This event is issued to that the host specification should be updated.
 44647  type HostSpecificationRequireEvent struct {
 44648  	HostEvent
 44649  }
 44650  
 44651  func init() {
 44652  	t["HostSpecificationRequireEvent"] = reflect.TypeOf((*HostSpecificationRequireEvent)(nil)).Elem()
 44653  	minAPIVersionForType["HostSpecificationRequireEvent"] = "6.5"
 44654  }
 44655  
 44656  // This event suggests that update the host specification with the
 44657  // encapsulated copy.
 44658  type HostSpecificationUpdateEvent struct {
 44659  	HostEvent
 44660  
 44661  	HostSpec HostSpecification `xml:"hostSpec" json:"hostSpec"`
 44662  }
 44663  
 44664  func init() {
 44665  	t["HostSpecificationUpdateEvent"] = reflect.TypeOf((*HostSpecificationUpdateEvent)(nil)).Elem()
 44666  	minAPIVersionForType["HostSpecificationUpdateEvent"] = "6.5"
 44667  }
 44668  
 44669  // This data object allows configuration of SR-IOV device.
 44670  type HostSriovConfig struct {
 44671  	HostPciPassthruConfig
 44672  
 44673  	// enable SR-IOV for this device
 44674  	SriovEnabled bool `xml:"sriovEnabled" json:"sriovEnabled"`
 44675  	// Number of SR-IOV virtual functions to enable on this device
 44676  	NumVirtualFunction int32 `xml:"numVirtualFunction" json:"numVirtualFunction"`
 44677  }
 44678  
 44679  func init() {
 44680  	t["HostSriovConfig"] = reflect.TypeOf((*HostSriovConfig)(nil)).Elem()
 44681  	minAPIVersionForType["HostSriovConfig"] = "5.5"
 44682  }
 44683  
 44684  type HostSriovDevicePoolInfo struct {
 44685  	DynamicData
 44686  
 44687  	Key string `xml:"key" json:"key"`
 44688  }
 44689  
 44690  func init() {
 44691  	t["HostSriovDevicePoolInfo"] = reflect.TypeOf((*HostSriovDevicePoolInfo)(nil)).Elem()
 44692  }
 44693  
 44694  // This data object provides information about the state of SR-IOV device.
 44695  type HostSriovInfo struct {
 44696  	HostPciPassthruInfo
 44697  
 44698  	// Whether SRIOV has been enabled by the user
 44699  	SriovEnabled bool `xml:"sriovEnabled" json:"sriovEnabled"`
 44700  	// Whether SRIOV is possible for this device
 44701  	SriovCapable bool `xml:"sriovCapable" json:"sriovCapable"`
 44702  	// Whether SRIOV is active for this device (meaning enabled + rebooted)
 44703  	SriovActive bool `xml:"sriovActive" json:"sriovActive"`
 44704  	// Number of SRIOV virtual functions requested for this device
 44705  	NumVirtualFunctionRequested int32 `xml:"numVirtualFunctionRequested" json:"numVirtualFunctionRequested"`
 44706  	// Number of SRIOV virtual functions present on this device
 44707  	NumVirtualFunction int32 `xml:"numVirtualFunction" json:"numVirtualFunction"`
 44708  	// Maximum number of SRIOV virtual functions supported on this device
 44709  	MaxVirtualFunctionSupported int32 `xml:"maxVirtualFunctionSupported" json:"maxVirtualFunctionSupported"`
 44710  }
 44711  
 44712  func init() {
 44713  	t["HostSriovInfo"] = reflect.TypeOf((*HostSriovInfo)(nil)).Elem()
 44714  	minAPIVersionForType["HostSriovInfo"] = "5.5"
 44715  }
 44716  
 44717  // Information on networking specific SR-IOV device pools
 44718  type HostSriovNetworkDevicePoolInfo struct {
 44719  	HostSriovDevicePoolInfo
 44720  
 44721  	// vSwitch key
 44722  	SwitchKey string `xml:"switchKey,omitempty" json:"switchKey,omitempty"`
 44723  	// DVS Uuid
 44724  	SwitchUuid string `xml:"switchUuid,omitempty" json:"switchUuid,omitempty"`
 44725  	// List of SR-IOV enabled physical nics that are backing the portgroup
 44726  	// identified by above key
 44727  	Pnic []PhysicalNic `xml:"pnic,omitempty" json:"pnic,omitempty"`
 44728  }
 44729  
 44730  func init() {
 44731  	t["HostSriovNetworkDevicePoolInfo"] = reflect.TypeOf((*HostSriovNetworkDevicePoolInfo)(nil)).Elem()
 44732  	minAPIVersionForType["HostSriovNetworkDevicePoolInfo"] = "6.5"
 44733  }
 44734  
 44735  // The SSL thumbprint information for a host managed by a vCenter Server
 44736  // or a vCenter extension to login into other hosts without
 44737  // username/password authentication.
 44738  type HostSslThumbprintInfo struct {
 44739  	DynamicData
 44740  
 44741  	// The principal used for the login session
 44742  	Principal string `xml:"principal" json:"principal"`
 44743  	// The tag associated with this registration.
 44744  	//
 44745  	// Owner tags allow
 44746  	// multiple entities to register the same thumbprint without
 44747  	// interfering with each other on the life cycle of the thumbprint with
 44748  	// their unique tags.
 44749  	// Each solution should use a unique tag to identify itself.
 44750  	OwnerTag string `xml:"ownerTag,omitempty" json:"ownerTag,omitempty" vim:"5.0"`
 44751  	// Specify the SSL thumbprints to register on the host.
 44752  	SslThumbprints []string `xml:"sslThumbprints,omitempty" json:"sslThumbprints,omitempty"`
 44753  }
 44754  
 44755  func init() {
 44756  	t["HostSslThumbprintInfo"] = reflect.TypeOf((*HostSslThumbprintInfo)(nil)).Elem()
 44757  	minAPIVersionForType["HostSslThumbprintInfo"] = "4.0"
 44758  }
 44759  
 44760  // This event records when a host's overall status changed.
 44761  type HostStatusChangedEvent struct {
 44762  	ClusterStatusChangedEvent
 44763  }
 44764  
 44765  func init() {
 44766  	t["HostStatusChangedEvent"] = reflect.TypeOf((*HostStatusChangedEvent)(nil)).Elem()
 44767  	minAPIVersionForType["HostStatusChangedEvent"] = "4.0"
 44768  }
 44769  
 44770  // Description of options associated with a native multipathing
 44771  // storage array type plugin.
 44772  type HostStorageArrayTypePolicyOption struct {
 44773  	DynamicData
 44774  
 44775  	// Description of the paths selection policy.
 44776  	//
 44777  	// Use the key as the
 44778  	// identifier.
 44779  	Policy BaseElementDescription `xml:"policy,typeattr" json:"policy"`
 44780  }
 44781  
 44782  func init() {
 44783  	t["HostStorageArrayTypePolicyOption"] = reflect.TypeOf((*HostStorageArrayTypePolicyOption)(nil)).Elem()
 44784  	minAPIVersionForType["HostStorageArrayTypePolicyOption"] = "4.0"
 44785  }
 44786  
 44787  // This data object type describes the storage subsystem configuration.
 44788  type HostStorageDeviceInfo struct {
 44789  	DynamicData
 44790  
 44791  	// The list of host bus adapters available on the host.
 44792  	HostBusAdapter []BaseHostHostBusAdapter `xml:"hostBusAdapter,omitempty,typeattr" json:"hostBusAdapter,omitempty"`
 44793  	// The list of SCSI logical units available on the host.
 44794  	ScsiLun []BaseScsiLun `xml:"scsiLun,omitempty,typeattr" json:"scsiLun,omitempty"`
 44795  	// Storage topology view of SCSI storage devices.
 44796  	//
 44797  	// This data object
 44798  	// exists only if storage topology information is available. See the
 44799  	// `ScsiTopology` data object type for
 44800  	// more information.
 44801  	ScsiTopology *HostScsiTopology `xml:"scsiTopology,omitempty" json:"scsiTopology,omitempty"`
 44802  	// Topology view of NVME storage devices.
 44803  	//
 44804  	// This data object exists
 44805  	// only if storage topology information is available. See the
 44806  	// `HostNvmeTopology` data object type for more information.
 44807  	NvmeTopology *HostNvmeTopology `xml:"nvmeTopology,omitempty" json:"nvmeTopology,omitempty" vim:"7.0"`
 44808  	// The multipath configuration that controls multipath policy for ScsiLuns.
 44809  	//
 44810  	// This data object exists only if path information is available and is
 44811  	// configurable.
 44812  	MultipathInfo *HostMultipathInfo `xml:"multipathInfo,omitempty" json:"multipathInfo,omitempty"`
 44813  	// The plug-store topology on the host system.
 44814  	//
 44815  	// This data object exists only if
 44816  	// the plug-store system is available and configurable.
 44817  	PlugStoreTopology *HostPlugStoreTopology `xml:"plugStoreTopology,omitempty" json:"plugStoreTopology,omitempty" vim:"4.0"`
 44818  	// Indicates if the software iSCSI initiator is enabled on this system
 44819  	SoftwareInternetScsiEnabled bool `xml:"softwareInternetScsiEnabled" json:"softwareInternetScsiEnabled"`
 44820  }
 44821  
 44822  func init() {
 44823  	t["HostStorageDeviceInfo"] = reflect.TypeOf((*HostStorageDeviceInfo)(nil)).Elem()
 44824  }
 44825  
 44826  // Data object describing the operational status of various storage
 44827  // elements.
 44828  type HostStorageElementInfo struct {
 44829  	HostHardwareElementInfo
 44830  
 44831  	// Other information regarding the operational state of the
 44832  	// storage element.
 44833  	OperationalInfo []HostStorageOperationalInfo `xml:"operationalInfo,omitempty" json:"operationalInfo,omitempty"`
 44834  }
 44835  
 44836  func init() {
 44837  	t["HostStorageElementInfo"] = reflect.TypeOf((*HostStorageElementInfo)(nil)).Elem()
 44838  	minAPIVersionForType["HostStorageElementInfo"] = "2.5"
 44839  }
 44840  
 44841  // Data class describing operational information of a storage element
 44842  type HostStorageOperationalInfo struct {
 44843  	DynamicData
 44844  
 44845  	// The property of interest for the storage element
 44846  	Property string `xml:"property" json:"property"`
 44847  	// The property value for the storage element
 44848  	Value string `xml:"value" json:"value"`
 44849  }
 44850  
 44851  func init() {
 44852  	t["HostStorageOperationalInfo"] = reflect.TypeOf((*HostStorageOperationalInfo)(nil)).Elem()
 44853  	minAPIVersionForType["HostStorageOperationalInfo"] = "2.5"
 44854  }
 44855  
 44856  // Contains the result of turn Disk Locator Led On/Off request.
 44857  //
 44858  // Used as return value
 44859  // by `HostStorageSystem.TurnDiskLocatorLedOn_Task` and
 44860  // `HostStorageSystem.TurnDiskLocatorLedOff_Task`.
 44861  type HostStorageSystemDiskLocatorLedResult struct {
 44862  	DynamicData
 44863  
 44864  	// UUID of LUN that has failed to turn on/off disk locator LED.
 44865  	Key string `xml:"key" json:"key"`
 44866  	// The reason why the operation did not succeed.
 44867  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 44868  }
 44869  
 44870  func init() {
 44871  	t["HostStorageSystemDiskLocatorLedResult"] = reflect.TypeOf((*HostStorageSystemDiskLocatorLedResult)(nil)).Elem()
 44872  	minAPIVersionForType["HostStorageSystemDiskLocatorLedResult"] = "6.0"
 44873  }
 44874  
 44875  // Contains the result of SCSI LUN operation requests.
 44876  //
 44877  // Used as return value
 44878  // by `HostStorageSystem.AttachScsiLunEx_Task`,
 44879  // `HostStorageSystem.DetachScsiLunEx_Task` and
 44880  // `HostStorageSystem.MarkPerenniallyReservedEx_Task`
 44881  type HostStorageSystemScsiLunResult struct {
 44882  	DynamicData
 44883  
 44884  	// UUID of LUN on which the LUN operation was requested.
 44885  	Key string `xml:"key" json:"key"`
 44886  	// Fault if operation fails
 44887  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 44888  }
 44889  
 44890  func init() {
 44891  	t["HostStorageSystemScsiLunResult"] = reflect.TypeOf((*HostStorageSystemScsiLunResult)(nil)).Elem()
 44892  	minAPIVersionForType["HostStorageSystemScsiLunResult"] = "6.0"
 44893  }
 44894  
 44895  // Contains the result of the operation performed on a VMFS volume.
 44896  type HostStorageSystemVmfsVolumeResult struct {
 44897  	DynamicData
 44898  
 44899  	// UUID of VMFS volume
 44900  	Key string `xml:"key" json:"key"`
 44901  	// Fault if volume operation fails, unset if operation succeeds
 44902  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 44903  }
 44904  
 44905  func init() {
 44906  	t["HostStorageSystemVmfsVolumeResult"] = reflect.TypeOf((*HostStorageSystemVmfsVolumeResult)(nil)).Elem()
 44907  	minAPIVersionForType["HostStorageSystemVmfsVolumeResult"] = "6.0"
 44908  }
 44909  
 44910  // Host sub specification data are the data used when create a virtual
 44911  // device, and/or configure the virtual device and its related
 44912  // host services.
 44913  //
 44914  // A typical example of host sub specification data is the DVS host view
 44915  // specification, which is used when create DVS host view on an ESXi
 44916  // host and configure the virtual switch on the host.
 44917  // The introduction of this type of data is for improving the
 44918  // availability of the ESXi host management. For example, when
 44919  // the VirtualCenter server is not available, an ESXi host will
 44920  // have enough information to reconfigure DVS host view properly
 44921  // when the ESXi host is booted from stateless or stateless caching.
 44922  // Host sub specification data are data for VMware internal data
 44923  // structure used in virtual device creation and configuration.
 44924  // They are different to `AnswerFile`
 44925  // which are from public knowledge domain or the public API
 44926  // of VMware ESXi host services.
 44927  // When the host sub specification data for a single feature
 44928  // are stored in multiple host sub specification data objects,
 44929  // it is the responsibility of the host specification source
 44930  // in this feature to guarantee the completeness and consistency
 44931  // of these host sub specification objects.
 44932  type HostSubSpecification struct {
 44933  	DynamicData
 44934  
 44935  	// The full name of the host sub specification.
 44936  	//
 44937  	// The format of this member
 44938  	// variable is:
 44939  	// CompanyName\_ProductName\_SubSpecName.
 44940  	// Thus, name conflict is avoided by containing the
 44941  	// <code>company name</code>, <code>product name</code>, and <code> sub
 44942  	// specification name</code> in this full name.
 44943  	Name string `xml:"name" json:"name"`
 44944  	// Time at which the host sub specification was created.
 44945  	CreatedTime time.Time `xml:"createdTime" json:"createdTime"`
 44946  	// The host sub specification data
 44947  	Data []byte `xml:"data,omitempty" json:"data,omitempty"`
 44948  	// The host sub specification data in Binary for wire efficiency.
 44949  	BinaryData []byte `xml:"binaryData,omitempty" json:"binaryData,omitempty" vim:"6.7"`
 44950  }
 44951  
 44952  func init() {
 44953  	t["HostSubSpecification"] = reflect.TypeOf((*HostSubSpecification)(nil)).Elem()
 44954  	minAPIVersionForType["HostSubSpecification"] = "6.5"
 44955  }
 44956  
 44957  // This event suggests that delete the host sub specification specified by
 44958  // name.
 44959  type HostSubSpecificationDeleteEvent struct {
 44960  	HostEvent
 44961  
 44962  	SubSpecName string `xml:"subSpecName" json:"subSpecName"`
 44963  }
 44964  
 44965  func init() {
 44966  	t["HostSubSpecificationDeleteEvent"] = reflect.TypeOf((*HostSubSpecificationDeleteEvent)(nil)).Elem()
 44967  	minAPIVersionForType["HostSubSpecificationDeleteEvent"] = "6.5"
 44968  }
 44969  
 44970  // This event suggests that update the host sub specification with the
 44971  // encapsulated copy.
 44972  type HostSubSpecificationUpdateEvent struct {
 44973  	HostEvent
 44974  
 44975  	HostSubSpec HostSubSpecification `xml:"hostSubSpec" json:"hostSubSpec"`
 44976  }
 44977  
 44978  func init() {
 44979  	t["HostSubSpecificationUpdateEvent"] = reflect.TypeOf((*HostSubSpecificationUpdateEvent)(nil)).Elem()
 44980  	minAPIVersionForType["HostSubSpecificationUpdateEvent"] = "6.5"
 44981  }
 44982  
 44983  // This event records a failure to sync up with the VirtualCenter agent on the host
 44984  type HostSyncFailedEvent struct {
 44985  	HostEvent
 44986  
 44987  	// The reason for the failure.
 44988  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 44989  }
 44990  
 44991  func init() {
 44992  	t["HostSyncFailedEvent"] = reflect.TypeOf((*HostSyncFailedEvent)(nil)).Elem()
 44993  	minAPIVersionForType["HostSyncFailedEvent"] = "4.0"
 44994  }
 44995  
 44996  // The host profile compliance check state.
 44997  type HostSystemComplianceCheckState struct {
 44998  	DynamicData
 44999  
 45000  	// The compliance check operation state.
 45001  	//
 45002  	// See
 45003  	// `ComplianceResultStatus_enum` for the valid values.
 45004  	State string `xml:"state" json:"state"`
 45005  	// The compliance check starting time for running state; compliance
 45006  	// check finish time for others.
 45007  	CheckTime time.Time `xml:"checkTime" json:"checkTime"`
 45008  }
 45009  
 45010  func init() {
 45011  	t["HostSystemComplianceCheckState"] = reflect.TypeOf((*HostSystemComplianceCheckState)(nil)).Elem()
 45012  	minAPIVersionForType["HostSystemComplianceCheckState"] = "6.7"
 45013  }
 45014  
 45015  // This data object provides information about the health of the phyical
 45016  // system.
 45017  //
 45018  // The data is retrieved from numeric sensor probes.
 45019  type HostSystemHealthInfo struct {
 45020  	DynamicData
 45021  
 45022  	// Health information provided by the power probes.
 45023  	NumericSensorInfo []HostNumericSensorInfo `xml:"numericSensorInfo,omitempty" json:"numericSensorInfo,omitempty"`
 45024  }
 45025  
 45026  func init() {
 45027  	t["HostSystemHealthInfo"] = reflect.TypeOf((*HostSystemHealthInfo)(nil)).Elem()
 45028  	minAPIVersionForType["HostSystemHealthInfo"] = "2.5"
 45029  }
 45030  
 45031  // This data object describes system identifying information of the host.
 45032  //
 45033  // This
 45034  // information may be vendor specific.
 45035  type HostSystemIdentificationInfo struct {
 45036  	DynamicData
 45037  
 45038  	// The system identification information
 45039  	IdentifierValue string `xml:"identifierValue" json:"identifierValue"`
 45040  	// The description of the identifying information.
 45041  	//
 45042  	// See also `HostSystemIdentificationInfoIdentifier_enum`.
 45043  	IdentifierType BaseElementDescription `xml:"identifierType,typeattr" json:"identifierType"`
 45044  }
 45045  
 45046  func init() {
 45047  	t["HostSystemIdentificationInfo"] = reflect.TypeOf((*HostSystemIdentificationInfo)(nil)).Elem()
 45048  	minAPIVersionForType["HostSystemIdentificationInfo"] = "2.5"
 45049  }
 45050  
 45051  // Information about the system as a whole.
 45052  type HostSystemInfo struct {
 45053  	DynamicData
 45054  
 45055  	// Hardware vendor identification.
 45056  	Vendor string `xml:"vendor" json:"vendor"`
 45057  	// System model identification.
 45058  	Model string `xml:"model" json:"model"`
 45059  	// Hardware BIOS identification.
 45060  	Uuid string `xml:"uuid" json:"uuid"`
 45061  	// Other System identification information.
 45062  	//
 45063  	// This information may be vendor
 45064  	// specific
 45065  	OtherIdentifyingInfo []HostSystemIdentificationInfo `xml:"otherIdentifyingInfo,omitempty" json:"otherIdentifyingInfo,omitempty" vim:"2.5"`
 45066  	SerialNumber         string                         `xml:"serialNumber,omitempty" json:"serialNumber,omitempty"`
 45067  	// List of qualified names used to identify the host in a specific context.
 45068  	//
 45069  	// Unlike the other types of system identification information, these can
 45070  	// potentially change as a result of configuration.
 45071  	QualifiedName []HostQualifiedName `xml:"qualifiedName,omitempty" json:"qualifiedName,omitempty" vim:"7.0.3.0"`
 45072  	// NVMe qualified name used by Vvol.
 45073  	//
 45074  	// A unique name, assigned to each host used by Vvol.
 45075  	// Obtained through vmkctl storage control path while fetching the NVMe info.
 45076  	VvolHostNQN *HostQualifiedName `xml:"vvolHostNQN,omitempty" json:"vvolHostNQN,omitempty" vim:"8.0.0.0"`
 45077  	// Host id used by Vvol.
 45078  	//
 45079  	// The hostd id, obtained through vmkctl storage control path while
 45080  	// fetching the NVMe info.
 45081  	VvolHostId string `xml:"vvolHostId,omitempty" json:"vvolHostId,omitempty" vim:"8.0.0.0"`
 45082  }
 45083  
 45084  func init() {
 45085  	t["HostSystemInfo"] = reflect.TypeOf((*HostSystemInfo)(nil)).Elem()
 45086  }
 45087  
 45088  // Specifies the parameters needed to merge vCenter Server settings
 45089  // and host settings on reconnect.
 45090  type HostSystemReconnectSpec struct {
 45091  	DynamicData
 45092  
 45093  	// This flag should be set if on a host reconnect, state such as virtual
 45094  	// machine state in vCenter Server e.g.
 45095  	//
 45096  	// the virtual machine inventory
 45097  	// and autostart rules, has to be propogated to the host. Any virtual
 45098  	// machines that may have been unregistered or orphaned will be
 45099  	// reregistered according to the vCenter Server inventory. Any autostart
 45100  	// rules that may have changed on the host will be similarly restored.
 45101  	// This flag is primarily intended for stateless hosts to enable vCenter
 45102  	// Server to resync these hosts after a reboot.
 45103  	SyncState *bool `xml:"syncState" json:"syncState,omitempty"`
 45104  }
 45105  
 45106  func init() {
 45107  	t["HostSystemReconnectSpec"] = reflect.TypeOf((*HostSystemReconnectSpec)(nil)).Elem()
 45108  	minAPIVersionForType["HostSystemReconnectSpec"] = "5.0"
 45109  }
 45110  
 45111  // The valid remediation states.
 45112  //
 45113  // Host profile apply has two stages:
 45114  // precheck remediation and remediation. Precheck remediation generates
 45115  // task list and task requirement: apply may fail when task requirements
 45116  // are not satisfied. Remediation stage can be started only when precheck
 45117  // remediation succeeded.
 45118  type HostSystemRemediationState struct {
 45119  	DynamicData
 45120  
 45121  	// The remediation or precheck remediation operation state.
 45122  	//
 45123  	// See
 45124  	// `HostSystemRemediationStateState_enum` for the valid
 45125  	// values.
 45126  	State string `xml:"state" json:"state"`
 45127  	// For any "running" state, this is the starting time; for others, this
 45128  	// is the completion time.
 45129  	OperationTime time.Time `xml:"operationTime" json:"operationTime"`
 45130  }
 45131  
 45132  func init() {
 45133  	t["HostSystemRemediationState"] = reflect.TypeOf((*HostSystemRemediationState)(nil)).Elem()
 45134  	minAPIVersionForType["HostSystemRemediationState"] = "6.7"
 45135  }
 45136  
 45137  // The SystemResourceInfo data object describes the configuration of
 45138  // a single system resource group.
 45139  //
 45140  // System resource groups are analogous
 45141  // to `ResourcePool` objects for virtual machines; however,
 45142  // their structure is fixed and groups may not be created nor destroyed,
 45143  // only configured.
 45144  type HostSystemResourceInfo struct {
 45145  	DynamicData
 45146  
 45147  	// ID of the system resource group.
 45148  	Key string `xml:"key" json:"key"`
 45149  	// Configuration of this system resource group.
 45150  	Config *ResourceConfigSpec `xml:"config,omitempty" json:"config,omitempty"`
 45151  	// List of child resource groups.
 45152  	Child []HostSystemResourceInfo `xml:"child,omitempty" json:"child,omitempty"`
 45153  }
 45154  
 45155  func init() {
 45156  	t["HostSystemResourceInfo"] = reflect.TypeOf((*HostSystemResourceInfo)(nil)).Elem()
 45157  }
 45158  
 45159  // Information and specification for control of the system swap configuration
 45160  // on the current host.
 45161  type HostSystemSwapConfiguration struct {
 45162  	DynamicData
 45163  
 45164  	// The currently enabled options.
 45165  	//
 45166  	// When this property contains only one value and this value is `HostSystemSwapConfigurationDisabledOption`,
 45167  	// this indicates that the system swap is disabled.
 45168  	// If the `HostSystemSwapConfigurationDisabledOption` option is
 45169  	// used together with some other option in call to `HostSystem.UpdateSystemSwapConfiguration`, a
 45170  	// `InvalidArgument` is thrown.
 45171  	// It is not allowed to have duplicate values in this array. If so a
 45172  	// `InvalidArgument` is thrown.
 45173  	Option []BaseHostSystemSwapConfigurationSystemSwapOption `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 45174  }
 45175  
 45176  func init() {
 45177  	t["HostSystemSwapConfiguration"] = reflect.TypeOf((*HostSystemSwapConfiguration)(nil)).Elem()
 45178  	minAPIVersionForType["HostSystemSwapConfiguration"] = "5.1"
 45179  }
 45180  
 45181  // Use option to indicate that a user specified datastore may be used for
 45182  // system swap.
 45183  type HostSystemSwapConfigurationDatastoreOption struct {
 45184  	HostSystemSwapConfigurationSystemSwapOption
 45185  
 45186  	// The datastore to be used with this swap option.
 45187  	//
 45188  	// This value should be always set when the encapsulating option is used,
 45189  	// otherwise a call to `HostSystem.UpdateSystemSwapConfiguration` will
 45190  	// result in a `InvalidArgument` fault.
 45191  	Datastore string `xml:"datastore" json:"datastore"`
 45192  }
 45193  
 45194  func init() {
 45195  	t["HostSystemSwapConfigurationDatastoreOption"] = reflect.TypeOf((*HostSystemSwapConfigurationDatastoreOption)(nil)).Elem()
 45196  	minAPIVersionForType["HostSystemSwapConfigurationDatastoreOption"] = "5.1"
 45197  }
 45198  
 45199  // Indicates that the system swap on the host is currently disabled.
 45200  //
 45201  // This value is used with the
 45202  // `HostSystem.UpdateSystemSwapConfiguration` managed method to
 45203  // disable system swap. Presence of this value in `HostSystemSwapConfiguration.option` excludes appearance of any other
 45204  // options. Specifying additional options will result in a `InvalidArgument` fault being thrown from the `HostSystem.UpdateSystemSwapConfiguration` method.
 45205  type HostSystemSwapConfigurationDisabledOption struct {
 45206  	HostSystemSwapConfigurationSystemSwapOption
 45207  }
 45208  
 45209  func init() {
 45210  	t["HostSystemSwapConfigurationDisabledOption"] = reflect.TypeOf((*HostSystemSwapConfigurationDisabledOption)(nil)).Elem()
 45211  	minAPIVersionForType["HostSystemSwapConfigurationDisabledOption"] = "5.1"
 45212  }
 45213  
 45214  // Use option to indicate that the host cache may be used for system
 45215  // swap.
 45216  //
 45217  // See also `HostCacheConfigurationManager`for more details..
 45218  type HostSystemSwapConfigurationHostCacheOption struct {
 45219  	HostSystemSwapConfigurationSystemSwapOption
 45220  }
 45221  
 45222  func init() {
 45223  	t["HostSystemSwapConfigurationHostCacheOption"] = reflect.TypeOf((*HostSystemSwapConfigurationHostCacheOption)(nil)).Elem()
 45224  	minAPIVersionForType["HostSystemSwapConfigurationHostCacheOption"] = "5.1"
 45225  }
 45226  
 45227  // Use option to indicate that the datastore configured for host local swap
 45228  // may be used for system swap.
 45229  type HostSystemSwapConfigurationHostLocalSwapOption struct {
 45230  	HostSystemSwapConfigurationSystemSwapOption
 45231  }
 45232  
 45233  func init() {
 45234  	t["HostSystemSwapConfigurationHostLocalSwapOption"] = reflect.TypeOf((*HostSystemSwapConfigurationHostLocalSwapOption)(nil)).Elem()
 45235  	minAPIVersionForType["HostSystemSwapConfigurationHostLocalSwapOption"] = "5.1"
 45236  }
 45237  
 45238  // Base class for all system swap options.
 45239  //
 45240  // This class is not supposed to be used directly.
 45241  // These values are to be used in a `SystemSwapConfiguration.option`
 45242  // array.
 45243  type HostSystemSwapConfigurationSystemSwapOption struct {
 45244  	DynamicData
 45245  
 45246  	// Specifies the order the options are preferred among each other.
 45247  	//
 45248  	// The lower the value the more important.
 45249  	Key int32 `xml:"key" json:"key"`
 45250  }
 45251  
 45252  func init() {
 45253  	t["HostSystemSwapConfigurationSystemSwapOption"] = reflect.TypeOf((*HostSystemSwapConfigurationSystemSwapOption)(nil)).Elem()
 45254  	minAPIVersionForType["HostSystemSwapConfigurationSystemSwapOption"] = "5.1"
 45255  }
 45256  
 45257  // Transport information about a SCSI target.
 45258  type HostTargetTransport struct {
 45259  	DynamicData
 45260  }
 45261  
 45262  func init() {
 45263  	t["HostTargetTransport"] = reflect.TypeOf((*HostTargetTransport)(nil)).Elem()
 45264  }
 45265  
 45266  // This data object describes the Transmission Control Protocol
 45267  // (TCP) host bus adapter interface.
 45268  type HostTcpHba struct {
 45269  	HostHostBusAdapter
 45270  
 45271  	// Device name of the associated physical NIC, if any.
 45272  	//
 45273  	// Should match the `PhysicalNic.device` property
 45274  	// of the corresponding physical NIC.
 45275  	AssociatedPnic string `xml:"associatedPnic,omitempty" json:"associatedPnic,omitempty"`
 45276  }
 45277  
 45278  func init() {
 45279  	t["HostTcpHba"] = reflect.TypeOf((*HostTcpHba)(nil)).Elem()
 45280  	minAPIVersionForType["HostTcpHba"] = "7.0.3.0"
 45281  }
 45282  
 45283  // A data object which specifies the parameters needed
 45284  // to create an NVME over TCP host bus adapter.
 45285  type HostTcpHbaCreateSpec struct {
 45286  	HostHbaCreateSpec
 45287  
 45288  	// Device name of the associated physical NIC.
 45289  	//
 45290  	// Should match the `PhysicalNic.device` property
 45291  	// of the corresponding physical NIC.
 45292  	Pnic string `xml:"pnic" json:"pnic"`
 45293  }
 45294  
 45295  func init() {
 45296  	t["HostTcpHbaCreateSpec"] = reflect.TypeOf((*HostTcpHbaCreateSpec)(nil)).Elem()
 45297  	minAPIVersionForType["HostTcpHbaCreateSpec"] = "7.0.3.0"
 45298  }
 45299  
 45300  // Transmission Control Protocol (TCP) transport
 45301  // information about a target.
 45302  type HostTcpTargetTransport struct {
 45303  	HostTargetTransport
 45304  }
 45305  
 45306  func init() {
 45307  	t["HostTcpTargetTransport"] = reflect.TypeOf((*HostTcpTargetTransport)(nil)).Elem()
 45308  	minAPIVersionForType["HostTcpTargetTransport"] = "7.0.3.0"
 45309  }
 45310  
 45311  // This data object type represents result of TPM attestation.
 45312  type HostTpmAttestationInfo struct {
 45313  	DynamicData
 45314  
 45315  	// Time of TPM attestation.
 45316  	Time time.Time `xml:"time" json:"time"`
 45317  	// Attestation status.
 45318  	//
 45319  	// Valid values are enumerated by the
 45320  	// `HostTpmAttestationInfoAcceptanceStatus_enum` type.
 45321  	Status HostTpmAttestationInfoAcceptanceStatus `xml:"status" json:"status"`
 45322  	// Message explaining TPM attestation failure.
 45323  	Message *LocalizableMessage `xml:"message,omitempty" json:"message,omitempty"`
 45324  }
 45325  
 45326  func init() {
 45327  	t["HostTpmAttestationInfo"] = reflect.TypeOf((*HostTpmAttestationInfo)(nil)).Elem()
 45328  	minAPIVersionForType["HostTpmAttestationInfo"] = "6.7"
 45329  }
 45330  
 45331  // This class is used to report Trusted Platform Module (TPM) attestation
 45332  // information - values of the Platform Configuration Registers (PCRs) and
 45333  // the TPM event log to the external clients.
 45334  //
 45335  // This information can be used to determine the integrity of the software
 45336  // stack running as reported by the platform.
 45337  //
 45338  // The TPM stores digests (hashes) of the software stack components running on
 45339  // the host. Both binary modules and configuration information can be hashed.
 45340  // The calculated hash values are stored in special-purpose hardware registers
 45341  // called PCRs. Each PCR is defined to hold cumulative digest(s) of specific
 45342  // part(s) of the software stack.
 45343  //
 45344  // Due to the limited amount of PCRs available a hash-chaining scheme is implemented.
 45345  // When adding new information to a PCR the new value of hash is computed according
 45346  // to the following formula:
 45347  // NewHash = hash\_function(OldHash + hash\_function(NewData))
 45348  // This scheme allows storing measurements of an unlimited amount of components.
 45349  //
 45350  // The TPM event log provides an exact sequence of the events that contributed
 45351  // to the value of a PCR. It contains information about the type of the event
 45352  // and event-specific information. The presence of the log allows verification of
 45353  // both the final PCR state and the entire attestation path that formed it.
 45354  //
 45355  // It is possible for this report to be unreliable. This could be due to missing package
 45356  // information in the host database, errors in creation of the events. Only first 1000
 45357  // events are recorded by the kernel. Further events will not be recorded in the log and
 45358  // will cause the log to be marked as incomplete.
 45359  type HostTpmAttestationReport struct {
 45360  	DynamicData
 45361  
 45362  	// The array of PCR digest values stored in the TPM device since the last
 45363  	// host boot time.
 45364  	TpmPcrValues []HostTpmDigestInfo `xml:"tpmPcrValues" json:"tpmPcrValues"`
 45365  	// Log of TPM software stack attestation events.
 45366  	TpmEvents []HostTpmEventLogEntry `xml:"tpmEvents" json:"tpmEvents"`
 45367  	// This flag indicates whether the provided TPM events are a complete and reliable
 45368  	// information about host boot status.
 45369  	//
 45370  	// TPM event log may be incomplete (and therfore unreliable) if certain modules have
 45371  	// inappropriate origin or if the package information is incomplete. Only first 1000
 45372  	// events are recorded by the kernel. Further events will not be recorded in the log
 45373  	// and will cause the log to be marked as unreliable.
 45374  	TpmLogReliable bool `xml:"tpmLogReliable" json:"tpmLogReliable"`
 45375  }
 45376  
 45377  func init() {
 45378  	t["HostTpmAttestationReport"] = reflect.TypeOf((*HostTpmAttestationReport)(nil)).Elem()
 45379  	minAPIVersionForType["HostTpmAttestationReport"] = "5.1"
 45380  }
 45381  
 45382  // Details of a Trusted Platform Module (TPM) event recording the
 45383  // measurement of boot complete event.
 45384  //
 45385  // The event digest is hash of
 45386  // the string "Boot Complete" including the nul character.
 45387  type HostTpmBootCompleteEventDetails struct {
 45388  	HostTpmEventDetails
 45389  }
 45390  
 45391  func init() {
 45392  	t["HostTpmBootCompleteEventDetails"] = reflect.TypeOf((*HostTpmBootCompleteEventDetails)(nil)).Elem()
 45393  	minAPIVersionForType["HostTpmBootCompleteEventDetails"] = "8.0.1.0"
 45394  }
 45395  
 45396  // Details of a Trusted Platform Module (TPM) event recording kernel security
 45397  // option passed at boot time and currently in effect.
 45398  //
 45399  // This event type exists to simplify parsing of the security-related information
 45400  // by internal and third-party solutions. Each boot option may be passed to kernel
 45401  // multiple times and/or in different forms. Replicating the parsing logic of the
 45402  // kernel would be neither convinient, nor secure for the client applications.
 45403  //
 45404  // Each instance of this event reports details of a single security-related
 45405  // boot option, as set in the kernel.
 45406  type HostTpmBootSecurityOptionEventDetails struct {
 45407  	HostTpmEventDetails
 45408  
 45409  	// Security-related options string, reflecting the state of an option set
 45410  	// in the kernel.
 45411  	//
 45412  	// This string is in the form of a KEY=VALUE pair.
 45413  	BootSecurityOption string `xml:"bootSecurityOption" json:"bootSecurityOption"`
 45414  }
 45415  
 45416  func init() {
 45417  	t["HostTpmBootSecurityOptionEventDetails"] = reflect.TypeOf((*HostTpmBootSecurityOptionEventDetails)(nil)).Elem()
 45418  	minAPIVersionForType["HostTpmBootSecurityOptionEventDetails"] = "5.1"
 45419  }
 45420  
 45421  // Details of an Trusted Platform Module (TPM) event recording options entered
 45422  // manually on the command line prompt at boot time.
 45423  type HostTpmCommandEventDetails struct {
 45424  	HostTpmEventDetails
 45425  
 45426  	// Boot options as entered on the command line prompt at boot time.
 45427  	CommandLine string `xml:"commandLine" json:"commandLine"`
 45428  }
 45429  
 45430  func init() {
 45431  	t["HostTpmCommandEventDetails"] = reflect.TypeOf((*HostTpmCommandEventDetails)(nil)).Elem()
 45432  	minAPIVersionForType["HostTpmCommandEventDetails"] = "5.1"
 45433  }
 45434  
 45435  // This data object type describes the digest values in the Platform
 45436  // Configuration Register (PCR) of a Trusted Platform Module (TPM) device.
 45437  type HostTpmDigestInfo struct {
 45438  	HostDigestInfo
 45439  
 45440  	// Index of the PCR that stores the TPM digest value.
 45441  	PcrNumber int32 `xml:"pcrNumber" json:"pcrNumber"`
 45442  }
 45443  
 45444  func init() {
 45445  	t["HostTpmDigestInfo"] = reflect.TypeOf((*HostTpmDigestInfo)(nil)).Elem()
 45446  	minAPIVersionForType["HostTpmDigestInfo"] = "4.0"
 45447  }
 45448  
 45449  // This is a base data object for describing an event generated by
 45450  // Trusted Platform Module (TPM).
 45451  //
 45452  // It contains parameters common to
 45453  // all TPM event types.
 45454  type HostTpmEventDetails struct {
 45455  	DynamicData
 45456  
 45457  	// Value of the Platform Configuration Register (PCR) for this event.
 45458  	DataHash []byte `xml:"dataHash" json:"dataHash"`
 45459  	// Method in which the digest hash is calculated.
 45460  	//
 45461  	// The set of possible
 45462  	// values is described in `HostDigestInfoDigestMethodType_enum`.
 45463  	DataHashMethod string `xml:"dataHashMethod,omitempty" json:"dataHashMethod,omitempty" vim:"6.7"`
 45464  }
 45465  
 45466  func init() {
 45467  	t["HostTpmEventDetails"] = reflect.TypeOf((*HostTpmEventDetails)(nil)).Elem()
 45468  	minAPIVersionForType["HostTpmEventDetails"] = "5.1"
 45469  }
 45470  
 45471  // This data object represents a single entry of an event log created by
 45472  // Trusted Platform Module (TPM).
 45473  //
 45474  // An TPM event log entry represents a single change to the value of
 45475  // a Platform Configuration Register (PCR). It contains detailed information
 45476  // about the reason of PCR value change, and the specifics of the event.
 45477  //
 45478  // Multiple objects of this type form an TPM event log. This log allows for
 45479  // verification of the both the software stack running on a host and the attestation
 45480  // process itself.
 45481  type HostTpmEventLogEntry struct {
 45482  	DynamicData
 45483  
 45484  	// Index of the PCR that was affected by the event.
 45485  	PcrIndex int32 `xml:"pcrIndex" json:"pcrIndex"`
 45486  	// The details of the event.
 45487  	EventDetails BaseHostTpmEventDetails `xml:"eventDetails,typeattr" json:"eventDetails"`
 45488  }
 45489  
 45490  func init() {
 45491  	t["HostTpmEventLogEntry"] = reflect.TypeOf((*HostTpmEventLogEntry)(nil)).Elem()
 45492  	minAPIVersionForType["HostTpmEventLogEntry"] = "5.1"
 45493  }
 45494  
 45495  // Details of an Trusted Platform Module (TPM) event recording TPM NVRAM tag.
 45496  type HostTpmNvTagEventDetails struct {
 45497  	HostTpmBootSecurityOptionEventDetails
 45498  }
 45499  
 45500  func init() {
 45501  	t["HostTpmNvTagEventDetails"] = reflect.TypeOf((*HostTpmNvTagEventDetails)(nil)).Elem()
 45502  	minAPIVersionForType["HostTpmNvTagEventDetails"] = "7.0.2.0"
 45503  }
 45504  
 45505  // Details of a Trusted Platform Module (TPM) event recording boot-time options.
 45506  //
 45507  // The boot-time options set on the system are packaged into a file that is supplied
 45508  // to the kernel at boot time. The boot options may be a string of key=value pairs
 45509  // (possibly separated by a new line) or a blob of arbitrary data.
 45510  type HostTpmOptionEventDetails struct {
 45511  	HostTpmEventDetails
 45512  
 45513  	// Name of the file containing the boot options.
 45514  	OptionsFileName string `xml:"optionsFileName" json:"optionsFileName"`
 45515  	// Options set by the boot option package.
 45516  	//
 45517  	// This array exposes the raw contents of the settings file (or files) that were
 45518  	// passed to kernel during the boot up process, and, therefore, should be treated
 45519  	// accordingly.
 45520  	BootOptions []byte `xml:"bootOptions,omitempty" json:"bootOptions,omitempty"`
 45521  }
 45522  
 45523  func init() {
 45524  	t["HostTpmOptionEventDetails"] = reflect.TypeOf((*HostTpmOptionEventDetails)(nil)).Elem()
 45525  	minAPIVersionForType["HostTpmOptionEventDetails"] = "5.1"
 45526  }
 45527  
 45528  // Details of a Trusted Platform Module (TPM) event recording the measurement
 45529  // of a signing key.
 45530  type HostTpmSignerEventDetails struct {
 45531  	HostTpmBootSecurityOptionEventDetails
 45532  }
 45533  
 45534  func init() {
 45535  	t["HostTpmSignerEventDetails"] = reflect.TypeOf((*HostTpmSignerEventDetails)(nil)).Elem()
 45536  	minAPIVersionForType["HostTpmSignerEventDetails"] = "8.0.0.1"
 45537  }
 45538  
 45539  // Details of a Trusted Platform Module (TPM) event recording a software component
 45540  // related event.
 45541  //
 45542  // This event is created when measuring a software component installed on the system.
 45543  // A software component may be a tardisk, a kernel module or any other type supported
 45544  // by the package system.
 45545  //
 45546  // Some software components are not packaged as VIBs (currently the package database
 45547  // and persistent state information of ESXi). For these components the VIB fields
 45548  // will contain empty strings.
 45549  type HostTpmSoftwareComponentEventDetails struct {
 45550  	HostTpmEventDetails
 45551  
 45552  	// Name of the software component that caused this TPM event.
 45553  	ComponentName string `xml:"componentName" json:"componentName"`
 45554  	// Name of the VIB containing the software component.
 45555  	VibName string `xml:"vibName" json:"vibName"`
 45556  	// Version of the VIB containing the software component.
 45557  	VibVersion string `xml:"vibVersion" json:"vibVersion"`
 45558  	// Vendor of the VIB containing the software component.
 45559  	VibVendor string `xml:"vibVendor" json:"vibVendor"`
 45560  }
 45561  
 45562  func init() {
 45563  	t["HostTpmSoftwareComponentEventDetails"] = reflect.TypeOf((*HostTpmSoftwareComponentEventDetails)(nil)).Elem()
 45564  	minAPIVersionForType["HostTpmSoftwareComponentEventDetails"] = "5.1"
 45565  }
 45566  
 45567  // Details of a Trusted Platform Module (TPM) event recording the
 45568  // measurement of a module version.
 45569  type HostTpmVersionEventDetails struct {
 45570  	HostTpmEventDetails
 45571  
 45572  	// A packed structure containing the module version.
 45573  	Version []byte `xml:"version" json:"version"`
 45574  }
 45575  
 45576  func init() {
 45577  	t["HostTpmVersionEventDetails"] = reflect.TypeOf((*HostTpmVersionEventDetails)(nil)).Elem()
 45578  	minAPIVersionForType["HostTpmVersionEventDetails"] = "8.0.0.1"
 45579  }
 45580  
 45581  // This data object type represents result of the attestation done by
 45582  // Trust Authority attestation service.
 45583  type HostTrustAuthorityAttestationInfo struct {
 45584  	DynamicData
 45585  
 45586  	// Status of the attestation.
 45587  	//
 45588  	// See `HostTrustAuthorityAttestationInfoAttestationStatus_enum` for the
 45589  	// supported values.
 45590  	AttestationStatus string `xml:"attestationStatus" json:"attestationStatus"`
 45591  	// ID of the attestation service in case of attestation success.
 45592  	//
 45593  	// Unset when
 45594  	// not attested.
 45595  	ServiceId string `xml:"serviceId,omitempty" json:"serviceId,omitempty"`
 45596  	// Time of attestation.
 45597  	AttestedAt *time.Time `xml:"attestedAt" json:"attestedAt,omitempty"`
 45598  	// Time until attestation is valid.
 45599  	AttestedUntil *time.Time `xml:"attestedUntil" json:"attestedUntil,omitempty"`
 45600  	// Messages explaining attestation failure or attestation status
 45601  	// retrieval errors, if any.
 45602  	Messages []LocalizableMessage `xml:"messages,omitempty" json:"messages,omitempty"`
 45603  }
 45604  
 45605  func init() {
 45606  	t["HostTrustAuthorityAttestationInfo"] = reflect.TypeOf((*HostTrustAuthorityAttestationInfo)(nil)).Elem()
 45607  	minAPIVersionForType["HostTrustAuthorityAttestationInfo"] = "7.0.1.0"
 45608  }
 45609  
 45610  // Information about an unresolved VMFS volume extent
 45611  // An unresolved VMFS volume extent is a device partition which is
 45612  // detected to have copy of an extent of a VMFS volume.
 45613  //
 45614  // Such a copy can be created via replication or snapshots, for example.
 45615  //
 45616  // See also `HostUnresolvedVmfsVolume`.
 45617  type HostUnresolvedVmfsExtent struct {
 45618  	DynamicData
 45619  
 45620  	// The device information
 45621  	Device HostScsiDiskPartition `xml:"device" json:"device"`
 45622  	// The device path of an VMFS extent
 45623  	DevicePath string `xml:"devicePath" json:"devicePath"`
 45624  	// The UUID of the VMFS volume read from to the partition.
 45625  	VmfsUuid string `xml:"vmfsUuid" json:"vmfsUuid"`
 45626  	// Is this a copy of the head extent of the VMFS volume?
 45627  	IsHeadExtent bool `xml:"isHeadExtent" json:"isHeadExtent"`
 45628  	// A number indicating the order of an extent in a volume.
 45629  	//
 45630  	// An extent with
 45631  	// a lower ordinal value than another extent provides a range of blocks to
 45632  	// a volume at an earlier block address range. Extents with the same
 45633  	// ordinal provide the same range of blocks to a volume. A zero ordinal
 45634  	// indicates that the extent is a head extent.
 45635  	//
 45636  	// In the case each extent in the `HostUnresolvedVmfsVolume` is
 45637  	// represented in the list of `HostUnresolvedVmfsExtent` data objects,
 45638  	// the ordinal will refer to the absolute index of the extent in the
 45639  	// volume. For example, ordinal "1" refers to the second extent;
 45640  	// ordinal "2" refers to the third extent.
 45641  	//
 45642  	// In the case that some extents of the volume are not represented in
 45643  	// the `HostUnresolvedVmfsExtent` list, the ordinal will not precisely
 45644  	// describe the position in the list of extents. A number will be skipped
 45645  	// to indicate holes in the extent order. For example, given a volume with
 45646  	// five extents with the second and third extents missing, the ordinal
 45647  	// values in use will be {0, 2, 3}. The missing second and third extent
 45648  	// are represented by the missing ordinal value "1" while the fourth and
 45649  	// fifth extents will be assigned an ordinal of "2" and "3" respectively.
 45650  	//
 45651  	// The reason the ordinals are not reliable in the case of missing extents
 45652  	// is because the extents are identified by their start and end blocks.
 45653  	// The ordinals are just a hint used to help indicate extents that
 45654  	// correspond to the same start and end blocks.
 45655  	Ordinal int32 `xml:"ordinal" json:"ordinal"`
 45656  	// Index of the first block that this extent provides.
 45657  	StartBlock int32 `xml:"startBlock" json:"startBlock"`
 45658  	// Index of the last block that this extent provides.
 45659  	EndBlock int32 `xml:"endBlock" json:"endBlock"`
 45660  	// Reason as to why the partition is marked as copy
 45661  	// of a VMFS volume's extent.
 45662  	//
 45663  	// Possible reasons are the disk id is not matching with what
 45664  	// the scsi inq is saying or disk uuid is not matching
 45665  	//
 45666  	// See also `HostUnresolvedVmfsExtentUnresolvedReason_enum`.
 45667  	Reason string `xml:"reason" json:"reason"`
 45668  }
 45669  
 45670  func init() {
 45671  	t["HostUnresolvedVmfsExtent"] = reflect.TypeOf((*HostUnresolvedVmfsExtent)(nil)).Elem()
 45672  	minAPIVersionForType["HostUnresolvedVmfsExtent"] = "4.0"
 45673  }
 45674  
 45675  // Specification to resignature an Unresolved VMFS volume.
 45676  type HostUnresolvedVmfsResignatureSpec struct {
 45677  	DynamicData
 45678  
 45679  	// List of device path each specifying VMFS extents.
 45680  	ExtentDevicePath []string `xml:"extentDevicePath" json:"extentDevicePath"`
 45681  }
 45682  
 45683  func init() {
 45684  	t["HostUnresolvedVmfsResignatureSpec"] = reflect.TypeOf((*HostUnresolvedVmfsResignatureSpec)(nil)).Elem()
 45685  	minAPIVersionForType["HostUnresolvedVmfsResignatureSpec"] = "4.0"
 45686  }
 45687  
 45688  // When an UnresolvedVmfsVolume has been resignatured or forceMounted, we want to
 45689  // return the original spec information along with newly created VMFS volume.
 45690  type HostUnresolvedVmfsResolutionResult struct {
 45691  	DynamicData
 45692  
 45693  	// The original UnresolvedVmfsResolutionSpec which user had specified
 45694  	Spec HostUnresolvedVmfsResolutionSpec `xml:"spec" json:"spec"`
 45695  	// Newly created VmfsVolume
 45696  	Vmfs *HostVmfsVolume `xml:"vmfs,omitempty" json:"vmfs,omitempty"`
 45697  	// 'fault' would be set if the operation was not successful
 45698  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 45699  }
 45700  
 45701  func init() {
 45702  	t["HostUnresolvedVmfsResolutionResult"] = reflect.TypeOf((*HostUnresolvedVmfsResolutionResult)(nil)).Elem()
 45703  	minAPIVersionForType["HostUnresolvedVmfsResolutionResult"] = "4.0"
 45704  }
 45705  
 45706  // An unresolved VMFS volume is reported when one or more device partitions
 45707  // of volume are detected to have copies of extents of the volume.
 45708  //
 45709  // Such copies can be created via replication or snapshots, for example.
 45710  // This data object type describes how to resolve an unbound VMFS volume.
 45711  // The SCSI device path for each of the VMFS volume extent should be
 45712  // specified.
 45713  // For the current release, only head-extent needs to be specified.
 45714  // In future releases, we will allow user to specify explicitly all the
 45715  // extents which makes up a new Vmfs Volume.
 45716  type HostUnresolvedVmfsResolutionSpec struct {
 45717  	DynamicData
 45718  
 45719  	// List of device paths each specifying a VMFS extent.
 45720  	//
 45721  	// One extent must be specified. This property is represented as a
 45722  	// list to enable future enhancements to the interface.
 45723  	ExtentDevicePath []string `xml:"extentDevicePath" json:"extentDevicePath"`
 45724  	// When set to Resignature, new Uuid is assigned to the VMFS
 45725  	// volume.
 45726  	//
 45727  	// When set to 'forceMount', existing uuid is assigned
 45728  	// to the Vmfs volume and Vmfs volumes metadata doesn't change.
 45729  	//
 45730  	// See also `HostUnresolvedVmfsResolutionSpecVmfsUuidResolution_enum`.
 45731  	UuidResolution string `xml:"uuidResolution" json:"uuidResolution"`
 45732  }
 45733  
 45734  func init() {
 45735  	t["HostUnresolvedVmfsResolutionSpec"] = reflect.TypeOf((*HostUnresolvedVmfsResolutionSpec)(nil)).Elem()
 45736  	minAPIVersionForType["HostUnresolvedVmfsResolutionSpec"] = "4.0"
 45737  }
 45738  
 45739  // Information about detected unbound, unresolved VMFS volume.
 45740  //
 45741  // An unresolved VMFS volume is reported when one or more device
 45742  // partitions of volume are detected to have copies of extents
 45743  // of the volume. Such copies can be created via replication or
 45744  // snapshots.
 45745  //
 45746  // UnresolvedVmfsVolume are not mounted on the host where they
 45747  // are detected. User may choose to resignature the volume in
 45748  // which case a new Uuid is assigned to the volume and contents
 45749  // of the VMFS volume is kept intact.
 45750  //
 45751  // User may choose to keep the original Uuid and mount the VMFS
 45752  // volume as it is on the given host. In this case, user has
 45753  // chosen to mount the copy of the VMFS volume on that host with
 45754  // no change to the original Uuid. This may fail with
 45755  // VmfsVolumeAlreadyMounted exception if there is an existing
 45756  // VMFS volume with the same Uuid mounted somewhere in the same
 45757  // datacenter.
 45758  //
 45759  // Simple diagram representing the possible operations on UnresolvedVmfsVolume
 45760  //
 45761  //	---------------------------------------------------------------------------
 45762  //	|                resignature                 forceMount                   |
 45763  //	|  VmfsVolume <---------------  Unresolved ------------>  VmfsVolume with |
 45764  //	| forceMountedInfo              Vmfs Volume              forceMountedInfo |
 45765  //	|  not set                                                  will be set   |
 45766  //	---------------------------------------------------------------------------
 45767  //
 45768  // See also `HostStorageSystem`.
 45769  type HostUnresolvedVmfsVolume struct {
 45770  	DynamicData
 45771  
 45772  	// List of detected copies of VMFS extents.
 45773  	Extent []HostUnresolvedVmfsExtent `xml:"extent" json:"extent"`
 45774  	// The detected VMFS label name
 45775  	VmfsLabel string `xml:"vmfsLabel" json:"vmfsLabel"`
 45776  	// The detected VMFS UUID
 45777  	VmfsUuid string `xml:"vmfsUuid" json:"vmfsUuid"`
 45778  	// Total number of blocks in this volume.
 45779  	TotalBlocks int32 `xml:"totalBlocks" json:"totalBlocks"`
 45780  	// Information related to how the volume might be resolved.
 45781  	ResolveStatus HostUnresolvedVmfsVolumeResolveStatus `xml:"resolveStatus" json:"resolveStatus"`
 45782  }
 45783  
 45784  func init() {
 45785  	t["HostUnresolvedVmfsVolume"] = reflect.TypeOf((*HostUnresolvedVmfsVolume)(nil)).Elem()
 45786  	minAPIVersionForType["HostUnresolvedVmfsVolume"] = "4.0"
 45787  }
 45788  
 45789  // Data object that describes the resolvability of a volume.
 45790  type HostUnresolvedVmfsVolumeResolveStatus struct {
 45791  	DynamicData
 45792  
 45793  	// Can this volume be resolved? There may be other reasons a volume cannot
 45794  	// be resolved other than the fact that it is incomplete.
 45795  	//
 45796  	// This boolean will
 45797  	// authoritatively indicate if the server can resolve this volume.
 45798  	Resolvable bool `xml:"resolvable" json:"resolvable"`
 45799  	// Is the list of extents for the volume a partial list? A volume can only
 45800  	// be resignatured if all extents composing that volume are available.
 45801  	//
 45802  	// Hence, a volume with a partial extent list cannot be resignatured.
 45803  	//
 45804  	// In cases where this information is not known for a volume, this
 45805  	// property will be unset.
 45806  	IncompleteExtents *bool `xml:"incompleteExtents" json:"incompleteExtents,omitempty"`
 45807  	// Are there multiple copies of extents for this volume? If any extent of
 45808  	// the volume has multiple copies then the extents to be resolved must be
 45809  	// explicitly specified when resolving this volume.
 45810  	//
 45811  	// In cases where this information is not known for a volume, this
 45812  	// property will be unset.
 45813  	MultipleCopies *bool `xml:"multipleCopies" json:"multipleCopies,omitempty"`
 45814  }
 45815  
 45816  func init() {
 45817  	t["HostUnresolvedVmfsVolumeResolveStatus"] = reflect.TypeOf((*HostUnresolvedVmfsVolumeResolveStatus)(nil)).Elem()
 45818  	minAPIVersionForType["HostUnresolvedVmfsVolumeResolveStatus"] = "4.0"
 45819  }
 45820  
 45821  // The parameters of `HostVStorageObjectManager.HostUpdateVStorageObjectMetadataEx_Task`.
 45822  type HostUpdateVStorageObjectMetadataExRequestType struct {
 45823  	This ManagedObjectReference `xml:"_this" json:"-"`
 45824  	// The ID of the virtual storage object.
 45825  	Id ID `xml:"id" json:"id"`
 45826  	// The datastore to query for the virtual storage objects.
 45827  	//
 45828  	// Refers instance of `Datastore`.
 45829  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 45830  	// array of key/value strings. (keys must be unique
 45831  	// within the list)
 45832  	Metadata []KeyValue `xml:"metadata,omitempty" json:"metadata,omitempty"`
 45833  	// array of keys need to be deleted
 45834  	DeleteKeys []string `xml:"deleteKeys,omitempty" json:"deleteKeys,omitempty"`
 45835  }
 45836  
 45837  func init() {
 45838  	t["HostUpdateVStorageObjectMetadataExRequestType"] = reflect.TypeOf((*HostUpdateVStorageObjectMetadataExRequestType)(nil)).Elem()
 45839  }
 45840  
 45841  type HostUpdateVStorageObjectMetadataEx_Task HostUpdateVStorageObjectMetadataExRequestType
 45842  
 45843  func init() {
 45844  	t["HostUpdateVStorageObjectMetadataEx_Task"] = reflect.TypeOf((*HostUpdateVStorageObjectMetadataEx_Task)(nil)).Elem()
 45845  }
 45846  
 45847  type HostUpdateVStorageObjectMetadataEx_TaskResponse struct {
 45848  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 45849  }
 45850  
 45851  // The parameters of `HostVStorageObjectManager.HostUpdateVStorageObjectMetadata_Task`.
 45852  type HostUpdateVStorageObjectMetadataRequestType struct {
 45853  	This ManagedObjectReference `xml:"_this" json:"-"`
 45854  	// The ID of the virtual storage object.
 45855  	Id ID `xml:"id" json:"id"`
 45856  	// The datastore to query for the virtual storage objects.
 45857  	//
 45858  	// Refers instance of `Datastore`.
 45859  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 45860  	// array of key/value strings. (keys must be unique
 45861  	// within the list)
 45862  	Metadata []KeyValue `xml:"metadata,omitempty" json:"metadata,omitempty"`
 45863  	// array of keys need to be deleted
 45864  	DeleteKeys []string `xml:"deleteKeys,omitempty" json:"deleteKeys,omitempty"`
 45865  }
 45866  
 45867  func init() {
 45868  	t["HostUpdateVStorageObjectMetadataRequestType"] = reflect.TypeOf((*HostUpdateVStorageObjectMetadataRequestType)(nil)).Elem()
 45869  }
 45870  
 45871  type HostUpdateVStorageObjectMetadata_Task HostUpdateVStorageObjectMetadataRequestType
 45872  
 45873  func init() {
 45874  	t["HostUpdateVStorageObjectMetadata_Task"] = reflect.TypeOf((*HostUpdateVStorageObjectMetadata_Task)(nil)).Elem()
 45875  }
 45876  
 45877  type HostUpdateVStorageObjectMetadata_TaskResponse struct {
 45878  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 45879  }
 45880  
 45881  // This event records a failure to connect to a host
 45882  // due to an installation or upgrade issue.
 45883  type HostUpgradeFailedEvent struct {
 45884  	HostEvent
 45885  }
 45886  
 45887  func init() {
 45888  	t["HostUpgradeFailedEvent"] = reflect.TypeOf((*HostUpgradeFailedEvent)(nil)).Elem()
 45889  }
 45890  
 45891  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 45892  //
 45893  // This event records that the userworld swap is not enabled on the host.
 45894  //
 45895  // HA
 45896  // needs userworld swap to be configured on embedded ESX hosts to function.
 45897  type HostUserWorldSwapNotEnabledEvent struct {
 45898  	HostEvent
 45899  }
 45900  
 45901  func init() {
 45902  	t["HostUserWorldSwapNotEnabledEvent"] = reflect.TypeOf((*HostUserWorldSwapNotEnabledEvent)(nil)).Elem()
 45903  	minAPIVersionForType["HostUserWorldSwapNotEnabledEvent"] = "4.0"
 45904  }
 45905  
 45906  // Data object describes host vFlash cache configuration information.
 45907  type HostVFlashManagerVFlashCacheConfigInfo struct {
 45908  	DynamicData
 45909  
 45910  	// Cache configuration options for the supported vFlash modules.
 45911  	VFlashModuleConfigOption []HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption `xml:"vFlashModuleConfigOption,omitempty" json:"vFlashModuleConfigOption,omitempty"`
 45912  	// Name of the default vFlash module for the read-write cache associated
 45913  	// with the VMs of this host.
 45914  	//
 45915  	// This setting can be overridden by
 45916  	// `VirtualDiskVFlashCacheConfigInfo.vFlashModule`
 45917  	// per VMDK.
 45918  	DefaultVFlashModule string `xml:"defaultVFlashModule,omitempty" json:"defaultVFlashModule,omitempty"`
 45919  	// Amount of vFlash resource is allocated to the host swap cache.
 45920  	//
 45921  	// As long as set,
 45922  	// reservation will be permanent and retain regardless of host power state. The host
 45923  	// swap cache will be disabled if reservation is set to zero.
 45924  	SwapCacheReservationInGB int64 `xml:"swapCacheReservationInGB,omitempty" json:"swapCacheReservationInGB,omitempty"`
 45925  }
 45926  
 45927  func init() {
 45928  	t["HostVFlashManagerVFlashCacheConfigInfo"] = reflect.TypeOf((*HostVFlashManagerVFlashCacheConfigInfo)(nil)).Elem()
 45929  	minAPIVersionForType["HostVFlashManagerVFlashCacheConfigInfo"] = "5.5"
 45930  }
 45931  
 45932  type HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption struct {
 45933  	DynamicData
 45934  
 45935  	// Name of the vFlash module
 45936  	VFlashModule string `xml:"vFlashModule" json:"vFlashModule"`
 45937  	// Version of the vFlash module
 45938  	VFlashModuleVersion string `xml:"vFlashModuleVersion" json:"vFlashModuleVersion"`
 45939  	// Minimum supported version
 45940  	MinSupportedModuleVersion string `xml:"minSupportedModuleVersion" json:"minSupportedModuleVersion"`
 45941  	// Cache data consistency types.
 45942  	//
 45943  	// See `VirtualDiskVFlashCacheConfigInfoCacheConsistencyType_enum`
 45944  	CacheConsistencyType ChoiceOption `xml:"cacheConsistencyType" json:"cacheConsistencyType"`
 45945  	// Cache modes.
 45946  	//
 45947  	// See `VirtualDiskVFlashCacheConfigInfoCacheMode_enum`
 45948  	CacheMode ChoiceOption `xml:"cacheMode" json:"cacheMode"`
 45949  	// blockSizeInKBOption defines a range of virtual disk cache block size.
 45950  	BlockSizeInKBOption LongOption `xml:"blockSizeInKBOption" json:"blockSizeInKBOption"`
 45951  	// reservationInMBOption defines a range of virtual disk cache size.
 45952  	ReservationInMBOption LongOption `xml:"reservationInMBOption" json:"reservationInMBOption"`
 45953  	// Maximal size of virtual disk supported in kilobytes.
 45954  	MaxDiskSizeInKB int64 `xml:"maxDiskSizeInKB" json:"maxDiskSizeInKB"`
 45955  }
 45956  
 45957  func init() {
 45958  	t["HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption"] = reflect.TypeOf((*HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption)(nil)).Elem()
 45959  }
 45960  
 45961  // Specification to configure vFlash cache on the host.
 45962  type HostVFlashManagerVFlashCacheConfigSpec struct {
 45963  	DynamicData
 45964  
 45965  	// Name of the default vFlash module for the read-write caches associated
 45966  	// with the VMs of this host.
 45967  	//
 45968  	// This setting can be overridden by
 45969  	// `VirtualDiskVFlashCacheConfigInfo.vFlashModule`
 45970  	// per VMDK.
 45971  	DefaultVFlashModule string `xml:"defaultVFlashModule" json:"defaultVFlashModule"`
 45972  	// Amount of vFlash resource is allocated to the host swap cache.
 45973  	//
 45974  	// As long as set,
 45975  	// reservation will be permanent and retain regardless of host power state. The host
 45976  	// swap cache will be disabled if the reservation is set to zero.
 45977  	SwapCacheReservationInGB int64 `xml:"swapCacheReservationInGB" json:"swapCacheReservationInGB"`
 45978  }
 45979  
 45980  func init() {
 45981  	t["HostVFlashManagerVFlashCacheConfigSpec"] = reflect.TypeOf((*HostVFlashManagerVFlashCacheConfigSpec)(nil)).Elem()
 45982  	minAPIVersionForType["HostVFlashManagerVFlashCacheConfigSpec"] = "5.5"
 45983  }
 45984  
 45985  // vFlash configuration Information.
 45986  type HostVFlashManagerVFlashConfigInfo struct {
 45987  	DynamicData
 45988  
 45989  	// vFlash resource configuration information
 45990  	VFlashResourceConfigInfo *HostVFlashManagerVFlashResourceConfigInfo `xml:"vFlashResourceConfigInfo,omitempty" json:"vFlashResourceConfigInfo,omitempty"`
 45991  	// vFlash cache configuration information
 45992  	VFlashCacheConfigInfo *HostVFlashManagerVFlashCacheConfigInfo `xml:"vFlashCacheConfigInfo,omitempty" json:"vFlashCacheConfigInfo,omitempty"`
 45993  }
 45994  
 45995  func init() {
 45996  	t["HostVFlashManagerVFlashConfigInfo"] = reflect.TypeOf((*HostVFlashManagerVFlashConfigInfo)(nil)).Elem()
 45997  	minAPIVersionForType["HostVFlashManagerVFlashConfigInfo"] = "5.5"
 45998  }
 45999  
 46000  // vFlash resource configuration Information.
 46001  type HostVFlashManagerVFlashResourceConfigInfo struct {
 46002  	DynamicData
 46003  
 46004  	// The contained VFFS volume
 46005  	Vffs *HostVffsVolume `xml:"vffs,omitempty" json:"vffs,omitempty"`
 46006  	// Capacity of the vFlash resource.
 46007  	//
 46008  	// It is the capacity
 46009  	// of the contained VFFS volume.
 46010  	Capacity int64 `xml:"capacity" json:"capacity"`
 46011  }
 46012  
 46013  func init() {
 46014  	t["HostVFlashManagerVFlashResourceConfigInfo"] = reflect.TypeOf((*HostVFlashManagerVFlashResourceConfigInfo)(nil)).Elem()
 46015  	minAPIVersionForType["HostVFlashManagerVFlashResourceConfigInfo"] = "5.5"
 46016  }
 46017  
 46018  // vFlash resource configuration specification.
 46019  type HostVFlashManagerVFlashResourceConfigSpec struct {
 46020  	DynamicData
 46021  
 46022  	// The contained VFFS volume uuid.
 46023  	VffsUuid string `xml:"vffsUuid" json:"vffsUuid"`
 46024  }
 46025  
 46026  func init() {
 46027  	t["HostVFlashManagerVFlashResourceConfigSpec"] = reflect.TypeOf((*HostVFlashManagerVFlashResourceConfigSpec)(nil)).Elem()
 46028  	minAPIVersionForType["HostVFlashManagerVFlashResourceConfigSpec"] = "5.5"
 46029  }
 46030  
 46031  // Data object provides vFlash resource runtime usage.
 46032  type HostVFlashManagerVFlashResourceRunTimeInfo struct {
 46033  	DynamicData
 46034  
 46035  	// Overall usage of vFlash resource, in bytes.
 46036  	Usage int64 `xml:"usage" json:"usage"`
 46037  	// Overall capacity of vFlash resource, in bytes.
 46038  	Capacity int64 `xml:"capacity" json:"capacity"`
 46039  	// True if all the included the VFFS volumes are accessible.
 46040  	//
 46041  	// False if one or
 46042  	// multiple included VFFS volumes are inaccessible.
 46043  	Accessible bool `xml:"accessible" json:"accessible"`
 46044  	// vFlash resource capacity can be allocated for VM caches
 46045  	CapacityForVmCache int64 `xml:"capacityForVmCache" json:"capacityForVmCache"`
 46046  	// Free vFlash resource can be allocated for VM caches
 46047  	FreeForVmCache int64 `xml:"freeForVmCache" json:"freeForVmCache"`
 46048  }
 46049  
 46050  func init() {
 46051  	t["HostVFlashManagerVFlashResourceRunTimeInfo"] = reflect.TypeOf((*HostVFlashManagerVFlashResourceRunTimeInfo)(nil)).Elem()
 46052  	minAPIVersionForType["HostVFlashManagerVFlashResourceRunTimeInfo"] = "5.5"
 46053  }
 46054  
 46055  // vFlash resource configuration result returns the newly-configured backend
 46056  // VFFS volume and operation result for each passed-in SSD device.
 46057  type HostVFlashResourceConfigurationResult struct {
 46058  	DynamicData
 46059  
 46060  	// The original array of device path which user had specified
 46061  	DevicePath []string `xml:"devicePath,omitempty" json:"devicePath,omitempty"`
 46062  	// Newly configured VffsVolume
 46063  	Vffs *HostVffsVolume `xml:"vffs,omitempty" json:"vffs,omitempty"`
 46064  	// Array of device operation results.
 46065  	DiskConfigurationResult []HostDiskConfigurationResult `xml:"diskConfigurationResult,omitempty" json:"diskConfigurationResult,omitempty"`
 46066  }
 46067  
 46068  func init() {
 46069  	t["HostVFlashResourceConfigurationResult"] = reflect.TypeOf((*HostVFlashResourceConfigurationResult)(nil)).Elem()
 46070  	minAPIVersionForType["HostVFlashResourceConfigurationResult"] = "5.5"
 46071  }
 46072  
 46073  // The object type for the array returned by queryVMotionCompatibility;
 46074  // specifies the VMotion compatibility types for a host.
 46075  type HostVMotionCompatibility struct {
 46076  	DynamicData
 46077  
 46078  	// The prospective host for the virtual machine.
 46079  	//
 46080  	// Refers instance of `HostSystem`.
 46081  	Host ManagedObjectReference `xml:"host" json:"host"`
 46082  	// Ways in which the host is compatible with the designated virtual
 46083  	// machine that is a candidate for VMotion.
 46084  	//
 46085  	// This array will be
 46086  	// a subset of the set of VMotionCompatibilityType strings that
 46087  	// were input to queryVMotionCompatibility.
 46088  	Compatibility []string `xml:"compatibility,omitempty" json:"compatibility,omitempty"`
 46089  }
 46090  
 46091  func init() {
 46092  	t["HostVMotionCompatibility"] = reflect.TypeOf((*HostVMotionCompatibility)(nil)).Elem()
 46093  }
 46094  
 46095  // This data object configuring VMotion on the host.
 46096  //
 46097  // The runtime information is available from the
 46098  // `VMotionInfo` data object type.
 46099  type HostVMotionConfig struct {
 46100  	DynamicData
 46101  
 46102  	// Key of the VirtualNic used for VMotion.
 46103  	VmotionNicKey string `xml:"vmotionNicKey,omitempty" json:"vmotionNicKey,omitempty"`
 46104  	// Flag to indicate whether or not VMotion is enabled.
 46105  	Enabled bool `xml:"enabled" json:"enabled"`
 46106  }
 46107  
 46108  func init() {
 46109  	t["HostVMotionConfig"] = reflect.TypeOf((*HostVMotionConfig)(nil)).Elem()
 46110  }
 46111  
 46112  // Deprecated as of VI API 4.0, use `HostVirtualNicManagerInfo`.
 46113  //
 46114  // This data object type describes VMotion host
 46115  // configuration data objects.
 46116  type HostVMotionInfo struct {
 46117  	DynamicData
 46118  
 46119  	// VMotion network configuration.
 46120  	NetConfig *HostVMotionNetConfig `xml:"netConfig,omitempty" json:"netConfig,omitempty"`
 46121  	// IP configuration of the VMotion VirtualNic.
 46122  	IpConfig *HostIpConfig `xml:"ipConfig,omitempty" json:"ipConfig,omitempty"`
 46123  }
 46124  
 46125  func init() {
 46126  	t["HostVMotionInfo"] = reflect.TypeOf((*HostVMotionInfo)(nil)).Elem()
 46127  }
 46128  
 46129  // The result of an InstantClone task.
 46130  //
 46131  // Contains the dest VM id and timestamp
 46132  // values at the time of different operations.
 46133  type HostVMotionManagerDstInstantCloneResult struct {
 46134  	DynamicData
 46135  
 46136  	// The destination VM ID of the InstantCloned VM.
 46137  	DstVmId int32 `xml:"dstVmId,omitempty" json:"dstVmId,omitempty"`
 46138  	// Time stamp at the start of the InstantClone operation at the dest
 46139  	// VM.
 46140  	StartTime int64 `xml:"startTime,omitempty" json:"startTime,omitempty"`
 46141  	// Time stamp when the destination VM starts cpt load.
 46142  	CptLoadTime int64 `xml:"cptLoadTime,omitempty" json:"cptLoadTime,omitempty"`
 46143  	// Time stamp when the destination VM completes cpt load.
 46144  	CptLoadDoneTime int64 `xml:"cptLoadDoneTime,omitempty" json:"cptLoadDoneTime,omitempty"`
 46145  	// Time stamp when the destination VM completes replicating memory.
 46146  	ReplicateMemDoneTime int64 `xml:"replicateMemDoneTime,omitempty" json:"replicateMemDoneTime,omitempty"`
 46147  	// Time stamp when the migration completes on the destination VM.
 46148  	EndTime int64 `xml:"endTime,omitempty" json:"endTime,omitempty"`
 46149  	// Device checkpoint stream time.
 46150  	CptXferTime int64 `xml:"cptXferTime,omitempty" json:"cptXferTime,omitempty"`
 46151  	// Checkpoint cache size used.
 46152  	CptCacheUsed int64 `xml:"cptCacheUsed,omitempty" json:"cptCacheUsed,omitempty"`
 46153  	// Device checkpoint stream size.
 46154  	DevCptStreamSize int64 `xml:"devCptStreamSize,omitempty" json:"devCptStreamSize,omitempty"`
 46155  	// Device checkpoint stream time.
 46156  	DevCptStreamTime int64 `xml:"devCptStreamTime,omitempty" json:"devCptStreamTime,omitempty"`
 46157  }
 46158  
 46159  func init() {
 46160  	t["HostVMotionManagerDstInstantCloneResult"] = reflect.TypeOf((*HostVMotionManagerDstInstantCloneResult)(nil)).Elem()
 46161  	minAPIVersionForType["HostVMotionManagerDstInstantCloneResult"] = "7.0"
 46162  }
 46163  
 46164  // The result of an InstantClone InitiateSource task.
 46165  //
 46166  // Contains the timestamp
 46167  // value at the time of different operations.
 46168  type HostVMotionManagerSrcInstantCloneResult struct {
 46169  	DynamicData
 46170  
 46171  	// Time stamp at the start of the InstantClone operation at the
 46172  	// source VM.
 46173  	StartTime int64 `xml:"startTime,omitempty" json:"startTime,omitempty"`
 46174  	// Time stamp when the source VM enters quiesce state.
 46175  	QuiesceTime int64 `xml:"quiesceTime,omitempty" json:"quiesceTime,omitempty"`
 46176  	// Time stamp when the source VM successfully quiesces.
 46177  	QuiesceDoneTime int64 `xml:"quiesceDoneTime,omitempty" json:"quiesceDoneTime,omitempty"`
 46178  	// Time stamp when the source VM completes resuming.
 46179  	ResumeDoneTime int64 `xml:"resumeDoneTime,omitempty" json:"resumeDoneTime,omitempty"`
 46180  	// Time stamp when the migration completes on the source VM.
 46181  	EndTime int64 `xml:"endTime,omitempty" json:"endTime,omitempty"`
 46182  }
 46183  
 46184  func init() {
 46185  	t["HostVMotionManagerSrcInstantCloneResult"] = reflect.TypeOf((*HostVMotionManagerSrcInstantCloneResult)(nil)).Elem()
 46186  	minAPIVersionForType["HostVMotionManagerSrcInstantCloneResult"] = "7.0"
 46187  }
 46188  
 46189  // The NetConfig data object type contains the networking
 46190  // configuration for VMotion operations.
 46191  type HostVMotionNetConfig struct {
 46192  	DynamicData
 46193  
 46194  	// List of VirtualNic objects that may be used for VMotion.
 46195  	//
 46196  	// This will be a subset of the list of VirtualNics in
 46197  	// `HostNetworkInfo.vnic`.
 46198  	CandidateVnic []HostVirtualNic `xml:"candidateVnic,omitempty" json:"candidateVnic,omitempty"`
 46199  	// VirtualNic that is selected for use in VMotion operations.
 46200  	SelectedVnic string `xml:"selectedVnic,omitempty" json:"selectedVnic,omitempty"`
 46201  }
 46202  
 46203  func init() {
 46204  	t["HostVMotionNetConfig"] = reflect.TypeOf((*HostVMotionNetConfig)(nil)).Elem()
 46205  }
 46206  
 46207  // The parameters of `HostVStorageObjectManager.HostVStorageObjectCreateDiskFromSnapshot_Task`.
 46208  type HostVStorageObjectCreateDiskFromSnapshotRequestType struct {
 46209  	This ManagedObjectReference `xml:"_this" json:"-"`
 46210  	// The ID of the virtual storage object.
 46211  	Id ID `xml:"id" json:"id"`
 46212  	// The datastore where the source virtual storage object
 46213  	// is located.
 46214  	//
 46215  	// Refers instance of `Datastore`.
 46216  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 46217  	// The ID of the snapshot of the virtual storage object.
 46218  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 46219  	// A user friendly name to be associated with the new disk.
 46220  	Name string `xml:"name" json:"name"`
 46221  	// SPBM Profile requirement on the new virtual storage object.
 46222  	// If not specified datastore default policy would be
 46223  	// assigned.
 46224  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 46225  	// Crypto information of the new disk.
 46226  	Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr" json:"crypto,omitempty"`
 46227  	// Relative location in the specified datastore where disk needs
 46228  	// to be created. If not specified disk gets created at defualt
 46229  	// VStorageObject location on the specified datastore
 46230  	Path string `xml:"path,omitempty" json:"path,omitempty"`
 46231  	// Provisioining type of the disk as specified in above
 46232  	// mentioned profile. The list of supported values can be found in
 46233  	// `BaseConfigInfoDiskFileBackingInfoProvisioningType_enum`
 46234  	ProvisioningType string `xml:"provisioningType,omitempty" json:"provisioningType,omitempty" vim:"8.0.0.1"`
 46235  }
 46236  
 46237  func init() {
 46238  	t["HostVStorageObjectCreateDiskFromSnapshotRequestType"] = reflect.TypeOf((*HostVStorageObjectCreateDiskFromSnapshotRequestType)(nil)).Elem()
 46239  }
 46240  
 46241  type HostVStorageObjectCreateDiskFromSnapshot_Task HostVStorageObjectCreateDiskFromSnapshotRequestType
 46242  
 46243  func init() {
 46244  	t["HostVStorageObjectCreateDiskFromSnapshot_Task"] = reflect.TypeOf((*HostVStorageObjectCreateDiskFromSnapshot_Task)(nil)).Elem()
 46245  }
 46246  
 46247  type HostVStorageObjectCreateDiskFromSnapshot_TaskResponse struct {
 46248  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 46249  }
 46250  
 46251  // The parameters of `HostVStorageObjectManager.HostVStorageObjectCreateSnapshot_Task`.
 46252  type HostVStorageObjectCreateSnapshotRequestType struct {
 46253  	This ManagedObjectReference `xml:"_this" json:"-"`
 46254  	// The ID of the virtual storage object.
 46255  	Id ID `xml:"id" json:"id"`
 46256  	// The datastore where the source virtual storage object
 46257  	// is located.
 46258  	//
 46259  	// Refers instance of `Datastore`.
 46260  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 46261  	// A short description to be associated with the snapshot.
 46262  	Description string `xml:"description" json:"description"`
 46263  }
 46264  
 46265  func init() {
 46266  	t["HostVStorageObjectCreateSnapshotRequestType"] = reflect.TypeOf((*HostVStorageObjectCreateSnapshotRequestType)(nil)).Elem()
 46267  }
 46268  
 46269  type HostVStorageObjectCreateSnapshot_Task HostVStorageObjectCreateSnapshotRequestType
 46270  
 46271  func init() {
 46272  	t["HostVStorageObjectCreateSnapshot_Task"] = reflect.TypeOf((*HostVStorageObjectCreateSnapshot_Task)(nil)).Elem()
 46273  }
 46274  
 46275  type HostVStorageObjectCreateSnapshot_TaskResponse struct {
 46276  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 46277  }
 46278  
 46279  // The parameters of `HostVStorageObjectManager.HostVStorageObjectDeleteSnapshot_Task`.
 46280  type HostVStorageObjectDeleteSnapshotRequestType struct {
 46281  	This ManagedObjectReference `xml:"_this" json:"-"`
 46282  	// The ID of the virtual storage object.
 46283  	Id ID `xml:"id" json:"id"`
 46284  	// The datastore where the source virtual storage object
 46285  	// is located.
 46286  	//
 46287  	// Refers instance of `Datastore`.
 46288  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 46289  	// The ID of the snapshot of a virtual storage object.
 46290  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 46291  }
 46292  
 46293  func init() {
 46294  	t["HostVStorageObjectDeleteSnapshotRequestType"] = reflect.TypeOf((*HostVStorageObjectDeleteSnapshotRequestType)(nil)).Elem()
 46295  }
 46296  
 46297  type HostVStorageObjectDeleteSnapshot_Task HostVStorageObjectDeleteSnapshotRequestType
 46298  
 46299  func init() {
 46300  	t["HostVStorageObjectDeleteSnapshot_Task"] = reflect.TypeOf((*HostVStorageObjectDeleteSnapshot_Task)(nil)).Elem()
 46301  }
 46302  
 46303  type HostVStorageObjectDeleteSnapshot_TaskResponse struct {
 46304  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 46305  }
 46306  
 46307  type HostVStorageObjectRetrieveSnapshotInfo HostVStorageObjectRetrieveSnapshotInfoRequestType
 46308  
 46309  func init() {
 46310  	t["HostVStorageObjectRetrieveSnapshotInfo"] = reflect.TypeOf((*HostVStorageObjectRetrieveSnapshotInfo)(nil)).Elem()
 46311  }
 46312  
 46313  // The parameters of `HostVStorageObjectManager.HostVStorageObjectRetrieveSnapshotInfo`.
 46314  type HostVStorageObjectRetrieveSnapshotInfoRequestType struct {
 46315  	This ManagedObjectReference `xml:"_this" json:"-"`
 46316  	// The ID of the virtual storage object.
 46317  	Id ID `xml:"id" json:"id"`
 46318  	// The datastore where the source virtual storage object
 46319  	// is located.
 46320  	//
 46321  	// Refers instance of `Datastore`.
 46322  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 46323  }
 46324  
 46325  func init() {
 46326  	t["HostVStorageObjectRetrieveSnapshotInfoRequestType"] = reflect.TypeOf((*HostVStorageObjectRetrieveSnapshotInfoRequestType)(nil)).Elem()
 46327  }
 46328  
 46329  type HostVStorageObjectRetrieveSnapshotInfoResponse struct {
 46330  	Returnval VStorageObjectSnapshotInfo `xml:"returnval" json:"returnval"`
 46331  }
 46332  
 46333  // The parameters of `HostVStorageObjectManager.HostVStorageObjectRevert_Task`.
 46334  type HostVStorageObjectRevertRequestType struct {
 46335  	This ManagedObjectReference `xml:"_this" json:"-"`
 46336  	// The ID of the virtual storage object.
 46337  	Id ID `xml:"id" json:"id"`
 46338  	// The datastore where the source virtual storage object
 46339  	// is located.
 46340  	//
 46341  	// Refers instance of `Datastore`.
 46342  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 46343  	// The ID of the snapshot of a virtual storage object.
 46344  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 46345  }
 46346  
 46347  func init() {
 46348  	t["HostVStorageObjectRevertRequestType"] = reflect.TypeOf((*HostVStorageObjectRevertRequestType)(nil)).Elem()
 46349  }
 46350  
 46351  type HostVStorageObjectRevert_Task HostVStorageObjectRevertRequestType
 46352  
 46353  func init() {
 46354  	t["HostVStorageObjectRevert_Task"] = reflect.TypeOf((*HostVStorageObjectRevert_Task)(nil)).Elem()
 46355  }
 46356  
 46357  type HostVStorageObjectRevert_TaskResponse struct {
 46358  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 46359  }
 46360  
 46361  // VFAT file system volume.
 46362  type HostVfatVolume struct {
 46363  	HostFileSystemVolume
 46364  }
 46365  
 46366  func init() {
 46367  	t["HostVfatVolume"] = reflect.TypeOf((*HostVfatVolume)(nil)).Elem()
 46368  	minAPIVersionForType["HostVfatVolume"] = "5.0"
 46369  }
 46370  
 46371  // This data object type describes the VFFS
 46372  // creation specification.
 46373  type HostVffsSpec struct {
 46374  	DynamicData
 46375  
 46376  	// The device path of the SSD disk.
 46377  	//
 46378  	// See also `HostScsiDisk.devicePath`.
 46379  	DevicePath string `xml:"devicePath" json:"devicePath"`
 46380  	// Partition specification of the SSD disk.
 46381  	//
 46382  	// If this property
 46383  	// is not provided, partition information will be computed
 46384  	// and generated.
 46385  	Partition *HostDiskPartitionSpec `xml:"partition,omitempty" json:"partition,omitempty"`
 46386  	// Major version number of VFFS.
 46387  	//
 46388  	// This can be changed if the VFFS is
 46389  	// upgraded, but this is an irreversible change.
 46390  	MajorVersion int32 `xml:"majorVersion" json:"majorVersion"`
 46391  	// Volume name of VFFS.
 46392  	VolumeName string `xml:"volumeName" json:"volumeName"`
 46393  }
 46394  
 46395  func init() {
 46396  	t["HostVffsSpec"] = reflect.TypeOf((*HostVffsSpec)(nil)).Elem()
 46397  	minAPIVersionForType["HostVffsSpec"] = "5.5"
 46398  }
 46399  
 46400  // vFlash File System Volume.
 46401  type HostVffsVolume struct {
 46402  	HostFileSystemVolume
 46403  
 46404  	// Major version number of VFFS.
 46405  	MajorVersion int32 `xml:"majorVersion" json:"majorVersion"`
 46406  	// Version string.
 46407  	//
 46408  	// Contains major and minor version numbers.
 46409  	Version string `xml:"version" json:"version"`
 46410  	// The universally unique identifier assigned to VFFS.
 46411  	Uuid string `xml:"uuid" json:"uuid"`
 46412  	// The list of partition names that comprise this disk's
 46413  	// VFFS extents.
 46414  	Extent []HostScsiDiskPartition `xml:"extent" json:"extent"`
 46415  }
 46416  
 46417  func init() {
 46418  	t["HostVffsVolume"] = reflect.TypeOf((*HostVffsVolume)(nil)).Elem()
 46419  	minAPIVersionForType["HostVffsVolume"] = "5.5"
 46420  }
 46421  
 46422  // The `HostVirtualNic` data object describes a virtual network adapter
 46423  // that connects to a virtual switch.
 46424  //
 46425  // A host virtual NIC differs from a physical NIC:
 46426  //   - A host virtual NIC is a virtual device that is connected to a virtual switch.
 46427  //   - A physical NIC (`HostNetworkInfo.pnic`) corresponds to a physical
 46428  //     device that is connected to the physical network.
 46429  //
 46430  // A host virtual NIC provides access to the external network through a virtual switch
 46431  // that is bridged through a Physical NIC to a physical network.
 46432  type HostVirtualNic struct {
 46433  	DynamicData
 46434  
 46435  	// Device name.
 46436  	Device string `xml:"device" json:"device"`
 46437  	// Linkable identifier.
 46438  	Key string `xml:"key" json:"key"`
 46439  	// If the Virtual NIC is connecting to a vSwitch, this property is the name of
 46440  	// portgroup connected.
 46441  	//
 46442  	// If the Virtual NIC is connecting to a
 46443  	// DistributedVirtualSwitch or opaque network, this property is an empty string.
 46444  	Portgroup string `xml:"portgroup" json:"portgroup"`
 46445  	// Configurable properties for the virtual network adapter object.
 46446  	Spec HostVirtualNicSpec `xml:"spec" json:"spec"`
 46447  	// Port(`HostPortGroup.port`) on the port group that the virtual
 46448  	// NIC is using when it is enabled.
 46449  	//
 46450  	// If the Virtual NIC is connected to
 46451  	// DistributedVirtualSwitch or opaque network, this property is unset.
 46452  	Port string `xml:"port,omitempty" json:"port,omitempty"`
 46453  }
 46454  
 46455  func init() {
 46456  	t["HostVirtualNic"] = reflect.TypeOf((*HostVirtualNic)(nil)).Elem()
 46457  }
 46458  
 46459  // The `HostVirtualNicConfig` data object describes the virtual
 46460  // NIC configuration.
 46461  //
 46462  // It represents both the configured properties on a
 46463  // `HostVirtualNic` and identification information.
 46464  type HostVirtualNicConfig struct {
 46465  	DynamicData
 46466  
 46467  	// Change operation to apply on this configuration specification.
 46468  	//
 46469  	// See also `HostConfigChangeOperation_enum`.
 46470  	ChangeOperation string `xml:"changeOperation,omitempty" json:"changeOperation,omitempty"`
 46471  	// Virtual NIC device (`HostVirtualNic.device`) to which
 46472  	// configuration applies.
 46473  	Device string `xml:"device,omitempty" json:"device,omitempty"`
 46474  	// If the Virtual NIC is connecting to a vSwitch, this property is the name of
 46475  	// portgroup connected.
 46476  	//
 46477  	// If the Virtual NIC is connecting to a
 46478  	// `DistributedVirtualSwitch` or `HostOpaqueNetworkInfo`,
 46479  	// this property is ignored.
 46480  	Portgroup string `xml:"portgroup" json:"portgroup"`
 46481  	// Specification of the virtual network adapter.
 46482  	Spec *HostVirtualNicSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 46483  }
 46484  
 46485  func init() {
 46486  	t["HostVirtualNicConfig"] = reflect.TypeOf((*HostVirtualNicConfig)(nil)).Elem()
 46487  }
 46488  
 46489  // DataObject which provides a level of indirection when
 46490  // identifying VirtualNics during configuration.
 46491  //
 46492  // This dataObject lets users specify a VirtualNic in terms of
 46493  // the portgroup/Dv Port the Virtual NIC is connected to.
 46494  // This is useful in cases where VirtualNic will be created as part of
 46495  // a configuration operation and the created VirtualNic is referred to
 46496  // in some other part of configuration. e.g: for configuring VMotion
 46497  type HostVirtualNicConnection struct {
 46498  	DynamicData
 46499  
 46500  	// Name of the portgroup to which the virtual nic is connected to.
 46501  	//
 46502  	// If this parameter is set, use a virtual nic connected to
 46503  	// a legacy portgroup.
 46504  	Portgroup string `xml:"portgroup,omitempty" json:"portgroup,omitempty"`
 46505  	// Identifier for the DistributedVirtualPort.
 46506  	//
 46507  	// If the virtual nic is to be connected to a DVS,
 46508  	// \#dvPort will be set instead of #portgroup
 46509  	DvPort *DistributedVirtualSwitchPortConnection `xml:"dvPort,omitempty" json:"dvPort,omitempty"`
 46510  	// Identifier for the opaqueNetworkSpec virtual nic connected to.
 46511  	//
 46512  	// If the virtual nic is to be connected to a logicSwitch,
 46513  	// \#opNetwork will be set instead of #portgroup and #dvPort
 46514  	OpNetwork *HostVirtualNicOpaqueNetworkSpec `xml:"opNetwork,omitempty" json:"opNetwork,omitempty" vim:"6.7"`
 46515  }
 46516  
 46517  func init() {
 46518  	t["HostVirtualNicConnection"] = reflect.TypeOf((*HostVirtualNicConnection)(nil)).Elem()
 46519  	minAPIVersionForType["HostVirtualNicConnection"] = "4.0"
 46520  }
 46521  
 46522  // The `HostVirtualNicIpRouteSpec` data object describes the
 46523  // IpRoute configuration used by virtual NIC.
 46524  type HostVirtualNicIpRouteSpec struct {
 46525  	DynamicData
 46526  
 46527  	// By default, a host virtual NIC uses default gateway configuration
 46528  	// from it's `HostNetStackInstance`.
 46529  	//
 46530  	// A custom IPv4 and IPv6
 46531  	// default gateway can be configured by specifying valid
 46532  	// `HostIpRouteConfig.defaultGateway` and
 46533  	// `HostIpRouteConfig.ipV6DefaultGateway` properties.
 46534  	// A user defined IPv4 and IPv6 default gateway can be removed by
 46535  	// unsetting corresponding gateway property from ipRouteConfig.
 46536  	IpRouteConfig BaseHostIpRouteConfig `xml:"ipRouteConfig,omitempty,typeattr" json:"ipRouteConfig,omitempty"`
 46537  }
 46538  
 46539  func init() {
 46540  	t["HostVirtualNicIpRouteSpec"] = reflect.TypeOf((*HostVirtualNicIpRouteSpec)(nil)).Elem()
 46541  	minAPIVersionForType["HostVirtualNicIpRouteSpec"] = "6.5"
 46542  }
 46543  
 46544  // This data object type describes VirtualNic host
 46545  // configuration data objects.
 46546  type HostVirtualNicManagerInfo struct {
 46547  	DynamicData
 46548  
 46549  	// List of VirtualNicManager network configuration.
 46550  	//
 46551  	// See also `VirtualNicManagerNetConfig`This contains the network
 46552  	// configuration for each NicType..
 46553  	NetConfig []VirtualNicManagerNetConfig `xml:"netConfig,omitempty" json:"netConfig,omitempty"`
 46554  }
 46555  
 46556  func init() {
 46557  	t["HostVirtualNicManagerInfo"] = reflect.TypeOf((*HostVirtualNicManagerInfo)(nil)).Elem()
 46558  	minAPIVersionForType["HostVirtualNicManagerInfo"] = "4.0"
 46559  }
 46560  
 46561  // DataObject which lets a VirtualNic be marked for
 46562  // use as a `HostVirtualNicManagerNicType_enum`.
 46563  type HostVirtualNicManagerNicTypeSelection struct {
 46564  	DynamicData
 46565  
 46566  	// VirtualNic for the selection is being made
 46567  	Vnic    HostVirtualNicConnection `xml:"vnic" json:"vnic"`
 46568  	NicType []string                 `xml:"nicType,omitempty" json:"nicType,omitempty"`
 46569  }
 46570  
 46571  func init() {
 46572  	t["HostVirtualNicManagerNicTypeSelection"] = reflect.TypeOf((*HostVirtualNicManagerNicTypeSelection)(nil)).Elem()
 46573  	minAPIVersionForType["HostVirtualNicManagerNicTypeSelection"] = "4.0"
 46574  }
 46575  
 46576  // The `HostVirtualNicOpaqueNetworkSpec` data object
 46577  // describes the opaque network(`HostOpaqueNetworkInfo`)
 46578  // configuration used by virtual NIC.
 46579  type HostVirtualNicOpaqueNetworkSpec struct {
 46580  	DynamicData
 46581  
 46582  	// ID of the Opaque network to which the virtual NIC is connected.
 46583  	OpaqueNetworkId string `xml:"opaqueNetworkId" json:"opaqueNetworkId"`
 46584  	// Type of the Opaque network to which the virtual NIC is connected.
 46585  	OpaqueNetworkType string `xml:"opaqueNetworkType" json:"opaqueNetworkType"`
 46586  }
 46587  
 46588  func init() {
 46589  	t["HostVirtualNicOpaqueNetworkSpec"] = reflect.TypeOf((*HostVirtualNicOpaqueNetworkSpec)(nil)).Elem()
 46590  	minAPIVersionForType["HostVirtualNicOpaqueNetworkSpec"] = "6.0"
 46591  }
 46592  
 46593  // The `HostVirtualNicSpec` data object describes the
 46594  // `HostVirtualNic` configuration containing both the configured
 46595  // properties on a virtual NIC and identification information.
 46596  type HostVirtualNicSpec struct {
 46597  	DynamicData
 46598  
 46599  	// IP configuration on the virtual network adapter.
 46600  	Ip *HostIpConfig `xml:"ip,omitempty" json:"ip,omitempty"`
 46601  	// Media access control (MAC) address of the virtual network adapter.
 46602  	Mac string `xml:"mac,omitempty" json:"mac,omitempty"`
 46603  	// `DistributedVirtualPort` or `DistributedVirtualPortgroup`
 46604  	// connection.
 46605  	//
 46606  	// To specify a port connection, set
 46607  	// `DistributedVirtualSwitchPortConnection.switchUuid` and `DistributedVirtualSwitchPortConnection.portKey`
 46608  	// properties. To specify a portgroup connection, set
 46609  	// `DistributedVirtualSwitchPortConnection.switchUuid` and `DistributedVirtualSwitchPortConnection.portgroupKey`
 46610  	// properties.
 46611  	//
 46612  	// When reconfiguring a virtual NIC, this property indicates the new portgroup
 46613  	// to which the virtual NIC should connect. You can specify this property
 46614  	// only if you do not specify `HostVirtualNicSpec.distributedVirtualPort` and
 46615  	// `HostVirtualNicSpec.opaqueNetwork`
 46616  	DistributedVirtualPort *DistributedVirtualSwitchPortConnection `xml:"distributedVirtualPort,omitempty" json:"distributedVirtualPort,omitempty" vim:"4.0"`
 46617  	// Portgroup (`HostPortGroup`) to which the virtual NIC is connected.
 46618  	//
 46619  	// When reconfiguring a virtual NIC, this property indicates the new portgroup
 46620  	// to which the virtual NIC should connect. You can specify this property
 46621  	// only if you do not specify `HostVirtualNicSpec.distributedVirtualPort` and
 46622  	// `HostVirtualNicSpec.opaqueNetwork`
 46623  	Portgroup string `xml:"portgroup,omitempty" json:"portgroup,omitempty" vim:"4.0"`
 46624  	// Maximum transmission unit for packets size in bytes for the virtual
 46625  	// NIC.
 46626  	//
 46627  	// If not specified, the Server will use the system default value.
 46628  	Mtu int32 `xml:"mtu,omitempty" json:"mtu,omitempty" vim:"4.0"`
 46629  	// Flag enabling or disabling TCP segmentation offset for a virtual NIC.
 46630  	//
 46631  	// If not specified, a default value of true will be used.
 46632  	TsoEnabled *bool `xml:"tsoEnabled" json:"tsoEnabled,omitempty" vim:"4.0"`
 46633  	// The NetStackInstance that the virtual NIC uses, the value of this property
 46634  	// is default to be `defaultTcpipStack`
 46635  	NetStackInstanceKey string `xml:"netStackInstanceKey,omitempty" json:"netStackInstanceKey,omitempty" vim:"5.5"`
 46636  	// Opaque network (`HostOpaqueNetworkInfo`) to which the
 46637  	// virtual NIC is connected.
 46638  	//
 46639  	// When reconfiguring a virtual NIC, this property indicates the specification
 46640  	// of opaque network to which the virtual NIC should connect. You can specify
 46641  	// this property only if you do not specify `HostVirtualNicSpec.distributedVirtualPort`
 46642  	// and `HostVirtualNicSpec.portgroup`.
 46643  	OpaqueNetwork *HostVirtualNicOpaqueNetworkSpec `xml:"opaqueNetwork,omitempty" json:"opaqueNetwork,omitempty" vim:"6.0"`
 46644  	// An ID assigned to the vmkernel adapter by external management plane.
 46645  	//
 46646  	// The value and format of this property is determined by external management
 46647  	// plane, and vSphere doesn't do any validation. It's also up to external
 46648  	// management plane to set, unset or maintain this property.
 46649  	//
 46650  	// This property is applicable only when `HostVirtualNicSpec.opaqueNetwork` property is set,
 46651  	// otherwise it's value is ignored.
 46652  	ExternalId string `xml:"externalId,omitempty" json:"externalId,omitempty" vim:"6.0"`
 46653  	// The physical nic to which the vmkernel adapter is pinned.
 46654  	//
 46655  	// Setting this value
 46656  	// ensures that the virtual NIC will access external network only via the
 46657  	// the specified physical NIC.
 46658  	//
 46659  	// This property is applicable only when `HostVirtualNicSpec.opaqueNetwork` property is set.
 46660  	// If the vmkernel adapter is connected to a portgroup or dvPort, then such
 46661  	// pinning can be achieved by configuring correct teaming policy on the portgroup
 46662  	// or dvPort or dvPortgroup that is connected to virtual NIC.
 46663  	PinnedPnic string `xml:"pinnedPnic,omitempty" json:"pinnedPnic,omitempty" vim:"6.0"`
 46664  	// The ip route configuration used by the vmkernel adapter.
 46665  	//
 46666  	// This attribute
 46667  	// allows the vmkernel adapter to specify its own default gateway.
 46668  	IpRouteSpec *HostVirtualNicIpRouteSpec `xml:"ipRouteSpec,omitempty" json:"ipRouteSpec,omitempty" vim:"6.5"`
 46669  	// Set to true when the vmkernel adapter is configured by
 46670  	// other system indirectly other than by the user directly.
 46671  	SystemOwned *bool `xml:"systemOwned" json:"systemOwned,omitempty" vim:"7.0"`
 46672  	// The identifier of the DPU hosting the vmknic.
 46673  	//
 46674  	// If vmknic is on ESX host, dpuId will be unset.
 46675  	DpuId string `xml:"dpuId,omitempty" json:"dpuId,omitempty" vim:"8.0.0.1"`
 46676  }
 46677  
 46678  func init() {
 46679  	t["HostVirtualNicSpec"] = reflect.TypeOf((*HostVirtualNicSpec)(nil)).Elem()
 46680  }
 46681  
 46682  // The virtual switch is a software entity to which multiple virtual network
 46683  // adapters can connect to create a virtual network.
 46684  //
 46685  // It can also be
 46686  // bridged to a physical network.
 46687  type HostVirtualSwitch struct {
 46688  	DynamicData
 46689  
 46690  	// The name of the virtual switch.
 46691  	//
 46692  	// Maximum length is 32 characters.
 46693  	Name string `xml:"name" json:"name"`
 46694  	// The virtual switch key.
 46695  	Key string `xml:"key" json:"key"`
 46696  	// The number of ports that this virtual switch currently has.
 46697  	NumPorts int32 `xml:"numPorts" json:"numPorts"`
 46698  	// The number of ports that are available on this virtual switch.
 46699  	//
 46700  	// There
 46701  	// are a number of networking services that utilize a port on the virtual
 46702  	// switch and are not accounted for in the Port array of a PortGroup. For
 46703  	// example, each physical NIC attached to a virtual switch consumes one
 46704  	// port. This property should be used when attempting to implement
 46705  	// admission control for new services attaching to virtual switches.
 46706  	NumPortsAvailable int32 `xml:"numPortsAvailable" json:"numPortsAvailable"`
 46707  	// The maximum transmission unit (MTU) associated with this virtual switch
 46708  	// in bytes.
 46709  	Mtu int32 `xml:"mtu,omitempty" json:"mtu,omitempty" vim:"2.5"`
 46710  	// The list of port groups configured for this virtual switch.
 46711  	Portgroup []string `xml:"portgroup,omitempty" json:"portgroup,omitempty"`
 46712  	// The set of physical network adapters associated with this bridge.
 46713  	Pnic []string `xml:"pnic,omitempty" json:"pnic,omitempty"`
 46714  	// The specification of this virtual switch.
 46715  	Spec HostVirtualSwitchSpec `xml:"spec" json:"spec"`
 46716  }
 46717  
 46718  func init() {
 46719  	t["HostVirtualSwitch"] = reflect.TypeOf((*HostVirtualSwitch)(nil)).Elem()
 46720  }
 46721  
 46722  // This data type describes a bridge that automatically selects
 46723  // a particular physical network adapter on the host
 46724  // according to some predetermined policy.
 46725  //
 46726  // Used primarily to support mobility
 46727  // scenarios.
 46728  type HostVirtualSwitchAutoBridge struct {
 46729  	HostVirtualSwitchBridge
 46730  
 46731  	// List of physical network adapters that have been excluded from
 46732  	// participating in the AutoBridge
 46733  	ExcludedNicDevice []string `xml:"excludedNicDevice,omitempty" json:"excludedNicDevice,omitempty" vim:"2.5"`
 46734  }
 46735  
 46736  func init() {
 46737  	t["HostVirtualSwitchAutoBridge"] = reflect.TypeOf((*HostVirtualSwitchAutoBridge)(nil)).Elem()
 46738  }
 46739  
 46740  // This data object type describes the configuration of the beacon
 46741  // to probe connectivity of physical network adapters.
 46742  //
 46743  // A
 46744  // beacon is sent out of one network adapter and should arrive on another
 46745  // network adapter in the team. The successful roundtrip indicates
 46746  // that the network adapters are working.
 46747  //
 46748  // Define this data object to enable beacon probing as a method to validate
 46749  // the link status of a physical network adapter. Beacon probing must
 46750  // be configured in order to use the beacon status as a criteria to
 46751  // determine if a physical network adapter failed.
 46752  //
 46753  // See also `HostNicFailureCriteria.checkBeacon`.
 46754  type HostVirtualSwitchBeaconConfig struct {
 46755  	DynamicData
 46756  
 46757  	// Determines how often, in seconds, a beacon should be sent.
 46758  	Interval int32 `xml:"interval" json:"interval"`
 46759  }
 46760  
 46761  func init() {
 46762  	t["HostVirtualSwitchBeaconConfig"] = reflect.TypeOf((*HostVirtualSwitchBeaconConfig)(nil)).Elem()
 46763  }
 46764  
 46765  // This data object type describes a bridge that provides
 46766  // network adapter teaming capabilities.
 46767  type HostVirtualSwitchBondBridge struct {
 46768  	HostVirtualSwitchBridge
 46769  
 46770  	// The list of keys of the physical network adapters to be bridged.
 46771  	NicDevice []string `xml:"nicDevice" json:"nicDevice"`
 46772  	// The beacon configuration to probe for the validity of a link.
 46773  	//
 46774  	// If this is set, beacon probing is configured and will be used.
 46775  	// If this is not set, beacon probing is disabled.
 46776  	Beacon *HostVirtualSwitchBeaconConfig `xml:"beacon,omitempty" json:"beacon,omitempty"`
 46777  	// The link discovery protocol configuration for the virtual switch.
 46778  	//
 46779  	// See also `LinkDiscoveryProtocolConfig`.
 46780  	LinkDiscoveryProtocolConfig *LinkDiscoveryProtocolConfig `xml:"linkDiscoveryProtocolConfig,omitempty" json:"linkDiscoveryProtocolConfig,omitempty" vim:"4.0"`
 46781  }
 46782  
 46783  func init() {
 46784  	t["HostVirtualSwitchBondBridge"] = reflect.TypeOf((*HostVirtualSwitchBondBridge)(nil)).Elem()
 46785  }
 46786  
 46787  // A bridge connects a virtual switch to a physical network adapter.
 46788  //
 46789  // There are multiple types of bridges.
 46790  type HostVirtualSwitchBridge struct {
 46791  	DynamicData
 46792  }
 46793  
 46794  func init() {
 46795  	t["HostVirtualSwitchBridge"] = reflect.TypeOf((*HostVirtualSwitchBridge)(nil)).Elem()
 46796  }
 46797  
 46798  // This data object type describes the VirtualSwitch configuration
 46799  // containing both the configurable
 46800  // properties on a VirtualSwitch and identification information.
 46801  type HostVirtualSwitchConfig struct {
 46802  	DynamicData
 46803  
 46804  	// This property indicates the change operation to apply on
 46805  	// this configuration specification.
 46806  	//
 46807  	// See also `HostConfigChangeOperation_enum`.
 46808  	ChangeOperation string `xml:"changeOperation,omitempty" json:"changeOperation,omitempty"`
 46809  	// The name of the virtual switch.
 46810  	//
 46811  	// Maximum length is 32 characters.
 46812  	Name string `xml:"name" json:"name"`
 46813  	// The specification of the VirtualSwitch.
 46814  	Spec *HostVirtualSwitchSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 46815  }
 46816  
 46817  func init() {
 46818  	t["HostVirtualSwitchConfig"] = reflect.TypeOf((*HostVirtualSwitchConfig)(nil)).Elem()
 46819  }
 46820  
 46821  // A bridge that is statically bound to a single physical network adapter.
 46822  type HostVirtualSwitchSimpleBridge struct {
 46823  	HostVirtualSwitchBridge
 46824  
 46825  	// The key of the physical network adapter to be bridged.
 46826  	NicDevice string `xml:"nicDevice" json:"nicDevice"`
 46827  }
 46828  
 46829  func init() {
 46830  	t["HostVirtualSwitchSimpleBridge"] = reflect.TypeOf((*HostVirtualSwitchSimpleBridge)(nil)).Elem()
 46831  }
 46832  
 46833  // This data object type describes the VirtualSwitch specification
 46834  // representing the properties on a VirtualSwitch that can be
 46835  // configured once the object exists.
 46836  type HostVirtualSwitchSpec struct {
 46837  	DynamicData
 46838  
 46839  	// The number of ports that this virtual switch is configured to use.
 46840  	//
 46841  	// Changing this setting does not take effect until the next reboot. The maximum
 46842  	// value is 1024, although other constraints, such as memory limits, may establish
 46843  	// a lower effective limit.
 46844  	NumPorts int32 `xml:"numPorts" json:"numPorts"`
 46845  	// The bridge specification describes how physical network adapters
 46846  	// can be bridged to a virtual switch.
 46847  	Bridge BaseHostVirtualSwitchBridge `xml:"bridge,omitempty,typeattr" json:"bridge,omitempty"`
 46848  	// The virtual switch policy specification.
 46849  	//
 46850  	// This has a lower
 46851  	// precedence than PortGroup. If the policy property is not set
 46852  	// and you are creating a virtual switch, then a default
 46853  	// policy property setting is used. If the policy property is not
 46854  	// set and you are updating a virtual switch, then the policy will
 46855  	// be unchanged.
 46856  	Policy *HostNetworkPolicy `xml:"policy,omitempty" json:"policy,omitempty"`
 46857  	// The maximum transmission unit (MTU) of the virtual switch in bytes.
 46858  	Mtu int32 `xml:"mtu,omitempty" json:"mtu,omitempty" vim:"2.5"`
 46859  }
 46860  
 46861  func init() {
 46862  	t["HostVirtualSwitchSpec"] = reflect.TypeOf((*HostVirtualSwitchSpec)(nil)).Elem()
 46863  }
 46864  
 46865  // The AccessSpec data object declares an update to the service
 46866  // access granted to a VM.
 46867  //
 46868  // The given list of services will either
 46869  // be granted in addition to existing services, replace the
 46870  // existing service or be revoked depending on the mode
 46871  // specified. In case of a revoke, an empty or non-existing service
 46872  // list indicates that all granted services should be revoked.
 46873  type HostVmciAccessManagerAccessSpec struct {
 46874  	DynamicData
 46875  
 46876  	Vm       ManagedObjectReference `xml:"vm" json:"vm"`
 46877  	Services []string               `xml:"services,omitempty" json:"services,omitempty"`
 46878  	Mode     string                 `xml:"mode" json:"mode"`
 46879  }
 46880  
 46881  func init() {
 46882  	t["HostVmciAccessManagerAccessSpec"] = reflect.TypeOf((*HostVmciAccessManagerAccessSpec)(nil)).Elem()
 46883  	minAPIVersionForType["HostVmciAccessManagerAccessSpec"] = "5.0"
 46884  }
 46885  
 46886  // When a user resignatures an UnresolvedVmfsVolume through DatastoreSystem API,
 46887  // we resignature and auto-mount on the other hosts which share the
 46888  // same underlying storage luns.
 46889  //
 46890  // As part of the operation, we rescan host.
 46891  // This data object describes the outcome of rescan operation on a host
 46892  type HostVmfsRescanResult struct {
 46893  	DynamicData
 46894  
 46895  	// Host name on which rescan was performed
 46896  	//
 46897  	// Refers instance of `HostSystem`.
 46898  	Host ManagedObjectReference `xml:"host" json:"host"`
 46899  	// 'fault' would be set if the operation was not successful
 46900  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 46901  }
 46902  
 46903  func init() {
 46904  	t["HostVmfsRescanResult"] = reflect.TypeOf((*HostVmfsRescanResult)(nil)).Elem()
 46905  	minAPIVersionForType["HostVmfsRescanResult"] = "4.0"
 46906  }
 46907  
 46908  // This data object type describes the VMware File System (VMFS)
 46909  // creation specification.
 46910  //
 46911  // Once created, these properties for the most
 46912  // part cannot be changed. There are a few exceptions.
 46913  type HostVmfsSpec struct {
 46914  	DynamicData
 46915  
 46916  	// Head extent of VMFS.
 46917  	//
 46918  	// The head extent identifies the VMFS. However,
 46919  	// the head extent should not be used to identify the VMFS across host
 46920  	// reboots. The actual identifier is specified in "vmhbaI:T:L" format
 46921  	// which is not guaranteed to be stable across reboots. Define a volume
 46922  	// name that is unique to the host and use it to refer to the VMFS.
 46923  	// Alternatively, the immutable UUID of the VMFS can be used after it
 46924  	// is created.
 46925  	Extent HostScsiDiskPartition `xml:"extent" json:"extent"`
 46926  	// Deprecated as of vSphere API 6.5, use
 46927  	// `HostVmfsSpec.blockSize` instead.
 46928  	//
 46929  	// The block size of VMFS in megabytes (MB).
 46930  	//
 46931  	// Determines the maximum file
 46932  	// size. If this optional property is not set, the maximum
 46933  	// file size defaults to the maximum file size for the platform.
 46934  	//
 46935  	// In VMFS2, the valid block sizes 1MB, 2MB, 4MB, 8MB, 16MB, 32MB, 64MB,
 46936  	// 128MB, and 256MB.
 46937  	// In VMFS3, the valid block sizes are 1MB, 2MB, 4MB, and 8MB.
 46938  	// In VMFS5, the only valid block size is 1MB.
 46939  	BlockSizeMb int32 `xml:"blockSizeMb,omitempty" json:"blockSizeMb,omitempty"`
 46940  	// Major version number of VMFS.
 46941  	//
 46942  	// This can be changed if the VMFS is
 46943  	// upgraded, but this is an irreversible change.
 46944  	MajorVersion int32 `xml:"majorVersion" json:"majorVersion"`
 46945  	// Volume name of VMFS.
 46946  	VolumeName string `xml:"volumeName" json:"volumeName"`
 46947  	// The block size of VMFS in kilotypes (KB).
 46948  	//
 46949  	// Determines the maximum file
 46950  	// size. If this optional property is not set, the maximum
 46951  	// file size defaults to the maximum file size for the platform.
 46952  	//
 46953  	// In VMFS3, the valid block sizes are 1MB, 2MB, 4MB, and 8MB.
 46954  	// In VMFS5, the only valid block size is 1MB.
 46955  	// In VMFS6, the valid block sizes are 64KB and 1MB.
 46956  	BlockSize int32 `xml:"blockSize,omitempty" json:"blockSize,omitempty" vim:"6.5"`
 46957  	// The granularity of VMFS unmap operations.
 46958  	//
 46959  	// VMFS unmap reclaims
 46960  	// unused storage space.
 46961  	// The unit is KB. The minimum unmap granularity is 8KB. The maximum
 46962  	// unmap granularity is determined by the block size of VMFS
 46963  	// `HostVmfsVolume.blockSize`.
 46964  	UnmapGranularity int32 `xml:"unmapGranularity,omitempty" json:"unmapGranularity,omitempty" vim:"6.5"`
 46965  	// VMFS unmap priority.
 46966  	//
 46967  	// VMFS unmap reclaims unused storage space. This
 46968  	// determines the processing rate of unmaps.
 46969  	// See `HostVmfsVolumeUnmapPriority_enum` for supported values.
 46970  	UnmapPriority string `xml:"unmapPriority,omitempty" json:"unmapPriority,omitempty" vim:"6.5"`
 46971  	// VMFS unmap bandwidth related specification.
 46972  	//
 46973  	// See
 46974  	// `VmfsUnmapBandwidthSpec` for detail.
 46975  	UnmapBandwidthSpec *VmfsUnmapBandwidthSpec `xml:"unmapBandwidthSpec,omitempty" json:"unmapBandwidthSpec,omitempty" vim:"6.7"`
 46976  }
 46977  
 46978  func init() {
 46979  	t["HostVmfsSpec"] = reflect.TypeOf((*HostVmfsSpec)(nil)).Elem()
 46980  }
 46981  
 46982  // The VMFS file system.
 46983  type HostVmfsVolume struct {
 46984  	HostFileSystemVolume
 46985  
 46986  	// Deprecated as of vSphere API 6.5, use
 46987  	// `HostVmfsVolume.blockSize` instead.
 46988  	//
 46989  	// Block size of VMFS.
 46990  	//
 46991  	// Determines maximum file size. The maximum number
 46992  	// of blocks is typically fixed with each specific version of VMFS. To
 46993  	// increase the maximum size of a VMFS file, increase the block size.
 46994  	//
 46995  	// The minimum block size is 1MB.
 46996  	BlockSizeMb int32 `xml:"blockSizeMb" json:"blockSizeMb"`
 46997  	// Block size of VMFS in KB.
 46998  	//
 46999  	// Determines maximum file size. The maximum
 47000  	// number of blocks is typically fixed with each specific version of VMFS.
 47001  	// To increase the maximum size of a VMFS file, increase the block size.
 47002  	//
 47003  	// The minimum block size is 1MB.
 47004  	BlockSize int32 `xml:"blockSize,omitempty" json:"blockSize,omitempty" vim:"6.5"`
 47005  	// VMFS unmap reclaims unused storage space.
 47006  	//
 47007  	// This property
 47008  	// determines the granularity of unmap operations.
 47009  	// The unit is KB. If not specified, the default value is the same as
 47010  	// the block size of VMFS `HostVmfsVolume.blockSize`.
 47011  	// This property cannot be changed after a VMFS volume is created.
 47012  	UnmapGranularity int32 `xml:"unmapGranularity,omitempty" json:"unmapGranularity,omitempty" vim:"6.5"`
 47013  	// VMFS unmap reclaims unused storage space.
 47014  	//
 47015  	// This property
 47016  	// determines the processing rate of unmaps.
 47017  	// See `HostVmfsVolumeUnmapPriority_enum` for supported values.
 47018  	// If not specified, the default value is
 47019  	// `low`, which means
 47020  	// unmap is processed at low rate. This property can be updated by
 47021  	// calling `HostStorageSystem.UpdateVmfsUnmapPriority`.
 47022  	UnmapPriority string `xml:"unmapPriority,omitempty" json:"unmapPriority,omitempty" vim:"6.5"`
 47023  	// VMFS unmap bandwidth related specification.
 47024  	//
 47025  	// See
 47026  	// `VmfsUnmapBandwidthSpec` for detail.
 47027  	UnmapBandwidthSpec *VmfsUnmapBandwidthSpec `xml:"unmapBandwidthSpec,omitempty" json:"unmapBandwidthSpec,omitempty" vim:"6.7"`
 47028  	// Maximum number of blocks.
 47029  	//
 47030  	// Determines maximum file size along
 47031  	// with blockSize. See information about the blockSize.
 47032  	MaxBlocks int32 `xml:"maxBlocks" json:"maxBlocks"`
 47033  	// Major version number of VMFS.
 47034  	MajorVersion int32 `xml:"majorVersion" json:"majorVersion"`
 47035  	// Version string.
 47036  	//
 47037  	// Contains major and minor version numbers.
 47038  	Version string `xml:"version" json:"version"`
 47039  	// The universally unique identifier assigned to VMFS.
 47040  	Uuid string `xml:"uuid" json:"uuid"`
 47041  	// The list of partition names that comprise this disk's
 47042  	// VMFS extents.
 47043  	//
 47044  	// This property can be accessed via various enclosing objects.
 47045  	// In VirtualCenter, where it can be accessed from multiple
 47046  	// hosts, the value of this property may differ according to the context
 47047  	// in which it is accessed. When accessed from the
 47048  	// `VmfsDatastoreInfo` object, in VirtualCenter, this
 47049  	// property reflects the extent information of any one of the hosts visible
 47050  	// to the datastore.
 47051  	//
 47052  	// For a VirtualCenter system which manages ESX Server 2.x and
 47053  	// ESX Server 3.x hosts, this extent information is only correlatable
 47054  	// across hosts if the extents are exposed on the same adapter on all hosts
 47055  	// which can access them. To find the extent names for a specific host,
 47056  	// this same property should be accessed via the host's
 47057  	// `HostFileSystemVolume` object, by correlating the uuid of
 47058  	// the VMFS datastore in the VmfsDatastoreInfo object to the uuid in the
 47059  	// FileSystemVolume object.
 47060  	//
 47061  	// For a Virtual Center system which manages only ESX Server hosts with
 47062  	// versions 4.0 onwards , this extent information is correlatable across
 47063  	// hosts, irrespective of the adapters the extents are exposed on.
 47064  	Extent []HostScsiDiskPartition `xml:"extent" json:"extent"`
 47065  	// Can the filesystem be upgraded to a newer version.
 47066  	//
 47067  	// See also `HostStorageSystem.UpgradeVmfs`.
 47068  	VmfsUpgradable bool `xml:"vmfsUpgradable" json:"vmfsUpgradable"`
 47069  	// Information about 'forceMounted' VmfsVolume.
 47070  	//
 47071  	// When the system detects a copy of a VmfsVolume, it will not be
 47072  	// auto-mounted on the host and it will be detected as
 47073  	// 'UnresolvedVmfsVolume'. If user decides to 'forceMount' the
 47074  	// VmfsVolume on the host, forceMountedInfo will be populated.
 47075  	// It will not be set for automounted VMFS volumes.
 47076  	ForceMountedInfo *HostForceMountedInfo `xml:"forceMountedInfo,omitempty" json:"forceMountedInfo,omitempty" vim:"4.0"`
 47077  	// Indicates whether the volume is SSD backed.
 47078  	//
 47079  	// If unset, the information whether the volume is SSD backed is unknown.
 47080  	Ssd *bool `xml:"ssd" json:"ssd,omitempty" vim:"5.0"`
 47081  	// Indicates whether the volume is backed by local disk.
 47082  	//
 47083  	// If unset, the information of the volume is local-disk backed is unknown.
 47084  	Local *bool `xml:"local" json:"local,omitempty" vim:"5.5"`
 47085  	// The type of disk drives.
 47086  	//
 47087  	// See `ScsiDiskType_enum`
 47088  	// for supported types.
 47089  	// If unset, the default disk drive type is
 47090  	// `native512`.
 47091  	ScsiDiskType string `xml:"scsiDiskType,omitempty" json:"scsiDiskType,omitempty" vim:"6.5"`
 47092  }
 47093  
 47094  func init() {
 47095  	t["HostVmfsVolume"] = reflect.TypeOf((*HostVmfsVolume)(nil)).Elem()
 47096  }
 47097  
 47098  // This event records when some host Virtual NICs were reconfigured to use
 47099  // DVPorts with port level configuration, which might be different
 47100  // from the DVportgroup.
 47101  type HostVnicConnectedToCustomizedDVPortEvent struct {
 47102  	HostEvent
 47103  
 47104  	// Information about the Virtual NIC that is using the DVport.
 47105  	Vnic VnicPortArgument `xml:"vnic" json:"vnic"`
 47106  	// Information about the previous Virtual NIC that is using the DVport.
 47107  	PrevPortKey string `xml:"prevPortKey,omitempty" json:"prevPortKey,omitempty" vim:"6.5"`
 47108  }
 47109  
 47110  func init() {
 47111  	t["HostVnicConnectedToCustomizedDVPortEvent"] = reflect.TypeOf((*HostVnicConnectedToCustomizedDVPortEvent)(nil)).Elem()
 47112  	minAPIVersionForType["HostVnicConnectedToCustomizedDVPortEvent"] = "4.0"
 47113  }
 47114  
 47115  // All fields in the CMMDS Query spec are optional, but at least one needs
 47116  // specified to make a valid query.
 47117  type HostVsanInternalSystemCmmdsQuery struct {
 47118  	DynamicData
 47119  
 47120  	// CMMDS type, e.g.
 47121  	//
 47122  	// DOM\_OBJECT, LSOM\_OBJECT, POLICY, DISK etc.
 47123  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 47124  	// UUID of the entry.
 47125  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 47126  	// UUID of the owning node.
 47127  	Owner string `xml:"owner,omitempty" json:"owner,omitempty"`
 47128  }
 47129  
 47130  func init() {
 47131  	t["HostVsanInternalSystemCmmdsQuery"] = reflect.TypeOf((*HostVsanInternalSystemCmmdsQuery)(nil)).Elem()
 47132  	minAPIVersionForType["HostVsanInternalSystemCmmdsQuery"] = "5.5"
 47133  }
 47134  
 47135  // Result of DeleteVsanObjects.
 47136  type HostVsanInternalSystemDeleteVsanObjectsResult struct {
 47137  	DynamicData
 47138  
 47139  	// UUID of the VSAN object.
 47140  	Uuid string `xml:"uuid" json:"uuid"`
 47141  	// Indicates success or failure of object deletion.
 47142  	Success bool `xml:"success" json:"success"`
 47143  	// List of LocalizableMessages with the failure vobs.
 47144  	//
 47145  	// This is unset if delete is successful.
 47146  	FailureReason []LocalizableMessage `xml:"failureReason,omitempty" json:"failureReason,omitempty"`
 47147  }
 47148  
 47149  func init() {
 47150  	t["HostVsanInternalSystemDeleteVsanObjectsResult"] = reflect.TypeOf((*HostVsanInternalSystemDeleteVsanObjectsResult)(nil)).Elem()
 47151  	minAPIVersionForType["HostVsanInternalSystemDeleteVsanObjectsResult"] = "5.5"
 47152  }
 47153  
 47154  // Operation result for a VSAN object upon failure.
 47155  type HostVsanInternalSystemVsanObjectOperationResult struct {
 47156  	DynamicData
 47157  
 47158  	// The UUID of the in question VSAN object.
 47159  	Uuid string `xml:"uuid" json:"uuid"`
 47160  	// List of LocalizableMessages with the failure vobs.
 47161  	FailureReason []LocalizableMessage `xml:"failureReason,omitempty" json:"failureReason,omitempty"`
 47162  }
 47163  
 47164  func init() {
 47165  	t["HostVsanInternalSystemVsanObjectOperationResult"] = reflect.TypeOf((*HostVsanInternalSystemVsanObjectOperationResult)(nil)).Elem()
 47166  	minAPIVersionForType["HostVsanInternalSystemVsanObjectOperationResult"] = "6.0"
 47167  }
 47168  
 47169  // Result structure for a VSAN Physical Disk Diagnostics run.
 47170  //
 47171  // Specifies the
 47172  // result of a single disk.
 47173  type HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult struct {
 47174  	DynamicData
 47175  
 47176  	// VSAN Disk UUID of the checked disk.
 47177  	DiskUuid string `xml:"diskUuid" json:"diskUuid"`
 47178  	// Indicates success or failure of object creation on the disk.
 47179  	Success bool `xml:"success" json:"success"`
 47180  	// A failure reason type, in case of failure.
 47181  	FailureReason string `xml:"failureReason,omitempty" json:"failureReason,omitempty"`
 47182  }
 47183  
 47184  func init() {
 47185  	t["HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult"] = reflect.TypeOf((*HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult)(nil)).Elem()
 47186  	minAPIVersionForType["HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult"] = "5.5"
 47187  }
 47188  
 47189  type HostVvolNQN struct {
 47190  	DynamicData
 47191  
 47192  	TargetNQN    string `xml:"targetNQN" json:"targetNQN"`
 47193  	StorageArray string `xml:"storageArray" json:"storageArray"`
 47194  	Online       bool   `xml:"online" json:"online"`
 47195  }
 47196  
 47197  func init() {
 47198  	t["HostVvolNQN"] = reflect.TypeOf((*HostVvolNQN)(nil)).Elem()
 47199  }
 47200  
 47201  type HostVvolVolume struct {
 47202  	HostFileSystemVolume
 47203  
 47204  	// The universally unique identifier assigned to vvolDS.
 47205  	ScId   string       `xml:"scId" json:"scId"`
 47206  	HostPE []VVolHostPE `xml:"hostPE,omitempty" json:"hostPE,omitempty"`
 47207  	// Virtual Protocol endpoints for this volume
 47208  	HostVvolNQN []HostVvolVolumeHostVvolNQN `xml:"hostVvolNQN,omitempty" json:"hostVvolNQN,omitempty" vim:"8.0.2.0"`
 47209  	// VASA Providers that manage this volume
 47210  	VasaProviderInfo []VimVasaProviderInfo `xml:"vasaProviderInfo,omitempty" json:"vasaProviderInfo,omitempty"`
 47211  	// List of storage array serving this VVol based storage container
 47212  	StorageArray []VASAStorageArray `xml:"storageArray,omitempty" json:"storageArray,omitempty"`
 47213  	// Backing protocol of the datastore
 47214  	ProtocolEndpointType string `xml:"protocolEndpointType,omitempty" json:"protocolEndpointType,omitempty" vim:"8.0.0.0"`
 47215  	// vVol NQN field availability
 47216  	VvolNQNFieldsAvailable *bool `xml:"vvolNQNFieldsAvailable" json:"vvolNQNFieldsAvailable,omitempty" vim:"8.0.2.0"`
 47217  }
 47218  
 47219  func init() {
 47220  	t["HostVvolVolume"] = reflect.TypeOf((*HostVvolVolume)(nil)).Elem()
 47221  }
 47222  
 47223  type HostVvolVolumeHostVvolNQN struct {
 47224  	DynamicData
 47225  
 47226  	// The host associated with this volume.
 47227  	//
 47228  	// Refers instance of `HostSystem`.
 47229  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 47230  	// Host-specific information about the virtual ProtocolEndpoint.
 47231  	VvolNQN []HostVvolNQN `xml:"vvolNQN,omitempty" json:"vvolNQN,omitempty"`
 47232  }
 47233  
 47234  func init() {
 47235  	t["HostVvolVolumeHostVvolNQN"] = reflect.TypeOf((*HostVvolVolumeHostVvolNQN)(nil)).Elem()
 47236  }
 47237  
 47238  type HostVvolVolumeSpecification struct {
 47239  	DynamicData
 47240  
 47241  	// Maximum size of the container
 47242  	MaxSizeInMB int64 `xml:"maxSizeInMB" json:"maxSizeInMB"`
 47243  	// Container name.
 47244  	VolumeName string `xml:"volumeName" json:"volumeName"`
 47245  	// VASA Providers that manage this volume
 47246  	VasaProviderInfo []VimVasaProviderInfo `xml:"vasaProviderInfo,omitempty" json:"vasaProviderInfo,omitempty"`
 47247  	// Storage Array
 47248  	StorageArray []VASAStorageArray `xml:"storageArray,omitempty" json:"storageArray,omitempty"`
 47249  	// Vendor specified storage-container ID
 47250  	Uuid string `xml:"uuid" json:"uuid"`
 47251  }
 47252  
 47253  func init() {
 47254  	t["HostVvolVolumeSpecification"] = reflect.TypeOf((*HostVvolVolumeSpecification)(nil)).Elem()
 47255  }
 47256  
 47257  // This event records a change in a host's WWN (World Wide Name).
 47258  type HostWwnChangedEvent struct {
 47259  	HostEvent
 47260  
 47261  	// The old node WWN.
 47262  	OldNodeWwns []int64 `xml:"oldNodeWwns,omitempty" json:"oldNodeWwns,omitempty"`
 47263  	// The old port WWN.
 47264  	OldPortWwns []int64 `xml:"oldPortWwns,omitempty" json:"oldPortWwns,omitempty"`
 47265  	// The new node WWN.
 47266  	NewNodeWwns []int64 `xml:"newNodeWwns,omitempty" json:"newNodeWwns,omitempty"`
 47267  	// The new port WWN.
 47268  	NewPortWwns []int64 `xml:"newPortWwns,omitempty" json:"newPortWwns,omitempty"`
 47269  }
 47270  
 47271  func init() {
 47272  	t["HostWwnChangedEvent"] = reflect.TypeOf((*HostWwnChangedEvent)(nil)).Elem()
 47273  	minAPIVersionForType["HostWwnChangedEvent"] = "2.5"
 47274  }
 47275  
 47276  // This event records a conflict of host WWNs (World Wide Name).
 47277  type HostWwnConflictEvent struct {
 47278  	HostEvent
 47279  
 47280  	// The virtual machine whose WWN conflicts with the
 47281  	// current host's WWN.
 47282  	ConflictedVms []VmEventArgument `xml:"conflictedVms,omitempty" json:"conflictedVms,omitempty"`
 47283  	// The host whose physical WWN conflicts with the
 47284  	// current host's WWN.
 47285  	ConflictedHosts []HostEventArgument `xml:"conflictedHosts,omitempty" json:"conflictedHosts,omitempty"`
 47286  	// The WWN in conflict.
 47287  	Wwn int64 `xml:"wwn" json:"wwn"`
 47288  }
 47289  
 47290  func init() {
 47291  	t["HostWwnConflictEvent"] = reflect.TypeOf((*HostWwnConflictEvent)(nil)).Elem()
 47292  	minAPIVersionForType["HostWwnConflictEvent"] = "2.5"
 47293  }
 47294  
 47295  // An attempt is being made to move a virtual machine's disk that has
 47296  // associated snapshots, and preserving the snapshots is not supported by the
 47297  // host because the virtual machine is currently powered on.
 47298  type HotSnapshotMoveNotSupported struct {
 47299  	SnapshotCopyNotSupported
 47300  }
 47301  
 47302  func init() {
 47303  	t["HotSnapshotMoveNotSupported"] = reflect.TypeOf((*HotSnapshotMoveNotSupported)(nil)).Elem()
 47304  	minAPIVersionForType["HotSnapshotMoveNotSupported"] = "2.5"
 47305  }
 47306  
 47307  type HotSnapshotMoveNotSupportedFault HotSnapshotMoveNotSupported
 47308  
 47309  func init() {
 47310  	t["HotSnapshotMoveNotSupportedFault"] = reflect.TypeOf((*HotSnapshotMoveNotSupportedFault)(nil)).Elem()
 47311  }
 47312  
 47313  // The `HourlyTaskScheduler` data object sets the time for hourly
 47314  // task execution.
 47315  //
 47316  // By default, the scheduled task will run once every hour,
 47317  // at the specified minute.
 47318  //
 47319  // If you set the interval to a value greater than 1, the task will
 47320  // execute at the specified hourly interval. (For example, an interval
 47321  // of 2 will cause the task to execute at the specified minute every 2 hours.)
 47322  type HourlyTaskScheduler struct {
 47323  	RecurrentTaskScheduler
 47324  
 47325  	// The minute at which the `RecurrentTaskScheduler` runs
 47326  	// the task.
 47327  	//
 47328  	// Specify the minute value as a UTC (Coordinated Universal Time)
 47329  	// value in the range 0 to 59.
 47330  	//
 47331  	// For vCenter 2.x and prior releases, use the server's local time.
 47332  	// For example, use Australia Northern Territory (UTC +9:30) or Indian (UTC +5:30)
 47333  	// time values, rather than a UTC value.
 47334  	Minute int32 `xml:"minute" json:"minute"`
 47335  }
 47336  
 47337  func init() {
 47338  	t["HourlyTaskScheduler"] = reflect.TypeOf((*HourlyTaskScheduler)(nil)).Elem()
 47339  }
 47340  
 47341  // Generic base class for outbound HTTP communication errors.
 47342  type HttpFault struct {
 47343  	VimFault
 47344  
 47345  	// HTTP status code received from external web-server.
 47346  	StatusCode int32 `xml:"statusCode" json:"statusCode"`
 47347  	// HTTP status message received from external web-server.
 47348  	StatusMessage string `xml:"statusMessage" json:"statusMessage"`
 47349  }
 47350  
 47351  func init() {
 47352  	t["HttpFault"] = reflect.TypeOf((*HttpFault)(nil)).Elem()
 47353  	minAPIVersionForType["HttpFault"] = "4.0"
 47354  }
 47355  
 47356  type HttpFaultFault HttpFault
 47357  
 47358  func init() {
 47359  	t["HttpFaultFault"] = reflect.TypeOf((*HttpFaultFault)(nil)).Elem()
 47360  }
 47361  
 47362  type HttpNfcLeaseAbort HttpNfcLeaseAbortRequestType
 47363  
 47364  func init() {
 47365  	t["HttpNfcLeaseAbort"] = reflect.TypeOf((*HttpNfcLeaseAbort)(nil)).Elem()
 47366  }
 47367  
 47368  // The parameters of `HttpNfcLease.HttpNfcLeaseAbort`.
 47369  type HttpNfcLeaseAbortRequestType struct {
 47370  	This ManagedObjectReference `xml:"_this" json:"-"`
 47371  	// \[in\] The fault that caused the abort, if any.
 47372  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 47373  }
 47374  
 47375  func init() {
 47376  	t["HttpNfcLeaseAbortRequestType"] = reflect.TypeOf((*HttpNfcLeaseAbortRequestType)(nil)).Elem()
 47377  }
 47378  
 47379  type HttpNfcLeaseAbortResponse struct {
 47380  }
 47381  
 47382  // Descriptor of the lease capabilities.
 47383  type HttpNfcLeaseCapabilities struct {
 47384  	DynamicData
 47385  
 47386  	// True if overall this lease can be upgraded to pull mode and
 47387  	// all hosts in this lease support pull mode.
 47388  	//
 47389  	// Prerequisite before calling pullFromUrls.
 47390  	PullModeSupported bool `xml:"pullModeSupported" json:"pullModeSupported"`
 47391  	// True if all hosts in the lease support HTTP CORS.
 47392  	CorsSupported bool `xml:"corsSupported" json:"corsSupported"`
 47393  }
 47394  
 47395  func init() {
 47396  	t["HttpNfcLeaseCapabilities"] = reflect.TypeOf((*HttpNfcLeaseCapabilities)(nil)).Elem()
 47397  	minAPIVersionForType["HttpNfcLeaseCapabilities"] = "6.7"
 47398  }
 47399  
 47400  type HttpNfcLeaseComplete HttpNfcLeaseCompleteRequestType
 47401  
 47402  func init() {
 47403  	t["HttpNfcLeaseComplete"] = reflect.TypeOf((*HttpNfcLeaseComplete)(nil)).Elem()
 47404  }
 47405  
 47406  type HttpNfcLeaseCompleteRequestType struct {
 47407  	This ManagedObjectReference `xml:"_this" json:"-"`
 47408  }
 47409  
 47410  func init() {
 47411  	t["HttpNfcLeaseCompleteRequestType"] = reflect.TypeOf((*HttpNfcLeaseCompleteRequestType)(nil)).Elem()
 47412  }
 47413  
 47414  type HttpNfcLeaseCompleteResponse struct {
 47415  }
 47416  
 47417  // For a given datastore, represented by datastoreKey, contains a list of leased
 47418  // multi-POST-capable hosts connected to it.
 47419  type HttpNfcLeaseDatastoreLeaseInfo struct {
 47420  	DynamicData
 47421  
 47422  	// Datastore key.
 47423  	DatastoreKey string `xml:"datastoreKey" json:"datastoreKey"`
 47424  	// List of hosts connected to this datastore and covered by this lease.
 47425  	//
 47426  	// The
 47427  	// hosts in this list are multi-POST-capable, and any one of them can be used
 47428  	// to transfer disks on this datastore.
 47429  	Hosts []HttpNfcLeaseHostInfo `xml:"hosts" json:"hosts"`
 47430  }
 47431  
 47432  func init() {
 47433  	t["HttpNfcLeaseDatastoreLeaseInfo"] = reflect.TypeOf((*HttpNfcLeaseDatastoreLeaseInfo)(nil)).Elem()
 47434  	minAPIVersionForType["HttpNfcLeaseDatastoreLeaseInfo"] = "4.1"
 47435  }
 47436  
 47437  // Provides a mapping from logical device IDs to upload/download
 47438  // URLs.
 47439  //
 47440  // For export, a single device id is returned based on the object
 47441  // identifiers for the objects.
 47442  //
 47443  // For import, two device ids are returned. One based on the object
 47444  // names used in the ImportSpec, and one based on the object
 47445  // identifiers for the created objects. This is immutable and would
 47446  // match the id if an ExportLease is latter created.
 47447  type HttpNfcLeaseDeviceUrl struct {
 47448  	DynamicData
 47449  
 47450  	// The immutable identifier for the device.
 47451  	//
 47452  	// This is set for both import/export
 47453  	// leases.
 47454  	Key string `xml:"key" json:"key"`
 47455  	// Identifies the device based on the names in an ImportSpec.
 47456  	//
 47457  	// This is only
 47458  	// set for import leases.
 47459  	ImportKey string `xml:"importKey" json:"importKey"`
 47460  	Url       string `xml:"url" json:"url"`
 47461  	// SSL thumbprint for the host the URL refers to.
 47462  	//
 47463  	// Empty if no SSL thumbprint
 47464  	// is available or needed.
 47465  	SslThumbprint string `xml:"sslThumbprint" json:"sslThumbprint"`
 47466  	// Optional value to specify if the attached file is a disk in
 47467  	// vmdk format.
 47468  	Disk *bool `xml:"disk" json:"disk,omitempty" vim:"4.1"`
 47469  	// Id for this target.
 47470  	//
 47471  	// This only used for multi-POSTing, where a single HTTP
 47472  	// POST is applied to multiple targets.
 47473  	TargetId string `xml:"targetId,omitempty" json:"targetId,omitempty" vim:"4.1"`
 47474  	// Key for the datastore this disk is on.
 47475  	//
 47476  	// This is used to look up hosts
 47477  	// which can be used to multi-POST disk contents, in the host map of the
 47478  	// lease.
 47479  	DatastoreKey string `xml:"datastoreKey,omitempty" json:"datastoreKey,omitempty" vim:"4.1"`
 47480  	// Specifies the size of the file backing for this device.
 47481  	//
 47482  	// This property
 47483  	// is only set for non-disk file backings.
 47484  	FileSize int64 `xml:"fileSize,omitempty" json:"fileSize,omitempty" vim:"4.1"`
 47485  }
 47486  
 47487  func init() {
 47488  	t["HttpNfcLeaseDeviceUrl"] = reflect.TypeOf((*HttpNfcLeaseDeviceUrl)(nil)).Elem()
 47489  	minAPIVersionForType["HttpNfcLeaseDeviceUrl"] = "4.0"
 47490  }
 47491  
 47492  type HttpNfcLeaseGetManifest HttpNfcLeaseGetManifestRequestType
 47493  
 47494  func init() {
 47495  	t["HttpNfcLeaseGetManifest"] = reflect.TypeOf((*HttpNfcLeaseGetManifest)(nil)).Elem()
 47496  }
 47497  
 47498  type HttpNfcLeaseGetManifestRequestType struct {
 47499  	This ManagedObjectReference `xml:"_this" json:"-"`
 47500  }
 47501  
 47502  func init() {
 47503  	t["HttpNfcLeaseGetManifestRequestType"] = reflect.TypeOf((*HttpNfcLeaseGetManifestRequestType)(nil)).Elem()
 47504  }
 47505  
 47506  type HttpNfcLeaseGetManifestResponse struct {
 47507  	Returnval []HttpNfcLeaseManifestEntry `xml:"returnval,omitempty" json:"returnval,omitempty"`
 47508  }
 47509  
 47510  // Contains information about how to connect to a given host.
 47511  type HttpNfcLeaseHostInfo struct {
 47512  	DynamicData
 47513  
 47514  	// The host url will be of the form
 47515  	//
 47516  	//         https://hostname/nfc/ticket id/
 47517  	// The url can be used for both POST requests to a single device and for
 47518  	// multi-POST requests to multiple devices. A single-POST URL is formed
 47519  	// by adding the target id to the hostUrl:
 47520  	//
 47521  	//         https://hostname/nfc/ticket id/target id
 47522  	// a multi-POST URL looks like
 47523  	//
 47524  	//         https://hostname/nfc/ticket id/multi?targets=id1,id2,id3,...
 47525  	Url string `xml:"url" json:"url"`
 47526  	// SSL thumbprint for the host the URL refers to.
 47527  	//
 47528  	// Empty if no SSL thumbprint
 47529  	// is available or needed.
 47530  	SslThumbprint string `xml:"sslThumbprint" json:"sslThumbprint"`
 47531  }
 47532  
 47533  func init() {
 47534  	t["HttpNfcLeaseHostInfo"] = reflect.TypeOf((*HttpNfcLeaseHostInfo)(nil)).Elem()
 47535  	minAPIVersionForType["HttpNfcLeaseHostInfo"] = "4.1"
 47536  }
 47537  
 47538  // This class holds information about the lease, such as the entity covered by the
 47539  // lease, and HTTP URLs for up/downloading file backings.
 47540  type HttpNfcLeaseInfo struct {
 47541  	DynamicData
 47542  
 47543  	// The `HttpNfcLease` object this information belongs to.
 47544  	//
 47545  	// Refers instance of `HttpNfcLease`.
 47546  	Lease ManagedObjectReference `xml:"lease" json:"lease"`
 47547  	// The `VirtualMachine` or `VirtualApp` this
 47548  	// lease covers.
 47549  	//
 47550  	// Refers instance of `ManagedEntity`.
 47551  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 47552  	// The deviceUrl property contains a mapping from logical device keys
 47553  	// to URLs.
 47554  	DeviceUrl []HttpNfcLeaseDeviceUrl `xml:"deviceUrl,omitempty" json:"deviceUrl,omitempty"`
 47555  	// Total capacity in kilobytes of all disks in all Virtual Machines
 47556  	// covered by this lease.
 47557  	//
 47558  	// This can be used to track progress when
 47559  	// transferring disks.
 47560  	TotalDiskCapacityInKB int64 `xml:"totalDiskCapacityInKB" json:"totalDiskCapacityInKB"`
 47561  	// Number of seconds before the lease times out.
 47562  	//
 47563  	// The client extends
 47564  	// the lease by calling `HttpNfcLease.HttpNfcLeaseProgress` before
 47565  	// the timeout has expired.
 47566  	LeaseTimeout int32 `xml:"leaseTimeout" json:"leaseTimeout"`
 47567  	// Map of URLs for leased hosts for a given datastore.
 47568  	//
 47569  	// This is used to
 47570  	// look up multi-POST-capable hosts for a datastore.
 47571  	HostMap []HttpNfcLeaseDatastoreLeaseInfo `xml:"hostMap,omitempty" json:"hostMap,omitempty" vim:"4.1"`
 47572  }
 47573  
 47574  func init() {
 47575  	t["HttpNfcLeaseInfo"] = reflect.TypeOf((*HttpNfcLeaseInfo)(nil)).Elem()
 47576  	minAPIVersionForType["HttpNfcLeaseInfo"] = "4.0"
 47577  }
 47578  
 47579  // Provides a manifest for downloaded (exported) files and disks.
 47580  type HttpNfcLeaseManifestEntry struct {
 47581  	DynamicData
 47582  
 47583  	// Key used to match this entry with the corresponding `HttpNfcLeaseDeviceUrl`
 47584  	// entry in `HttpNfcLease.info`.
 47585  	Key string `xml:"key" json:"key"`
 47586  	// SHA-1 checksum of the data stream sent from the server.
 47587  	//
 47588  	// This can be used
 47589  	// to verify that the bytes received by the client match those sent by the
 47590  	// HttpNfc server.
 47591  	Sha1 string `xml:"sha1" json:"sha1"`
 47592  	// Checksum of the data stream sent/recieved by host.
 47593  	//
 47594  	// See `HttpNfcLeaseManifestEntryChecksumType_enum` for used algoritm.
 47595  	Checksum string `xml:"checksum,omitempty" json:"checksum,omitempty" vim:"6.7"`
 47596  	// Algorithm used to produce checksum in respective property.
 47597  	//
 47598  	// See `HttpNfcLeaseManifestEntryChecksumType_enum` for supported algorithms.
 47599  	ChecksumType string `xml:"checksumType,omitempty" json:"checksumType,omitempty" vim:"6.7"`
 47600  	// Size of the downloaded file.
 47601  	Size int64 `xml:"size" json:"size"`
 47602  	// True if the downloaded file is a virtual disk backing.
 47603  	Disk bool `xml:"disk" json:"disk"`
 47604  	// The capacity of the disk, if the file is a virtual disk backing.
 47605  	Capacity int64 `xml:"capacity,omitempty" json:"capacity,omitempty"`
 47606  	// The populated size of the disk, if the file is a virtual disk backing.
 47607  	PopulatedSize int64 `xml:"populatedSize,omitempty" json:"populatedSize,omitempty"`
 47608  }
 47609  
 47610  func init() {
 47611  	t["HttpNfcLeaseManifestEntry"] = reflect.TypeOf((*HttpNfcLeaseManifestEntry)(nil)).Elem()
 47612  	minAPIVersionForType["HttpNfcLeaseManifestEntry"] = "4.1"
 47613  }
 47614  
 47615  // Descriptor of ProbeResult
 47616  type HttpNfcLeaseProbeResult struct {
 47617  	DynamicData
 47618  
 47619  	// True if target host can access the web server.
 47620  	ServerAccessible bool `xml:"serverAccessible" json:"serverAccessible"`
 47621  }
 47622  
 47623  func init() {
 47624  	t["HttpNfcLeaseProbeResult"] = reflect.TypeOf((*HttpNfcLeaseProbeResult)(nil)).Elem()
 47625  	minAPIVersionForType["HttpNfcLeaseProbeResult"] = "7.0.2.0"
 47626  }
 47627  
 47628  type HttpNfcLeaseProbeUrls HttpNfcLeaseProbeUrlsRequestType
 47629  
 47630  func init() {
 47631  	t["HttpNfcLeaseProbeUrls"] = reflect.TypeOf((*HttpNfcLeaseProbeUrls)(nil)).Elem()
 47632  }
 47633  
 47634  // The parameters of `HttpNfcLease.HttpNfcLeaseProbeUrls`.
 47635  type HttpNfcLeaseProbeUrlsRequestType struct {
 47636  	This ManagedObjectReference `xml:"_this" json:"-"`
 47637  	// \[in\] List of remote source file descriptors
 47638  	// There should be the same number of `HttpNfcLeaseSourceFile`
 47639  	// as `HttpNfcLeaseDeviceUrl` provided by this lease.
 47640  	Files []HttpNfcLeaseSourceFile `xml:"files,omitempty" json:"files,omitempty"`
 47641  	// \[in\] time in seconds for each url validation.
 47642  	// Maximum timeout is 60.
 47643  	Timeout int32 `xml:"timeout,omitempty" json:"timeout,omitempty"`
 47644  }
 47645  
 47646  func init() {
 47647  	t["HttpNfcLeaseProbeUrlsRequestType"] = reflect.TypeOf((*HttpNfcLeaseProbeUrlsRequestType)(nil)).Elem()
 47648  }
 47649  
 47650  type HttpNfcLeaseProbeUrlsResponse struct {
 47651  	Returnval []HttpNfcLeaseProbeResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 47652  }
 47653  
 47654  type HttpNfcLeaseProgress HttpNfcLeaseProgressRequestType
 47655  
 47656  func init() {
 47657  	t["HttpNfcLeaseProgress"] = reflect.TypeOf((*HttpNfcLeaseProgress)(nil)).Elem()
 47658  }
 47659  
 47660  // The parameters of `HttpNfcLease.HttpNfcLeaseProgress`.
 47661  type HttpNfcLeaseProgressRequestType struct {
 47662  	This ManagedObjectReference `xml:"_this" json:"-"`
 47663  	// \[in\] Completion status represented as an integer
 47664  	// in the 0-100 range.
 47665  	Percent int32 `xml:"percent" json:"percent"`
 47666  }
 47667  
 47668  func init() {
 47669  	t["HttpNfcLeaseProgressRequestType"] = reflect.TypeOf((*HttpNfcLeaseProgressRequestType)(nil)).Elem()
 47670  }
 47671  
 47672  type HttpNfcLeaseProgressResponse struct {
 47673  }
 47674  
 47675  // The parameters of `HttpNfcLease.HttpNfcLeasePullFromUrls_Task`.
 47676  type HttpNfcLeasePullFromUrlsRequestType struct {
 47677  	This ManagedObjectReference `xml:"_this" json:"-"`
 47678  	// \[in\] List of remote source file descriptors
 47679  	// There should be the same number of `HttpNfcLeaseSourceFile`
 47680  	// as `HttpNfcLeaseDeviceUrl` provided by this lease.
 47681  	// Privilege VApp.PullFromUrls is required.
 47682  	Files []HttpNfcLeaseSourceFile `xml:"files,omitempty" json:"files,omitempty"`
 47683  }
 47684  
 47685  func init() {
 47686  	t["HttpNfcLeasePullFromUrlsRequestType"] = reflect.TypeOf((*HttpNfcLeasePullFromUrlsRequestType)(nil)).Elem()
 47687  }
 47688  
 47689  type HttpNfcLeasePullFromUrls_Task HttpNfcLeasePullFromUrlsRequestType
 47690  
 47691  func init() {
 47692  	t["HttpNfcLeasePullFromUrls_Task"] = reflect.TypeOf((*HttpNfcLeasePullFromUrls_Task)(nil)).Elem()
 47693  }
 47694  
 47695  type HttpNfcLeasePullFromUrls_TaskResponse struct {
 47696  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 47697  }
 47698  
 47699  type HttpNfcLeaseSetManifestChecksumType HttpNfcLeaseSetManifestChecksumTypeRequestType
 47700  
 47701  func init() {
 47702  	t["HttpNfcLeaseSetManifestChecksumType"] = reflect.TypeOf((*HttpNfcLeaseSetManifestChecksumType)(nil)).Elem()
 47703  }
 47704  
 47705  // The parameters of `HttpNfcLease.HttpNfcLeaseSetManifestChecksumType`.
 47706  type HttpNfcLeaseSetManifestChecksumTypeRequestType struct {
 47707  	This ManagedObjectReference `xml:"_this" json:"-"`
 47708  	// \[in\] Should contain key value pairs:
 47709  	// where key is `HttpNfcLeaseDeviceUrl.key` returned in this lease info and value
 47710  	// is desired algorithm from `HttpNfcLeaseManifestEntryChecksumType_enum`.
 47711  	DeviceUrlsToChecksumTypes []KeyValue `xml:"deviceUrlsToChecksumTypes,omitempty" json:"deviceUrlsToChecksumTypes,omitempty"`
 47712  }
 47713  
 47714  func init() {
 47715  	t["HttpNfcLeaseSetManifestChecksumTypeRequestType"] = reflect.TypeOf((*HttpNfcLeaseSetManifestChecksumTypeRequestType)(nil)).Elem()
 47716  }
 47717  
 47718  type HttpNfcLeaseSetManifestChecksumTypeResponse struct {
 47719  }
 47720  
 47721  // Descriptor of the remote source file used in pull scenario.
 47722  type HttpNfcLeaseSourceFile struct {
 47723  	DynamicData
 47724  
 47725  	// Target device id that will be used to store remote file.
 47726  	//
 47727  	// Uniquely identifies host, vm and device.
 47728  	// Given by this lease in `HttpNfcLeaseDeviceUrl.importKey`.
 47729  	TargetDeviceId string `xml:"targetDeviceId" json:"targetDeviceId"`
 47730  	// Full url of the source file, for example https://server/path/disk-1.vmdk.
 47731  	//
 47732  	// Or url to OVA, in that case `HttpNfcLeaseSourceFile.memberName` should be specified.
 47733  	Url string `xml:"url" json:"url"`
 47734  	// Used only when OVA is specified in `HttpNfcLeaseSourceFile.url`.
 47735  	//
 47736  	// Should contain file name to extract from OVA.
 47737  	MemberName string `xml:"memberName,omitempty" json:"memberName,omitempty"`
 47738  	// True if PUT should be used for upload, otherwise POST.
 47739  	//
 47740  	// Same as `OvfFileItem.create`
 47741  	Create bool `xml:"create" json:"create"`
 47742  	// Esx has no CA database for checking arbitrary certificates.
 47743  	//
 47744  	// Client should verify the server certificate and provide
 47745  	// certificate thumbprint here.
 47746  	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty"`
 47747  	// For the case when remote server requires authentication or any other
 47748  	// type of custom HTTP headers be provided with the request.
 47749  	HttpHeaders []KeyValue `xml:"httpHeaders,omitempty" json:"httpHeaders,omitempty"`
 47750  	// Size of the file, if known.
 47751  	//
 47752  	// Otherwise it will be determined by a HEAD
 47753  	// request. Not used for OVA members.
 47754  	Size int64 `xml:"size,omitempty" json:"size,omitempty"`
 47755  }
 47756  
 47757  func init() {
 47758  	t["HttpNfcLeaseSourceFile"] = reflect.TypeOf((*HttpNfcLeaseSourceFile)(nil)).Elem()
 47759  	minAPIVersionForType["HttpNfcLeaseSourceFile"] = "6.7"
 47760  }
 47761  
 47762  // This data object type describes an identifier class which
 47763  // is globally unique to identify the associated object.
 47764  type ID struct {
 47765  	DynamicData
 47766  
 47767  	// Id string which is globally unique to identify
 47768  	// an object.
 47769  	Id string `xml:"id" json:"id"`
 47770  }
 47771  
 47772  func init() {
 47773  	t["ID"] = reflect.TypeOf((*ID)(nil)).Elem()
 47774  	minAPIVersionForType["ID"] = "6.5"
 47775  }
 47776  
 47777  // Deprecated as of VI API 2.5, use `DeviceControllerNotSupported`.
 47778  //
 47779  // The virtual machine uses a virtual disk with an IDE controller, but this
 47780  // is not supported on the host.
 47781  type IDEDiskNotSupported struct {
 47782  	DiskNotSupported
 47783  }
 47784  
 47785  func init() {
 47786  	t["IDEDiskNotSupported"] = reflect.TypeOf((*IDEDiskNotSupported)(nil)).Elem()
 47787  }
 47788  
 47789  type IDEDiskNotSupportedFault IDEDiskNotSupported
 47790  
 47791  func init() {
 47792  	t["IDEDiskNotSupportedFault"] = reflect.TypeOf((*IDEDiskNotSupportedFault)(nil)).Elem()
 47793  }
 47794  
 47795  // A IORMNotSupportedHostOnDatastore fault occurs when the datastore is connected
 47796  // to one or more hosts that do not support storage I/O resource management.
 47797  type IORMNotSupportedHostOnDatastore struct {
 47798  	VimFault
 47799  
 47800  	// The datastore.
 47801  	//
 47802  	// Refers instance of `Datastore`.
 47803  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 47804  	// The name of the datastore.
 47805  	DatastoreName string `xml:"datastoreName" json:"datastoreName"`
 47806  	// The list of hosts that do not support storage I/O
 47807  	// resource management.
 47808  	//
 47809  	// Refers instances of `HostSystem`.
 47810  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 47811  }
 47812  
 47813  func init() {
 47814  	t["IORMNotSupportedHostOnDatastore"] = reflect.TypeOf((*IORMNotSupportedHostOnDatastore)(nil)).Elem()
 47815  	minAPIVersionForType["IORMNotSupportedHostOnDatastore"] = "4.1"
 47816  }
 47817  
 47818  type IORMNotSupportedHostOnDatastoreFault IORMNotSupportedHostOnDatastore
 47819  
 47820  func init() {
 47821  	t["IORMNotSupportedHostOnDatastoreFault"] = reflect.TypeOf((*IORMNotSupportedHostOnDatastoreFault)(nil)).Elem()
 47822  }
 47823  
 47824  // Could not boot from iScsi.
 47825  type IScsiBootFailureEvent struct {
 47826  	HostEvent
 47827  }
 47828  
 47829  func init() {
 47830  	t["IScsiBootFailureEvent"] = reflect.TypeOf((*IScsiBootFailureEvent)(nil)).Elem()
 47831  	minAPIVersionForType["IScsiBootFailureEvent"] = "4.1"
 47832  }
 47833  
 47834  type ImpersonateUser ImpersonateUserRequestType
 47835  
 47836  func init() {
 47837  	t["ImpersonateUser"] = reflect.TypeOf((*ImpersonateUser)(nil)).Elem()
 47838  }
 47839  
 47840  // The parameters of `SessionManager.ImpersonateUser`.
 47841  type ImpersonateUserRequestType struct {
 47842  	This ManagedObjectReference `xml:"_this" json:"-"`
 47843  	// The user or extension key to impersonate.
 47844  	UserName string `xml:"userName" json:"userName"`
 47845  	// A two-character ISO-639 language ID (like "en")
 47846  	// optionally followed by an
 47847  	// underscore and a two-character ISO 3166 country ID (like "US").
 47848  	//
 47849  	// Examples are "de", "fr\_CA", "zh", "zh\_CN", and "zh\_TW".
 47850  	// Note: The method uses the server default locale when
 47851  	// a locale is not provided. This default can be configured in the
 47852  	// server configuration file. If unspecified, it defaults to the
 47853  	// locale of the server environment or English ("en") if unsupported.
 47854  	Locale string `xml:"locale,omitempty" json:"locale,omitempty"`
 47855  }
 47856  
 47857  func init() {
 47858  	t["ImpersonateUserRequestType"] = reflect.TypeOf((*ImpersonateUserRequestType)(nil)).Elem()
 47859  }
 47860  
 47861  type ImpersonateUserResponse struct {
 47862  	Returnval UserSession `xml:"returnval" json:"returnval"`
 47863  }
 47864  
 47865  // The parameters of `HostActiveDirectoryAuthentication.ImportCertificateForCAM_Task`.
 47866  type ImportCertificateForCAMRequestType struct {
 47867  	This ManagedObjectReference `xml:"_this" json:"-"`
 47868  	// full path of the certificate on ESXi
 47869  	CertPath string `xml:"certPath" json:"certPath"`
 47870  	// IP of server providing the CAM service.
 47871  	CamServer string `xml:"camServer" json:"camServer"`
 47872  }
 47873  
 47874  func init() {
 47875  	t["ImportCertificateForCAMRequestType"] = reflect.TypeOf((*ImportCertificateForCAMRequestType)(nil)).Elem()
 47876  }
 47877  
 47878  type ImportCertificateForCAM_Task ImportCertificateForCAMRequestType
 47879  
 47880  func init() {
 47881  	t["ImportCertificateForCAM_Task"] = reflect.TypeOf((*ImportCertificateForCAM_Task)(nil)).Elem()
 47882  }
 47883  
 47884  type ImportCertificateForCAM_TaskResponse struct {
 47885  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 47886  }
 47887  
 47888  // Thrown if failure occurs while adding host to DVS during import operation
 47889  type ImportHostAddFailure struct {
 47890  	DvsFault
 47891  
 47892  	// Hosts on which import operation failed
 47893  	HostIp []string `xml:"hostIp" json:"hostIp"`
 47894  }
 47895  
 47896  func init() {
 47897  	t["ImportHostAddFailure"] = reflect.TypeOf((*ImportHostAddFailure)(nil)).Elem()
 47898  	minAPIVersionForType["ImportHostAddFailure"] = "5.1"
 47899  }
 47900  
 47901  type ImportHostAddFailureFault ImportHostAddFailure
 47902  
 47903  func init() {
 47904  	t["ImportHostAddFailureFault"] = reflect.TypeOf((*ImportHostAddFailureFault)(nil)).Elem()
 47905  }
 47906  
 47907  // Thrown if a Import operation fails
 47908  type ImportOperationBulkFault struct {
 47909  	DvsFault
 47910  
 47911  	// Faults occurred during the import operation
 47912  	ImportFaults []ImportOperationBulkFaultFaultOnImport `xml:"importFaults" json:"importFaults"`
 47913  }
 47914  
 47915  func init() {
 47916  	t["ImportOperationBulkFault"] = reflect.TypeOf((*ImportOperationBulkFault)(nil)).Elem()
 47917  	minAPIVersionForType["ImportOperationBulkFault"] = "5.1"
 47918  }
 47919  
 47920  type ImportOperationBulkFaultFault ImportOperationBulkFault
 47921  
 47922  func init() {
 47923  	t["ImportOperationBulkFaultFault"] = reflect.TypeOf((*ImportOperationBulkFaultFault)(nil)).Elem()
 47924  }
 47925  
 47926  // The fault occurred on the entity during an import operation.
 47927  type ImportOperationBulkFaultFaultOnImport struct {
 47928  	DynamicData
 47929  
 47930  	// The entity type on which import failed.
 47931  	//
 47932  	// See `EntityType_enum`
 47933  	// for valid values
 47934  	EntityType string `xml:"entityType,omitempty" json:"entityType,omitempty"`
 47935  	// The key on which import failed
 47936  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 47937  	// The fault that occurred.
 47938  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 47939  }
 47940  
 47941  func init() {
 47942  	t["ImportOperationBulkFaultFaultOnImport"] = reflect.TypeOf((*ImportOperationBulkFaultFaultOnImport)(nil)).Elem()
 47943  	minAPIVersionForType["ImportOperationBulkFaultFaultOnImport"] = "5.1"
 47944  }
 47945  
 47946  // An ImportSpec is used when importing VMs or vApps.
 47947  //
 47948  // It can be built from scratch, or it can be generated from an OVF descriptor using the
 47949  // service interface `OvfManager`.
 47950  //
 47951  // This class is the abstract base for `VirtualMachineImportSpec` and
 47952  // `VirtualAppImportSpec`. These three classes form a composite structure
 47953  // that allows us to contain arbitrarily complex entitites in a single ImportSpec.
 47954  type ImportSpec struct {
 47955  	DynamicData
 47956  
 47957  	// Configuration of sub-entities (virtual machine or vApp).
 47958  	//
 47959  	// This is used for
 47960  	// sub-entities of a vApp that could be a virtual machine or a vApp.
 47961  	EntityConfig *VAppEntityConfigInfo `xml:"entityConfig,omitempty" json:"entityConfig,omitempty"`
 47962  	// The instantiation OST (see `OvfConsumer` ) to be consumed by OVF
 47963  	// consumers.
 47964  	InstantiationOst *OvfConsumerOstNode `xml:"instantiationOst,omitempty" json:"instantiationOst,omitempty" vim:"5.0"`
 47965  }
 47966  
 47967  func init() {
 47968  	t["ImportSpec"] = reflect.TypeOf((*ImportSpec)(nil)).Elem()
 47969  	minAPIVersionForType["ImportSpec"] = "4.0"
 47970  }
 47971  
 47972  type ImportUnmanagedSnapshot ImportUnmanagedSnapshotRequestType
 47973  
 47974  func init() {
 47975  	t["ImportUnmanagedSnapshot"] = reflect.TypeOf((*ImportUnmanagedSnapshot)(nil)).Elem()
 47976  }
 47977  
 47978  // The parameters of `VirtualDiskManager.ImportUnmanagedSnapshot`.
 47979  type ImportUnmanagedSnapshotRequestType struct {
 47980  	This ManagedObjectReference `xml:"_this" json:"-"`
 47981  	// \- The name of the disk to import, either a datastore path or a URL
 47982  	// referring to the virtual disk from which to get geometry information.
 47983  	Vdisk string `xml:"vdisk" json:"vdisk"`
 47984  	// If <code>vdisk</code> is a datastore path, the datacenter for
 47985  	// that datastore path. Not needed when invoked directly on ESX.
 47986  	// If not specified on a call to VirtualCenter,
 47987  	// <code>vdisk</code> must be a URL.
 47988  	//
 47989  	// Refers instance of `Datacenter`.
 47990  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 47991  	// \- unmanaged snapshot identifier
 47992  	VvolId string `xml:"vvolId" json:"vvolId"`
 47993  }
 47994  
 47995  func init() {
 47996  	t["ImportUnmanagedSnapshotRequestType"] = reflect.TypeOf((*ImportUnmanagedSnapshotRequestType)(nil)).Elem()
 47997  }
 47998  
 47999  type ImportUnmanagedSnapshotResponse struct {
 48000  }
 48001  
 48002  type ImportVApp ImportVAppRequestType
 48003  
 48004  func init() {
 48005  	t["ImportVApp"] = reflect.TypeOf((*ImportVApp)(nil)).Elem()
 48006  }
 48007  
 48008  // The parameters of `ResourcePool.ImportVApp`.
 48009  type ImportVAppRequestType struct {
 48010  	This ManagedObjectReference `xml:"_this" json:"-"`
 48011  	// An `ImportSpec` describing what to import.
 48012  	Spec BaseImportSpec `xml:"spec,typeattr" json:"spec"`
 48013  	// The folder to which the entity will be attached.
 48014  	//
 48015  	// Required privileges: VApp.Import
 48016  	//
 48017  	// Refers instance of `Folder`.
 48018  	Folder *ManagedObjectReference `xml:"folder,omitempty" json:"folder,omitempty"`
 48019  	// The target host on which the entity will run. This must
 48020  	// specify a host that is a member of the ComputeResource indirectly
 48021  	// specified by the pool. For a stand-alone host or a cluster with DRS,
 48022  	// host can be omitted, and the system selects a default.
 48023  	//
 48024  	// Refers instance of `HostSystem`.
 48025  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 48026  }
 48027  
 48028  func init() {
 48029  	t["ImportVAppRequestType"] = reflect.TypeOf((*ImportVAppRequestType)(nil)).Elem()
 48030  }
 48031  
 48032  type ImportVAppResponse struct {
 48033  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 48034  }
 48035  
 48036  // 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.
 48037  type InUseFeatureManipulationDisallowed struct {
 48038  	NotEnoughLicenses
 48039  }
 48040  
 48041  func init() {
 48042  	t["InUseFeatureManipulationDisallowed"] = reflect.TypeOf((*InUseFeatureManipulationDisallowed)(nil)).Elem()
 48043  	minAPIVersionForType["InUseFeatureManipulationDisallowed"] = "4.0"
 48044  }
 48045  
 48046  type InUseFeatureManipulationDisallowedFault InUseFeatureManipulationDisallowed
 48047  
 48048  func init() {
 48049  	t["InUseFeatureManipulationDisallowedFault"] = reflect.TypeOf((*InUseFeatureManipulationDisallowedFault)(nil)).Elem()
 48050  }
 48051  
 48052  // An InaccessibleDatastore exception is thrown if the datastore corresponding to the
 48053  // given datastore path isn't currently accessible.
 48054  type InaccessibleDatastore struct {
 48055  	InvalidDatastore
 48056  
 48057  	Detail string `xml:"detail,omitempty" json:"detail,omitempty"`
 48058  }
 48059  
 48060  func init() {
 48061  	t["InaccessibleDatastore"] = reflect.TypeOf((*InaccessibleDatastore)(nil)).Elem()
 48062  }
 48063  
 48064  type InaccessibleDatastoreFault BaseInaccessibleDatastore
 48065  
 48066  func init() {
 48067  	t["InaccessibleDatastoreFault"] = reflect.TypeOf((*InaccessibleDatastoreFault)(nil)).Elem()
 48068  }
 48069  
 48070  // An InaccessibleFTMetadataDatastore exception is thrown if the datastore
 48071  // corresponding to the specified FT Metadata Datastore path isn't currently
 48072  // accessible.
 48073  type InaccessibleFTMetadataDatastore struct {
 48074  	InaccessibleDatastore
 48075  }
 48076  
 48077  func init() {
 48078  	t["InaccessibleFTMetadataDatastore"] = reflect.TypeOf((*InaccessibleFTMetadataDatastore)(nil)).Elem()
 48079  	minAPIVersionForType["InaccessibleFTMetadataDatastore"] = "6.0"
 48080  }
 48081  
 48082  type InaccessibleFTMetadataDatastoreFault InaccessibleFTMetadataDatastore
 48083  
 48084  func init() {
 48085  	t["InaccessibleFTMetadataDatastoreFault"] = reflect.TypeOf((*InaccessibleFTMetadataDatastoreFault)(nil)).Elem()
 48086  }
 48087  
 48088  // An InaccessibleVFlashSource exception is thrown when
 48089  // an attempt is made to access the vFlash resource on
 48090  // the host, such as creating vFlash cache file for the
 48091  // virtual disk.
 48092  type InaccessibleVFlashSource struct {
 48093  	VimFault
 48094  
 48095  	// Name of the host which has the vFlash resource
 48096  	HostName string `xml:"hostName" json:"hostName"`
 48097  }
 48098  
 48099  func init() {
 48100  	t["InaccessibleVFlashSource"] = reflect.TypeOf((*InaccessibleVFlashSource)(nil)).Elem()
 48101  	minAPIVersionForType["InaccessibleVFlashSource"] = "5.5"
 48102  }
 48103  
 48104  type InaccessibleVFlashSourceFault InaccessibleVFlashSource
 48105  
 48106  func init() {
 48107  	t["InaccessibleVFlashSourceFault"] = reflect.TypeOf((*InaccessibleVFlashSourceFault)(nil)).Elem()
 48108  }
 48109  
 48110  // A default device (see `VirtualMachineConfigOption.defaultDevice` for a
 48111  // definition) which the virtual machine is using is incompatible with
 48112  // the corresponding default device which will be created on the target host.
 48113  //
 48114  // This is an issue with powered-on or suspended migration under some
 48115  // circumstances. The problem is that in cases where the virtual machine
 48116  // must be recreated, it will have the default device created with default
 48117  // settings that are appropriate for the target host. If those are not
 48118  // compatible with the settings for that device that the virtual machine is currently
 48119  // using, then resuming the virtual machine on the target host might fail.
 48120  //
 48121  // This might happen if the device in question were reconfigured or the default
 48122  // is different between the source and the destination host. An example of
 48123  // a default device and associated setting which might cause this is
 48124  // `VirtualMachineVideoCard.videoRamSizeInKB`.
 48125  // This is an error.
 48126  type IncompatibleDefaultDevice struct {
 48127  	MigrationFault
 48128  
 48129  	// The label of the device.
 48130  	Device string `xml:"device" json:"device"`
 48131  }
 48132  
 48133  func init() {
 48134  	t["IncompatibleDefaultDevice"] = reflect.TypeOf((*IncompatibleDefaultDevice)(nil)).Elem()
 48135  	minAPIVersionForType["IncompatibleDefaultDevice"] = "2.5"
 48136  }
 48137  
 48138  type IncompatibleDefaultDeviceFault IncompatibleDefaultDevice
 48139  
 48140  func init() {
 48141  	t["IncompatibleDefaultDeviceFault"] = reflect.TypeOf((*IncompatibleDefaultDeviceFault)(nil)).Elem()
 48142  }
 48143  
 48144  // The IncompatibleHostForFtSecondary fault is thrown when an invalid
 48145  // host has been specified when calling `VirtualMachine.CreateSecondaryVM_Task`
 48146  // or `VirtualMachine.EnableSecondaryVM_Task`.
 48147  type IncompatibleHostForFtSecondary struct {
 48148  	VmFaultToleranceIssue
 48149  
 48150  	// The host that is not compatible with the secondary virtual machine.
 48151  	//
 48152  	// Refers instance of `HostSystem`.
 48153  	Host ManagedObjectReference `xml:"host" json:"host"`
 48154  	// Information on why the host that was specified could not be used for
 48155  	// the FaultTolerance Secondary VirtualMachine.
 48156  	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 48157  }
 48158  
 48159  func init() {
 48160  	t["IncompatibleHostForFtSecondary"] = reflect.TypeOf((*IncompatibleHostForFtSecondary)(nil)).Elem()
 48161  	minAPIVersionForType["IncompatibleHostForFtSecondary"] = "4.0"
 48162  }
 48163  
 48164  type IncompatibleHostForFtSecondaryFault IncompatibleHostForFtSecondary
 48165  
 48166  func init() {
 48167  	t["IncompatibleHostForFtSecondaryFault"] = reflect.TypeOf((*IncompatibleHostForFtSecondaryFault)(nil)).Elem()
 48168  }
 48169  
 48170  // A IncompatibleHostForVmReplication is thrown when a VM is powered
 48171  // on or migrated to a host which does not support the replication
 48172  // configuration of the VM.
 48173  type IncompatibleHostForVmReplication struct {
 48174  	ReplicationFault
 48175  
 48176  	// The VM which has replication configured
 48177  	VmName string `xml:"vmName" json:"vmName"`
 48178  	// The host which is incompatible for VM replication
 48179  	HostName string `xml:"hostName" json:"hostName"`
 48180  	// The reason why the host is incompatible
 48181  	Reason string `xml:"reason" json:"reason"`
 48182  }
 48183  
 48184  func init() {
 48185  	t["IncompatibleHostForVmReplication"] = reflect.TypeOf((*IncompatibleHostForVmReplication)(nil)).Elem()
 48186  	minAPIVersionForType["IncompatibleHostForVmReplication"] = "6.0"
 48187  }
 48188  
 48189  type IncompatibleHostForVmReplicationFault IncompatibleHostForVmReplication
 48190  
 48191  func init() {
 48192  	t["IncompatibleHostForVmReplicationFault"] = reflect.TypeOf((*IncompatibleHostForVmReplicationFault)(nil)).Elem()
 48193  }
 48194  
 48195  // Thrown when two parameters in the customization settings conflict with each other.
 48196  //
 48197  // For example, a client may not specify both a Workgroup and a DomainName.
 48198  type IncompatibleSetting struct {
 48199  	InvalidArgument
 48200  
 48201  	// The name of the setting that is conflicting.
 48202  	ConflictingProperty string `xml:"conflictingProperty" json:"conflictingProperty"`
 48203  }
 48204  
 48205  func init() {
 48206  	t["IncompatibleSetting"] = reflect.TypeOf((*IncompatibleSetting)(nil)).Elem()
 48207  }
 48208  
 48209  type IncompatibleSettingFault IncompatibleSetting
 48210  
 48211  func init() {
 48212  	t["IncompatibleSettingFault"] = reflect.TypeOf((*IncompatibleSettingFault)(nil)).Elem()
 48213  }
 48214  
 48215  // Thrown when an operation fails because the files do not match a
 48216  // specified file type.
 48217  type IncorrectFileType struct {
 48218  	FileFault
 48219  }
 48220  
 48221  func init() {
 48222  	t["IncorrectFileType"] = reflect.TypeOf((*IncorrectFileType)(nil)).Elem()
 48223  }
 48224  
 48225  type IncorrectFileTypeFault IncorrectFileType
 48226  
 48227  func init() {
 48228  	t["IncorrectFileTypeFault"] = reflect.TypeOf((*IncorrectFileTypeFault)(nil)).Elem()
 48229  }
 48230  
 48231  // A IncorrectHostInformation is thrown if the host does not provide the information
 48232  // needed to acquire the correct set of licenses.
 48233  type IncorrectHostInformation struct {
 48234  	NotEnoughLicenses
 48235  }
 48236  
 48237  func init() {
 48238  	t["IncorrectHostInformation"] = reflect.TypeOf((*IncorrectHostInformation)(nil)).Elem()
 48239  	minAPIVersionForType["IncorrectHostInformation"] = "2.5"
 48240  }
 48241  
 48242  // This event records if the host did not provide the information needed
 48243  // to acquire the correct set of licenses.
 48244  type IncorrectHostInformationEvent struct {
 48245  	LicenseEvent
 48246  }
 48247  
 48248  func init() {
 48249  	t["IncorrectHostInformationEvent"] = reflect.TypeOf((*IncorrectHostInformationEvent)(nil)).Elem()
 48250  	minAPIVersionForType["IncorrectHostInformationEvent"] = "2.5"
 48251  }
 48252  
 48253  type IncorrectHostInformationFault IncorrectHostInformation
 48254  
 48255  func init() {
 48256  	t["IncorrectHostInformationFault"] = reflect.TypeOf((*IncorrectHostInformationFault)(nil)).Elem()
 48257  }
 48258  
 48259  type IncreaseDirectorySize IncreaseDirectorySizeRequestType
 48260  
 48261  func init() {
 48262  	t["IncreaseDirectorySize"] = reflect.TypeOf((*IncreaseDirectorySize)(nil)).Elem()
 48263  }
 48264  
 48265  // The parameters of `DatastoreNamespaceManager.IncreaseDirectorySize`.
 48266  type IncreaseDirectorySizeRequestType struct {
 48267  	This ManagedObjectReference `xml:"_this" json:"-"`
 48268  	// the datacenter of the namespace path. Needs to be set
 48269  	// when making the call to VC; ignored when the call is
 48270  	// made to ESX.
 48271  	//
 48272  	// Required privileges: System.View
 48273  	//
 48274  	// Refers instance of `Datacenter`.
 48275  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 48276  	// stable vmfs path of the top-level directory
 48277  	StableName string `xml:"stableName" json:"stableName"`
 48278  	// the desired final size in MB of the directory, not a diff
 48279  	// from the current size; should be more than current size
 48280  	Size int64 `xml:"size" json:"size"`
 48281  }
 48282  
 48283  func init() {
 48284  	t["IncreaseDirectorySizeRequestType"] = reflect.TypeOf((*IncreaseDirectorySizeRequestType)(nil)).Elem()
 48285  }
 48286  
 48287  type IncreaseDirectorySizeResponse struct {
 48288  }
 48289  
 48290  // An operation on a powered-on virtual machine requests that the virtual
 48291  // machine's disks be moved without choosing a new home datastore for the
 48292  // virtual machine, but the host does not have that capability.
 48293  type IndependentDiskVMotionNotSupported struct {
 48294  	MigrationFeatureNotSupported
 48295  }
 48296  
 48297  func init() {
 48298  	t["IndependentDiskVMotionNotSupported"] = reflect.TypeOf((*IndependentDiskVMotionNotSupported)(nil)).Elem()
 48299  	minAPIVersionForType["IndependentDiskVMotionNotSupported"] = "2.5"
 48300  }
 48301  
 48302  type IndependentDiskVMotionNotSupportedFault IndependentDiskVMotionNotSupported
 48303  
 48304  func init() {
 48305  	t["IndependentDiskVMotionNotSupportedFault"] = reflect.TypeOf((*IndependentDiskVMotionNotSupportedFault)(nil)).Elem()
 48306  }
 48307  
 48308  // The parameters of `VcenterVStorageObjectManager.InflateDisk_Task`.
 48309  type InflateDiskRequestType struct {
 48310  	This ManagedObjectReference `xml:"_this" json:"-"`
 48311  	// The ID of the virtual disk to be inflated.
 48312  	Id ID `xml:"id" json:"id"`
 48313  	// The datastore where the virtual disk is located.
 48314  	//
 48315  	// Refers instance of `Datastore`.
 48316  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 48317  }
 48318  
 48319  func init() {
 48320  	t["InflateDiskRequestType"] = reflect.TypeOf((*InflateDiskRequestType)(nil)).Elem()
 48321  }
 48322  
 48323  type InflateDisk_Task InflateDiskRequestType
 48324  
 48325  func init() {
 48326  	t["InflateDisk_Task"] = reflect.TypeOf((*InflateDisk_Task)(nil)).Elem()
 48327  }
 48328  
 48329  type InflateDisk_TaskResponse struct {
 48330  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 48331  }
 48332  
 48333  // The parameters of `VirtualDiskManager.InflateVirtualDisk_Task`.
 48334  type InflateVirtualDiskRequestType struct {
 48335  	This ManagedObjectReference `xml:"_this" json:"-"`
 48336  	// The name of the disk, either a datastore path or a URL
 48337  	// referring to the virtual disk that should be inflated.
 48338  	Name string `xml:"name" json:"name"`
 48339  	// If <code>name</code> is a datastore path, the datacenter for
 48340  	// that datastore path. Not needed when invoked directly on ESX.
 48341  	// If not specified on a call to VirtualCenter,
 48342  	// <code>name</code> must be a URL.
 48343  	//
 48344  	// Refers instance of `Datacenter`.
 48345  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 48346  }
 48347  
 48348  func init() {
 48349  	t["InflateVirtualDiskRequestType"] = reflect.TypeOf((*InflateVirtualDiskRequestType)(nil)).Elem()
 48350  }
 48351  
 48352  type InflateVirtualDisk_Task InflateVirtualDiskRequestType
 48353  
 48354  func init() {
 48355  	t["InflateVirtualDisk_Task"] = reflect.TypeOf((*InflateVirtualDisk_Task)(nil)).Elem()
 48356  }
 48357  
 48358  type InflateVirtualDisk_TaskResponse struct {
 48359  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 48360  }
 48361  
 48362  // This event is a general information event from upgrade.
 48363  type InfoUpgradeEvent struct {
 48364  	UpgradeEvent
 48365  }
 48366  
 48367  func init() {
 48368  	t["InfoUpgradeEvent"] = reflect.TypeOf((*InfoUpgradeEvent)(nil)).Elem()
 48369  }
 48370  
 48371  // The base class for any type of setting or configuration that may get a
 48372  // inherited value.
 48373  //
 48374  // When used in a reconfigure operation specification, if `InheritablePolicy.inherited` is true,
 48375  // it specifies the intention to change the values of subclass's properties to the
 48376  // inherited values from the level above. In this case, users don't need to specify
 48377  // the values and any set property in the subclass will be ignored.
 48378  // if `InheritablePolicy.inherited` is false, it specifies the intention to explicitly set
 48379  // subclass's properties to user specified values. Users should set the properties in
 48380  // the subclass with the desired values.
 48381  //
 48382  // When used in a configuration information object, The values of the properties in
 48383  // the subclass are the effective values. if `InheritablePolicy.inherited` is true, the object
 48384  // is getting the effective values from upper level. If false, the values are
 48385  // explicitly set by a user.
 48386  type InheritablePolicy struct {
 48387  	DynamicData
 48388  
 48389  	// Whether the configuration is set to inherited value.
 48390  	Inherited bool `xml:"inherited" json:"inherited"`
 48391  }
 48392  
 48393  func init() {
 48394  	t["InheritablePolicy"] = reflect.TypeOf((*InheritablePolicy)(nil)).Elem()
 48395  	minAPIVersionForType["InheritablePolicy"] = "4.0"
 48396  }
 48397  
 48398  // The parameters of `HostVsanSystem.InitializeDisks_Task`.
 48399  type InitializeDisksRequestType struct {
 48400  	This ManagedObjectReference `xml:"_this" json:"-"`
 48401  	// list of disk mappings to initialize
 48402  	Mapping []VsanHostDiskMapping `xml:"mapping" json:"mapping"`
 48403  }
 48404  
 48405  func init() {
 48406  	t["InitializeDisksRequestType"] = reflect.TypeOf((*InitializeDisksRequestType)(nil)).Elem()
 48407  }
 48408  
 48409  type InitializeDisks_Task InitializeDisksRequestType
 48410  
 48411  func init() {
 48412  	t["InitializeDisks_Task"] = reflect.TypeOf((*InitializeDisks_Task)(nil)).Elem()
 48413  }
 48414  
 48415  type InitializeDisks_TaskResponse struct {
 48416  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 48417  }
 48418  
 48419  type InitiateFileTransferFromGuest InitiateFileTransferFromGuestRequestType
 48420  
 48421  func init() {
 48422  	t["InitiateFileTransferFromGuest"] = reflect.TypeOf((*InitiateFileTransferFromGuest)(nil)).Elem()
 48423  }
 48424  
 48425  // The parameters of `GuestFileManager.InitiateFileTransferFromGuest`.
 48426  type InitiateFileTransferFromGuestRequestType struct {
 48427  	This ManagedObjectReference `xml:"_this" json:"-"`
 48428  	// Virtual Machine to perform the operation on.
 48429  	//
 48430  	// Required privileges: VirtualMachine.GuestOperations.Query
 48431  	//
 48432  	// Refers instance of `VirtualMachine`.
 48433  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 48434  	// The guest authentication data.
 48435  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 48436  	// The complete path to the file inside the guest
 48437  	// that has to be transferred to the client. It cannot be a path to
 48438  	// a directory or a symbolic link.
 48439  	GuestFilePath string `xml:"guestFilePath" json:"guestFilePath"`
 48440  }
 48441  
 48442  func init() {
 48443  	t["InitiateFileTransferFromGuestRequestType"] = reflect.TypeOf((*InitiateFileTransferFromGuestRequestType)(nil)).Elem()
 48444  }
 48445  
 48446  type InitiateFileTransferFromGuestResponse struct {
 48447  	Returnval FileTransferInformation `xml:"returnval" json:"returnval"`
 48448  }
 48449  
 48450  type InitiateFileTransferToGuest InitiateFileTransferToGuestRequestType
 48451  
 48452  func init() {
 48453  	t["InitiateFileTransferToGuest"] = reflect.TypeOf((*InitiateFileTransferToGuest)(nil)).Elem()
 48454  }
 48455  
 48456  // The parameters of `GuestFileManager.InitiateFileTransferToGuest`.
 48457  type InitiateFileTransferToGuestRequestType struct {
 48458  	This ManagedObjectReference `xml:"_this" json:"-"`
 48459  	// Virtual Machine to perform the operation on.
 48460  	//
 48461  	// Required privileges: VirtualMachine.GuestOperations.Modify
 48462  	//
 48463  	// Refers instance of `VirtualMachine`.
 48464  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 48465  	// The guest authentication data. See
 48466  	// `GuestAuthentication`.
 48467  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 48468  	// The complete destination path in the guest to
 48469  	// transfer the file from the client. It cannot be a path to
 48470  	// a directory or a symbolic link.
 48471  	GuestFilePath string `xml:"guestFilePath" json:"guestFilePath"`
 48472  	// File attributes of the file that has to be
 48473  	// created in the guest. See `GuestFileAttributes`.
 48474  	// If any file attribute is not specified, then the default value
 48475  	// of that property will be set for the file.
 48476  	FileAttributes BaseGuestFileAttributes `xml:"fileAttributes,typeattr" json:"fileAttributes"`
 48477  	// Size of the file to transfer to the guest in bytes.
 48478  	FileSize int64 `xml:"fileSize" json:"fileSize"`
 48479  	// If set, the destination file is clobbered.
 48480  	Overwrite bool `xml:"overwrite" json:"overwrite"`
 48481  }
 48482  
 48483  func init() {
 48484  	t["InitiateFileTransferToGuestRequestType"] = reflect.TypeOf((*InitiateFileTransferToGuestRequestType)(nil)).Elem()
 48485  }
 48486  
 48487  type InitiateFileTransferToGuestResponse struct {
 48488  	Returnval string `xml:"returnval" json:"returnval"`
 48489  }
 48490  
 48491  // The parameters of `HostPatchManager.InstallHostPatch_Task`.
 48492  type InstallHostPatchRequestType struct {
 48493  	This ManagedObjectReference `xml:"_this" json:"-"`
 48494  	// Location of the repository that contains the
 48495  	// bulletin depot. The depot must be organized as a flat
 48496  	// collection of bulletins with each one being a folder named
 48497  	// after the bulletin ID. Each folder must contain both
 48498  	// update metadata and required binaries.
 48499  	Repository HostPatchManagerLocator `xml:"repository" json:"repository"`
 48500  	// The update to be installed on the host.
 48501  	UpdateID string `xml:"updateID" json:"updateID"`
 48502  	// Specify whether to force reinstall an update.
 48503  	// By default, installing an already-installed update would fail
 48504  	// with the `PatchAlreadyInstalled` fault. If
 48505  	// force is set to true, the update will be forcefully reinstalled,
 48506  	// thus overwriting the already installed update.
 48507  	Force *bool `xml:"force" json:"force,omitempty"`
 48508  }
 48509  
 48510  func init() {
 48511  	t["InstallHostPatchRequestType"] = reflect.TypeOf((*InstallHostPatchRequestType)(nil)).Elem()
 48512  }
 48513  
 48514  // The parameters of `HostPatchManager.InstallHostPatchV2_Task`.
 48515  type InstallHostPatchV2RequestType struct {
 48516  	This ManagedObjectReference `xml:"_this" json:"-"`
 48517  	// A list of urls pointing to metadata.zip.
 48518  	MetaUrls []string `xml:"metaUrls,omitempty" json:"metaUrls,omitempty"`
 48519  	// a list of urls pointing to an "offline" bundle. It is not supported in 5.0 or later.
 48520  	BundleUrls []string `xml:"bundleUrls,omitempty" json:"bundleUrls,omitempty"`
 48521  	// The urls of update binary files to be installed.
 48522  	VibUrls []string                                   `xml:"vibUrls,omitempty" json:"vibUrls,omitempty"`
 48523  	Spec    *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 48524  }
 48525  
 48526  func init() {
 48527  	t["InstallHostPatchV2RequestType"] = reflect.TypeOf((*InstallHostPatchV2RequestType)(nil)).Elem()
 48528  }
 48529  
 48530  type InstallHostPatchV2_Task InstallHostPatchV2RequestType
 48531  
 48532  func init() {
 48533  	t["InstallHostPatchV2_Task"] = reflect.TypeOf((*InstallHostPatchV2_Task)(nil)).Elem()
 48534  }
 48535  
 48536  type InstallHostPatchV2_TaskResponse struct {
 48537  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 48538  }
 48539  
 48540  type InstallHostPatch_Task InstallHostPatchRequestType
 48541  
 48542  func init() {
 48543  	t["InstallHostPatch_Task"] = reflect.TypeOf((*InstallHostPatch_Task)(nil)).Elem()
 48544  }
 48545  
 48546  type InstallHostPatch_TaskResponse struct {
 48547  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 48548  }
 48549  
 48550  // The parameters of `IoFilterManager.InstallIoFilter_Task`.
 48551  type InstallIoFilterRequestType struct {
 48552  	This ManagedObjectReference `xml:"_this" json:"-"`
 48553  	// The URL that points to the IO Filter VIB package.
 48554  	VibUrl string `xml:"vibUrl" json:"vibUrl"`
 48555  	// The compute resource to install the IO Filter on.
 48556  	// "compRes" must be a cluster.
 48557  	//
 48558  	// Refers instance of `ComputeResource`.
 48559  	CompRes ManagedObjectReference `xml:"compRes" json:"compRes"`
 48560  }
 48561  
 48562  func init() {
 48563  	t["InstallIoFilterRequestType"] = reflect.TypeOf((*InstallIoFilterRequestType)(nil)).Elem()
 48564  }
 48565  
 48566  type InstallIoFilter_Task InstallIoFilterRequestType
 48567  
 48568  func init() {
 48569  	t["InstallIoFilter_Task"] = reflect.TypeOf((*InstallIoFilter_Task)(nil)).Elem()
 48570  }
 48571  
 48572  type InstallIoFilter_TaskResponse struct {
 48573  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 48574  }
 48575  
 48576  type InstallServerCertificate InstallServerCertificateRequestType
 48577  
 48578  func init() {
 48579  	t["InstallServerCertificate"] = reflect.TypeOf((*InstallServerCertificate)(nil)).Elem()
 48580  }
 48581  
 48582  // The parameters of `HostCertificateManager.InstallServerCertificate`.
 48583  type InstallServerCertificateRequestType struct {
 48584  	This ManagedObjectReference `xml:"_this" json:"-"`
 48585  	// SSL certificate in PEM format
 48586  	Cert string `xml:"cert" json:"cert"`
 48587  }
 48588  
 48589  func init() {
 48590  	t["InstallServerCertificateRequestType"] = reflect.TypeOf((*InstallServerCertificateRequestType)(nil)).Elem()
 48591  }
 48592  
 48593  type InstallServerCertificateResponse struct {
 48594  }
 48595  
 48596  type InstallSmartCardTrustAnchor InstallSmartCardTrustAnchorRequestType
 48597  
 48598  func init() {
 48599  	t["InstallSmartCardTrustAnchor"] = reflect.TypeOf((*InstallSmartCardTrustAnchor)(nil)).Elem()
 48600  }
 48601  
 48602  // The parameters of `HostActiveDirectoryAuthentication.InstallSmartCardTrustAnchor`.
 48603  type InstallSmartCardTrustAnchorRequestType struct {
 48604  	This ManagedObjectReference `xml:"_this" json:"-"`
 48605  	// SSL certificate in PEM format
 48606  	Cert string `xml:"cert" json:"cert"`
 48607  }
 48608  
 48609  func init() {
 48610  	t["InstallSmartCardTrustAnchorRequestType"] = reflect.TypeOf((*InstallSmartCardTrustAnchorRequestType)(nil)).Elem()
 48611  }
 48612  
 48613  type InstallSmartCardTrustAnchorResponse struct {
 48614  }
 48615  
 48616  // The parameters of `VirtualMachine.InstantClone_Task`.
 48617  type InstantCloneRequestType struct {
 48618  	This ManagedObjectReference `xml:"_this" json:"-"`
 48619  	// Is a `VirtualMachineInstantCloneSpec`. It specifies the
 48620  	// cloned virtual machine's configuration.
 48621  	Spec VirtualMachineInstantCloneSpec `xml:"spec" json:"spec"`
 48622  }
 48623  
 48624  func init() {
 48625  	t["InstantCloneRequestType"] = reflect.TypeOf((*InstantCloneRequestType)(nil)).Elem()
 48626  }
 48627  
 48628  type InstantClone_Task InstantCloneRequestType
 48629  
 48630  func init() {
 48631  	t["InstantClone_Task"] = reflect.TypeOf((*InstantClone_Task)(nil)).Elem()
 48632  }
 48633  
 48634  type InstantClone_TaskResponse struct {
 48635  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 48636  }
 48637  
 48638  // This fault is returned when the required number of deployed agent virtual
 48639  // machines is not currently deployed on a host and hence the host cannot be
 48640  // used to run client virtual machines.
 48641  type InsufficientAgentVmsDeployed struct {
 48642  	InsufficientResourcesFault
 48643  
 48644  	HostName string `xml:"hostName" json:"hostName"`
 48645  	// The number of agent virtual machines required to be deployed on the host.
 48646  	RequiredNumAgentVms int32 `xml:"requiredNumAgentVms" json:"requiredNumAgentVms"`
 48647  	// The number of agent virtual machines currently deployed on the host.
 48648  	CurrentNumAgentVms int32 `xml:"currentNumAgentVms" json:"currentNumAgentVms"`
 48649  }
 48650  
 48651  func init() {
 48652  	t["InsufficientAgentVmsDeployed"] = reflect.TypeOf((*InsufficientAgentVmsDeployed)(nil)).Elem()
 48653  	minAPIVersionForType["InsufficientAgentVmsDeployed"] = "5.0"
 48654  }
 48655  
 48656  type InsufficientAgentVmsDeployedFault InsufficientAgentVmsDeployed
 48657  
 48658  func init() {
 48659  	t["InsufficientAgentVmsDeployedFault"] = reflect.TypeOf((*InsufficientAgentVmsDeployedFault)(nil)).Elem()
 48660  }
 48661  
 48662  // CPU resources admission control failed
 48663  type InsufficientCpuResourcesFault struct {
 48664  	InsufficientResourcesFault
 48665  
 48666  	// The CPU available in the resource pool requested in MHz.
 48667  	Unreserved int64 `xml:"unreserved" json:"unreserved"`
 48668  	// The CPU resource amount requested in the failed operation in MHz.
 48669  	Requested int64 `xml:"requested" json:"requested"`
 48670  }
 48671  
 48672  func init() {
 48673  	t["InsufficientCpuResourcesFault"] = reflect.TypeOf((*InsufficientCpuResourcesFault)(nil)).Elem()
 48674  }
 48675  
 48676  type InsufficientCpuResourcesFaultFault InsufficientCpuResourcesFault
 48677  
 48678  func init() {
 48679  	t["InsufficientCpuResourcesFaultFault"] = reflect.TypeOf((*InsufficientCpuResourcesFaultFault)(nil)).Elem()
 48680  }
 48681  
 48682  // Fault used to denote an insufficient group of disks for a given operation.
 48683  //
 48684  // See also `HostVsanSystem.AddDisks_Task`, `HostVsanSystem.InitializeDisks_Task`.
 48685  type InsufficientDisks struct {
 48686  	VsanDiskFault
 48687  }
 48688  
 48689  func init() {
 48690  	t["InsufficientDisks"] = reflect.TypeOf((*InsufficientDisks)(nil)).Elem()
 48691  	minAPIVersionForType["InsufficientDisks"] = "5.5"
 48692  }
 48693  
 48694  type InsufficientDisksFault InsufficientDisks
 48695  
 48696  func init() {
 48697  	t["InsufficientDisksFault"] = reflect.TypeOf((*InsufficientDisksFault)(nil)).Elem()
 48698  }
 48699  
 48700  // This event records that the cluster resources are insufficient
 48701  // to satisfy the configured HA failover level.
 48702  type InsufficientFailoverResourcesEvent struct {
 48703  	ClusterEvent
 48704  }
 48705  
 48706  func init() {
 48707  	t["InsufficientFailoverResourcesEvent"] = reflect.TypeOf((*InsufficientFailoverResourcesEvent)(nil)).Elem()
 48708  }
 48709  
 48710  // This is thrown if an operation would violate the configured failover level of a HA
 48711  // cluster.
 48712  //
 48713  // In a HA cluster, virtual machines provide high availability by moving among physical
 48714  // machines in the event of a failure. HA Admission Control ensures that the total
 48715  // resource requirements for the set of virtual machines in a HA cluster does not exceed
 48716  // the resources that would be available in the worst-case scenario failure. If HA
 48717  // Admission Control is not used, physical machines may have insufficient resources to
 48718  // provide the expected level of service.
 48719  //
 48720  // This fault indicates that the virtual machine operation you attempted would have
 48721  // created a situation where the remaining physical machines would not meet the needs of
 48722  // the virtual machines in the event of a failure.
 48723  type InsufficientFailoverResourcesFault struct {
 48724  	InsufficientResourcesFault
 48725  }
 48726  
 48727  func init() {
 48728  	t["InsufficientFailoverResourcesFault"] = reflect.TypeOf((*InsufficientFailoverResourcesFault)(nil)).Elem()
 48729  }
 48730  
 48731  type InsufficientFailoverResourcesFaultFault InsufficientFailoverResourcesFault
 48732  
 48733  func init() {
 48734  	t["InsufficientFailoverResourcesFaultFault"] = reflect.TypeOf((*InsufficientFailoverResourcesFaultFault)(nil)).Elem()
 48735  }
 48736  
 48737  // Graphics resources admission control failed
 48738  type InsufficientGraphicsResourcesFault struct {
 48739  	InsufficientResourcesFault
 48740  }
 48741  
 48742  func init() {
 48743  	t["InsufficientGraphicsResourcesFault"] = reflect.TypeOf((*InsufficientGraphicsResourcesFault)(nil)).Elem()
 48744  	minAPIVersionForType["InsufficientGraphicsResourcesFault"] = "6.0"
 48745  }
 48746  
 48747  type InsufficientGraphicsResourcesFaultFault InsufficientGraphicsResourcesFault
 48748  
 48749  func init() {
 48750  	t["InsufficientGraphicsResourcesFaultFault"] = reflect.TypeOf((*InsufficientGraphicsResourcesFaultFault)(nil)).Elem()
 48751  }
 48752  
 48753  // The host does not have enough capacity for running the virtual machine.
 48754  type InsufficientHostCapacityFault struct {
 48755  	InsufficientResourcesFault
 48756  
 48757  	// The host which does not have the enough capacity.
 48758  	//
 48759  	// Refers instance of `HostSystem`.
 48760  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty" vim:"2.5"`
 48761  }
 48762  
 48763  func init() {
 48764  	t["InsufficientHostCapacityFault"] = reflect.TypeOf((*InsufficientHostCapacityFault)(nil)).Elem()
 48765  }
 48766  
 48767  type InsufficientHostCapacityFaultFault BaseInsufficientHostCapacityFault
 48768  
 48769  func init() {
 48770  	t["InsufficientHostCapacityFaultFault"] = reflect.TypeOf((*InsufficientHostCapacityFaultFault)(nil)).Elem()
 48771  }
 48772  
 48773  // The host does not have enough CPU capacity for running the virtual machine.
 48774  type InsufficientHostCpuCapacityFault struct {
 48775  	InsufficientHostCapacityFault
 48776  
 48777  	// The CPU available on the host in MHz.
 48778  	Unreserved int64 `xml:"unreserved" json:"unreserved"`
 48779  	// The CPU resource amount requested in the failed operation in MHz.
 48780  	Requested int64 `xml:"requested" json:"requested"`
 48781  }
 48782  
 48783  func init() {
 48784  	t["InsufficientHostCpuCapacityFault"] = reflect.TypeOf((*InsufficientHostCpuCapacityFault)(nil)).Elem()
 48785  	minAPIVersionForType["InsufficientHostCpuCapacityFault"] = "4.0"
 48786  }
 48787  
 48788  type InsufficientHostCpuCapacityFaultFault InsufficientHostCpuCapacityFault
 48789  
 48790  func init() {
 48791  	t["InsufficientHostCpuCapacityFaultFault"] = reflect.TypeOf((*InsufficientHostCpuCapacityFaultFault)(nil)).Elem()
 48792  }
 48793  
 48794  // The host does not have enough memory capacity for running the virtual machine.
 48795  type InsufficientHostMemoryCapacityFault struct {
 48796  	InsufficientHostCapacityFault
 48797  
 48798  	// The memory available on the host in bytes.
 48799  	Unreserved int64 `xml:"unreserved" json:"unreserved"`
 48800  	// The memory resource amount requested in the failed operation in bytes.
 48801  	Requested int64 `xml:"requested" json:"requested"`
 48802  }
 48803  
 48804  func init() {
 48805  	t["InsufficientHostMemoryCapacityFault"] = reflect.TypeOf((*InsufficientHostMemoryCapacityFault)(nil)).Elem()
 48806  	minAPIVersionForType["InsufficientHostMemoryCapacityFault"] = "4.0"
 48807  }
 48808  
 48809  type InsufficientHostMemoryCapacityFaultFault InsufficientHostMemoryCapacityFault
 48810  
 48811  func init() {
 48812  	t["InsufficientHostMemoryCapacityFaultFault"] = reflect.TypeOf((*InsufficientHostMemoryCapacityFaultFault)(nil)).Elem()
 48813  }
 48814  
 48815  // Memory resource admission control failed
 48816  type InsufficientMemoryResourcesFault struct {
 48817  	InsufficientResourcesFault
 48818  
 48819  	// The memory available in the resource pool requested in bytes.
 48820  	Unreserved int64 `xml:"unreserved" json:"unreserved"`
 48821  	// The memory resource amount requested in the failed operation in bytes.
 48822  	Requested int64 `xml:"requested" json:"requested"`
 48823  }
 48824  
 48825  func init() {
 48826  	t["InsufficientMemoryResourcesFault"] = reflect.TypeOf((*InsufficientMemoryResourcesFault)(nil)).Elem()
 48827  }
 48828  
 48829  type InsufficientMemoryResourcesFaultFault InsufficientMemoryResourcesFault
 48830  
 48831  func init() {
 48832  	t["InsufficientMemoryResourcesFaultFault"] = reflect.TypeOf((*InsufficientMemoryResourcesFaultFault)(nil)).Elem()
 48833  }
 48834  
 48835  // The host does not have enough network capacity for running the virtual machine.
 48836  type InsufficientNetworkCapacity struct {
 48837  	InsufficientResourcesFault
 48838  }
 48839  
 48840  func init() {
 48841  	t["InsufficientNetworkCapacity"] = reflect.TypeOf((*InsufficientNetworkCapacity)(nil)).Elem()
 48842  	minAPIVersionForType["InsufficientNetworkCapacity"] = "6.0"
 48843  }
 48844  
 48845  type InsufficientNetworkCapacityFault InsufficientNetworkCapacity
 48846  
 48847  func init() {
 48848  	t["InsufficientNetworkCapacityFault"] = reflect.TypeOf((*InsufficientNetworkCapacityFault)(nil)).Elem()
 48849  }
 48850  
 48851  // Insufficient network resource pool bandwidth
 48852  type InsufficientNetworkResourcePoolCapacity struct {
 48853  	InsufficientResourcesFault
 48854  
 48855  	// Distributed Virtual Switch containing the resource pool
 48856  	// having unsufficient network bandwitdh.
 48857  	DvsName string `xml:"dvsName" json:"dvsName"`
 48858  	// UUID of the distributed Virtual Switch containing the resource pool
 48859  	// having unsufficient network bandwitdh.
 48860  	DvsUuid string `xml:"dvsUuid" json:"dvsUuid"`
 48861  	// Key of the resource pool on which network bandwidth is requested.
 48862  	ResourcePoolKey string `xml:"resourcePoolKey" json:"resourcePoolKey"`
 48863  	// Network bandwidth available (in MBs) in the requested resource pool.
 48864  	Available int64 `xml:"available" json:"available"`
 48865  	// Network bandwidth amount requested (in MBs).
 48866  	Requested int64 `xml:"requested" json:"requested"`
 48867  	// List of network devices that are requesting or already have requested
 48868  	// bandwidth on the network resource pool.
 48869  	Device []string `xml:"device" json:"device"`
 48870  }
 48871  
 48872  func init() {
 48873  	t["InsufficientNetworkResourcePoolCapacity"] = reflect.TypeOf((*InsufficientNetworkResourcePoolCapacity)(nil)).Elem()
 48874  	minAPIVersionForType["InsufficientNetworkResourcePoolCapacity"] = "6.0"
 48875  }
 48876  
 48877  type InsufficientNetworkResourcePoolCapacityFault InsufficientNetworkResourcePoolCapacity
 48878  
 48879  func init() {
 48880  	t["InsufficientNetworkResourcePoolCapacityFault"] = reflect.TypeOf((*InsufficientNetworkResourcePoolCapacityFault)(nil)).Elem()
 48881  }
 48882  
 48883  // The host does not have enough per CPU capacity.
 48884  type InsufficientPerCpuCapacity struct {
 48885  	InsufficientHostCapacityFault
 48886  }
 48887  
 48888  func init() {
 48889  	t["InsufficientPerCpuCapacity"] = reflect.TypeOf((*InsufficientPerCpuCapacity)(nil)).Elem()
 48890  	minAPIVersionForType["InsufficientPerCpuCapacity"] = "2.5"
 48891  }
 48892  
 48893  type InsufficientPerCpuCapacityFault InsufficientPerCpuCapacity
 48894  
 48895  func init() {
 48896  	t["InsufficientPerCpuCapacityFault"] = reflect.TypeOf((*InsufficientPerCpuCapacityFault)(nil)).Elem()
 48897  }
 48898  
 48899  // Base fault that occurs when an operation conflicts with a resource configuration
 48900  // policy.
 48901  //
 48902  // For example, this fault occurs if a power-on operation reserves more memory
 48903  // than is allocated to a resource pool.
 48904  type InsufficientResourcesFault struct {
 48905  	VimFault
 48906  }
 48907  
 48908  func init() {
 48909  	t["InsufficientResourcesFault"] = reflect.TypeOf((*InsufficientResourcesFault)(nil)).Elem()
 48910  }
 48911  
 48912  type InsufficientResourcesFaultFault BaseInsufficientResourcesFault
 48913  
 48914  func init() {
 48915  	t["InsufficientResourcesFaultFault"] = reflect.TypeOf((*InsufficientResourcesFaultFault)(nil)).Elem()
 48916  }
 48917  
 48918  // This fault is thrown when Distributed Power Management cannot perform
 48919  // a given opeartion because there is insufficient CPU resource
 48920  // on standby hosts (if any) to meet the requirements of the operation.
 48921  type InsufficientStandbyCpuResource struct {
 48922  	InsufficientStandbyResource
 48923  
 48924  	// The total amount of CPU resource available (in MHz) on all the usable hosts
 48925  	// in the cluster (including powered on and standby hosts).
 48926  	Available int64 `xml:"available" json:"available"`
 48927  	// The additional amount of CPU resource (other than that on the hosts included
 48928  	// in "available") needed (in MHz).
 48929  	Requested int64 `xml:"requested" json:"requested"`
 48930  }
 48931  
 48932  func init() {
 48933  	t["InsufficientStandbyCpuResource"] = reflect.TypeOf((*InsufficientStandbyCpuResource)(nil)).Elem()
 48934  	minAPIVersionForType["InsufficientStandbyCpuResource"] = "4.0"
 48935  }
 48936  
 48937  type InsufficientStandbyCpuResourceFault InsufficientStandbyCpuResource
 48938  
 48939  func init() {
 48940  	t["InsufficientStandbyCpuResourceFault"] = reflect.TypeOf((*InsufficientStandbyCpuResourceFault)(nil)).Elem()
 48941  }
 48942  
 48943  // This fault is thrown by Distributed Power Management algorithm.
 48944  //
 48945  // It indicates
 48946  // that there are insufficient memory resources on standby hosts (if any)
 48947  // to meet the requirements of a given operation.
 48948  type InsufficientStandbyMemoryResource struct {
 48949  	InsufficientStandbyResource
 48950  
 48951  	// The total amount of memory resource available (in bytes) on all the usable hosts
 48952  	// in the cluster (including powered on and standby hosts).
 48953  	Available int64 `xml:"available" json:"available"`
 48954  	// The additional amount of memory resource (other than that on the hosts included
 48955  	// in "available") needed (in bytes).
 48956  	Requested int64 `xml:"requested" json:"requested"`
 48957  }
 48958  
 48959  func init() {
 48960  	t["InsufficientStandbyMemoryResource"] = reflect.TypeOf((*InsufficientStandbyMemoryResource)(nil)).Elem()
 48961  	minAPIVersionForType["InsufficientStandbyMemoryResource"] = "4.0"
 48962  }
 48963  
 48964  type InsufficientStandbyMemoryResourceFault InsufficientStandbyMemoryResource
 48965  
 48966  func init() {
 48967  	t["InsufficientStandbyMemoryResourceFault"] = reflect.TypeOf((*InsufficientStandbyMemoryResourceFault)(nil)).Elem()
 48968  }
 48969  
 48970  // This fault is thrown when Distributed Power Management cannot perform
 48971  // a given opeartion because there are insufficient CPU/memory resources
 48972  // on standby hosts (if any) to meet the requirements of the operation.
 48973  type InsufficientStandbyResource struct {
 48974  	InsufficientResourcesFault
 48975  }
 48976  
 48977  func init() {
 48978  	t["InsufficientStandbyResource"] = reflect.TypeOf((*InsufficientStandbyResource)(nil)).Elem()
 48979  	minAPIVersionForType["InsufficientStandbyResource"] = "4.0"
 48980  }
 48981  
 48982  type InsufficientStandbyResourceFault BaseInsufficientStandbyResource
 48983  
 48984  func init() {
 48985  	t["InsufficientStandbyResourceFault"] = reflect.TypeOf((*InsufficientStandbyResourceFault)(nil)).Elem()
 48986  }
 48987  
 48988  // The datastore does not have enough IOPs capacity for running the virtual machine.
 48989  type InsufficientStorageIops struct {
 48990  	VimFault
 48991  
 48992  	// The IOPs available on the datastore
 48993  	UnreservedIops int64 `xml:"unreservedIops" json:"unreservedIops"`
 48994  	// The IOPs resource amount requested in the failed operation
 48995  	RequestedIops int64 `xml:"requestedIops" json:"requestedIops"`
 48996  	// Name of the datastore with insufficient capacity
 48997  	DatastoreName string `xml:"datastoreName" json:"datastoreName"`
 48998  }
 48999  
 49000  func init() {
 49001  	t["InsufficientStorageIops"] = reflect.TypeOf((*InsufficientStorageIops)(nil)).Elem()
 49002  	minAPIVersionForType["InsufficientStorageIops"] = "6.0"
 49003  }
 49004  
 49005  type InsufficientStorageIopsFault InsufficientStorageIops
 49006  
 49007  func init() {
 49008  	t["InsufficientStorageIopsFault"] = reflect.TypeOf((*InsufficientStorageIopsFault)(nil)).Elem()
 49009  }
 49010  
 49011  // The fault occurs when Storage DRS cannot perform a given operation (e.g., fix the
 49012  // out of space condition, or place a virtual disk) because there is insufficient
 49013  // storage space in the given storage pod to meet the requirements of the operation.
 49014  type InsufficientStorageSpace struct {
 49015  	InsufficientResourcesFault
 49016  }
 49017  
 49018  func init() {
 49019  	t["InsufficientStorageSpace"] = reflect.TypeOf((*InsufficientStorageSpace)(nil)).Elem()
 49020  	minAPIVersionForType["InsufficientStorageSpace"] = "5.0"
 49021  }
 49022  
 49023  type InsufficientStorageSpaceFault InsufficientStorageSpace
 49024  
 49025  func init() {
 49026  	t["InsufficientStorageSpaceFault"] = reflect.TypeOf((*InsufficientStorageSpaceFault)(nil)).Elem()
 49027  }
 49028  
 49029  // Insufficient vFlash resource to consume
 49030  type InsufficientVFlashResourcesFault struct {
 49031  	InsufficientResourcesFault
 49032  
 49033  	// The vFlash resource available capacity in MB.
 49034  	FreeSpaceInMB int64 `xml:"freeSpaceInMB,omitempty" json:"freeSpaceInMB,omitempty" vim:"6.0"`
 49035  	// The vFlash resource available capacity in bytes.
 49036  	FreeSpace int64 `xml:"freeSpace" json:"freeSpace"`
 49037  	// The vFlash resource amount requested in MB.
 49038  	RequestedSpaceInMB int64 `xml:"requestedSpaceInMB,omitempty" json:"requestedSpaceInMB,omitempty" vim:"6.0"`
 49039  	// The vFlash resource amount requested in bytes.
 49040  	RequestedSpace int64 `xml:"requestedSpace" json:"requestedSpace"`
 49041  }
 49042  
 49043  func init() {
 49044  	t["InsufficientVFlashResourcesFault"] = reflect.TypeOf((*InsufficientVFlashResourcesFault)(nil)).Elem()
 49045  	minAPIVersionForType["InsufficientVFlashResourcesFault"] = "5.5"
 49046  }
 49047  
 49048  type InsufficientVFlashResourcesFaultFault InsufficientVFlashResourcesFault
 49049  
 49050  func init() {
 49051  	t["InsufficientVFlashResourcesFaultFault"] = reflect.TypeOf((*InsufficientVFlashResourcesFaultFault)(nil)).Elem()
 49052  }
 49053  
 49054  // The integer type of setting or configuration that may get a
 49055  // negated value.
 49056  type IntExpression struct {
 49057  	NegatableExpression
 49058  
 49059  	// The integer value that is either negated or used as it is
 49060  	Value int32 `xml:"value,omitempty" json:"value,omitempty"`
 49061  }
 49062  
 49063  func init() {
 49064  	t["IntExpression"] = reflect.TypeOf((*IntExpression)(nil)).Elem()
 49065  	minAPIVersionForType["IntExpression"] = "5.5"
 49066  }
 49067  
 49068  // The IntOption data object type is used to define the minimum, maximum,
 49069  // and default values for an integer option.
 49070  type IntOption struct {
 49071  	OptionType
 49072  
 49073  	// The minimum value.
 49074  	Min int32 `xml:"min" json:"min"`
 49075  	// The maximum value.
 49076  	Max int32 `xml:"max" json:"max"`
 49077  	// The default value.
 49078  	DefaultValue int32 `xml:"defaultValue" json:"defaultValue"`
 49079  }
 49080  
 49081  func init() {
 49082  	t["IntOption"] = reflect.TypeOf((*IntOption)(nil)).Elem()
 49083  }
 49084  
 49085  // The integer type of setting or configuration that may get an
 49086  // inherited value.
 49087  type IntPolicy struct {
 49088  	InheritablePolicy
 49089  
 49090  	// The integer value that is either set or inherited.
 49091  	Value int32 `xml:"value,omitempty" json:"value,omitempty"`
 49092  }
 49093  
 49094  func init() {
 49095  	t["IntPolicy"] = reflect.TypeOf((*IntPolicy)(nil)).Elem()
 49096  	minAPIVersionForType["IntPolicy"] = "4.0"
 49097  }
 49098  
 49099  // An InvalidAffinitySettingsFault is thrown if an invalid affinity setting is
 49100  // specified for a virtual machine.
 49101  type InvalidAffinitySettingFault struct {
 49102  	VimFault
 49103  }
 49104  
 49105  func init() {
 49106  	t["InvalidAffinitySettingFault"] = reflect.TypeOf((*InvalidAffinitySettingFault)(nil)).Elem()
 49107  	minAPIVersionForType["InvalidAffinitySettingFault"] = "2.5"
 49108  }
 49109  
 49110  type InvalidAffinitySettingFaultFault InvalidAffinitySettingFault
 49111  
 49112  func init() {
 49113  	t["InvalidAffinitySettingFaultFault"] = reflect.TypeOf((*InvalidAffinitySettingFaultFault)(nil)).Elem()
 49114  }
 49115  
 49116  // An InvalidArgument exception is thrown if the
 49117  // set of arguments passed to the function is not
 49118  // specified correctly.
 49119  type InvalidArgument struct {
 49120  	RuntimeFault
 49121  
 49122  	// Optional name of the invalid property.
 49123  	InvalidProperty string `xml:"invalidProperty,omitempty" json:"invalidProperty,omitempty"`
 49124  }
 49125  
 49126  func init() {
 49127  	t["InvalidArgument"] = reflect.TypeOf((*InvalidArgument)(nil)).Elem()
 49128  }
 49129  
 49130  type InvalidArgumentFault BaseInvalidArgument
 49131  
 49132  func init() {
 49133  	t["InvalidArgumentFault"] = reflect.TypeOf((*InvalidArgumentFault)(nil)).Elem()
 49134  }
 49135  
 49136  // An InvalidBmcRole fault is thrown when a BMC user doesn't have the necessary
 49137  // privileges.
 49138  //
 49139  // BMC (Board Management Controller) is a piece of hardware required for
 49140  // IPMI.
 49141  type InvalidBmcRole struct {
 49142  	VimFault
 49143  }
 49144  
 49145  func init() {
 49146  	t["InvalidBmcRole"] = reflect.TypeOf((*InvalidBmcRole)(nil)).Elem()
 49147  	minAPIVersionForType["InvalidBmcRole"] = "4.0"
 49148  }
 49149  
 49150  type InvalidBmcRoleFault InvalidBmcRole
 49151  
 49152  func init() {
 49153  	t["InvalidBmcRoleFault"] = reflect.TypeOf((*InvalidBmcRoleFault)(nil)).Elem()
 49154  }
 49155  
 49156  // An Invalid Bundle fault is thrown if an operation fails because of a
 49157  // problem with the supplied bundle.
 49158  type InvalidBundle struct {
 49159  	PlatformConfigFault
 49160  }
 49161  
 49162  func init() {
 49163  	t["InvalidBundle"] = reflect.TypeOf((*InvalidBundle)(nil)).Elem()
 49164  	minAPIVersionForType["InvalidBundle"] = "2.5"
 49165  }
 49166  
 49167  type InvalidBundleFault InvalidBundle
 49168  
 49169  func init() {
 49170  	t["InvalidBundleFault"] = reflect.TypeOf((*InvalidBundleFault)(nil)).Elem()
 49171  }
 49172  
 49173  // Fault indicating that the CAM server's certificate
 49174  // cannot be verified.
 49175  type InvalidCAMCertificate struct {
 49176  	InvalidCAMServer
 49177  }
 49178  
 49179  func init() {
 49180  	t["InvalidCAMCertificate"] = reflect.TypeOf((*InvalidCAMCertificate)(nil)).Elem()
 49181  	minAPIVersionForType["InvalidCAMCertificate"] = "5.0"
 49182  }
 49183  
 49184  type InvalidCAMCertificateFault InvalidCAMCertificate
 49185  
 49186  func init() {
 49187  	t["InvalidCAMCertificateFault"] = reflect.TypeOf((*InvalidCAMCertificateFault)(nil)).Elem()
 49188  }
 49189  
 49190  // Fault indicating that the CAM server
 49191  // for camServer cannot be reached,
 49192  // or is not a valid IP address.
 49193  type InvalidCAMServer struct {
 49194  	ActiveDirectoryFault
 49195  
 49196  	// The address of the CAM server.
 49197  	CamServer string `xml:"camServer" json:"camServer"`
 49198  }
 49199  
 49200  func init() {
 49201  	t["InvalidCAMServer"] = reflect.TypeOf((*InvalidCAMServer)(nil)).Elem()
 49202  	minAPIVersionForType["InvalidCAMServer"] = "5.0"
 49203  }
 49204  
 49205  type InvalidCAMServerFault BaseInvalidCAMServer
 49206  
 49207  func init() {
 49208  	t["InvalidCAMServerFault"] = reflect.TypeOf((*InvalidCAMServerFault)(nil)).Elem()
 49209  }
 49210  
 49211  // This exception is thrown when a client has provided a
 49212  // certificate that fails certificate validation at the server.
 49213  type InvalidClientCertificate struct {
 49214  	InvalidLogin
 49215  }
 49216  
 49217  func init() {
 49218  	t["InvalidClientCertificate"] = reflect.TypeOf((*InvalidClientCertificate)(nil)).Elem()
 49219  	minAPIVersionForType["InvalidClientCertificate"] = "2.5u2"
 49220  }
 49221  
 49222  type InvalidClientCertificateFault InvalidClientCertificate
 49223  
 49224  func init() {
 49225  	t["InvalidClientCertificateFault"] = reflect.TypeOf((*InvalidClientCertificateFault)(nil)).Elem()
 49226  }
 49227  
 49228  // InvalidCollectorVersion is thrown when a collector version is out
 49229  // of date or invalid.
 49230  type InvalidCollectorVersion struct {
 49231  	MethodFault
 49232  }
 49233  
 49234  func init() {
 49235  	t["InvalidCollectorVersion"] = reflect.TypeOf((*InvalidCollectorVersion)(nil)).Elem()
 49236  }
 49237  
 49238  type InvalidCollectorVersionFault InvalidCollectorVersion
 49239  
 49240  func init() {
 49241  	t["InvalidCollectorVersionFault"] = reflect.TypeOf((*InvalidCollectorVersionFault)(nil)).Elem()
 49242  }
 49243  
 49244  // An InvalidController exception is thrown if
 49245  // a device refers to a controller that cannot be found.
 49246  //
 49247  // For example, an exception might be thrown if the client
 49248  // incorrectly passes a controller key,
 49249  // or if the client did not specify a controller where one is
 49250  // required (such as for disks or CD-ROMs).
 49251  type InvalidController struct {
 49252  	InvalidDeviceSpec
 49253  
 49254  	ControllerKey int32 `xml:"controllerKey" json:"controllerKey"`
 49255  }
 49256  
 49257  func init() {
 49258  	t["InvalidController"] = reflect.TypeOf((*InvalidController)(nil)).Elem()
 49259  }
 49260  
 49261  type InvalidControllerFault InvalidController
 49262  
 49263  func init() {
 49264  	t["InvalidControllerFault"] = reflect.TypeOf((*InvalidControllerFault)(nil)).Elem()
 49265  }
 49266  
 49267  // This fault is thrown when an attempt is made to configure an HA cluster with
 49268  // invalid argument.
 49269  type InvalidDasConfigArgument struct {
 49270  	InvalidArgument
 49271  
 49272  	// The entry for the invalid argument
 49273  	Entry string `xml:"entry,omitempty" json:"entry,omitempty"`
 49274  	// Name of the cluster to be configured
 49275  	ClusterName string `xml:"clusterName,omitempty" json:"clusterName,omitempty"`
 49276  }
 49277  
 49278  func init() {
 49279  	t["InvalidDasConfigArgument"] = reflect.TypeOf((*InvalidDasConfigArgument)(nil)).Elem()
 49280  	minAPIVersionForType["InvalidDasConfigArgument"] = "5.1"
 49281  }
 49282  
 49283  type InvalidDasConfigArgumentFault InvalidDasConfigArgument
 49284  
 49285  func init() {
 49286  	t["InvalidDasConfigArgumentFault"] = reflect.TypeOf((*InvalidDasConfigArgumentFault)(nil)).Elem()
 49287  }
 49288  
 49289  // This fault is thrown when an attempt is made to set the DAS restart
 49290  // priority of a FT VM to disabled.
 49291  type InvalidDasRestartPriorityForFtVm struct {
 49292  	InvalidArgument
 49293  
 49294  	// The virtual machine
 49295  	//
 49296  	// Refers instance of `VirtualMachine`.
 49297  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 49298  	// The name of the virtual machine
 49299  	VmName string `xml:"vmName" json:"vmName"`
 49300  }
 49301  
 49302  func init() {
 49303  	t["InvalidDasRestartPriorityForFtVm"] = reflect.TypeOf((*InvalidDasRestartPriorityForFtVm)(nil)).Elem()
 49304  	minAPIVersionForType["InvalidDasRestartPriorityForFtVm"] = "4.1"
 49305  }
 49306  
 49307  type InvalidDasRestartPriorityForFtVmFault InvalidDasRestartPriorityForFtVm
 49308  
 49309  func init() {
 49310  	t["InvalidDasRestartPriorityForFtVmFault"] = reflect.TypeOf((*InvalidDasRestartPriorityForFtVmFault)(nil)).Elem()
 49311  }
 49312  
 49313  // An InvalidDatastore exception is thrown if an operation fails because of a
 49314  // problem with the specified datastore.
 49315  //
 49316  // Typically, a subclass of this
 49317  // exception is thrown, indicating a problem such as an inaccessible datastore
 49318  // or an invalid datastore path.
 49319  type InvalidDatastore struct {
 49320  	VimFault
 49321  
 49322  	// The datastore that is invalid.
 49323  	//
 49324  	// Refers instance of `Datastore`.
 49325  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 49326  	// The name of the datastore that is invalid.
 49327  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 49328  }
 49329  
 49330  func init() {
 49331  	t["InvalidDatastore"] = reflect.TypeOf((*InvalidDatastore)(nil)).Elem()
 49332  }
 49333  
 49334  type InvalidDatastoreFault BaseInvalidDatastore
 49335  
 49336  func init() {
 49337  	t["InvalidDatastoreFault"] = reflect.TypeOf((*InvalidDatastoreFault)(nil)).Elem()
 49338  }
 49339  
 49340  // An InvalidDatastorePath exception is thrown if a datastore path violates
 49341  // the expected format.
 49342  //
 49343  // The expected format is "\[dsName\] path", e.g.
 49344  // "\[storage1\] folder/Vm1.vmdk". This exception is also thrown if a datastore
 49345  // corresponding to the given datastore path is not found.
 49346  type InvalidDatastorePath struct {
 49347  	InvalidDatastore
 49348  
 49349  	// The invalid datastore path name, if one was provided.
 49350  	DatastorePath string `xml:"datastorePath" json:"datastorePath"`
 49351  }
 49352  
 49353  func init() {
 49354  	t["InvalidDatastorePath"] = reflect.TypeOf((*InvalidDatastorePath)(nil)).Elem()
 49355  }
 49356  
 49357  type InvalidDatastorePathFault InvalidDatastorePath
 49358  
 49359  func init() {
 49360  	t["InvalidDatastorePathFault"] = reflect.TypeOf((*InvalidDatastorePathFault)(nil)).Elem()
 49361  }
 49362  
 49363  // The datastore is in an invalid state (e.g., maintenance mode)
 49364  // for a given operation.
 49365  type InvalidDatastoreState struct {
 49366  	InvalidState
 49367  
 49368  	// The name of the datastore.
 49369  	DatastoreName string `xml:"datastoreName,omitempty" json:"datastoreName,omitempty"`
 49370  }
 49371  
 49372  func init() {
 49373  	t["InvalidDatastoreState"] = reflect.TypeOf((*InvalidDatastoreState)(nil)).Elem()
 49374  	minAPIVersionForType["InvalidDatastoreState"] = "5.0"
 49375  }
 49376  
 49377  type InvalidDatastoreStateFault InvalidDatastoreState
 49378  
 49379  func init() {
 49380  	t["InvalidDatastoreStateFault"] = reflect.TypeOf((*InvalidDatastoreStateFault)(nil)).Elem()
 49381  }
 49382  
 49383  // An InvalidDeviceBacking exception is thrown if
 49384  // a device with an incompatible
 49385  // device backing is added or edited.
 49386  type InvalidDeviceBacking struct {
 49387  	InvalidDeviceSpec
 49388  }
 49389  
 49390  func init() {
 49391  	t["InvalidDeviceBacking"] = reflect.TypeOf((*InvalidDeviceBacking)(nil)).Elem()
 49392  }
 49393  
 49394  type InvalidDeviceBackingFault InvalidDeviceBacking
 49395  
 49396  func init() {
 49397  	t["InvalidDeviceBackingFault"] = reflect.TypeOf((*InvalidDeviceBackingFault)(nil)).Elem()
 49398  }
 49399  
 49400  // An InvalidDeviceOperation exception is thrown if
 49401  // virtual machine creation or configuration fails because an invalid
 49402  // operation is attempted on the given device.
 49403  type InvalidDeviceOperation struct {
 49404  	InvalidDeviceSpec
 49405  
 49406  	// The invalid operation attempted.
 49407  	BadOp VirtualDeviceConfigSpecOperation `xml:"badOp,omitempty" json:"badOp,omitempty"`
 49408  	// The invalid file operation attempted.
 49409  	BadFileOp VirtualDeviceConfigSpecFileOperation `xml:"badFileOp,omitempty" json:"badFileOp,omitempty"`
 49410  }
 49411  
 49412  func init() {
 49413  	t["InvalidDeviceOperation"] = reflect.TypeOf((*InvalidDeviceOperation)(nil)).Elem()
 49414  }
 49415  
 49416  type InvalidDeviceOperationFault InvalidDeviceOperation
 49417  
 49418  func init() {
 49419  	t["InvalidDeviceOperationFault"] = reflect.TypeOf((*InvalidDeviceOperationFault)(nil)).Elem()
 49420  }
 49421  
 49422  // An InvalidDeviceSpec exception is thrown if
 49423  // a virtual machine creation or configuration fails because a device
 49424  // specification contains an invalid value.
 49425  type InvalidDeviceSpec struct {
 49426  	InvalidVmConfig
 49427  
 49428  	// Index of the device in the configuration specification that has the invalid value.
 49429  	DeviceIndex int32 `xml:"deviceIndex" json:"deviceIndex"`
 49430  }
 49431  
 49432  func init() {
 49433  	t["InvalidDeviceSpec"] = reflect.TypeOf((*InvalidDeviceSpec)(nil)).Elem()
 49434  }
 49435  
 49436  type InvalidDeviceSpecFault BaseInvalidDeviceSpec
 49437  
 49438  func init() {
 49439  	t["InvalidDeviceSpecFault"] = reflect.TypeOf((*InvalidDeviceSpecFault)(nil)).Elem()
 49440  }
 49441  
 49442  // The disk format is either corrupted or not supported.
 49443  type InvalidDiskFormat struct {
 49444  	InvalidFormat
 49445  }
 49446  
 49447  func init() {
 49448  	t["InvalidDiskFormat"] = reflect.TypeOf((*InvalidDiskFormat)(nil)).Elem()
 49449  }
 49450  
 49451  type InvalidDiskFormatFault InvalidDiskFormat
 49452  
 49453  func init() {
 49454  	t["InvalidDiskFormatFault"] = reflect.TypeOf((*InvalidDiskFormatFault)(nil)).Elem()
 49455  }
 49456  
 49457  // This fault is thrown when an attempt is made to set the DRS behavior
 49458  // of an FT VM to an unsupported value.
 49459  //
 49460  // Currently, the only supported
 49461  // behavior is **DRS Disabled**.
 49462  type InvalidDrsBehaviorForFtVm struct {
 49463  	InvalidArgument
 49464  
 49465  	// The virtual machine
 49466  	//
 49467  	// Refers instance of `VirtualMachine`.
 49468  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 49469  	// The name of the virtual machine
 49470  	VmName string `xml:"vmName" json:"vmName"`
 49471  }
 49472  
 49473  func init() {
 49474  	t["InvalidDrsBehaviorForFtVm"] = reflect.TypeOf((*InvalidDrsBehaviorForFtVm)(nil)).Elem()
 49475  	minAPIVersionForType["InvalidDrsBehaviorForFtVm"] = "4.0"
 49476  }
 49477  
 49478  type InvalidDrsBehaviorForFtVmFault InvalidDrsBehaviorForFtVm
 49479  
 49480  func init() {
 49481  	t["InvalidDrsBehaviorForFtVmFault"] = reflect.TypeOf((*InvalidDrsBehaviorForFtVmFault)(nil)).Elem()
 49482  }
 49483  
 49484  // This event records if the edition is set to an invalid value.
 49485  type InvalidEditionEvent struct {
 49486  	LicenseEvent
 49487  
 49488  	Feature string `xml:"feature" json:"feature"`
 49489  }
 49490  
 49491  func init() {
 49492  	t["InvalidEditionEvent"] = reflect.TypeOf((*InvalidEditionEvent)(nil)).Elem()
 49493  	minAPIVersionForType["InvalidEditionEvent"] = "2.5"
 49494  }
 49495  
 49496  // An ExpiredEditionLicense fault is thrown if an attempt to acquire an Edition license
 49497  // 'feature failed for count 'count'.
 49498  type InvalidEditionLicense struct {
 49499  	NotEnoughLicenses
 49500  
 49501  	Feature string `xml:"feature" json:"feature"`
 49502  }
 49503  
 49504  func init() {
 49505  	t["InvalidEditionLicense"] = reflect.TypeOf((*InvalidEditionLicense)(nil)).Elem()
 49506  	minAPIVersionForType["InvalidEditionLicense"] = "2.5"
 49507  }
 49508  
 49509  type InvalidEditionLicenseFault InvalidEditionLicense
 49510  
 49511  func init() {
 49512  	t["InvalidEditionLicenseFault"] = reflect.TypeOf((*InvalidEditionLicenseFault)(nil)).Elem()
 49513  }
 49514  
 49515  // A InvalidEvent fault is thrown when the event
 49516  // is malformed.
 49517  type InvalidEvent struct {
 49518  	VimFault
 49519  }
 49520  
 49521  func init() {
 49522  	t["InvalidEvent"] = reflect.TypeOf((*InvalidEvent)(nil)).Elem()
 49523  	minAPIVersionForType["InvalidEvent"] = "2.5"
 49524  }
 49525  
 49526  type InvalidEventFault InvalidEvent
 49527  
 49528  func init() {
 49529  	t["InvalidEventFault"] = reflect.TypeOf((*InvalidEventFault)(nil)).Elem()
 49530  }
 49531  
 49532  // An InvalidFolderFault exception is thrown when a
 49533  // node is moved to an invalid place in the hierarchy.
 49534  //
 49535  // This can be because it is a child of the current node,
 49536  // or a wrong kind of container.
 49537  type InvalidFolder struct {
 49538  	VimFault
 49539  
 49540  	// Reference to invalid target.
 49541  	//
 49542  	// Refers instance of `ManagedEntity`.
 49543  	Target ManagedObjectReference `xml:"target" json:"target"`
 49544  }
 49545  
 49546  func init() {
 49547  	t["InvalidFolder"] = reflect.TypeOf((*InvalidFolder)(nil)).Elem()
 49548  }
 49549  
 49550  type InvalidFolderFault BaseInvalidFolder
 49551  
 49552  func init() {
 49553  	t["InvalidFolderFault"] = reflect.TypeOf((*InvalidFolderFault)(nil)).Elem()
 49554  }
 49555  
 49556  // Throws when an invalid format is detected.
 49557  //
 49558  // For example, when
 49559  // a virtual machine is registered and the system is unable to parse
 49560  // the files as a virtual machine.
 49561  type InvalidFormat struct {
 49562  	VmConfigFault
 49563  }
 49564  
 49565  func init() {
 49566  	t["InvalidFormat"] = reflect.TypeOf((*InvalidFormat)(nil)).Elem()
 49567  }
 49568  
 49569  type InvalidFormatFault BaseInvalidFormat
 49570  
 49571  func init() {
 49572  	t["InvalidFormatFault"] = reflect.TypeOf((*InvalidFormatFault)(nil)).Elem()
 49573  }
 49574  
 49575  // An InvalidGuestLogin exception is thrown when an operation fails because
 49576  // authentication information used to authenticate with the guest was not
 49577  // accepted.
 49578  type InvalidGuestLogin struct {
 49579  	GuestOperationsFault
 49580  }
 49581  
 49582  func init() {
 49583  	t["InvalidGuestLogin"] = reflect.TypeOf((*InvalidGuestLogin)(nil)).Elem()
 49584  	minAPIVersionForType["InvalidGuestLogin"] = "5.0"
 49585  }
 49586  
 49587  type InvalidGuestLoginFault InvalidGuestLogin
 49588  
 49589  func init() {
 49590  	t["InvalidGuestLoginFault"] = reflect.TypeOf((*InvalidGuestLoginFault)(nil)).Elem()
 49591  }
 49592  
 49593  // The host has an invalid connection state.
 49594  type InvalidHostConnectionState struct {
 49595  	InvalidHostState
 49596  }
 49597  
 49598  func init() {
 49599  	t["InvalidHostConnectionState"] = reflect.TypeOf((*InvalidHostConnectionState)(nil)).Elem()
 49600  	minAPIVersionForType["InvalidHostConnectionState"] = "5.1"
 49601  }
 49602  
 49603  type InvalidHostConnectionStateFault InvalidHostConnectionState
 49604  
 49605  func init() {
 49606  	t["InvalidHostConnectionStateFault"] = reflect.TypeOf((*InvalidHostConnectionStateFault)(nil)).Elem()
 49607  }
 49608  
 49609  // The attempted operation requires that the host has a suitable FQDN.
 49610  type InvalidHostName struct {
 49611  	HostConfigFault
 49612  }
 49613  
 49614  func init() {
 49615  	t["InvalidHostName"] = reflect.TypeOf((*InvalidHostName)(nil)).Elem()
 49616  	minAPIVersionForType["InvalidHostName"] = "4.1"
 49617  }
 49618  
 49619  type InvalidHostNameFault InvalidHostName
 49620  
 49621  func init() {
 49622  	t["InvalidHostNameFault"] = reflect.TypeOf((*InvalidHostNameFault)(nil)).Elem()
 49623  }
 49624  
 49625  // The host has an invalid state.
 49626  type InvalidHostState struct {
 49627  	InvalidState
 49628  
 49629  	// The host that has an invalid state.
 49630  	//
 49631  	// Refers instance of `HostSystem`.
 49632  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 49633  }
 49634  
 49635  func init() {
 49636  	t["InvalidHostState"] = reflect.TypeOf((*InvalidHostState)(nil)).Elem()
 49637  	minAPIVersionForType["InvalidHostState"] = "2.5"
 49638  }
 49639  
 49640  type InvalidHostStateFault BaseInvalidHostState
 49641  
 49642  func init() {
 49643  	t["InvalidHostStateFault"] = reflect.TypeOf((*InvalidHostStateFault)(nil)).Elem()
 49644  }
 49645  
 49646  // An InvalidIndexArgument exception is thrown if the
 49647  // index was not found
 49648  type InvalidIndexArgument struct {
 49649  	InvalidArgument
 49650  
 49651  	// Value of index that was not found
 49652  	Key string `xml:"key" json:"key"`
 49653  }
 49654  
 49655  func init() {
 49656  	t["InvalidIndexArgument"] = reflect.TypeOf((*InvalidIndexArgument)(nil)).Elem()
 49657  	minAPIVersionForType["InvalidIndexArgument"] = "4.0"
 49658  }
 49659  
 49660  type InvalidIndexArgumentFault InvalidIndexArgument
 49661  
 49662  func init() {
 49663  	t["InvalidIndexArgumentFault"] = reflect.TypeOf((*InvalidIndexArgumentFault)(nil)).Elem()
 49664  }
 49665  
 49666  // Illegal value specified for a property of the switch's IpfixConfig.
 49667  type InvalidIpfixConfig struct {
 49668  	DvsFault
 49669  
 49670  	// Path of the property in IpfixConfig that has an invalid value.
 49671  	Property string `xml:"property,omitempty" json:"property,omitempty"`
 49672  }
 49673  
 49674  func init() {
 49675  	t["InvalidIpfixConfig"] = reflect.TypeOf((*InvalidIpfixConfig)(nil)).Elem()
 49676  	minAPIVersionForType["InvalidIpfixConfig"] = "5.1"
 49677  }
 49678  
 49679  type InvalidIpfixConfigFault InvalidIpfixConfig
 49680  
 49681  func init() {
 49682  	t["InvalidIpfixConfigFault"] = reflect.TypeOf((*InvalidIpfixConfigFault)(nil)).Elem()
 49683  }
 49684  
 49685  // A InvalidIpmiLoginInfo fault is thrown when the IPMI user name and/or password is
 49686  // invalid.
 49687  type InvalidIpmiLoginInfo struct {
 49688  	VimFault
 49689  }
 49690  
 49691  func init() {
 49692  	t["InvalidIpmiLoginInfo"] = reflect.TypeOf((*InvalidIpmiLoginInfo)(nil)).Elem()
 49693  	minAPIVersionForType["InvalidIpmiLoginInfo"] = "4.0"
 49694  }
 49695  
 49696  type InvalidIpmiLoginInfoFault InvalidIpmiLoginInfo
 49697  
 49698  func init() {
 49699  	t["InvalidIpmiLoginInfoFault"] = reflect.TypeOf((*InvalidIpmiLoginInfoFault)(nil)).Elem()
 49700  }
 49701  
 49702  // A InvalidIpmiMacAddress fault is thrown when the IPMI mac address provided by the
 49703  // user doesn't match with the observed mac address on the host.
 49704  type InvalidIpmiMacAddress struct {
 49705  	VimFault
 49706  
 49707  	UserProvidedMacAddress string `xml:"userProvidedMacAddress" json:"userProvidedMacAddress"`
 49708  	ObservedMacAddress     string `xml:"observedMacAddress" json:"observedMacAddress"`
 49709  }
 49710  
 49711  func init() {
 49712  	t["InvalidIpmiMacAddress"] = reflect.TypeOf((*InvalidIpmiMacAddress)(nil)).Elem()
 49713  	minAPIVersionForType["InvalidIpmiMacAddress"] = "4.0"
 49714  }
 49715  
 49716  type InvalidIpmiMacAddressFault InvalidIpmiMacAddress
 49717  
 49718  func init() {
 49719  	t["InvalidIpmiMacAddressFault"] = reflect.TypeOf((*InvalidIpmiMacAddressFault)(nil)).Elem()
 49720  }
 49721  
 49722  // Thrown when
 49723  // an attempt is made to upload license content
 49724  // that is invalid.
 49725  type InvalidLicense struct {
 49726  	VimFault
 49727  
 49728  	// The content of the license being reported as invalid.
 49729  	LicenseContent string `xml:"licenseContent" json:"licenseContent"`
 49730  }
 49731  
 49732  func init() {
 49733  	t["InvalidLicense"] = reflect.TypeOf((*InvalidLicense)(nil)).Elem()
 49734  }
 49735  
 49736  type InvalidLicenseFault InvalidLicense
 49737  
 49738  func init() {
 49739  	t["InvalidLicenseFault"] = reflect.TypeOf((*InvalidLicenseFault)(nil)).Elem()
 49740  }
 49741  
 49742  // Thrown when a locale name is unknown or invalid.
 49743  type InvalidLocale struct {
 49744  	VimFault
 49745  }
 49746  
 49747  func init() {
 49748  	t["InvalidLocale"] = reflect.TypeOf((*InvalidLocale)(nil)).Elem()
 49749  }
 49750  
 49751  type InvalidLocaleFault InvalidLocale
 49752  
 49753  func init() {
 49754  	t["InvalidLocaleFault"] = reflect.TypeOf((*InvalidLocaleFault)(nil)).Elem()
 49755  }
 49756  
 49757  // Thrown when a server logon fails due to a bad user name or
 49758  // password.
 49759  type InvalidLogin struct {
 49760  	VimFault
 49761  }
 49762  
 49763  func init() {
 49764  	t["InvalidLogin"] = reflect.TypeOf((*InvalidLogin)(nil)).Elem()
 49765  }
 49766  
 49767  type InvalidLoginFault BaseInvalidLogin
 49768  
 49769  func init() {
 49770  	t["InvalidLoginFault"] = reflect.TypeOf((*InvalidLoginFault)(nil)).Elem()
 49771  }
 49772  
 49773  // A InvalidName fault is thrown when the name
 49774  // contains an invalid character or format.
 49775  type InvalidName struct {
 49776  	VimFault
 49777  
 49778  	// The invalid name.
 49779  	Name string `xml:"name" json:"name"`
 49780  	// Entity, if any, that has an invalid name.
 49781  	//
 49782  	// Refers instance of `ManagedEntity`.
 49783  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 49784  }
 49785  
 49786  func init() {
 49787  	t["InvalidName"] = reflect.TypeOf((*InvalidName)(nil)).Elem()
 49788  }
 49789  
 49790  type InvalidNameFault InvalidName
 49791  
 49792  func init() {
 49793  	t["InvalidNameFault"] = reflect.TypeOf((*InvalidNameFault)(nil)).Elem()
 49794  }
 49795  
 49796  // This fault is thrown when an operation to configure a CIFS volume
 49797  // fails because the credentials specified in the
 49798  // `spec` are incorrect.
 49799  type InvalidNasCredentials struct {
 49800  	NasConfigFault
 49801  
 49802  	// The username associated with the CIFS connection.
 49803  	UserName string `xml:"userName" json:"userName"`
 49804  }
 49805  
 49806  func init() {
 49807  	t["InvalidNasCredentials"] = reflect.TypeOf((*InvalidNasCredentials)(nil)).Elem()
 49808  	minAPIVersionForType["InvalidNasCredentials"] = "2.5 U2"
 49809  }
 49810  
 49811  type InvalidNasCredentialsFault InvalidNasCredentials
 49812  
 49813  func init() {
 49814  	t["InvalidNasCredentialsFault"] = reflect.TypeOf((*InvalidNasCredentialsFault)(nil)).Elem()
 49815  }
 49816  
 49817  // The network specified in the property does not exists.
 49818  type InvalidNetworkInType struct {
 49819  	VAppPropertyFault
 49820  }
 49821  
 49822  func init() {
 49823  	t["InvalidNetworkInType"] = reflect.TypeOf((*InvalidNetworkInType)(nil)).Elem()
 49824  	minAPIVersionForType["InvalidNetworkInType"] = "4.0"
 49825  }
 49826  
 49827  type InvalidNetworkInTypeFault InvalidNetworkInType
 49828  
 49829  func init() {
 49830  	t["InvalidNetworkInTypeFault"] = reflect.TypeOf((*InvalidNetworkInTypeFault)(nil)).Elem()
 49831  }
 49832  
 49833  // This fault is thrown when an operation to configure a NAS volume fails
 49834  // because the network resource specified is invalid.
 49835  type InvalidNetworkResource struct {
 49836  	NasConfigFault
 49837  
 49838  	// The host that runs the CIFS or NFS server.
 49839  	RemoteHost string `xml:"remoteHost" json:"remoteHost"`
 49840  	// The remote share.
 49841  	RemotePath string `xml:"remotePath" json:"remotePath"`
 49842  }
 49843  
 49844  func init() {
 49845  	t["InvalidNetworkResource"] = reflect.TypeOf((*InvalidNetworkResource)(nil)).Elem()
 49846  	minAPIVersionForType["InvalidNetworkResource"] = "2.5 U2"
 49847  }
 49848  
 49849  type InvalidNetworkResourceFault InvalidNetworkResource
 49850  
 49851  func init() {
 49852  	t["InvalidNetworkResourceFault"] = reflect.TypeOf((*InvalidNetworkResourceFault)(nil)).Elem()
 49853  }
 49854  
 49855  // This fault is thrown when an attempt is made to invoke an operation on
 49856  // a secondary virtual machine that is only supported on the primary virtual
 49857  // machine of the fault tolerant group.
 49858  type InvalidOperationOnSecondaryVm struct {
 49859  	VmFaultToleranceIssue
 49860  
 49861  	// Instance UUID of the secondary virtual machine.
 49862  	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
 49863  }
 49864  
 49865  func init() {
 49866  	t["InvalidOperationOnSecondaryVm"] = reflect.TypeOf((*InvalidOperationOnSecondaryVm)(nil)).Elem()
 49867  	minAPIVersionForType["InvalidOperationOnSecondaryVm"] = "4.0"
 49868  }
 49869  
 49870  type InvalidOperationOnSecondaryVmFault InvalidOperationOnSecondaryVm
 49871  
 49872  func init() {
 49873  	t["InvalidOperationOnSecondaryVmFault"] = reflect.TypeOf((*InvalidOperationOnSecondaryVmFault)(nil)).Elem()
 49874  }
 49875  
 49876  // This exception is thrown if the
 49877  // power operation attempted could not be performed given
 49878  // the current power state of the virtual machine.
 49879  type InvalidPowerState struct {
 49880  	InvalidState
 49881  
 49882  	// Power state of the virtual machine required to
 49883  	// allow the operation to succeed.
 49884  	RequestedState VirtualMachinePowerState `xml:"requestedState,omitempty" json:"requestedState,omitempty"`
 49885  	// Power state of the virtual machine that
 49886  	// prevented the operation from succeeding.
 49887  	ExistingState VirtualMachinePowerState `xml:"existingState" json:"existingState"`
 49888  }
 49889  
 49890  func init() {
 49891  	t["InvalidPowerState"] = reflect.TypeOf((*InvalidPowerState)(nil)).Elem()
 49892  }
 49893  
 49894  type InvalidPowerStateFault InvalidPowerState
 49895  
 49896  func init() {
 49897  	t["InvalidPowerStateFault"] = reflect.TypeOf((*InvalidPowerStateFault)(nil)).Elem()
 49898  }
 49899  
 49900  // A InvalidPrivilege fault is thrown when the privilege
 49901  // does not exist.
 49902  type InvalidPrivilege struct {
 49903  	VimFault
 49904  
 49905  	// The invalid privilege.
 49906  	Privilege string `xml:"privilege" json:"privilege"`
 49907  }
 49908  
 49909  func init() {
 49910  	t["InvalidPrivilege"] = reflect.TypeOf((*InvalidPrivilege)(nil)).Elem()
 49911  }
 49912  
 49913  type InvalidPrivilegeFault InvalidPrivilege
 49914  
 49915  func init() {
 49916  	t["InvalidPrivilegeFault"] = reflect.TypeOf((*InvalidPrivilegeFault)(nil)).Elem()
 49917  }
 49918  
 49919  // A InvalidProfileReferenceHost fault is thrown when a valid host is not
 49920  // associated with a profile in the Virtual Center inventory.
 49921  //
 49922  // This could
 49923  // be because there is no host assciated with the profile or because the
 49924  // associated host is incompatible with the profile.
 49925  type InvalidProfileReferenceHost struct {
 49926  	RuntimeFault
 49927  
 49928  	// The reason for the invalid reference host if known.
 49929  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 49930  	// The incompatible host if associated with the profile.
 49931  	//
 49932  	// Refers instance of `HostSystem`.
 49933  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 49934  	// The profile with the invalid or missing reference host.
 49935  	//
 49936  	// Refers instance of `Profile`.
 49937  	Profile *ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
 49938  	// The profile name: the replacement of the member above.
 49939  	ProfileName string `xml:"profileName,omitempty" json:"profileName,omitempty" vim:"6.5"`
 49940  }
 49941  
 49942  func init() {
 49943  	t["InvalidProfileReferenceHost"] = reflect.TypeOf((*InvalidProfileReferenceHost)(nil)).Elem()
 49944  	minAPIVersionForType["InvalidProfileReferenceHost"] = "5.0"
 49945  }
 49946  
 49947  type InvalidProfileReferenceHostFault InvalidProfileReferenceHost
 49948  
 49949  func init() {
 49950  	t["InvalidProfileReferenceHostFault"] = reflect.TypeOf((*InvalidProfileReferenceHostFault)(nil)).Elem()
 49951  }
 49952  
 49953  // Thrown when an invalid property path has been referenced.
 49954  type InvalidProperty struct {
 49955  	MethodFault
 49956  
 49957  	// The property name that generated the error.
 49958  	Name string `xml:"name" json:"name"`
 49959  }
 49960  
 49961  func init() {
 49962  	t["InvalidProperty"] = reflect.TypeOf((*InvalidProperty)(nil)).Elem()
 49963  }
 49964  
 49965  type InvalidPropertyFault InvalidProperty
 49966  
 49967  func init() {
 49968  	t["InvalidPropertyFault"] = reflect.TypeOf((*InvalidPropertyFault)(nil)).Elem()
 49969  }
 49970  
 49971  // The type specification in the property in invalid.
 49972  type InvalidPropertyType struct {
 49973  	VAppPropertyFault
 49974  }
 49975  
 49976  func init() {
 49977  	t["InvalidPropertyType"] = reflect.TypeOf((*InvalidPropertyType)(nil)).Elem()
 49978  	minAPIVersionForType["InvalidPropertyType"] = "4.0"
 49979  }
 49980  
 49981  type InvalidPropertyTypeFault InvalidPropertyType
 49982  
 49983  func init() {
 49984  	t["InvalidPropertyTypeFault"] = reflect.TypeOf((*InvalidPropertyTypeFault)(nil)).Elem()
 49985  }
 49986  
 49987  // The value of the property is not valid given the type of the property.
 49988  type InvalidPropertyValue struct {
 49989  	VAppPropertyFault
 49990  }
 49991  
 49992  func init() {
 49993  	t["InvalidPropertyValue"] = reflect.TypeOf((*InvalidPropertyValue)(nil)).Elem()
 49994  	minAPIVersionForType["InvalidPropertyValue"] = "4.0"
 49995  }
 49996  
 49997  type InvalidPropertyValueFault BaseInvalidPropertyValue
 49998  
 49999  func init() {
 50000  	t["InvalidPropertyValueFault"] = reflect.TypeOf((*InvalidPropertyValueFault)(nil)).Elem()
 50001  }
 50002  
 50003  // An InvalidRequest fault is thrown in response to a malformed
 50004  // request to the server that fails in the transport layer, e.g.,
 50005  // the SOAP XML request was invalid.
 50006  //
 50007  // Sub-types of this fault,
 50008  // provides more specific transport errors, such as a using a
 50009  // reference to an unknown managed object type or method.
 50010  type InvalidRequest struct {
 50011  	RuntimeFault
 50012  }
 50013  
 50014  func init() {
 50015  	t["InvalidRequest"] = reflect.TypeOf((*InvalidRequest)(nil)).Elem()
 50016  }
 50017  
 50018  type InvalidRequestFault BaseInvalidRequest
 50019  
 50020  func init() {
 50021  	t["InvalidRequestFault"] = reflect.TypeOf((*InvalidRequestFault)(nil)).Elem()
 50022  }
 50023  
 50024  // This fault is thrown when an operation will cause the structure of a resource
 50025  // pool hiearchy to exceed its limit.
 50026  //
 50027  // The limits are typically imposed by the total
 50028  // number of nodes, maximum fan-out, and total depth of the hierarchy.
 50029  type InvalidResourcePoolStructureFault struct {
 50030  	InsufficientResourcesFault
 50031  }
 50032  
 50033  func init() {
 50034  	t["InvalidResourcePoolStructureFault"] = reflect.TypeOf((*InvalidResourcePoolStructureFault)(nil)).Elem()
 50035  }
 50036  
 50037  type InvalidResourcePoolStructureFaultFault InvalidResourcePoolStructureFault
 50038  
 50039  func init() {
 50040  	t["InvalidResourcePoolStructureFaultFault"] = reflect.TypeOf((*InvalidResourcePoolStructureFaultFault)(nil)).Elem()
 50041  }
 50042  
 50043  // This exception is thrown when an unauthorized
 50044  // user runs a scheduled task.
 50045  type InvalidScheduledTask struct {
 50046  	RuntimeFault
 50047  }
 50048  
 50049  func init() {
 50050  	t["InvalidScheduledTask"] = reflect.TypeOf((*InvalidScheduledTask)(nil)).Elem()
 50051  	minAPIVersionForType["InvalidScheduledTask"] = "8.0.2.0"
 50052  }
 50053  
 50054  type InvalidScheduledTaskFault InvalidScheduledTask
 50055  
 50056  func init() {
 50057  	t["InvalidScheduledTaskFault"] = reflect.TypeOf((*InvalidScheduledTaskFault)(nil)).Elem()
 50058  }
 50059  
 50060  // Thrown when an invalid snapshot configuration is detected.
 50061  //
 50062  // For
 50063  // example, when a virtual machine's snapshot tree includes
 50064  // snapshots that are no longer present.
 50065  type InvalidSnapshotFormat struct {
 50066  	InvalidFormat
 50067  }
 50068  
 50069  func init() {
 50070  	t["InvalidSnapshotFormat"] = reflect.TypeOf((*InvalidSnapshotFormat)(nil)).Elem()
 50071  }
 50072  
 50073  type InvalidSnapshotFormatFault InvalidSnapshotFormat
 50074  
 50075  func init() {
 50076  	t["InvalidSnapshotFormatFault"] = reflect.TypeOf((*InvalidSnapshotFormatFault)(nil)).Elem()
 50077  }
 50078  
 50079  // An InvalidState fault is thrown if the
 50080  // operation failed due to the current state of the system.
 50081  type InvalidState struct {
 50082  	VimFault
 50083  }
 50084  
 50085  func init() {
 50086  	t["InvalidState"] = reflect.TypeOf((*InvalidState)(nil)).Elem()
 50087  }
 50088  
 50089  type InvalidStateFault BaseInvalidState
 50090  
 50091  func init() {
 50092  	t["InvalidStateFault"] = reflect.TypeOf((*InvalidStateFault)(nil)).Elem()
 50093  }
 50094  
 50095  // InvalidType is thrown when a managed object request refers to
 50096  // an unexpected or unknown type.
 50097  type InvalidType struct {
 50098  	InvalidRequest
 50099  
 50100  	// Name of the argument that was malformed.
 50101  	Argument string `xml:"argument,omitempty" json:"argument,omitempty"`
 50102  }
 50103  
 50104  func init() {
 50105  	t["InvalidType"] = reflect.TypeOf((*InvalidType)(nil)).Elem()
 50106  }
 50107  
 50108  type InvalidTypeFault InvalidType
 50109  
 50110  func init() {
 50111  	t["InvalidTypeFault"] = reflect.TypeOf((*InvalidTypeFault)(nil)).Elem()
 50112  }
 50113  
 50114  // Thrown when virtual machine creation or configuration fails.
 50115  //
 50116  // This is
 50117  // a base type for all virtual machine configuration errors.
 50118  type InvalidVmConfig struct {
 50119  	VmConfigFault
 50120  
 50121  	// Path of the property in configSpec that has an invalid value.
 50122  	Property string `xml:"property,omitempty" json:"property,omitempty"`
 50123  }
 50124  
 50125  func init() {
 50126  	t["InvalidVmConfig"] = reflect.TypeOf((*InvalidVmConfig)(nil)).Elem()
 50127  }
 50128  
 50129  type InvalidVmConfigFault BaseInvalidVmConfig
 50130  
 50131  func init() {
 50132  	t["InvalidVmConfigFault"] = reflect.TypeOf((*InvalidVmConfigFault)(nil)).Elem()
 50133  }
 50134  
 50135  // The VM has an invalid state.
 50136  type InvalidVmState struct {
 50137  	InvalidState
 50138  
 50139  	// The VM that has an invalid state.
 50140  	//
 50141  	// Refers instance of `VirtualMachine`.
 50142  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 50143  }
 50144  
 50145  func init() {
 50146  	t["InvalidVmState"] = reflect.TypeOf((*InvalidVmState)(nil)).Elem()
 50147  	minAPIVersionForType["InvalidVmState"] = "6.5"
 50148  }
 50149  
 50150  type InvalidVmStateFault InvalidVmState
 50151  
 50152  func init() {
 50153  	t["InvalidVmStateFault"] = reflect.TypeOf((*InvalidVmStateFault)(nil)).Elem()
 50154  }
 50155  
 50156  // Data object to capture all information needed to
 50157  // describe a sample inventory.
 50158  type InventoryDescription struct {
 50159  	DynamicData
 50160  
 50161  	// The number of hosts.
 50162  	NumHosts int32 `xml:"numHosts" json:"numHosts"`
 50163  	// The number of virtual machines.
 50164  	NumVirtualMachines int32 `xml:"numVirtualMachines" json:"numVirtualMachines"`
 50165  	// The number of resource pools.
 50166  	//
 50167  	// Default value is equal to numHosts
 50168  	NumResourcePools int32 `xml:"numResourcePools,omitempty" json:"numResourcePools,omitempty"`
 50169  	// The number of clusters.
 50170  	//
 50171  	// Default value is equal to numHosts/5.
 50172  	NumClusters int32 `xml:"numClusters,omitempty" json:"numClusters,omitempty"`
 50173  	// The number cpu devices per host.
 50174  	//
 50175  	// Default value is 4.
 50176  	NumCpuDev int32 `xml:"numCpuDev,omitempty" json:"numCpuDev,omitempty"`
 50177  	// The number network devices per host.
 50178  	//
 50179  	// Default value is 2.
 50180  	NumNetDev int32 `xml:"numNetDev,omitempty" json:"numNetDev,omitempty"`
 50181  	// The number disk devices per host.
 50182  	//
 50183  	// Default value is 10.
 50184  	NumDiskDev int32 `xml:"numDiskDev,omitempty" json:"numDiskDev,omitempty"`
 50185  	// The number cpu devices per vm.
 50186  	//
 50187  	// Default value is 2.
 50188  	NumvCpuDev int32 `xml:"numvCpuDev,omitempty" json:"numvCpuDev,omitempty"`
 50189  	// The number network devices per vm.
 50190  	//
 50191  	// Default value is 1.
 50192  	NumvNetDev int32 `xml:"numvNetDev,omitempty" json:"numvNetDev,omitempty"`
 50193  	// The number disk devices per vm.
 50194  	//
 50195  	// Default value is 4.
 50196  	NumvDiskDev int32 `xml:"numvDiskDev,omitempty" json:"numvDiskDev,omitempty"`
 50197  }
 50198  
 50199  func init() {
 50200  	t["InventoryDescription"] = reflect.TypeOf((*InventoryDescription)(nil)).Elem()
 50201  	minAPIVersionForType["InventoryDescription"] = "4.0"
 50202  }
 50203  
 50204  // 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.
 50205  type InventoryHasStandardAloneHosts struct {
 50206  	NotEnoughLicenses
 50207  
 50208  	Hosts []string `xml:"hosts" json:"hosts"`
 50209  }
 50210  
 50211  func init() {
 50212  	t["InventoryHasStandardAloneHosts"] = reflect.TypeOf((*InventoryHasStandardAloneHosts)(nil)).Elem()
 50213  	minAPIVersionForType["InventoryHasStandardAloneHosts"] = "4.0"
 50214  }
 50215  
 50216  type InventoryHasStandardAloneHostsFault InventoryHasStandardAloneHosts
 50217  
 50218  func init() {
 50219  	t["InventoryHasStandardAloneHostsFault"] = reflect.TypeOf((*InventoryHasStandardAloneHostsFault)(nil)).Elem()
 50220  }
 50221  
 50222  // The issues on a host.
 50223  type IoFilterHostIssue struct {
 50224  	DynamicData
 50225  
 50226  	// Host.
 50227  	//
 50228  	// Refers instance of `HostSystem`.
 50229  	Host ManagedObjectReference `xml:"host" json:"host"`
 50230  	// The issues.
 50231  	Issue []LocalizedMethodFault `xml:"issue" json:"issue"`
 50232  }
 50233  
 50234  func init() {
 50235  	t["IoFilterHostIssue"] = reflect.TypeOf((*IoFilterHostIssue)(nil)).Elem()
 50236  	minAPIVersionForType["IoFilterHostIssue"] = "6.0"
 50237  }
 50238  
 50239  // Information about an IO Filter.
 50240  type IoFilterInfo struct {
 50241  	DynamicData
 50242  
 50243  	// IO Filter identifier.
 50244  	Id string `xml:"id" json:"id"`
 50245  	// Name of the IO Filter.
 50246  	Name string `xml:"name" json:"name"`
 50247  	// Vendor of the IO Filter.
 50248  	Vendor string `xml:"vendor" json:"vendor"`
 50249  	// Version of the IO Filter.
 50250  	Version string `xml:"version" json:"version"`
 50251  	// Type of the IO Filter.
 50252  	//
 50253  	// The set of possible values are listed in
 50254  	// `IoFilterType_enum`.
 50255  	// The property is unset if the information is not available.
 50256  	Type string `xml:"type,omitempty" json:"type,omitempty" vim:"6.5"`
 50257  	// Short description of the IO Filter.
 50258  	//
 50259  	// The property is unset if the information is not available.
 50260  	Summary string `xml:"summary,omitempty" json:"summary,omitempty"`
 50261  	// Release date of the IO Filter.
 50262  	//
 50263  	// The property is unset if the information is not available.
 50264  	ReleaseDate string `xml:"releaseDate,omitempty" json:"releaseDate,omitempty"`
 50265  }
 50266  
 50267  func init() {
 50268  	t["IoFilterInfo"] = reflect.TypeOf((*IoFilterInfo)(nil)).Elem()
 50269  	minAPIVersionForType["IoFilterInfo"] = "6.0"
 50270  }
 50271  
 50272  // Result for `IoFilterManager.QueryIoFilterIssues`.
 50273  type IoFilterQueryIssueResult struct {
 50274  	DynamicData
 50275  
 50276  	// The type of the operation performed on the IO Filter.
 50277  	//
 50278  	// The set of possible values are defined in
 50279  	// `IoFilterOperation_enum`.
 50280  	OpType string `xml:"opType" json:"opType"`
 50281  	// The issues on hosts.
 50282  	HostIssue []IoFilterHostIssue `xml:"hostIssue,omitempty" json:"hostIssue,omitempty"`
 50283  }
 50284  
 50285  func init() {
 50286  	t["IoFilterQueryIssueResult"] = reflect.TypeOf((*IoFilterQueryIssueResult)(nil)).Elem()
 50287  	minAPIVersionForType["IoFilterQueryIssueResult"] = "6.0"
 50288  }
 50289  
 50290  // This is the abstract base class for IP address.
 50291  type IpAddress struct {
 50292  	NegatableExpression
 50293  }
 50294  
 50295  func init() {
 50296  	t["IpAddress"] = reflect.TypeOf((*IpAddress)(nil)).Elem()
 50297  	minAPIVersionForType["IpAddress"] = "5.5"
 50298  }
 50299  
 50300  // The `IpAddressProfile` represents the Virtual NIC IP address.
 50301  //
 50302  // The `ApplyProfile.policy` property contains
 50303  // the configuration data values for the IP address.
 50304  type IpAddressProfile struct {
 50305  	ApplyProfile
 50306  }
 50307  
 50308  func init() {
 50309  	t["IpAddressProfile"] = reflect.TypeOf((*IpAddressProfile)(nil)).Elem()
 50310  	minAPIVersionForType["IpAddressProfile"] = "4.0"
 50311  }
 50312  
 50313  // An error occurred while running the IP/hostname generator application
 50314  type IpHostnameGeneratorError struct {
 50315  	CustomizationFault
 50316  }
 50317  
 50318  func init() {
 50319  	t["IpHostnameGeneratorError"] = reflect.TypeOf((*IpHostnameGeneratorError)(nil)).Elem()
 50320  }
 50321  
 50322  type IpHostnameGeneratorErrorFault IpHostnameGeneratorError
 50323  
 50324  func init() {
 50325  	t["IpHostnameGeneratorErrorFault"] = reflect.TypeOf((*IpHostnameGeneratorErrorFault)(nil)).Elem()
 50326  }
 50327  
 50328  // Specifications of the network configuration to be used on a
 50329  // network.
 50330  //
 50331  // This is used to generate IP addresses and for self-customization
 50332  // of vApps.
 50333  type IpPool struct {
 50334  	DynamicData
 50335  
 50336  	// Unique ID, generated by the server.
 50337  	//
 50338  	// This is used to identify the pool in
 50339  	// subsequent lookups or updates. The generated value is also returned by the `IpPoolManager.CreateIpPool` method.
 50340  	Id int32 `xml:"id,omitempty" json:"id,omitempty"`
 50341  	// Pool name.
 50342  	//
 50343  	// The pool name must be unique within the datacenter.
 50344  	//
 50345  	// Any / (slash), \\ (backslash), character used in this
 50346  	// name element is escaped. Similarly, any % (percent) character used in
 50347  	// this name element is escaped, unless it is used to start an escape
 50348  	// sequence. A slash is escaped as %2F or %2f. A backslash is escaped as %5C or
 50349  	// %5c, and a percent is escaped as %25.
 50350  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 50351  	// IPv4 configuration.
 50352  	//
 50353  	// This configuration is always present on the pool. To disable allocation, set the
 50354  	// ipPoolEnabled flag of the config to false.
 50355  	Ipv4Config *IpPoolIpPoolConfigInfo `xml:"ipv4Config,omitempty" json:"ipv4Config,omitempty"`
 50356  	// IPv6 configuration.
 50357  	//
 50358  	// This configuration is always present on the pool. To disable allocation, set the
 50359  	// ipPoolEnabled flag of the config to false.
 50360  	Ipv6Config *IpPoolIpPoolConfigInfo `xml:"ipv6Config,omitempty" json:"ipv6Config,omitempty"`
 50361  	// DNS Domain.
 50362  	//
 50363  	// For example, vmware.com. This can be an empty string if no
 50364  	// domain is configured.
 50365  	DnsDomain string `xml:"dnsDomain,omitempty" json:"dnsDomain,omitempty"`
 50366  	// DNS Search Path.
 50367  	//
 50368  	// For example, eng.vmware.com;vmware.com
 50369  	DnsSearchPath string `xml:"dnsSearchPath,omitempty" json:"dnsSearchPath,omitempty"`
 50370  	// Prefix for hostnames.
 50371  	HostPrefix string `xml:"hostPrefix,omitempty" json:"hostPrefix,omitempty"`
 50372  	// The HTTP proxy to use on this network, e.g., &lt;host&gt;:&lt;port&gt;
 50373  	HttpProxy string `xml:"httpProxy,omitempty" json:"httpProxy,omitempty"`
 50374  	// The networks that are associated with this IP pool
 50375  	NetworkAssociation []IpPoolAssociation `xml:"networkAssociation,omitempty" json:"networkAssociation,omitempty"`
 50376  	// The number of IPv4 addresses available for allocation.
 50377  	AvailableIpv4Addresses int32 `xml:"availableIpv4Addresses,omitempty" json:"availableIpv4Addresses,omitempty" vim:"5.1"`
 50378  	// The number of IPv6 addresses available for allocation.
 50379  	AvailableIpv6Addresses int32 `xml:"availableIpv6Addresses,omitempty" json:"availableIpv6Addresses,omitempty" vim:"5.1"`
 50380  	// The number of allocated IPv4 addresses.
 50381  	AllocatedIpv4Addresses int32 `xml:"allocatedIpv4Addresses,omitempty" json:"allocatedIpv4Addresses,omitempty" vim:"5.1"`
 50382  	// The number of allocated IPv6 addresses.
 50383  	AllocatedIpv6Addresses int32 `xml:"allocatedIpv6Addresses,omitempty" json:"allocatedIpv6Addresses,omitempty" vim:"5.1"`
 50384  }
 50385  
 50386  func init() {
 50387  	t["IpPool"] = reflect.TypeOf((*IpPool)(nil)).Elem()
 50388  	minAPIVersionForType["IpPool"] = "4.0"
 50389  }
 50390  
 50391  // Information about a network or portgroup that is associated to an IP pool.
 50392  type IpPoolAssociation struct {
 50393  	DynamicData
 50394  
 50395  	// The network object
 50396  	//
 50397  	// Refers instance of `Network`.
 50398  	Network *ManagedObjectReference `xml:"network,omitempty" json:"network,omitempty"`
 50399  	// The name of the network or portgroup
 50400  	//
 50401  	// This field is only used when querying existing IP pools. It is ignored when
 50402  	// creating or updating pools.
 50403  	NetworkName string `xml:"networkName" json:"networkName"`
 50404  }
 50405  
 50406  func init() {
 50407  	t["IpPoolAssociation"] = reflect.TypeOf((*IpPoolAssociation)(nil)).Elem()
 50408  	minAPIVersionForType["IpPoolAssociation"] = "4.0"
 50409  }
 50410  
 50411  // Specifications of either IPv4 or IPv6 configuration to be used
 50412  // on this network.
 50413  //
 50414  // This is a part of network configuration.
 50415  //
 50416  // IPv4 addresses are in dot-decimal notation, e.g.: 192.0.2.235
 50417  //
 50418  // IPv6 addresses are in colon-hexadecimal notation,
 50419  // e.g.: 2001:0db8:85a3::0370:7334
 50420  type IpPoolIpPoolConfigInfo struct {
 50421  	DynamicData
 50422  
 50423  	// Address of the subnet.
 50424  	//
 50425  	// For example:
 50426  	//     - IPv4: 192.168.5.0
 50427  	//     - IPv6: 2001:0db8:85a3::
 50428  	SubnetAddress string `xml:"subnetAddress,omitempty" json:"subnetAddress,omitempty"`
 50429  	// Netmask
 50430  	//
 50431  	// For example:
 50432  	//     - IPv4: 255.255.255.0
 50433  	//     - IPv6: ffff:ffff:ffff::
 50434  	Netmask string `xml:"netmask,omitempty" json:"netmask,omitempty"`
 50435  	// Gateway.
 50436  	//
 50437  	// This can be an empty string - if no gateway is configured.
 50438  	//
 50439  	// Examples:
 50440  	//     - IPv4: 192.168.5.1
 50441  	//     - IPv6: 2001:0db8:85a3::1
 50442  	Gateway string `xml:"gateway,omitempty" json:"gateway,omitempty"`
 50443  	// IP range.
 50444  	//
 50445  	// This is specified as a set of ranges separated with commas.
 50446  	// One range is given by a start address, a hash (#), and the length
 50447  	// of the range.
 50448  	//
 50449  	// For example:
 50450  	//     - 192.0.2.235 # 20 is the IPv4 range from 192.0.2.235 to 192.0.2.254
 50451  	//     - 2001::7334 # 20 is the IPv6 range from 2001::7334 to 2001::7347
 50452  	Range string `xml:"range,omitempty" json:"range,omitempty"`
 50453  	// DNS servers
 50454  	//
 50455  	// For example:
 50456  	//     - IPv4: \["10.20.0.1", "10.20.0.2"\]
 50457  	//     - IPv6: \["2001:0db8:85a3::0370:7334", "2001:0db8:85a3::0370:7335"\]
 50458  	//
 50459  	// If an empty list is passed, the existing value remains unchanged. To clear this
 50460  	// list, pass an array containing the empty string as it's only element.
 50461  	Dns []string `xml:"dns,omitempty" json:"dns,omitempty"`
 50462  	// Whether a DHCP server is available on this network.
 50463  	DhcpServerAvailable *bool `xml:"dhcpServerAvailable" json:"dhcpServerAvailable,omitempty"`
 50464  	// IP addresses can only be allocated from the range if the IP pool is
 50465  	// enabled.
 50466  	IpPoolEnabled *bool `xml:"ipPoolEnabled" json:"ipPoolEnabled,omitempty"`
 50467  }
 50468  
 50469  func init() {
 50470  	t["IpPoolIpPoolConfigInfo"] = reflect.TypeOf((*IpPoolIpPoolConfigInfo)(nil)).Elem()
 50471  	minAPIVersionForType["IpPoolIpPoolConfigInfo"] = "4.0"
 50472  }
 50473  
 50474  // Describes an IP allocation.
 50475  type IpPoolManagerIpAllocation struct {
 50476  	DynamicData
 50477  
 50478  	// IP address
 50479  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 50480  	// The allocation ID
 50481  	AllocationId string `xml:"allocationId" json:"allocationId"`
 50482  }
 50483  
 50484  func init() {
 50485  	t["IpPoolManagerIpAllocation"] = reflect.TypeOf((*IpPoolManagerIpAllocation)(nil)).Elem()
 50486  	minAPIVersionForType["IpPoolManagerIpAllocation"] = "5.1"
 50487  }
 50488  
 50489  // This class specifies a range of IP addresses by using prefix.
 50490  //
 50491  // Usage: 128.20.20.10/24. Here 128.20.20.10 is IP address
 50492  // and 24 is prefix length.
 50493  type IpRange struct {
 50494  	IpAddress
 50495  
 50496  	// IP address prefix.
 50497  	AddressPrefix string `xml:"addressPrefix" json:"addressPrefix"`
 50498  	// Prefix length with max value of 32 for IPv4 and 128 for IPv6.
 50499  	PrefixLength int32 `xml:"prefixLength,omitempty" json:"prefixLength,omitempty"`
 50500  }
 50501  
 50502  func init() {
 50503  	t["IpRange"] = reflect.TypeOf((*IpRange)(nil)).Elem()
 50504  	minAPIVersionForType["IpRange"] = "5.5"
 50505  }
 50506  
 50507  // The `IpRouteProfile` data object represents the host IP route configuration.
 50508  //
 50509  // If a profile plug-in defines policies or subprofiles, use the
 50510  // `ApplyProfile.policy` or `ApplyProfile.property`
 50511  // list to access the additional configuration data.
 50512  type IpRouteProfile struct {
 50513  	ApplyProfile
 50514  
 50515  	// List of static routes to be configured.
 50516  	StaticRoute []StaticRouteProfile `xml:"staticRoute,omitempty" json:"staticRoute,omitempty"`
 50517  }
 50518  
 50519  func init() {
 50520  	t["IpRouteProfile"] = reflect.TypeOf((*IpRouteProfile)(nil)).Elem()
 50521  	minAPIVersionForType["IpRouteProfile"] = "4.0"
 50522  }
 50523  
 50524  type IsClusteredVmdkEnabled IsClusteredVmdkEnabledRequestType
 50525  
 50526  func init() {
 50527  	t["IsClusteredVmdkEnabled"] = reflect.TypeOf((*IsClusteredVmdkEnabled)(nil)).Elem()
 50528  }
 50529  
 50530  type IsClusteredVmdkEnabledRequestType struct {
 50531  	This ManagedObjectReference `xml:"_this" json:"-"`
 50532  }
 50533  
 50534  func init() {
 50535  	t["IsClusteredVmdkEnabledRequestType"] = reflect.TypeOf((*IsClusteredVmdkEnabledRequestType)(nil)).Elem()
 50536  }
 50537  
 50538  type IsClusteredVmdkEnabledResponse struct {
 50539  	Returnval bool `xml:"returnval" json:"returnval"`
 50540  }
 50541  
 50542  type IsKmsClusterActive IsKmsClusterActiveRequestType
 50543  
 50544  func init() {
 50545  	t["IsKmsClusterActive"] = reflect.TypeOf((*IsKmsClusterActive)(nil)).Elem()
 50546  }
 50547  
 50548  // The parameters of `CryptoManagerKmip.IsKmsClusterActive`.
 50549  type IsKmsClusterActiveRequestType struct {
 50550  	This ManagedObjectReference `xml:"_this" json:"-"`
 50551  	// \[in\] KMIP cluster.
 50552  	// Will use default cluster if omitted.
 50553  	Cluster *KeyProviderId `xml:"cluster,omitempty" json:"cluster,omitempty"`
 50554  }
 50555  
 50556  func init() {
 50557  	t["IsKmsClusterActiveRequestType"] = reflect.TypeOf((*IsKmsClusterActiveRequestType)(nil)).Elem()
 50558  }
 50559  
 50560  type IsKmsClusterActiveResponse struct {
 50561  	Returnval bool `xml:"returnval" json:"returnval"`
 50562  }
 50563  
 50564  type IsSharedGraphicsActive IsSharedGraphicsActiveRequestType
 50565  
 50566  func init() {
 50567  	t["IsSharedGraphicsActive"] = reflect.TypeOf((*IsSharedGraphicsActive)(nil)).Elem()
 50568  }
 50569  
 50570  type IsSharedGraphicsActiveRequestType struct {
 50571  	This ManagedObjectReference `xml:"_this" json:"-"`
 50572  }
 50573  
 50574  func init() {
 50575  	t["IsSharedGraphicsActiveRequestType"] = reflect.TypeOf((*IsSharedGraphicsActiveRequestType)(nil)).Elem()
 50576  }
 50577  
 50578  type IsSharedGraphicsActiveResponse struct {
 50579  	Returnval bool `xml:"returnval" json:"returnval"`
 50580  }
 50581  
 50582  // Defines a dependency entity.
 50583  //
 50584  // Contains the affected Virtual NIC device name and iSCSI HBA name
 50585  // (if Virtual NIC is associated with the HBA).
 50586  // See `IscsiMigrationDependency`
 50587  type IscsiDependencyEntity struct {
 50588  	DynamicData
 50589  
 50590  	// The affected Physical NIC device
 50591  	PnicDevice string `xml:"pnicDevice" json:"pnicDevice"`
 50592  	// The affected Virtual NIC device
 50593  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 50594  	// The iSCSI HBA that the Virtual NIC is associated with, if any.
 50595  	VmhbaName string `xml:"vmhbaName" json:"vmhbaName"`
 50596  }
 50597  
 50598  func init() {
 50599  	t["IscsiDependencyEntity"] = reflect.TypeOf((*IscsiDependencyEntity)(nil)).Elem()
 50600  	minAPIVersionForType["IscsiDependencyEntity"] = "5.0"
 50601  }
 50602  
 50603  // Base class for faults that can be thrown while invoking iSCSI management operations.
 50604  type IscsiFault struct {
 50605  	VimFault
 50606  }
 50607  
 50608  func init() {
 50609  	t["IscsiFault"] = reflect.TypeOf((*IscsiFault)(nil)).Elem()
 50610  	minAPIVersionForType["IscsiFault"] = "5.0"
 50611  }
 50612  
 50613  type IscsiFaultFault BaseIscsiFault
 50614  
 50615  func init() {
 50616  	t["IscsiFaultFault"] = reflect.TypeOf((*IscsiFaultFault)(nil)).Elem()
 50617  }
 50618  
 50619  // This fault indicates an attempt is made to bind a Virtual NIC to an iSCSI adapter
 50620  // where the Virtual NIC has no association with the adapter.
 50621  //
 50622  // For ex: The uplink for
 50623  // the given Virtual NIC is not valid for the iSCSI HBA.
 50624  type IscsiFaultInvalidVnic struct {
 50625  	IscsiFault
 50626  
 50627  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 50628  }
 50629  
 50630  func init() {
 50631  	t["IscsiFaultInvalidVnic"] = reflect.TypeOf((*IscsiFaultInvalidVnic)(nil)).Elem()
 50632  	minAPIVersionForType["IscsiFaultInvalidVnic"] = "5.0"
 50633  }
 50634  
 50635  type IscsiFaultInvalidVnicFault IscsiFaultInvalidVnic
 50636  
 50637  func init() {
 50638  	t["IscsiFaultInvalidVnicFault"] = reflect.TypeOf((*IscsiFaultInvalidVnicFault)(nil)).Elem()
 50639  }
 50640  
 50641  // This fault indicates the given Physical NIC is being used by iSCSI HBA.
 50642  type IscsiFaultPnicInUse struct {
 50643  	IscsiFault
 50644  
 50645  	PnicDevice string `xml:"pnicDevice" json:"pnicDevice"`
 50646  }
 50647  
 50648  func init() {
 50649  	t["IscsiFaultPnicInUse"] = reflect.TypeOf((*IscsiFaultPnicInUse)(nil)).Elem()
 50650  	minAPIVersionForType["IscsiFaultPnicInUse"] = "5.0"
 50651  }
 50652  
 50653  type IscsiFaultPnicInUseFault IscsiFaultPnicInUse
 50654  
 50655  func init() {
 50656  	t["IscsiFaultPnicInUseFault"] = reflect.TypeOf((*IscsiFaultPnicInUseFault)(nil)).Elem()
 50657  }
 50658  
 50659  // This fault indicates that the given Virtual NIC is already bound to the iSCSI HBA.
 50660  type IscsiFaultVnicAlreadyBound struct {
 50661  	IscsiFault
 50662  
 50663  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 50664  }
 50665  
 50666  func init() {
 50667  	t["IscsiFaultVnicAlreadyBound"] = reflect.TypeOf((*IscsiFaultVnicAlreadyBound)(nil)).Elem()
 50668  	minAPIVersionForType["IscsiFaultVnicAlreadyBound"] = "5.0"
 50669  }
 50670  
 50671  type IscsiFaultVnicAlreadyBoundFault IscsiFaultVnicAlreadyBound
 50672  
 50673  func init() {
 50674  	t["IscsiFaultVnicAlreadyBoundFault"] = reflect.TypeOf((*IscsiFaultVnicAlreadyBoundFault)(nil)).Elem()
 50675  }
 50676  
 50677  // This fault indicates the given Virtual NIC has active storage paths associated with it.
 50678  type IscsiFaultVnicHasActivePaths struct {
 50679  	IscsiFault
 50680  
 50681  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 50682  }
 50683  
 50684  func init() {
 50685  	t["IscsiFaultVnicHasActivePaths"] = reflect.TypeOf((*IscsiFaultVnicHasActivePaths)(nil)).Elem()
 50686  	minAPIVersionForType["IscsiFaultVnicHasActivePaths"] = "5.0"
 50687  }
 50688  
 50689  type IscsiFaultVnicHasActivePathsFault IscsiFaultVnicHasActivePaths
 50690  
 50691  func init() {
 50692  	t["IscsiFaultVnicHasActivePathsFault"] = reflect.TypeOf((*IscsiFaultVnicHasActivePathsFault)(nil)).Elem()
 50693  }
 50694  
 50695  // This fault indicates that the Virtual NIC has multiple uplinks and not suitable for iSCSI
 50696  // multi-pathing and can not be bound to iSCSI HBA.
 50697  type IscsiFaultVnicHasMultipleUplinks struct {
 50698  	IscsiFault
 50699  
 50700  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 50701  }
 50702  
 50703  func init() {
 50704  	t["IscsiFaultVnicHasMultipleUplinks"] = reflect.TypeOf((*IscsiFaultVnicHasMultipleUplinks)(nil)).Elem()
 50705  	minAPIVersionForType["IscsiFaultVnicHasMultipleUplinks"] = "5.0"
 50706  }
 50707  
 50708  type IscsiFaultVnicHasMultipleUplinksFault IscsiFaultVnicHasMultipleUplinks
 50709  
 50710  func init() {
 50711  	t["IscsiFaultVnicHasMultipleUplinksFault"] = reflect.TypeOf((*IscsiFaultVnicHasMultipleUplinksFault)(nil)).Elem()
 50712  }
 50713  
 50714  // This fault indicates the given Virtual NIC has no uplinks and not suitable for iSCSI
 50715  // multi-pathing configuration.
 50716  type IscsiFaultVnicHasNoUplinks struct {
 50717  	IscsiFault
 50718  
 50719  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 50720  }
 50721  
 50722  func init() {
 50723  	t["IscsiFaultVnicHasNoUplinks"] = reflect.TypeOf((*IscsiFaultVnicHasNoUplinks)(nil)).Elem()
 50724  	minAPIVersionForType["IscsiFaultVnicHasNoUplinks"] = "5.0"
 50725  }
 50726  
 50727  type IscsiFaultVnicHasNoUplinksFault IscsiFaultVnicHasNoUplinks
 50728  
 50729  func init() {
 50730  	t["IscsiFaultVnicHasNoUplinksFault"] = reflect.TypeOf((*IscsiFaultVnicHasNoUplinksFault)(nil)).Elem()
 50731  }
 50732  
 50733  // This fault indicates the given Virtual NIC has the wrong Physical uplink
 50734  // for iSCSI multi-pathing configuration.
 50735  //
 50736  // The Physical uplink is not associated
 50737  // with the iSCSI Host Bus Adapter.
 50738  type IscsiFaultVnicHasWrongUplink struct {
 50739  	IscsiFault
 50740  
 50741  	// Contains the VMkernel virtual NIC device name.
 50742  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 50743  }
 50744  
 50745  func init() {
 50746  	t["IscsiFaultVnicHasWrongUplink"] = reflect.TypeOf((*IscsiFaultVnicHasWrongUplink)(nil)).Elem()
 50747  	minAPIVersionForType["IscsiFaultVnicHasWrongUplink"] = "5.0"
 50748  }
 50749  
 50750  type IscsiFaultVnicHasWrongUplinkFault IscsiFaultVnicHasWrongUplink
 50751  
 50752  func init() {
 50753  	t["IscsiFaultVnicHasWrongUplinkFault"] = reflect.TypeOf((*IscsiFaultVnicHasWrongUplinkFault)(nil)).Elem()
 50754  }
 50755  
 50756  // This fault indicates the given Virtual NIC is being used by iSCSI and the requested operation can't be completed.
 50757  type IscsiFaultVnicInUse struct {
 50758  	IscsiFault
 50759  
 50760  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 50761  }
 50762  
 50763  func init() {
 50764  	t["IscsiFaultVnicInUse"] = reflect.TypeOf((*IscsiFaultVnicInUse)(nil)).Elem()
 50765  	minAPIVersionForType["IscsiFaultVnicInUse"] = "5.0"
 50766  }
 50767  
 50768  type IscsiFaultVnicInUseFault IscsiFaultVnicInUse
 50769  
 50770  func init() {
 50771  	t["IscsiFaultVnicInUseFault"] = reflect.TypeOf((*IscsiFaultVnicInUseFault)(nil)).Elem()
 50772  }
 50773  
 50774  // This fault indicates that the given Virtual NIC is associated with the only path to the storage.
 50775  //
 50776  // Any attempt to unbind this
 50777  // from iSCSI HBA would result in storage being inaccessible.
 50778  type IscsiFaultVnicIsLastPath struct {
 50779  	IscsiFault
 50780  
 50781  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 50782  }
 50783  
 50784  func init() {
 50785  	t["IscsiFaultVnicIsLastPath"] = reflect.TypeOf((*IscsiFaultVnicIsLastPath)(nil)).Elem()
 50786  	minAPIVersionForType["IscsiFaultVnicIsLastPath"] = "5.0"
 50787  }
 50788  
 50789  type IscsiFaultVnicIsLastPathFault IscsiFaultVnicIsLastPath
 50790  
 50791  func init() {
 50792  	t["IscsiFaultVnicIsLastPathFault"] = reflect.TypeOf((*IscsiFaultVnicIsLastPathFault)(nil)).Elem()
 50793  }
 50794  
 50795  // This fault indicates an attempt was made to remove a Virtual NIC from an iSCSI HBA while
 50796  // Virtual NIC is not associated with the adapter.
 50797  type IscsiFaultVnicNotBound struct {
 50798  	IscsiFault
 50799  
 50800  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 50801  }
 50802  
 50803  func init() {
 50804  	t["IscsiFaultVnicNotBound"] = reflect.TypeOf((*IscsiFaultVnicNotBound)(nil)).Elem()
 50805  	minAPIVersionForType["IscsiFaultVnicNotBound"] = "5.0"
 50806  }
 50807  
 50808  type IscsiFaultVnicNotBoundFault IscsiFaultVnicNotBound
 50809  
 50810  func init() {
 50811  	t["IscsiFaultVnicNotBoundFault"] = reflect.TypeOf((*IscsiFaultVnicNotBoundFault)(nil)).Elem()
 50812  }
 50813  
 50814  // This fault indicates an attempt was made to add a non-existent Virtual NIC adapter.
 50815  type IscsiFaultVnicNotFound struct {
 50816  	IscsiFault
 50817  
 50818  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 50819  }
 50820  
 50821  func init() {
 50822  	t["IscsiFaultVnicNotFound"] = reflect.TypeOf((*IscsiFaultVnicNotFound)(nil)).Elem()
 50823  	minAPIVersionForType["IscsiFaultVnicNotFound"] = "5.0"
 50824  }
 50825  
 50826  type IscsiFaultVnicNotFoundFault IscsiFaultVnicNotFound
 50827  
 50828  func init() {
 50829  	t["IscsiFaultVnicNotFoundFault"] = reflect.TypeOf((*IscsiFaultVnicNotFoundFault)(nil)).Elem()
 50830  }
 50831  
 50832  // Provides migration dependency information for a given Physical NIC.
 50833  //
 50834  // Lists all the iSCSI and networking resources impacted if
 50835  // migration of a given Physical NIC is to take place.
 50836  type IscsiMigrationDependency struct {
 50837  	DynamicData
 50838  
 50839  	// Indicates whether migration can be safely performed
 50840  	// If migrationAllowed is False, the disallowReason will
 50841  	// contain the specific condition that makes the migration
 50842  	// attempt unsafe.
 50843  	MigrationAllowed bool `xml:"migrationAllowed" json:"migrationAllowed"`
 50844  	// Reasons for not allowing migration.
 50845  	//
 50846  	// Unset if migrationAllowed is true.
 50847  	DisallowReason *IscsiStatus `xml:"disallowReason,omitempty" json:"disallowReason,omitempty"`
 50848  	// Details of all the resources affected by migration.
 50849  	Dependency []IscsiDependencyEntity `xml:"dependency,omitempty" json:"dependency,omitempty"`
 50850  }
 50851  
 50852  func init() {
 50853  	t["IscsiMigrationDependency"] = reflect.TypeOf((*IscsiMigrationDependency)(nil)).Elem()
 50854  	minAPIVersionForType["IscsiMigrationDependency"] = "5.0"
 50855  }
 50856  
 50857  // The `IscsiPortInfo` data object describes the
 50858  // Virtual NIC that are bound to an iSCSI adapter and
 50859  // also it describes the candidate Virtual NICs that
 50860  // can be bound to a given iSCSI adapter.
 50861  type IscsiPortInfo struct {
 50862  	DynamicData
 50863  
 50864  	// Virtual NIC Name.
 50865  	//
 50866  	// Contains the name of the Virtual NIC device. This may be
 50867  	// unset in case where the bound Virtual NIC doesn't have the system object or
 50868  	// where a candidate Physical NIC isn't associated with any Virtual NIC.
 50869  	VnicDevice string `xml:"vnicDevice,omitempty" json:"vnicDevice,omitempty"`
 50870  	// Virtual NIC Object corresponding to the vnicDevice.
 50871  	//
 50872  	// May be unset if Virtual NIC object corresponding to vnicDevice doesn't
 50873  	// exist in the system.
 50874  	Vnic *HostVirtualNic `xml:"vnic,omitempty" json:"vnic,omitempty"`
 50875  	// Physical NIC Name.
 50876  	PnicDevice string `xml:"pnicDevice,omitempty" json:"pnicDevice,omitempty"`
 50877  	// Physical NIC Object corresponding to the pnicDevice.
 50878  	//
 50879  	// May be unset if Physical NIC object corresponding to pnicDevice doesn't
 50880  	// exist in the system or the vnicDevice doesn't have any Physical NIC
 50881  	// associated with it.
 50882  	Pnic *PhysicalNic `xml:"pnic,omitempty" json:"pnic,omitempty"`
 50883  	// Name of the virtual switch this Physical/Virtual NIC belongs.
 50884  	//
 50885  	// May be unset if the vnicDevice and/or pnicDevice do not have a
 50886  	// virtual switch associated with them.
 50887  	SwitchName string `xml:"switchName,omitempty" json:"switchName,omitempty"`
 50888  	// UUID of the virtual switch this Physical/Virtual NIC belongs.
 50889  	//
 50890  	// May be unset if the vnicDevice and/or pnicDevice do not have a
 50891  	// virtual switch associated with them or the associated switch is not VDS.
 50892  	SwitchUuid string `xml:"switchUuid,omitempty" json:"switchUuid,omitempty"`
 50893  	// Name of the portgroup to which this Virtual NIC belongs.
 50894  	//
 50895  	// May be unset if the vnicDevice and/or pnicDevice do not have a
 50896  	// Portgroup associated with them.
 50897  	PortgroupName string `xml:"portgroupName,omitempty" json:"portgroupName,omitempty"`
 50898  	// Portgroup key to which this Virtual NIC belongs.
 50899  	//
 50900  	// May be unset if the vnicDevice and/or pnicDevice do not have a
 50901  	// Portgroup associated with them or the associated portgroup does
 50902  	// is not of VDS type.
 50903  	PortgroupKey string `xml:"portgroupKey,omitempty" json:"portgroupKey,omitempty"`
 50904  	// portkey to which this Virtual NIC belongs.
 50905  	//
 50906  	// May be unset if the vnicDevice is not assigned to a specific port or
 50907  	// the switch is not VDS.
 50908  	PortKey string `xml:"portKey,omitempty" json:"portKey,omitempty"`
 50909  	// ID of the Opaque network to which the virtual NIC is connected.
 50910  	//
 50911  	// This property is set only when vnicDevice is associated with an
 50912  	// opaque network.
 50913  	OpaqueNetworkId string `xml:"opaqueNetworkId,omitempty" json:"opaqueNetworkId,omitempty" vim:"6.5"`
 50914  	// Type of the Opaque network to which the virtual NIC is connected.
 50915  	//
 50916  	// This property is set only when vnicDevice is associated with an
 50917  	// opaque network.
 50918  	OpaqueNetworkType string `xml:"opaqueNetworkType,omitempty" json:"opaqueNetworkType,omitempty" vim:"6.5"`
 50919  	// Name of the Opaque network to which the virtual NIC is connected.
 50920  	//
 50921  	// This property is set only when vnicDevice is associated with an
 50922  	// opaque network.
 50923  	OpaqueNetworkName string `xml:"opaqueNetworkName,omitempty" json:"opaqueNetworkName,omitempty" vim:"6.5"`
 50924  	// An ID assigned to the vmkernel adapter by external management plane
 50925  	// or controller.
 50926  	//
 50927  	// This property is set only when vnicDevice is associated with an
 50928  	// opaque network.
 50929  	ExternalId string `xml:"externalId,omitempty" json:"externalId,omitempty" vim:"6.5"`
 50930  	// Status indicating whether the Virtual NIC is compliant with the
 50931  	// network policy that is required by iSCSI port binding.
 50932  	//
 50933  	// May be unset in the candidate NIC list.
 50934  	ComplianceStatus *IscsiStatus `xml:"complianceStatus,omitempty" json:"complianceStatus,omitempty"`
 50935  	// A status, as defined in `IscsiPortInfoPathStatus_enum`, indicating the
 50936  	// existing storage paths dependency level on a given Virtual NIC.
 50937  	//
 50938  	// May be unset in the candidate NIC list.
 50939  	PathStatus string `xml:"pathStatus,omitempty" json:"pathStatus,omitempty"`
 50940  }
 50941  
 50942  func init() {
 50943  	t["IscsiPortInfo"] = reflect.TypeOf((*IscsiPortInfo)(nil)).Elem()
 50944  	minAPIVersionForType["IscsiPortInfo"] = "5.0"
 50945  }
 50946  
 50947  // The `IscsiStatus` data object describes the
 50948  // status of an operation.
 50949  type IscsiStatus struct {
 50950  	DynamicData
 50951  
 50952  	// List of failure reason and associated remedy.
 50953  	//
 50954  	// An array of fault codes associated with the failure. The fault itself
 50955  	// will provide an indication of the actual failure code and
 50956  	// `MethodFault.faultMessage` will indicate the remedy that
 50957  	// needs to be taken to correct the failure.
 50958  	Reason []LocalizedMethodFault `xml:"reason,omitempty" json:"reason,omitempty"`
 50959  }
 50960  
 50961  func init() {
 50962  	t["IscsiStatus"] = reflect.TypeOf((*IscsiStatus)(nil)).Elem()
 50963  	minAPIVersionForType["IscsiStatus"] = "5.0"
 50964  }
 50965  
 50966  // This data object type describes a file that is an ISO CD-ROM image.
 50967  type IsoImageFileInfo struct {
 50968  	FileInfo
 50969  }
 50970  
 50971  func init() {
 50972  	t["IsoImageFileInfo"] = reflect.TypeOf((*IsoImageFileInfo)(nil)).Elem()
 50973  }
 50974  
 50975  // This data object type describes the query specification for an ISO CD-ROM image.
 50976  type IsoImageFileQuery struct {
 50977  	FileQuery
 50978  }
 50979  
 50980  func init() {
 50981  	t["IsoImageFileQuery"] = reflect.TypeOf((*IsoImageFileQuery)(nil)).Elem()
 50982  }
 50983  
 50984  // The parameters of `HostActiveDirectoryAuthentication.JoinDomain_Task`.
 50985  type JoinDomainRequestType struct {
 50986  	This ManagedObjectReference `xml:"_this" json:"-"`
 50987  	// Name of the domain to be joined.
 50988  	DomainName string `xml:"domainName" json:"domainName"`
 50989  	// Name for an Active Directory account
 50990  	// that has the authority to add hosts to the domain.
 50991  	UserName string `xml:"userName" json:"userName"`
 50992  	// Password for the <code>userName</code> account.
 50993  	Password string `xml:"password" json:"password"`
 50994  }
 50995  
 50996  func init() {
 50997  	t["JoinDomainRequestType"] = reflect.TypeOf((*JoinDomainRequestType)(nil)).Elem()
 50998  }
 50999  
 51000  // The parameters of `HostActiveDirectoryAuthentication.JoinDomainWithCAM_Task`.
 51001  type JoinDomainWithCAMRequestType struct {
 51002  	This ManagedObjectReference `xml:"_this" json:"-"`
 51003  	// Name of the domain to be joined.
 51004  	DomainName string `xml:"domainName" json:"domainName"`
 51005  	// Name of server providing the CAM service.
 51006  	CamServer string `xml:"camServer" json:"camServer"`
 51007  }
 51008  
 51009  func init() {
 51010  	t["JoinDomainWithCAMRequestType"] = reflect.TypeOf((*JoinDomainWithCAMRequestType)(nil)).Elem()
 51011  }
 51012  
 51013  type JoinDomainWithCAM_Task JoinDomainWithCAMRequestType
 51014  
 51015  func init() {
 51016  	t["JoinDomainWithCAM_Task"] = reflect.TypeOf((*JoinDomainWithCAM_Task)(nil)).Elem()
 51017  }
 51018  
 51019  type JoinDomainWithCAM_TaskResponse struct {
 51020  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 51021  }
 51022  
 51023  type JoinDomain_Task JoinDomainRequestType
 51024  
 51025  func init() {
 51026  	t["JoinDomain_Task"] = reflect.TypeOf((*JoinDomain_Task)(nil)).Elem()
 51027  }
 51028  
 51029  type JoinDomain_TaskResponse struct {
 51030  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 51031  }
 51032  
 51033  // Information about a kernel module.
 51034  type KernelModuleInfo struct {
 51035  	DynamicData
 51036  
 51037  	// Module ID.
 51038  	Id int32 `xml:"id" json:"id"`
 51039  	// Module name.
 51040  	Name string `xml:"name" json:"name"`
 51041  	// Version string.
 51042  	Version string `xml:"version" json:"version"`
 51043  	// Module filename, without the path.
 51044  	Filename string `xml:"filename" json:"filename"`
 51045  	// Option string configured to be passed to the kernel module when loaded.
 51046  	//
 51047  	// Note that this is not necessarily the option string currently in use by
 51048  	// the kernel module.
 51049  	OptionString string `xml:"optionString" json:"optionString"`
 51050  	// Is the module loaded?
 51051  	Loaded bool `xml:"loaded" json:"loaded"`
 51052  	// Is the module enabled?
 51053  	Enabled bool `xml:"enabled" json:"enabled"`
 51054  	// Number of references to this module.
 51055  	UseCount int32 `xml:"useCount" json:"useCount"`
 51056  	// Read-only section information.
 51057  	ReadOnlySection KernelModuleSectionInfo `xml:"readOnlySection" json:"readOnlySection"`
 51058  	// Writable section information.
 51059  	WritableSection KernelModuleSectionInfo `xml:"writableSection" json:"writableSection"`
 51060  	// Text section information.
 51061  	TextSection KernelModuleSectionInfo `xml:"textSection" json:"textSection"`
 51062  	// Data section information.
 51063  	DataSection KernelModuleSectionInfo `xml:"dataSection" json:"dataSection"`
 51064  	// BSS section information.
 51065  	BssSection KernelModuleSectionInfo `xml:"bssSection" json:"bssSection"`
 51066  }
 51067  
 51068  func init() {
 51069  	t["KernelModuleInfo"] = reflect.TypeOf((*KernelModuleInfo)(nil)).Elem()
 51070  	minAPIVersionForType["KernelModuleInfo"] = "4.0"
 51071  }
 51072  
 51073  // Information about a module section.
 51074  type KernelModuleSectionInfo struct {
 51075  	DynamicData
 51076  
 51077  	// Base address of section.
 51078  	Address int64 `xml:"address" json:"address"`
 51079  	// Section length.
 51080  	Length int32 `xml:"length,omitempty" json:"length,omitempty"`
 51081  }
 51082  
 51083  func init() {
 51084  	t["KernelModuleSectionInfo"] = reflect.TypeOf((*KernelModuleSectionInfo)(nil)).Elem()
 51085  	minAPIVersionForType["KernelModuleSectionInfo"] = "4.0"
 51086  }
 51087  
 51088  // Non-localized key/value pair in which the
 51089  // the value can be of any type.
 51090  type KeyAnyValue struct {
 51091  	DynamicData
 51092  
 51093  	// the key
 51094  	Key string `xml:"key" json:"key"`
 51095  	// the value
 51096  	Value AnyType `xml:"value,typeattr" json:"value"`
 51097  }
 51098  
 51099  func init() {
 51100  	t["KeyAnyValue"] = reflect.TypeOf((*KeyAnyValue)(nil)).Elem()
 51101  	minAPIVersionForType["KeyAnyValue"] = "4.0"
 51102  }
 51103  
 51104  // An KeyNotFound fault is returned when the key does not exist among
 51105  // key value pairs.
 51106  type KeyNotFound struct {
 51107  	VimFault
 51108  
 51109  	// The non existing key.
 51110  	Key string `xml:"key" json:"key"`
 51111  }
 51112  
 51113  func init() {
 51114  	t["KeyNotFound"] = reflect.TypeOf((*KeyNotFound)(nil)).Elem()
 51115  	minAPIVersionForType["KeyNotFound"] = "6.7.2"
 51116  }
 51117  
 51118  type KeyNotFoundFault KeyNotFound
 51119  
 51120  func init() {
 51121  	t["KeyNotFoundFault"] = reflect.TypeOf((*KeyNotFoundFault)(nil)).Elem()
 51122  }
 51123  
 51124  // Data Object representing a crypto key provider's unique identifier.
 51125  type KeyProviderId struct {
 51126  	DynamicData
 51127  
 51128  	// Globally unique ID for the crypto key provider.
 51129  	//
 51130  	// Servers with the same ID must provide the same keys.
 51131  	// Cannot be empty.
 51132  	Id string `xml:"id" json:"id"`
 51133  }
 51134  
 51135  func init() {
 51136  	t["KeyProviderId"] = reflect.TypeOf((*KeyProviderId)(nil)).Elem()
 51137  	minAPIVersionForType["KeyProviderId"] = "6.5"
 51138  }
 51139  
 51140  // Non-localized key/value pair
 51141  type KeyValue struct {
 51142  	DynamicData
 51143  
 51144  	// Key.
 51145  	Key string `xml:"key" json:"key"`
 51146  	// Value.
 51147  	Value string `xml:"value" json:"value"`
 51148  }
 51149  
 51150  func init() {
 51151  	t["KeyValue"] = reflect.TypeOf((*KeyValue)(nil)).Elem()
 51152  	minAPIVersionForType["KeyValue"] = "2.5"
 51153  }
 51154  
 51155  // Data Object representing a cluster of KMIP servers.
 51156  //
 51157  // All servers in a cluster must provide the same keys.
 51158  type KmipClusterInfo struct {
 51159  	DynamicData
 51160  
 51161  	// Globally unique ID for the servers providing the same keys.
 51162  	//
 51163  	// All KMIP servers with the same clusterId are in a cluster and all must
 51164  	// provide the same keys for redundancy.
 51165  	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
 51166  	// Servers in this cluster.
 51167  	Servers []KmipServerInfo `xml:"servers,omitempty" json:"servers,omitempty"`
 51168  	// Use this cluster as default for system wide,
 51169  	// when the optional CryptoKeyId.providerId is not set.
 51170  	UseAsDefault bool `xml:"useAsDefault" json:"useAsDefault"`
 51171  	// Key provider management type.
 51172  	//
 51173  	// See `KmipClusterInfoKmsManagementType_enum` for valid values.
 51174  	ManagementType string `xml:"managementType,omitempty" json:"managementType,omitempty" vim:"7.0"`
 51175  	// Use this cluster as default for the managed entities,
 51176  	// when the optional CryptoKeyId.providerId is not set.
 51177  	//
 51178  	// See `CryptoManagerKmip.SetDefaultKmsCluster` for
 51179  	// supported managed entity type.
 51180  	//
 51181  	// Refers instances of `ManagedEntity`.
 51182  	UseAsEntityDefault []ManagedObjectReference `xml:"useAsEntityDefault,omitempty" json:"useAsEntityDefault,omitempty" vim:"7.0"`
 51183  	HasBackup          *bool                    `xml:"hasBackup" json:"hasBackup,omitempty"`
 51184  	TpmRequired        *bool                    `xml:"tpmRequired" json:"tpmRequired,omitempty"`
 51185  	KeyId              string                   `xml:"keyId,omitempty" json:"keyId,omitempty"`
 51186  }
 51187  
 51188  func init() {
 51189  	t["KmipClusterInfo"] = reflect.TypeOf((*KmipClusterInfo)(nil)).Elem()
 51190  	minAPIVersionForType["KmipClusterInfo"] = "6.5"
 51191  }
 51192  
 51193  // Data Object representing a KMIP server connection information.
 51194  type KmipServerInfo struct {
 51195  	DynamicData
 51196  
 51197  	// Name for the KMIP server.
 51198  	Name string `xml:"name" json:"name"`
 51199  	// Address of the KMIP server.
 51200  	Address string `xml:"address" json:"address"`
 51201  	// Port of the KMIP server.
 51202  	Port int32 `xml:"port" json:"port"`
 51203  	// Address of the proxy server.
 51204  	//
 51205  	// Set value to empty string to delete the entry.
 51206  	ProxyAddress string `xml:"proxyAddress,omitempty" json:"proxyAddress,omitempty"`
 51207  	// Port of the proxy server.
 51208  	//
 51209  	// Set value "-1" to delete the entry.
 51210  	ProxyPort int32 `xml:"proxyPort,omitempty" json:"proxyPort,omitempty"`
 51211  	// Should auto-reconnect be done.
 51212  	//
 51213  	// Set value "-1" to delete the entry.
 51214  	Reconnect int32 `xml:"reconnect,omitempty" json:"reconnect,omitempty"`
 51215  	// KMIP library protocol handler, e.g.
 51216  	//
 51217  	// KMIP1.
 51218  	// Set value to empty string to delete the entry.
 51219  	Protocol string `xml:"protocol,omitempty" json:"protocol,omitempty"`
 51220  	// Non-blocking I/O required.
 51221  	//
 51222  	// Set value "-1" to delete the entry.
 51223  	Nbio int32 `xml:"nbio,omitempty" json:"nbio,omitempty"`
 51224  	// I/O timeout in seconds (-1=none,0=infinite).
 51225  	//
 51226  	// Set value "-1" to delete the entry.
 51227  	Timeout int32 `xml:"timeout,omitempty" json:"timeout,omitempty"`
 51228  	// Username to authenticate to the KMIP server.
 51229  	//
 51230  	// Set value to empty string to delete the entry.
 51231  	UserName string `xml:"userName,omitempty" json:"userName,omitempty"`
 51232  }
 51233  
 51234  func init() {
 51235  	t["KmipServerInfo"] = reflect.TypeOf((*KmipServerInfo)(nil)).Elem()
 51236  	minAPIVersionForType["KmipServerInfo"] = "6.5"
 51237  }
 51238  
 51239  // Data Object representing a KMIP server connection spec.
 51240  type KmipServerSpec struct {
 51241  	DynamicData
 51242  
 51243  	// The ID of the KMIP cluster.
 51244  	//
 51245  	// KMIP servers with the same clusterId are in
 51246  	// one cluster and provide the same keys for redundancy.
 51247  	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
 51248  	// Connection information for the KMIP server.
 51249  	Info KmipServerInfo `xml:"info" json:"info"`
 51250  	// Password to authenticate to the KMIP server.
 51251  	//
 51252  	// Set value to empty string to delete the entry.
 51253  	Password string `xml:"password,omitempty" json:"password,omitempty"`
 51254  }
 51255  
 51256  func init() {
 51257  	t["KmipServerSpec"] = reflect.TypeOf((*KmipServerSpec)(nil)).Elem()
 51258  	minAPIVersionForType["KmipServerSpec"] = "6.5"
 51259  }
 51260  
 51261  // Data Object representing a KMIP server status.
 51262  type KmipServerStatus struct {
 51263  	DynamicData
 51264  
 51265  	// The ID of the KMIP cluster.
 51266  	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
 51267  	// Name for the KMIP server.
 51268  	Name string `xml:"name" json:"name"`
 51269  	// KMIP server status.
 51270  	Status ManagedEntityStatus `xml:"status" json:"status"`
 51271  	// KMIP server status description.
 51272  	Description string `xml:"description" json:"description"`
 51273  }
 51274  
 51275  func init() {
 51276  	t["KmipServerStatus"] = reflect.TypeOf((*KmipServerStatus)(nil)).Elem()
 51277  	minAPIVersionForType["KmipServerStatus"] = "6.5"
 51278  }
 51279  
 51280  // The virtual machine is using a 2TB+ RDM device and operation is
 51281  // unable to convert the disk to a different type.
 51282  type LargeRDMConversionNotSupported struct {
 51283  	MigrationFault
 51284  
 51285  	// The name of the disk device using the RDM.
 51286  	Device string `xml:"device" json:"device"`
 51287  }
 51288  
 51289  func init() {
 51290  	t["LargeRDMConversionNotSupported"] = reflect.TypeOf((*LargeRDMConversionNotSupported)(nil)).Elem()
 51291  	minAPIVersionForType["LargeRDMConversionNotSupported"] = "5.0"
 51292  }
 51293  
 51294  type LargeRDMConversionNotSupportedFault LargeRDMConversionNotSupported
 51295  
 51296  func init() {
 51297  	t["LargeRDMConversionNotSupportedFault"] = reflect.TypeOf((*LargeRDMConversionNotSupportedFault)(nil)).Elem()
 51298  }
 51299  
 51300  // The virtual machine is configured with a 2TB+ Raw Disk Mapping.
 51301  //
 51302  // This is not
 51303  // supported on the datastore.
 51304  type LargeRDMNotSupportedOnDatastore struct {
 51305  	VmConfigFault
 51306  
 51307  	// The label of the 2TB+ RDM device that would have its backing placed on
 51308  	// the datastore.
 51309  	//
 51310  	// This is not guaranteed to be the only such device.
 51311  	Device string `xml:"device" json:"device"`
 51312  	// The datastore.
 51313  	//
 51314  	// Refers instance of `Datastore`.
 51315  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 51316  	// The name of the datastore.
 51317  	DatastoreName string `xml:"datastoreName" json:"datastoreName"`
 51318  }
 51319  
 51320  func init() {
 51321  	t["LargeRDMNotSupportedOnDatastore"] = reflect.TypeOf((*LargeRDMNotSupportedOnDatastore)(nil)).Elem()
 51322  	minAPIVersionForType["LargeRDMNotSupportedOnDatastore"] = "5.0"
 51323  }
 51324  
 51325  type LargeRDMNotSupportedOnDatastoreFault LargeRDMNotSupportedOnDatastore
 51326  
 51327  func init() {
 51328  	t["LargeRDMNotSupportedOnDatastoreFault"] = reflect.TypeOf((*LargeRDMNotSupportedOnDatastoreFault)(nil)).Elem()
 51329  }
 51330  
 51331  // Specification of the latency-sensitivity information.
 51332  //
 51333  // The latency-sensitivity is used to request from the kernel a constraint
 51334  // on the scheduling delay of the virtual CPUs or other resources. This allows
 51335  // latency-sensitive applications(e.g. VOIP, audio/video streaming, etc.) to run
 51336  // in a virtual machine which is configured to use specific scheduling
 51337  // latencies and to be scheduled with low latency.
 51338  //
 51339  // The kernel does not provide any guarantee that it will meet the
 51340  // latency-sensitivity requirement of a virtual machine CPU or other resources
 51341  // but it will always accept the latency-sensitivity value provided.
 51342  type LatencySensitivity struct {
 51343  	DynamicData
 51344  
 51345  	// The nominal latency-sensitive level of the application.
 51346  	Level LatencySensitivitySensitivityLevel `xml:"level" json:"level"`
 51347  	// Deprecated as of vSphere version 5.5, this field is deprecated.
 51348  	//
 51349  	// The custom absolute latency-sensitivity value of the application.
 51350  	//
 51351  	// This value will be used only when the latency-sensitivity
 51352  	// `LatencySensitivity.level` property is is set to
 51353  	// <code>custom</code>. It is ignored in all other cases.
 51354  	//
 51355  	// The unit of this value is micro-seconds and the application is more
 51356  	// latency sensitive when this value is smaller. For example, if the
 51357  	// absolute latency-sensitivity is 2000us, the kernel will
 51358  	// try to schedule the virtual machine in a way so that its scheduling
 51359  	// latency is not more than 2ms.
 51360  	Sensitivity int32 `xml:"sensitivity,omitempty" json:"sensitivity,omitempty"`
 51361  }
 51362  
 51363  func init() {
 51364  	t["LatencySensitivity"] = reflect.TypeOf((*LatencySensitivity)(nil)).Elem()
 51365  	minAPIVersionForType["LatencySensitivity"] = "5.1"
 51366  }
 51367  
 51368  // The parameters of `HostActiveDirectoryAuthentication.LeaveCurrentDomain_Task`.
 51369  type LeaveCurrentDomainRequestType struct {
 51370  	This ManagedObjectReference `xml:"_this" json:"-"`
 51371  	// If <code>True</code>, any existing permissions on managed entities for
 51372  	// Active Directory users will be deleted. If <code>False</code> and such
 51373  	// permissions exist, the operation will fail.
 51374  	Force bool `xml:"force" json:"force"`
 51375  }
 51376  
 51377  func init() {
 51378  	t["LeaveCurrentDomainRequestType"] = reflect.TypeOf((*LeaveCurrentDomainRequestType)(nil)).Elem()
 51379  }
 51380  
 51381  type LeaveCurrentDomain_Task LeaveCurrentDomainRequestType
 51382  
 51383  func init() {
 51384  	t["LeaveCurrentDomain_Task"] = reflect.TypeOf((*LeaveCurrentDomain_Task)(nil)).Elem()
 51385  }
 51386  
 51387  type LeaveCurrentDomain_TaskResponse struct {
 51388  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 51389  }
 51390  
 51391  // A virtual machine's network connectivity cannot be determined
 51392  // because it uses a legacy network interface.
 51393  //
 51394  // If returned as part of migration checks,
 51395  // this is an error if the virtual machine is currently connected to the legacy
 51396  // interface, and a warning otherwise.
 51397  type LegacyNetworkInterfaceInUse struct {
 51398  	CannotAccessNetwork
 51399  }
 51400  
 51401  func init() {
 51402  	t["LegacyNetworkInterfaceInUse"] = reflect.TypeOf((*LegacyNetworkInterfaceInUse)(nil)).Elem()
 51403  }
 51404  
 51405  type LegacyNetworkInterfaceInUseFault LegacyNetworkInterfaceInUse
 51406  
 51407  func init() {
 51408  	t["LegacyNetworkInterfaceInUseFault"] = reflect.TypeOf((*LegacyNetworkInterfaceInUseFault)(nil)).Elem()
 51409  }
 51410  
 51411  // A LicenseAssignmentFailed fault is thrown when VirtualCenter
 51412  // fails to assign a license to an entity.
 51413  type LicenseAssignmentFailed struct {
 51414  	RuntimeFault
 51415  
 51416  	// The reason why the assignment failed, if known.
 51417  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 51418  }
 51419  
 51420  func init() {
 51421  	t["LicenseAssignmentFailed"] = reflect.TypeOf((*LicenseAssignmentFailed)(nil)).Elem()
 51422  	minAPIVersionForType["LicenseAssignmentFailed"] = "4.0"
 51423  }
 51424  
 51425  type LicenseAssignmentFailedFault LicenseAssignmentFailed
 51426  
 51427  func init() {
 51428  	t["LicenseAssignmentFailedFault"] = reflect.TypeOf((*LicenseAssignmentFailedFault)(nil)).Elem()
 51429  }
 51430  
 51431  type LicenseAssignmentManagerLicenseAssignment struct {
 51432  	DynamicData
 51433  
 51434  	// Id for the entity
 51435  	EntityId string `xml:"entityId" json:"entityId"`
 51436  	// Scope of the entityId
 51437  	Scope string `xml:"scope,omitempty" json:"scope,omitempty"`
 51438  	// Display name of the entity
 51439  	EntityDisplayName string `xml:"entityDisplayName,omitempty" json:"entityDisplayName,omitempty"`
 51440  	// License assigned to the entity
 51441  	AssignedLicense LicenseManagerLicenseInfo `xml:"assignedLicense" json:"assignedLicense"`
 51442  	// Additional properties associated with this assignment
 51443  	// Some of the properties are:
 51444  	// "inUseFeatures" -- Features in the license key that are being used by the entity
 51445  	// "ProductName" -- Name of the entity.
 51446  	//
 51447  	// Should match the product name of the assigned license.
 51448  	// "ProductVersion" -- Version of the entity. Should match the product version of the assigned license.
 51449  	// "Evaluation" -- EvaluationInfo object representing the evaluation left for the entity.
 51450  	Properties []KeyAnyValue `xml:"properties,omitempty" json:"properties,omitempty"`
 51451  }
 51452  
 51453  func init() {
 51454  	t["LicenseAssignmentManagerLicenseAssignment"] = reflect.TypeOf((*LicenseAssignmentManagerLicenseAssignment)(nil)).Elem()
 51455  }
 51456  
 51457  // Deprecated as of vSphere API 4.0, this is not used by the system.
 51458  //
 51459  // Describes how many licenses of a particular feature is provided by the licensing
 51460  // source.
 51461  type LicenseAvailabilityInfo struct {
 51462  	DynamicData
 51463  
 51464  	// Describes the feature.
 51465  	Feature LicenseFeatureInfo `xml:"feature" json:"feature"`
 51466  	// Total number of licenses for this given type that are installed on the source.
 51467  	Total int32 `xml:"total" json:"total"`
 51468  	// The number of licenses that have not yet been reserved on the source.
 51469  	Available int32 `xml:"available" json:"available"`
 51470  }
 51471  
 51472  func init() {
 51473  	t["LicenseAvailabilityInfo"] = reflect.TypeOf((*LicenseAvailabilityInfo)(nil)).Elem()
 51474  }
 51475  
 51476  // Deprecated as of vSphere API 4.0, this is not used by the system.
 51477  //
 51478  // This data object type provides summary status and diagnostic information for
 51479  // `LicenseManager`.
 51480  //
 51481  // Counters in this property can be reset to zero. The
 51482  // property specified as a discontinuity is used to determine when this last
 51483  // occurred.
 51484  type LicenseDiagnostics struct {
 51485  	DynamicData
 51486  
 51487  	// A timestamp of when sourceAvailable last changed state, expressed in UTC.
 51488  	SourceLastChanged time.Time `xml:"sourceLastChanged" json:"sourceLastChanged"`
 51489  	// Counter to track number of times connection to source was lost.
 51490  	//
 51491  	// This value starts at zero and wraps at 2^32-1 to zero.
 51492  	// Discontinuity: sourceLastChanged.
 51493  	SourceLost string `xml:"sourceLost" json:"sourceLost"`
 51494  	// Exponentially decaying average of the transaction time for license
 51495  	// acquisition and routine communications with LicenseSource.
 51496  	//
 51497  	// Units: milliseconds.
 51498  	SourceLatency float32 `xml:"sourceLatency" json:"sourceLatency"`
 51499  	// Counter to track total number of licenses requested.
 51500  	//
 51501  	// This value starts at zero and wraps at 2^32-1 to zero.
 51502  	// Discontinuity: sourceLastChanged.
 51503  	LicenseRequests string `xml:"licenseRequests" json:"licenseRequests"`
 51504  	// Counter to track Total number of licenses requests that were
 51505  	// not fulfilled (denied, timeout, or other).
 51506  	//
 51507  	// This value starts at zero and wraps at 2^32-1 to zero.
 51508  	// Discontinuity: sourceLastChanged.
 51509  	LicenseRequestFailures string `xml:"licenseRequestFailures" json:"licenseRequestFailures"`
 51510  	// Counter to track Total number of license features parsed from
 51511  	// License source that are not recognized.
 51512  	//
 51513  	// This value starts at zero and wraps at 2^32-1 to zero.
 51514  	// Discontinuity: sourceLastChanged.
 51515  	LicenseFeatureUnknowns string `xml:"licenseFeatureUnknowns" json:"licenseFeatureUnknowns"`
 51516  	// The general state of the license subsystem.
 51517  	OpState LicenseManagerState `xml:"opState" json:"opState"`
 51518  	// A timestamp of when opState was last updated.
 51519  	LastStatusUpdate time.Time `xml:"lastStatusUpdate" json:"lastStatusUpdate"`
 51520  	// A human readable reason when optState reports Fault condition.
 51521  	OpFailureMessage string `xml:"opFailureMessage" json:"opFailureMessage"`
 51522  }
 51523  
 51524  func init() {
 51525  	t["LicenseDiagnostics"] = reflect.TypeOf((*LicenseDiagnostics)(nil)).Elem()
 51526  	minAPIVersionForType["LicenseDiagnostics"] = "2.5"
 51527  }
 51528  
 51529  // A LicenseDowngradeDisallowed fault is thrown if an assignment operation tries to downgrade a license that does have certain licensed features which are in use.
 51530  type LicenseDowngradeDisallowed struct {
 51531  	NotEnoughLicenses
 51532  
 51533  	Edition  string `xml:"edition" json:"edition"`
 51534  	EntityId string `xml:"entityId" json:"entityId"`
 51535  	// List of conflicting features that prevent
 51536  	// downgrade
 51537  	Features []KeyAnyValue `xml:"features" json:"features"`
 51538  }
 51539  
 51540  func init() {
 51541  	t["LicenseDowngradeDisallowed"] = reflect.TypeOf((*LicenseDowngradeDisallowed)(nil)).Elem()
 51542  	minAPIVersionForType["LicenseDowngradeDisallowed"] = "4.0"
 51543  }
 51544  
 51545  type LicenseDowngradeDisallowedFault LicenseDowngradeDisallowed
 51546  
 51547  func init() {
 51548  	t["LicenseDowngradeDisallowedFault"] = reflect.TypeOf((*LicenseDowngradeDisallowedFault)(nil)).Elem()
 51549  }
 51550  
 51551  // An LicenseEntityNotFound fault is thrown when an attempt is
 51552  // do any operation on an entity/licensed asset that does not exist.
 51553  //
 51554  // Example, remove an entity that does not exist.
 51555  type LicenseEntityNotFound struct {
 51556  	VimFault
 51557  
 51558  	EntityId string `xml:"entityId" json:"entityId"`
 51559  }
 51560  
 51561  func init() {
 51562  	t["LicenseEntityNotFound"] = reflect.TypeOf((*LicenseEntityNotFound)(nil)).Elem()
 51563  	minAPIVersionForType["LicenseEntityNotFound"] = "4.0"
 51564  }
 51565  
 51566  type LicenseEntityNotFoundFault LicenseEntityNotFound
 51567  
 51568  func init() {
 51569  	t["LicenseEntityNotFoundFault"] = reflect.TypeOf((*LicenseEntityNotFoundFault)(nil)).Elem()
 51570  }
 51571  
 51572  // This is a base licensing event to group all license events.
 51573  type LicenseEvent struct {
 51574  	Event
 51575  }
 51576  
 51577  func init() {
 51578  	t["LicenseEvent"] = reflect.TypeOf((*LicenseEvent)(nil)).Elem()
 51579  }
 51580  
 51581  // A LicenseExpired fault is thrown if it an operation is unsuccessful because the license used for the operation has expired.
 51582  type LicenseExpired struct {
 51583  	NotEnoughLicenses
 51584  
 51585  	// License key that has expired
 51586  	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
 51587  }
 51588  
 51589  func init() {
 51590  	t["LicenseExpired"] = reflect.TypeOf((*LicenseExpired)(nil)).Elem()
 51591  	minAPIVersionForType["LicenseExpired"] = "4.0"
 51592  }
 51593  
 51594  // This event records the expiration of a license.
 51595  type LicenseExpiredEvent struct {
 51596  	Event
 51597  
 51598  	Feature LicenseFeatureInfo `xml:"feature" json:"feature"`
 51599  }
 51600  
 51601  func init() {
 51602  	t["LicenseExpiredEvent"] = reflect.TypeOf((*LicenseExpiredEvent)(nil)).Elem()
 51603  }
 51604  
 51605  type LicenseExpiredFault LicenseExpired
 51606  
 51607  func init() {
 51608  	t["LicenseExpiredFault"] = reflect.TypeOf((*LicenseExpiredFault)(nil)).Elem()
 51609  }
 51610  
 51611  // Deprecated as of vSphere API 4.0, this is not used by the system.
 51612  //
 51613  // A single feature that can be licensed.
 51614  //
 51615  // This information is immutable.
 51616  type LicenseFeatureInfo struct {
 51617  	DynamicData
 51618  
 51619  	// Unique identifier for license as defined in License source data.
 51620  	//
 51621  	// Max length of this string is 64 characters of ASCII/ISO Latin-1
 51622  	// character set.
 51623  	Key string `xml:"key" json:"key"`
 51624  	// The display string for the feature name.
 51625  	FeatureName string `xml:"featureName" json:"featureName"`
 51626  	// A human readable description of what function this feature enables.
 51627  	FeatureDescription string `xml:"featureDescription,omitempty" json:"featureDescription,omitempty" vim:"2.5"`
 51628  	// Describes the state of the feature based on the current edition license.
 51629  	//
 51630  	// This
 51631  	// property is unset for an edition license.
 51632  	State LicenseFeatureInfoState `xml:"state,omitempty" json:"state,omitempty"`
 51633  	// Each license has a cost associated with it and the value of costUnit
 51634  	// specifies the applicable unit.
 51635  	//
 51636  	// See also `LicenseFeatureInfoUnit_enum`.
 51637  	CostUnit string `xml:"costUnit" json:"costUnit"`
 51638  	// Describe any restriction on the source of a license for this feature.
 51639  	//
 51640  	// See also `LicenseFeatureInfoSourceRestriction_enum`.
 51641  	SourceRestriction string `xml:"sourceRestriction,omitempty" json:"sourceRestriction,omitempty" vim:"2.5"`
 51642  	// Report List of feature keys used by this edition.
 51643  	DependentKey []string `xml:"dependentKey,omitempty" json:"dependentKey,omitempty" vim:"2.5"`
 51644  	// Flag to indicate whether the feature is an edition.
 51645  	Edition *bool `xml:"edition" json:"edition,omitempty" vim:"2.5"`
 51646  	// Date representing the expiration date
 51647  	ExpiresOn *time.Time `xml:"expiresOn" json:"expiresOn,omitempty" vim:"2.5"`
 51648  }
 51649  
 51650  func init() {
 51651  	t["LicenseFeatureInfo"] = reflect.TypeOf((*LicenseFeatureInfo)(nil)).Elem()
 51652  }
 51653  
 51654  // A LicenseKeyEntityMismatch fault is thrown if an assignment operation tries to assign a license that does not apply to an entity.
 51655  //
 51656  // For example assigning a host license to VirtualCenter.
 51657  type LicenseKeyEntityMismatch struct {
 51658  	NotEnoughLicenses
 51659  }
 51660  
 51661  func init() {
 51662  	t["LicenseKeyEntityMismatch"] = reflect.TypeOf((*LicenseKeyEntityMismatch)(nil)).Elem()
 51663  	minAPIVersionForType["LicenseKeyEntityMismatch"] = "4.0"
 51664  }
 51665  
 51666  type LicenseKeyEntityMismatchFault LicenseKeyEntityMismatch
 51667  
 51668  func init() {
 51669  	t["LicenseKeyEntityMismatchFault"] = reflect.TypeOf((*LicenseKeyEntityMismatchFault)(nil)).Elem()
 51670  }
 51671  
 51672  // Encapsulates product evaluation information
 51673  type LicenseManagerEvaluationInfo struct {
 51674  	DynamicData
 51675  
 51676  	// Evaluation properties
 51677  	Properties []KeyAnyValue `xml:"properties" json:"properties"`
 51678  }
 51679  
 51680  func init() {
 51681  	t["LicenseManagerEvaluationInfo"] = reflect.TypeOf((*LicenseManagerEvaluationInfo)(nil)).Elem()
 51682  	minAPIVersionForType["LicenseManagerEvaluationInfo"] = "4.0"
 51683  }
 51684  
 51685  // Encapsulates information about a license
 51686  type LicenseManagerLicenseInfo struct {
 51687  	DynamicData
 51688  
 51689  	// Key for the license.
 51690  	//
 51691  	// E.g. serial number.
 51692  	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
 51693  	// Edition key.
 51694  	EditionKey string `xml:"editionKey" json:"editionKey"`
 51695  	// Display name for the license
 51696  	Name string `xml:"name" json:"name"`
 51697  	// Total number of units contain in the license
 51698  	Total int32 `xml:"total" json:"total"`
 51699  	// Number of units used from this license
 51700  	Used int32 `xml:"used,omitempty" json:"used,omitempty"`
 51701  	// The cost unit for this license
 51702  	CostUnit string `xml:"costUnit" json:"costUnit"`
 51703  	// Additional properties associated with this license
 51704  	Properties []KeyAnyValue `xml:"properties,omitempty" json:"properties,omitempty"`
 51705  	// Key-value lables for this license
 51706  	Labels []KeyValue `xml:"labels,omitempty" json:"labels,omitempty"`
 51707  }
 51708  
 51709  func init() {
 51710  	t["LicenseManagerLicenseInfo"] = reflect.TypeOf((*LicenseManagerLicenseInfo)(nil)).Elem()
 51711  	minAPIVersionForType["LicenseManagerLicenseInfo"] = "4.0"
 51712  }
 51713  
 51714  // This event records that the inventory is not license compliant.
 51715  type LicenseNonComplianceEvent struct {
 51716  	LicenseEvent
 51717  
 51718  	// Gives the url at which more details about non-compliance
 51719  	// can be found.
 51720  	Url string `xml:"url" json:"url"`
 51721  }
 51722  
 51723  func init() {
 51724  	t["LicenseNonComplianceEvent"] = reflect.TypeOf((*LicenseNonComplianceEvent)(nil)).Elem()
 51725  	minAPIVersionForType["LicenseNonComplianceEvent"] = "4.0"
 51726  }
 51727  
 51728  // Deprecated as of vSphere API 4.0, this is not used by the system.
 51729  //
 51730  // A reservation describes how many licenses of a particular feature are being used
 51731  // by a particular feature.
 51732  type LicenseReservationInfo struct {
 51733  	DynamicData
 51734  
 51735  	// Key of the License Feature.
 51736  	//
 51737  	// See also `LicenseFeatureInfo.key`.
 51738  	Key string `xml:"key" json:"key"`
 51739  	// Describes the reservation state of a license.
 51740  	State LicenseReservationInfoState `xml:"state" json:"state"`
 51741  	// Contains the required number of licenses of the particular type that the
 51742  	// product needs in its current configuration.
 51743  	//
 51744  	// Licenses are normally allocated at the same time as they are needed, so the
 51745  	// value of required is set at the time the license is needed. For example,
 51746  	// in the case of the number of licenses based on virtual machines, the required
 51747  	// count is set at the time a virtual machine is powered on, just before the
 51748  	// license is checked out.
 51749  	Required int32 `xml:"required" json:"required"`
 51750  }
 51751  
 51752  func init() {
 51753  	t["LicenseReservationInfo"] = reflect.TypeOf((*LicenseReservationInfo)(nil)).Elem()
 51754  }
 51755  
 51756  // This fault is thrown if the required licenses were unable to be checked
 51757  // out due to a restriction in the option file of the license server.
 51758  type LicenseRestricted struct {
 51759  	NotEnoughLicenses
 51760  }
 51761  
 51762  func init() {
 51763  	t["LicenseRestricted"] = reflect.TypeOf((*LicenseRestricted)(nil)).Elem()
 51764  	minAPIVersionForType["LicenseRestricted"] = "2.5"
 51765  }
 51766  
 51767  // This event records if the required licenses could not be reserved because
 51768  // of a restriction in the option file.
 51769  type LicenseRestrictedEvent struct {
 51770  	LicenseEvent
 51771  }
 51772  
 51773  func init() {
 51774  	t["LicenseRestrictedEvent"] = reflect.TypeOf((*LicenseRestrictedEvent)(nil)).Elem()
 51775  	minAPIVersionForType["LicenseRestrictedEvent"] = "2.5"
 51776  }
 51777  
 51778  type LicenseRestrictedFault LicenseRestricted
 51779  
 51780  func init() {
 51781  	t["LicenseRestrictedFault"] = reflect.TypeOf((*LicenseRestrictedFault)(nil)).Elem()
 51782  }
 51783  
 51784  // This event is reported if the LicenseServer was previously unreachable
 51785  // and is now reachable.
 51786  type LicenseServerAvailableEvent struct {
 51787  	LicenseEvent
 51788  
 51789  	LicenseServer string `xml:"licenseServer" json:"licenseServer"`
 51790  }
 51791  
 51792  func init() {
 51793  	t["LicenseServerAvailableEvent"] = reflect.TypeOf((*LicenseServerAvailableEvent)(nil)).Elem()
 51794  }
 51795  
 51796  // Deprecated as of vSphere API 4.0, this is not used by the system.
 51797  //
 51798  // Specify a license server reachable via IPv4 network.
 51799  type LicenseServerSource struct {
 51800  	LicenseSource
 51801  
 51802  	// This property defines the server to establish a TCP session to
 51803  	// obtain license data.
 51804  	//
 51805  	// Format of string is host:port
 51806  	// Port is optional unsigned 16 bit integer license
 51807  	// server is listening on. A trailing colon ':' without a port number
 51808  	// is a valid expression.
 51809  	// Host can either be an IPv4 address in dotted quad
 51810  	// format or a resolvable DNS name &leq;254 characters. See RFC 3696.
 51811  	LicenseServer string `xml:"licenseServer" json:"licenseServer"`
 51812  }
 51813  
 51814  func init() {
 51815  	t["LicenseServerSource"] = reflect.TypeOf((*LicenseServerSource)(nil)).Elem()
 51816  }
 51817  
 51818  // This fault is thrown when the License Server
 51819  // is unavailable during an attempt to change license state.
 51820  type LicenseServerUnavailable struct {
 51821  	VimFault
 51822  
 51823  	// The name of the unavailable license server.
 51824  	LicenseServer string `xml:"licenseServer" json:"licenseServer"`
 51825  }
 51826  
 51827  func init() {
 51828  	t["LicenseServerUnavailable"] = reflect.TypeOf((*LicenseServerUnavailable)(nil)).Elem()
 51829  }
 51830  
 51831  // This event is reported if the LicenseServer becomes unreachable.
 51832  type LicenseServerUnavailableEvent struct {
 51833  	LicenseEvent
 51834  
 51835  	LicenseServer string `xml:"licenseServer" json:"licenseServer"`
 51836  }
 51837  
 51838  func init() {
 51839  	t["LicenseServerUnavailableEvent"] = reflect.TypeOf((*LicenseServerUnavailableEvent)(nil)).Elem()
 51840  }
 51841  
 51842  type LicenseServerUnavailableFault LicenseServerUnavailable
 51843  
 51844  func init() {
 51845  	t["LicenseServerUnavailableFault"] = reflect.TypeOf((*LicenseServerUnavailableFault)(nil)).Elem()
 51846  }
 51847  
 51848  // Deprecated as of vSphere API 4.0, this is not used by the system.
 51849  //
 51850  // This data object type is used to communicate configuration about
 51851  // where to find licenses to use for this system.
 51852  type LicenseSource struct {
 51853  	DynamicData
 51854  }
 51855  
 51856  func init() {
 51857  	t["LicenseSource"] = reflect.TypeOf((*LicenseSource)(nil)).Elem()
 51858  }
 51859  
 51860  // A LicenseSourceUnavailable is thrown if it is unable to check out a license because
 51861  // the license source is unavailable.
 51862  type LicenseSourceUnavailable struct {
 51863  	NotEnoughLicenses
 51864  
 51865  	// License source
 51866  	LicenseSource BaseLicenseSource `xml:"licenseSource,typeattr" json:"licenseSource"`
 51867  }
 51868  
 51869  func init() {
 51870  	t["LicenseSourceUnavailable"] = reflect.TypeOf((*LicenseSourceUnavailable)(nil)).Elem()
 51871  	minAPIVersionForType["LicenseSourceUnavailable"] = "2.5"
 51872  }
 51873  
 51874  type LicenseSourceUnavailableFault LicenseSourceUnavailable
 51875  
 51876  func init() {
 51877  	t["LicenseSourceUnavailableFault"] = reflect.TypeOf((*LicenseSourceUnavailableFault)(nil)).Elem()
 51878  }
 51879  
 51880  // Deprecated as of vSphere API 4.0, this is not used by the system.
 51881  //
 51882  // Contains source information, licensed features, and usage.
 51883  type LicenseUsageInfo struct {
 51884  	DynamicData
 51885  
 51886  	// The source from which licensing data is acquired.
 51887  	//
 51888  	// See also `LicenseSource`.
 51889  	Source BaseLicenseSource `xml:"source,typeattr" json:"source"`
 51890  	// Returns whether or not the source is currently available.
 51891  	//
 51892  	// See also `LicenseManager.sourceAvailable`.
 51893  	SourceAvailable bool `xml:"sourceAvailable" json:"sourceAvailable"`
 51894  	// A list of feature reservations.
 51895  	ReservationInfo []LicenseReservationInfo `xml:"reservationInfo,omitempty" json:"reservationInfo,omitempty"`
 51896  	// Includes all the features that are referenced in the reservation array.
 51897  	FeatureInfo []LicenseFeatureInfo `xml:"featureInfo,omitempty" json:"featureInfo,omitempty"`
 51898  }
 51899  
 51900  func init() {
 51901  	t["LicenseUsageInfo"] = reflect.TypeOf((*LicenseUsageInfo)(nil)).Elem()
 51902  }
 51903  
 51904  // This exception is thrown if one of the arguments passed to the function exceeds
 51905  // a limit.
 51906  type LimitExceeded struct {
 51907  	VimFault
 51908  
 51909  	// The name of the property that exceeds the limit.
 51910  	Property string `xml:"property,omitempty" json:"property,omitempty"`
 51911  	// The limit value.
 51912  	Limit *int32 `xml:"limit" json:"limit,omitempty"`
 51913  }
 51914  
 51915  func init() {
 51916  	t["LimitExceeded"] = reflect.TypeOf((*LimitExceeded)(nil)).Elem()
 51917  	minAPIVersionForType["LimitExceeded"] = "4.0"
 51918  }
 51919  
 51920  type LimitExceededFault LimitExceeded
 51921  
 51922  func init() {
 51923  	t["LimitExceededFault"] = reflect.TypeOf((*LimitExceededFault)(nil)).Elem()
 51924  }
 51925  
 51926  // Dataobject representing the link discovery protocol configuration for a
 51927  // virtual or distributed virtual switch.
 51928  type LinkDiscoveryProtocolConfig struct {
 51929  	DynamicData
 51930  
 51931  	// The discovery protocol type.
 51932  	//
 51933  	// For valid values
 51934  	// see `LinkDiscoveryProtocolConfigProtocolType_enum`.
 51935  	Protocol string `xml:"protocol" json:"protocol"`
 51936  	// Whether to advertise or listen.
 51937  	//
 51938  	// For valid values see
 51939  	// `LinkDiscoveryProtocolConfigOperationType_enum`.
 51940  	Operation string `xml:"operation" json:"operation"`
 51941  }
 51942  
 51943  func init() {
 51944  	t["LinkDiscoveryProtocolConfig"] = reflect.TypeOf((*LinkDiscoveryProtocolConfig)(nil)).Elem()
 51945  	minAPIVersionForType["LinkDiscoveryProtocolConfig"] = "4.0"
 51946  }
 51947  
 51948  // The Link Layer Discovery Protocol information.
 51949  type LinkLayerDiscoveryProtocolInfo struct {
 51950  	DynamicData
 51951  
 51952  	// ChassisId represents the chassis identification for the device that
 51953  	// transmitted the LLDP frame.
 51954  	//
 51955  	// The receiving LLDP agent combines the
 51956  	// Chassis ID and portId to represent the entity connected to the port
 51957  	// where the frame was received.
 51958  	ChassisId string `xml:"chassisId" json:"chassisId"`
 51959  	// This property identifies the specific port that transmitted the LLDP
 51960  	// frame.
 51961  	//
 51962  	// The receiving LLDP agent combines the Chassis ID and Port to
 51963  	// represent the entity connected to the port where the frame was received.
 51964  	PortId string `xml:"portId" json:"portId"`
 51965  	// It is the duration of time in seconds for which information contained
 51966  	// in the received LLDP frame shall be valid.
 51967  	//
 51968  	// If a value of zero is sent
 51969  	// it can also identify a device that has shut down or is no longer
 51970  	// transmitting, prompting deletion of the record from the local database.
 51971  	TimeToLive int32 `xml:"timeToLive" json:"timeToLive"`
 51972  	// LLDP parameters
 51973  	Parameter []KeyAnyValue `xml:"parameter,omitempty" json:"parameter,omitempty"`
 51974  }
 51975  
 51976  func init() {
 51977  	t["LinkLayerDiscoveryProtocolInfo"] = reflect.TypeOf((*LinkLayerDiscoveryProtocolInfo)(nil)).Elem()
 51978  	minAPIVersionForType["LinkLayerDiscoveryProtocolInfo"] = "5.0"
 51979  }
 51980  
 51981  // The LinkProfile data object represents a subprofile
 51982  // for links connected to virtual switch.
 51983  type LinkProfile struct {
 51984  	ApplyProfile
 51985  }
 51986  
 51987  func init() {
 51988  	t["LinkProfile"] = reflect.TypeOf((*LinkProfile)(nil)).Elem()
 51989  	minAPIVersionForType["LinkProfile"] = "4.0"
 51990  }
 51991  
 51992  // Customization operation is performed on a linux source vm that
 51993  // was not shut down properly.
 51994  //
 51995  // If the filesystem has significant
 51996  // fsck errors on it, customization process cannot make changes
 51997  // to it.
 51998  type LinuxVolumeNotClean struct {
 51999  	CustomizationFault
 52000  }
 52001  
 52002  func init() {
 52003  	t["LinuxVolumeNotClean"] = reflect.TypeOf((*LinuxVolumeNotClean)(nil)).Elem()
 52004  }
 52005  
 52006  type LinuxVolumeNotCleanFault LinuxVolumeNotClean
 52007  
 52008  func init() {
 52009  	t["LinuxVolumeNotCleanFault"] = reflect.TypeOf((*LinuxVolumeNotCleanFault)(nil)).Elem()
 52010  }
 52011  
 52012  type ListCACertificateRevocationLists ListCACertificateRevocationListsRequestType
 52013  
 52014  func init() {
 52015  	t["ListCACertificateRevocationLists"] = reflect.TypeOf((*ListCACertificateRevocationLists)(nil)).Elem()
 52016  }
 52017  
 52018  type ListCACertificateRevocationListsRequestType struct {
 52019  	This ManagedObjectReference `xml:"_this" json:"-"`
 52020  }
 52021  
 52022  func init() {
 52023  	t["ListCACertificateRevocationListsRequestType"] = reflect.TypeOf((*ListCACertificateRevocationListsRequestType)(nil)).Elem()
 52024  }
 52025  
 52026  type ListCACertificateRevocationListsResponse struct {
 52027  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 52028  }
 52029  
 52030  type ListCACertificates ListCACertificatesRequestType
 52031  
 52032  func init() {
 52033  	t["ListCACertificates"] = reflect.TypeOf((*ListCACertificates)(nil)).Elem()
 52034  }
 52035  
 52036  type ListCACertificatesRequestType struct {
 52037  	This ManagedObjectReference `xml:"_this" json:"-"`
 52038  }
 52039  
 52040  func init() {
 52041  	t["ListCACertificatesRequestType"] = reflect.TypeOf((*ListCACertificatesRequestType)(nil)).Elem()
 52042  }
 52043  
 52044  type ListCACertificatesResponse struct {
 52045  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 52046  }
 52047  
 52048  type ListFilesInGuest ListFilesInGuestRequestType
 52049  
 52050  func init() {
 52051  	t["ListFilesInGuest"] = reflect.TypeOf((*ListFilesInGuest)(nil)).Elem()
 52052  }
 52053  
 52054  // The parameters of `GuestFileManager.ListFilesInGuest`.
 52055  type ListFilesInGuestRequestType struct {
 52056  	This ManagedObjectReference `xml:"_this" json:"-"`
 52057  	// Virtual Machine to perform the operation on.
 52058  	//
 52059  	// Required privileges: VirtualMachine.GuestOperations.Query
 52060  	//
 52061  	// Refers instance of `VirtualMachine`.
 52062  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 52063  	// The guest authentication data. See
 52064  	// `GuestAuthentication`.
 52065  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 52066  	// The complete path to the directory or file to query.
 52067  	FilePath string `xml:"filePath" json:"filePath"`
 52068  	// Which result to start the list with. The default is 0.
 52069  	Index int32 `xml:"index,omitempty" json:"index,omitempty"`
 52070  	// The maximum number of results to return. The default
 52071  	// is 50.
 52072  	MaxResults int32 `xml:"maxResults,omitempty" json:"maxResults,omitempty"`
 52073  	// A filter for the return values.
 52074  	// Match patterns are specified using perl-compatible regular
 52075  	// expressions.
 52076  	// If matchPattern is unset, then the pattern '.\*' is used.
 52077  	MatchPattern string `xml:"matchPattern,omitempty" json:"matchPattern,omitempty"`
 52078  }
 52079  
 52080  func init() {
 52081  	t["ListFilesInGuestRequestType"] = reflect.TypeOf((*ListFilesInGuestRequestType)(nil)).Elem()
 52082  }
 52083  
 52084  type ListFilesInGuestResponse struct {
 52085  	Returnval GuestListFileInfo `xml:"returnval" json:"returnval"`
 52086  }
 52087  
 52088  type ListGuestAliases ListGuestAliasesRequestType
 52089  
 52090  func init() {
 52091  	t["ListGuestAliases"] = reflect.TypeOf((*ListGuestAliases)(nil)).Elem()
 52092  }
 52093  
 52094  // The parameters of `GuestAliasManager.ListGuestAliases`.
 52095  type ListGuestAliasesRequestType struct {
 52096  	This ManagedObjectReference `xml:"_this" json:"-"`
 52097  	// Virtual machine to perform the operation on.
 52098  	//
 52099  	// Required privileges: VirtualMachine.GuestOperations.QueryAliases
 52100  	//
 52101  	// Refers instance of `VirtualMachine`.
 52102  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 52103  	// The guest authentication data for this operation. See
 52104  	// `GuestAuthentication`. These credentials must satisfy
 52105  	// authentication requirements
 52106  	// for a guest account on the specified virtual machine.
 52107  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 52108  	// The guest user whose Alias store is being queried.
 52109  	Username string `xml:"username" json:"username"`
 52110  }
 52111  
 52112  func init() {
 52113  	t["ListGuestAliasesRequestType"] = reflect.TypeOf((*ListGuestAliasesRequestType)(nil)).Elem()
 52114  }
 52115  
 52116  type ListGuestAliasesResponse struct {
 52117  	Returnval []GuestAliases `xml:"returnval,omitempty" json:"returnval,omitempty"`
 52118  }
 52119  
 52120  type ListGuestMappedAliases ListGuestMappedAliasesRequestType
 52121  
 52122  func init() {
 52123  	t["ListGuestMappedAliases"] = reflect.TypeOf((*ListGuestMappedAliases)(nil)).Elem()
 52124  }
 52125  
 52126  // The parameters of `GuestAliasManager.ListGuestMappedAliases`.
 52127  type ListGuestMappedAliasesRequestType struct {
 52128  	This ManagedObjectReference `xml:"_this" json:"-"`
 52129  	// Virtual machine to perform the operation on.
 52130  	//
 52131  	// Required privileges: VirtualMachine.GuestOperations.QueryAliases
 52132  	//
 52133  	// Refers instance of `VirtualMachine`.
 52134  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 52135  	// The guest authentication data for this operation. See
 52136  	// `GuestAuthentication`. These credentials must satisfy
 52137  	// authentication requirements
 52138  	// for a guest account on the specified virtual machine.
 52139  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 52140  }
 52141  
 52142  func init() {
 52143  	t["ListGuestMappedAliasesRequestType"] = reflect.TypeOf((*ListGuestMappedAliasesRequestType)(nil)).Elem()
 52144  }
 52145  
 52146  type ListGuestMappedAliasesResponse struct {
 52147  	Returnval []GuestMappedAliases `xml:"returnval,omitempty" json:"returnval,omitempty"`
 52148  }
 52149  
 52150  type ListKeys ListKeysRequestType
 52151  
 52152  func init() {
 52153  	t["ListKeys"] = reflect.TypeOf((*ListKeys)(nil)).Elem()
 52154  }
 52155  
 52156  // The parameters of `CryptoManager.ListKeys`.
 52157  type ListKeysRequestType struct {
 52158  	This ManagedObjectReference `xml:"_this" json:"-"`
 52159  	// \[in\] maximum keys to return.
 52160  	Limit *int32 `xml:"limit" json:"limit,omitempty"`
 52161  }
 52162  
 52163  func init() {
 52164  	t["ListKeysRequestType"] = reflect.TypeOf((*ListKeysRequestType)(nil)).Elem()
 52165  }
 52166  
 52167  type ListKeysResponse struct {
 52168  	Returnval []CryptoKeyId `xml:"returnval,omitempty" json:"returnval,omitempty"`
 52169  }
 52170  
 52171  type ListKmipServers ListKmipServersRequestType
 52172  
 52173  func init() {
 52174  	t["ListKmipServers"] = reflect.TypeOf((*ListKmipServers)(nil)).Elem()
 52175  }
 52176  
 52177  // The parameters of `CryptoManagerKmip.ListKmipServers`.
 52178  type ListKmipServersRequestType struct {
 52179  	This ManagedObjectReference `xml:"_this" json:"-"`
 52180  	// \[in\] maximum clusters to return.
 52181  	Limit *int32 `xml:"limit" json:"limit,omitempty"`
 52182  }
 52183  
 52184  func init() {
 52185  	t["ListKmipServersRequestType"] = reflect.TypeOf((*ListKmipServersRequestType)(nil)).Elem()
 52186  }
 52187  
 52188  type ListKmipServersResponse struct {
 52189  	Returnval []KmipClusterInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 52190  }
 52191  
 52192  type ListKmsClusters ListKmsClustersRequestType
 52193  
 52194  func init() {
 52195  	t["ListKmsClusters"] = reflect.TypeOf((*ListKmsClusters)(nil)).Elem()
 52196  }
 52197  
 52198  // The parameters of `CryptoManagerKmip.ListKmsClusters`.
 52199  type ListKmsClustersRequestType struct {
 52200  	This ManagedObjectReference `xml:"_this" json:"-"`
 52201  	// \[in\] Whether to list KMS servers information
 52202  	// in the cluster.
 52203  	// By default will not include the KMS servers
 52204  	// information.
 52205  	IncludeKmsServers *bool `xml:"includeKmsServers" json:"includeKmsServers,omitempty"`
 52206  	// \[in\] The KMS cluster management type filter.
 52207  	// Bit map values:
 52208  	// 0x01 - Return VC managed Key Providers
 52209  	// registered in the CryptoManager.
 52210  	// 0x02 - Return Trusted Key Providers
 52211  	// registered in the CryptoManager.
 52212  	// 0x04 - Return Trusted Key Providers which are
 52213  	// not registered with the CryptoManager.
 52214  	// 0x08 - Return Native Key Providers.
 52215  	// others - reserved, will be ignored
 52216  	// If omitted or -1, then all kinds of Key Providers
 52217  	// will be returned.
 52218  	ManagementTypeFilter int32 `xml:"managementTypeFilter,omitempty" json:"managementTypeFilter,omitempty"`
 52219  	// \[in\] The Key Provider status filter.
 52220  	// Bit map values:
 52221  	// 0x01 - Return active Key Providers.
 52222  	// 0x02 - Return inactive Key Providers.
 52223  	// others - reserved, will be ignored
 52224  	// If omitted or -1, then all status of Key Providers
 52225  	// will be returned.
 52226  	StatusFilter int32 `xml:"statusFilter,omitempty" json:"statusFilter,omitempty"`
 52227  }
 52228  
 52229  func init() {
 52230  	t["ListKmsClustersRequestType"] = reflect.TypeOf((*ListKmsClustersRequestType)(nil)).Elem()
 52231  }
 52232  
 52233  type ListKmsClustersResponse struct {
 52234  	Returnval []KmipClusterInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 52235  }
 52236  
 52237  type ListProcessesInGuest ListProcessesInGuestRequestType
 52238  
 52239  func init() {
 52240  	t["ListProcessesInGuest"] = reflect.TypeOf((*ListProcessesInGuest)(nil)).Elem()
 52241  }
 52242  
 52243  // The parameters of `GuestProcessManager.ListProcessesInGuest`.
 52244  type ListProcessesInGuestRequestType struct {
 52245  	This ManagedObjectReference `xml:"_this" json:"-"`
 52246  	// Virtual machine to perform the operation on.
 52247  	//
 52248  	// Required privileges: VirtualMachine.GuestOperations.Query
 52249  	//
 52250  	// Refers instance of `VirtualMachine`.
 52251  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 52252  	// The guest authentication data. See
 52253  	// `GuestAuthentication`.
 52254  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 52255  	// If set, only return information about the specified processes.
 52256  	// Otherwise, information about all processes are returned.
 52257  	// If a specified processes does not exist, nothing will
 52258  	// be returned for that process.
 52259  	Pids []int64 `xml:"pids,omitempty" json:"pids,omitempty"`
 52260  }
 52261  
 52262  func init() {
 52263  	t["ListProcessesInGuestRequestType"] = reflect.TypeOf((*ListProcessesInGuestRequestType)(nil)).Elem()
 52264  }
 52265  
 52266  type ListProcessesInGuestResponse struct {
 52267  	Returnval []GuestProcessInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 52268  }
 52269  
 52270  type ListRegistryKeysInGuest ListRegistryKeysInGuestRequestType
 52271  
 52272  func init() {
 52273  	t["ListRegistryKeysInGuest"] = reflect.TypeOf((*ListRegistryKeysInGuest)(nil)).Elem()
 52274  }
 52275  
 52276  // The parameters of `GuestWindowsRegistryManager.ListRegistryKeysInGuest`.
 52277  type ListRegistryKeysInGuestRequestType struct {
 52278  	This ManagedObjectReference `xml:"_this" json:"-"`
 52279  	// Virtual machine to perform the operation on.
 52280  	//
 52281  	// Required privileges: VirtualMachine.GuestOperations.Query
 52282  	//
 52283  	// Refers instance of `VirtualMachine`.
 52284  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 52285  	// The guest authentication data.
 52286  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 52287  	// The path to the registry key for which all subkeys are to
 52288  	// be listed.
 52289  	KeyName GuestRegKeyNameSpec `xml:"keyName" json:"keyName"`
 52290  	// If true, all subkeys are listed recursively.
 52291  	Recursive bool `xml:"recursive" json:"recursive"`
 52292  	// A filter for the key names returned, specified using
 52293  	// perl-compatible regular expressions. If matchPattern
 52294  	// is unset, then the pattern '.\*' is used, which returns
 52295  	// all key names found, otherwise only those key names
 52296  	// that match the input pattern shall be returned.
 52297  	MatchPattern string `xml:"matchPattern,omitempty" json:"matchPattern,omitempty"`
 52298  }
 52299  
 52300  func init() {
 52301  	t["ListRegistryKeysInGuestRequestType"] = reflect.TypeOf((*ListRegistryKeysInGuestRequestType)(nil)).Elem()
 52302  }
 52303  
 52304  type ListRegistryKeysInGuestResponse struct {
 52305  	Returnval []GuestRegKeyRecordSpec `xml:"returnval,omitempty" json:"returnval,omitempty"`
 52306  }
 52307  
 52308  type ListRegistryValuesInGuest ListRegistryValuesInGuestRequestType
 52309  
 52310  func init() {
 52311  	t["ListRegistryValuesInGuest"] = reflect.TypeOf((*ListRegistryValuesInGuest)(nil)).Elem()
 52312  }
 52313  
 52314  // The parameters of `GuestWindowsRegistryManager.ListRegistryValuesInGuest`.
 52315  type ListRegistryValuesInGuestRequestType struct {
 52316  	This ManagedObjectReference `xml:"_this" json:"-"`
 52317  	// Virtual machine to perform the operation on.
 52318  	//
 52319  	// Required privileges: VirtualMachine.GuestOperations.Query
 52320  	//
 52321  	// Refers instance of `VirtualMachine`.
 52322  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 52323  	// The guest authentication data.
 52324  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 52325  	// The path to the registry key for which all values are to be
 52326  	// listed.
 52327  	KeyName GuestRegKeyNameSpec `xml:"keyName" json:"keyName"`
 52328  	// If true, all values that have expandable data such
 52329  	// as environment variable names, shall get expanded in
 52330  	// the result.
 52331  	ExpandStrings bool `xml:"expandStrings" json:"expandStrings"`
 52332  	// A filter for the value names returned, specified using
 52333  	// perl-compatible regular expressions. If matchPattern
 52334  	// is unset, then the pattern '.\*' is used, which returns
 52335  	// all value names found, otherwise only those value
 52336  	// names that match the input pattern shall be returned.
 52337  	MatchPattern string `xml:"matchPattern,omitempty" json:"matchPattern,omitempty"`
 52338  }
 52339  
 52340  func init() {
 52341  	t["ListRegistryValuesInGuestRequestType"] = reflect.TypeOf((*ListRegistryValuesInGuestRequestType)(nil)).Elem()
 52342  }
 52343  
 52344  type ListRegistryValuesInGuestResponse struct {
 52345  	Returnval []GuestRegValueSpec `xml:"returnval,omitempty" json:"returnval,omitempty"`
 52346  }
 52347  
 52348  type ListSmartCardTrustAnchors ListSmartCardTrustAnchorsRequestType
 52349  
 52350  func init() {
 52351  	t["ListSmartCardTrustAnchors"] = reflect.TypeOf((*ListSmartCardTrustAnchors)(nil)).Elem()
 52352  }
 52353  
 52354  type ListSmartCardTrustAnchorsRequestType struct {
 52355  	This ManagedObjectReference `xml:"_this" json:"-"`
 52356  }
 52357  
 52358  func init() {
 52359  	t["ListSmartCardTrustAnchorsRequestType"] = reflect.TypeOf((*ListSmartCardTrustAnchorsRequestType)(nil)).Elem()
 52360  }
 52361  
 52362  type ListSmartCardTrustAnchorsResponse struct {
 52363  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 52364  }
 52365  
 52366  type ListTagsAttachedToVStorageObject ListTagsAttachedToVStorageObjectRequestType
 52367  
 52368  func init() {
 52369  	t["ListTagsAttachedToVStorageObject"] = reflect.TypeOf((*ListTagsAttachedToVStorageObject)(nil)).Elem()
 52370  }
 52371  
 52372  // The parameters of `VcenterVStorageObjectManager.ListTagsAttachedToVStorageObject`.
 52373  type ListTagsAttachedToVStorageObjectRequestType struct {
 52374  	This ManagedObjectReference `xml:"_this" json:"-"`
 52375  	// The ID of the virtual storage object.
 52376  	Id ID `xml:"id" json:"id"`
 52377  }
 52378  
 52379  func init() {
 52380  	t["ListTagsAttachedToVStorageObjectRequestType"] = reflect.TypeOf((*ListTagsAttachedToVStorageObjectRequestType)(nil)).Elem()
 52381  }
 52382  
 52383  type ListTagsAttachedToVStorageObjectResponse struct {
 52384  	Returnval []VslmTagEntry `xml:"returnval,omitempty" json:"returnval,omitempty"`
 52385  }
 52386  
 52387  type ListVStorageObject ListVStorageObjectRequestType
 52388  
 52389  func init() {
 52390  	t["ListVStorageObject"] = reflect.TypeOf((*ListVStorageObject)(nil)).Elem()
 52391  }
 52392  
 52393  // The parameters of `VcenterVStorageObjectManager.ListVStorageObject`.
 52394  type ListVStorageObjectRequestType struct {
 52395  	This ManagedObjectReference `xml:"_this" json:"-"`
 52396  	// The datastore to query for the virtual storage objects.
 52397  	//
 52398  	// Refers instance of `Datastore`.
 52399  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 52400  }
 52401  
 52402  func init() {
 52403  	t["ListVStorageObjectRequestType"] = reflect.TypeOf((*ListVStorageObjectRequestType)(nil)).Elem()
 52404  }
 52405  
 52406  type ListVStorageObjectResponse struct {
 52407  	Returnval []ID `xml:"returnval,omitempty" json:"returnval,omitempty"`
 52408  }
 52409  
 52410  type ListVStorageObjectsAttachedToTag ListVStorageObjectsAttachedToTagRequestType
 52411  
 52412  func init() {
 52413  	t["ListVStorageObjectsAttachedToTag"] = reflect.TypeOf((*ListVStorageObjectsAttachedToTag)(nil)).Elem()
 52414  }
 52415  
 52416  // The parameters of `VcenterVStorageObjectManager.ListVStorageObjectsAttachedToTag`.
 52417  type ListVStorageObjectsAttachedToTagRequestType struct {
 52418  	This ManagedObjectReference `xml:"_this" json:"-"`
 52419  	// The category to which the tag belongs.
 52420  	Category string `xml:"category" json:"category"`
 52421  	// The tag to be queried.
 52422  	Tag string `xml:"tag" json:"tag"`
 52423  }
 52424  
 52425  func init() {
 52426  	t["ListVStorageObjectsAttachedToTagRequestType"] = reflect.TypeOf((*ListVStorageObjectsAttachedToTagRequestType)(nil)).Elem()
 52427  }
 52428  
 52429  type ListVStorageObjectsAttachedToTagResponse struct {
 52430  	Returnval []ID `xml:"returnval,omitempty" json:"returnval,omitempty"`
 52431  }
 52432  
 52433  // This event records when a local datastore is created.
 52434  type LocalDatastoreCreatedEvent struct {
 52435  	HostEvent
 52436  
 52437  	// The associated datastore.
 52438  	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
 52439  	// Url of the associated datastore.
 52440  	DatastoreUrl string `xml:"datastoreUrl,omitempty" json:"datastoreUrl,omitempty" vim:"6.5"`
 52441  }
 52442  
 52443  func init() {
 52444  	t["LocalDatastoreCreatedEvent"] = reflect.TypeOf((*LocalDatastoreCreatedEvent)(nil)).Elem()
 52445  }
 52446  
 52447  // The information details about a datastore that is local to a host.
 52448  type LocalDatastoreInfo struct {
 52449  	DatastoreInfo
 52450  
 52451  	// The local path on a host.
 52452  	//
 52453  	// May not
 52454  	// be available when the datastore is not accessible.
 52455  	Path string `xml:"path,omitempty" json:"path,omitempty"`
 52456  }
 52457  
 52458  func init() {
 52459  	t["LocalDatastoreInfo"] = reflect.TypeOf((*LocalDatastoreInfo)(nil)).Elem()
 52460  }
 52461  
 52462  // Deprecated as of vSphere API 4.0, this is not used by the system.
 52463  //
 52464  // Specify license key data to store locally.
 52465  type LocalLicenseSource struct {
 52466  	LicenseSource
 52467  
 52468  	// The size of this string is implementation dependent.
 52469  	//
 52470  	// It must contain ASCII or ISO Latin-1 characters only.
 52471  	LicenseKeys string `xml:"licenseKeys" json:"licenseKeys"`
 52472  }
 52473  
 52474  func init() {
 52475  	t["LocalLicenseSource"] = reflect.TypeOf((*LocalLicenseSource)(nil)).Elem()
 52476  }
 52477  
 52478  // Local Tech Support Mode for the host has been enabled.
 52479  type LocalTSMEnabledEvent struct {
 52480  	HostEvent
 52481  }
 52482  
 52483  func init() {
 52484  	t["LocalTSMEnabledEvent"] = reflect.TypeOf((*LocalTSMEnabledEvent)(nil)).Elem()
 52485  	minAPIVersionForType["LocalTSMEnabledEvent"] = "4.1"
 52486  }
 52487  
 52488  // Message data which is intended to be displayed according
 52489  // to the locale of a client.
 52490  //
 52491  // A `LocalizableMessage` contains both a formatted, localized
 52492  // version of the text and the data needed to perform localization in
 52493  // conjunction with localization catalogs.
 52494  //
 52495  // Clients of the VIM API may use vim.SessionManager.setLocale()
 52496  // to cause the server to emit a localized `LocalizableMessage.message`, or may perform
 52497  // client-side localization based on message catalogs provided by the
 52498  // server.
 52499  //   - If the substition variable is a string, no further lookup is required.
 52500  //   - `LocalizableMessage.arg` = \[("address" = "127.0.0.1")\]
 52501  //   - CATALOG(locmsg, `LocalizableMessage.key`) = "IP address is {address}"
 52502  //   - \==&gt; `LocalizableMessage.message` = "IP address is 127.0.0.1"
 52503  //   - If the substitution variable is an integer, value is a lookup key.
 52504  //   - `LocalizableMessage.arg` = \[("1" = "button.cancel"), ("2" = "msg.revert")\]
 52505  //   - CATALOG(locmsg, `LocalizableMessage.key`) = "Select '{1}' to {2}"
 52506  //   - CATALOG(locmsg, button.cancel) = "Cancel"
 52507  //   - CATALOG(locmsg, msg.revert) = "revert"
 52508  //   - \==&gt; `LocalizableMessage.message` = "Select 'Cancel' to revert"
 52509  //   - If the variable contains '@', value is a label lookup in another
 52510  //     catalog, where {name.@CATALOG.prefix} looks up prefix.`LocalizableMessage.arg`\[name\].label
 52511  //     in CATALOG.
 52512  //   - `LocalizableMessage.arg` = \[("field" = "queued")\]
 52513  //   - CATALOG(locmsg, `LocalizableMessage.key`) = "State is {field.@enum.TaskInfo.State}"
 52514  //   - CATALOG(enum, TaskInfo.State.queued.label) is "Queued"
 52515  //   - \==&gt; `LocalizableMessage.message` = "State is Queued"
 52516  type LocalizableMessage struct {
 52517  	DynamicData
 52518  
 52519  	// Unique key identifying the message in the localized message catalog.
 52520  	Key string `xml:"key" json:"key"`
 52521  	// Substitution arguments for variables in the localized message.
 52522  	Arg []KeyAnyValue `xml:"arg,omitempty" json:"arg,omitempty"`
 52523  	// Message in session locale.
 52524  	//
 52525  	// Use vim.SessionManager.setLocale() to change the session locale.
 52526  	Message string `xml:"message,omitempty" json:"message,omitempty"`
 52527  }
 52528  
 52529  func init() {
 52530  	t["LocalizableMessage"] = reflect.TypeOf((*LocalizableMessage)(nil)).Elem()
 52531  	minAPIVersionForType["LocalizableMessage"] = "4.0"
 52532  }
 52533  
 52534  // Description of an available message catalog
 52535  type LocalizationManagerMessageCatalog struct {
 52536  	DynamicData
 52537  
 52538  	// The module or extension that publishes this catalog.
 52539  	//
 52540  	// The moduleName will be empty for the core catalogs for the
 52541  	// VirtualCenter server itself.
 52542  	ModuleName string `xml:"moduleName" json:"moduleName"`
 52543  	// The name of the catalog.
 52544  	CatalogName string `xml:"catalogName" json:"catalogName"`
 52545  	// The locale for the catalog.
 52546  	Locale string `xml:"locale" json:"locale"`
 52547  	// The URI (relative to the connection URL for the VirtualCenter server
 52548  	// itself) from which the catalog can be downloaded.
 52549  	//
 52550  	// The caller will need to augment this with a scheme and authority (host
 52551  	// and port) to make a complete URL.
 52552  	CatalogUri string `xml:"catalogUri" json:"catalogUri"`
 52553  	// The last-modified time of the catalog file, if available
 52554  	LastModified *time.Time `xml:"lastModified" json:"lastModified,omitempty"`
 52555  	// The checksum of the catalog file, if available
 52556  	Md5sum string `xml:"md5sum,omitempty" json:"md5sum,omitempty"`
 52557  	// The version of the catalog file, if available
 52558  	// The format is dot-separated version string, e.g.
 52559  	//
 52560  	// "1.2.3".
 52561  	Version string `xml:"version,omitempty" json:"version,omitempty" vim:"5.0"`
 52562  }
 52563  
 52564  func init() {
 52565  	t["LocalizationManagerMessageCatalog"] = reflect.TypeOf((*LocalizationManagerMessageCatalog)(nil)).Elem()
 52566  	minAPIVersionForType["LocalizationManagerMessageCatalog"] = "4.0"
 52567  }
 52568  
 52569  // A wrapper class used to pass MethodFault data objects over the wire
 52570  // along with a localized display message for the fault.
 52571  type LocalizedMethodFault struct {
 52572  	DynamicData
 52573  
 52574  	Fault BaseMethodFault `xml:"fault,typeattr" json:"fault"`
 52575  	// The localized message that would be sent in the faultstring element
 52576  	// of the SOAP Fault.
 52577  	//
 52578  	// It is optional so that clients are not required
 52579  	// to send a localized message to the server, but servers are required
 52580  	// to send the localized message to clients.
 52581  	LocalizedMessage string `xml:"localizedMessage,omitempty" json:"localizedMessage,omitempty"`
 52582  }
 52583  
 52584  func init() {
 52585  	t["LocalizedMethodFault"] = reflect.TypeOf((*LocalizedMethodFault)(nil)).Elem()
 52586  }
 52587  
 52588  // Locker has not been configured properly.
 52589  //
 52590  // This event is fired when the datastore configured to back the locker
 52591  // does not exist or when connectivity to the datastore is lost.
 52592  type LockerMisconfiguredEvent struct {
 52593  	Event
 52594  
 52595  	// The datastore that has been configured to back the locker
 52596  	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
 52597  }
 52598  
 52599  func init() {
 52600  	t["LockerMisconfiguredEvent"] = reflect.TypeOf((*LockerMisconfiguredEvent)(nil)).Elem()
 52601  	minAPIVersionForType["LockerMisconfiguredEvent"] = "2.5"
 52602  }
 52603  
 52604  // Locker was reconfigured to a new location.
 52605  type LockerReconfiguredEvent struct {
 52606  	Event
 52607  
 52608  	// The datastore that was previously backing the locker.
 52609  	//
 52610  	// This field is not
 52611  	// set if a datastore was not backing the locker previously.
 52612  	OldDatastore *DatastoreEventArgument `xml:"oldDatastore,omitempty" json:"oldDatastore,omitempty"`
 52613  	// The datastore that is now used to back the locker.
 52614  	//
 52615  	// This field is not set if no datastore is currently backing the locker.
 52616  	NewDatastore *DatastoreEventArgument `xml:"newDatastore,omitempty" json:"newDatastore,omitempty"`
 52617  }
 52618  
 52619  func init() {
 52620  	t["LockerReconfiguredEvent"] = reflect.TypeOf((*LockerReconfiguredEvent)(nil)).Elem()
 52621  	minAPIVersionForType["LockerReconfiguredEvent"] = "2.5"
 52622  }
 52623  
 52624  // A LogBundlingFailed exception is thrown when generation of a diagnostic
 52625  // data bundle fails.
 52626  type LogBundlingFailed struct {
 52627  	VimFault
 52628  }
 52629  
 52630  func init() {
 52631  	t["LogBundlingFailed"] = reflect.TypeOf((*LogBundlingFailed)(nil)).Elem()
 52632  }
 52633  
 52634  type LogBundlingFailedFault LogBundlingFailed
 52635  
 52636  func init() {
 52637  	t["LogBundlingFailedFault"] = reflect.TypeOf((*LogBundlingFailedFault)(nil)).Elem()
 52638  }
 52639  
 52640  type LogUserEvent LogUserEventRequestType
 52641  
 52642  func init() {
 52643  	t["LogUserEvent"] = reflect.TypeOf((*LogUserEvent)(nil)).Elem()
 52644  }
 52645  
 52646  // The parameters of `EventManager.LogUserEvent`.
 52647  type LogUserEventRequestType struct {
 52648  	This ManagedObjectReference `xml:"_this" json:"-"`
 52649  	// The entity against which the event is logged. The entity must be
 52650  	// the root folder, a DataCenter, a VirtualMachine, a HostSystem,
 52651  	// or a ComputeResource.
 52652  	//
 52653  	// Required privileges: Global.LogEvent
 52654  	//
 52655  	// Refers instance of `ManagedEntity`.
 52656  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 52657  	// The message to be logged.
 52658  	Msg string `xml:"msg" json:"msg"`
 52659  }
 52660  
 52661  func init() {
 52662  	t["LogUserEventRequestType"] = reflect.TypeOf((*LogUserEventRequestType)(nil)).Elem()
 52663  }
 52664  
 52665  type LogUserEventResponse struct {
 52666  }
 52667  
 52668  type Login LoginRequestType
 52669  
 52670  func init() {
 52671  	t["Login"] = reflect.TypeOf((*Login)(nil)).Elem()
 52672  }
 52673  
 52674  type LoginBySSPI LoginBySSPIRequestType
 52675  
 52676  func init() {
 52677  	t["LoginBySSPI"] = reflect.TypeOf((*LoginBySSPI)(nil)).Elem()
 52678  }
 52679  
 52680  // The parameters of `SessionManager.LoginBySSPI`.
 52681  type LoginBySSPIRequestType struct {
 52682  	This ManagedObjectReference `xml:"_this" json:"-"`
 52683  	// The partially formed context returned from
 52684  	// InitializeSecurityContext().
 52685  	Base64Token string `xml:"base64Token" json:"base64Token"`
 52686  	// A two-character ISO-639 language ID (like "en")
 52687  	// optionally followed by an
 52688  	// underscore and a two-character ISO 3166 country ID (like "US").
 52689  	//
 52690  	// Examples are "de", "fr\_CA", "zh", "zh\_CN", and "zh\_TW".
 52691  	// Note: The method uses the server default locale when
 52692  	// a locale is not provided. This default can be configured in the
 52693  	// server configuration file. If unspecified, it defaults to the
 52694  	// locale of the server environment or English ("en") if unsupported.
 52695  	Locale string `xml:"locale,omitempty" json:"locale,omitempty"`
 52696  }
 52697  
 52698  func init() {
 52699  	t["LoginBySSPIRequestType"] = reflect.TypeOf((*LoginBySSPIRequestType)(nil)).Elem()
 52700  }
 52701  
 52702  type LoginBySSPIResponse struct {
 52703  	Returnval UserSession `xml:"returnval" json:"returnval"`
 52704  }
 52705  
 52706  type LoginByToken LoginByTokenRequestType
 52707  
 52708  func init() {
 52709  	t["LoginByToken"] = reflect.TypeOf((*LoginByToken)(nil)).Elem()
 52710  }
 52711  
 52712  // The parameters of `SessionManager.LoginByToken`.
 52713  type LoginByTokenRequestType struct {
 52714  	This ManagedObjectReference `xml:"_this" json:"-"`
 52715  	// A two-character ISO-639 language ID (like "en")
 52716  	// optionally followed by an
 52717  	// underscore and a two-character ISO 3166 country ID (like "US").
 52718  	//
 52719  	// Examples are "de", "fr\_CA", "zh", "zh\_CN", and "zh\_TW".
 52720  	// Note: The method uses the server default locale when
 52721  	// a locale is not provided. This default can be configured in the
 52722  	// server configuration file. If unspecified, it defaults to the
 52723  	// locale of the server environment or English ("en") if unsupported.
 52724  	Locale string `xml:"locale,omitempty" json:"locale,omitempty"`
 52725  }
 52726  
 52727  func init() {
 52728  	t["LoginByTokenRequestType"] = reflect.TypeOf((*LoginByTokenRequestType)(nil)).Elem()
 52729  }
 52730  
 52731  type LoginByTokenResponse struct {
 52732  	Returnval UserSession `xml:"returnval" json:"returnval"`
 52733  }
 52734  
 52735  type LoginExtensionByCertificate LoginExtensionByCertificateRequestType
 52736  
 52737  func init() {
 52738  	t["LoginExtensionByCertificate"] = reflect.TypeOf((*LoginExtensionByCertificate)(nil)).Elem()
 52739  }
 52740  
 52741  // The parameters of `SessionManager.LoginExtensionByCertificate`.
 52742  type LoginExtensionByCertificateRequestType struct {
 52743  	This ManagedObjectReference `xml:"_this" json:"-"`
 52744  	// Key of extension that is logging in.
 52745  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 52746  	// A two-character ISO-639 language ID (like "en")
 52747  	// optionally followed by an
 52748  	// underscore and a two-character ISO 3166 country ID (like "US").
 52749  	//
 52750  	// Examples are "de", "fr\_CA", "zh", "zh\_CN", and "zh\_TW".
 52751  	// Note: The method uses the server default locale when
 52752  	// a locale is not provided. This default can be configured in the
 52753  	// server configuration file. If unspecified, it defaults to the
 52754  	// locale of the server environment or English ("en") if unsupported.
 52755  	Locale string `xml:"locale,omitempty" json:"locale,omitempty"`
 52756  }
 52757  
 52758  func init() {
 52759  	t["LoginExtensionByCertificateRequestType"] = reflect.TypeOf((*LoginExtensionByCertificateRequestType)(nil)).Elem()
 52760  }
 52761  
 52762  type LoginExtensionByCertificateResponse struct {
 52763  	Returnval UserSession `xml:"returnval" json:"returnval"`
 52764  }
 52765  
 52766  type LoginExtensionBySubjectName LoginExtensionBySubjectNameRequestType
 52767  
 52768  func init() {
 52769  	t["LoginExtensionBySubjectName"] = reflect.TypeOf((*LoginExtensionBySubjectName)(nil)).Elem()
 52770  }
 52771  
 52772  // The parameters of `SessionManager.LoginExtensionBySubjectName`.
 52773  type LoginExtensionBySubjectNameRequestType struct {
 52774  	This ManagedObjectReference `xml:"_this" json:"-"`
 52775  	// Key of extension that is logging in.
 52776  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 52777  	// A two-character ISO-639 language ID (like "en")
 52778  	// optionally followed by an
 52779  	// underscore and a two-character ISO 3166 country ID (like "US").
 52780  	//
 52781  	// Examples are "de", "fr\_CA", "zh", "zh\_CN", and "zh\_TW".
 52782  	// Note: The method uses the server default locale when
 52783  	// a locale is not provided. This default can be configured in the
 52784  	// server configuration file. If unspecified, it defaults to the
 52785  	// locale of the server environment or English ("en") if unsupported.
 52786  	Locale string `xml:"locale,omitempty" json:"locale,omitempty"`
 52787  }
 52788  
 52789  func init() {
 52790  	t["LoginExtensionBySubjectNameRequestType"] = reflect.TypeOf((*LoginExtensionBySubjectNameRequestType)(nil)).Elem()
 52791  }
 52792  
 52793  type LoginExtensionBySubjectNameResponse struct {
 52794  	Returnval UserSession `xml:"returnval" json:"returnval"`
 52795  }
 52796  
 52797  // The parameters of `SessionManager.Login`.
 52798  type LoginRequestType struct {
 52799  	This ManagedObjectReference `xml:"_this" json:"-"`
 52800  	// The `ID`
 52801  	// of the user who is logging on to the server.
 52802  	UserName string `xml:"userName" json:"userName"`
 52803  	// The `HostAccountSpec.password`
 52804  	// of the user who is logging on to the server.
 52805  	Password string `xml:"password" json:"password"`
 52806  	// A two-character ISO-639 language ID (like "en")
 52807  	// optionally followed by an
 52808  	// underscore and a two-character ISO 3166 country ID (like "US").
 52809  	//
 52810  	// Examples are "de", "fr\_CA", "zh", "zh\_CN", and "zh\_TW".
 52811  	// Note: The method uses the server default locale when
 52812  	// a locale is not provided. This default can be configured in the
 52813  	// server configuration file. If unspecified, it defaults to the
 52814  	// locale of the server environment or English ("en") if unsupported.
 52815  	Locale string `xml:"locale,omitempty" json:"locale,omitempty"`
 52816  }
 52817  
 52818  func init() {
 52819  	t["LoginRequestType"] = reflect.TypeOf((*LoginRequestType)(nil)).Elem()
 52820  }
 52821  
 52822  type LoginResponse struct {
 52823  	Returnval UserSession `xml:"returnval" json:"returnval"`
 52824  }
 52825  
 52826  type Logout LogoutRequestType
 52827  
 52828  func init() {
 52829  	t["Logout"] = reflect.TypeOf((*Logout)(nil)).Elem()
 52830  }
 52831  
 52832  type LogoutRequestType struct {
 52833  	This ManagedObjectReference `xml:"_this" json:"-"`
 52834  }
 52835  
 52836  func init() {
 52837  	t["LogoutRequestType"] = reflect.TypeOf((*LogoutRequestType)(nil)).Elem()
 52838  }
 52839  
 52840  type LogoutResponse struct {
 52841  }
 52842  
 52843  // The LongOption data object type is used to define the minimum, maximum,
 52844  // and default values for a 64-bit long option.
 52845  type LongOption struct {
 52846  	OptionType
 52847  
 52848  	// The minimum value.
 52849  	Min int64 `xml:"min" json:"min"`
 52850  	// The maximum value.
 52851  	Max int64 `xml:"max" json:"max"`
 52852  	// The default value.
 52853  	DefaultValue int64 `xml:"defaultValue" json:"defaultValue"`
 52854  }
 52855  
 52856  func init() {
 52857  	t["LongOption"] = reflect.TypeOf((*LongOption)(nil)).Elem()
 52858  }
 52859  
 52860  // The long integer type of setting or configuration that may get an
 52861  // inherited value.
 52862  type LongPolicy struct {
 52863  	InheritablePolicy
 52864  
 52865  	// The boolean value that is either set or inherited.
 52866  	Value int64 `xml:"value,omitempty" json:"value,omitempty"`
 52867  }
 52868  
 52869  func init() {
 52870  	t["LongPolicy"] = reflect.TypeOf((*LongPolicy)(nil)).Elem()
 52871  	minAPIVersionForType["LongPolicy"] = "4.0"
 52872  }
 52873  
 52874  type LookupDvPortGroup LookupDvPortGroupRequestType
 52875  
 52876  func init() {
 52877  	t["LookupDvPortGroup"] = reflect.TypeOf((*LookupDvPortGroup)(nil)).Elem()
 52878  }
 52879  
 52880  // The parameters of `DistributedVirtualSwitch.LookupDvPortGroup`.
 52881  type LookupDvPortGroupRequestType struct {
 52882  	This ManagedObjectReference `xml:"_this" json:"-"`
 52883  	// The key that identifies a portgroup of this VDS.
 52884  	PortgroupKey string `xml:"portgroupKey" json:"portgroupKey"`
 52885  }
 52886  
 52887  func init() {
 52888  	t["LookupDvPortGroupRequestType"] = reflect.TypeOf((*LookupDvPortGroupRequestType)(nil)).Elem()
 52889  }
 52890  
 52891  type LookupDvPortGroupResponse struct {
 52892  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 52893  }
 52894  
 52895  type LookupVmOverheadMemory LookupVmOverheadMemoryRequestType
 52896  
 52897  func init() {
 52898  	t["LookupVmOverheadMemory"] = reflect.TypeOf((*LookupVmOverheadMemory)(nil)).Elem()
 52899  }
 52900  
 52901  // The parameters of `OverheadMemoryManager.LookupVmOverheadMemory`.
 52902  type LookupVmOverheadMemoryRequestType struct {
 52903  	This ManagedObjectReference `xml:"_this" json:"-"`
 52904  	// The Virtual Machine managed object reference.
 52905  	//
 52906  	// Refers instance of `VirtualMachine`.
 52907  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 52908  	// The Host managed object reference.
 52909  	//
 52910  	// Refers instance of `HostSystem`.
 52911  	Host ManagedObjectReference `xml:"host" json:"host"`
 52912  }
 52913  
 52914  func init() {
 52915  	t["LookupVmOverheadMemoryRequestType"] = reflect.TypeOf((*LookupVmOverheadMemoryRequestType)(nil)).Elem()
 52916  }
 52917  
 52918  type LookupVmOverheadMemoryResponse struct {
 52919  	Returnval int64 `xml:"returnval" json:"returnval"`
 52920  }
 52921  
 52922  // Base class for specifying MAC addresses.
 52923  type MacAddress struct {
 52924  	NegatableExpression
 52925  }
 52926  
 52927  func init() {
 52928  	t["MacAddress"] = reflect.TypeOf((*MacAddress)(nil)).Elem()
 52929  	minAPIVersionForType["MacAddress"] = "5.5"
 52930  }
 52931  
 52932  // This class defines a range of MAC address.
 52933  type MacRange struct {
 52934  	MacAddress
 52935  
 52936  	// MAC address.
 52937  	Address string `xml:"address" json:"address"`
 52938  	// Mask that is used in matching the MAC address.
 52939  	//
 52940  	// A MAC address is
 52941  	// considered matched if the "and" operation of the mask on the
 52942  	// MAC address and `MacRange.address` yields the same result.
 52943  	// For example, a MAC of "00:A0:FF:14:FF:29" is considered matched
 52944  	// for a `MacRange.address` of "00:A0:C9:14:C8:29" and a
 52945  	// `MacRange.mask` of "FF:FF:00:FF:00:FF".
 52946  	Mask string `xml:"mask" json:"mask"`
 52947  }
 52948  
 52949  func init() {
 52950  	t["MacRange"] = reflect.TypeOf((*MacRange)(nil)).Elem()
 52951  	minAPIVersionForType["MacRange"] = "5.5"
 52952  }
 52953  
 52954  // Migration of the virtual machine to the target host will need a move of
 52955  // virtual machine files, like configuration file or virtual disks, which is
 52956  // not permitted if the source host is in maintenance mode.
 52957  type MaintenanceModeFileMove struct {
 52958  	MigrationFault
 52959  }
 52960  
 52961  func init() {
 52962  	t["MaintenanceModeFileMove"] = reflect.TypeOf((*MaintenanceModeFileMove)(nil)).Elem()
 52963  	minAPIVersionForType["MaintenanceModeFileMove"] = "2.5"
 52964  }
 52965  
 52966  type MaintenanceModeFileMoveFault MaintenanceModeFileMove
 52967  
 52968  func init() {
 52969  	t["MaintenanceModeFileMoveFault"] = reflect.TypeOf((*MaintenanceModeFileMoveFault)(nil)).Elem()
 52970  }
 52971  
 52972  type MakeDirectory MakeDirectoryRequestType
 52973  
 52974  func init() {
 52975  	t["MakeDirectory"] = reflect.TypeOf((*MakeDirectory)(nil)).Elem()
 52976  }
 52977  
 52978  type MakeDirectoryInGuest MakeDirectoryInGuestRequestType
 52979  
 52980  func init() {
 52981  	t["MakeDirectoryInGuest"] = reflect.TypeOf((*MakeDirectoryInGuest)(nil)).Elem()
 52982  }
 52983  
 52984  // The parameters of `GuestFileManager.MakeDirectoryInGuest`.
 52985  type MakeDirectoryInGuestRequestType struct {
 52986  	This ManagedObjectReference `xml:"_this" json:"-"`
 52987  	// Virtual Machine to perform the operation on.
 52988  	//
 52989  	// Required privileges: VirtualMachine.GuestOperations.Modify
 52990  	//
 52991  	// Refers instance of `VirtualMachine`.
 52992  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 52993  	// The guest authentication data. See
 52994  	// `GuestAuthentication`.
 52995  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 52996  	// The complete path to the directory to be created.
 52997  	DirectoryPath string `xml:"directoryPath" json:"directoryPath"`
 52998  	// Whether any parent directories
 52999  	// are to be created.
 53000  	CreateParentDirectories bool `xml:"createParentDirectories" json:"createParentDirectories"`
 53001  }
 53002  
 53003  func init() {
 53004  	t["MakeDirectoryInGuestRequestType"] = reflect.TypeOf((*MakeDirectoryInGuestRequestType)(nil)).Elem()
 53005  }
 53006  
 53007  type MakeDirectoryInGuestResponse struct {
 53008  }
 53009  
 53010  // The parameters of `FileManager.MakeDirectory`.
 53011  type MakeDirectoryRequestType struct {
 53012  	This ManagedObjectReference `xml:"_this" json:"-"`
 53013  	// The name of the folder, either a URL or a datastore path
 53014  	// referring to the folder to be created.
 53015  	Name string `xml:"name" json:"name"`
 53016  	// If <code>name</code> is a datastore path, the datacenter for
 53017  	// that datastore path. Not needed when invoked directly on ESX.
 53018  	// If not specified on a call to VirtualCenter,
 53019  	// <code>name</code> must be a URL.
 53020  	//
 53021  	// Required privileges: System.View
 53022  	//
 53023  	// Refers instance of `Datacenter`.
 53024  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 53025  	// If true, any non-existent intermediate level
 53026  	// folders will be created. If not specified,
 53027  	// it is assumed to be false.
 53028  	CreateParentDirectories *bool `xml:"createParentDirectories" json:"createParentDirectories,omitempty"`
 53029  }
 53030  
 53031  func init() {
 53032  	t["MakeDirectoryRequestType"] = reflect.TypeOf((*MakeDirectoryRequestType)(nil)).Elem()
 53033  }
 53034  
 53035  type MakeDirectoryResponse struct {
 53036  }
 53037  
 53038  // The parameters of `VirtualMachine.MakePrimaryVM_Task`.
 53039  type MakePrimaryVMRequestType struct {
 53040  	This ManagedObjectReference `xml:"_this" json:"-"`
 53041  	// The secondary virtual machine specified will be made the primary
 53042  	// virtual machine.
 53043  	// This field must specify a secondary virtual machine that is part of the fault
 53044  	// tolerant group that this virtual machine is currently associated with. It can
 53045  	// only be invoked from the primary virtual machine in the group.
 53046  	//
 53047  	// Refers instance of `VirtualMachine`.
 53048  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 53049  }
 53050  
 53051  func init() {
 53052  	t["MakePrimaryVMRequestType"] = reflect.TypeOf((*MakePrimaryVMRequestType)(nil)).Elem()
 53053  }
 53054  
 53055  type MakePrimaryVM_Task MakePrimaryVMRequestType
 53056  
 53057  func init() {
 53058  	t["MakePrimaryVM_Task"] = reflect.TypeOf((*MakePrimaryVM_Task)(nil)).Elem()
 53059  }
 53060  
 53061  type MakePrimaryVM_TaskResponse struct {
 53062  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 53063  }
 53064  
 53065  // The ManagedByInfo data object contains information about the extension
 53066  // responsible for the life-cycle of the entity.
 53067  type ManagedByInfo struct {
 53068  	DynamicData
 53069  
 53070  	// Key of the extension managing the entity.
 53071  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 53072  	// Managed entity type, as defined by the extension managing the entity.
 53073  	//
 53074  	// An extension can manage different types of entities - different kinds
 53075  	// of virtual machines, vApps, etc. - and this property is used to find
 53076  	// the corresponding `managedEntityInfo`
 53077  	// entry from the extension.
 53078  	Type string `xml:"type" json:"type"`
 53079  }
 53080  
 53081  func init() {
 53082  	t["ManagedByInfo"] = reflect.TypeOf((*ManagedByInfo)(nil)).Elem()
 53083  	minAPIVersionForType["ManagedByInfo"] = "5.0"
 53084  }
 53085  
 53086  // The general event argument for a managed entity.
 53087  type ManagedEntityEventArgument struct {
 53088  	EntityEventArgument
 53089  
 53090  	// The managed entity.
 53091  	//
 53092  	// Refers instance of `ManagedEntity`.
 53093  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 53094  }
 53095  
 53096  func init() {
 53097  	t["ManagedEntityEventArgument"] = reflect.TypeOf((*ManagedEntityEventArgument)(nil)).Elem()
 53098  }
 53099  
 53100  // A ManagedObjectNotFound exception is thrown when a request refers to
 53101  // a managed object that no longer exists or has never existed.
 53102  type ManagedObjectNotFound struct {
 53103  	RuntimeFault
 53104  
 53105  	// The managed object reference that generated the error.
 53106  	Obj ManagedObjectReference `xml:"obj" json:"obj"`
 53107  }
 53108  
 53109  func init() {
 53110  	t["ManagedObjectNotFound"] = reflect.TypeOf((*ManagedObjectNotFound)(nil)).Elem()
 53111  }
 53112  
 53113  type ManagedObjectNotFoundFault ManagedObjectNotFound
 53114  
 53115  func init() {
 53116  	t["ManagedObjectNotFoundFault"] = reflect.TypeOf((*ManagedObjectNotFoundFault)(nil)).Elem()
 53117  }
 53118  
 53119  // 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.
 53120  //
 53121  // 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.
 53122  type ManagedObjectReference struct {
 53123  	Type       string `xml:"type,attr" json:"type"`
 53124  	Value      string `xml:",chardata" json:"value"`
 53125  	ServerGUID string `xml:"serverGuid,attr,omitempty" json:"serverGuid,omitempty"`
 53126  }
 53127  
 53128  func init() {
 53129  	t["ManagedObjectReference"] = reflect.TypeOf((*ManagedObjectReference)(nil)).Elem()
 53130  }
 53131  
 53132  // The parameters of `HostStorageSystem.MarkAsLocal_Task`.
 53133  type MarkAsLocalRequestType struct {
 53134  	This ManagedObjectReference `xml:"_this" json:"-"`
 53135  	// The SCSI disk UUID.
 53136  	ScsiDiskUuid string `xml:"scsiDiskUuid" json:"scsiDiskUuid"`
 53137  }
 53138  
 53139  func init() {
 53140  	t["MarkAsLocalRequestType"] = reflect.TypeOf((*MarkAsLocalRequestType)(nil)).Elem()
 53141  }
 53142  
 53143  type MarkAsLocal_Task MarkAsLocalRequestType
 53144  
 53145  func init() {
 53146  	t["MarkAsLocal_Task"] = reflect.TypeOf((*MarkAsLocal_Task)(nil)).Elem()
 53147  }
 53148  
 53149  type MarkAsLocal_TaskResponse struct {
 53150  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 53151  }
 53152  
 53153  // The parameters of `HostStorageSystem.MarkAsNonLocal_Task`.
 53154  type MarkAsNonLocalRequestType struct {
 53155  	This ManagedObjectReference `xml:"_this" json:"-"`
 53156  	// The SCSI disk UUID.
 53157  	ScsiDiskUuid string `xml:"scsiDiskUuid" json:"scsiDiskUuid"`
 53158  }
 53159  
 53160  func init() {
 53161  	t["MarkAsNonLocalRequestType"] = reflect.TypeOf((*MarkAsNonLocalRequestType)(nil)).Elem()
 53162  }
 53163  
 53164  type MarkAsNonLocal_Task MarkAsNonLocalRequestType
 53165  
 53166  func init() {
 53167  	t["MarkAsNonLocal_Task"] = reflect.TypeOf((*MarkAsNonLocal_Task)(nil)).Elem()
 53168  }
 53169  
 53170  type MarkAsNonLocal_TaskResponse struct {
 53171  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 53172  }
 53173  
 53174  // The parameters of `HostStorageSystem.MarkAsNonSsd_Task`.
 53175  type MarkAsNonSsdRequestType struct {
 53176  	This ManagedObjectReference `xml:"_this" json:"-"`
 53177  	// The SCSI disk UUID.
 53178  	ScsiDiskUuid string `xml:"scsiDiskUuid" json:"scsiDiskUuid"`
 53179  }
 53180  
 53181  func init() {
 53182  	t["MarkAsNonSsdRequestType"] = reflect.TypeOf((*MarkAsNonSsdRequestType)(nil)).Elem()
 53183  }
 53184  
 53185  type MarkAsNonSsd_Task MarkAsNonSsdRequestType
 53186  
 53187  func init() {
 53188  	t["MarkAsNonSsd_Task"] = reflect.TypeOf((*MarkAsNonSsd_Task)(nil)).Elem()
 53189  }
 53190  
 53191  type MarkAsNonSsd_TaskResponse struct {
 53192  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 53193  }
 53194  
 53195  // The parameters of `HostStorageSystem.MarkAsSsd_Task`.
 53196  type MarkAsSsdRequestType struct {
 53197  	This ManagedObjectReference `xml:"_this" json:"-"`
 53198  	// The SCSI disk UUID.
 53199  	ScsiDiskUuid string `xml:"scsiDiskUuid" json:"scsiDiskUuid"`
 53200  }
 53201  
 53202  func init() {
 53203  	t["MarkAsSsdRequestType"] = reflect.TypeOf((*MarkAsSsdRequestType)(nil)).Elem()
 53204  }
 53205  
 53206  type MarkAsSsd_Task MarkAsSsdRequestType
 53207  
 53208  func init() {
 53209  	t["MarkAsSsd_Task"] = reflect.TypeOf((*MarkAsSsd_Task)(nil)).Elem()
 53210  }
 53211  
 53212  type MarkAsSsd_TaskResponse struct {
 53213  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 53214  }
 53215  
 53216  type MarkAsTemplate MarkAsTemplateRequestType
 53217  
 53218  func init() {
 53219  	t["MarkAsTemplate"] = reflect.TypeOf((*MarkAsTemplate)(nil)).Elem()
 53220  }
 53221  
 53222  type MarkAsTemplateRequestType struct {
 53223  	This ManagedObjectReference `xml:"_this" json:"-"`
 53224  }
 53225  
 53226  func init() {
 53227  	t["MarkAsTemplateRequestType"] = reflect.TypeOf((*MarkAsTemplateRequestType)(nil)).Elem()
 53228  }
 53229  
 53230  type MarkAsTemplateResponse struct {
 53231  }
 53232  
 53233  type MarkAsVirtualMachine MarkAsVirtualMachineRequestType
 53234  
 53235  func init() {
 53236  	t["MarkAsVirtualMachine"] = reflect.TypeOf((*MarkAsVirtualMachine)(nil)).Elem()
 53237  }
 53238  
 53239  // The parameters of `VirtualMachine.MarkAsVirtualMachine`.
 53240  type MarkAsVirtualMachineRequestType struct {
 53241  	This ManagedObjectReference `xml:"_this" json:"-"`
 53242  	// Resource pool to associate with the virtual machine.
 53243  	//
 53244  	// Required privileges: Resource.AssignVMToPool
 53245  	//
 53246  	// Refers instance of `ResourcePool`.
 53247  	Pool ManagedObjectReference `xml:"pool" json:"pool"`
 53248  	// The target host on which the virtual machine is intended to run. The
 53249  	// host
 53250  	// parameter must specify a host that is a member of the ComputeResource
 53251  	// indirectly specified by the pool. For a stand-alone host or a cluster with
 53252  	// DRS, it can be omitted and the system selects a default.
 53253  	//
 53254  	// Refers instance of `HostSystem`.
 53255  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 53256  }
 53257  
 53258  func init() {
 53259  	t["MarkAsVirtualMachineRequestType"] = reflect.TypeOf((*MarkAsVirtualMachineRequestType)(nil)).Elem()
 53260  }
 53261  
 53262  type MarkAsVirtualMachineResponse struct {
 53263  }
 53264  
 53265  type MarkDefault MarkDefaultRequestType
 53266  
 53267  func init() {
 53268  	t["MarkDefault"] = reflect.TypeOf((*MarkDefault)(nil)).Elem()
 53269  }
 53270  
 53271  // The parameters of `CryptoManagerKmip.MarkDefault`.
 53272  type MarkDefaultRequestType struct {
 53273  	This ManagedObjectReference `xml:"_this" json:"-"`
 53274  	// \[in\] KMIP cluster ID to become default.
 53275  	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
 53276  }
 53277  
 53278  func init() {
 53279  	t["MarkDefaultRequestType"] = reflect.TypeOf((*MarkDefaultRequestType)(nil)).Elem()
 53280  }
 53281  
 53282  type MarkDefaultResponse struct {
 53283  }
 53284  
 53285  type MarkForRemoval MarkForRemovalRequestType
 53286  
 53287  func init() {
 53288  	t["MarkForRemoval"] = reflect.TypeOf((*MarkForRemoval)(nil)).Elem()
 53289  }
 53290  
 53291  type MarkForRemovalRequestType struct {
 53292  	This    ManagedObjectReference `xml:"_this" json:"-"`
 53293  	HbaName string                 `xml:"hbaName" json:"hbaName"`
 53294  	Remove  bool                   `xml:"remove" json:"remove"`
 53295  }
 53296  
 53297  func init() {
 53298  	t["MarkForRemovalRequestType"] = reflect.TypeOf((*MarkForRemovalRequestType)(nil)).Elem()
 53299  }
 53300  
 53301  type MarkForRemovalResponse struct {
 53302  }
 53303  
 53304  type MarkPerenniallyReserved MarkPerenniallyReservedRequestType
 53305  
 53306  func init() {
 53307  	t["MarkPerenniallyReserved"] = reflect.TypeOf((*MarkPerenniallyReserved)(nil)).Elem()
 53308  }
 53309  
 53310  // The parameters of `HostStorageSystem.MarkPerenniallyReservedEx_Task`.
 53311  type MarkPerenniallyReservedExRequestType struct {
 53312  	This ManagedObjectReference `xml:"_this" json:"-"`
 53313  	// The UUIDs of the ScsiLun devices that need a change in
 53314  	// the perennially reserved flag state.
 53315  	LunUuid []string `xml:"lunUuid,omitempty" json:"lunUuid,omitempty"`
 53316  	// State of the ScsiLun perennially reserved flag to be set.
 53317  	State bool `xml:"state" json:"state"`
 53318  }
 53319  
 53320  func init() {
 53321  	t["MarkPerenniallyReservedExRequestType"] = reflect.TypeOf((*MarkPerenniallyReservedExRequestType)(nil)).Elem()
 53322  }
 53323  
 53324  type MarkPerenniallyReservedEx_Task MarkPerenniallyReservedExRequestType
 53325  
 53326  func init() {
 53327  	t["MarkPerenniallyReservedEx_Task"] = reflect.TypeOf((*MarkPerenniallyReservedEx_Task)(nil)).Elem()
 53328  }
 53329  
 53330  type MarkPerenniallyReservedEx_TaskResponse struct {
 53331  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 53332  }
 53333  
 53334  // The parameters of `HostStorageSystem.MarkPerenniallyReserved`.
 53335  type MarkPerenniallyReservedRequestType struct {
 53336  	This ManagedObjectReference `xml:"_this" json:"-"`
 53337  	// The UUID of the ScsiLun device to be marked as perennially
 53338  	// reserved.
 53339  	LunUuid string `xml:"lunUuid" json:"lunUuid"`
 53340  	// State of the ScsiLun perennially reserved flag to be set.
 53341  	State bool `xml:"state" json:"state"`
 53342  }
 53343  
 53344  func init() {
 53345  	t["MarkPerenniallyReservedRequestType"] = reflect.TypeOf((*MarkPerenniallyReservedRequestType)(nil)).Elem()
 53346  }
 53347  
 53348  type MarkPerenniallyReservedResponse struct {
 53349  }
 53350  
 53351  type MarkServiceProviderEntities MarkServiceProviderEntitiesRequestType
 53352  
 53353  func init() {
 53354  	t["MarkServiceProviderEntities"] = reflect.TypeOf((*MarkServiceProviderEntities)(nil)).Elem()
 53355  }
 53356  
 53357  // The parameters of `TenantTenantManager.MarkServiceProviderEntities`.
 53358  type MarkServiceProviderEntitiesRequestType struct {
 53359  	This ManagedObjectReference `xml:"_this" json:"-"`
 53360  	// an array of management entities.
 53361  	//
 53362  	// Required privileges: TenantManager.Update
 53363  	//
 53364  	// Refers instances of `ManagedEntity`.
 53365  	Entity []ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 53366  }
 53367  
 53368  func init() {
 53369  	t["MarkServiceProviderEntitiesRequestType"] = reflect.TypeOf((*MarkServiceProviderEntitiesRequestType)(nil)).Elem()
 53370  }
 53371  
 53372  type MarkServiceProviderEntitiesResponse struct {
 53373  }
 53374  
 53375  // Virtual memory file format is not supported on the datastore.
 53376  type MemoryFileFormatNotSupportedByDatastore struct {
 53377  	UnsupportedDatastore
 53378  
 53379  	// The name of the Datastore.
 53380  	DatastoreName string `xml:"datastoreName" json:"datastoreName"`
 53381  	// Datastore file system volume type.
 53382  	//
 53383  	// See `DatastoreSummary.type`
 53384  	Type string `xml:"type" json:"type"`
 53385  }
 53386  
 53387  func init() {
 53388  	t["MemoryFileFormatNotSupportedByDatastore"] = reflect.TypeOf((*MemoryFileFormatNotSupportedByDatastore)(nil)).Elem()
 53389  	minAPIVersionForType["MemoryFileFormatNotSupportedByDatastore"] = "6.0"
 53390  }
 53391  
 53392  type MemoryFileFormatNotSupportedByDatastoreFault MemoryFileFormatNotSupportedByDatastore
 53393  
 53394  func init() {
 53395  	t["MemoryFileFormatNotSupportedByDatastoreFault"] = reflect.TypeOf((*MemoryFileFormatNotSupportedByDatastoreFault)(nil)).Elem()
 53396  }
 53397  
 53398  // Thrown when memory cannot be hot-added or hot-removed from the virtual machine.
 53399  type MemoryHotPlugNotSupported struct {
 53400  	VmConfigFault
 53401  }
 53402  
 53403  func init() {
 53404  	t["MemoryHotPlugNotSupported"] = reflect.TypeOf((*MemoryHotPlugNotSupported)(nil)).Elem()
 53405  	minAPIVersionForType["MemoryHotPlugNotSupported"] = "4.0"
 53406  }
 53407  
 53408  type MemoryHotPlugNotSupportedFault MemoryHotPlugNotSupported
 53409  
 53410  func init() {
 53411  	t["MemoryHotPlugNotSupportedFault"] = reflect.TypeOf((*MemoryHotPlugNotSupportedFault)(nil)).Elem()
 53412  }
 53413  
 53414  // The memory amount of the virtual machine is not within the recommended
 53415  // memory bounds for the virtual machine's guest OS.
 53416  type MemorySizeNotRecommended struct {
 53417  	VirtualHardwareCompatibilityIssue
 53418  
 53419  	// The configured memory size of the virtual machine.
 53420  	MemorySizeMB int32 `xml:"memorySizeMB" json:"memorySizeMB"`
 53421  	// The minimum recommended memory size.
 53422  	MinMemorySizeMB int32 `xml:"minMemorySizeMB" json:"minMemorySizeMB"`
 53423  	// The maximum recommended memory size.
 53424  	MaxMemorySizeMB int32 `xml:"maxMemorySizeMB" json:"maxMemorySizeMB"`
 53425  }
 53426  
 53427  func init() {
 53428  	t["MemorySizeNotRecommended"] = reflect.TypeOf((*MemorySizeNotRecommended)(nil)).Elem()
 53429  	minAPIVersionForType["MemorySizeNotRecommended"] = "2.5"
 53430  }
 53431  
 53432  type MemorySizeNotRecommendedFault MemorySizeNotRecommended
 53433  
 53434  func init() {
 53435  	t["MemorySizeNotRecommendedFault"] = reflect.TypeOf((*MemorySizeNotRecommendedFault)(nil)).Elem()
 53436  }
 53437  
 53438  // The memory amount of the virtual machine is not within the acceptable
 53439  // guest memory bounds supported by the virtual machine's host.
 53440  type MemorySizeNotSupported struct {
 53441  	VirtualHardwareCompatibilityIssue
 53442  
 53443  	// The configured memory size of the virtual machine.
 53444  	MemorySizeMB int32 `xml:"memorySizeMB" json:"memorySizeMB"`
 53445  	// The minimum acceptable memory size.
 53446  	MinMemorySizeMB int32 `xml:"minMemorySizeMB" json:"minMemorySizeMB"`
 53447  	// The maximum acceptable memory size.
 53448  	MaxMemorySizeMB int32 `xml:"maxMemorySizeMB" json:"maxMemorySizeMB"`
 53449  }
 53450  
 53451  func init() {
 53452  	t["MemorySizeNotSupported"] = reflect.TypeOf((*MemorySizeNotSupported)(nil)).Elem()
 53453  	minAPIVersionForType["MemorySizeNotSupported"] = "2.5"
 53454  }
 53455  
 53456  // The memory amount of the virtual machine is not within the acceptable
 53457  // guest memory bounds supported by the virtual machine's datastore.
 53458  type MemorySizeNotSupportedByDatastore struct {
 53459  	VirtualHardwareCompatibilityIssue
 53460  
 53461  	// The datastore which does not support the requested memory size.
 53462  	//
 53463  	// Refers instance of `Datastore`.
 53464  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 53465  	// The configured memory size of the virtual machine.
 53466  	MemorySizeMB int32 `xml:"memorySizeMB" json:"memorySizeMB"`
 53467  	// The maximum acceptable memory size supported by the datastore.
 53468  	MaxMemorySizeMB int32 `xml:"maxMemorySizeMB" json:"maxMemorySizeMB"`
 53469  }
 53470  
 53471  func init() {
 53472  	t["MemorySizeNotSupportedByDatastore"] = reflect.TypeOf((*MemorySizeNotSupportedByDatastore)(nil)).Elem()
 53473  	minAPIVersionForType["MemorySizeNotSupportedByDatastore"] = "5.0"
 53474  }
 53475  
 53476  type MemorySizeNotSupportedByDatastoreFault MemorySizeNotSupportedByDatastore
 53477  
 53478  func init() {
 53479  	t["MemorySizeNotSupportedByDatastoreFault"] = reflect.TypeOf((*MemorySizeNotSupportedByDatastoreFault)(nil)).Elem()
 53480  }
 53481  
 53482  type MemorySizeNotSupportedFault MemorySizeNotSupported
 53483  
 53484  func init() {
 53485  	t["MemorySizeNotSupportedFault"] = reflect.TypeOf((*MemorySizeNotSupportedFault)(nil)).Elem()
 53486  }
 53487  
 53488  // Thrown if a request to take a memory snapshot is issued
 53489  // on a virtual machine with an independent disk.
 53490  type MemorySnapshotOnIndependentDisk struct {
 53491  	SnapshotFault
 53492  }
 53493  
 53494  func init() {
 53495  	t["MemorySnapshotOnIndependentDisk"] = reflect.TypeOf((*MemorySnapshotOnIndependentDisk)(nil)).Elem()
 53496  }
 53497  
 53498  type MemorySnapshotOnIndependentDiskFault MemorySnapshotOnIndependentDisk
 53499  
 53500  func init() {
 53501  	t["MemorySnapshotOnIndependentDiskFault"] = reflect.TypeOf((*MemorySnapshotOnIndependentDiskFault)(nil)).Elem()
 53502  }
 53503  
 53504  // The parameters of `DistributedVirtualSwitch.MergeDvs_Task`.
 53505  type MergeDvsRequestType struct {
 53506  	This ManagedObjectReference `xml:"_this" json:"-"`
 53507  	// The switch (source) to be merged
 53508  	//
 53509  	// Required privileges: DVSwitch.Delete
 53510  	//
 53511  	// Refers instance of `DistributedVirtualSwitch`.
 53512  	Dvs ManagedObjectReference `xml:"dvs" json:"dvs"`
 53513  }
 53514  
 53515  func init() {
 53516  	t["MergeDvsRequestType"] = reflect.TypeOf((*MergeDvsRequestType)(nil)).Elem()
 53517  }
 53518  
 53519  type MergeDvs_Task MergeDvsRequestType
 53520  
 53521  func init() {
 53522  	t["MergeDvs_Task"] = reflect.TypeOf((*MergeDvs_Task)(nil)).Elem()
 53523  }
 53524  
 53525  type MergeDvs_TaskResponse struct {
 53526  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 53527  }
 53528  
 53529  type MergePermissions MergePermissionsRequestType
 53530  
 53531  func init() {
 53532  	t["MergePermissions"] = reflect.TypeOf((*MergePermissions)(nil)).Elem()
 53533  }
 53534  
 53535  // The parameters of `AuthorizationManager.MergePermissions`.
 53536  type MergePermissionsRequestType struct {
 53537  	This ManagedObjectReference `xml:"_this" json:"-"`
 53538  	// The ID of the source role providing the permissions
 53539  	// which are changing.
 53540  	SrcRoleId int32 `xml:"srcRoleId" json:"srcRoleId"`
 53541  	// The ID of the destination role to which the
 53542  	// permissions are reassigned.
 53543  	DstRoleId int32 `xml:"dstRoleId" json:"dstRoleId"`
 53544  }
 53545  
 53546  func init() {
 53547  	t["MergePermissionsRequestType"] = reflect.TypeOf((*MergePermissionsRequestType)(nil)).Elem()
 53548  }
 53549  
 53550  type MergePermissionsResponse struct {
 53551  }
 53552  
 53553  // This data object type defines an operation and its arguments, invoked
 53554  // on a particular entity.
 53555  type MethodAction struct {
 53556  	Action
 53557  
 53558  	// Name of the operation.
 53559  	Name string `xml:"name" json:"name"`
 53560  	// An array consisting of the arguments for the operation.
 53561  	Argument []MethodActionArgument `xml:"argument,omitempty" json:"argument,omitempty"`
 53562  }
 53563  
 53564  func init() {
 53565  	t["MethodAction"] = reflect.TypeOf((*MethodAction)(nil)).Elem()
 53566  }
 53567  
 53568  // This data object type defines a named argument for an operation.
 53569  type MethodActionArgument struct {
 53570  	DynamicData
 53571  
 53572  	// The value of the argument.
 53573  	Value AnyType `xml:"value,typeattr" json:"value"`
 53574  }
 53575  
 53576  func init() {
 53577  	t["MethodActionArgument"] = reflect.TypeOf((*MethodActionArgument)(nil)).Elem()
 53578  }
 53579  
 53580  // A MethodAlreadyDisabledFault fault is thrown when an attempt
 53581  // is made to disable a method that is already disabled.
 53582  type MethodAlreadyDisabledFault struct {
 53583  	RuntimeFault
 53584  
 53585  	SourceId string `xml:"sourceId" json:"sourceId"`
 53586  }
 53587  
 53588  func init() {
 53589  	t["MethodAlreadyDisabledFault"] = reflect.TypeOf((*MethodAlreadyDisabledFault)(nil)).Elem()
 53590  	minAPIVersionForType["MethodAlreadyDisabledFault"] = "4.1"
 53591  }
 53592  
 53593  type MethodAlreadyDisabledFaultFault MethodAlreadyDisabledFault
 53594  
 53595  func init() {
 53596  	t["MethodAlreadyDisabledFaultFault"] = reflect.TypeOf((*MethodAlreadyDisabledFaultFault)(nil)).Elem()
 53597  }
 53598  
 53599  // Static strings used for describing an object model method.
 53600  type MethodDescription struct {
 53601  	Description
 53602  
 53603  	// Method being described.
 53604  	Key string `xml:"key" json:"key"`
 53605  }
 53606  
 53607  func init() {
 53608  	t["MethodDescription"] = reflect.TypeOf((*MethodDescription)(nil)).Elem()
 53609  }
 53610  
 53611  // A MethodDisabled fault is thrown if a disabled method
 53612  // is invoked by the client.
 53613  //
 53614  // The method denote an invalid state
 53615  // operation or may have been explicitly disabled.
 53616  type MethodDisabled struct {
 53617  	RuntimeFault
 53618  
 53619  	Source string `xml:"source,omitempty" json:"source,omitempty"`
 53620  }
 53621  
 53622  func init() {
 53623  	t["MethodDisabled"] = reflect.TypeOf((*MethodDisabled)(nil)).Elem()
 53624  	minAPIVersionForType["MethodDisabled"] = "2.5"
 53625  }
 53626  
 53627  type MethodDisabledFault MethodDisabled
 53628  
 53629  func init() {
 53630  	t["MethodDisabledFault"] = reflect.TypeOf((*MethodDisabledFault)(nil)).Elem()
 53631  }
 53632  
 53633  // The base data object type for all the object model faults
 53634  // that an application might handle.
 53635  type MethodFault struct {
 53636  	// Fault which is the cause of this fault.
 53637  	FaultCause *LocalizedMethodFault `xml:"faultCause,omitempty" json:"faultCause,omitempty" vim:"4.0"`
 53638  	// Message which has details about the error
 53639  	// Message can also contain a key to message catalog which
 53640  	// can be used to generate better localized messages.
 53641  	FaultMessage []LocalizableMessage `xml:"faultMessage,omitempty" json:"faultMessage,omitempty" vim:"4.0"`
 53642  }
 53643  
 53644  func init() {
 53645  	t["MethodFault"] = reflect.TypeOf((*MethodFault)(nil)).Elem()
 53646  }
 53647  
 53648  type MethodFaultFault BaseMethodFault
 53649  
 53650  func init() {
 53651  	t["MethodFaultFault"] = reflect.TypeOf((*MethodFaultFault)(nil)).Elem()
 53652  }
 53653  
 53654  // MethodNotFound is thrown to indicate that a method called on a managed
 53655  // object does not exist.
 53656  type MethodNotFound struct {
 53657  	InvalidRequest
 53658  
 53659  	// The receiver of the call
 53660  	Receiver ManagedObjectReference `xml:"receiver" json:"receiver"`
 53661  	// The method called.
 53662  	Method string `xml:"method" json:"method"`
 53663  }
 53664  
 53665  func init() {
 53666  	t["MethodNotFound"] = reflect.TypeOf((*MethodNotFound)(nil)).Elem()
 53667  }
 53668  
 53669  type MethodNotFoundFault MethodNotFound
 53670  
 53671  func init() {
 53672  	t["MethodNotFoundFault"] = reflect.TypeOf((*MethodNotFoundFault)(nil)).Elem()
 53673  }
 53674  
 53675  // An alarm expression that uses a metric as the condition that triggers an
 53676  // alarm.
 53677  //
 53678  // Base type.
 53679  //
 53680  // There are two alarm operands: yellow and red. At least one of them
 53681  // must be set. The value of the alarm expression is determined as follows:
 53682  //   - If the host is not connected, the host metric expression is gray.
 53683  //   - If the vm is not connected, the vm metric expression is gray.
 53684  //   - If red is set but yellow is not, the expression is red when
 53685  //     the metric is over (isAbove operator) or under (isBelow operator)
 53686  //     the red value. Otherwise, the expression is green.
 53687  //   - If yellow is set but red is not, the expression is yellow when
 53688  //     the metric is over (isAbove) or under (isBelow)
 53689  //     the yellow value. Otherwise, the expression is green.
 53690  //   - If both yellow and red are set, the value of the expression is red
 53691  //     when the metric is over (isAbove) or under (isBelow) the red value.
 53692  //     Otherwise, the expression is yellow when the metric is over (isAbove)
 53693  //     or under (isBelow) the yellow value. Otherwise, the expression is green.
 53694  type MetricAlarmExpression struct {
 53695  	AlarmExpression
 53696  
 53697  	// The operation to be tested on the metric.
 53698  	Operator MetricAlarmOperator `xml:"operator" json:"operator"`
 53699  	// Name of the object type containing the property.
 53700  	Type string `xml:"type" json:"type"`
 53701  	// The instance of the metric.
 53702  	Metric PerfMetricId `xml:"metric" json:"metric"`
 53703  	// Whether or not to test for a yellow condition.
 53704  	//
 53705  	// If not set, do not calculate yellow status.
 53706  	// If set, it contains the threshold value that triggers yellow status.
 53707  	Yellow int32 `xml:"yellow,omitempty" json:"yellow,omitempty"`
 53708  	// Time interval in seconds for which the yellow condition must be true
 53709  	// before the yellow status is triggered.
 53710  	//
 53711  	// If unset, the yellow status is
 53712  	// triggered immediately when the yellow condition becomes true.
 53713  	YellowInterval int32 `xml:"yellowInterval,omitempty" json:"yellowInterval,omitempty" vim:"4.0"`
 53714  	// Whether or not to test for a red condition.
 53715  	//
 53716  	// If not set, do not calculate red status.
 53717  	// If set, it contains the threshold value that triggers red status.
 53718  	Red int32 `xml:"red,omitempty" json:"red,omitempty"`
 53719  	// Time interval in seconds for which the red condition must be true
 53720  	// before the red status is triggered.
 53721  	//
 53722  	// If unset, the red status is
 53723  	// triggered immediately when the red condition becomes true.
 53724  	RedInterval int32 `xml:"redInterval,omitempty" json:"redInterval,omitempty" vim:"4.0"`
 53725  }
 53726  
 53727  func init() {
 53728  	t["MetricAlarmExpression"] = reflect.TypeOf((*MetricAlarmExpression)(nil)).Elem()
 53729  }
 53730  
 53731  // The parameters of `VirtualMachine.MigrateVM_Task`.
 53732  type MigrateVMRequestType struct {
 53733  	This ManagedObjectReference `xml:"_this" json:"-"`
 53734  	// The target resource pool for the virtual machine. If the pool
 53735  	// parameter is left unset, the virtual machine's current pool is used
 53736  	// as the target pool.
 53737  	//
 53738  	// Required privileges: Resource.AssignVMToPool
 53739  	//
 53740  	// Refers instance of `ResourcePool`.
 53741  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
 53742  	// The target host to which the virtual machine is intended to migrate.
 53743  	// The host parameter
 53744  	// may be left unset if the compute resource associated with the
 53745  	// target pool represents a stand-alone host or a DRS-enabled cluster.
 53746  	// In the former case the stand-alone host is used as the target host.
 53747  	// In the latter case, the DRS system selects an appropriate
 53748  	// target host from the cluster.
 53749  	//
 53750  	// Refers instance of `HostSystem`.
 53751  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 53752  	// The task priority (@see vim.VirtualMachine.MovePriority).
 53753  	Priority VirtualMachineMovePriority `xml:"priority" json:"priority"`
 53754  	// If specified, the virtual machine migrates only if
 53755  	// its state matches the specified state.
 53756  	State VirtualMachinePowerState `xml:"state,omitempty" json:"state,omitempty"`
 53757  }
 53758  
 53759  func init() {
 53760  	t["MigrateVMRequestType"] = reflect.TypeOf((*MigrateVMRequestType)(nil)).Elem()
 53761  }
 53762  
 53763  type MigrateVM_Task MigrateVMRequestType
 53764  
 53765  func init() {
 53766  	t["MigrateVM_Task"] = reflect.TypeOf((*MigrateVM_Task)(nil)).Elem()
 53767  }
 53768  
 53769  type MigrateVM_TaskResponse struct {
 53770  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 53771  }
 53772  
 53773  // An MigrationDisabled fault is thrown if the
 53774  // migration failed due to disabled migration
 53775  type MigrationDisabled struct {
 53776  	MigrationFault
 53777  }
 53778  
 53779  func init() {
 53780  	t["MigrationDisabled"] = reflect.TypeOf((*MigrationDisabled)(nil)).Elem()
 53781  	minAPIVersionForType["MigrationDisabled"] = "4.0"
 53782  }
 53783  
 53784  type MigrationDisabledFault MigrationDisabled
 53785  
 53786  func init() {
 53787  	t["MigrationDisabledFault"] = reflect.TypeOf((*MigrationDisabledFault)(nil)).Elem()
 53788  }
 53789  
 53790  // A migration error.
 53791  type MigrationErrorEvent struct {
 53792  	MigrationEvent
 53793  }
 53794  
 53795  func init() {
 53796  	t["MigrationErrorEvent"] = reflect.TypeOf((*MigrationErrorEvent)(nil)).Elem()
 53797  }
 53798  
 53799  // These are events used to describe migration warning and errors
 53800  type MigrationEvent struct {
 53801  	VmEvent
 53802  
 53803  	// The fault that describes the migration issue.
 53804  	//
 53805  	// This is typically either a
 53806  	// MigrationFault or a VmConfigFault.
 53807  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 53808  }
 53809  
 53810  func init() {
 53811  	t["MigrationEvent"] = reflect.TypeOf((*MigrationEvent)(nil)).Elem()
 53812  }
 53813  
 53814  // Base object type for issues that can occur when reassigning the execution
 53815  // host of a virtual machine using migrate or relocate.
 53816  //
 53817  // These issues are typically
 53818  // used as argument in the MigrationEvent. When a MigrationFault is used as a value
 53819  // in a MigrationEvent, the type of MigrationEvent determines if the issue is a
 53820  // warning or an error (for example, MigrationHostWarningEvent or
 53821  // MigrationHostErrorEvent). When thrown as an exception, the fault is an error.
 53822  //
 53823  // Issues are categorized as errors or warnings according to the following
 53824  // criteria:
 53825  //
 53826  // If the virtual machine is powered on:
 53827  //  1. Error for fatal problems with the VMotion interfaces or licensing.
 53828  //  2. Error if VMotion would fail.
 53829  //  3. Error if VMotion would in any way interrupt the continuous and consistent
 53830  //     operation of the virtual machine.
 53831  //  4. Warning for potential performance or connectivity problems between the
 53832  //     source and destination VMotion interfaces.
 53833  //  5. Warning if the virtual machine's currently disconnected devices may not
 53834  //     be connectable after VMotion.
 53835  //
 53836  // If the virtual machine is powered off or suspended:
 53837  //  1. Error if the destination host cannot access all the files that comprise
 53838  //     the virtual machine (including virtual disks).
 53839  //  2. Error if aspects of the virtual machine are not supported by the
 53840  //     destination host's hardware or software.
 53841  //  3. Warning if problems would occur when powering on or resuming the
 53842  //     virtual machine, if the usage/configuration of the destination
 53843  //     host were to remain in its current state.
 53844  type MigrationFault struct {
 53845  	VimFault
 53846  }
 53847  
 53848  func init() {
 53849  	t["MigrationFault"] = reflect.TypeOf((*MigrationFault)(nil)).Elem()
 53850  }
 53851  
 53852  type MigrationFaultFault BaseMigrationFault
 53853  
 53854  func init() {
 53855  	t["MigrationFaultFault"] = reflect.TypeOf((*MigrationFaultFault)(nil)).Elem()
 53856  }
 53857  
 53858  // A migration operation that requires feature support on source and
 53859  // destination hosts is lacking support on the host.
 53860  type MigrationFeatureNotSupported struct {
 53861  	MigrationFault
 53862  
 53863  	// Whether this error is for the source host.
 53864  	AtSourceHost bool `xml:"atSourceHost" json:"atSourceHost"`
 53865  	// The name of the host.
 53866  	FailedHostName string `xml:"failedHostName" json:"failedHostName"`
 53867  	// The host.
 53868  	//
 53869  	// Refers instance of `HostSystem`.
 53870  	FailedHost ManagedObjectReference `xml:"failedHost" json:"failedHost"`
 53871  }
 53872  
 53873  func init() {
 53874  	t["MigrationFeatureNotSupported"] = reflect.TypeOf((*MigrationFeatureNotSupported)(nil)).Elem()
 53875  	minAPIVersionForType["MigrationFeatureNotSupported"] = "2.5"
 53876  }
 53877  
 53878  type MigrationFeatureNotSupportedFault BaseMigrationFeatureNotSupported
 53879  
 53880  func init() {
 53881  	t["MigrationFeatureNotSupportedFault"] = reflect.TypeOf((*MigrationFeatureNotSupportedFault)(nil)).Elem()
 53882  }
 53883  
 53884  // A migration error that includes the destination host.
 53885  type MigrationHostErrorEvent struct {
 53886  	MigrationEvent
 53887  
 53888  	// The name of the destination host.
 53889  	DstHost HostEventArgument `xml:"dstHost" json:"dstHost"`
 53890  }
 53891  
 53892  func init() {
 53893  	t["MigrationHostErrorEvent"] = reflect.TypeOf((*MigrationHostErrorEvent)(nil)).Elem()
 53894  }
 53895  
 53896  // A migration warning that includes the destination host.
 53897  type MigrationHostWarningEvent struct {
 53898  	MigrationEvent
 53899  
 53900  	// The name of the destination host.
 53901  	DstHost HostEventArgument `xml:"dstHost" json:"dstHost"`
 53902  }
 53903  
 53904  func init() {
 53905  	t["MigrationHostWarningEvent"] = reflect.TypeOf((*MigrationHostWarningEvent)(nil)).Elem()
 53906  }
 53907  
 53908  // The VM to be migrated is not ready for the migration operation.
 53909  //
 53910  // This might
 53911  // because the VM is still in the progress of powering on or resuming from a
 53912  // suspended state.
 53913  type MigrationNotReady struct {
 53914  	MigrationFault
 53915  
 53916  	Reason string `xml:"reason" json:"reason"`
 53917  }
 53918  
 53919  func init() {
 53920  	t["MigrationNotReady"] = reflect.TypeOf((*MigrationNotReady)(nil)).Elem()
 53921  	minAPIVersionForType["MigrationNotReady"] = "4.0"
 53922  }
 53923  
 53924  type MigrationNotReadyFault MigrationNotReady
 53925  
 53926  func init() {
 53927  	t["MigrationNotReadyFault"] = reflect.TypeOf((*MigrationNotReadyFault)(nil)).Elem()
 53928  }
 53929  
 53930  // A migration error that includes both the destination host and resource pool.
 53931  type MigrationResourceErrorEvent struct {
 53932  	MigrationEvent
 53933  
 53934  	// The name of the destination resource pool.
 53935  	DstPool ResourcePoolEventArgument `xml:"dstPool" json:"dstPool"`
 53936  	// The name of the destination host.
 53937  	DstHost HostEventArgument `xml:"dstHost" json:"dstHost"`
 53938  }
 53939  
 53940  func init() {
 53941  	t["MigrationResourceErrorEvent"] = reflect.TypeOf((*MigrationResourceErrorEvent)(nil)).Elem()
 53942  }
 53943  
 53944  // A migration warning that includes both the destination host and resource pool.
 53945  type MigrationResourceWarningEvent struct {
 53946  	MigrationEvent
 53947  
 53948  	// The name of the destination resource pool.
 53949  	DstPool ResourcePoolEventArgument `xml:"dstPool" json:"dstPool"`
 53950  	// The name of the destination host.
 53951  	DstHost HostEventArgument `xml:"dstHost" json:"dstHost"`
 53952  }
 53953  
 53954  func init() {
 53955  	t["MigrationResourceWarningEvent"] = reflect.TypeOf((*MigrationResourceWarningEvent)(nil)).Elem()
 53956  }
 53957  
 53958  // A migration warning.
 53959  type MigrationWarningEvent struct {
 53960  	MigrationEvent
 53961  }
 53962  
 53963  func init() {
 53964  	t["MigrationWarningEvent"] = reflect.TypeOf((*MigrationWarningEvent)(nil)).Elem()
 53965  }
 53966  
 53967  // A MismatchedBundle fault is thrown when the bundle supplied for
 53968  // `HostFirmwareSystem.RestoreFirmwareConfiguration` does not match the
 53969  // specifications of the host
 53970  type MismatchedBundle struct {
 53971  	VimFault
 53972  
 53973  	// The uuid of the host that the bundle was generated for
 53974  	BundleUuid string `xml:"bundleUuid" json:"bundleUuid"`
 53975  	// The uuid of the host
 53976  	HostUuid string `xml:"hostUuid" json:"hostUuid"`
 53977  	// The build number of the host that the bundle was generated for
 53978  	BundleBuildNumber int32 `xml:"bundleBuildNumber" json:"bundleBuildNumber"`
 53979  	// The build number of the host
 53980  	HostBuildNumber int32 `xml:"hostBuildNumber" json:"hostBuildNumber"`
 53981  }
 53982  
 53983  func init() {
 53984  	t["MismatchedBundle"] = reflect.TypeOf((*MismatchedBundle)(nil)).Elem()
 53985  	minAPIVersionForType["MismatchedBundle"] = "2.5"
 53986  }
 53987  
 53988  type MismatchedBundleFault MismatchedBundle
 53989  
 53990  func init() {
 53991  	t["MismatchedBundleFault"] = reflect.TypeOf((*MismatchedBundleFault)(nil)).Elem()
 53992  }
 53993  
 53994  // Deprecated as of vSphere API 5.5, use `CannotUseNetwork` with
 53995  // a correct reason for the fault.
 53996  //
 53997  // The virtual machine network uses different offload or security
 53998  // policies on the destination host than on the source host.
 53999  //
 54000  // This is an error
 54001  // if the virtual machine is currently connected to the network, and a warning
 54002  // otherwise.
 54003  type MismatchedNetworkPolicies struct {
 54004  	MigrationFault
 54005  
 54006  	// The label of the interface device.
 54007  	Device string `xml:"device" json:"device"`
 54008  	// The name of the network.
 54009  	Backing string `xml:"backing" json:"backing"`
 54010  	// The connected/disconnected state of the device.
 54011  	Connected bool `xml:"connected" json:"connected"`
 54012  }
 54013  
 54014  func init() {
 54015  	t["MismatchedNetworkPolicies"] = reflect.TypeOf((*MismatchedNetworkPolicies)(nil)).Elem()
 54016  }
 54017  
 54018  type MismatchedNetworkPoliciesFault MismatchedNetworkPolicies
 54019  
 54020  func init() {
 54021  	t["MismatchedNetworkPoliciesFault"] = reflect.TypeOf((*MismatchedNetworkPoliciesFault)(nil)).Elem()
 54022  }
 54023  
 54024  // The source and destination hosts do not use the same network name for
 54025  // their VMotion interfaces.
 54026  //
 54027  // This is a warning for migrating powered-on virtual
 54028  // machines.
 54029  type MismatchedVMotionNetworkNames struct {
 54030  	MigrationFault
 54031  
 54032  	// The name of the network used by the source host VMotion interface.
 54033  	SourceNetwork string `xml:"sourceNetwork" json:"sourceNetwork"`
 54034  	// The name of the network used by the destination host VMotion interface.
 54035  	DestNetwork string `xml:"destNetwork" json:"destNetwork"`
 54036  }
 54037  
 54038  func init() {
 54039  	t["MismatchedVMotionNetworkNames"] = reflect.TypeOf((*MismatchedVMotionNetworkNames)(nil)).Elem()
 54040  }
 54041  
 54042  type MismatchedVMotionNetworkNamesFault MismatchedVMotionNetworkNames
 54043  
 54044  func init() {
 54045  	t["MismatchedVMotionNetworkNamesFault"] = reflect.TypeOf((*MismatchedVMotionNetworkNamesFault)(nil)).Elem()
 54046  }
 54047  
 54048  // A MissingBmcSuppport fault is thrown when a host's BMC doesn't support IPMI.
 54049  //
 54050  // BMC (Board Management Controller) is a piece of hardware required for IPMI.
 54051  type MissingBmcSupport struct {
 54052  	VimFault
 54053  }
 54054  
 54055  func init() {
 54056  	t["MissingBmcSupport"] = reflect.TypeOf((*MissingBmcSupport)(nil)).Elem()
 54057  	minAPIVersionForType["MissingBmcSupport"] = "4.0"
 54058  }
 54059  
 54060  type MissingBmcSupportFault MissingBmcSupport
 54061  
 54062  func init() {
 54063  	t["MissingBmcSupportFault"] = reflect.TypeOf((*MissingBmcSupportFault)(nil)).Elem()
 54064  }
 54065  
 54066  // A controller key has not been specified for a new device
 54067  // that requires a controller, such as a disk or CD-ROM device.
 54068  type MissingController struct {
 54069  	InvalidDeviceSpec
 54070  }
 54071  
 54072  func init() {
 54073  	t["MissingController"] = reflect.TypeOf((*MissingController)(nil)).Elem()
 54074  }
 54075  
 54076  type MissingControllerFault MissingController
 54077  
 54078  func init() {
 54079  	t["MissingControllerFault"] = reflect.TypeOf((*MissingControllerFault)(nil)).Elem()
 54080  }
 54081  
 54082  // No IP pool is associated with a network.
 54083  type MissingIpPool struct {
 54084  	VAppPropertyFault
 54085  }
 54086  
 54087  func init() {
 54088  	t["MissingIpPool"] = reflect.TypeOf((*MissingIpPool)(nil)).Elem()
 54089  	minAPIVersionForType["MissingIpPool"] = "5.0"
 54090  }
 54091  
 54092  type MissingIpPoolFault MissingIpPool
 54093  
 54094  func init() {
 54095  	t["MissingIpPoolFault"] = reflect.TypeOf((*MissingIpPoolFault)(nil)).Elem()
 54096  }
 54097  
 54098  // Usable open source components required for Linux customization were not found
 54099  // on the server.
 54100  type MissingLinuxCustResources struct {
 54101  	CustomizationFault
 54102  }
 54103  
 54104  func init() {
 54105  	t["MissingLinuxCustResources"] = reflect.TypeOf((*MissingLinuxCustResources)(nil)).Elem()
 54106  }
 54107  
 54108  type MissingLinuxCustResourcesFault MissingLinuxCustResources
 54109  
 54110  func init() {
 54111  	t["MissingLinuxCustResourcesFault"] = reflect.TypeOf((*MissingLinuxCustResourcesFault)(nil)).Elem()
 54112  }
 54113  
 54114  // No IP configuration exists for network.
 54115  type MissingNetworkIpConfig struct {
 54116  	VAppPropertyFault
 54117  }
 54118  
 54119  func init() {
 54120  	t["MissingNetworkIpConfig"] = reflect.TypeOf((*MissingNetworkIpConfig)(nil)).Elem()
 54121  	minAPIVersionForType["MissingNetworkIpConfig"] = "4.0"
 54122  }
 54123  
 54124  type MissingNetworkIpConfigFault MissingNetworkIpConfig
 54125  
 54126  func init() {
 54127  	t["MissingNetworkIpConfigFault"] = reflect.TypeOf((*MissingNetworkIpConfigFault)(nil)).Elem()
 54128  }
 54129  
 54130  // Used for reporting missing objects that were explicitly referenced by a
 54131  // filter spec.
 54132  //
 54133  // In other words, any of the objects referenced in `PropertyFilterSpec.objectSet`
 54134  type MissingObject struct {
 54135  	DynamicData
 54136  
 54137  	// The object that is being reported missing
 54138  	Obj ManagedObjectReference `xml:"obj" json:"obj"`
 54139  	// Fault describing the failure to lookup this object
 54140  	//
 54141  	// The possible faults for missing objects are:
 54142  	//     - `SystemError` if there was some unknown problem
 54143  	//       looking up the object
 54144  	//     - `ManagedObjectNotFound` if the object is no
 54145  	//       longer available
 54146  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 54147  }
 54148  
 54149  func init() {
 54150  	t["MissingObject"] = reflect.TypeOf((*MissingObject)(nil)).Elem()
 54151  }
 54152  
 54153  // Attempting to power-off a vApp for which no virtual machines has been
 54154  // configured to power off.
 54155  type MissingPowerOffConfiguration struct {
 54156  	VAppConfigFault
 54157  }
 54158  
 54159  func init() {
 54160  	t["MissingPowerOffConfiguration"] = reflect.TypeOf((*MissingPowerOffConfiguration)(nil)).Elem()
 54161  	minAPIVersionForType["MissingPowerOffConfiguration"] = "4.0"
 54162  }
 54163  
 54164  type MissingPowerOffConfigurationFault MissingPowerOffConfiguration
 54165  
 54166  func init() {
 54167  	t["MissingPowerOffConfigurationFault"] = reflect.TypeOf((*MissingPowerOffConfigurationFault)(nil)).Elem()
 54168  }
 54169  
 54170  // Attempting to power-on a vApp service for which no virtual machines has been
 54171  // configured to power on.
 54172  type MissingPowerOnConfiguration struct {
 54173  	VAppConfigFault
 54174  }
 54175  
 54176  func init() {
 54177  	t["MissingPowerOnConfiguration"] = reflect.TypeOf((*MissingPowerOnConfiguration)(nil)).Elem()
 54178  	minAPIVersionForType["MissingPowerOnConfiguration"] = "4.0"
 54179  }
 54180  
 54181  type MissingPowerOnConfigurationFault MissingPowerOnConfiguration
 54182  
 54183  func init() {
 54184  	t["MissingPowerOnConfigurationFault"] = reflect.TypeOf((*MissingPowerOnConfigurationFault)(nil)).Elem()
 54185  }
 54186  
 54187  // Used for reporting properties for which values could not be retrieved.
 54188  type MissingProperty struct {
 54189  	DynamicData
 54190  
 54191  	// Property for which a value could not be retrieved
 54192  	Path string `xml:"path" json:"path"`
 54193  	// Fault describing the failure to retrieve the property value.
 54194  	//
 54195  	// The possible faults for missing properties are:
 54196  	//     - `SystemError` if there was some unknown problem
 54197  	//       reading the value
 54198  	//     - `SecurityError` if the logged in session did
 54199  	//       not have permission to read the value
 54200  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 54201  }
 54202  
 54203  func init() {
 54204  	t["MissingProperty"] = reflect.TypeOf((*MissingProperty)(nil)).Elem()
 54205  }
 54206  
 54207  // A usable sysprep file was not found on the server.
 54208  type MissingWindowsCustResources struct {
 54209  	CustomizationFault
 54210  }
 54211  
 54212  func init() {
 54213  	t["MissingWindowsCustResources"] = reflect.TypeOf((*MissingWindowsCustResources)(nil)).Elem()
 54214  }
 54215  
 54216  type MissingWindowsCustResourcesFault MissingWindowsCustResources
 54217  
 54218  func init() {
 54219  	t["MissingWindowsCustResourcesFault"] = reflect.TypeOf((*MissingWindowsCustResourcesFault)(nil)).Elem()
 54220  }
 54221  
 54222  // Thrown when a mouse-keyboard-screen connection ticket to a virtual machine
 54223  // cannot be granted because the configured connection limit has been reached.
 54224  type MksConnectionLimitReached struct {
 54225  	InvalidState
 54226  
 54227  	// MKS connection limit for the virtual machine.
 54228  	ConnectionLimit int32 `xml:"connectionLimit" json:"connectionLimit"`
 54229  }
 54230  
 54231  func init() {
 54232  	t["MksConnectionLimitReached"] = reflect.TypeOf((*MksConnectionLimitReached)(nil)).Elem()
 54233  	minAPIVersionForType["MksConnectionLimitReached"] = "5.0"
 54234  }
 54235  
 54236  type MksConnectionLimitReachedFault MksConnectionLimitReached
 54237  
 54238  func init() {
 54239  	t["MksConnectionLimitReachedFault"] = reflect.TypeOf((*MksConnectionLimitReachedFault)(nil)).Elem()
 54240  }
 54241  
 54242  // The FileAccess.Modes data object type defines the known access modes
 54243  // for a datastore.
 54244  //
 54245  // The property values specify how to interpret
 54246  // the "what" property for a FileAccess object.
 54247  type ModeInfo struct {
 54248  	DynamicData
 54249  
 54250  	// Can see the existence of a file.
 54251  	Browse string `xml:"browse,omitempty" json:"browse,omitempty"`
 54252  	// Can read a file.
 54253  	Read string `xml:"read" json:"read"`
 54254  	// Can read and write a file.
 54255  	Modify string `xml:"modify" json:"modify"`
 54256  	// Can execute or operate a file or look inside a directory.
 54257  	Use string `xml:"use" json:"use"`
 54258  	// Can change permissions for a file.
 54259  	Admin string `xml:"admin,omitempty" json:"admin,omitempty"`
 54260  	// Can do anything to a file, including change permissions.
 54261  	Full string `xml:"full" json:"full"`
 54262  }
 54263  
 54264  func init() {
 54265  	t["ModeInfo"] = reflect.TypeOf((*ModeInfo)(nil)).Elem()
 54266  }
 54267  
 54268  type ModifyListView ModifyListViewRequestType
 54269  
 54270  func init() {
 54271  	t["ModifyListView"] = reflect.TypeOf((*ModifyListView)(nil)).Elem()
 54272  }
 54273  
 54274  // The parameters of `ListView.ModifyListView`.
 54275  type ModifyListViewRequestType struct {
 54276  	This ManagedObjectReference `xml:"_this" json:"-"`
 54277  	// Optional list of objects to add to the view.
 54278  	//
 54279  	// Required privileges: System.View
 54280  	Add []ManagedObjectReference `xml:"add,omitempty" json:"add,omitempty"`
 54281  	// Optional list of objects to remove from the view.
 54282  	//
 54283  	// Required privileges: System.View
 54284  	Remove []ManagedObjectReference `xml:"remove,omitempty" json:"remove,omitempty"`
 54285  }
 54286  
 54287  func init() {
 54288  	t["ModifyListViewRequestType"] = reflect.TypeOf((*ModifyListViewRequestType)(nil)).Elem()
 54289  }
 54290  
 54291  type ModifyListViewResponse struct {
 54292  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 54293  }
 54294  
 54295  // The `MonthlyByDayTaskScheduler` data object sets the time for monthly
 54296  // task execution.
 54297  //
 54298  // You can set the schedule for task execution
 54299  // on one day during the month, and you complete the schedule by
 54300  // setting the inherited properties for the hour and minute.
 54301  //
 54302  // By default the scheduler executes the task on the specified day
 54303  // every month. If you set the interval to a value greater than 1,
 54304  // the task will execute at the specified monthly interval.
 54305  // (For example, an interval of 2 will cause the task to execute
 54306  // on the specified day, hour, and minute every 2 months.)
 54307  type MonthlyByDayTaskScheduler struct {
 54308  	MonthlyTaskScheduler
 54309  
 54310  	// The day in every month to run the scheduled task.
 54311  	//
 54312  	// Valid values are 1 to 31.
 54313  	//
 54314  	// In any month where the value of "day" exceeds the total number of days
 54315  	// in the month, the scheduled task will run on the last day of the month.
 54316  	Day int32 `xml:"day" json:"day"`
 54317  }
 54318  
 54319  func init() {
 54320  	t["MonthlyByDayTaskScheduler"] = reflect.TypeOf((*MonthlyByDayTaskScheduler)(nil)).Elem()
 54321  }
 54322  
 54323  // The `MonthlyByWeekdayTaskScheduler` data object sets the time for
 54324  // monthly task execution.
 54325  //
 54326  // You identify a single day for task execution
 54327  // by specifying the week of the month and day of the week, and you
 54328  // complete the schedule by setting the inherited properties for the
 54329  // hour and minute.
 54330  //
 54331  // By default, the scheduler executes the task on the specified day
 54332  // every month. If you set the interval to a value greater than 1,
 54333  // the task will execute at the specified monthly interval. (For example,
 54334  // an interval of 2 will cause the task to execute on the specified
 54335  // day, hour, and minute every 2 months.)
 54336  type MonthlyByWeekdayTaskScheduler struct {
 54337  	MonthlyTaskScheduler
 54338  
 54339  	// The week in the month during which the scheduled task is to run.
 54340  	Offset WeekOfMonth `xml:"offset" json:"offset"`
 54341  	// The day in the week when the scheduled task is to run.
 54342  	Weekday DayOfWeek `xml:"weekday" json:"weekday"`
 54343  }
 54344  
 54345  func init() {
 54346  	t["MonthlyByWeekdayTaskScheduler"] = reflect.TypeOf((*MonthlyByWeekdayTaskScheduler)(nil)).Elem()
 54347  }
 54348  
 54349  // The `MonthlyTaskScheduler` data object is the base type for
 54350  // the monthly schedulers (`MonthlyByDayTaskScheduler` and
 54351  // `MonthlyByWeekdayTaskScheduler`).
 54352  type MonthlyTaskScheduler struct {
 54353  	DailyTaskScheduler
 54354  }
 54355  
 54356  func init() {
 54357  	t["MonthlyTaskScheduler"] = reflect.TypeOf((*MonthlyTaskScheduler)(nil)).Elem()
 54358  }
 54359  
 54360  // Customization failed because the customization process was unable to mount a remote
 54361  // virtual disk file.
 54362  type MountError struct {
 54363  	CustomizationFault
 54364  
 54365  	// The virtual machine to be customized.
 54366  	//
 54367  	// Refers instance of `VirtualMachine`.
 54368  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 54369  	// Index into the virtual machine's device list,
 54370  	// representing the key value that identifies the virtual device
 54371  	// that is the presumed boot disk.
 54372  	DiskIndex int32 `xml:"diskIndex" json:"diskIndex"`
 54373  }
 54374  
 54375  func init() {
 54376  	t["MountError"] = reflect.TypeOf((*MountError)(nil)).Elem()
 54377  }
 54378  
 54379  type MountErrorFault MountError
 54380  
 54381  func init() {
 54382  	t["MountErrorFault"] = reflect.TypeOf((*MountErrorFault)(nil)).Elem()
 54383  }
 54384  
 54385  type MountToolsInstaller MountToolsInstallerRequestType
 54386  
 54387  func init() {
 54388  	t["MountToolsInstaller"] = reflect.TypeOf((*MountToolsInstaller)(nil)).Elem()
 54389  }
 54390  
 54391  type MountToolsInstallerRequestType struct {
 54392  	This ManagedObjectReference `xml:"_this" json:"-"`
 54393  }
 54394  
 54395  func init() {
 54396  	t["MountToolsInstallerRequestType"] = reflect.TypeOf((*MountToolsInstallerRequestType)(nil)).Elem()
 54397  }
 54398  
 54399  type MountToolsInstallerResponse struct {
 54400  }
 54401  
 54402  type MountVffsVolume MountVffsVolumeRequestType
 54403  
 54404  func init() {
 54405  	t["MountVffsVolume"] = reflect.TypeOf((*MountVffsVolume)(nil)).Elem()
 54406  }
 54407  
 54408  // The parameters of `HostStorageSystem.MountVffsVolume`.
 54409  type MountVffsVolumeRequestType struct {
 54410  	This     ManagedObjectReference `xml:"_this" json:"-"`
 54411  	VffsUuid string                 `xml:"vffsUuid" json:"vffsUuid"`
 54412  }
 54413  
 54414  func init() {
 54415  	t["MountVffsVolumeRequestType"] = reflect.TypeOf((*MountVffsVolumeRequestType)(nil)).Elem()
 54416  }
 54417  
 54418  type MountVffsVolumeResponse struct {
 54419  }
 54420  
 54421  type MountVmfsVolume MountVmfsVolumeRequestType
 54422  
 54423  func init() {
 54424  	t["MountVmfsVolume"] = reflect.TypeOf((*MountVmfsVolume)(nil)).Elem()
 54425  }
 54426  
 54427  // The parameters of `HostStorageSystem.MountVmfsVolumeEx_Task`.
 54428  type MountVmfsVolumeExRequestType struct {
 54429  	This ManagedObjectReference `xml:"_this" json:"-"`
 54430  	// each element specifies the UUID of a VMFS volume to be unmounted.
 54431  	VmfsUuid []string `xml:"vmfsUuid" json:"vmfsUuid"`
 54432  }
 54433  
 54434  func init() {
 54435  	t["MountVmfsVolumeExRequestType"] = reflect.TypeOf((*MountVmfsVolumeExRequestType)(nil)).Elem()
 54436  }
 54437  
 54438  type MountVmfsVolumeEx_Task MountVmfsVolumeExRequestType
 54439  
 54440  func init() {
 54441  	t["MountVmfsVolumeEx_Task"] = reflect.TypeOf((*MountVmfsVolumeEx_Task)(nil)).Elem()
 54442  }
 54443  
 54444  type MountVmfsVolumeEx_TaskResponse struct {
 54445  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 54446  }
 54447  
 54448  // The parameters of `HostStorageSystem.MountVmfsVolume`.
 54449  type MountVmfsVolumeRequestType struct {
 54450  	This     ManagedObjectReference `xml:"_this" json:"-"`
 54451  	VmfsUuid string                 `xml:"vmfsUuid" json:"vmfsUuid"`
 54452  }
 54453  
 54454  func init() {
 54455  	t["MountVmfsVolumeRequestType"] = reflect.TypeOf((*MountVmfsVolumeRequestType)(nil)).Elem()
 54456  }
 54457  
 54458  type MountVmfsVolumeResponse struct {
 54459  }
 54460  
 54461  // The parameters of `DistributedVirtualSwitch.MoveDVPort_Task`.
 54462  type MoveDVPortRequestType struct {
 54463  	This ManagedObjectReference `xml:"_this" json:"-"`
 54464  	// The keys of the ports to be moved into the portgroup.
 54465  	PortKey []string `xml:"portKey" json:"portKey"`
 54466  	// The key of the portgroup to be moved into.
 54467  	// If unset, the port will be moved under the switch.
 54468  	DestinationPortgroupKey string `xml:"destinationPortgroupKey,omitempty" json:"destinationPortgroupKey,omitempty"`
 54469  }
 54470  
 54471  func init() {
 54472  	t["MoveDVPortRequestType"] = reflect.TypeOf((*MoveDVPortRequestType)(nil)).Elem()
 54473  }
 54474  
 54475  type MoveDVPort_Task MoveDVPortRequestType
 54476  
 54477  func init() {
 54478  	t["MoveDVPort_Task"] = reflect.TypeOf((*MoveDVPort_Task)(nil)).Elem()
 54479  }
 54480  
 54481  type MoveDVPort_TaskResponse struct {
 54482  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 54483  }
 54484  
 54485  // The parameters of `FileManager.MoveDatastoreFile_Task`.
 54486  type MoveDatastoreFileRequestType struct {
 54487  	This ManagedObjectReference `xml:"_this" json:"-"`
 54488  	// The name of the source, either a URL or a datastore path
 54489  	// referring to the file or folder to be moved.
 54490  	SourceName string `xml:"sourceName" json:"sourceName"`
 54491  	// If <code>sourceName</code> is a datastore path, the
 54492  	// datacenter for that datastore path.
 54493  	// Not needed when invoked directly on ESX.
 54494  	// If not specified on a call to VirtualCenter,
 54495  	// <code>sourceName</code> must be a URL.
 54496  	//
 54497  	// Required privileges: System.View
 54498  	//
 54499  	// Refers instance of `Datacenter`.
 54500  	SourceDatacenter *ManagedObjectReference `xml:"sourceDatacenter,omitempty" json:"sourceDatacenter,omitempty"`
 54501  	// The name of the destination, either a URL or a
 54502  	// datastore path referring to the destination file or folder.
 54503  	DestinationName string `xml:"destinationName" json:"destinationName"`
 54504  	// If <code>destinationName</code> is a datastore
 54505  	// path, the datacenter for that datastore path.
 54506  	// Not needed when invoked directly on ESX.
 54507  	// If not specified on a call to VirtualCenter, it is assumed that
 54508  	// the destination path belongs to the source datacenter.
 54509  	//
 54510  	// Required privileges: System.View
 54511  	//
 54512  	// Refers instance of `Datacenter`.
 54513  	DestinationDatacenter *ManagedObjectReference `xml:"destinationDatacenter,omitempty" json:"destinationDatacenter,omitempty"`
 54514  	// If true, overwrite any identically named file
 54515  	// at the destination. If not specified, it is assumed to be false.
 54516  	Force *bool `xml:"force" json:"force,omitempty"`
 54517  }
 54518  
 54519  func init() {
 54520  	t["MoveDatastoreFileRequestType"] = reflect.TypeOf((*MoveDatastoreFileRequestType)(nil)).Elem()
 54521  }
 54522  
 54523  type MoveDatastoreFile_Task MoveDatastoreFileRequestType
 54524  
 54525  func init() {
 54526  	t["MoveDatastoreFile_Task"] = reflect.TypeOf((*MoveDatastoreFile_Task)(nil)).Elem()
 54527  }
 54528  
 54529  type MoveDatastoreFile_TaskResponse struct {
 54530  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 54531  }
 54532  
 54533  type MoveDirectoryInGuest MoveDirectoryInGuestRequestType
 54534  
 54535  func init() {
 54536  	t["MoveDirectoryInGuest"] = reflect.TypeOf((*MoveDirectoryInGuest)(nil)).Elem()
 54537  }
 54538  
 54539  // The parameters of `GuestFileManager.MoveDirectoryInGuest`.
 54540  type MoveDirectoryInGuestRequestType struct {
 54541  	This ManagedObjectReference `xml:"_this" json:"-"`
 54542  	// Virtual Machine to perform the operation on.
 54543  	//
 54544  	// Required privileges: VirtualMachine.GuestOperations.Modify
 54545  	//
 54546  	// Refers instance of `VirtualMachine`.
 54547  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 54548  	// The guest authentication data. See
 54549  	// `GuestAuthentication`.
 54550  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 54551  	// The complete path to the directory to be moved.
 54552  	SrcDirectoryPath string `xml:"srcDirectoryPath" json:"srcDirectoryPath"`
 54553  	// The complete path to the where the directory is
 54554  	// moved or its new name. It cannot be a path to an existing directory
 54555  	// or an existing file.
 54556  	DstDirectoryPath string `xml:"dstDirectoryPath" json:"dstDirectoryPath"`
 54557  }
 54558  
 54559  func init() {
 54560  	t["MoveDirectoryInGuestRequestType"] = reflect.TypeOf((*MoveDirectoryInGuestRequestType)(nil)).Elem()
 54561  }
 54562  
 54563  type MoveDirectoryInGuestResponse struct {
 54564  }
 54565  
 54566  type MoveFileInGuest MoveFileInGuestRequestType
 54567  
 54568  func init() {
 54569  	t["MoveFileInGuest"] = reflect.TypeOf((*MoveFileInGuest)(nil)).Elem()
 54570  }
 54571  
 54572  // The parameters of `GuestFileManager.MoveFileInGuest`.
 54573  type MoveFileInGuestRequestType struct {
 54574  	This ManagedObjectReference `xml:"_this" json:"-"`
 54575  	// Virtual Machine to perform the operation on.
 54576  	//
 54577  	// Required privileges: VirtualMachine.GuestOperations.Modify
 54578  	//
 54579  	// Refers instance of `VirtualMachine`.
 54580  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 54581  	// The guest authentication data. See
 54582  	// `GuestAuthentication`.
 54583  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 54584  	// The complete path to the original file or
 54585  	// symbolic link to be moved.
 54586  	SrcFilePath string `xml:"srcFilePath" json:"srcFilePath"`
 54587  	// The complete path to the where the file is renamed.
 54588  	// It cannot be a path to an existing directory.
 54589  	DstFilePath string `xml:"dstFilePath" json:"dstFilePath"`
 54590  	// If set, the destination file is clobbered.
 54591  	Overwrite bool `xml:"overwrite" json:"overwrite"`
 54592  }
 54593  
 54594  func init() {
 54595  	t["MoveFileInGuestRequestType"] = reflect.TypeOf((*MoveFileInGuestRequestType)(nil)).Elem()
 54596  }
 54597  
 54598  type MoveFileInGuestResponse struct {
 54599  }
 54600  
 54601  // The parameters of `ClusterComputeResource.MoveHostInto_Task`.
 54602  type MoveHostIntoRequestType struct {
 54603  	This ManagedObjectReference `xml:"_this" json:"-"`
 54604  	// The list of hosts to move into the cluster.
 54605  	//
 54606  	// Required privileges: Host.Inventory.MoveHost
 54607  	//
 54608  	// Refers instance of `HostSystem`.
 54609  	Host ManagedObjectReference `xml:"host" json:"host"`
 54610  	// The resource pool to match the root resource pool of
 54611  	// stand-alone hosts. This argument has no effect if the host is part of a
 54612  	// cluster.
 54613  	//
 54614  	// Refers instance of `ResourcePool`.
 54615  	ResourcePool *ManagedObjectReference `xml:"resourcePool,omitempty" json:"resourcePool,omitempty"`
 54616  }
 54617  
 54618  func init() {
 54619  	t["MoveHostIntoRequestType"] = reflect.TypeOf((*MoveHostIntoRequestType)(nil)).Elem()
 54620  }
 54621  
 54622  type MoveHostInto_Task MoveHostIntoRequestType
 54623  
 54624  func init() {
 54625  	t["MoveHostInto_Task"] = reflect.TypeOf((*MoveHostInto_Task)(nil)).Elem()
 54626  }
 54627  
 54628  type MoveHostInto_TaskResponse struct {
 54629  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 54630  }
 54631  
 54632  // The parameters of `Folder.MoveIntoFolder_Task`.
 54633  type MoveIntoFolderRequestType struct {
 54634  	This ManagedObjectReference `xml:"_this" json:"-"`
 54635  	// The list of objects to be moved into the folder.
 54636  	//
 54637  	// Refers instances of `ManagedEntity`.
 54638  	List []ManagedObjectReference `xml:"list" json:"list"`
 54639  }
 54640  
 54641  func init() {
 54642  	t["MoveIntoFolderRequestType"] = reflect.TypeOf((*MoveIntoFolderRequestType)(nil)).Elem()
 54643  }
 54644  
 54645  type MoveIntoFolder_Task MoveIntoFolderRequestType
 54646  
 54647  func init() {
 54648  	t["MoveIntoFolder_Task"] = reflect.TypeOf((*MoveIntoFolder_Task)(nil)).Elem()
 54649  }
 54650  
 54651  type MoveIntoFolder_TaskResponse struct {
 54652  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 54653  }
 54654  
 54655  // The parameters of `ClusterComputeResource.MoveInto_Task`.
 54656  type MoveIntoRequestType struct {
 54657  	This ManagedObjectReference `xml:"_this" json:"-"`
 54658  	// The list of hosts to move into the cluster.
 54659  	//
 54660  	// Required privileges: Host.Inventory.MoveHost
 54661  	//
 54662  	// Refers instances of `HostSystem`.
 54663  	Host []ManagedObjectReference `xml:"host" json:"host"`
 54664  }
 54665  
 54666  func init() {
 54667  	t["MoveIntoRequestType"] = reflect.TypeOf((*MoveIntoRequestType)(nil)).Elem()
 54668  }
 54669  
 54670  type MoveIntoResourcePool MoveIntoResourcePoolRequestType
 54671  
 54672  func init() {
 54673  	t["MoveIntoResourcePool"] = reflect.TypeOf((*MoveIntoResourcePool)(nil)).Elem()
 54674  }
 54675  
 54676  // The parameters of `ResourcePool.MoveIntoResourcePool`.
 54677  type MoveIntoResourcePoolRequestType struct {
 54678  	This ManagedObjectReference `xml:"_this" json:"-"`
 54679  	// A list of ResourcePool and VirtualMachine objects.
 54680  	//
 54681  	// Refers instances of `ManagedEntity`.
 54682  	List []ManagedObjectReference `xml:"list" json:"list"`
 54683  }
 54684  
 54685  func init() {
 54686  	t["MoveIntoResourcePoolRequestType"] = reflect.TypeOf((*MoveIntoResourcePoolRequestType)(nil)).Elem()
 54687  }
 54688  
 54689  type MoveIntoResourcePoolResponse struct {
 54690  }
 54691  
 54692  type MoveInto_Task MoveIntoRequestType
 54693  
 54694  func init() {
 54695  	t["MoveInto_Task"] = reflect.TypeOf((*MoveInto_Task)(nil)).Elem()
 54696  }
 54697  
 54698  type MoveInto_TaskResponse struct {
 54699  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 54700  }
 54701  
 54702  // The parameters of `VirtualDiskManager.MoveVirtualDisk_Task`.
 54703  type MoveVirtualDiskRequestType struct {
 54704  	This ManagedObjectReference `xml:"_this" json:"-"`
 54705  	// The name of the source, either a datastore path
 54706  	// or a URL referring to the virtual disk to be moved.
 54707  	SourceName string `xml:"sourceName" json:"sourceName"`
 54708  	// If <code>sourceName</code> is a datastore path, the
 54709  	// datacenter for that datastore path.
 54710  	// Not needed when invoked directly on ESX.
 54711  	// If not specified on a call to VirtualCenter,
 54712  	// <code>sourceName</code> must be a URL.
 54713  	//
 54714  	// Refers instance of `Datacenter`.
 54715  	SourceDatacenter *ManagedObjectReference `xml:"sourceDatacenter,omitempty" json:"sourceDatacenter,omitempty"`
 54716  	// The name of the destination, either a datastore path
 54717  	// or a URL referring to the destination virtual disk.
 54718  	DestName string `xml:"destName" json:"destName"`
 54719  	// If <code>destName</code> is a datastore
 54720  	// path, the datacenter for that datastore path.
 54721  	// Not needed when invoked directly on ESX.
 54722  	// If not specified on a call to VirtualCenter, it is assumed that
 54723  	// the destination path belongs to the source datacenter.
 54724  	//
 54725  	// Refers instance of `Datacenter`.
 54726  	DestDatacenter *ManagedObjectReference `xml:"destDatacenter,omitempty" json:"destDatacenter,omitempty"`
 54727  	// If true, overwrite any indentically named disk at the destination.
 54728  	// If not specified, it is assumed to be false
 54729  	Force *bool `xml:"force" json:"force,omitempty"`
 54730  	// User can specify new set of profile when moving virtual disk.
 54731  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty" vim:"5.5"`
 54732  }
 54733  
 54734  func init() {
 54735  	t["MoveVirtualDiskRequestType"] = reflect.TypeOf((*MoveVirtualDiskRequestType)(nil)).Elem()
 54736  }
 54737  
 54738  type MoveVirtualDisk_Task MoveVirtualDiskRequestType
 54739  
 54740  func init() {
 54741  	t["MoveVirtualDisk_Task"] = reflect.TypeOf((*MoveVirtualDisk_Task)(nil)).Elem()
 54742  }
 54743  
 54744  type MoveVirtualDisk_TaskResponse struct {
 54745  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 54746  }
 54747  
 54748  // The value of MTU configured in the vSphere Distributed Switch
 54749  // matches physical switch.
 54750  type MtuMatchEvent struct {
 54751  	DvsHealthStatusChangeEvent
 54752  }
 54753  
 54754  func init() {
 54755  	t["MtuMatchEvent"] = reflect.TypeOf((*MtuMatchEvent)(nil)).Elem()
 54756  	minAPIVersionForType["MtuMatchEvent"] = "5.1"
 54757  }
 54758  
 54759  // The value of MTU configured in the vSphere Distributed Switch
 54760  // mismatches physical switch.
 54761  type MtuMismatchEvent struct {
 54762  	DvsHealthStatusChangeEvent
 54763  }
 54764  
 54765  func init() {
 54766  	t["MtuMismatchEvent"] = reflect.TypeOf((*MtuMismatchEvent)(nil)).Elem()
 54767  	minAPIVersionForType["MtuMismatchEvent"] = "5.1"
 54768  }
 54769  
 54770  // The multi-writer sharing of the specified virtual disk is not supported.
 54771  //
 54772  // Typically, this fault is returned as part of a parent fault like
 54773  // `VmConfigIncompatibleForFaultTolerance`, indicating that the
 54774  // virtual disk's multi-writer sharing needs to be changed before fault
 54775  // tolerance can be enabled on the associated virtual machine.
 54776  type MultiWriterNotSupported struct {
 54777  	DeviceNotSupported
 54778  }
 54779  
 54780  func init() {
 54781  	t["MultiWriterNotSupported"] = reflect.TypeOf((*MultiWriterNotSupported)(nil)).Elem()
 54782  	minAPIVersionForType["MultiWriterNotSupported"] = "6.0"
 54783  }
 54784  
 54785  type MultiWriterNotSupportedFault MultiWriterNotSupported
 54786  
 54787  func init() {
 54788  	t["MultiWriterNotSupportedFault"] = reflect.TypeOf((*MultiWriterNotSupportedFault)(nil)).Elem()
 54789  }
 54790  
 54791  // MultipleCertificatesVerifyFault is thrown by the host connect method
 54792  // `HostSystem.ReconnectHost_Task` as well as the methods to add a host to
 54793  // VirtualCenter (`Folder.AddStandaloneHost_Task` and
 54794  // `ClusterComputeResource.AddHost_Task`) if VirtualCenter detects that the
 54795  // host has different SSL certificates for different management ports.
 54796  //
 54797  // This
 54798  // can occur, for example, if an ESX 2.x host has different SSL certificates
 54799  // for the authd service (port 902) and the Management UI port (port 443).
 54800  // VirtualCenter is not able to manage such hosts. To fix this issue, the user
 54801  // should modify the host to ensure there is only one certificate for
 54802  // all services. Alternatively, different certificates are allowed as long as each
 54803  // certificate is verifiable (trusted) by the VirtualCenter server.
 54804  type MultipleCertificatesVerifyFault struct {
 54805  	HostConnectFault
 54806  
 54807  	// The thumbprints (and associated ports) used by the services on the host.
 54808  	ThumbprintData []MultipleCertificatesVerifyFaultThumbprintData `xml:"thumbprintData" json:"thumbprintData"`
 54809  }
 54810  
 54811  func init() {
 54812  	t["MultipleCertificatesVerifyFault"] = reflect.TypeOf((*MultipleCertificatesVerifyFault)(nil)).Elem()
 54813  	minAPIVersionForType["MultipleCertificatesVerifyFault"] = "4.0"
 54814  }
 54815  
 54816  type MultipleCertificatesVerifyFaultFault MultipleCertificatesVerifyFault
 54817  
 54818  func init() {
 54819  	t["MultipleCertificatesVerifyFaultFault"] = reflect.TypeOf((*MultipleCertificatesVerifyFaultFault)(nil)).Elem()
 54820  }
 54821  
 54822  type MultipleCertificatesVerifyFaultThumbprintData struct {
 54823  	DynamicData
 54824  
 54825  	// The port used by the service.
 54826  	Port int32 `xml:"port" json:"port"`
 54827  	// The SSL thumbprint of the host's certificate used by the service.
 54828  	Thumbprint string `xml:"thumbprint" json:"thumbprint"`
 54829  }
 54830  
 54831  func init() {
 54832  	t["MultipleCertificatesVerifyFaultThumbprintData"] = reflect.TypeOf((*MultipleCertificatesVerifyFaultThumbprintData)(nil)).Elem()
 54833  }
 54834  
 54835  // Fault thrown when an attempt is made to create a second snapshot on a VM that only
 54836  // supports a single snapshot at a time.
 54837  type MultipleSnapshotsNotSupported struct {
 54838  	SnapshotFault
 54839  }
 54840  
 54841  func init() {
 54842  	t["MultipleSnapshotsNotSupported"] = reflect.TypeOf((*MultipleSnapshotsNotSupported)(nil)).Elem()
 54843  }
 54844  
 54845  type MultipleSnapshotsNotSupportedFault MultipleSnapshotsNotSupported
 54846  
 54847  func init() {
 54848  	t["MultipleSnapshotsNotSupportedFault"] = reflect.TypeOf((*MultipleSnapshotsNotSupportedFault)(nil)).Elem()
 54849  }
 54850  
 54851  // This event records when a NAS datastore is created.
 54852  type NASDatastoreCreatedEvent struct {
 54853  	HostEvent
 54854  
 54855  	// The associated datastore.
 54856  	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
 54857  	// Url of the associated datastore.
 54858  	DatastoreUrl string `xml:"datastoreUrl,omitempty" json:"datastoreUrl,omitempty" vim:"6.5"`
 54859  }
 54860  
 54861  func init() {
 54862  	t["NASDatastoreCreatedEvent"] = reflect.TypeOf((*NASDatastoreCreatedEvent)(nil)).Elem()
 54863  }
 54864  
 54865  // NamePasswordAuthentication contains the information necessary to authenticate
 54866  // within a guest using a name and password.
 54867  //
 54868  // This is the typical method for
 54869  // authentication within a guest and the one currently used by VIX.
 54870  // This method of authentication is stateless.
 54871  //
 54872  // To use NamePasswordAuthentication, populate username and password with the
 54873  // appropriate login information. You should not use `GuestAuthManager.AcquireCredentialsInGuest`
 54874  // or `GuestAuthManager.ReleaseCredentialsInGuest` for NamePasswordAuthentication.
 54875  //
 54876  // Once populated, you can use NamePasswordAuthentication in any guest operations function call.
 54877  type NamePasswordAuthentication struct {
 54878  	GuestAuthentication
 54879  
 54880  	// The user name for Name-Password authentication.
 54881  	Username string `xml:"username" json:"username"`
 54882  	// The password for Name-Password authentication.
 54883  	Password string `xml:"password" json:"password"`
 54884  }
 54885  
 54886  func init() {
 54887  	t["NamePasswordAuthentication"] = reflect.TypeOf((*NamePasswordAuthentication)(nil)).Elem()
 54888  	minAPIVersionForType["NamePasswordAuthentication"] = "5.0"
 54889  }
 54890  
 54891  // A NamespaceFull fault is thrown when an operation
 54892  // on namespace requires more space to complete.
 54893  type NamespaceFull struct {
 54894  	VimFault
 54895  
 54896  	// The namespace in question.
 54897  	Name string `xml:"name" json:"name"`
 54898  	// Current maximum size.
 54899  	CurrentMaxSize int64 `xml:"currentMaxSize" json:"currentMaxSize"`
 54900  	// Size necessary to complete operation.
 54901  	//
 54902  	// If not present,
 54903  	// system was not able to determine how much space would
 54904  	// be necessary to complete operation.
 54905  	RequiredSize int64 `xml:"requiredSize,omitempty" json:"requiredSize,omitempty"`
 54906  }
 54907  
 54908  func init() {
 54909  	t["NamespaceFull"] = reflect.TypeOf((*NamespaceFull)(nil)).Elem()
 54910  	minAPIVersionForType["NamespaceFull"] = "5.1"
 54911  }
 54912  
 54913  type NamespaceFullFault NamespaceFull
 54914  
 54915  func init() {
 54916  	t["NamespaceFullFault"] = reflect.TypeOf((*NamespaceFullFault)(nil)).Elem()
 54917  }
 54918  
 54919  // A NamespaceLimitReached fault is thrown when the maximum allowed
 54920  // namespaces for a virtual machine will be exceeded.
 54921  type NamespaceLimitReached struct {
 54922  	VimFault
 54923  
 54924  	// Allowed maximum number of namespaces per virtual machine.
 54925  	Limit *int32 `xml:"limit" json:"limit,omitempty"`
 54926  }
 54927  
 54928  func init() {
 54929  	t["NamespaceLimitReached"] = reflect.TypeOf((*NamespaceLimitReached)(nil)).Elem()
 54930  	minAPIVersionForType["NamespaceLimitReached"] = "5.1"
 54931  }
 54932  
 54933  type NamespaceLimitReachedFault NamespaceLimitReached
 54934  
 54935  func init() {
 54936  	t["NamespaceLimitReachedFault"] = reflect.TypeOf((*NamespaceLimitReachedFault)(nil)).Elem()
 54937  }
 54938  
 54939  // A NamespaceWriteProtected fault is thrown when an operation
 54940  // on namespace fails because namespace is write-protected.
 54941  type NamespaceWriteProtected struct {
 54942  	VimFault
 54943  
 54944  	// The namespace in question.
 54945  	Name string `xml:"name" json:"name"`
 54946  }
 54947  
 54948  func init() {
 54949  	t["NamespaceWriteProtected"] = reflect.TypeOf((*NamespaceWriteProtected)(nil)).Elem()
 54950  	minAPIVersionForType["NamespaceWriteProtected"] = "5.1"
 54951  }
 54952  
 54953  type NamespaceWriteProtectedFault NamespaceWriteProtected
 54954  
 54955  func init() {
 54956  	t["NamespaceWriteProtectedFault"] = reflect.TypeOf((*NamespaceWriteProtectedFault)(nil)).Elem()
 54957  }
 54958  
 54959  // Base class for all network-attached storage configuration faults.
 54960  type NasConfigFault struct {
 54961  	HostConfigFault
 54962  
 54963  	// Name of the Nas datastore being configured.
 54964  	Name string `xml:"name" json:"name"`
 54965  }
 54966  
 54967  func init() {
 54968  	t["NasConfigFault"] = reflect.TypeOf((*NasConfigFault)(nil)).Elem()
 54969  	minAPIVersionForType["NasConfigFault"] = "2.5 U2"
 54970  }
 54971  
 54972  type NasConfigFaultFault BaseNasConfigFault
 54973  
 54974  func init() {
 54975  	t["NasConfigFaultFault"] = reflect.TypeOf((*NasConfigFaultFault)(nil)).Elem()
 54976  }
 54977  
 54978  // This fault is thrown when an operation to configure a CIFS volume fails
 54979  // because the request exceeds the maximum allowed connections on this host
 54980  // for the specified remote path.
 54981  type NasConnectionLimitReached struct {
 54982  	NasConfigFault
 54983  
 54984  	// The host that runs the NFS server.
 54985  	RemoteHost string `xml:"remoteHost" json:"remoteHost"`
 54986  	// The remote share.
 54987  	RemotePath string `xml:"remotePath" json:"remotePath"`
 54988  }
 54989  
 54990  func init() {
 54991  	t["NasConnectionLimitReached"] = reflect.TypeOf((*NasConnectionLimitReached)(nil)).Elem()
 54992  	minAPIVersionForType["NasConnectionLimitReached"] = "2.5 U2"
 54993  }
 54994  
 54995  type NasConnectionLimitReachedFault NasConnectionLimitReached
 54996  
 54997  func init() {
 54998  	t["NasConnectionLimitReachedFault"] = reflect.TypeOf((*NasConnectionLimitReachedFault)(nil)).Elem()
 54999  }
 55000  
 55001  // Information details about a network-attached storage
 55002  // (NAS) datastore.
 55003  type NasDatastoreInfo struct {
 55004  	DatastoreInfo
 55005  
 55006  	// The NFS mount information for the datastore.
 55007  	//
 55008  	// May not
 55009  	// be available when the datastore is not accessible.
 55010  	Nas *HostNasVolume `xml:"nas,omitempty" json:"nas,omitempty"`
 55011  }
 55012  
 55013  func init() {
 55014  	t["NasDatastoreInfo"] = reflect.TypeOf((*NasDatastoreInfo)(nil)).Elem()
 55015  }
 55016  
 55017  // This fault is thrown when an operation to configure a CIFS volume fails
 55018  // when attempting to log on more than once with the same user name.
 55019  type NasSessionCredentialConflict struct {
 55020  	NasConfigFault
 55021  
 55022  	// The host that runs the NFS server.
 55023  	RemoteHost string `xml:"remoteHost" json:"remoteHost"`
 55024  	// The remote share.
 55025  	RemotePath string `xml:"remotePath" json:"remotePath"`
 55026  	UserName   string `xml:"userName" json:"userName"`
 55027  }
 55028  
 55029  func init() {
 55030  	t["NasSessionCredentialConflict"] = reflect.TypeOf((*NasSessionCredentialConflict)(nil)).Elem()
 55031  	minAPIVersionForType["NasSessionCredentialConflict"] = "2.5 U2"
 55032  }
 55033  
 55034  type NasSessionCredentialConflictFault NasSessionCredentialConflict
 55035  
 55036  func init() {
 55037  	t["NasSessionCredentialConflictFault"] = reflect.TypeOf((*NasSessionCredentialConflictFault)(nil)).Elem()
 55038  }
 55039  
 55040  // The `NasStorageProfile` data object represents one NAS datastore configuration.
 55041  //
 55042  // Use the `ApplyProfile.policy` list for access to configuration data
 55043  // for the NAS storage profile. Use the `ApplyProfile.property` list
 55044  // for access to subprofile configuration data, if any.
 55045  type NasStorageProfile struct {
 55046  	ApplyProfile
 55047  
 55048  	// Linkable identifier.
 55049  	Key string `xml:"key" json:"key"`
 55050  }
 55051  
 55052  func init() {
 55053  	t["NasStorageProfile"] = reflect.TypeOf((*NasStorageProfile)(nil)).Elem()
 55054  	minAPIVersionForType["NasStorageProfile"] = "4.0"
 55055  }
 55056  
 55057  // This fault is thrown when an operation to configure a NAS datastore
 55058  // fails because the specified NFS volume is not mounted.
 55059  type NasVolumeNotMounted struct {
 55060  	NasConfigFault
 55061  
 55062  	// The host that runs the NFS server.
 55063  	RemoteHost string `xml:"remoteHost" json:"remoteHost"`
 55064  	// The remote share.
 55065  	RemotePath string `xml:"remotePath" json:"remotePath"`
 55066  }
 55067  
 55068  func init() {
 55069  	t["NasVolumeNotMounted"] = reflect.TypeOf((*NasVolumeNotMounted)(nil)).Elem()
 55070  	minAPIVersionForType["NasVolumeNotMounted"] = "2.5 U2"
 55071  }
 55072  
 55073  type NasVolumeNotMountedFault NasVolumeNotMounted
 55074  
 55075  func init() {
 55076  	t["NasVolumeNotMountedFault"] = reflect.TypeOf((*NasVolumeNotMountedFault)(nil)).Elem()
 55077  }
 55078  
 55079  // The base class for any type of setting or configuration to which negation
 55080  // can be applied.
 55081  //
 55082  // When used in a configuration information object:
 55083  // if `NegatableExpression.negate` is true, then ~(objectValue) will be used for the
 55084  // configuration. If false, then objectValue will be used as it is.
 55085  type NegatableExpression struct {
 55086  	DynamicData
 55087  
 55088  	// Whether the configuration needs to be negated or not.
 55089  	Negate *bool `xml:"negate" json:"negate,omitempty"`
 55090  }
 55091  
 55092  func init() {
 55093  	t["NegatableExpression"] = reflect.TypeOf((*NegatableExpression)(nil)).Elem()
 55094  	minAPIVersionForType["NegatableExpression"] = "5.5"
 55095  }
 55096  
 55097  // This data object type describes the NetBIOS configuration of
 55098  // an operating system.
 55099  type NetBIOSConfigInfo struct {
 55100  	DynamicData
 55101  
 55102  	// NetBIOS configuration mode.
 55103  	//
 55104  	// The supported values are described by
 55105  	// `NetBIOSConfigInfoMode_enum`.
 55106  	Mode string `xml:"mode" json:"mode"`
 55107  }
 55108  
 55109  func init() {
 55110  	t["NetBIOSConfigInfo"] = reflect.TypeOf((*NetBIOSConfigInfo)(nil)).Elem()
 55111  	minAPIVersionForType["NetBIOSConfigInfo"] = "4.1"
 55112  }
 55113  
 55114  // Dynamic Host Configuration Protocol reporting for IP version 4 and version 6.
 55115  type NetDhcpConfigInfo struct {
 55116  	DynamicData
 55117  
 55118  	// IPv6 DHCP client settings.
 55119  	Ipv6 *NetDhcpConfigInfoDhcpOptions `xml:"ipv6,omitempty" json:"ipv6,omitempty"`
 55120  	// IPv4 DHCP client settings.
 55121  	Ipv4 *NetDhcpConfigInfoDhcpOptions `xml:"ipv4,omitempty" json:"ipv4,omitempty"`
 55122  }
 55123  
 55124  func init() {
 55125  	t["NetDhcpConfigInfo"] = reflect.TypeOf((*NetDhcpConfigInfo)(nil)).Elem()
 55126  	minAPIVersionForType["NetDhcpConfigInfo"] = "4.1"
 55127  }
 55128  
 55129  // Provides for reporting of DHCP client.
 55130  //
 55131  // This data object may be used
 55132  // at a per interface or per system scope.
 55133  type NetDhcpConfigInfoDhcpOptions struct {
 55134  	DynamicData
 55135  
 55136  	// Report state of dhcp client services.
 55137  	Enable bool `xml:"enable" json:"enable"`
 55138  	// Platform specific settings for DHCP Client.
 55139  	//
 55140  	// The key part is a unique number, the value part
 55141  	// is the platform specific configuration command.
 55142  	// For example on Linux, BSD systems using the file dhclient.conf
 55143  	// output would be reported at system scope:
 55144  	// key='1', value='timeout 60;'
 55145  	// key='2', value='reboot 10;'
 55146  	// output reported at per interface scope:
 55147  	// key='1', value='prepend domain-name-servers 192.0.2.1;'
 55148  	// key='2', value='equire subnet-mask, domain-name-servers;'
 55149  	Config []KeyValue `xml:"config,omitempty" json:"config,omitempty"`
 55150  }
 55151  
 55152  func init() {
 55153  	t["NetDhcpConfigInfoDhcpOptions"] = reflect.TypeOf((*NetDhcpConfigInfoDhcpOptions)(nil)).Elem()
 55154  	minAPIVersionForType["NetDhcpConfigInfoDhcpOptions"] = "4.1"
 55155  }
 55156  
 55157  // Dynamic Host Configuration Protocol Configuration for IP version 4 and version 6.
 55158  type NetDhcpConfigSpec struct {
 55159  	DynamicData
 55160  
 55161  	// Configure IPv6 DHCP client settings.
 55162  	Ipv6 *NetDhcpConfigSpecDhcpOptionsSpec `xml:"ipv6,omitempty" json:"ipv6,omitempty"`
 55163  	// Configure IPv4 DHCP client settings.
 55164  	Ipv4 *NetDhcpConfigSpecDhcpOptionsSpec `xml:"ipv4,omitempty" json:"ipv4,omitempty"`
 55165  }
 55166  
 55167  func init() {
 55168  	t["NetDhcpConfigSpec"] = reflect.TypeOf((*NetDhcpConfigSpec)(nil)).Elem()
 55169  	minAPIVersionForType["NetDhcpConfigSpec"] = "4.1"
 55170  }
 55171  
 55172  // Provides for configuration of IPv6
 55173  type NetDhcpConfigSpecDhcpOptionsSpec struct {
 55174  	DynamicData
 55175  
 55176  	// Enable or disable dhcp for IPv4.
 55177  	Enable *bool `xml:"enable" json:"enable,omitempty"`
 55178  	// Platform specific settings for DHCP Client.
 55179  	//
 55180  	// The key part is a unique number, the value part
 55181  	// is the platform specific configuration command.
 55182  	// See `NetDhcpConfigInfo` for value formatting.
 55183  	Config []KeyValue `xml:"config" json:"config"`
 55184  	// Requires one of the values from `HostConfigChangeOperation_enum`.
 55185  	Operation string `xml:"operation" json:"operation"`
 55186  }
 55187  
 55188  func init() {
 55189  	t["NetDhcpConfigSpecDhcpOptionsSpec"] = reflect.TypeOf((*NetDhcpConfigSpecDhcpOptionsSpec)(nil)).Elem()
 55190  	minAPIVersionForType["NetDhcpConfigSpecDhcpOptionsSpec"] = "4.1"
 55191  }
 55192  
 55193  // Domain Name Server (DNS) Configuration Specification -
 55194  // a data object for reporting the configuration of RFC 1034 client side DNS settings.
 55195  type NetDnsConfigInfo struct {
 55196  	DynamicData
 55197  
 55198  	// Indicates whether or not dynamic host control
 55199  	// protocol (DHCP) is used to configure DNS configuration.
 55200  	Dhcp bool `xml:"dhcp" json:"dhcp"`
 55201  	// The host name portion of DNS name.
 55202  	//
 55203  	// For example, "esx01" part of
 55204  	// esx01.example.com.
 55205  	HostName string `xml:"hostName" json:"hostName"`
 55206  	// The domain name portion of the DNS name.
 55207  	//
 55208  	// "example.com" part of
 55209  	// esx01.example.com.
 55210  	DomainName string `xml:"domainName" json:"domainName"`
 55211  	// The IP addresses of the DNS servers in order of use.
 55212  	//
 55213  	// IPv4 addresses are specified using
 55214  	// dotted decimal notation. For example, "192.0.2.1".
 55215  	// IPv6 addresses are 128-bit addresses represented as
 55216  	// eight fields of up to four hexadecimal digits.
 55217  	// A colon separates each field (:). For example,
 55218  	// 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the
 55219  	// symbol '::' to represent multiple 16-bit groups of
 55220  	// contiguous 0's only once in an address as described in RFC 2373.
 55221  	IpAddress []string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 55222  	// The domain in which to search for hosts, placed in order of preference.
 55223  	SearchDomain []string `xml:"searchDomain,omitempty" json:"searchDomain,omitempty"`
 55224  }
 55225  
 55226  func init() {
 55227  	t["NetDnsConfigInfo"] = reflect.TypeOf((*NetDnsConfigInfo)(nil)).Elem()
 55228  	minAPIVersionForType["NetDnsConfigInfo"] = "4.1"
 55229  }
 55230  
 55231  // Domain Name Server (DNS) Configuration Specification -
 55232  // a data object for configuring the RFC 1034 client side DNS settings.
 55233  //
 55234  // TBD: remove this section, only for discussing what goes into this object.
 55235  // Place properties here that are specific to the RFC/common to all systems.
 55236  // Properties that are platform specific should go into a separate config spec.
 55237  // http://technet.microsoft.com/en-us/library/cc778792.aspx
 55238  // http://en.wikipedia.org/wiki/Microsoft\_DNS
 55239  type NetDnsConfigSpec struct {
 55240  	DynamicData
 55241  
 55242  	// The flag to indicate whether or not dynamic host control
 55243  	// protocol (DHCP) will be used to set DNS configuration automatically.
 55244  	//
 55245  	// See vim.net.DhcpConfigSpec
 55246  	Dhcp *bool `xml:"dhcp" json:"dhcp,omitempty"`
 55247  	// The host name portion of DNS name.
 55248  	//
 55249  	// For example,
 55250  	// "esx01" part of esx01.example.com. The rules for forming a hostname
 55251  	// are specified in RFC 1034.
 55252  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 55253  	// The domain name portion of the DNS name.
 55254  	//
 55255  	// This would be the
 55256  	// "example.com" part of esx01.example.com. The rules for forming
 55257  	// a domain name are defined in RFC 1034.
 55258  	DomainName string `xml:"domainName,omitempty" json:"domainName,omitempty"`
 55259  	// Unicast IP address(s) of one or more DNS servers in order of use.
 55260  	//
 55261  	// IPv4 addresses are specified using
 55262  	// dotted decimal notation. For example, "192.0.2.1".
 55263  	// IPv6 addresses are 128-bit addresses represented as
 55264  	// eight fields of up to four hexadecimal digits.
 55265  	// A colon separates each field (:). For example,
 55266  	// 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the
 55267  	// symbol '::' to represent multiple 16-bit groups of
 55268  	// contiguous 0's only once in an address as described in RFC 2373.
 55269  	IpAddress []string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 55270  	// The domain in which to search for hosts in order of preference.
 55271  	SearchDomain []string `xml:"searchDomain,omitempty" json:"searchDomain,omitempty"`
 55272  }
 55273  
 55274  func init() {
 55275  	t["NetDnsConfigSpec"] = reflect.TypeOf((*NetDnsConfigSpec)(nil)).Elem()
 55276  	minAPIVersionForType["NetDnsConfigSpec"] = "4.1"
 55277  }
 55278  
 55279  // Protocol version independent address reporting data object for network
 55280  // interfaces.
 55281  type NetIpConfigInfo struct {
 55282  	DynamicData
 55283  
 55284  	// Zero, one or more manual (static) assigned IP addresses to be configured
 55285  	// on a given interface.
 55286  	IpAddress []NetIpConfigInfoIpAddress `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 55287  	// Client side DHCP for a given interface.
 55288  	Dhcp *NetDhcpConfigInfo `xml:"dhcp,omitempty" json:"dhcp,omitempty"`
 55289  	// Enable or disable ICMPv6 router solictitation requests from a given interface
 55290  	// to acquire an IPv6 address and default gateway route from zero, one or more
 55291  	// routers on the connected network.
 55292  	//
 55293  	// If not set then ICMPv6 is not available on this system,
 55294  	// See vim.host.Network.Capabilities
 55295  	AutoConfigurationEnabled *bool `xml:"autoConfigurationEnabled" json:"autoConfigurationEnabled,omitempty"`
 55296  }
 55297  
 55298  func init() {
 55299  	t["NetIpConfigInfo"] = reflect.TypeOf((*NetIpConfigInfo)(nil)).Elem()
 55300  	minAPIVersionForType["NetIpConfigInfo"] = "4.1"
 55301  }
 55302  
 55303  // Information about a specific IP Address.
 55304  type NetIpConfigInfoIpAddress struct {
 55305  	DynamicData
 55306  
 55307  	// IPv4 address is specified using dotted decimal notation.
 55308  	//
 55309  	// For example, "192.0.2.1".
 55310  	// IPv6 addresses are 128-bit addresses represented as eight fields
 55311  	// of up to four hexadecimal digits.
 55312  	// A colon separates each field (:). For example,
 55313  	// 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the
 55314  	// symbol '::' to represent multiple 16-bit groups of
 55315  	// contiguous 0's only once in an address as described in RFC 2373.
 55316  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 55317  	// Denotes the length of a generic Internet network address
 55318  	// prefix.
 55319  	//
 55320  	// The prefix length for IPv4 the value range is 0-32.
 55321  	// For IPv6 prefixLength is a decimal value range 0-128.
 55322  	// A value of n corresponds to an IP address mask
 55323  	// that has n contiguous 1-bits from the most significant
 55324  	// bit (MSB), with all other bits set to 0.
 55325  	// A value of zero is valid only if the calling context defines
 55326  	// it.
 55327  	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
 55328  	// How this address was configured.
 55329  	//
 55330  	// This can be
 55331  	// one of the values from the enum IpAddressOrigin
 55332  	// See `NetIpConfigInfoIpAddressOrigin_enum` for values.
 55333  	Origin string `xml:"origin,omitempty" json:"origin,omitempty"`
 55334  	// The state of this ipAddress.
 55335  	//
 55336  	// Can be one of `NetIpConfigInfoIpAddressStatus_enum`.
 55337  	State string `xml:"state,omitempty" json:"state,omitempty"`
 55338  	// The time when will this address expire.
 55339  	//
 55340  	// Durning this time
 55341  	// `state` may change states but is still visible
 55342  	// from the network.
 55343  	Lifetime *time.Time `xml:"lifetime" json:"lifetime,omitempty"`
 55344  }
 55345  
 55346  func init() {
 55347  	t["NetIpConfigInfoIpAddress"] = reflect.TypeOf((*NetIpConfigInfoIpAddress)(nil)).Elem()
 55348  	minAPIVersionForType["NetIpConfigInfoIpAddress"] = "4.1"
 55349  }
 55350  
 55351  // Internet Protocol Address Configuration for version 4 and version 6.
 55352  type NetIpConfigSpec struct {
 55353  	DynamicData
 55354  
 55355  	// A set of manual (static) IP addresses to be configured on a given interface.
 55356  	IpAddress []NetIpConfigSpecIpAddressSpec `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 55357  	// Configure client side DHCP for a given interface.
 55358  	Dhcp *NetDhcpConfigSpec `xml:"dhcp,omitempty" json:"dhcp,omitempty"`
 55359  	// Enable or disable ICMPv6 router solictitation requests from a given interface
 55360  	// to acquire an IPv6 address and default gateway route from zero, one or more
 55361  	// routers on the connected network.
 55362  	AutoConfigurationEnabled *bool `xml:"autoConfigurationEnabled" json:"autoConfigurationEnabled,omitempty"`
 55363  }
 55364  
 55365  func init() {
 55366  	t["NetIpConfigSpec"] = reflect.TypeOf((*NetIpConfigSpec)(nil)).Elem()
 55367  	minAPIVersionForType["NetIpConfigSpec"] = "4.1"
 55368  }
 55369  
 55370  // Provides for configuration of IP Addresses.
 55371  type NetIpConfigSpecIpAddressSpec struct {
 55372  	DynamicData
 55373  
 55374  	// IPv4 address is specified using
 55375  	// dotted decimal notation.
 55376  	//
 55377  	// For example, "192.0.2.1".
 55378  	// IPv6 addresses are 128-bit addresses specified as
 55379  	// eight fields of up to four hexadecimal digits.
 55380  	// A colon separates each field (:). For example,
 55381  	// 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the
 55382  	// symbol '::' to represent multiple 16-bit groups of
 55383  	// contiguous 0's only once in an address as described in RFC 2373.
 55384  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 55385  	// Denotes the length of a generic Internet network address
 55386  	// prefix.
 55387  	//
 55388  	// The prefix length for IPv4 the value range is 0-32.
 55389  	// For IPv6 prefixLength is a decimal value range 0-128.
 55390  	// A value of n corresponds to an IP address mask
 55391  	// that has n contiguous 1-bits from the most significant
 55392  	// bit (MSB), with all other bits set to 0.
 55393  	// A value of zero is valid only if the calling context defines
 55394  	// it.
 55395  	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
 55396  	// Requires one of: "add" and "remove" or "change"
 55397  	// See `HostConfigChangeOperation_enum`.
 55398  	Operation string `xml:"operation" json:"operation"`
 55399  }
 55400  
 55401  func init() {
 55402  	t["NetIpConfigSpecIpAddressSpec"] = reflect.TypeOf((*NetIpConfigSpecIpAddressSpec)(nil)).Elem()
 55403  	minAPIVersionForType["NetIpConfigSpecIpAddressSpec"] = "4.1"
 55404  }
 55405  
 55406  // This data object reports the IP Route Table.
 55407  type NetIpRouteConfigInfo struct {
 55408  	DynamicData
 55409  
 55410  	// IP routing table for all address families.
 55411  	IpRoute []NetIpRouteConfigInfoIpRoute `xml:"ipRoute,omitempty" json:"ipRoute,omitempty"`
 55412  }
 55413  
 55414  func init() {
 55415  	t["NetIpRouteConfigInfo"] = reflect.TypeOf((*NetIpRouteConfigInfo)(nil)).Elem()
 55416  	minAPIVersionForType["NetIpRouteConfigInfo"] = "4.1"
 55417  }
 55418  
 55419  // Next hop Gateway for a given route.
 55420  type NetIpRouteConfigInfoGateway struct {
 55421  	DynamicData
 55422  
 55423  	IpAddress string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 55424  	Device    string `xml:"device,omitempty" json:"device,omitempty"`
 55425  }
 55426  
 55427  func init() {
 55428  	t["NetIpRouteConfigInfoGateway"] = reflect.TypeOf((*NetIpRouteConfigInfoGateway)(nil)).Elem()
 55429  	minAPIVersionForType["NetIpRouteConfigInfoGateway"] = "4.1"
 55430  }
 55431  
 55432  // IpRoute report an individual host, network or default destination network
 55433  // reachable through a given gateway.
 55434  type NetIpRouteConfigInfoIpRoute struct {
 55435  	DynamicData
 55436  
 55437  	// IP Address of the destination IP network.
 55438  	//
 55439  	// IPv6 addresses are 128-bit addresses represented
 55440  	// as eight fields of up to four hexadecimal digits. A colon separates each
 55441  	// field (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can
 55442  	// also consist of symbol '::' to represent multiple 16-bit groups of
 55443  	// contiguous 0's only once in an address as described in RFC 2373.
 55444  	Network string `xml:"network" json:"network"`
 55445  	// The prefix length.
 55446  	//
 55447  	// For IPv4 the value range is 0-31.
 55448  	// For IPv6 prefixLength is a decimal value range 0-127. The property
 55449  	// represents the number of contiguous, higher-order bits of the address that make
 55450  	// up the network portion of the IP address.
 55451  	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
 55452  	// Where to send the packets for this route.
 55453  	Gateway NetIpRouteConfigInfoGateway `xml:"gateway" json:"gateway"`
 55454  }
 55455  
 55456  func init() {
 55457  	t["NetIpRouteConfigInfoIpRoute"] = reflect.TypeOf((*NetIpRouteConfigInfoIpRoute)(nil)).Elem()
 55458  	minAPIVersionForType["NetIpRouteConfigInfoIpRoute"] = "4.1"
 55459  }
 55460  
 55461  // Address family independent IP Route Table Configuration data object.
 55462  type NetIpRouteConfigSpec struct {
 55463  	DynamicData
 55464  
 55465  	// The set of updates to apply to the routing table.
 55466  	IpRoute []NetIpRouteConfigSpecIpRouteSpec `xml:"ipRoute,omitempty" json:"ipRoute,omitempty"`
 55467  }
 55468  
 55469  func init() {
 55470  	t["NetIpRouteConfigSpec"] = reflect.TypeOf((*NetIpRouteConfigSpec)(nil)).Elem()
 55471  	minAPIVersionForType["NetIpRouteConfigSpec"] = "4.1"
 55472  }
 55473  
 55474  // IpRoute report an individual host, network or default destination network
 55475  // reachable through a given gateway.
 55476  type NetIpRouteConfigSpecGatewaySpec struct {
 55477  	DynamicData
 55478  
 55479  	IpAddress string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 55480  	Device    string `xml:"device,omitempty" json:"device,omitempty"`
 55481  }
 55482  
 55483  func init() {
 55484  	t["NetIpRouteConfigSpecGatewaySpec"] = reflect.TypeOf((*NetIpRouteConfigSpecGatewaySpec)(nil)).Elem()
 55485  	minAPIVersionForType["NetIpRouteConfigSpecGatewaySpec"] = "4.1"
 55486  }
 55487  
 55488  // Specify an individual host, network or default destination network
 55489  // reachable through a given gateway.
 55490  type NetIpRouteConfigSpecIpRouteSpec struct {
 55491  	DynamicData
 55492  
 55493  	// IP Address of the destination IP network.
 55494  	//
 55495  	// IPv6 addresses are 128-bit addresses represented
 55496  	// as eight fields of up to four hexadecimal digits. A colon separates each
 55497  	// field (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can
 55498  	// also consist of symbol '::' to represent multiple 16-bit groups of
 55499  	// contiguous 0's only once in an address as described in RFC 2373.
 55500  	// To Specify a default network use the value: 0 with prefixLenth 0.
 55501  	Network string `xml:"network" json:"network"`
 55502  	// The prefix length.
 55503  	//
 55504  	// For IPv4 the value range is 0-31.
 55505  	// For IPv6 prefixLength is a decimal value range 0-127. The property
 55506  	// represents the number of contiguous, higher-order bits of the address that make
 55507  	// up the network portion of the IP address.
 55508  	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
 55509  	// Where to send the packets for this route.
 55510  	Gateway NetIpRouteConfigSpecGatewaySpec `xml:"gateway" json:"gateway"`
 55511  	// Requires one of the values from `HostConfigChangeOperation_enum`.
 55512  	Operation string `xml:"operation" json:"operation"`
 55513  }
 55514  
 55515  func init() {
 55516  	t["NetIpRouteConfigSpecIpRouteSpec"] = reflect.TypeOf((*NetIpRouteConfigSpecIpRouteSpec)(nil)).Elem()
 55517  	minAPIVersionForType["NetIpRouteConfigSpecIpRouteSpec"] = "4.1"
 55518  }
 55519  
 55520  // Protocol version independent reporting data object for IP stack.
 55521  type NetIpStackInfo struct {
 55522  	DynamicData
 55523  
 55524  	// Zero, one or more entries of neighbors discovered using ARP or NDP.
 55525  	//
 55526  	// This information is used to help diagnose connectivity or performance
 55527  	// issues. This property maps to RFC 4293 ipNetToPhysicalTable.
 55528  	Neighbor []NetIpStackInfoNetToMedia `xml:"neighbor,omitempty" json:"neighbor,omitempty"`
 55529  	// Zero one or more entries of discovered IP routers that are directly
 55530  	// reachable from a an interface on this system.
 55531  	//
 55532  	// This property maps to RFC 4293 ipDefaultRouterTable.
 55533  	DefaultRouter []NetIpStackInfoDefaultRouter `xml:"defaultRouter,omitempty" json:"defaultRouter,omitempty"`
 55534  }
 55535  
 55536  func init() {
 55537  	t["NetIpStackInfo"] = reflect.TypeOf((*NetIpStackInfo)(nil)).Elem()
 55538  	minAPIVersionForType["NetIpStackInfo"] = "4.1"
 55539  }
 55540  
 55541  type NetIpStackInfoDefaultRouter struct {
 55542  	DynamicData
 55543  
 55544  	// Unicast IP address of a next-hop router.
 55545  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 55546  	// This value will contain the name of the interface as reported by the
 55547  	// operationg system.
 55548  	Device string `xml:"device" json:"device"`
 55549  	// When this entry will no longer valid.
 55550  	//
 55551  	// For IPv6 this value
 55552  	// see For IPv6 RFC 2462 sections 4.2 and 6.3.4.
 55553  	Lifetime time.Time `xml:"lifetime" json:"lifetime"`
 55554  	// Value of this entry compared to others that this IP stack uses
 55555  	// when making selection to route traffic on the default
 55556  	// route when there are multiple default routers.
 55557  	//
 55558  	// Value must be one of
 55559  	// `NetIpStackInfoPreference_enum`
 55560  	Preference string `xml:"preference" json:"preference"`
 55561  }
 55562  
 55563  func init() {
 55564  	t["NetIpStackInfoDefaultRouter"] = reflect.TypeOf((*NetIpStackInfoDefaultRouter)(nil)).Elem()
 55565  }
 55566  
 55567  // Information from an IP stack about known mappings betwwen an IP address
 55568  // and the underlying physical address it maps to as learned by:
 55569  // IPv4: Address Resolution Protocol (ARP) RFC 826
 55570  // IPv6: Neighbor Discovery Protocol (NDP) RFC 4861
 55571  type NetIpStackInfoNetToMedia struct {
 55572  	DynamicData
 55573  
 55574  	// A Unicast IP address of another system directly reachable w/o routing.
 55575  	//
 55576  	// IPv4 address is specified using dotted decimal notation.
 55577  	// For example, "192.0.2.1".
 55578  	// IPv6 addresses are 128-bit addresses represented as eight fields
 55579  	// of up to four hexadecimal digits.
 55580  	// A colon separates each field (:). For example,
 55581  	// 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the
 55582  	// symbol '::' to represent multiple 16-bit groups of
 55583  	// contiguous 0's only once in an address as described in RFC 2373.
 55584  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 55585  	// The media-dependent of the address or empty string if not yet learned.
 55586  	//
 55587  	// For Ethernet interfaces this is a MAC address reported in the format:
 55588  	// XX:XX:XX:XX:XX:XX where XX are hexadecimal numbers.
 55589  	PhysicalAddress string `xml:"physicalAddress" json:"physicalAddress"`
 55590  	// The value will be the name of the interface as reported by the
 55591  	// operating system.
 55592  	Device string `xml:"device" json:"device"`
 55593  	// The type/state of this entry as reported by the IP stack.
 55594  	//
 55595  	// See `NetIpStackInfoEntryType_enum` for values.
 55596  	Type string `xml:"type" json:"type"`
 55597  }
 55598  
 55599  func init() {
 55600  	t["NetIpStackInfoNetToMedia"] = reflect.TypeOf((*NetIpStackInfoNetToMedia)(nil)).Elem()
 55601  	minAPIVersionForType["NetIpStackInfoNetToMedia"] = "4.1"
 55602  }
 55603  
 55604  // The `NetStackInstanceProfile` data object represents a subprofile
 55605  // for a netStackInstance.
 55606  type NetStackInstanceProfile struct {
 55607  	ApplyProfile
 55608  
 55609  	// Linkable identifier.
 55610  	Key string `xml:"key" json:"key"`
 55611  	// DnsConfig SubProfile for this instance of the stack.
 55612  	DnsConfig NetworkProfileDnsConfigProfile `xml:"dnsConfig" json:"dnsConfig"`
 55613  	// IpRoute SubProfile for this instance of the stack.
 55614  	IpRouteConfig IpRouteProfile `xml:"ipRouteConfig" json:"ipRouteConfig"`
 55615  }
 55616  
 55617  func init() {
 55618  	t["NetStackInstanceProfile"] = reflect.TypeOf((*NetStackInstanceProfile)(nil)).Elem()
 55619  	minAPIVersionForType["NetStackInstanceProfile"] = "5.5"
 55620  }
 55621  
 55622  // A network copy of the file failed.
 55623  type NetworkCopyFault struct {
 55624  	FileFault
 55625  }
 55626  
 55627  func init() {
 55628  	t["NetworkCopyFault"] = reflect.TypeOf((*NetworkCopyFault)(nil)).Elem()
 55629  }
 55630  
 55631  type NetworkCopyFaultFault NetworkCopyFault
 55632  
 55633  func init() {
 55634  	t["NetworkCopyFaultFault"] = reflect.TypeOf((*NetworkCopyFaultFault)(nil)).Elem()
 55635  }
 55636  
 55637  // Thrown if network configuration change disconnected the host from vCenter server
 55638  // and has been rolled back.
 55639  type NetworkDisruptedAndConfigRolledBack struct {
 55640  	VimFault
 55641  
 55642  	// The name of host on which the network configuration was rolled back.
 55643  	Host string `xml:"host" json:"host"`
 55644  }
 55645  
 55646  func init() {
 55647  	t["NetworkDisruptedAndConfigRolledBack"] = reflect.TypeOf((*NetworkDisruptedAndConfigRolledBack)(nil)).Elem()
 55648  	minAPIVersionForType["NetworkDisruptedAndConfigRolledBack"] = "5.1"
 55649  }
 55650  
 55651  type NetworkDisruptedAndConfigRolledBackFault NetworkDisruptedAndConfigRolledBack
 55652  
 55653  func init() {
 55654  	t["NetworkDisruptedAndConfigRolledBackFault"] = reflect.TypeOf((*NetworkDisruptedAndConfigRolledBackFault)(nil)).Elem()
 55655  }
 55656  
 55657  // The event argument is a Network object.
 55658  type NetworkEventArgument struct {
 55659  	EntityEventArgument
 55660  
 55661  	// The Network object.
 55662  	//
 55663  	// Refers instance of `Network`.
 55664  	Network ManagedObjectReference `xml:"network" json:"network"`
 55665  }
 55666  
 55667  func init() {
 55668  	t["NetworkEventArgument"] = reflect.TypeOf((*NetworkEventArgument)(nil)).Elem()
 55669  	minAPIVersionForType["NetworkEventArgument"] = "4.0"
 55670  }
 55671  
 55672  // This fault is thrown when an operation to configure a NAS volume fails
 55673  // because network access is unavailable.
 55674  type NetworkInaccessible struct {
 55675  	NasConfigFault
 55676  }
 55677  
 55678  func init() {
 55679  	t["NetworkInaccessible"] = reflect.TypeOf((*NetworkInaccessible)(nil)).Elem()
 55680  	minAPIVersionForType["NetworkInaccessible"] = "2.5 U2"
 55681  }
 55682  
 55683  type NetworkInaccessibleFault NetworkInaccessible
 55684  
 55685  func init() {
 55686  	t["NetworkInaccessibleFault"] = reflect.TypeOf((*NetworkInaccessibleFault)(nil)).Elem()
 55687  }
 55688  
 55689  // The `NetworkPolicyProfile` data object represents a
 55690  // network policy.
 55691  //
 55692  // The `ApplyProfile.policy` property
 55693  // contains network configuration data values.
 55694  type NetworkPolicyProfile struct {
 55695  	ApplyProfile
 55696  }
 55697  
 55698  func init() {
 55699  	t["NetworkPolicyProfile"] = reflect.TypeOf((*NetworkPolicyProfile)(nil)).Elem()
 55700  	minAPIVersionForType["NetworkPolicyProfile"] = "4.0"
 55701  }
 55702  
 55703  // The `NetworkProfile` data object contains a set of subprofiles for
 55704  // network configuration.
 55705  type NetworkProfile struct {
 55706  	ApplyProfile
 55707  
 55708  	// List of virtual switch subprofiles.
 55709  	//
 55710  	// Use the `VirtualSwitchProfile.key` property to access
 55711  	// a subprofile in the list.
 55712  	Vswitch []VirtualSwitchProfile `xml:"vswitch,omitempty" json:"vswitch,omitempty"`
 55713  	// List of port groups for use by virtual machines.
 55714  	//
 55715  	// Use the `VmPortGroupProfile*.*PortGroupProfile.key`
 55716  	// property to access a port group in the list.
 55717  	VmPortGroup []VmPortGroupProfile `xml:"vmPortGroup,omitempty" json:"vmPortGroup,omitempty"`
 55718  	// List of port groups for use by the host.
 55719  	//
 55720  	// Use the `HostPortGroupProfile*.*PortGroupProfile.key` property
 55721  	// to access port groups in the list.
 55722  	HostPortGroup []HostPortGroupProfile `xml:"hostPortGroup,omitempty" json:"hostPortGroup,omitempty"`
 55723  	// List of port groups for use by the service console.
 55724  	//
 55725  	// The Profile Engine uses this field only when applying a profile
 55726  	// to a host that has a service console.
 55727  	ServiceConsolePortGroup []ServiceConsolePortGroupProfile `xml:"serviceConsolePortGroup,omitempty" json:"serviceConsolePortGroup,omitempty"`
 55728  	// DNS (Domain Name System) configuration subprofile.
 55729  	DnsConfig *NetworkProfileDnsConfigProfile `xml:"dnsConfig,omitempty" json:"dnsConfig,omitempty"`
 55730  	// Subprofile that describes the IP Route
 55731  	// configuration for the VMKernel gateway.
 55732  	IpRouteConfig *IpRouteProfile `xml:"ipRouteConfig,omitempty" json:"ipRouteConfig,omitempty"`
 55733  	// Subprofile that describes the IP Route configuration
 55734  	// for the Service Console gateway.
 55735  	ConsoleIpRouteConfig *IpRouteProfile `xml:"consoleIpRouteConfig,omitempty" json:"consoleIpRouteConfig,omitempty"`
 55736  	// List of subprofiles that represent physical NIC configuration.
 55737  	//
 55738  	// Use the `PhysicalNicProfile.key` property to access a
 55739  	// subprofile in the list.
 55740  	Pnic []PhysicalNicProfile `xml:"pnic,omitempty" json:"pnic,omitempty"`
 55741  	// List of subprofiles for distributed virtual switches to which this host is connected.
 55742  	//
 55743  	// Use the `DvsProfile.key` property to access a subprofile in the list.
 55744  	Dvswitch []DvsProfile `xml:"dvswitch,omitempty" json:"dvswitch,omitempty"`
 55745  	// List of subprofiles for service console Virtual NICs connected to a distributed virtual switch.
 55746  	//
 55747  	// Use the `DvsServiceConsoleVNicProfile*.*DvsVNicProfile.key` property
 55748  	// to access a subprofile in the list.
 55749  	DvsServiceConsoleNic []DvsServiceConsoleVNicProfile `xml:"dvsServiceConsoleNic,omitempty" json:"dvsServiceConsoleNic,omitempty"`
 55750  	// List of subprofiles for host Virtual NICs connected to a distributed virtual switch.
 55751  	//
 55752  	// Use the `DvsHostVNicProfile*.*DvsVNicProfile.key` property
 55753  	// to access a subprofile in the list.
 55754  	DvsHostNic []DvsHostVNicProfile `xml:"dvsHostNic,omitempty" json:"dvsHostNic,omitempty"`
 55755  	// List of subprofiles for host Virtual NICs connected to a NSX logic switch.
 55756  	//
 55757  	// Use the `NsxHostVNicProfile*.*NsxHostVNicProfile.key` property
 55758  	// to access a subprofile in the list.
 55759  	NsxHostNic []NsxHostVNicProfile `xml:"nsxHostNic,omitempty" json:"nsxHostNic,omitempty" vim:"6.7"`
 55760  	// List of NetStackInstance subprofiles.
 55761  	//
 55762  	// Use the `NetStackInstanceProfile.key` property to access
 55763  	// a subprofile in the list.
 55764  	NetStackInstance []NetStackInstanceProfile `xml:"netStackInstance,omitempty" json:"netStackInstance,omitempty" vim:"5.5"`
 55765  	// OpaqueSwitch subprofile.
 55766  	OpaqueSwitch *OpaqueSwitchProfile `xml:"opaqueSwitch,omitempty" json:"opaqueSwitch,omitempty" vim:"7.0"`
 55767  }
 55768  
 55769  func init() {
 55770  	t["NetworkProfile"] = reflect.TypeOf((*NetworkProfile)(nil)).Elem()
 55771  	minAPIVersionForType["NetworkProfile"] = "4.0"
 55772  }
 55773  
 55774  // The `NetworkProfileDnsConfigProfile` data object represents DNS configuration
 55775  // for the host.
 55776  //
 55777  // Use the `ApplyProfile.policy` list for
 55778  // access to configuration data for the DNS profile. Use the
 55779  // `ApplyProfile.property` list for access to subprofiles, if any.
 55780  type NetworkProfileDnsConfigProfile struct {
 55781  	ApplyProfile
 55782  }
 55783  
 55784  func init() {
 55785  	t["NetworkProfileDnsConfigProfile"] = reflect.TypeOf((*NetworkProfileDnsConfigProfile)(nil)).Elem()
 55786  	minAPIVersionForType["NetworkProfileDnsConfigProfile"] = "4.0"
 55787  }
 55788  
 55789  // This event records when networking configuration on the host
 55790  // is rolled back as it disconnects the host from vCenter server.
 55791  type NetworkRollbackEvent struct {
 55792  	Event
 55793  
 55794  	// Method name which caused the disconnect
 55795  	MethodName string `xml:"methodName" json:"methodName"`
 55796  	// Transaction ID for the method call that caused the disconnect
 55797  	TransactionId string `xml:"transactionId" json:"transactionId"`
 55798  }
 55799  
 55800  func init() {
 55801  	t["NetworkRollbackEvent"] = reflect.TypeOf((*NetworkRollbackEvent)(nil)).Elem()
 55802  	minAPIVersionForType["NetworkRollbackEvent"] = "5.1"
 55803  }
 55804  
 55805  // General information about a network.
 55806  type NetworkSummary struct {
 55807  	DynamicData
 55808  
 55809  	// Reference to the associated managed object.
 55810  	//
 55811  	// Refers instance of `Network`.
 55812  	Network *ManagedObjectReference `xml:"network,omitempty" json:"network,omitempty"`
 55813  	// Name of the network.
 55814  	Name string `xml:"name" json:"name"`
 55815  	// At least one host is configured to provide this network.
 55816  	Accessible bool `xml:"accessible" json:"accessible"`
 55817  	// Name of the associated IP pool.
 55818  	//
 55819  	// Empty if the network is not associated with an
 55820  	// IP pool.
 55821  	IpPoolName string `xml:"ipPoolName" json:"ipPoolName" vim:"4.0"`
 55822  	// Identifier of the associated IP pool.
 55823  	//
 55824  	// Zero if the network is not associated
 55825  	// with an IP pool.
 55826  	IpPoolId *int32 `xml:"ipPoolId" json:"ipPoolId,omitempty" vim:"5.1"`
 55827  }
 55828  
 55829  func init() {
 55830  	t["NetworkSummary"] = reflect.TypeOf((*NetworkSummary)(nil)).Elem()
 55831  }
 55832  
 55833  // Used as a warning if a virtual machine provisioning operation is done
 55834  // across datacenters.
 55835  //
 55836  // This warns that the network used by the virtual
 55837  // machine before and after the operation may not be the same even though
 55838  // the two networks have the same name. This is because network names
 55839  // are only unique within a datacenter.
 55840  type NetworksMayNotBeTheSame struct {
 55841  	MigrationFault
 55842  
 55843  	// The name of the network.
 55844  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 55845  }
 55846  
 55847  func init() {
 55848  	t["NetworksMayNotBeTheSame"] = reflect.TypeOf((*NetworksMayNotBeTheSame)(nil)).Elem()
 55849  	minAPIVersionForType["NetworksMayNotBeTheSame"] = "2.5"
 55850  }
 55851  
 55852  type NetworksMayNotBeTheSameFault NetworksMayNotBeTheSame
 55853  
 55854  func init() {
 55855  	t["NetworksMayNotBeTheSameFault"] = reflect.TypeOf((*NetworksMayNotBeTheSameFault)(nil)).Elem()
 55856  }
 55857  
 55858  // The number of network adapter settings in the customization specification
 55859  // does not match the number of network adapters present in the virtual machine.
 55860  type NicSettingMismatch struct {
 55861  	CustomizationFault
 55862  
 55863  	// The number of network adapter settings specified in the customization
 55864  	// specification.
 55865  	NumberOfNicsInSpec int32 `xml:"numberOfNicsInSpec" json:"numberOfNicsInSpec"`
 55866  	// The number of network adapters present in the virtual machine.
 55867  	NumberOfNicsInVM int32 `xml:"numberOfNicsInVM" json:"numberOfNicsInVM"`
 55868  }
 55869  
 55870  func init() {
 55871  	t["NicSettingMismatch"] = reflect.TypeOf((*NicSettingMismatch)(nil)).Elem()
 55872  	minAPIVersionForType["NicSettingMismatch"] = "2.5"
 55873  }
 55874  
 55875  type NicSettingMismatchFault NicSettingMismatch
 55876  
 55877  func init() {
 55878  	t["NicSettingMismatchFault"] = reflect.TypeOf((*NicSettingMismatchFault)(nil)).Elem()
 55879  }
 55880  
 55881  // This event records a failed user logon due to insufficient access permission.
 55882  type NoAccessUserEvent struct {
 55883  	SessionEvent
 55884  
 55885  	// The IP address of the peer that initiated the connection.
 55886  	//
 55887  	// This may
 55888  	// be the client that originated the session, or it may be an intervening
 55889  	// proxy if the binding uses a protocol that supports proxies, such as HTTP.
 55890  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 55891  }
 55892  
 55893  func init() {
 55894  	t["NoAccessUserEvent"] = reflect.TypeOf((*NoAccessUserEvent)(nil)).Elem()
 55895  }
 55896  
 55897  // A NoActiveHostInCluster fault is thrown when there is no host in a valid
 55898  // state in the given compute resource to perform a specified operation.
 55899  //
 55900  // This
 55901  // can happen, for example, if all the hosts are disconnected or in maintenance
 55902  // mode.
 55903  type NoActiveHostInCluster struct {
 55904  	InvalidState
 55905  
 55906  	// The compute resource that does not have any active hosts.
 55907  	//
 55908  	// Refers instance of `ComputeResource`.
 55909  	ComputeResource ManagedObjectReference `xml:"computeResource" json:"computeResource"`
 55910  }
 55911  
 55912  func init() {
 55913  	t["NoActiveHostInCluster"] = reflect.TypeOf((*NoActiveHostInCluster)(nil)).Elem()
 55914  }
 55915  
 55916  type NoActiveHostInClusterFault NoActiveHostInCluster
 55917  
 55918  func init() {
 55919  	t["NoActiveHostInClusterFault"] = reflect.TypeOf((*NoActiveHostInClusterFault)(nil)).Elem()
 55920  }
 55921  
 55922  // There are no more IP addresses available on the given network.
 55923  type NoAvailableIp struct {
 55924  	VAppPropertyFault
 55925  
 55926  	// A reference to the network
 55927  	//
 55928  	// Refers instance of `Network`.
 55929  	Network ManagedObjectReference `xml:"network" json:"network"`
 55930  }
 55931  
 55932  func init() {
 55933  	t["NoAvailableIp"] = reflect.TypeOf((*NoAvailableIp)(nil)).Elem()
 55934  	minAPIVersionForType["NoAvailableIp"] = "4.0"
 55935  }
 55936  
 55937  type NoAvailableIpFault NoAvailableIp
 55938  
 55939  func init() {
 55940  	t["NoAvailableIpFault"] = reflect.TypeOf((*NoAvailableIpFault)(nil)).Elem()
 55941  }
 55942  
 55943  // This exception is thrown when a client has connected without supplying a
 55944  // certificate but the associated call expects that the client has done so.
 55945  type NoClientCertificate struct {
 55946  	VimFault
 55947  }
 55948  
 55949  func init() {
 55950  	t["NoClientCertificate"] = reflect.TypeOf((*NoClientCertificate)(nil)).Elem()
 55951  	minAPIVersionForType["NoClientCertificate"] = "2.5"
 55952  }
 55953  
 55954  type NoClientCertificateFault NoClientCertificate
 55955  
 55956  func init() {
 55957  	t["NoClientCertificateFault"] = reflect.TypeOf((*NoClientCertificateFault)(nil)).Elem()
 55958  }
 55959  
 55960  // A NoCompatibleDatastore fault is thrown when Storage DRS cannot find a compatible
 55961  // datastore in a given storage pod to place a disk or a virtual machine.
 55962  //
 55963  // a virtual machine.
 55964  type NoCompatibleDatastore struct {
 55965  	VimFault
 55966  }
 55967  
 55968  func init() {
 55969  	t["NoCompatibleDatastore"] = reflect.TypeOf((*NoCompatibleDatastore)(nil)).Elem()
 55970  	minAPIVersionForType["NoCompatibleDatastore"] = "5.0"
 55971  }
 55972  
 55973  type NoCompatibleDatastoreFault NoCompatibleDatastore
 55974  
 55975  func init() {
 55976  	t["NoCompatibleDatastoreFault"] = reflect.TypeOf((*NoCompatibleDatastoreFault)(nil)).Elem()
 55977  }
 55978  
 55979  // The cluster contains no hosts satisfying the hard VM/host affinity rules
 55980  // constraint for the VM.
 55981  type NoCompatibleHardAffinityHost struct {
 55982  	VmConfigFault
 55983  
 55984  	// The vm for which there are no compatible hard-affine hosts in the cluster.
 55985  	VmName string `xml:"vmName" json:"vmName"`
 55986  }
 55987  
 55988  func init() {
 55989  	t["NoCompatibleHardAffinityHost"] = reflect.TypeOf((*NoCompatibleHardAffinityHost)(nil)).Elem()
 55990  	minAPIVersionForType["NoCompatibleHardAffinityHost"] = "4.1"
 55991  }
 55992  
 55993  type NoCompatibleHardAffinityHostFault NoCompatibleHardAffinityHost
 55994  
 55995  func init() {
 55996  	t["NoCompatibleHardAffinityHostFault"] = reflect.TypeOf((*NoCompatibleHardAffinityHostFault)(nil)).Elem()
 55997  }
 55998  
 55999  // A NoCompatibleHost fault is thrown when DRS cannot find a compatible
 56000  // host in a given compute resource to run a virtual machine on.
 56001  type NoCompatibleHost struct {
 56002  	VimFault
 56003  
 56004  	// The list of hosts that are not compatible, each element has a
 56005  	// corresponding fault in the error array.
 56006  	//
 56007  	// Refers instances of `HostSystem`.
 56008  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 56009  	// An error in this array indicates why the corresponding host in the
 56010  	// host array is incompatible.
 56011  	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 56012  }
 56013  
 56014  func init() {
 56015  	t["NoCompatibleHost"] = reflect.TypeOf((*NoCompatibleHost)(nil)).Elem()
 56016  	minAPIVersionForType["NoCompatibleHost"] = "4.0"
 56017  }
 56018  
 56019  type NoCompatibleHostFault BaseNoCompatibleHost
 56020  
 56021  func init() {
 56022  	t["NoCompatibleHostFault"] = reflect.TypeOf((*NoCompatibleHostFault)(nil)).Elem()
 56023  }
 56024  
 56025  // This fault is used to report that a FT VM cannot be placed because there is
 56026  // no compatible host that can access all devices required to be connected when
 56027  // the VM powers on.
 56028  type NoCompatibleHostWithAccessToDevice struct {
 56029  	NoCompatibleHost
 56030  }
 56031  
 56032  func init() {
 56033  	t["NoCompatibleHostWithAccessToDevice"] = reflect.TypeOf((*NoCompatibleHostWithAccessToDevice)(nil)).Elem()
 56034  	minAPIVersionForType["NoCompatibleHostWithAccessToDevice"] = "4.1"
 56035  }
 56036  
 56037  type NoCompatibleHostWithAccessToDeviceFault NoCompatibleHostWithAccessToDevice
 56038  
 56039  func init() {
 56040  	t["NoCompatibleHostWithAccessToDeviceFault"] = reflect.TypeOf((*NoCompatibleHostWithAccessToDeviceFault)(nil)).Elem()
 56041  }
 56042  
 56043  // The cluster contains no hosts satisfying the soft VM/host affinity rules
 56044  // constraint for the VM.
 56045  type NoCompatibleSoftAffinityHost struct {
 56046  	VmConfigFault
 56047  
 56048  	// The vm for which there are no compatible soft-affine hosts in the cluster.
 56049  	VmName string `xml:"vmName" json:"vmName"`
 56050  }
 56051  
 56052  func init() {
 56053  	t["NoCompatibleSoftAffinityHost"] = reflect.TypeOf((*NoCompatibleSoftAffinityHost)(nil)).Elem()
 56054  	minAPIVersionForType["NoCompatibleSoftAffinityHost"] = "4.1"
 56055  }
 56056  
 56057  type NoCompatibleSoftAffinityHostFault NoCompatibleSoftAffinityHost
 56058  
 56059  func init() {
 56060  	t["NoCompatibleSoftAffinityHostFault"] = reflect.TypeOf((*NoCompatibleSoftAffinityHostFault)(nil)).Elem()
 56061  }
 56062  
 56063  // The fault occurs when Storage DRS cannot move a virtual machine because
 56064  // the host it is registered on is not connected to any other datastore
 56065  // in the storage pod.
 56066  type NoConnectedDatastore struct {
 56067  	VimFault
 56068  }
 56069  
 56070  func init() {
 56071  	t["NoConnectedDatastore"] = reflect.TypeOf((*NoConnectedDatastore)(nil)).Elem()
 56072  	minAPIVersionForType["NoConnectedDatastore"] = "5.0"
 56073  }
 56074  
 56075  type NoConnectedDatastoreFault NoConnectedDatastore
 56076  
 56077  func init() {
 56078  	t["NoConnectedDatastoreFault"] = reflect.TypeOf((*NoConnectedDatastoreFault)(nil)).Elem()
 56079  }
 56080  
 56081  // No datastores have been configured on the host.
 56082  type NoDatastoresConfiguredEvent struct {
 56083  	HostEvent
 56084  }
 56085  
 56086  func init() {
 56087  	t["NoDatastoresConfiguredEvent"] = reflect.TypeOf((*NoDatastoresConfiguredEvent)(nil)).Elem()
 56088  	minAPIVersionForType["NoDatastoresConfiguredEvent"] = "2.5"
 56089  }
 56090  
 56091  // This exception is thrown when a virtual machine
 56092  // which has no virtual disks is being upgraded or relaid out
 56093  // using the VirtualMachine.upgradeVirtualHardware or upgradeVmLayout
 56094  // commands.
 56095  type NoDiskFound struct {
 56096  	VimFault
 56097  }
 56098  
 56099  func init() {
 56100  	t["NoDiskFound"] = reflect.TypeOf((*NoDiskFound)(nil)).Elem()
 56101  }
 56102  
 56103  type NoDiskFoundFault NoDiskFound
 56104  
 56105  func init() {
 56106  	t["NoDiskFoundFault"] = reflect.TypeOf((*NoDiskFoundFault)(nil)).Elem()
 56107  }
 56108  
 56109  // This fault is thrown when an operation fails because of insufficient
 56110  // disk space.
 56111  type NoDiskSpace struct {
 56112  	FileFault
 56113  
 56114  	// The name of the datastore with insufficient disk space.
 56115  	Datastore string `xml:"datastore" json:"datastore"`
 56116  }
 56117  
 56118  func init() {
 56119  	t["NoDiskSpace"] = reflect.TypeOf((*NoDiskSpace)(nil)).Elem()
 56120  }
 56121  
 56122  type NoDiskSpaceFault NoDiskSpace
 56123  
 56124  func init() {
 56125  	t["NoDiskSpaceFault"] = reflect.TypeOf((*NoDiskSpaceFault)(nil)).Elem()
 56126  }
 56127  
 56128  // None of the disks attached to the VM are suitable for customization.
 56129  type NoDisksToCustomize struct {
 56130  	CustomizationFault
 56131  }
 56132  
 56133  func init() {
 56134  	t["NoDisksToCustomize"] = reflect.TypeOf((*NoDisksToCustomize)(nil)).Elem()
 56135  }
 56136  
 56137  type NoDisksToCustomizeFault NoDisksToCustomize
 56138  
 56139  func init() {
 56140  	t["NoDisksToCustomizeFault"] = reflect.TypeOf((*NoDisksToCustomizeFault)(nil)).Elem()
 56141  }
 56142  
 56143  // This error occurs when an operation fails because of vmkernel gateway
 56144  // is unset.
 56145  type NoGateway struct {
 56146  	HostConfigFault
 56147  }
 56148  
 56149  func init() {
 56150  	t["NoGateway"] = reflect.TypeOf((*NoGateway)(nil)).Elem()
 56151  }
 56152  
 56153  type NoGatewayFault NoGateway
 56154  
 56155  func init() {
 56156  	t["NoGatewayFault"] = reflect.TypeOf((*NoGatewayFault)(nil)).Elem()
 56157  }
 56158  
 56159  // A powered-on virtual machine has a guest OS with Tools installed, but it does not
 56160  // have a valid heartbeat.
 56161  type NoGuestHeartbeat struct {
 56162  	MigrationFault
 56163  }
 56164  
 56165  func init() {
 56166  	t["NoGuestHeartbeat"] = reflect.TypeOf((*NoGuestHeartbeat)(nil)).Elem()
 56167  }
 56168  
 56169  type NoGuestHeartbeatFault NoGuestHeartbeat
 56170  
 56171  func init() {
 56172  	t["NoGuestHeartbeatFault"] = reflect.TypeOf((*NoGuestHeartbeatFault)(nil)).Elem()
 56173  }
 56174  
 56175  // A NoHostFault fault occurs when a host
 56176  // cannot be reached.
 56177  type NoHost struct {
 56178  	HostConnectFault
 56179  
 56180  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 56181  }
 56182  
 56183  func init() {
 56184  	t["NoHost"] = reflect.TypeOf((*NoHost)(nil)).Elem()
 56185  }
 56186  
 56187  type NoHostFault NoHost
 56188  
 56189  func init() {
 56190  	t["NoHostFault"] = reflect.TypeOf((*NoHostFault)(nil)).Elem()
 56191  }
 56192  
 56193  // The NoHostSuitableForFtSecondary fault is thrown when the system is unable to
 56194  // find a suitable host for the Fault Tolerance secondary virtual machine.
 56195  //
 56196  // This fault can be thrown when Virtual Center is trying to place or power on
 56197  // a Fault Tolerance Secondary, in both DRS or non-DRS cases.
 56198  type NoHostSuitableForFtSecondary struct {
 56199  	VmFaultToleranceIssue
 56200  
 56201  	// The primary virtual machine corresponding to the secondary virtual
 56202  	// machine.
 56203  	//
 56204  	// Refers instance of `VirtualMachine`.
 56205  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 56206  	// The name of the primary virtual machine corresponding to the secondary
 56207  	// virtual machine.
 56208  	VmName string `xml:"vmName" json:"vmName"`
 56209  }
 56210  
 56211  func init() {
 56212  	t["NoHostSuitableForFtSecondary"] = reflect.TypeOf((*NoHostSuitableForFtSecondary)(nil)).Elem()
 56213  	minAPIVersionForType["NoHostSuitableForFtSecondary"] = "4.0"
 56214  }
 56215  
 56216  type NoHostSuitableForFtSecondaryFault NoHostSuitableForFtSecondary
 56217  
 56218  func init() {
 56219  	t["NoHostSuitableForFtSecondaryFault"] = reflect.TypeOf((*NoHostSuitableForFtSecondaryFault)(nil)).Elem()
 56220  }
 56221  
 56222  // These are events reported by License Manager.
 56223  //
 56224  // A NoLicenseEvent is reported if the required licenses could not be
 56225  // reserved. Each feature that is not fully licensed is reported.
 56226  type NoLicenseEvent struct {
 56227  	LicenseEvent
 56228  
 56229  	Feature LicenseFeatureInfo `xml:"feature" json:"feature"`
 56230  }
 56231  
 56232  func init() {
 56233  	t["NoLicenseEvent"] = reflect.TypeOf((*NoLicenseEvent)(nil)).Elem()
 56234  }
 56235  
 56236  // The NoLicenseServerConfigured fault is thrown when there is no
 56237  // valid license server configured for the system and the system
 56238  // is not in evaluation mode.
 56239  //
 56240  // Any operation occurs that requires
 56241  // evaluation license or a valid license will throw the
 56242  // NoLicenseServerConfigured. This can happen with the new licensing
 56243  // scheme that is a hybrid of flex-based licensing and serial number
 56244  // based licensing. There can be cases where VirtualCenter is licensed
 56245  // by a serial number and there is no need for a flex license server.
 56246  // These cases are valid as long as no operation that requires flex-
 56247  // based license server is invoked, for example, adding a pre-4.0
 56248  // host that requires flex licenses. If however, such an operation is
 56249  // invoked, the NoLicenseServerConfigured fault is thrown.
 56250  type NoLicenseServerConfigured struct {
 56251  	NotEnoughLicenses
 56252  }
 56253  
 56254  func init() {
 56255  	t["NoLicenseServerConfigured"] = reflect.TypeOf((*NoLicenseServerConfigured)(nil)).Elem()
 56256  	minAPIVersionForType["NoLicenseServerConfigured"] = "4.0"
 56257  }
 56258  
 56259  type NoLicenseServerConfiguredFault NoLicenseServerConfigured
 56260  
 56261  func init() {
 56262  	t["NoLicenseServerConfiguredFault"] = reflect.TypeOf((*NoLicenseServerConfiguredFault)(nil)).Elem()
 56263  }
 56264  
 56265  // This event records that DRS did not recommend a migration for a
 56266  // powered on virtual machine, even though its host is going
 56267  // into maintenance mode.
 56268  //
 56269  // DRS may not be able to recommend a migration for a virtual machine
 56270  // for reasons, include but not limited to:
 56271  //   - No other connected host is compatible with this virtual machine.
 56272  //   - None of the other compatible hosts have sufficient resources
 56273  //     to satisfy the reservation requirements of this virtual machine.
 56274  //   - Moving to any other host would violate a DRS rule. For example, all
 56275  //     other compatible hosts have some incompatible virtual machines
 56276  //     running.
 56277  //   - DRS is disabled on this virtual machine.
 56278  //   - This virtual machine was still in the process of migrating
 56279  //     into the host going into maintenance mode and was not
 56280  //     considered by DRS.
 56281  //   - This virtual machine was in the process of migrating to another
 56282  //     host when the host tried to enter maintenance mode.
 56283  type NoMaintenanceModeDrsRecommendationForVM struct {
 56284  	VmEvent
 56285  }
 56286  
 56287  func init() {
 56288  	t["NoMaintenanceModeDrsRecommendationForVM"] = reflect.TypeOf((*NoMaintenanceModeDrsRecommendationForVM)(nil)).Elem()
 56289  }
 56290  
 56291  // This fault is thrown when no peer host is found to wake up this host.
 56292  type NoPeerHostFound struct {
 56293  	HostPowerOpFailed
 56294  }
 56295  
 56296  func init() {
 56297  	t["NoPeerHostFound"] = reflect.TypeOf((*NoPeerHostFound)(nil)).Elem()
 56298  	minAPIVersionForType["NoPeerHostFound"] = "2.5"
 56299  }
 56300  
 56301  type NoPeerHostFoundFault NoPeerHostFound
 56302  
 56303  func init() {
 56304  	t["NoPeerHostFoundFault"] = reflect.TypeOf((*NoPeerHostFoundFault)(nil)).Elem()
 56305  }
 56306  
 56307  // Thrown when an operation is denied because of privileges
 56308  // not held on managed object(s).
 56309  type NoPermission struct {
 56310  	SecurityError
 56311  
 56312  	// Deprecated as of vSphere 8.0, use the `NoPermission.missingPrivileges` field.
 56313  	//
 56314  	// The managed object on which a permission is required.
 56315  	Object *ManagedObjectReference `xml:"object,omitempty" json:"object,omitempty"`
 56316  	// Deprecated as of vSphere 8.0, use the `NoPermission.missingPrivileges` field.
 56317  	//
 56318  	// The privilege identifier required
 56319  	PrivilegeId string `xml:"privilegeId,omitempty" json:"privilegeId,omitempty"`
 56320  	// List of entities and missing privileges for each entity
 56321  	MissingPrivileges []NoPermissionEntityPrivileges `xml:"missingPrivileges,omitempty" json:"missingPrivileges,omitempty" vim:"7.0.3.2"`
 56322  }
 56323  
 56324  func init() {
 56325  	t["NoPermission"] = reflect.TypeOf((*NoPermission)(nil)).Elem()
 56326  }
 56327  
 56328  // Entity and privileges for the entity
 56329  type NoPermissionEntityPrivileges struct {
 56330  	DynamicData
 56331  
 56332  	Entity       ManagedObjectReference `xml:"entity" json:"entity"`
 56333  	PrivilegeIds []string               `xml:"privilegeIds,omitempty" json:"privilegeIds,omitempty"`
 56334  }
 56335  
 56336  func init() {
 56337  	t["NoPermissionEntityPrivileges"] = reflect.TypeOf((*NoPermissionEntityPrivileges)(nil)).Elem()
 56338  	minAPIVersionForType["NoPermissionEntityPrivileges"] = "7.0.3.2"
 56339  }
 56340  
 56341  type NoPermissionFault BaseNoPermission
 56342  
 56343  func init() {
 56344  	t["NoPermissionFault"] = reflect.TypeOf((*NoPermissionFault)(nil)).Elem()
 56345  }
 56346  
 56347  // Fault indicating that the user account used to connect to the
 56348  // Active Directory doesn not have enough permissions for the action
 56349  // that was attempted.
 56350  type NoPermissionOnAD struct {
 56351  	ActiveDirectoryFault
 56352  }
 56353  
 56354  func init() {
 56355  	t["NoPermissionOnAD"] = reflect.TypeOf((*NoPermissionOnAD)(nil)).Elem()
 56356  	minAPIVersionForType["NoPermissionOnAD"] = "4.1"
 56357  }
 56358  
 56359  type NoPermissionOnADFault NoPermissionOnAD
 56360  
 56361  func init() {
 56362  	t["NoPermissionOnADFault"] = reflect.TypeOf((*NoPermissionOnADFault)(nil)).Elem()
 56363  }
 56364  
 56365  // This indicates that the user account used to connect to the host does
 56366  // not have enough permissions to enable VirtualCenter to manage the host.
 56367  type NoPermissionOnHost struct {
 56368  	HostConnectFault
 56369  }
 56370  
 56371  func init() {
 56372  	t["NoPermissionOnHost"] = reflect.TypeOf((*NoPermissionOnHost)(nil)).Elem()
 56373  }
 56374  
 56375  type NoPermissionOnHostFault NoPermissionOnHost
 56376  
 56377  func init() {
 56378  	t["NoPermissionOnHostFault"] = reflect.TypeOf((*NoPermissionOnHostFault)(nil)).Elem()
 56379  }
 56380  
 56381  // This fault is thrown when an operation to configure a NAS volume fails
 56382  // because of insufficient user permissions.
 56383  //
 56384  // For CIFS volumes, this implies that the user specified in the
 56385  // `spec` does not have access to the
 56386  // network resource.
 56387  type NoPermissionOnNasVolume struct {
 56388  	NasConfigFault
 56389  
 56390  	UserName string `xml:"userName,omitempty" json:"userName,omitempty"`
 56391  }
 56392  
 56393  func init() {
 56394  	t["NoPermissionOnNasVolume"] = reflect.TypeOf((*NoPermissionOnNasVolume)(nil)).Elem()
 56395  	minAPIVersionForType["NoPermissionOnNasVolume"] = "2.5 U2"
 56396  }
 56397  
 56398  type NoPermissionOnNasVolumeFault NoPermissionOnNasVolume
 56399  
 56400  func init() {
 56401  	t["NoPermissionOnNasVolumeFault"] = reflect.TypeOf((*NoPermissionOnNasVolumeFault)(nil)).Elem()
 56402  }
 56403  
 56404  // This exception is thrown when an extension has attempted to use certificate-based
 56405  // authentication but the extension has been registered without a subject name.
 56406  type NoSubjectName struct {
 56407  	VimFault
 56408  }
 56409  
 56410  func init() {
 56411  	t["NoSubjectName"] = reflect.TypeOf((*NoSubjectName)(nil)).Elem()
 56412  	minAPIVersionForType["NoSubjectName"] = "2.5"
 56413  }
 56414  
 56415  type NoSubjectNameFault NoSubjectName
 56416  
 56417  func init() {
 56418  	t["NoSubjectNameFault"] = reflect.TypeOf((*NoSubjectNameFault)(nil)).Elem()
 56419  }
 56420  
 56421  // The IP address of the VC server has not be configured, and a vApp
 56422  // property is requesting to use it.
 56423  type NoVcManagedIpConfigured struct {
 56424  	VAppPropertyFault
 56425  }
 56426  
 56427  func init() {
 56428  	t["NoVcManagedIpConfigured"] = reflect.TypeOf((*NoVcManagedIpConfigured)(nil)).Elem()
 56429  	minAPIVersionForType["NoVcManagedIpConfigured"] = "4.0"
 56430  }
 56431  
 56432  type NoVcManagedIpConfiguredFault NoVcManagedIpConfigured
 56433  
 56434  func init() {
 56435  	t["NoVcManagedIpConfiguredFault"] = reflect.TypeOf((*NoVcManagedIpConfiguredFault)(nil)).Elem()
 56436  }
 56437  
 56438  // This error occurs when an operation fails because of
 56439  // no virtual NIC available.
 56440  type NoVirtualNic struct {
 56441  	HostConfigFault
 56442  }
 56443  
 56444  func init() {
 56445  	t["NoVirtualNic"] = reflect.TypeOf((*NoVirtualNic)(nil)).Elem()
 56446  }
 56447  
 56448  type NoVirtualNicFault NoVirtualNic
 56449  
 56450  func init() {
 56451  	t["NoVirtualNicFault"] = reflect.TypeOf((*NoVirtualNicFault)(nil)).Elem()
 56452  }
 56453  
 56454  // Attempting to power-on or power-off a vApp that contains no
 56455  // virtual machines.
 56456  type NoVmInVApp struct {
 56457  	VAppConfigFault
 56458  }
 56459  
 56460  func init() {
 56461  	t["NoVmInVApp"] = reflect.TypeOf((*NoVmInVApp)(nil)).Elem()
 56462  	minAPIVersionForType["NoVmInVApp"] = "4.0"
 56463  }
 56464  
 56465  type NoVmInVAppFault NoVmInVApp
 56466  
 56467  func init() {
 56468  	t["NoVmInVAppFault"] = reflect.TypeOf((*NoVmInVAppFault)(nil)).Elem()
 56469  }
 56470  
 56471  // The NodeDeploymentSpec class defines location
 56472  // specification of the nodes the VCHA Cluster along with Management
 56473  // vCenter Server information that manages node VM.
 56474  type NodeDeploymentSpec struct {
 56475  	DynamicData
 56476  
 56477  	// ESX host on which the VM is to be deployed.
 56478  	//
 56479  	// For behavior when an esxHost is not specified,
 56480  	//
 56481  	// See also `VirtualMachineRelocateSpec.host`.
 56482  	//
 56483  	// Refers instance of `HostSystem`.
 56484  	EsxHost *ManagedObjectReference `xml:"esxHost,omitempty" json:"esxHost,omitempty"`
 56485  	// Datastore used for deploying the VM.
 56486  	//
 56487  	// For behavior when a datastore is not specified,
 56488  	//
 56489  	// See also `VirtualMachineRelocateSpec.datastore`.
 56490  	//
 56491  	// Refers instance of `Datastore`.
 56492  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 56493  	// Name of the portgroup that is associated with the public IP address
 56494  	// where clients connect to vCenter Server.
 56495  	//
 56496  	// If a portgroup is not
 56497  	// specified same portgroup present on source is used to deploy the VM
 56498  	// with an assumption that portgroup is present on destination.
 56499  	//
 56500  	// Refers instance of `Network`.
 56501  	PublicNetworkPortGroup *ManagedObjectReference `xml:"publicNetworkPortGroup,omitempty" json:"publicNetworkPortGroup,omitempty"`
 56502  	// Name of the portgroup that is associated with the VCHA Cluster IP
 56503  	// address where clients connect to vCenter Server.
 56504  	//
 56505  	// If a portgroup is not
 56506  	// specified same portgroup present on source is used to deploy the VM
 56507  	// with an assumption that portgroup is present on destination.
 56508  	//
 56509  	// Refers instance of `Network`.
 56510  	ClusterNetworkPortGroup *ManagedObjectReference `xml:"clusterNetworkPortGroup,omitempty" json:"clusterNetworkPortGroup,omitempty"`
 56511  	// Folder in which the VM is to be created.
 56512  	//
 56513  	// Refers instance of `Folder`.
 56514  	Folder ManagedObjectReference `xml:"folder" json:"folder"`
 56515  	// ResourcePool that will be used to deploy this node.
 56516  	//
 56517  	// If the ResourcePool is not specified, the root resource pool for the
 56518  	// host will be used.
 56519  	//
 56520  	// Refers instance of `ResourcePool`.
 56521  	ResourcePool *ManagedObjectReference `xml:"resourcePool,omitempty" json:"resourcePool,omitempty"`
 56522  	// Management vCenter Server managing this VM.
 56523  	//
 56524  	// If the managementVc is not specified, managementVc specified as
 56525  	// part of SourceNodeSpec is used.
 56526  	ManagementVc *ServiceLocator `xml:"managementVc,omitempty" json:"managementVc,omitempty"`
 56527  	// nodeName here refers to a name that will be assigned to the VM to which
 56528  	// this node will be deployed to.
 56529  	NodeName string `xml:"nodeName" json:"nodeName"`
 56530  	// VCHA Cluster network configuration of the node.
 56531  	//
 56532  	// All cluster communication (state replication, heartbeat,
 56533  	// cluster messages) happens over this network.
 56534  	IpSettings CustomizationIPSettings `xml:"ipSettings" json:"ipSettings"`
 56535  }
 56536  
 56537  func init() {
 56538  	t["NodeDeploymentSpec"] = reflect.TypeOf((*NodeDeploymentSpec)(nil)).Elem()
 56539  	minAPIVersionForType["NodeDeploymentSpec"] = "6.5"
 56540  }
 56541  
 56542  // The NodeNetworkSpec class defines network specification of a node
 56543  // in the VCHA Cluster.
 56544  type NodeNetworkSpec struct {
 56545  	DynamicData
 56546  
 56547  	// VCHA Cluster network configuration of the node.
 56548  	//
 56549  	// All cluster communication (state replication, heartbeat,
 56550  	// cluster messages) happens over this network.
 56551  	IpSettings CustomizationIPSettings `xml:"ipSettings" json:"ipSettings"`
 56552  }
 56553  
 56554  func init() {
 56555  	t["NodeNetworkSpec"] = reflect.TypeOf((*NodeNetworkSpec)(nil)).Elem()
 56556  	minAPIVersionForType["NodeNetworkSpec"] = "6.5"
 56557  }
 56558  
 56559  // Fault indicating that an operation must be executed by a
 56560  // non Active Directory user.
 56561  type NonADUserRequired struct {
 56562  	ActiveDirectoryFault
 56563  }
 56564  
 56565  func init() {
 56566  	t["NonADUserRequired"] = reflect.TypeOf((*NonADUserRequired)(nil)).Elem()
 56567  	minAPIVersionForType["NonADUserRequired"] = "4.1"
 56568  }
 56569  
 56570  type NonADUserRequiredFault NonADUserRequired
 56571  
 56572  func init() {
 56573  	t["NonADUserRequiredFault"] = reflect.TypeOf((*NonADUserRequiredFault)(nil)).Elem()
 56574  }
 56575  
 56576  // An operation on a powered-on virtual machine requests that an existing
 56577  // Raw Disk Mapping end up in a location other than the new home datastore
 56578  // for the virtual machine, but the host does not have that capability.
 56579  type NonHomeRDMVMotionNotSupported struct {
 56580  	MigrationFeatureNotSupported
 56581  
 56582  	// The label of an RDM device for which an unsupported move was requested.
 56583  	//
 56584  	// This is not guaranteed to be the only such device.
 56585  	Device string `xml:"device" json:"device"`
 56586  }
 56587  
 56588  func init() {
 56589  	t["NonHomeRDMVMotionNotSupported"] = reflect.TypeOf((*NonHomeRDMVMotionNotSupported)(nil)).Elem()
 56590  	minAPIVersionForType["NonHomeRDMVMotionNotSupported"] = "2.5"
 56591  }
 56592  
 56593  type NonHomeRDMVMotionNotSupportedFault NonHomeRDMVMotionNotSupported
 56594  
 56595  func init() {
 56596  	t["NonHomeRDMVMotionNotSupportedFault"] = reflect.TypeOf((*NonHomeRDMVMotionNotSupportedFault)(nil)).Elem()
 56597  }
 56598  
 56599  // The virtual machine has nonpersistent virtual disk.
 56600  //
 56601  // This is an error for
 56602  // any powered-on migration which involves moving virtual disks.
 56603  type NonPersistentDisksNotSupported struct {
 56604  	DeviceNotSupported
 56605  }
 56606  
 56607  func init() {
 56608  	t["NonPersistentDisksNotSupported"] = reflect.TypeOf((*NonPersistentDisksNotSupported)(nil)).Elem()
 56609  	minAPIVersionForType["NonPersistentDisksNotSupported"] = "2.5"
 56610  }
 56611  
 56612  type NonPersistentDisksNotSupportedFault NonPersistentDisksNotSupported
 56613  
 56614  func init() {
 56615  	t["NonPersistentDisksNotSupportedFault"] = reflect.TypeOf((*NonPersistentDisksNotSupportedFault)(nil)).Elem()
 56616  }
 56617  
 56618  // This event records that non-VI workload is detected on the datastore.
 56619  type NonVIWorkloadDetectedOnDatastoreEvent struct {
 56620  	DatastoreEvent
 56621  }
 56622  
 56623  func init() {
 56624  	t["NonVIWorkloadDetectedOnDatastoreEvent"] = reflect.TypeOf((*NonVIWorkloadDetectedOnDatastoreEvent)(nil)).Elem()
 56625  	minAPIVersionForType["NonVIWorkloadDetectedOnDatastoreEvent"] = "4.1"
 56626  }
 56627  
 56628  // The host does not support VM that has VPX assigned prefix or ranged based
 56629  // MAC address (i.e.
 56630  //
 56631  // MAC is not prefixed with 00:50:56:\[80-BF\])
 56632  type NonVmwareOuiMacNotSupportedHost struct {
 56633  	NotSupportedHost
 56634  
 56635  	// The name of the host.
 56636  	HostName string `xml:"hostName" json:"hostName"`
 56637  }
 56638  
 56639  func init() {
 56640  	t["NonVmwareOuiMacNotSupportedHost"] = reflect.TypeOf((*NonVmwareOuiMacNotSupportedHost)(nil)).Elem()
 56641  	minAPIVersionForType["NonVmwareOuiMacNotSupportedHost"] = "5.1"
 56642  }
 56643  
 56644  type NonVmwareOuiMacNotSupportedHostFault NonVmwareOuiMacNotSupportedHost
 56645  
 56646  func init() {
 56647  	t["NonVmwareOuiMacNotSupportedHostFault"] = reflect.TypeOf((*NonVmwareOuiMacNotSupportedHostFault)(nil)).Elem()
 56648  }
 56649  
 56650  // This fault is thrown when an operation fails because the specified object
 56651  // is not a directory.
 56652  type NotADirectory struct {
 56653  	FileFault
 56654  }
 56655  
 56656  func init() {
 56657  	t["NotADirectory"] = reflect.TypeOf((*NotADirectory)(nil)).Elem()
 56658  	minAPIVersionForType["NotADirectory"] = "5.0"
 56659  }
 56660  
 56661  type NotADirectoryFault NotADirectory
 56662  
 56663  func init() {
 56664  	t["NotADirectoryFault"] = reflect.TypeOf((*NotADirectoryFault)(nil)).Elem()
 56665  }
 56666  
 56667  // This fault is thrown when an operation fails because the specified object
 56668  // is not a file.
 56669  type NotAFile struct {
 56670  	FileFault
 56671  }
 56672  
 56673  func init() {
 56674  	t["NotAFile"] = reflect.TypeOf((*NotAFile)(nil)).Elem()
 56675  	minAPIVersionForType["NotAFile"] = "5.0"
 56676  }
 56677  
 56678  type NotAFileFault NotAFile
 56679  
 56680  func init() {
 56681  	t["NotAFileFault"] = reflect.TypeOf((*NotAFileFault)(nil)).Elem()
 56682  }
 56683  
 56684  // Thrown when an operation is denied because the session
 56685  // has not yet successfully logged in.
 56686  type NotAuthenticated struct {
 56687  	NoPermission
 56688  }
 56689  
 56690  func init() {
 56691  	t["NotAuthenticated"] = reflect.TypeOf((*NotAuthenticated)(nil)).Elem()
 56692  	minAPIVersionForType["NotAuthenticated"] = "2.5"
 56693  }
 56694  
 56695  type NotAuthenticatedFault NotAuthenticated
 56696  
 56697  func init() {
 56698  	t["NotAuthenticatedFault"] = reflect.TypeOf((*NotAuthenticatedFault)(nil)).Elem()
 56699  }
 56700  
 56701  // The host hardware does not have enough CPU cores to support the number of
 56702  // virtual CPUs in the virtual machine.
 56703  //
 56704  // If the host is using hyperthreading, NotEnoughLogicalCpus is
 56705  // employed instead of NotEnoughCpus.
 56706  type NotEnoughCpus struct {
 56707  	VirtualHardwareCompatibilityIssue
 56708  
 56709  	// The number of CPUs present on the host.
 56710  	NumCpuDest int32 `xml:"numCpuDest" json:"numCpuDest"`
 56711  	// The number of virtual CPUs present in the virtual machine.
 56712  	NumCpuVm int32 `xml:"numCpuVm" json:"numCpuVm"`
 56713  }
 56714  
 56715  func init() {
 56716  	t["NotEnoughCpus"] = reflect.TypeOf((*NotEnoughCpus)(nil)).Elem()
 56717  }
 56718  
 56719  type NotEnoughCpusFault BaseNotEnoughCpus
 56720  
 56721  func init() {
 56722  	t["NotEnoughCpusFault"] = reflect.TypeOf((*NotEnoughCpusFault)(nil)).Elem()
 56723  }
 56724  
 56725  // A NotEnoughLicensesFault occurs when an operation
 56726  // fails because there are not enough licenses installed.
 56727  type NotEnoughLicenses struct {
 56728  	RuntimeFault
 56729  }
 56730  
 56731  func init() {
 56732  	t["NotEnoughLicenses"] = reflect.TypeOf((*NotEnoughLicenses)(nil)).Elem()
 56733  }
 56734  
 56735  type NotEnoughLicensesFault BaseNotEnoughLicenses
 56736  
 56737  func init() {
 56738  	t["NotEnoughLicensesFault"] = reflect.TypeOf((*NotEnoughLicensesFault)(nil)).Elem()
 56739  }
 56740  
 56741  // The host hardware does not have enough logical CPUs (hyperthreads) to
 56742  // support the number of virtual CPUs in the virtual machine.
 56743  type NotEnoughLogicalCpus struct {
 56744  	NotEnoughCpus
 56745  
 56746  	// The host that does not have enough logical CPUs.
 56747  	//
 56748  	// Refers instance of `HostSystem`.
 56749  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty" vim:"2.5"`
 56750  }
 56751  
 56752  func init() {
 56753  	t["NotEnoughLogicalCpus"] = reflect.TypeOf((*NotEnoughLogicalCpus)(nil)).Elem()
 56754  }
 56755  
 56756  type NotEnoughLogicalCpusFault NotEnoughLogicalCpus
 56757  
 56758  func init() {
 56759  	t["NotEnoughLogicalCpusFault"] = reflect.TypeOf((*NotEnoughLogicalCpusFault)(nil)).Elem()
 56760  }
 56761  
 56762  // This event records when the HA does not find sufficient resources to failover a
 56763  // virtual machine.
 56764  type NotEnoughResourcesToStartVmEvent struct {
 56765  	VmEvent
 56766  
 56767  	// The reason why the virtual machine could not be restarted
 56768  	Reason string `xml:"reason,omitempty" json:"reason,omitempty" vim:"6.0"`
 56769  }
 56770  
 56771  func init() {
 56772  	t["NotEnoughResourcesToStartVmEvent"] = reflect.TypeOf((*NotEnoughResourcesToStartVmEvent)(nil)).Elem()
 56773  }
 56774  
 56775  // A NotFound error occurs when a referenced component of a managed
 56776  // object cannot be found.
 56777  //
 56778  // The referenced component can be a data
 56779  // object type (such as a role or permission) or a primitive
 56780  // (such as a string).
 56781  //
 56782  // For example, if the missing referenced component is a data object, such as
 56783  // VirtualSwitch, the NotFound error is
 56784  // thrown. The NotFound error is also thrown if the data object is found, but the referenced name
 56785  // (for example, "vswitch0") is not.
 56786  type NotFound struct {
 56787  	VimFault
 56788  }
 56789  
 56790  func init() {
 56791  	t["NotFound"] = reflect.TypeOf((*NotFound)(nil)).Elem()
 56792  }
 56793  
 56794  type NotFoundFault NotFound
 56795  
 56796  func init() {
 56797  	t["NotFoundFault"] = reflect.TypeOf((*NotFoundFault)(nil)).Elem()
 56798  }
 56799  
 56800  // NotImplemented exception is thrown if the method is not
 56801  // yet implemented.
 56802  type NotImplemented struct {
 56803  	RuntimeFault
 56804  }
 56805  
 56806  func init() {
 56807  	t["NotImplemented"] = reflect.TypeOf((*NotImplemented)(nil)).Elem()
 56808  }
 56809  
 56810  type NotImplementedFault NotImplemented
 56811  
 56812  func init() {
 56813  	t["NotImplementedFault"] = reflect.TypeOf((*NotImplementedFault)(nil)).Elem()
 56814  }
 56815  
 56816  // Thrown if the method is not supported on the
 56817  // server.
 56818  //
 56819  // Not all methods are supported on all servers
 56820  // (for example, an ESX Server host supports less functionality than
 56821  // a VirtualCenter server). A feature might also be disabled
 56822  // due to missing liceneses.
 56823  type NotSupported struct {
 56824  	RuntimeFault
 56825  }
 56826  
 56827  func init() {
 56828  	t["NotSupported"] = reflect.TypeOf((*NotSupported)(nil)).Elem()
 56829  }
 56830  
 56831  // Deprecated as of vSphere API 7.0. Not used since vSphere API 6.5.
 56832  //
 56833  // VMs with pvscsi or vmxnet3 virtual devices support Fault Tolerance only
 56834  // on 4.1 or later hosts.
 56835  type NotSupportedDeviceForFT struct {
 56836  	VmFaultToleranceIssue
 56837  
 56838  	// The host
 56839  	//
 56840  	// Refers instance of `HostSystem`.
 56841  	Host ManagedObjectReference `xml:"host" json:"host"`
 56842  	// The host name
 56843  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 56844  	// The virtual machine
 56845  	//
 56846  	// Refers instance of `VirtualMachine`.
 56847  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 56848  	// The virtual machine name
 56849  	VmName string `xml:"vmName,omitempty" json:"vmName,omitempty"`
 56850  	// The device type
 56851  	DeviceType string `xml:"deviceType" json:"deviceType"`
 56852  	// The device label
 56853  	DeviceLabel string `xml:"deviceLabel,omitempty" json:"deviceLabel,omitempty"`
 56854  }
 56855  
 56856  func init() {
 56857  	t["NotSupportedDeviceForFT"] = reflect.TypeOf((*NotSupportedDeviceForFT)(nil)).Elem()
 56858  	minAPIVersionForType["NotSupportedDeviceForFT"] = "4.1"
 56859  }
 56860  
 56861  type NotSupportedDeviceForFTFault NotSupportedDeviceForFT
 56862  
 56863  func init() {
 56864  	t["NotSupportedDeviceForFTFault"] = reflect.TypeOf((*NotSupportedDeviceForFTFault)(nil)).Elem()
 56865  }
 56866  
 56867  type NotSupportedFault BaseNotSupported
 56868  
 56869  func init() {
 56870  	t["NotSupportedFault"] = reflect.TypeOf((*NotSupportedFault)(nil)).Elem()
 56871  }
 56872  
 56873  // A NotSupportedHostFault occurs when the host is of a type
 56874  // that is not supported.
 56875  type NotSupportedHost struct {
 56876  	HostConnectFault
 56877  
 56878  	// The name of the unsupported product if available;
 56879  	// for example, "VMware ESX Server".
 56880  	ProductName string `xml:"productName,omitempty" json:"productName,omitempty"`
 56881  	// The version of the unsupported product; for example, "1.5.2"
 56882  	ProductVersion string `xml:"productVersion,omitempty" json:"productVersion,omitempty"`
 56883  }
 56884  
 56885  func init() {
 56886  	t["NotSupportedHost"] = reflect.TypeOf((*NotSupportedHost)(nil)).Elem()
 56887  }
 56888  
 56889  type NotSupportedHostFault BaseNotSupportedHost
 56890  
 56891  func init() {
 56892  	t["NotSupportedHostFault"] = reflect.TypeOf((*NotSupportedHostFault)(nil)).Elem()
 56893  }
 56894  
 56895  // Base class for host checksum related faults
 56896  type NotSupportedHostForChecksum struct {
 56897  	VimFault
 56898  }
 56899  
 56900  func init() {
 56901  	t["NotSupportedHostForChecksum"] = reflect.TypeOf((*NotSupportedHostForChecksum)(nil)).Elem()
 56902  	minAPIVersionForType["NotSupportedHostForChecksum"] = "6.0"
 56903  }
 56904  
 56905  type NotSupportedHostForChecksumFault NotSupportedHostForChecksum
 56906  
 56907  func init() {
 56908  	t["NotSupportedHostForChecksumFault"] = reflect.TypeOf((*NotSupportedHostForChecksumFault)(nil)).Elem()
 56909  }
 56910  
 56911  // The host does not support vFlash feature.
 56912  type NotSupportedHostForVFlash struct {
 56913  	NotSupportedHost
 56914  
 56915  	// The name of the host.
 56916  	HostName string `xml:"hostName" json:"hostName"`
 56917  }
 56918  
 56919  func init() {
 56920  	t["NotSupportedHostForVFlash"] = reflect.TypeOf((*NotSupportedHostForVFlash)(nil)).Elem()
 56921  	minAPIVersionForType["NotSupportedHostForVFlash"] = "5.5"
 56922  }
 56923  
 56924  type NotSupportedHostForVFlashFault NotSupportedHostForVFlash
 56925  
 56926  func init() {
 56927  	t["NotSupportedHostForVFlashFault"] = reflect.TypeOf((*NotSupportedHostForVFlashFault)(nil)).Elem()
 56928  }
 56929  
 56930  // The host does not support VM Component Protection.
 56931  type NotSupportedHostForVmcp struct {
 56932  	NotSupportedHost
 56933  
 56934  	// The name of the host.
 56935  	HostName string `xml:"hostName" json:"hostName"`
 56936  }
 56937  
 56938  func init() {
 56939  	t["NotSupportedHostForVmcp"] = reflect.TypeOf((*NotSupportedHostForVmcp)(nil)).Elem()
 56940  	minAPIVersionForType["NotSupportedHostForVmcp"] = "6.0"
 56941  }
 56942  
 56943  type NotSupportedHostForVmcpFault NotSupportedHostForVmcp
 56944  
 56945  func init() {
 56946  	t["NotSupportedHostForVmcpFault"] = reflect.TypeOf((*NotSupportedHostForVmcpFault)(nil)).Elem()
 56947  }
 56948  
 56949  // The host does not support VM Component Protection.
 56950  type NotSupportedHostForVmemFile struct {
 56951  	NotSupportedHost
 56952  
 56953  	// The name of the host.
 56954  	HostName string `xml:"hostName" json:"hostName"`
 56955  }
 56956  
 56957  func init() {
 56958  	t["NotSupportedHostForVmemFile"] = reflect.TypeOf((*NotSupportedHostForVmemFile)(nil)).Elem()
 56959  	minAPIVersionForType["NotSupportedHostForVmemFile"] = "6.0"
 56960  }
 56961  
 56962  type NotSupportedHostForVmemFileFault NotSupportedHostForVmemFile
 56963  
 56964  func init() {
 56965  	t["NotSupportedHostForVmemFileFault"] = reflect.TypeOf((*NotSupportedHostForVmemFileFault)(nil)).Elem()
 56966  }
 56967  
 56968  // The host does not support VSAN.
 56969  type NotSupportedHostForVsan struct {
 56970  	NotSupportedHost
 56971  
 56972  	// The name of the host.
 56973  	HostName string `xml:"hostName" json:"hostName"`
 56974  }
 56975  
 56976  func init() {
 56977  	t["NotSupportedHostForVsan"] = reflect.TypeOf((*NotSupportedHostForVsan)(nil)).Elem()
 56978  	minAPIVersionForType["NotSupportedHostForVsan"] = "5.5"
 56979  }
 56980  
 56981  type NotSupportedHostForVsanFault NotSupportedHostForVsan
 56982  
 56983  func init() {
 56984  	t["NotSupportedHostForVsanFault"] = reflect.TypeOf((*NotSupportedHostForVsanFault)(nil)).Elem()
 56985  }
 56986  
 56987  // A NotSupportedHostInCluster fault occurs when the host does not support
 56988  // the necessary features to participate in the cluster.
 56989  type NotSupportedHostInCluster struct {
 56990  	NotSupportedHost
 56991  }
 56992  
 56993  func init() {
 56994  	t["NotSupportedHostInCluster"] = reflect.TypeOf((*NotSupportedHostInCluster)(nil)).Elem()
 56995  	minAPIVersionForType["NotSupportedHostInCluster"] = "4.0"
 56996  }
 56997  
 56998  type NotSupportedHostInClusterFault BaseNotSupportedHostInCluster
 56999  
 57000  func init() {
 57001  	t["NotSupportedHostInClusterFault"] = reflect.TypeOf((*NotSupportedHostInClusterFault)(nil)).Elem()
 57002  }
 57003  
 57004  // A NotSupportedHostInDvs fault occurs when the host does not support
 57005  // the necessary features to participate in the DVS.
 57006  type NotSupportedHostInDvs struct {
 57007  	NotSupportedHost
 57008  
 57009  	// The product spec of the DVS.
 57010  	//
 57011  	// This determines which host versions may
 57012  	// participate in the DVS; that information may be queried by using
 57013  	// `DistributedVirtualSwitchManager.QueryDvsCompatibleHostSpec`.
 57014  	SwitchProductSpec DistributedVirtualSwitchProductSpec `xml:"switchProductSpec" json:"switchProductSpec"`
 57015  }
 57016  
 57017  func init() {
 57018  	t["NotSupportedHostInDvs"] = reflect.TypeOf((*NotSupportedHostInDvs)(nil)).Elem()
 57019  	minAPIVersionForType["NotSupportedHostInDvs"] = "4.1"
 57020  }
 57021  
 57022  type NotSupportedHostInDvsFault NotSupportedHostInDvs
 57023  
 57024  func init() {
 57025  	t["NotSupportedHostInDvsFault"] = reflect.TypeOf((*NotSupportedHostInDvsFault)(nil)).Elem()
 57026  }
 57027  
 57028  // A NotSupportedHostInHACluster fault occurs when the host does not support
 57029  // the necessary features to participate in the HA cluster.
 57030  type NotSupportedHostInHACluster struct {
 57031  	NotSupportedHost
 57032  
 57033  	// The name of the host.
 57034  	HostName string `xml:"hostName" json:"hostName"`
 57035  	// The product build number of the host.
 57036  	Build string `xml:"build" json:"build"`
 57037  }
 57038  
 57039  func init() {
 57040  	t["NotSupportedHostInHACluster"] = reflect.TypeOf((*NotSupportedHostInHACluster)(nil)).Elem()
 57041  	minAPIVersionForType["NotSupportedHostInHACluster"] = "5.0"
 57042  }
 57043  
 57044  type NotSupportedHostInHAClusterFault NotSupportedHostInHACluster
 57045  
 57046  func init() {
 57047  	t["NotSupportedHostInHAClusterFault"] = reflect.TypeOf((*NotSupportedHostInHAClusterFault)(nil)).Elem()
 57048  }
 57049  
 57050  // The property value cannot be changed since it is not
 57051  // user configurable.
 57052  type NotUserConfigurableProperty struct {
 57053  	VAppPropertyFault
 57054  }
 57055  
 57056  func init() {
 57057  	t["NotUserConfigurableProperty"] = reflect.TypeOf((*NotUserConfigurableProperty)(nil)).Elem()
 57058  	minAPIVersionForType["NotUserConfigurableProperty"] = "4.0"
 57059  }
 57060  
 57061  type NotUserConfigurablePropertyFault NotUserConfigurableProperty
 57062  
 57063  func init() {
 57064  	t["NotUserConfigurablePropertyFault"] = reflect.TypeOf((*NotUserConfigurablePropertyFault)(nil)).Elem()
 57065  }
 57066  
 57067  // The `NsxHostVNicProfile` data object is the base object
 57068  // for host Virtual NIC connected to NSX logic switch subprofiles.
 57069  //
 57070  // If a profile plug-in defines additional policies or subprofiles, use the
 57071  // `ApplyProfile.policy` or `ApplyProfile.property`
 57072  // list to access the configuration data.
 57073  type NsxHostVNicProfile struct {
 57074  	ApplyProfile
 57075  
 57076  	// Linkable identifier.
 57077  	Key string `xml:"key" json:"key"`
 57078  	// IP address for the Virtual NIC belonging to a logic switch.
 57079  	IpConfig IpAddressProfile `xml:"ipConfig" json:"ipConfig"`
 57080  }
 57081  
 57082  func init() {
 57083  	t["NsxHostVNicProfile"] = reflect.TypeOf((*NsxHostVNicProfile)(nil)).Elem()
 57084  	minAPIVersionForType["NsxHostVNicProfile"] = "6.7"
 57085  }
 57086  
 57087  // The NumPortsProfile data object represents a
 57088  // subprofile for the number of ports for a
 57089  // virtual switch
 57090  type NumPortsProfile struct {
 57091  	ApplyProfile
 57092  }
 57093  
 57094  func init() {
 57095  	t["NumPortsProfile"] = reflect.TypeOf((*NumPortsProfile)(nil)).Elem()
 57096  	minAPIVersionForType["NumPortsProfile"] = "4.0"
 57097  }
 57098  
 57099  // The host's software does not support enough cores per socket to
 57100  // accommodate the virtual machine.
 57101  //
 57102  // This is always an error.
 57103  type NumVirtualCoresPerSocketNotSupported struct {
 57104  	VirtualHardwareCompatibilityIssue
 57105  
 57106  	// The maximum number of cores per socket supported on the host.
 57107  	MaxSupportedCoresPerSocketDest int32 `xml:"maxSupportedCoresPerSocketDest" json:"maxSupportedCoresPerSocketDest"`
 57108  	// The number of cores per socket in the virtual machine.
 57109  	NumCoresPerSocketVm int32 `xml:"numCoresPerSocketVm" json:"numCoresPerSocketVm"`
 57110  }
 57111  
 57112  func init() {
 57113  	t["NumVirtualCoresPerSocketNotSupported"] = reflect.TypeOf((*NumVirtualCoresPerSocketNotSupported)(nil)).Elem()
 57114  	minAPIVersionForType["NumVirtualCoresPerSocketNotSupported"] = "5.0"
 57115  }
 57116  
 57117  type NumVirtualCoresPerSocketNotSupportedFault NumVirtualCoresPerSocketNotSupported
 57118  
 57119  func init() {
 57120  	t["NumVirtualCoresPerSocketNotSupportedFault"] = reflect.TypeOf((*NumVirtualCoresPerSocketNotSupportedFault)(nil)).Elem()
 57121  }
 57122  
 57123  // This fault is thrown when the total number of virtual CPUs present or requested
 57124  // in virtual machines' configuration has exceeded the limit on the host.
 57125  type NumVirtualCpusExceedsLimit struct {
 57126  	InsufficientResourcesFault
 57127  
 57128  	// The maximum number of virtual CPUs supported on the host.
 57129  	MaxSupportedVcpus int32 `xml:"maxSupportedVcpus" json:"maxSupportedVcpus"`
 57130  }
 57131  
 57132  func init() {
 57133  	t["NumVirtualCpusExceedsLimit"] = reflect.TypeOf((*NumVirtualCpusExceedsLimit)(nil)).Elem()
 57134  	minAPIVersionForType["NumVirtualCpusExceedsLimit"] = "4.1"
 57135  }
 57136  
 57137  type NumVirtualCpusExceedsLimitFault NumVirtualCpusExceedsLimit
 57138  
 57139  func init() {
 57140  	t["NumVirtualCpusExceedsLimitFault"] = reflect.TypeOf((*NumVirtualCpusExceedsLimitFault)(nil)).Elem()
 57141  }
 57142  
 57143  // The number of virtual CPUs present or requested in the virtual machine's
 57144  // configuration is not supported for a specific feature.
 57145  type NumVirtualCpusIncompatible struct {
 57146  	VmConfigFault
 57147  
 57148  	// The reason for the incompatibility.
 57149  	//
 57150  	// See `NumVirtualCpusIncompatibleReason_enum` for valid values.
 57151  	Reason string `xml:"reason" json:"reason"`
 57152  	// The number of virtual CPUs in the virtual machine.
 57153  	NumCpu int32 `xml:"numCpu" json:"numCpu"`
 57154  }
 57155  
 57156  func init() {
 57157  	t["NumVirtualCpusIncompatible"] = reflect.TypeOf((*NumVirtualCpusIncompatible)(nil)).Elem()
 57158  	minAPIVersionForType["NumVirtualCpusIncompatible"] = "4.0"
 57159  }
 57160  
 57161  type NumVirtualCpusIncompatibleFault NumVirtualCpusIncompatible
 57162  
 57163  func init() {
 57164  	t["NumVirtualCpusIncompatibleFault"] = reflect.TypeOf((*NumVirtualCpusIncompatibleFault)(nil)).Elem()
 57165  }
 57166  
 57167  // The host's software does not support enough virtual CPUs to
 57168  // accommodate the virtual machine.
 57169  //
 57170  // This is always an error.
 57171  type NumVirtualCpusNotSupported struct {
 57172  	VirtualHardwareCompatibilityIssue
 57173  
 57174  	// The maximum number of virtual CPUs supported on the host.
 57175  	MaxSupportedVcpusDest int32 `xml:"maxSupportedVcpusDest" json:"maxSupportedVcpusDest"`
 57176  	// The number of virtual CPUs in the virtual machine.
 57177  	NumCpuVm int32 `xml:"numCpuVm" json:"numCpuVm"`
 57178  }
 57179  
 57180  func init() {
 57181  	t["NumVirtualCpusNotSupported"] = reflect.TypeOf((*NumVirtualCpusNotSupported)(nil)).Elem()
 57182  }
 57183  
 57184  type NumVirtualCpusNotSupportedFault NumVirtualCpusNotSupported
 57185  
 57186  func init() {
 57187  	t["NumVirtualCpusNotSupportedFault"] = reflect.TypeOf((*NumVirtualCpusNotSupportedFault)(nil)).Elem()
 57188  }
 57189  
 57190  // The class that describe an integer range.
 57191  type NumericRange struct {
 57192  	DynamicData
 57193  
 57194  	// The starting number.
 57195  	Start int32 `xml:"start" json:"start"`
 57196  	// The ending number (inclusive).
 57197  	End int32 `xml:"end" json:"end"`
 57198  }
 57199  
 57200  func init() {
 57201  	t["NumericRange"] = reflect.TypeOf((*NumericRange)(nil)).Elem()
 57202  	minAPIVersionForType["NumericRange"] = "4.0"
 57203  }
 57204  
 57205  // Get detailed information of a nvdimm
 57206  type NvdimmDimmInfo struct {
 57207  	DynamicData
 57208  
 57209  	// Unique device identifier
 57210  	DimmHandle int32 `xml:"dimmHandle" json:"dimmHandle"`
 57211  	// Health status of nvdimm.
 57212  	//
 57213  	// `NvdimmHealthInfo`
 57214  	HealthInfo NvdimmHealthInfo `xml:"healthInfo" json:"healthInfo"`
 57215  	// Total capacity of NVDIMM in bytes
 57216  	TotalCapacity int64 `xml:"totalCapacity" json:"totalCapacity"`
 57217  	// Total persistent capacity in DIMM (in bytes)
 57218  	PersistentCapacity int64 `xml:"persistentCapacity" json:"persistentCapacity"`
 57219  	// Persistent Capacity in DIMM currently not allocated
 57220  	AvailablePersistentCapacity int64 `xml:"availablePersistentCapacity" json:"availablePersistentCapacity"`
 57221  	// Total volatile capacity in DIMM (in bytes)
 57222  	VolatileCapacity int64 `xml:"volatileCapacity" json:"volatileCapacity"`
 57223  	// Volatile capacity in DIMM currently not allocated
 57224  	AvailableVolatileCapacity int64 `xml:"availableVolatileCapacity" json:"availableVolatileCapacity"`
 57225  	// Total block capacity in DIMM (in bytes)
 57226  	BlockCapacity int64 `xml:"blockCapacity" json:"blockCapacity"`
 57227  	// NVDIMM region information.
 57228  	//
 57229  	// List of regions in the NVDIMM. These regions may or maynot
 57230  	// be a part of an interleave set.
 57231  	RegionInfo []NvdimmRegionInfo `xml:"regionInfo,omitempty" json:"regionInfo,omitempty"`
 57232  	// NVDIMM Representation string which is a sequence of
 57233  	// numbers to uniquely identify the DIMM.
 57234  	RepresentationString string `xml:"representationString" json:"representationString"`
 57235  }
 57236  
 57237  func init() {
 57238  	t["NvdimmDimmInfo"] = reflect.TypeOf((*NvdimmDimmInfo)(nil)).Elem()
 57239  	minAPIVersionForType["NvdimmDimmInfo"] = "6.7"
 57240  }
 57241  
 57242  // A unique identifier used for namespaces
 57243  type NvdimmGuid struct {
 57244  	DynamicData
 57245  
 57246  	// Universally unique identifier in string format
 57247  	Uuid string `xml:"uuid" json:"uuid"`
 57248  }
 57249  
 57250  func init() {
 57251  	t["NvdimmGuid"] = reflect.TypeOf((*NvdimmGuid)(nil)).Elem()
 57252  	minAPIVersionForType["NvdimmGuid"] = "6.7"
 57253  }
 57254  
 57255  // \\brief NVDIMM health information
 57256  type NvdimmHealthInfo struct {
 57257  	DynamicData
 57258  
 57259  	// Device health status.
 57260  	HealthStatus string `xml:"healthStatus" json:"healthStatus"`
 57261  	// Health status description.
 57262  	HealthInformation string `xml:"healthInformation" json:"healthInformation"`
 57263  	// State flag information.
 57264  	//
 57265  	// This information is the cumulation of state flags of all the
 57266  	// NVDIMM region state flags. It must be one or more of
 57267  	// `NvdimmNvdimmHealthInfoState_enum`
 57268  	StateFlagInfo []string `xml:"stateFlagInfo,omitempty" json:"stateFlagInfo,omitempty"`
 57269  	// Current Nvdimm temperature in degree Celsius.
 57270  	DimmTemperature int32 `xml:"dimmTemperature" json:"dimmTemperature"`
 57271  	// Nvdimm temperature threshold.
 57272  	//
 57273  	// Default value is 0, indicating threshold has not reached,
 57274  	// if set to 1, reached threshold limit.
 57275  	DimmTemperatureThreshold int32 `xml:"dimmTemperatureThreshold" json:"dimmTemperatureThreshold"`
 57276  	// Percentage of spare capavity as a percentage of
 57277  	// factory configured space (valid range 0 to 100)
 57278  	SpareBlocksPercentage int32 `xml:"spareBlocksPercentage" json:"spareBlocksPercentage"`
 57279  	// Spare block threshold.
 57280  	//
 57281  	// Default value is 0, indicating threshold has not reached,
 57282  	// if set to 1, reached threshold limit.
 57283  	SpareBlockThreshold int32 `xml:"spareBlockThreshold" json:"spareBlockThreshold"`
 57284  	// Lifespan of Nvdimm as percentage.
 57285  	//
 57286  	// 100% = Warranted life span has reached.
 57287  	DimmLifespanPercentage int32 `xml:"dimmLifespanPercentage" json:"dimmLifespanPercentage"`
 57288  	// Energy source current temperature in degree Celsius.
 57289  	//
 57290  	// Default value is 0, indicating there is no
 57291  	// energy source for these nvdimms.
 57292  	EsTemperature int32 `xml:"esTemperature,omitempty" json:"esTemperature,omitempty"`
 57293  	// Energy source temperature threshold.
 57294  	//
 57295  	// Default value is 0, indicating threshold has not reached,
 57296  	// if set to 1, reached threshold limit.
 57297  	EsTemperatureThreshold int32 `xml:"esTemperatureThreshold,omitempty" json:"esTemperatureThreshold,omitempty"`
 57298  	// Lifespan of Energy source as percentage.
 57299  	//
 57300  	// 100% = Warranted life span has reached.
 57301  	// Default value is 0, indicating there is no energy
 57302  	// source.
 57303  	EsLifespanPercentage int32 `xml:"esLifespanPercentage,omitempty" json:"esLifespanPercentage,omitempty"`
 57304  }
 57305  
 57306  func init() {
 57307  	t["NvdimmHealthInfo"] = reflect.TypeOf((*NvdimmHealthInfo)(nil)).Elem()
 57308  	minAPIVersionForType["NvdimmHealthInfo"] = "6.7"
 57309  }
 57310  
 57311  // Characteristics of an interleave set of a NVDIMM
 57312  type NvdimmInterleaveSetInfo struct {
 57313  	DynamicData
 57314  
 57315  	// Unique set ID
 57316  	SetId int32 `xml:"setId" json:"setId"`
 57317  	// Volatile or persistent interleave set.
 57318  	//
 57319  	// Must be one of the values of
 57320  	// `NvdimmRangeType_enum`
 57321  	RangeType string `xml:"rangeType" json:"rangeType"`
 57322  	// Start address of range
 57323  	BaseAddress int64 `xml:"baseAddress" json:"baseAddress"`
 57324  	// Length of range in bytes
 57325  	Size int64 `xml:"size" json:"size"`
 57326  	// Capacity currently not allocated to namespace in bytes
 57327  	AvailableSize int64 `xml:"availableSize" json:"availableSize"`
 57328  	// List of nvdimms contributing to this interleave set
 57329  	DeviceList []int32 `xml:"deviceList,omitempty" json:"deviceList,omitempty"`
 57330  	// State of interleave set.
 57331  	//
 57332  	// Must be one of the values in
 57333  	// `NvdimmInterleaveSetState_enum`
 57334  	State string `xml:"state" json:"state"`
 57335  }
 57336  
 57337  func init() {
 57338  	t["NvdimmInterleaveSetInfo"] = reflect.TypeOf((*NvdimmInterleaveSetInfo)(nil)).Elem()
 57339  	minAPIVersionForType["NvdimmInterleaveSetInfo"] = "6.7"
 57340  }
 57341  
 57342  // Deprecated as of vSphere 6.7u1, use PMemNamespaceCreateReq.
 57343  //
 57344  // Arguments for creating a namespace.
 57345  type NvdimmNamespaceCreateSpec struct {
 57346  	DynamicData
 57347  
 57348  	// Friendly name of the namespace to be created.
 57349  	//
 57350  	// A friendly name can be provided by user to assosiate a name to
 57351  	// the created namespace, but such a name is not mandatory and is
 57352  	// empty string by default.
 57353  	FriendlyName string `xml:"friendlyName,omitempty" json:"friendlyName,omitempty"`
 57354  	// Size of block in the namespace.
 57355  	//
 57356  	// For persistent region type, block size is one.
 57357  	// For block region, block size represents one of the logical block sizes
 57358  	// of 512, 4096 etc.
 57359  	BlockSize int64 `xml:"blockSize" json:"blockSize"`
 57360  	// Number of blocks in the namespace.
 57361  	//
 57362  	// For persistent region type, blockCount is the size of persistent
 57363  	// region in bytes.
 57364  	// For block region type, block count represent number of bytes per
 57365  	// block size.
 57366  	BlockCount int64 `xml:"blockCount" json:"blockCount"`
 57367  	// Type of the namespace to be created - block or persistent.
 57368  	//
 57369  	// Must be one of the values in
 57370  	// `NvdimmNamespaceType_enum`
 57371  	Type string `xml:"type" json:"type"`
 57372  	// This identifier is the interleave set ID if the namespace
 57373  	// is being used in persistent mode.
 57374  	//
 57375  	// If in block mode, this
 57376  	// is a device handle.
 57377  	LocationID int32 `xml:"locationID" json:"locationID"`
 57378  }
 57379  
 57380  func init() {
 57381  	t["NvdimmNamespaceCreateSpec"] = reflect.TypeOf((*NvdimmNamespaceCreateSpec)(nil)).Elem()
 57382  	minAPIVersionForType["NvdimmNamespaceCreateSpec"] = "6.7"
 57383  }
 57384  
 57385  // Arguments for deleting a namespace
 57386  type NvdimmNamespaceDeleteSpec struct {
 57387  	DynamicData
 57388  
 57389  	// Universally unique identifier of the namespace to be deleted
 57390  	Uuid string `xml:"uuid" json:"uuid"`
 57391  }
 57392  
 57393  func init() {
 57394  	t["NvdimmNamespaceDeleteSpec"] = reflect.TypeOf((*NvdimmNamespaceDeleteSpec)(nil)).Elem()
 57395  	minAPIVersionForType["NvdimmNamespaceDeleteSpec"] = "6.7"
 57396  }
 57397  
 57398  // Detailed information about a particular namespace.
 57399  type NvdimmNamespaceDetails struct {
 57400  	DynamicData
 57401  
 57402  	// Universally unique identifier assigned to namespace
 57403  	// in string format
 57404  	Uuid string `xml:"uuid" json:"uuid"`
 57405  	// Human readable name of namespace
 57406  	FriendlyName string `xml:"friendlyName" json:"friendlyName"`
 57407  	// Size of namespace in bytes.
 57408  	Size int64 `xml:"size" json:"size"`
 57409  	// Type of the namespace to be created - block or persistent.
 57410  	//
 57411  	// Must be one of the values in
 57412  	// `NvdimmNamespaceType_enum`
 57413  	Type string `xml:"type" json:"type"`
 57414  	// Health status of DIMM(s) part of the namespace.
 57415  	//
 57416  	// Must be one of the values of
 57417  	// `NvdimmNamespaceDetailsHealthStatus_enum`
 57418  	NamespaceHealthStatus string `xml:"namespaceHealthStatus" json:"namespaceHealthStatus"`
 57419  	// The interleave set ID of the namespace.
 57420  	InterleavesetID int32 `xml:"interleavesetID" json:"interleavesetID"`
 57421  	// State of namespace.
 57422  	//
 57423  	// Must be one of
 57424  	// `NvdimmNamespaceDetailsState_enum`
 57425  	State string `xml:"state" json:"state"`
 57426  }
 57427  
 57428  func init() {
 57429  	t["NvdimmNamespaceDetails"] = reflect.TypeOf((*NvdimmNamespaceDetails)(nil)).Elem()
 57430  	minAPIVersionForType["NvdimmNamespaceDetails"] = "6.7.1"
 57431  }
 57432  
 57433  // Deprecated as of vSphere 6.7u1, use NamespaceDetails.
 57434  //
 57435  // Detailed information about a particular namespace.
 57436  type NvdimmNamespaceInfo struct {
 57437  	DynamicData
 57438  
 57439  	// Universally unique identifier assigned to namespace
 57440  	// in string format
 57441  	Uuid string `xml:"uuid" json:"uuid"`
 57442  	// Friendly name of namespace
 57443  	FriendlyName string `xml:"friendlyName" json:"friendlyName"`
 57444  	// Size of logical block size.
 57445  	//
 57446  	// For persistent region type, block size is one.
 57447  	// For block region, block size represents one of the logical block sizes
 57448  	// of 512, 4096 etc.
 57449  	BlockSize int64 `xml:"blockSize" json:"blockSize"`
 57450  	// Number of blocks in the namespace.
 57451  	//
 57452  	// For persistent region type, blockCount is the size of persistent
 57453  	// region in bytes.
 57454  	// For block region type, block count represent number of bytes per
 57455  	// block size.
 57456  	BlockCount int64 `xml:"blockCount" json:"blockCount"`
 57457  	// Type of the namespace to be created - block or persistent.
 57458  	//
 57459  	// Must be one of the values in
 57460  	// `NvdimmNamespaceType_enum`
 57461  	Type string `xml:"type" json:"type"`
 57462  	// Health status of DIMM(s) part of the namespace.
 57463  	//
 57464  	// Must be one of the values of
 57465  	// `NvdimmNamespaceHealthStatus_enum`
 57466  	NamespaceHealthStatus string `xml:"namespaceHealthStatus" json:"namespaceHealthStatus"`
 57467  	// This identifier is the interleave set ID if this namespace
 57468  	// is being used in persistent mode.
 57469  	//
 57470  	// If in block mode, this
 57471  	// is a nvdimm device handle.
 57472  	LocationID int32 `xml:"locationID" json:"locationID"`
 57473  	// State of namespace.
 57474  	//
 57475  	// Must be one of
 57476  	// `NvdimmNamespaceState_enum`
 57477  	State string `xml:"state" json:"state"`
 57478  }
 57479  
 57480  func init() {
 57481  	t["NvdimmNamespaceInfo"] = reflect.TypeOf((*NvdimmNamespaceInfo)(nil)).Elem()
 57482  	minAPIVersionForType["NvdimmNamespaceInfo"] = "6.7"
 57483  }
 57484  
 57485  // Arguments for creating a persistent memory mode namespace
 57486  type NvdimmPMemNamespaceCreateSpec struct {
 57487  	DynamicData
 57488  
 57489  	// Friendly name of the namespace to be created.
 57490  	//
 57491  	// A friendly name can be provided by user to associate a name to
 57492  	// the created namespace, but such a name is not mandatory and is
 57493  	// empty string by default.
 57494  	FriendlyName string `xml:"friendlyName,omitempty" json:"friendlyName,omitempty"`
 57495  	// Size of the namespace in bytes.
 57496  	Size int64 `xml:"size" json:"size"`
 57497  	// The interleave set ID of the namespace.
 57498  	InterleavesetID int32 `xml:"interleavesetID" json:"interleavesetID"`
 57499  }
 57500  
 57501  func init() {
 57502  	t["NvdimmPMemNamespaceCreateSpec"] = reflect.TypeOf((*NvdimmPMemNamespaceCreateSpec)(nil)).Elem()
 57503  	minAPIVersionForType["NvdimmPMemNamespaceCreateSpec"] = "6.7.1"
 57504  }
 57505  
 57506  // \\brief NVDIMM region information.
 57507  //
 57508  // This represents a region which is a part of NVDIMM.
 57509  type NvdimmRegionInfo struct {
 57510  	DynamicData
 57511  
 57512  	// NVDIMM region ID
 57513  	RegionId int32 `xml:"regionId" json:"regionId"`
 57514  	// Interleave set ID.
 57515  	//
 57516  	// Interleave set to which this region belongs. A value
 57517  	// of 0 indicates that this region is not a part of any
 57518  	// interleave set.
 57519  	SetId int32 `xml:"setId" json:"setId"`
 57520  	// Type of region.
 57521  	//
 57522  	// Must be one of the values of
 57523  	// `NvdimmRangeType_enum`
 57524  	RangeType string `xml:"rangeType" json:"rangeType"`
 57525  	// Region start address.
 57526  	//
 57527  	// This represents the address within the NVDIMM to which this
 57528  	// NVDIMM region belongs (Dimm physical address).
 57529  	// If `NvdimmRegionInfo.setId` is 0, this field is not valid.
 57530  	StartAddr int64 `xml:"startAddr" json:"startAddr"`
 57531  	// Size of region in bytes.
 57532  	//
 57533  	// If this region is part of interleave set (represented by non zero
 57534  	// `NvdimmRegionInfo.setId`) and the region is interleaved across
 57535  	// multiple dimms (represented by more that one element in
 57536  	// `NvdimmInterleaveSetInfo.deviceList` for assosiated set id
 57537  	// `NvdimmRegionInfo.setId`), this size represents part of the
 57538  	// interleave set size - (total interleave set size / number
 57539  	// of dimms in `NvdimmInterleaveSetInfo.deviceList`).
 57540  	// Example: If Interleave set with set id 5, has a size of 2TB
 57541  	// and has 2 NVDIMMs contributing to it (size of
 57542  	// `NvdimmInterleaveSetInfo.deviceList` is 2), then this size
 57543  	// parameter is 2TB/2 = 1TB.
 57544  	// If `NvdimmRegionInfo.setId` is 0, this field is not valid.
 57545  	Size int64 `xml:"size" json:"size"`
 57546  	// Offset of nvdimm within interleave set.
 57547  	//
 57548  	// This represents offset with respect to base address
 57549  	// in `NvdimmInterleaveSetInfo.baseAddress`.
 57550  	// If `NvdimmRegionInfo.setId` is 0, this field is not valid.
 57551  	Offset int64 `xml:"offset" json:"offset"`
 57552  }
 57553  
 57554  func init() {
 57555  	t["NvdimmRegionInfo"] = reflect.TypeOf((*NvdimmRegionInfo)(nil)).Elem()
 57556  	minAPIVersionForType["NvdimmRegionInfo"] = "6.7"
 57557  }
 57558  
 57559  // \\brief Get summary of nvdimm
 57560  type NvdimmSummary struct {
 57561  	DynamicData
 57562  
 57563  	// Number of NVDIMMs in the system
 57564  	NumDimms int32 `xml:"numDimms" json:"numDimms"`
 57565  	// Summary of health status of all NVDIMMs in the system.
 57566  	HealthStatus string `xml:"healthStatus" json:"healthStatus"`
 57567  	// Total capacity of all NVDIMMs in bytes
 57568  	TotalCapacity int64 `xml:"totalCapacity" json:"totalCapacity"`
 57569  	// Persistent region capacity in bytes
 57570  	PersistentCapacity int64 `xml:"persistentCapacity" json:"persistentCapacity"`
 57571  	// Block region capacity in bytes
 57572  	BlockCapacity int64 `xml:"blockCapacity" json:"blockCapacity"`
 57573  	// Capacity not covered by namespace in bytes
 57574  	AvailableCapacity int64 `xml:"availableCapacity" json:"availableCapacity"`
 57575  	// Total number of interleave sets in the system
 57576  	NumInterleavesets int32 `xml:"numInterleavesets" json:"numInterleavesets"`
 57577  	// Total number of namespaces in the system
 57578  	NumNamespaces int32 `xml:"numNamespaces" json:"numNamespaces"`
 57579  }
 57580  
 57581  func init() {
 57582  	t["NvdimmSummary"] = reflect.TypeOf((*NvdimmSummary)(nil)).Elem()
 57583  	minAPIVersionForType["NvdimmSummary"] = "6.7"
 57584  }
 57585  
 57586  // This data object represents Non-Volatile DIMMs host
 57587  // configuration.
 57588  type NvdimmSystemInfo struct {
 57589  	DynamicData
 57590  
 57591  	// Host NVDIMM system summary.
 57592  	//
 57593  	// Summary is unset if the system does not support PMem feature.
 57594  	Summary *NvdimmSummary `xml:"summary,omitempty" json:"summary,omitempty"`
 57595  	// List of NVDIMMs on the host.
 57596  	//
 57597  	// NVDIMM list unset if the system does not support PMem feature.
 57598  	Dimms []int32 `xml:"dimms,omitempty" json:"dimms,omitempty"`
 57599  	// List of DIMM information of all NVDIMMs on the host.
 57600  	//
 57601  	// Dimm information is unset if the system does not support PMem feature.
 57602  	DimmInfo []NvdimmDimmInfo `xml:"dimmInfo,omitempty" json:"dimmInfo,omitempty"`
 57603  	// List of NVDIMM Interleave sets on the host.
 57604  	//
 57605  	// Interleave set is unset if the system does not support PMem feature.
 57606  	InterleaveSet []int32 `xml:"interleaveSet,omitempty" json:"interleaveSet,omitempty"`
 57607  	// List of information of all NVDIMM interleave sets on the host.
 57608  	//
 57609  	// Interleave set information is unset if the system does not
 57610  	// support PMem feature.
 57611  	ISetInfo []NvdimmInterleaveSetInfo `xml:"iSetInfo,omitempty" json:"iSetInfo,omitempty"`
 57612  	// List of NVDIMM namespaces on the host.
 57613  	//
 57614  	// Namespace is unset if the system does not support PMem feature.
 57615  	Namespace []NvdimmGuid `xml:"namespace,omitempty" json:"namespace,omitempty"`
 57616  	// Deprecated as of vSphere 6.7u1, use nsDetails.
 57617  	//
 57618  	// List of information of all NVDIMM namespaces on the host.
 57619  	//
 57620  	// Namespace information is unset if the system does not support
 57621  	// PMem feature.
 57622  	NsInfo []NvdimmNamespaceInfo `xml:"nsInfo,omitempty" json:"nsInfo,omitempty"`
 57623  	// List of details of all NVDIMM namespaces on the host.
 57624  	//
 57625  	// Namespace details is unset if the system does not support
 57626  	// PMem feature.
 57627  	NsDetails []NvdimmNamespaceDetails `xml:"nsDetails,omitempty" json:"nsDetails,omitempty" vim:"6.7.1"`
 57628  }
 57629  
 57630  func init() {
 57631  	t["NvdimmSystemInfo"] = reflect.TypeOf((*NvdimmSystemInfo)(nil)).Elem()
 57632  	minAPIVersionForType["NvdimmSystemInfo"] = "6.7"
 57633  }
 57634  
 57635  // The `ObjectContent` data object type contains the
 57636  // contents retrieved for a single managed object.
 57637  type ObjectContent struct {
 57638  	DynamicData
 57639  
 57640  	// Reference to the managed object that contains properties of interest.
 57641  	Obj ManagedObjectReference `xml:"obj" json:"obj"`
 57642  	// Set of name-value pairs for the properties of the managed object.
 57643  	PropSet []DynamicProperty `xml:"propSet,omitempty" json:"propSet,omitempty"`
 57644  	// Properties for which values could not be retrieved and the associated
 57645  	// fault.
 57646  	MissingSet []MissingProperty `xml:"missingSet,omitempty" json:"missingSet,omitempty"`
 57647  }
 57648  
 57649  func init() {
 57650  	t["ObjectContent"] = reflect.TypeOf((*ObjectContent)(nil)).Elem()
 57651  }
 57652  
 57653  // Within a `PropertyFilterSpec`, the `ObjectSpec` data object type specifies the managed
 57654  // object at which the filter begins to collect the managed object
 57655  // references and properties specified by the associated `PropertySpec` set.
 57656  //
 57657  // If the "skip" property is present
 57658  // and set to true, then the filter does not check to see if the starting
 57659  // object's type matches any of the types listed in the associated sets of
 57660  // `PropertySpec` data objects.
 57661  //
 57662  // If the `ObjectSpec.selectSet` property is
 57663  // present, then this specifies additional objects to filter. These objects
 57664  // are defined by one or more `SelectionSpec`
 57665  // objects.
 57666  type ObjectSpec struct {
 57667  	DynamicData
 57668  
 57669  	// Starting object.
 57670  	Obj ManagedObjectReference `xml:"obj" json:"obj"`
 57671  	// Flag to specify whether or not to report this managed object's
 57672  	// properties.
 57673  	//
 57674  	// If the flag is true, the filter will not report this
 57675  	// managed object's properties.
 57676  	Skip *bool `xml:"skip" json:"skip,omitempty"`
 57677  	// Set of selections to specify additional objects to filter.
 57678  	SelectSet []BaseSelectionSpec `xml:"selectSet,omitempty,typeattr" json:"selectSet,omitempty"`
 57679  }
 57680  
 57681  func init() {
 57682  	t["ObjectSpec"] = reflect.TypeOf((*ObjectSpec)(nil)).Elem()
 57683  }
 57684  
 57685  // The `ObjectUpdate` data object type contains
 57686  // information about changes to a particular managed object.
 57687  //
 57688  // We distinguish
 57689  // updates when an object is created, destroyed, or modified, as well as
 57690  // when the object enters or leaves the set of objects dynamically
 57691  // associated with a filter.
 57692  type ObjectUpdate struct {
 57693  	DynamicData
 57694  
 57695  	// Kind of update that caused the filter to report a change.
 57696  	Kind ObjectUpdateKind `xml:"kind" json:"kind"`
 57697  	// Reference to the managed object to which this update applies.
 57698  	Obj ManagedObjectReference `xml:"obj" json:"obj"`
 57699  	// Optional set of changes to the object.
 57700  	//
 57701  	// Present only if the "kind" is
 57702  	// either "modify" or "enter".
 57703  	ChangeSet []PropertyChange `xml:"changeSet,omitempty" json:"changeSet,omitempty"`
 57704  	// Properties whose value could not be retrieved and their associated
 57705  	// faults.
 57706  	//
 57707  	// Present only if the "kind" is either "modify" or "enter".
 57708  	MissingSet []MissingProperty `xml:"missingSet,omitempty" json:"missingSet,omitempty"`
 57709  }
 57710  
 57711  func init() {
 57712  	t["ObjectUpdate"] = reflect.TypeOf((*ObjectUpdate)(nil)).Elem()
 57713  }
 57714  
 57715  // The `OnceTaskScheduler` data object establishes the time for running
 57716  // a scheduled task only once.
 57717  type OnceTaskScheduler struct {
 57718  	TaskScheduler
 57719  
 57720  	// The time a task will run.
 57721  	//
 57722  	// If you do not set the time, it executes immediately.
 57723  	RunAt *time.Time `xml:"runAt" json:"runAt,omitempty"`
 57724  }
 57725  
 57726  func init() {
 57727  	t["OnceTaskScheduler"] = reflect.TypeOf((*OnceTaskScheduler)(nil)).Elem()
 57728  }
 57729  
 57730  // The data object representing the capabilities supported by the Opaque
 57731  // Network.
 57732  type OpaqueNetworkCapability struct {
 57733  	DynamicData
 57734  
 57735  	// Indicates whether network I/O control is supported for a network
 57736  	// adapter that connects to the opaque network.
 57737  	NetworkReservationSupported bool `xml:"networkReservationSupported" json:"networkReservationSupported"`
 57738  }
 57739  
 57740  func init() {
 57741  	t["OpaqueNetworkCapability"] = reflect.TypeOf((*OpaqueNetworkCapability)(nil)).Elem()
 57742  	minAPIVersionForType["OpaqueNetworkCapability"] = "6.5"
 57743  }
 57744  
 57745  // The summary of a opaque network.
 57746  //
 57747  // An object of this class is returned by the `Network.summary` property.
 57748  type OpaqueNetworkSummary struct {
 57749  	NetworkSummary
 57750  
 57751  	// The opaque network ID
 57752  	OpaqueNetworkId string `xml:"opaqueNetworkId" json:"opaqueNetworkId"`
 57753  	// The opaque network type
 57754  	OpaqueNetworkType string `xml:"opaqueNetworkType" json:"opaqueNetworkType"`
 57755  }
 57756  
 57757  func init() {
 57758  	t["OpaqueNetworkSummary"] = reflect.TypeOf((*OpaqueNetworkSummary)(nil)).Elem()
 57759  	minAPIVersionForType["OpaqueNetworkSummary"] = "5.5"
 57760  }
 57761  
 57762  // This class describes an opaque network that a device backing
 57763  // can attached to.
 57764  type OpaqueNetworkTargetInfo struct {
 57765  	VirtualMachineTargetInfo
 57766  
 57767  	// Information about the opaque network
 57768  	Network OpaqueNetworkSummary `xml:"network" json:"network"`
 57769  	// Indicates whether network bandwidth reservation is supported on
 57770  	// the opaque network
 57771  	NetworkReservationSupported *bool `xml:"networkReservationSupported" json:"networkReservationSupported,omitempty" vim:"6.0"`
 57772  }
 57773  
 57774  func init() {
 57775  	t["OpaqueNetworkTargetInfo"] = reflect.TypeOf((*OpaqueNetworkTargetInfo)(nil)).Elem()
 57776  	minAPIVersionForType["OpaqueNetworkTargetInfo"] = "5.5"
 57777  }
 57778  
 57779  // The `OpaqueSwitchProfile` data object represents opaque switch
 57780  // configuration for the host.
 57781  //
 57782  // If a profile plug-in defines policies or subprofiles, use the
 57783  // `ApplyProfile.policy` or `ApplyProfile.property`
 57784  // list to access the additional configuration data.
 57785  type OpaqueSwitchProfile struct {
 57786  	ApplyProfile
 57787  }
 57788  
 57789  func init() {
 57790  	t["OpaqueSwitchProfile"] = reflect.TypeOf((*OpaqueSwitchProfile)(nil)).Elem()
 57791  	minAPIVersionForType["OpaqueSwitchProfile"] = "7.0"
 57792  }
 57793  
 57794  type OpenInventoryViewFolder OpenInventoryViewFolderRequestType
 57795  
 57796  func init() {
 57797  	t["OpenInventoryViewFolder"] = reflect.TypeOf((*OpenInventoryViewFolder)(nil)).Elem()
 57798  }
 57799  
 57800  // The parameters of `InventoryView.OpenInventoryViewFolder`.
 57801  type OpenInventoryViewFolderRequestType struct {
 57802  	This ManagedObjectReference `xml:"_this" json:"-"`
 57803  	// An array of managed object references. Each array entry is a reference
 57804  	// to an entity to expand. Expands each entity in the
 57805  	// order given. If an entity is not in the current view,
 57806  	// expands the view as needed.
 57807  	//
 57808  	// Required privileges: System.View
 57809  	//
 57810  	// Refers instances of `ManagedEntity`.
 57811  	Entity []ManagedObjectReference `xml:"entity" json:"entity"`
 57812  }
 57813  
 57814  func init() {
 57815  	t["OpenInventoryViewFolderRequestType"] = reflect.TypeOf((*OpenInventoryViewFolderRequestType)(nil)).Elem()
 57816  }
 57817  
 57818  type OpenInventoryViewFolderResponse struct {
 57819  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 57820  }
 57821  
 57822  // An OperationDisabledByGuest exception is thrown when an
 57823  // operation fails because the guest operations agent has been configured to
 57824  // disable the operation.
 57825  type OperationDisabledByGuest struct {
 57826  	GuestOperationsFault
 57827  }
 57828  
 57829  func init() {
 57830  	t["OperationDisabledByGuest"] = reflect.TypeOf((*OperationDisabledByGuest)(nil)).Elem()
 57831  	minAPIVersionForType["OperationDisabledByGuest"] = "5.0"
 57832  }
 57833  
 57834  type OperationDisabledByGuestFault OperationDisabledByGuest
 57835  
 57836  func init() {
 57837  	t["OperationDisabledByGuestFault"] = reflect.TypeOf((*OperationDisabledByGuestFault)(nil)).Elem()
 57838  }
 57839  
 57840  // An OperationDisallowedOnHost is thrown if an operation is diasllowed
 57841  // on host when a direct connection is used.
 57842  //
 57843  // Examples for such operations include VM powering on / memory hot-plug
 57844  // which could potentially violate hard-enforcement licenses if allowed
 57845  // on host.
 57846  // The functionality these operations provide is still available, but only
 57847  // through calls to an external entity.
 57848  type OperationDisallowedOnHost struct {
 57849  	RuntimeFault
 57850  }
 57851  
 57852  func init() {
 57853  	t["OperationDisallowedOnHost"] = reflect.TypeOf((*OperationDisallowedOnHost)(nil)).Elem()
 57854  	minAPIVersionForType["OperationDisallowedOnHost"] = "5.0"
 57855  }
 57856  
 57857  type OperationDisallowedOnHostFault OperationDisallowedOnHost
 57858  
 57859  func init() {
 57860  	t["OperationDisallowedOnHostFault"] = reflect.TypeOf((*OperationDisallowedOnHostFault)(nil)).Elem()
 57861  }
 57862  
 57863  // An OperationNotSupportedByGuest exception is thrown when an
 57864  // operation fails because the guest OS does not support
 57865  // the operation (e.g., Registry manipulation in Linux guests.).
 57866  type OperationNotSupportedByGuest struct {
 57867  	GuestOperationsFault
 57868  }
 57869  
 57870  func init() {
 57871  	t["OperationNotSupportedByGuest"] = reflect.TypeOf((*OperationNotSupportedByGuest)(nil)).Elem()
 57872  	minAPIVersionForType["OperationNotSupportedByGuest"] = "5.0"
 57873  }
 57874  
 57875  type OperationNotSupportedByGuestFault OperationNotSupportedByGuest
 57876  
 57877  func init() {
 57878  	t["OperationNotSupportedByGuestFault"] = reflect.TypeOf((*OperationNotSupportedByGuestFault)(nil)).Elem()
 57879  }
 57880  
 57881  // Describes a user-defined option.
 57882  //
 57883  // The name of each option is identified by the
 57884  // "key" property, inherited from the `ElementDescription`
 57885  // data object type.
 57886  // You can indicate the property's position in a hierarchy by using a dot-separated
 57887  // notation. The string preceding the first dot is the top of the hierarchy. The
 57888  // hierarchy descends to a new sublevel with each dot.
 57889  // For example, "Ethernet.NetworkConnection.Bridged".
 57890  type OptionDef struct {
 57891  	ElementDescription
 57892  
 57893  	// The option type which defines allowed values.
 57894  	OptionType BaseOptionType `xml:"optionType,typeattr" json:"optionType"`
 57895  }
 57896  
 57897  func init() {
 57898  	t["OptionDef"] = reflect.TypeOf((*OptionDef)(nil)).Elem()
 57899  }
 57900  
 57901  // The `OptionProfile` data object encapsulates one advanced configuration.
 57902  //
 57903  // Use the `ApplyProfile.policy` list for access to configuration data
 57904  // for the option profile. Use the `ApplyProfile.property` list for access
 57905  // to subprofile configuration data, if any.
 57906  type OptionProfile struct {
 57907  	ApplyProfile
 57908  
 57909  	// Linkable identifier.
 57910  	Key string `xml:"key" json:"key"`
 57911  }
 57912  
 57913  func init() {
 57914  	t["OptionProfile"] = reflect.TypeOf((*OptionProfile)(nil)).Elem()
 57915  	minAPIVersionForType["OptionProfile"] = "4.0"
 57916  }
 57917  
 57918  // The base data object type for all options.
 57919  type OptionType struct {
 57920  	DynamicData
 57921  
 57922  	// The flag to indicate whether or not a user
 57923  	// can modify a value belonging to this option type.
 57924  	//
 57925  	// If
 57926  	// the flag is not set, the value can be modified.
 57927  	ValueIsReadonly *bool `xml:"valueIsReadonly" json:"valueIsReadonly,omitempty"`
 57928  }
 57929  
 57930  func init() {
 57931  	t["OptionType"] = reflect.TypeOf((*OptionType)(nil)).Elem()
 57932  }
 57933  
 57934  // Describes the key/value pair of a configured option.
 57935  type OptionValue struct {
 57936  	DynamicData
 57937  
 57938  	// The name of the option using dot notation to reflect the
 57939  	// option's position in a hierarchy.
 57940  	//
 57941  	// For example, you might
 57942  	// have an option called "Ethernet" and another option that is
 57943  	// a child of that called "Connection". In this case, the key
 57944  	// for the latter could be defined as "Ethernet.Connection"
 57945  	Key string `xml:"key" json:"key"`
 57946  	// The value of the option.
 57947  	//
 57948  	// The Any data object type enables you to
 57949  	// define any value for the option. Typically, however, the value
 57950  	// of an option is of type String or Integer.
 57951  	Value AnyType `xml:"value,typeattr" json:"value"`
 57952  }
 57953  
 57954  func init() {
 57955  	t["OptionValue"] = reflect.TypeOf((*OptionValue)(nil)).Elem()
 57956  }
 57957  
 57958  // A data object type that links multiple alarm expressions with OR operators.
 57959  type OrAlarmExpression struct {
 57960  	AlarmExpression
 57961  
 57962  	// List of alarm expressions that define the overall status of the alarm.
 57963  	//     - The state of the alarm expression is gray if all subexpressions are gray.
 57964  	//       Otherwise, gray subexpressions are ignored.
 57965  	//     - The state is red if any subexpression is red.
 57966  	//     - Otherwise, the state is yellow if any subexpression is yellow.
 57967  	//     - Otherwise, the state of the alarm expression is green.
 57968  	Expression []BaseAlarmExpression `xml:"expression,typeattr" json:"expression"`
 57969  }
 57970  
 57971  func init() {
 57972  	t["OrAlarmExpression"] = reflect.TypeOf((*OrAlarmExpression)(nil)).Elem()
 57973  }
 57974  
 57975  // Thrown if a parameter exceeds the acceptable range of values.
 57976  type OutOfBounds struct {
 57977  	VimFault
 57978  
 57979  	// This should be the name of the field that holds the allowed maximum
 57980  	// (for example, Host.capability.maxSupportedVMs).
 57981  	ArgumentName string `xml:"argumentName" json:"argumentName"`
 57982  }
 57983  
 57984  func init() {
 57985  	t["OutOfBounds"] = reflect.TypeOf((*OutOfBounds)(nil)).Elem()
 57986  }
 57987  
 57988  type OutOfBoundsFault OutOfBounds
 57989  
 57990  func init() {
 57991  	t["OutOfBoundsFault"] = reflect.TypeOf((*OutOfBoundsFault)(nil)).Elem()
 57992  }
 57993  
 57994  // The list of hosts that have the DVS configuration on the host
 57995  // diverged from that of the Virtual Center Server.
 57996  type OutOfSyncDvsHost struct {
 57997  	DvsEvent
 57998  
 57999  	// The host that went out of sync.
 58000  	HostOutOfSync []DvsOutOfSyncHostArgument `xml:"hostOutOfSync" json:"hostOutOfSync"`
 58001  }
 58002  
 58003  func init() {
 58004  	t["OutOfSyncDvsHost"] = reflect.TypeOf((*OutOfSyncDvsHost)(nil)).Elem()
 58005  	minAPIVersionForType["OutOfSyncDvsHost"] = "4.0"
 58006  }
 58007  
 58008  type OverwriteCustomizationSpec OverwriteCustomizationSpecRequestType
 58009  
 58010  func init() {
 58011  	t["OverwriteCustomizationSpec"] = reflect.TypeOf((*OverwriteCustomizationSpec)(nil)).Elem()
 58012  }
 58013  
 58014  // The parameters of `CustomizationSpecManager.OverwriteCustomizationSpec`.
 58015  type OverwriteCustomizationSpecRequestType struct {
 58016  	This ManagedObjectReference `xml:"_this" json:"-"`
 58017  	Item CustomizationSpecItem  `xml:"item" json:"item"`
 58018  }
 58019  
 58020  func init() {
 58021  	t["OverwriteCustomizationSpecRequestType"] = reflect.TypeOf((*OverwriteCustomizationSpecRequestType)(nil)).Elem()
 58022  }
 58023  
 58024  type OverwriteCustomizationSpecResponse struct {
 58025  }
 58026  
 58027  // An OVF descriptor Attribute base class.
 58028  type OvfAttribute struct {
 58029  	OvfInvalidPackage
 58030  
 58031  	// Element name where the attribute is defined
 58032  	ElementName string `xml:"elementName" json:"elementName"`
 58033  	// Attribute name
 58034  	AttributeName string `xml:"attributeName" json:"attributeName"`
 58035  }
 58036  
 58037  func init() {
 58038  	t["OvfAttribute"] = reflect.TypeOf((*OvfAttribute)(nil)).Elem()
 58039  	minAPIVersionForType["OvfAttribute"] = "4.0"
 58040  }
 58041  
 58042  type OvfAttributeFault BaseOvfAttribute
 58043  
 58044  func init() {
 58045  	t["OvfAttributeFault"] = reflect.TypeOf((*OvfAttributeFault)(nil)).Elem()
 58046  }
 58047  
 58048  type OvfConnectedDevice struct {
 58049  	OvfHardwareExport
 58050  }
 58051  
 58052  func init() {
 58053  	t["OvfConnectedDevice"] = reflect.TypeOf((*OvfConnectedDevice)(nil)).Elem()
 58054  }
 58055  
 58056  type OvfConnectedDeviceFault BaseOvfConnectedDevice
 58057  
 58058  func init() {
 58059  	t["OvfConnectedDeviceFault"] = reflect.TypeOf((*OvfConnectedDeviceFault)(nil)).Elem()
 58060  }
 58061  
 58062  type OvfConnectedDeviceFloppy struct {
 58063  	OvfConnectedDevice
 58064  
 58065  	// The filename of the floppy image
 58066  	Filename string `xml:"filename" json:"filename"`
 58067  }
 58068  
 58069  func init() {
 58070  	t["OvfConnectedDeviceFloppy"] = reflect.TypeOf((*OvfConnectedDeviceFloppy)(nil)).Elem()
 58071  }
 58072  
 58073  type OvfConnectedDeviceFloppyFault OvfConnectedDeviceFloppy
 58074  
 58075  func init() {
 58076  	t["OvfConnectedDeviceFloppyFault"] = reflect.TypeOf((*OvfConnectedDeviceFloppyFault)(nil)).Elem()
 58077  }
 58078  
 58079  type OvfConnectedDeviceIso struct {
 58080  	OvfConnectedDevice
 58081  
 58082  	// The filename of the ISO
 58083  	Filename string `xml:"filename" json:"filename"`
 58084  }
 58085  
 58086  func init() {
 58087  	t["OvfConnectedDeviceIso"] = reflect.TypeOf((*OvfConnectedDeviceIso)(nil)).Elem()
 58088  }
 58089  
 58090  type OvfConnectedDeviceIsoFault OvfConnectedDeviceIso
 58091  
 58092  func init() {
 58093  	t["OvfConnectedDeviceIsoFault"] = reflect.TypeOf((*OvfConnectedDeviceIsoFault)(nil)).Elem()
 58094  }
 58095  
 58096  // A base fault for Ovf descriptor constraints
 58097  type OvfConstraint struct {
 58098  	OvfInvalidPackage
 58099  
 58100  	// The name of the element
 58101  	Name string `xml:"name" json:"name"`
 58102  }
 58103  
 58104  func init() {
 58105  	t["OvfConstraint"] = reflect.TypeOf((*OvfConstraint)(nil)).Elem()
 58106  	minAPIVersionForType["OvfConstraint"] = "4.1"
 58107  }
 58108  
 58109  type OvfConstraintFault BaseOvfConstraint
 58110  
 58111  func init() {
 58112  	t["OvfConstraintFault"] = reflect.TypeOf((*OvfConstraintFault)(nil)).Elem()
 58113  }
 58114  
 58115  // Superclass for all faults that can be thrown during the callback to an OVF
 58116  // consumer.
 58117  //
 58118  // The `MethodFault.faultCause` gives details about what went
 58119  // wrong.
 58120  type OvfConsumerCallbackFault struct {
 58121  	OvfFault
 58122  
 58123  	// The OVF consumer's extension key.
 58124  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 58125  	// The OVF consumer's extension name.
 58126  	ExtensionName string `xml:"extensionName" json:"extensionName"`
 58127  }
 58128  
 58129  func init() {
 58130  	t["OvfConsumerCallbackFault"] = reflect.TypeOf((*OvfConsumerCallbackFault)(nil)).Elem()
 58131  	minAPIVersionForType["OvfConsumerCallbackFault"] = "5.0"
 58132  }
 58133  
 58134  type OvfConsumerCallbackFaultFault BaseOvfConsumerCallbackFault
 58135  
 58136  func init() {
 58137  	t["OvfConsumerCallbackFaultFault"] = reflect.TypeOf((*OvfConsumerCallbackFaultFault)(nil)).Elem()
 58138  }
 58139  
 58140  // A fault type indicating that network communication with an OVF consumer failed.
 58141  type OvfConsumerCommunicationError struct {
 58142  	OvfConsumerCallbackFault
 58143  
 58144  	// The network library error message.
 58145  	Description string `xml:"description" json:"description"`
 58146  }
 58147  
 58148  func init() {
 58149  	t["OvfConsumerCommunicationError"] = reflect.TypeOf((*OvfConsumerCommunicationError)(nil)).Elem()
 58150  	minAPIVersionForType["OvfConsumerCommunicationError"] = "5.0"
 58151  }
 58152  
 58153  type OvfConsumerCommunicationErrorFault OvfConsumerCommunicationError
 58154  
 58155  func init() {
 58156  	t["OvfConsumerCommunicationErrorFault"] = reflect.TypeOf((*OvfConsumerCommunicationErrorFault)(nil)).Elem()
 58157  }
 58158  
 58159  // Localized fault that may be thrown by an OVF consumer.
 58160  type OvfConsumerFault struct {
 58161  	OvfConsumerCallbackFault
 58162  
 58163  	// An error code that uniquely describes the fault within this extension.
 58164  	ErrorKey string `xml:"errorKey" json:"errorKey"`
 58165  	// The error message, localized by the OVF consumer
 58166  	Message string `xml:"message" json:"message"`
 58167  	// Additional parameters for this fault
 58168  	Params []KeyValue `xml:"params,omitempty" json:"params,omitempty"`
 58169  }
 58170  
 58171  func init() {
 58172  	t["OvfConsumerFault"] = reflect.TypeOf((*OvfConsumerFault)(nil)).Elem()
 58173  	minAPIVersionForType["OvfConsumerFault"] = "5.0"
 58174  }
 58175  
 58176  type OvfConsumerFaultFault OvfConsumerFault
 58177  
 58178  func init() {
 58179  	t["OvfConsumerFaultFault"] = reflect.TypeOf((*OvfConsumerFaultFault)(nil)).Elem()
 58180  }
 58181  
 58182  // A fault type indicating that the XML of a section appended by an OVF consumer was
 58183  // invalid.
 58184  type OvfConsumerInvalidSection struct {
 58185  	OvfConsumerCallbackFault
 58186  
 58187  	// The line number in the section on which the error was found.
 58188  	LineNumber int32 `xml:"lineNumber" json:"lineNumber"`
 58189  	// The XML parser error message.
 58190  	Description string `xml:"description" json:"description"`
 58191  }
 58192  
 58193  func init() {
 58194  	t["OvfConsumerInvalidSection"] = reflect.TypeOf((*OvfConsumerInvalidSection)(nil)).Elem()
 58195  	minAPIVersionForType["OvfConsumerInvalidSection"] = "5.0"
 58196  }
 58197  
 58198  type OvfConsumerInvalidSectionFault OvfConsumerInvalidSection
 58199  
 58200  func init() {
 58201  	t["OvfConsumerInvalidSectionFault"] = reflect.TypeOf((*OvfConsumerInvalidSectionFault)(nil)).Elem()
 58202  }
 58203  
 58204  // A node in the OVF section tree.
 58205  //
 58206  // This class represents a node on which OVF sections can be defined. The possible
 58207  // node types are OstNodeType.envelope, OstNodeType.virtualSystem or
 58208  // OstNodeType.virtualSystemCollection, corresponding to the identically named OVF
 58209  // element types.
 58210  //
 58211  // Since the node contains a list of children, it can also be regarded as a tree. This
 58212  // tree mirrors the structure of the OVF descriptor. It is provided to OVF consumers
 58213  // as a more convenient way to navigate and modify the OVF than by working directly on
 58214  // the XML.
 58215  type OvfConsumerOstNode struct {
 58216  	DynamicData
 58217  
 58218  	// The OVF id of the Content (VirtualSystem or VirtualSystemCollection)
 58219  	// element.
 58220  	//
 58221  	// Empty on the envelope node.
 58222  	Id string `xml:"id" json:"id"`
 58223  	// The type of the node.
 58224  	//
 58225  	// Possible values are defined in the OstNodeType enum.
 58226  	//
 58227  	// Since the OstNode tree structure mirrors the structure of the OVF descriptor,
 58228  	// only one Envelope node is defined, and it is always the root of the tree.
 58229  	Type string `xml:"type" json:"type"`
 58230  	// The list of sections on this node.
 58231  	Section []OvfConsumerOvfSection `xml:"section,omitempty" json:"section,omitempty"`
 58232  	// The list of child nodes.
 58233  	//
 58234  	// As dictated by OVF, this list is subject to the
 58235  	// following rules:
 58236  	//     - The Envelope node must have exactly one child.
 58237  	//     - VirtualSystemCollection nodes may have zero or more children.
 58238  	//     - VirtualSystem nodes must have no children.
 58239  	Child []OvfConsumerOstNode `xml:"child,omitempty" json:"child,omitempty"`
 58240  	// The VM or vApp corresponding to this node.
 58241  	//
 58242  	// This field is set when this OstNode represents an existing managed entity.
 58243  	//
 58244  	// The entity is unset on nodes of type OstNodeType.envelope.
 58245  	//
 58246  	// Refers instance of `ManagedEntity`.
 58247  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 58248  }
 58249  
 58250  func init() {
 58251  	t["OvfConsumerOstNode"] = reflect.TypeOf((*OvfConsumerOstNode)(nil)).Elem()
 58252  	minAPIVersionForType["OvfConsumerOstNode"] = "5.0"
 58253  }
 58254  
 58255  // A self-contained OVF section
 58256  type OvfConsumerOvfSection struct {
 58257  	DynamicData
 58258  
 58259  	// The line number in the OVF descriptor on which this section starts.
 58260  	//
 58261  	// The line number is only present on sections that were imported as part of an OVF
 58262  	// descriptor (as opposed to sections that are about to be exported to OVF).
 58263  	//
 58264  	// The value is zero if the section did not originate from an OVF descriptor.
 58265  	LineNumber int32 `xml:"lineNumber" json:"lineNumber"`
 58266  	// The XML fragment for the section.
 58267  	//
 58268  	// The XML fragment must explicitly define all namespaces and namespace prefixes
 58269  	// that are used in the fragment, including the default namespace.
 58270  	Xml string `xml:"xml" json:"xml"`
 58271  }
 58272  
 58273  func init() {
 58274  	t["OvfConsumerOvfSection"] = reflect.TypeOf((*OvfConsumerOvfSection)(nil)).Elem()
 58275  	minAPIVersionForType["OvfConsumerOvfSection"] = "5.0"
 58276  }
 58277  
 58278  // A fault type indicating that the power on operation failed.
 58279  type OvfConsumerPowerOnFault struct {
 58280  	InvalidState
 58281  
 58282  	// The OVF consumer's extension key.
 58283  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 58284  	// The OVF consumer's extension name.
 58285  	ExtensionName string `xml:"extensionName" json:"extensionName"`
 58286  	// A localized, human-readable description of the error.
 58287  	Description string `xml:"description" json:"description"`
 58288  }
 58289  
 58290  func init() {
 58291  	t["OvfConsumerPowerOnFault"] = reflect.TypeOf((*OvfConsumerPowerOnFault)(nil)).Elem()
 58292  	minAPIVersionForType["OvfConsumerPowerOnFault"] = "5.0"
 58293  }
 58294  
 58295  type OvfConsumerPowerOnFaultFault OvfConsumerPowerOnFault
 58296  
 58297  func init() {
 58298  	t["OvfConsumerPowerOnFaultFault"] = reflect.TypeOf((*OvfConsumerPowerOnFaultFault)(nil)).Elem()
 58299  }
 58300  
 58301  // A fault type indicating that an OVF consumer appended an undeclared section to an OST.
 58302  //
 58303  // An undeclared section means a section with a qualified type that the OVF consumer was
 58304  // not registered as a handler of.
 58305  type OvfConsumerUndeclaredSection struct {
 58306  	OvfConsumerCallbackFault
 58307  
 58308  	// The undeclared qualified section type appended by the OVF consumer.
 58309  	QualifiedSectionType string `xml:"qualifiedSectionType" json:"qualifiedSectionType"`
 58310  }
 58311  
 58312  func init() {
 58313  	t["OvfConsumerUndeclaredSection"] = reflect.TypeOf((*OvfConsumerUndeclaredSection)(nil)).Elem()
 58314  	minAPIVersionForType["OvfConsumerUndeclaredSection"] = "5.0"
 58315  }
 58316  
 58317  type OvfConsumerUndeclaredSectionFault OvfConsumerUndeclaredSection
 58318  
 58319  func init() {
 58320  	t["OvfConsumerUndeclaredSectionFault"] = reflect.TypeOf((*OvfConsumerUndeclaredSectionFault)(nil)).Elem()
 58321  }
 58322  
 58323  // A fault type indicating that an OVF consumer added a section with an unbound prefix.
 58324  type OvfConsumerUndefinedPrefix struct {
 58325  	OvfConsumerCallbackFault
 58326  
 58327  	// The prefix for which no namespace definition was found.
 58328  	Prefix string `xml:"prefix" json:"prefix"`
 58329  }
 58330  
 58331  func init() {
 58332  	t["OvfConsumerUndefinedPrefix"] = reflect.TypeOf((*OvfConsumerUndefinedPrefix)(nil)).Elem()
 58333  	minAPIVersionForType["OvfConsumerUndefinedPrefix"] = "5.0"
 58334  }
 58335  
 58336  type OvfConsumerUndefinedPrefixFault OvfConsumerUndefinedPrefix
 58337  
 58338  func init() {
 58339  	t["OvfConsumerUndefinedPrefixFault"] = reflect.TypeOf((*OvfConsumerUndefinedPrefixFault)(nil)).Elem()
 58340  }
 58341  
 58342  // Thrown by an OVF consumer if an error occurred while validating an instantiation OST.
 58343  type OvfConsumerValidationFault struct {
 58344  	VmConfigFault
 58345  
 58346  	// The OVF consumer's extension key.
 58347  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 58348  	// The OVF consumer's extension name.
 58349  	ExtensionName string `xml:"extensionName" json:"extensionName"`
 58350  	// The error message, localized by the OVF consumer
 58351  	Message string `xml:"message" json:"message"`
 58352  }
 58353  
 58354  func init() {
 58355  	t["OvfConsumerValidationFault"] = reflect.TypeOf((*OvfConsumerValidationFault)(nil)).Elem()
 58356  	minAPIVersionForType["OvfConsumerValidationFault"] = "5.0"
 58357  }
 58358  
 58359  type OvfConsumerValidationFaultFault OvfConsumerValidationFault
 58360  
 58361  func init() {
 58362  	t["OvfConsumerValidationFaultFault"] = reflect.TypeOf((*OvfConsumerValidationFaultFault)(nil)).Elem()
 58363  }
 58364  
 58365  type OvfCpuCompatibility struct {
 58366  	OvfImport
 58367  
 58368  	// Possible register names are eax, ebx, ecx, or edx.
 58369  	RegisterName string `xml:"registerName" json:"registerName"`
 58370  	// The CpuId level where a problem was detected.
 58371  	//
 58372  	// Other levels may
 58373  	// also have problems
 58374  	Level int32 `xml:"level" json:"level"`
 58375  	// The register value where the problem was detected
 58376  	RegisterValue string `xml:"registerValue" json:"registerValue"`
 58377  	// The desired register value return from the host
 58378  	DesiredRegisterValue string `xml:"desiredRegisterValue" json:"desiredRegisterValue"`
 58379  }
 58380  
 58381  func init() {
 58382  	t["OvfCpuCompatibility"] = reflect.TypeOf((*OvfCpuCompatibility)(nil)).Elem()
 58383  }
 58384  
 58385  type OvfCpuCompatibilityCheckNotSupported struct {
 58386  	OvfImport
 58387  }
 58388  
 58389  func init() {
 58390  	t["OvfCpuCompatibilityCheckNotSupported"] = reflect.TypeOf((*OvfCpuCompatibilityCheckNotSupported)(nil)).Elem()
 58391  }
 58392  
 58393  type OvfCpuCompatibilityCheckNotSupportedFault OvfCpuCompatibilityCheckNotSupported
 58394  
 58395  func init() {
 58396  	t["OvfCpuCompatibilityCheckNotSupportedFault"] = reflect.TypeOf((*OvfCpuCompatibilityCheckNotSupportedFault)(nil)).Elem()
 58397  }
 58398  
 58399  type OvfCpuCompatibilityFault OvfCpuCompatibility
 58400  
 58401  func init() {
 58402  	t["OvfCpuCompatibilityFault"] = reflect.TypeOf((*OvfCpuCompatibilityFault)(nil)).Elem()
 58403  }
 58404  
 58405  // Collection of parameters for createDescriptor
 58406  type OvfCreateDescriptorParams struct {
 58407  	DynamicData
 58408  
 58409  	// Contains information about the files of the entity, if they have already been
 58410  	// downloaded.
 58411  	//
 58412  	// Needed to construct the References section of the descriptor.
 58413  	//
 58414  	// OvfFile is a positive list of files to include in the export. An Empty list
 58415  	// will do no filtering.
 58416  	OvfFiles []OvfFile `xml:"ovfFiles,omitempty" json:"ovfFiles,omitempty"`
 58417  	// The ovf:id to use for the top-level OVF Entity.
 58418  	//
 58419  	// If unset, the entity's
 58420  	// product name is used if available. Otherwise, the VI entity name is used.
 58421  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 58422  	// The contents of the Annontation section of the top-level OVF Entity.
 58423  	//
 58424  	// If unset,
 58425  	// any existing annotation on the entity is left unchanged.
 58426  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 58427  	// Controls whether attached image files should be included in the descriptor.
 58428  	//
 58429  	// This applies to image files attached to VirtualCdrom and VirtualFloppy.
 58430  	IncludeImageFiles *bool `xml:"includeImageFiles" json:"includeImageFiles,omitempty" vim:"4.1"`
 58431  	// An optional argument for modifying the export process.
 58432  	//
 58433  	// The option is used to control what extra information that will be included in the
 58434  	// OVF descriptor.
 58435  	//
 58436  	// To get a list of supported keywords see `OvfManager.ovfExportOption`. Unknown
 58437  	// options will be ignored by the server.
 58438  	ExportOption []string `xml:"exportOption,omitempty" json:"exportOption,omitempty" vim:"5.1"`
 58439  	// Snapshot reference from which the OVF descriptor should be based.
 58440  	//
 58441  	// If this parameter is set, the OVF descriptor is based off the
 58442  	// snapshot point. This means that the OVF descriptor will have the
 58443  	// same configuration as the virtual machine at the time the snapshot
 58444  	// was taken.
 58445  	//
 58446  	// The snapshot must be belong to the specified ManagedEntity in the
 58447  	// createDescriptor call.
 58448  	//
 58449  	// Refers instance of `VirtualMachineSnapshot`.
 58450  	Snapshot *ManagedObjectReference `xml:"snapshot,omitempty" json:"snapshot,omitempty" vim:"5.5"`
 58451  }
 58452  
 58453  func init() {
 58454  	t["OvfCreateDescriptorParams"] = reflect.TypeOf((*OvfCreateDescriptorParams)(nil)).Elem()
 58455  	minAPIVersionForType["OvfCreateDescriptorParams"] = "4.0"
 58456  }
 58457  
 58458  // The result of creating the OVF descriptor for the entity.
 58459  type OvfCreateDescriptorResult struct {
 58460  	DynamicData
 58461  
 58462  	// The OVF descriptor for the entity.
 58463  	OvfDescriptor string `xml:"ovfDescriptor" json:"ovfDescriptor"`
 58464  	// Errors that happened during processing.
 58465  	//
 58466  	// For example, unknown or unsupported devices could be found (in which case
 58467  	// this array will contain one or more instances of Unsupported-/UnknownDevice).
 58468  	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 58469  	// Non-fatal warnings from the processing.
 58470  	//
 58471  	// The result will be valid, but the user may choose to reject it based on these
 58472  	// warnings.
 58473  	Warning []LocalizedMethodFault `xml:"warning,omitempty" json:"warning,omitempty"`
 58474  	// Returns true if there are ISO or Floppy images attached to one or more VMs.
 58475  	IncludeImageFiles *bool `xml:"includeImageFiles" json:"includeImageFiles,omitempty" vim:"4.1"`
 58476  }
 58477  
 58478  func init() {
 58479  	t["OvfCreateDescriptorResult"] = reflect.TypeOf((*OvfCreateDescriptorResult)(nil)).Elem()
 58480  	minAPIVersionForType["OvfCreateDescriptorResult"] = "4.0"
 58481  }
 58482  
 58483  // Parameters for deploying an OVF.
 58484  type OvfCreateImportSpecParams struct {
 58485  	OvfManagerCommonParams
 58486  
 58487  	// The name to set on the entity (more precisely, on the top-level vApp or
 58488  	// VM of the entity) as it appears in VI.
 58489  	//
 58490  	// If empty, the product name is obtained
 58491  	// from the ProductSection of the descriptor. If that name is not specified, the
 58492  	// ovf:id of the top-level entity is used.
 58493  	EntityName string `xml:"entityName" json:"entityName"`
 58494  	// The host to validate the OVF descriptor against, if it cannot be deduced from
 58495  	// the resource pool.
 58496  	//
 58497  	// The privilege System.Read is required on the host.
 58498  	//
 58499  	// Refers instance of `HostSystem`.
 58500  	HostSystem *ManagedObjectReference `xml:"hostSystem,omitempty" json:"hostSystem,omitempty"`
 58501  	// The mapping of network identifiers from the descriptor to networks in the VI
 58502  	// infrastructure.
 58503  	//
 58504  	// The privilege Network.Assign is required on all networks in the list.
 58505  	NetworkMapping []OvfNetworkMapping `xml:"networkMapping,omitempty" json:"networkMapping,omitempty"`
 58506  	// The IP allocation policy chosen by the caller.
 58507  	//
 58508  	// See `VAppIPAssignmentInfo`.
 58509  	IpAllocationPolicy string `xml:"ipAllocationPolicy,omitempty" json:"ipAllocationPolicy,omitempty"`
 58510  	// The IP protocol chosen by the caller.
 58511  	//
 58512  	// See `VAppIPAssignmentInfo`.
 58513  	IpProtocol string `xml:"ipProtocol,omitempty" json:"ipProtocol,omitempty"`
 58514  	// The assignment of values to the properties found in the descriptor.
 58515  	//
 58516  	// If no value
 58517  	// is specified for an option, the default value from the descriptor is used.
 58518  	PropertyMapping []KeyValue `xml:"propertyMapping,omitempty" json:"propertyMapping,omitempty"`
 58519  	// Deprecated as of vSphere API 5.1.
 58520  	//
 58521  	// The resource configuration for the created vApp.
 58522  	//
 58523  	// This can be used to distribute
 58524  	// a vApp across multiple resource pools (and create linked children).
 58525  	ResourceMapping []OvfResourceMap `xml:"resourceMapping,omitempty" json:"resourceMapping,omitempty" vim:"4.1"`
 58526  	// An optional disk provisioning.
 58527  	//
 58528  	// If set, all the disks in the deployed OVF will
 58529  	// have get the same specified disk type (e.g., thin provisioned).
 58530  	// The valide values for disk provisioning are:
 58531  	//     - `monolithicSparse`
 58532  	//     - `monolithicFlat`
 58533  	//     - `twoGbMaxExtentSparse`
 58534  	//     - `twoGbMaxExtentFlat`
 58535  	//     - `thin`
 58536  	//     - `thick`
 58537  	//     - `sparse`
 58538  	//     - `flat`
 58539  	//     - `seSparse`
 58540  	//
 58541  	// See also `VirtualDiskMode_enum`.
 58542  	DiskProvisioning string `xml:"diskProvisioning,omitempty" json:"diskProvisioning,omitempty" vim:"4.1"`
 58543  	// The instantiation OST to configure OVF consumers.
 58544  	//
 58545  	// This is created by the client
 58546  	// from the annotated OST. See `OvfConsumer` for details.
 58547  	InstantiationOst *OvfConsumerOstNode `xml:"instantiationOst,omitempty" json:"instantiationOst,omitempty" vim:"5.0"`
 58548  }
 58549  
 58550  func init() {
 58551  	t["OvfCreateImportSpecParams"] = reflect.TypeOf((*OvfCreateImportSpecParams)(nil)).Elem()
 58552  	minAPIVersionForType["OvfCreateImportSpecParams"] = "4.0"
 58553  }
 58554  
 58555  // The CreateImportSpecResult contains all information regarding the import that can
 58556  // be extracted from the OVF descriptor.
 58557  //
 58558  // For example, this includes the list of items that the caller must upload in order
 58559  // to complete the import, but not the list of URLs to which the files must be
 58560  // uploaded. These paths are not known until the VMs have been created, ie. until
 58561  // `ResourcePool.importVApp` has been
 58562  // called.
 58563  type OvfCreateImportSpecResult struct {
 58564  	DynamicData
 58565  
 58566  	// The ImportSpec contains information about which `VirtualMachine`s
 58567  	// and `VirtualApp`s are present in the entity and
 58568  	// how they relate to each other.
 58569  	ImportSpec BaseImportSpec `xml:"importSpec,omitempty,typeattr" json:"importSpec,omitempty"`
 58570  	// The files that must be uploaded by the caller as part of importing the entity.
 58571  	//
 58572  	// The files must be uploaded in order, because some of them may be delta files
 58573  	// that patch already-uploaded files.
 58574  	FileItem []OvfFileItem `xml:"fileItem,omitempty" json:"fileItem,omitempty"`
 58575  	// Non-fatal warnings from the processing.
 58576  	//
 58577  	// The ImportSpec will be valid, but the
 58578  	// user may choose to reject it based on these warnings.
 58579  	Warning []LocalizedMethodFault `xml:"warning,omitempty" json:"warning,omitempty"`
 58580  	// Errors that happened during processing.
 58581  	//
 58582  	// Something will be wrong with the
 58583  	// ImportSpec, or it is not present.
 58584  	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 58585  }
 58586  
 58587  func init() {
 58588  	t["OvfCreateImportSpecResult"] = reflect.TypeOf((*OvfCreateImportSpecResult)(nil)).Elem()
 58589  	minAPIVersionForType["OvfCreateImportSpecResult"] = "4.0"
 58590  }
 58591  
 58592  // A deployment option as defined in the OVF specfication.
 58593  //
 58594  // This corresponds to the Configuration element of the DeploymentOptionSection in the
 58595  // specification.
 58596  type OvfDeploymentOption struct {
 58597  	DynamicData
 58598  
 58599  	// The key of the deployment option, corresponding to the ovf:id attribute in the
 58600  	// OVF descriptor
 58601  	Key string `xml:"key" json:"key"`
 58602  	// A localized label for the deployment option
 58603  	Label string `xml:"label" json:"label"`
 58604  	// A localizable description for the deployment option.
 58605  	Description string `xml:"description" json:"description"`
 58606  }
 58607  
 58608  func init() {
 58609  	t["OvfDeploymentOption"] = reflect.TypeOf((*OvfDeploymentOption)(nil)).Elem()
 58610  	minAPIVersionForType["OvfDeploymentOption"] = "4.0"
 58611  }
 58612  
 58613  type OvfDiskMappingNotFound struct {
 58614  	OvfSystemFault
 58615  
 58616  	// The disk name that is not found
 58617  	DiskName string `xml:"diskName" json:"diskName"`
 58618  	// The VM Name
 58619  	VmName string `xml:"vmName" json:"vmName"`
 58620  }
 58621  
 58622  func init() {
 58623  	t["OvfDiskMappingNotFound"] = reflect.TypeOf((*OvfDiskMappingNotFound)(nil)).Elem()
 58624  }
 58625  
 58626  type OvfDiskMappingNotFoundFault OvfDiskMappingNotFound
 58627  
 58628  func init() {
 58629  	t["OvfDiskMappingNotFoundFault"] = reflect.TypeOf((*OvfDiskMappingNotFoundFault)(nil)).Elem()
 58630  }
 58631  
 58632  // Class used to indicate that the Disks in a DiskSection was not defined
 58633  // in the same order as in the Reference section
 58634  type OvfDiskOrderConstraint struct {
 58635  	OvfConstraint
 58636  }
 58637  
 58638  func init() {
 58639  	t["OvfDiskOrderConstraint"] = reflect.TypeOf((*OvfDiskOrderConstraint)(nil)).Elem()
 58640  	minAPIVersionForType["OvfDiskOrderConstraint"] = "4.1"
 58641  }
 58642  
 58643  type OvfDiskOrderConstraintFault OvfDiskOrderConstraint
 58644  
 58645  func init() {
 58646  	t["OvfDiskOrderConstraintFault"] = reflect.TypeOf((*OvfDiskOrderConstraintFault)(nil)).Elem()
 58647  }
 58648  
 58649  // OvfDuplicateElement is thrown if Ovf descriptor contains an invalid duplicate element.
 58650  type OvfDuplicateElement struct {
 58651  	OvfElement
 58652  }
 58653  
 58654  func init() {
 58655  	t["OvfDuplicateElement"] = reflect.TypeOf((*OvfDuplicateElement)(nil)).Elem()
 58656  	minAPIVersionForType["OvfDuplicateElement"] = "4.0"
 58657  }
 58658  
 58659  type OvfDuplicateElementFault OvfDuplicateElement
 58660  
 58661  func init() {
 58662  	t["OvfDuplicateElementFault"] = reflect.TypeOf((*OvfDuplicateElementFault)(nil)).Elem()
 58663  }
 58664  
 58665  // If the Ovf descriptor element have duplicated element bound.
 58666  type OvfDuplicatedElementBoundary struct {
 58667  	OvfElement
 58668  
 58669  	// Name of duplicated boundary
 58670  	Boundary string `xml:"boundary" json:"boundary"`
 58671  }
 58672  
 58673  func init() {
 58674  	t["OvfDuplicatedElementBoundary"] = reflect.TypeOf((*OvfDuplicatedElementBoundary)(nil)).Elem()
 58675  	minAPIVersionForType["OvfDuplicatedElementBoundary"] = "4.0"
 58676  }
 58677  
 58678  type OvfDuplicatedElementBoundaryFault OvfDuplicatedElementBoundary
 58679  
 58680  func init() {
 58681  	t["OvfDuplicatedElementBoundaryFault"] = reflect.TypeOf((*OvfDuplicatedElementBoundaryFault)(nil)).Elem()
 58682  }
 58683  
 58684  // Two or more user-configurable properties are
 58685  // found with the same fully-qualified property
 58686  // name.
 58687  type OvfDuplicatedPropertyIdExport struct {
 58688  	OvfExport
 58689  
 58690  	// The fully qualified property id.
 58691  	Fqid string `xml:"fqid" json:"fqid"`
 58692  }
 58693  
 58694  func init() {
 58695  	t["OvfDuplicatedPropertyIdExport"] = reflect.TypeOf((*OvfDuplicatedPropertyIdExport)(nil)).Elem()
 58696  	minAPIVersionForType["OvfDuplicatedPropertyIdExport"] = "5.0"
 58697  }
 58698  
 58699  type OvfDuplicatedPropertyIdExportFault OvfDuplicatedPropertyIdExport
 58700  
 58701  func init() {
 58702  	t["OvfDuplicatedPropertyIdExportFault"] = reflect.TypeOf((*OvfDuplicatedPropertyIdExportFault)(nil)).Elem()
 58703  }
 58704  
 58705  // Two or more user-configurable properties are
 58706  // found with the same fully-qualified property
 58707  // name.
 58708  type OvfDuplicatedPropertyIdImport struct {
 58709  	OvfExport
 58710  }
 58711  
 58712  func init() {
 58713  	t["OvfDuplicatedPropertyIdImport"] = reflect.TypeOf((*OvfDuplicatedPropertyIdImport)(nil)).Elem()
 58714  	minAPIVersionForType["OvfDuplicatedPropertyIdImport"] = "5.0"
 58715  }
 58716  
 58717  type OvfDuplicatedPropertyIdImportFault OvfDuplicatedPropertyIdImport
 58718  
 58719  func init() {
 58720  	t["OvfDuplicatedPropertyIdImportFault"] = reflect.TypeOf((*OvfDuplicatedPropertyIdImportFault)(nil)).Elem()
 58721  }
 58722  
 58723  // A base fault for element exceptions in the Ovf XML descriptor.
 58724  type OvfElement struct {
 58725  	OvfInvalidPackage
 58726  
 58727  	// The name of the element
 58728  	Name string `xml:"name" json:"name"`
 58729  }
 58730  
 58731  func init() {
 58732  	t["OvfElement"] = reflect.TypeOf((*OvfElement)(nil)).Elem()
 58733  	minAPIVersionForType["OvfElement"] = "4.0"
 58734  }
 58735  
 58736  type OvfElementFault BaseOvfElement
 58737  
 58738  func init() {
 58739  	t["OvfElementFault"] = reflect.TypeOf((*OvfElementFault)(nil)).Elem()
 58740  }
 58741  
 58742  // A class used if a element node is found to have an invalid value.
 58743  //
 58744  // Base class for OvfProperty errors.
 58745  type OvfElementInvalidValue struct {
 58746  	OvfElement
 58747  
 58748  	// The value of the element
 58749  	Value string `xml:"value" json:"value"`
 58750  }
 58751  
 58752  func init() {
 58753  	t["OvfElementInvalidValue"] = reflect.TypeOf((*OvfElementInvalidValue)(nil)).Elem()
 58754  	minAPIVersionForType["OvfElementInvalidValue"] = "4.0"
 58755  }
 58756  
 58757  type OvfElementInvalidValueFault OvfElementInvalidValue
 58758  
 58759  func init() {
 58760  	t["OvfElementInvalidValueFault"] = reflect.TypeOf((*OvfElementInvalidValueFault)(nil)).Elem()
 58761  }
 58762  
 58763  // A common base class to host all the Ovf Lib Export Exceptions.
 58764  type OvfExport struct {
 58765  	OvfFault
 58766  }
 58767  
 58768  func init() {
 58769  	t["OvfExport"] = reflect.TypeOf((*OvfExport)(nil)).Elem()
 58770  	minAPIVersionForType["OvfExport"] = "4.0"
 58771  }
 58772  
 58773  // This fault is used if we fail to export an OVF package.
 58774  type OvfExportFailed struct {
 58775  	OvfExport
 58776  }
 58777  
 58778  func init() {
 58779  	t["OvfExportFailed"] = reflect.TypeOf((*OvfExportFailed)(nil)).Elem()
 58780  	minAPIVersionForType["OvfExportFailed"] = "4.1"
 58781  }
 58782  
 58783  type OvfExportFailedFault OvfExportFailed
 58784  
 58785  func init() {
 58786  	t["OvfExportFailedFault"] = reflect.TypeOf((*OvfExportFailedFault)(nil)).Elem()
 58787  }
 58788  
 58789  type OvfExportFault BaseOvfExport
 58790  
 58791  func init() {
 58792  	t["OvfExportFault"] = reflect.TypeOf((*OvfExportFault)(nil)).Elem()
 58793  }
 58794  
 58795  // A common base type fault for all Ovf related faults.
 58796  //
 58797  // The structure of OvfFault is as listed.
 58798  //   - OvfFault
 58799  //   - OvfInvalidPackage
 58800  //   - OvfXmlFormat
 58801  //   - OvfWrongNamespace
 58802  //   - OvfElement
 58803  //   - OvfElementInvalidValue
 58804  //   - OvfUnexpectedElement
 58805  //   - OvfDuplicateElement
 58806  //   - OvfMissingElement
 58807  //   - OvfMissingElementNormalBoundary
 58808  //   - OvfDuplicatedElementBoundary
 58809  //   - OvfAttribute
 58810  //   - OvfMissingAttribute
 58811  //   - OvfInvalidValue
 58812  //   - OvfInvalidValueFormatMalformed
 58813  //   - OvfInvalidValueConfiguration
 58814  //   - OvfInvalidValueReference
 58815  //   - OvfInvalidValueEmpty
 58816  //   - OvfProperty
 58817  //   - OvfPropertyType
 58818  //   - OvfPropertyValue
 58819  //   - OvfPropertyNetwork
 58820  //   - OvfPropertyQualifier
 58821  //   - OvfPropertyQualifierWarning
 58822  //   - OvfConstraint
 58823  //   - OvfDiskOrderConstraint
 58824  //   - OvfHostResourceConstraint
 58825  //   - OvfUnsupportedPackage
 58826  //   - OvfNoHostNic
 58827  //   - OvfInvalidVmName
 58828  //   - OvfUnsupportedAttribute
 58829  //   - OvfUnsupportedAttributeValue
 58830  //   - OvfUnsupportedElement
 58831  //   - OvfUnsupportedElementValue
 58832  //   - OvfUnsupportedSection
 58833  //   - OvfNoSpaceOnController
 58834  //   - OvfUnsupportedType
 58835  //   - OvfUnsupportedSubType
 58836  //   - OvfHardwareCheck
 58837  //   - OvfNoSupportedHardwareFamily
 58838  //   - OvfExport
 58839  //   - OvfExportFailed
 58840  //   - OvfHardwareExport
 58841  //   - OvfUnsupportedDeviceExport
 58842  //   - OvfUnknownDeviceBacking
 58843  //   - OvfConnectedDevice
 58844  //   - OvfConnectedDeviceISO
 58845  //   - OvfUnableToExportDisk
 58846  //   - OvfPropertyExport
 58847  //   - OvfPropertyNetworkExport
 58848  //   - OvfDuplicatedPropertyIdExport
 58849  //   - OvfImport (these are typically returned as warnings)
 58850  //   - OvfImportFailed
 58851  //   - OvfHardwareCheck
 58852  //   - OvfMissingHardware
 58853  //   - OvfCpuCompatibility
 58854  //   - OvfCpuCompatibilityCheckNotSupported
 58855  //   - OvfUnsupportedDiskProvisioning
 58856  //   - OvfDuplicatedPropertyIdImport
 58857  //   - OvfNetworkMappingNotSupported
 58858  //   - OvfSystemFault
 58859  //   - OvfDiskMappingNotFound
 58860  //   - OvfHostValueNotParsed
 58861  //   - OvfInternalError
 58862  //   - OvfUnsupportedDeviceBackingOption
 58863  //   - OvfUnsupportedDeviceBackingInfo
 58864  //   - OvfToXmlUnsupportedElement
 58865  //   - OvfUnknownDevice
 58866  //   - OvfUnknownEntity
 58867  //   - OvfConsumerCallbackFault
 58868  //   - OvfConsumerFault
 58869  //   - OvfConsumerCommunicationError
 58870  //   - OvfConsumerInvalidSection
 58871  //   - OvfConsumerUndeclaredSection
 58872  //   - OvfConsumerUndefinedPrefix
 58873  //
 58874  // All messages go into the vimlocale
 58875  type OvfFault struct {
 58876  	VimFault
 58877  }
 58878  
 58879  func init() {
 58880  	t["OvfFault"] = reflect.TypeOf((*OvfFault)(nil)).Elem()
 58881  	minAPIVersionForType["OvfFault"] = "4.0"
 58882  }
 58883  
 58884  type OvfFaultFault BaseOvfFault
 58885  
 58886  func init() {
 58887  	t["OvfFaultFault"] = reflect.TypeOf((*OvfFaultFault)(nil)).Elem()
 58888  }
 58889  
 58890  // Represents a file that the caller has downloaded and stored somewhere appropriate.
 58891  //
 58892  // An instance of this class is used to tell OvfManager about the choices the caller
 58893  // made about a file. This information is needed when the OVF descriptor is generated
 58894  // with createDescriptor.
 58895  type OvfFile struct {
 58896  	DynamicData
 58897  
 58898  	// The ID of the device backed by this file.
 58899  	//
 58900  	// This ID uniquely identifies the
 58901  	// device within the entity hierarchy.
 58902  	//
 58903  	// The caller will have received this along with the URL needed to download the
 58904  	// file (this is handled by another service interface).
 58905  	DeviceId string `xml:"deviceId" json:"deviceId"`
 58906  	// The path chosen by the caller for this file.
 58907  	//
 58908  	// This path becomes the value of the
 58909  	// "href" attribute of the corresponding "File" element in the OVF descriptor.
 58910  	//
 58911  	// This path must be relative to the path chosen for the OVF descriptor. This
 58912  	// implies that the caller must decide in advance on the path to which it will
 58913  	// write the OVF descriptor, once it is returned.
 58914  	//
 58915  	// The folder separator must be "/" (forward slash).
 58916  	//
 58917  	// The path must not begin with a slash - ie. it must not be an absolute path.
 58918  	Path string `xml:"path" json:"path"`
 58919  	// The compression method the caller chose to employ for this file.
 58920  	CompressionMethod string `xml:"compressionMethod,omitempty" json:"compressionMethod,omitempty"`
 58921  	// The chunksize chosen by the caller.
 58922  	//
 58923  	// When using chunking, the caller must adhere to the method described in the OVF
 58924  	// specification.
 58925  	ChunkSize int64 `xml:"chunkSize,omitempty" json:"chunkSize,omitempty"`
 58926  	// The file size, as observed by the caller during download.
 58927  	Size int64 `xml:"size" json:"size"`
 58928  	// The capacity of the disk backed by this file.
 58929  	//
 58930  	// This should only be set if the
 58931  	// device backed by this file is a disk. This value will be written in the
 58932  	// "capacity" attribute of the corresponding "Disk" element in the OVF descriptor.
 58933  	//
 58934  	// Note that the "capacity" attribute is normally set to the capacity of the
 58935  	// corresponding `VirtualDisk`. Setting this variable
 58936  	// overrides the capacity from the VirtualDisk.
 58937  	Capacity int64 `xml:"capacity,omitempty" json:"capacity,omitempty" vim:"4.1"`
 58938  	// The populated size of the disk backed by this file.
 58939  	//
 58940  	// This should only be set if
 58941  	// the device backed by this file is a disk. This value will be written in the
 58942  	// "populatedSize" attribute of the corresponding "Disk" element in the OVF
 58943  	// descriptor.
 58944  	PopulatedSize int64 `xml:"populatedSize,omitempty" json:"populatedSize,omitempty" vim:"4.1"`
 58945  }
 58946  
 58947  func init() {
 58948  	t["OvfFile"] = reflect.TypeOf((*OvfFile)(nil)).Elem()
 58949  	minAPIVersionForType["OvfFile"] = "4.0"
 58950  }
 58951  
 58952  // An FileItem represents a file that must be uploaded by the caller when the
 58953  // inventory objects has been created in VI.
 58954  //
 58955  // These objects are created by `ResourcePool.importVApp`.
 58956  //
 58957  // Files can either be new files, in which case the "create" flag will be true, or
 58958  // updates to existing files in VI. The latter is used to support the OVF parentRef
 58959  // mechanism for Disks.
 58960  type OvfFileItem struct {
 58961  	DynamicData
 58962  
 58963  	// Uniquely identifies the device (disk, CD-ROM etc.) within the entity hierarchy.
 58964  	//
 58965  	// When `ResourcePool.importVApp` is
 58966  	// called to create the `VirtualMachine`s and `VirtualApp`s, it returns a map,
 58967  	// device ID -&gt; URL, of where to upload the backing files.
 58968  	DeviceId string `xml:"deviceId" json:"deviceId"`
 58969  	// The path of the item to upload, relative to the path of the OVF descriptor.
 58970  	Path string `xml:"path" json:"path"`
 58971  	// The compression method as specified by the OVF
 58972  	// specification (for example "gzip" or "bzip2").
 58973  	CompressionMethod string `xml:"compressionMethod,omitempty" json:"compressionMethod,omitempty"`
 58974  	// The chunksize as specified by the OVF specification.
 58975  	//
 58976  	// If this attribute is set, the "path" attribute is a prefix to
 58977  	// each chunk of the complete file.
 58978  	// For example, if chunksize is 2000000000 bytes, the actual files
 58979  	// might be:
 58980  	// myfile.000000000 (2000000000 bytes)
 58981  	// myfile.000000001 (2000000000 bytes)
 58982  	// myfile.000000002 (1500000000 bytes)
 58983  	ChunkSize int64 `xml:"chunkSize,omitempty" json:"chunkSize,omitempty"`
 58984  	// The complete size of the file, if it is specified in the
 58985  	// OVF descriptor.
 58986  	Size int64 `xml:"size,omitempty" json:"size,omitempty"`
 58987  	// The CIM type of the device for which this file provides
 58988  	// backing.
 58989  	//
 58990  	// For example, the value 17 means "Disk drive".
 58991  	CimType int32 `xml:"cimType" json:"cimType"`
 58992  	// True if the item is not expected to exist in the infrastructure
 58993  	// and should therefore be created by the caller (for example using HTTP PUT).
 58994  	Create bool `xml:"create" json:"create"`
 58995  }
 58996  
 58997  func init() {
 58998  	t["OvfFileItem"] = reflect.TypeOf((*OvfFileItem)(nil)).Elem()
 58999  	minAPIVersionForType["OvfFileItem"] = "4.0"
 59000  }
 59001  
 59002  type OvfHardwareCheck struct {
 59003  	OvfImport
 59004  }
 59005  
 59006  func init() {
 59007  	t["OvfHardwareCheck"] = reflect.TypeOf((*OvfHardwareCheck)(nil)).Elem()
 59008  }
 59009  
 59010  type OvfHardwareCheckFault OvfHardwareCheck
 59011  
 59012  func init() {
 59013  	t["OvfHardwareCheckFault"] = reflect.TypeOf((*OvfHardwareCheckFault)(nil)).Elem()
 59014  }
 59015  
 59016  // A common base class to host all the OvfLib Export Exceptions for hardware.
 59017  type OvfHardwareExport struct {
 59018  	OvfExport
 59019  
 59020  	// The virtual device we are exporting to OVF
 59021  	Device BaseVirtualDevice `xml:"device,omitempty,typeattr" json:"device,omitempty"`
 59022  	// The path to the VM containing the device.
 59023  	//
 59024  	// This path shows the location of the VM in the vApp hierarchy, on the form:
 59025  	//
 59026  	// /ParentVApp/ChildVApp/VMName
 59027  	VmPath string `xml:"vmPath" json:"vmPath"`
 59028  }
 59029  
 59030  func init() {
 59031  	t["OvfHardwareExport"] = reflect.TypeOf((*OvfHardwareExport)(nil)).Elem()
 59032  	minAPIVersionForType["OvfHardwareExport"] = "4.0"
 59033  }
 59034  
 59035  type OvfHardwareExportFault BaseOvfHardwareExport
 59036  
 59037  func init() {
 59038  	t["OvfHardwareExportFault"] = reflect.TypeOf((*OvfHardwareExportFault)(nil)).Elem()
 59039  }
 59040  
 59041  // Class used to indicate that the value in HostResoruce did not map to
 59042  // a valid reference element.
 59043  type OvfHostResourceConstraint struct {
 59044  	OvfConstraint
 59045  
 59046  	// Value of the element
 59047  	Value string `xml:"value" json:"value"`
 59048  }
 59049  
 59050  func init() {
 59051  	t["OvfHostResourceConstraint"] = reflect.TypeOf((*OvfHostResourceConstraint)(nil)).Elem()
 59052  	minAPIVersionForType["OvfHostResourceConstraint"] = "4.1"
 59053  }
 59054  
 59055  type OvfHostResourceConstraintFault OvfHostResourceConstraint
 59056  
 59057  func init() {
 59058  	t["OvfHostResourceConstraintFault"] = reflect.TypeOf((*OvfHostResourceConstraintFault)(nil)).Elem()
 59059  }
 59060  
 59061  type OvfHostValueNotParsed struct {
 59062  	OvfSystemFault
 59063  
 59064  	// The host property field that could not be parsed.
 59065  	Property string `xml:"property" json:"property"`
 59066  	// Value of the field that could not be parsed.
 59067  	Value string `xml:"value" json:"value"`
 59068  }
 59069  
 59070  func init() {
 59071  	t["OvfHostValueNotParsed"] = reflect.TypeOf((*OvfHostValueNotParsed)(nil)).Elem()
 59072  }
 59073  
 59074  type OvfHostValueNotParsedFault OvfHostValueNotParsed
 59075  
 59076  func init() {
 59077  	t["OvfHostValueNotParsedFault"] = reflect.TypeOf((*OvfHostValueNotParsedFault)(nil)).Elem()
 59078  }
 59079  
 59080  // A common base class for errors that can happen during Import and
 59081  // that is not due to an invalid package (OvfInvalidPackage).
 59082  //
 59083  // These
 59084  // are typically issued as warnings.
 59085  type OvfImport struct {
 59086  	OvfFault
 59087  }
 59088  
 59089  func init() {
 59090  	t["OvfImport"] = reflect.TypeOf((*OvfImport)(nil)).Elem()
 59091  	minAPIVersionForType["OvfImport"] = "4.0"
 59092  }
 59093  
 59094  // This fault is used if we fail to deploy an OVF package.
 59095  type OvfImportFailed struct {
 59096  	OvfImport
 59097  }
 59098  
 59099  func init() {
 59100  	t["OvfImportFailed"] = reflect.TypeOf((*OvfImportFailed)(nil)).Elem()
 59101  	minAPIVersionForType["OvfImportFailed"] = "4.1"
 59102  }
 59103  
 59104  type OvfImportFailedFault OvfImportFailed
 59105  
 59106  func init() {
 59107  	t["OvfImportFailedFault"] = reflect.TypeOf((*OvfImportFailedFault)(nil)).Elem()
 59108  }
 59109  
 59110  type OvfImportFault BaseOvfImport
 59111  
 59112  func init() {
 59113  	t["OvfImportFault"] = reflect.TypeOf((*OvfImportFault)(nil)).Elem()
 59114  }
 59115  
 59116  // Disk mode not supported
 59117  type OvfInternalError struct {
 59118  	OvfSystemFault
 59119  }
 59120  
 59121  func init() {
 59122  	t["OvfInternalError"] = reflect.TypeOf((*OvfInternalError)(nil)).Elem()
 59123  	minAPIVersionForType["OvfInternalError"] = "4.1"
 59124  }
 59125  
 59126  type OvfInternalErrorFault OvfInternalError
 59127  
 59128  func init() {
 59129  	t["OvfInternalErrorFault"] = reflect.TypeOf((*OvfInternalErrorFault)(nil)).Elem()
 59130  }
 59131  
 59132  // Base fault class for all Invalid OVF package faults.
 59133  type OvfInvalidPackage struct {
 59134  	OvfFault
 59135  
 59136  	// XML OVF descriptor line numbers
 59137  	LineNumber int32 `xml:"lineNumber" json:"lineNumber"`
 59138  }
 59139  
 59140  func init() {
 59141  	t["OvfInvalidPackage"] = reflect.TypeOf((*OvfInvalidPackage)(nil)).Elem()
 59142  	minAPIVersionForType["OvfInvalidPackage"] = "4.0"
 59143  }
 59144  
 59145  type OvfInvalidPackageFault BaseOvfInvalidPackage
 59146  
 59147  func init() {
 59148  	t["OvfInvalidPackageFault"] = reflect.TypeOf((*OvfInvalidPackageFault)(nil)).Elem()
 59149  }
 59150  
 59151  // If an invalid value is found in the Ovf descriptor we throw an OvfInvalidValue exception.
 59152  type OvfInvalidValue struct {
 59153  	OvfAttribute
 59154  
 59155  	// Attribute value
 59156  	Value string `xml:"value" json:"value"`
 59157  }
 59158  
 59159  func init() {
 59160  	t["OvfInvalidValue"] = reflect.TypeOf((*OvfInvalidValue)(nil)).Elem()
 59161  	minAPIVersionForType["OvfInvalidValue"] = "4.0"
 59162  }
 59163  
 59164  // If an malformed ovf:configuration attribute value is found in the
 59165  // Ovf descriptor we throw an OvfInvalidValueConfiguration exception.
 59166  type OvfInvalidValueConfiguration struct {
 59167  	OvfInvalidValue
 59168  }
 59169  
 59170  func init() {
 59171  	t["OvfInvalidValueConfiguration"] = reflect.TypeOf((*OvfInvalidValueConfiguration)(nil)).Elem()
 59172  	minAPIVersionForType["OvfInvalidValueConfiguration"] = "4.0"
 59173  }
 59174  
 59175  type OvfInvalidValueConfigurationFault OvfInvalidValueConfiguration
 59176  
 59177  func init() {
 59178  	t["OvfInvalidValueConfigurationFault"] = reflect.TypeOf((*OvfInvalidValueConfigurationFault)(nil)).Elem()
 59179  }
 59180  
 59181  // If an attribute is found with an empty value where it is not allowed.
 59182  type OvfInvalidValueEmpty struct {
 59183  	OvfInvalidValue
 59184  }
 59185  
 59186  func init() {
 59187  	t["OvfInvalidValueEmpty"] = reflect.TypeOf((*OvfInvalidValueEmpty)(nil)).Elem()
 59188  	minAPIVersionForType["OvfInvalidValueEmpty"] = "4.0"
 59189  }
 59190  
 59191  type OvfInvalidValueEmptyFault OvfInvalidValueEmpty
 59192  
 59193  func init() {
 59194  	t["OvfInvalidValueEmptyFault"] = reflect.TypeOf((*OvfInvalidValueEmptyFault)(nil)).Elem()
 59195  }
 59196  
 59197  type OvfInvalidValueFault BaseOvfInvalidValue
 59198  
 59199  func init() {
 59200  	t["OvfInvalidValueFault"] = reflect.TypeOf((*OvfInvalidValueFault)(nil)).Elem()
 59201  }
 59202  
 59203  // If an malformed value is found in the Ovf descriptor we throw an OvfInvalidValueFormatMalformed
 59204  // exception.
 59205  type OvfInvalidValueFormatMalformed struct {
 59206  	OvfInvalidValue
 59207  }
 59208  
 59209  func init() {
 59210  	t["OvfInvalidValueFormatMalformed"] = reflect.TypeOf((*OvfInvalidValueFormatMalformed)(nil)).Elem()
 59211  	minAPIVersionForType["OvfInvalidValueFormatMalformed"] = "4.0"
 59212  }
 59213  
 59214  type OvfInvalidValueFormatMalformedFault OvfInvalidValueFormatMalformed
 59215  
 59216  func init() {
 59217  	t["OvfInvalidValueFormatMalformedFault"] = reflect.TypeOf((*OvfInvalidValueFormatMalformedFault)(nil)).Elem()
 59218  }
 59219  
 59220  // If a value refer to something that is not found is found in the Ovf descriptor
 59221  // we throw an OvfInvalidValueReference exception.
 59222  type OvfInvalidValueReference struct {
 59223  	OvfInvalidValue
 59224  }
 59225  
 59226  func init() {
 59227  	t["OvfInvalidValueReference"] = reflect.TypeOf((*OvfInvalidValueReference)(nil)).Elem()
 59228  	minAPIVersionForType["OvfInvalidValueReference"] = "4.0"
 59229  }
 59230  
 59231  type OvfInvalidValueReferenceFault OvfInvalidValueReference
 59232  
 59233  func init() {
 59234  	t["OvfInvalidValueReferenceFault"] = reflect.TypeOf((*OvfInvalidValueReferenceFault)(nil)).Elem()
 59235  }
 59236  
 59237  // This fault is used if we can not normalize the vm name
 59238  type OvfInvalidVmName struct {
 59239  	OvfUnsupportedPackage
 59240  
 59241  	// The name of the invalid Virtual Machine
 59242  	Name string `xml:"name" json:"name"`
 59243  }
 59244  
 59245  func init() {
 59246  	t["OvfInvalidVmName"] = reflect.TypeOf((*OvfInvalidVmName)(nil)).Elem()
 59247  	minAPIVersionForType["OvfInvalidVmName"] = "4.0"
 59248  }
 59249  
 59250  type OvfInvalidVmNameFault OvfInvalidVmName
 59251  
 59252  func init() {
 59253  	t["OvfInvalidVmNameFault"] = reflect.TypeOf((*OvfInvalidVmNameFault)(nil)).Elem()
 59254  }
 59255  
 59256  // A common super-class for basic OVF descriptor parameters
 59257  type OvfManagerCommonParams struct {
 59258  	DynamicData
 59259  
 59260  	// The locale-identifier to choose from the descriptor.
 59261  	//
 59262  	// If empty, the
 59263  	// default locale on the server is used.
 59264  	Locale string `xml:"locale" json:"locale"`
 59265  	// The key of the chosen deployment option.
 59266  	//
 59267  	// If empty, the default option is
 59268  	// chosen. The list of possible deployment options is returned in the result of
 59269  	// parseDescriptor.
 59270  	DeploymentOption string `xml:"deploymentOption" json:"deploymentOption"`
 59271  	// An optional set of localization strings to be used.
 59272  	//
 59273  	// The server will use
 59274  	// these message strings to localize information in the result and in
 59275  	// error and warning messages.
 59276  	//
 59277  	// This argument allows a client to pass messages from external
 59278  	// string bundles. The client is responsible for selecting the right string
 59279  	// bundle (based on locale) and parsing the external string bundle. The
 59280  	// passed in key/value pairs are looked up before any messages
 59281  	// included in the OVF descriptor itself.
 59282  	MsgBundle []KeyValue `xml:"msgBundle,omitempty" json:"msgBundle,omitempty"`
 59283  	// An optional argument for modifing the OVF parsing.
 59284  	//
 59285  	// When the server parses an OVF
 59286  	// descriptor a set of options can be used to modify the parsing. The argument is a list
 59287  	// of keywords.
 59288  	//
 59289  	// To get a list of supported keywords see `OvfManager.ovfImportOption`. Unknown
 59290  	// options will be ignored by the server.
 59291  	ImportOption []string `xml:"importOption,omitempty" json:"importOption,omitempty" vim:"5.1"`
 59292  }
 59293  
 59294  func init() {
 59295  	t["OvfManagerCommonParams"] = reflect.TypeOf((*OvfManagerCommonParams)(nil)).Elem()
 59296  	minAPIVersionForType["OvfManagerCommonParams"] = "4.0"
 59297  }
 59298  
 59299  type OvfMappedOsId struct {
 59300  	OvfImport
 59301  
 59302  	// The operating system id specified in the OVF descriptor.
 59303  	OvfId int32 `xml:"ovfId" json:"ovfId"`
 59304  	// The OS description specified in the OVF descriptor.
 59305  	OvfDescription string `xml:"ovfDescription" json:"ovfDescription"`
 59306  	// The display name of the target OS
 59307  	TargetDescription string `xml:"targetDescription" json:"targetDescription"`
 59308  }
 59309  
 59310  func init() {
 59311  	t["OvfMappedOsId"] = reflect.TypeOf((*OvfMappedOsId)(nil)).Elem()
 59312  }
 59313  
 59314  type OvfMappedOsIdFault OvfMappedOsId
 59315  
 59316  func init() {
 59317  	t["OvfMappedOsIdFault"] = reflect.TypeOf((*OvfMappedOsIdFault)(nil)).Elem()
 59318  }
 59319  
 59320  // If the Ovf descriptor is missing an attribute this exception is thrown.
 59321  type OvfMissingAttribute struct {
 59322  	OvfAttribute
 59323  }
 59324  
 59325  func init() {
 59326  	t["OvfMissingAttribute"] = reflect.TypeOf((*OvfMissingAttribute)(nil)).Elem()
 59327  	minAPIVersionForType["OvfMissingAttribute"] = "4.0"
 59328  }
 59329  
 59330  type OvfMissingAttributeFault OvfMissingAttribute
 59331  
 59332  func init() {
 59333  	t["OvfMissingAttributeFault"] = reflect.TypeOf((*OvfMissingAttributeFault)(nil)).Elem()
 59334  }
 59335  
 59336  // If the Ovf descriptor is missing an Element this exception is thrown.
 59337  type OvfMissingElement struct {
 59338  	OvfElement
 59339  }
 59340  
 59341  func init() {
 59342  	t["OvfMissingElement"] = reflect.TypeOf((*OvfMissingElement)(nil)).Elem()
 59343  	minAPIVersionForType["OvfMissingElement"] = "4.0"
 59344  }
 59345  
 59346  type OvfMissingElementFault BaseOvfMissingElement
 59347  
 59348  func init() {
 59349  	t["OvfMissingElementFault"] = reflect.TypeOf((*OvfMissingElementFault)(nil)).Elem()
 59350  }
 59351  
 59352  // If the Ovf descriptor element normal boundary is not met this exception is thrown.
 59353  type OvfMissingElementNormalBoundary struct {
 59354  	OvfMissingElement
 59355  
 59356  	// The missing bound
 59357  	Boundary string `xml:"boundary" json:"boundary"`
 59358  }
 59359  
 59360  func init() {
 59361  	t["OvfMissingElementNormalBoundary"] = reflect.TypeOf((*OvfMissingElementNormalBoundary)(nil)).Elem()
 59362  	minAPIVersionForType["OvfMissingElementNormalBoundary"] = "4.0"
 59363  }
 59364  
 59365  type OvfMissingElementNormalBoundaryFault OvfMissingElementNormalBoundary
 59366  
 59367  func init() {
 59368  	t["OvfMissingElementNormalBoundaryFault"] = reflect.TypeOf((*OvfMissingElementNormalBoundaryFault)(nil)).Elem()
 59369  }
 59370  
 59371  // The OVF descriptor does not have a description of
 59372  // a required hardware element e.g CPU, Memory
 59373  type OvfMissingHardware struct {
 59374  	OvfImport
 59375  
 59376  	// Name of the missing hardware.
 59377  	Name string `xml:"name" json:"name"`
 59378  	// OVF rasd resource type of the missing hardware.
 59379  	ResourceType int32 `xml:"resourceType" json:"resourceType"`
 59380  }
 59381  
 59382  func init() {
 59383  	t["OvfMissingHardware"] = reflect.TypeOf((*OvfMissingHardware)(nil)).Elem()
 59384  	minAPIVersionForType["OvfMissingHardware"] = "4.0"
 59385  }
 59386  
 59387  type OvfMissingHardwareFault OvfMissingHardware
 59388  
 59389  func init() {
 59390  	t["OvfMissingHardwareFault"] = reflect.TypeOf((*OvfMissingHardwareFault)(nil)).Elem()
 59391  }
 59392  
 59393  // The name and description of a network as specified by the OVF descriptor.
 59394  type OvfNetworkInfo struct {
 59395  	DynamicData
 59396  
 59397  	Name        string `xml:"name" json:"name"`
 59398  	Description string `xml:"description" json:"description"`
 59399  }
 59400  
 59401  func init() {
 59402  	t["OvfNetworkInfo"] = reflect.TypeOf((*OvfNetworkInfo)(nil)).Elem()
 59403  	minAPIVersionForType["OvfNetworkInfo"] = "4.0"
 59404  }
 59405  
 59406  // A NetworkMapping is a choice made by the caller about which VI network to use for a
 59407  // specific network in the OVF descriptor.
 59408  type OvfNetworkMapping struct {
 59409  	DynamicData
 59410  
 59411  	Name    string                 `xml:"name" json:"name"`
 59412  	Network ManagedObjectReference `xml:"network" json:"network"`
 59413  }
 59414  
 59415  func init() {
 59416  	t["OvfNetworkMapping"] = reflect.TypeOf((*OvfNetworkMapping)(nil)).Elem()
 59417  	minAPIVersionForType["OvfNetworkMapping"] = "4.0"
 59418  }
 59419  
 59420  // The network mapping provided for OVF Import
 59421  // is not supported by any hosts
 59422  type OvfNetworkMappingNotSupported struct {
 59423  	OvfImport
 59424  }
 59425  
 59426  func init() {
 59427  	t["OvfNetworkMappingNotSupported"] = reflect.TypeOf((*OvfNetworkMappingNotSupported)(nil)).Elem()
 59428  	minAPIVersionForType["OvfNetworkMappingNotSupported"] = "5.1"
 59429  }
 59430  
 59431  type OvfNetworkMappingNotSupportedFault OvfNetworkMappingNotSupported
 59432  
 59433  func init() {
 59434  	t["OvfNetworkMappingNotSupportedFault"] = reflect.TypeOf((*OvfNetworkMappingNotSupportedFault)(nil)).Elem()
 59435  }
 59436  
 59437  // This fault is used if there is no network defined on host
 59438  type OvfNoHostNic struct {
 59439  	OvfUnsupportedPackage
 59440  }
 59441  
 59442  func init() {
 59443  	t["OvfNoHostNic"] = reflect.TypeOf((*OvfNoHostNic)(nil)).Elem()
 59444  	minAPIVersionForType["OvfNoHostNic"] = "4.0"
 59445  }
 59446  
 59447  type OvfNoHostNicFault OvfNoHostNic
 59448  
 59449  func init() {
 59450  	t["OvfNoHostNicFault"] = reflect.TypeOf((*OvfNoHostNicFault)(nil)).Elem()
 59451  }
 59452  
 59453  // If the hardware element (RASD) point to a parent controller where there is no
 59454  // space left.
 59455  type OvfNoSpaceOnController struct {
 59456  	OvfUnsupportedElement
 59457  
 59458  	// The parent reference
 59459  	Parent string `xml:"parent" json:"parent"`
 59460  }
 59461  
 59462  func init() {
 59463  	t["OvfNoSpaceOnController"] = reflect.TypeOf((*OvfNoSpaceOnController)(nil)).Elem()
 59464  	minAPIVersionForType["OvfNoSpaceOnController"] = "5.0"
 59465  }
 59466  
 59467  type OvfNoSpaceOnControllerFault OvfNoSpaceOnController
 59468  
 59469  func init() {
 59470  	t["OvfNoSpaceOnControllerFault"] = reflect.TypeOf((*OvfNoSpaceOnControllerFault)(nil)).Elem()
 59471  }
 59472  
 59473  type OvfNoSupportedHardwareFamily struct {
 59474  	OvfUnsupportedPackage
 59475  
 59476  	// Version found that was not supported
 59477  	Version string `xml:"version" json:"version"`
 59478  }
 59479  
 59480  func init() {
 59481  	t["OvfNoSupportedHardwareFamily"] = reflect.TypeOf((*OvfNoSupportedHardwareFamily)(nil)).Elem()
 59482  }
 59483  
 59484  type OvfNoSupportedHardwareFamilyFault OvfNoSupportedHardwareFamily
 59485  
 59486  func init() {
 59487  	t["OvfNoSupportedHardwareFamilyFault"] = reflect.TypeOf((*OvfNoSupportedHardwareFamilyFault)(nil)).Elem()
 59488  }
 59489  
 59490  // Represents the OVF options the server support for import and export of
 59491  // OVFs
 59492  type OvfOptionInfo struct {
 59493  	DynamicData
 59494  
 59495  	// The name of the OVF option that is supported by the server
 59496  	Option string `xml:"option" json:"option"`
 59497  	// A description of the OVF option
 59498  	Description LocalizableMessage `xml:"description" json:"description"`
 59499  }
 59500  
 59501  func init() {
 59502  	t["OvfOptionInfo"] = reflect.TypeOf((*OvfOptionInfo)(nil)).Elem()
 59503  	minAPIVersionForType["OvfOptionInfo"] = "5.1"
 59504  }
 59505  
 59506  type OvfParseDescriptorParams struct {
 59507  	OvfManagerCommonParams
 59508  }
 59509  
 59510  func init() {
 59511  	t["OvfParseDescriptorParams"] = reflect.TypeOf((*OvfParseDescriptorParams)(nil)).Elem()
 59512  }
 59513  
 59514  type OvfParseDescriptorResult struct {
 59515  	DynamicData
 59516  
 59517  	// The list of all EULAs contained in the OVF
 59518  	Eula []string `xml:"eula,omitempty" json:"eula,omitempty"`
 59519  	// The list of networks required by the OVF
 59520  	Network []OvfNetworkInfo `xml:"network,omitempty" json:"network,omitempty"`
 59521  	// The kind of IP allocation supported by the guest.
 59522  	//
 59523  	// See `VAppIPAssignmentInfo`.
 59524  	IpAllocationScheme []string `xml:"ipAllocationScheme,omitempty" json:"ipAllocationScheme,omitempty"`
 59525  	// The IP protocols supported by the guest.
 59526  	//
 59527  	// See `VAppIPAssignmentInfo`.
 59528  	IpProtocols []string `xml:"ipProtocols,omitempty" json:"ipProtocols,omitempty"`
 59529  	// Metadata about the properties contained in the OVF
 59530  	Property []VAppPropertyInfo `xml:"property,omitempty" json:"property,omitempty"`
 59531  	// The product info contained in the OVF
 59532  	ProductInfo *VAppProductInfo `xml:"productInfo,omitempty" json:"productInfo,omitempty"`
 59533  	// The annotation info contained in the OVF
 59534  	Annotation string `xml:"annotation" json:"annotation"`
 59535  	// The OVF Manager's best guess as to the total amount
 59536  	// of data that must be transferred to download the entity.
 59537  	//
 59538  	// This may be inaccurate due to disk compression etc.
 59539  	ApproximateDownloadSize int64 `xml:"approximateDownloadSize,omitempty" json:"approximateDownloadSize,omitempty"`
 59540  	// The OVF Manager's best guess as to the total amount of space required to deploy
 59541  	// the entity if using flat disks.
 59542  	ApproximateFlatDeploymentSize int64 `xml:"approximateFlatDeploymentSize,omitempty" json:"approximateFlatDeploymentSize,omitempty"`
 59543  	// The OVF Manager's best guess as to the total amount of space required to deploy
 59544  	// the entity using sparse disks.
 59545  	ApproximateSparseDeploymentSize int64 `xml:"approximateSparseDeploymentSize,omitempty" json:"approximateSparseDeploymentSize,omitempty"`
 59546  	// The default name to use for the entity, if a product name is not
 59547  	// specified.
 59548  	//
 59549  	// This is the ID of the OVF top-level entity, or taken from a
 59550  	// ProductSection.
 59551  	DefaultEntityName string `xml:"defaultEntityName" json:"defaultEntityName"`
 59552  	// True if the OVF contains a vApp (containing one or more vApps
 59553  	// and/or virtual machines), as opposed to a single virtual machine.
 59554  	VirtualApp bool `xml:"virtualApp" json:"virtualApp"`
 59555  	// The list of possible deployment options.
 59556  	DeploymentOption []OvfDeploymentOption `xml:"deploymentOption,omitempty" json:"deploymentOption,omitempty"`
 59557  	// The key of the default deployment option.
 59558  	//
 59559  	// Empty only if there are no
 59560  	// deployment options.
 59561  	DefaultDeploymentOption string `xml:"defaultDeploymentOption" json:"defaultDeploymentOption"`
 59562  	// A list of the child entities contained in this package
 59563  	// and their location in the vApp hierarchy.
 59564  	//
 59565  	// Each entry is a
 59566  	// (key,value) pair, where the key is the display name, and
 59567  	// the value is a unique path identifier for the entity in
 59568  	// the vApp. The path is constructed by appending the id
 59569  	// of each entity of the path down to the entity, separated
 59570  	// by slashes. For example, the path for a child of the root
 59571  	// entity with id = "vm1", would simply be "vm1". If the vm is
 59572  	// the child of a VirtualSystemCollection called "webTier", then
 59573  	// the path would be "webTier/vm".
 59574  	EntityName []KeyValue `xml:"entityName,omitempty" json:"entityName,omitempty" vim:"4.1"`
 59575  	// The annotated OST for the OVF descriptor, generated by OVF
 59576  	// consumers.
 59577  	//
 59578  	// See `OvfConsumer` for details.
 59579  	AnnotatedOst *OvfConsumerOstNode `xml:"annotatedOst,omitempty" json:"annotatedOst,omitempty" vim:"5.0"`
 59580  	// Errors that happened during processing.
 59581  	//
 59582  	// Something
 59583  	// will be wrong with the result.
 59584  	//
 59585  	// For example, during export, devices could be
 59586  	// missing (in which case this array will contain one
 59587  	// or more instances of Unsupported-/UnknownDevice).
 59588  	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 59589  	// Non-fatal warnings from the processing.
 59590  	//
 59591  	// The result will be valid, but the
 59592  	// user may choose to reject it based on these
 59593  	// warnings.
 59594  	Warning []LocalizedMethodFault `xml:"warning,omitempty" json:"warning,omitempty"`
 59595  }
 59596  
 59597  func init() {
 59598  	t["OvfParseDescriptorResult"] = reflect.TypeOf((*OvfParseDescriptorResult)(nil)).Elem()
 59599  }
 59600  
 59601  // A base fault for property faults in the property section of the Ovf XML descriptor.
 59602  type OvfProperty struct {
 59603  	OvfInvalidPackage
 59604  
 59605  	// The type of the property
 59606  	Type string `xml:"type" json:"type"`
 59607  	// The value of the property
 59608  	Value string `xml:"value" json:"value"`
 59609  }
 59610  
 59611  func init() {
 59612  	t["OvfProperty"] = reflect.TypeOf((*OvfProperty)(nil)).Elem()
 59613  	minAPIVersionForType["OvfProperty"] = "4.0"
 59614  }
 59615  
 59616  // VIM property type that can not be converted to OVF
 59617  type OvfPropertyExport struct {
 59618  	OvfExport
 59619  
 59620  	// VIM type
 59621  	Type string `xml:"type" json:"type"`
 59622  	// VIM value
 59623  	Value string `xml:"value" json:"value"`
 59624  }
 59625  
 59626  func init() {
 59627  	t["OvfPropertyExport"] = reflect.TypeOf((*OvfPropertyExport)(nil)).Elem()
 59628  	minAPIVersionForType["OvfPropertyExport"] = "4.0"
 59629  }
 59630  
 59631  type OvfPropertyExportFault OvfPropertyExport
 59632  
 59633  func init() {
 59634  	t["OvfPropertyExportFault"] = reflect.TypeOf((*OvfPropertyExportFault)(nil)).Elem()
 59635  }
 59636  
 59637  type OvfPropertyFault BaseOvfProperty
 59638  
 59639  func init() {
 59640  	t["OvfPropertyFault"] = reflect.TypeOf((*OvfPropertyFault)(nil)).Elem()
 59641  }
 59642  
 59643  // A class used indicate there was a property network error
 59644  type OvfPropertyNetwork struct {
 59645  	OvfProperty
 59646  }
 59647  
 59648  func init() {
 59649  	t["OvfPropertyNetwork"] = reflect.TypeOf((*OvfPropertyNetwork)(nil)).Elem()
 59650  	minAPIVersionForType["OvfPropertyNetwork"] = "4.0"
 59651  }
 59652  
 59653  // VIM property type that refers to a network that
 59654  // does not exist in the package since no virtual machines
 59655  // are hooked up to it.
 59656  type OvfPropertyNetworkExport struct {
 59657  	OvfExport
 59658  
 59659  	// name of network
 59660  	Network string `xml:"network" json:"network"`
 59661  }
 59662  
 59663  func init() {
 59664  	t["OvfPropertyNetworkExport"] = reflect.TypeOf((*OvfPropertyNetworkExport)(nil)).Elem()
 59665  	minAPIVersionForType["OvfPropertyNetworkExport"] = "5.0"
 59666  }
 59667  
 59668  type OvfPropertyNetworkExportFault OvfPropertyNetworkExport
 59669  
 59670  func init() {
 59671  	t["OvfPropertyNetworkExportFault"] = reflect.TypeOf((*OvfPropertyNetworkExportFault)(nil)).Elem()
 59672  }
 59673  
 59674  type OvfPropertyNetworkFault OvfPropertyNetwork
 59675  
 59676  func init() {
 59677  	t["OvfPropertyNetworkFault"] = reflect.TypeOf((*OvfPropertyNetworkFault)(nil)).Elem()
 59678  }
 59679  
 59680  // A class used to indicate there was a property qualifier error
 59681  type OvfPropertyQualifier struct {
 59682  	OvfProperty
 59683  
 59684  	// qualifiers
 59685  	Qualifier string `xml:"qualifier" json:"qualifier"`
 59686  }
 59687  
 59688  func init() {
 59689  	t["OvfPropertyQualifier"] = reflect.TypeOf((*OvfPropertyQualifier)(nil)).Elem()
 59690  	minAPIVersionForType["OvfPropertyQualifier"] = "4.0"
 59691  }
 59692  
 59693  // Indicate that a property qualifier was duplicated.
 59694  type OvfPropertyQualifierDuplicate struct {
 59695  	OvfProperty
 59696  
 59697  	// qualifiers
 59698  	Qualifier string `xml:"qualifier" json:"qualifier"`
 59699  }
 59700  
 59701  func init() {
 59702  	t["OvfPropertyQualifierDuplicate"] = reflect.TypeOf((*OvfPropertyQualifierDuplicate)(nil)).Elem()
 59703  	minAPIVersionForType["OvfPropertyQualifierDuplicate"] = "4.0"
 59704  }
 59705  
 59706  type OvfPropertyQualifierDuplicateFault OvfPropertyQualifierDuplicate
 59707  
 59708  func init() {
 59709  	t["OvfPropertyQualifierDuplicateFault"] = reflect.TypeOf((*OvfPropertyQualifierDuplicateFault)(nil)).Elem()
 59710  }
 59711  
 59712  type OvfPropertyQualifierFault OvfPropertyQualifier
 59713  
 59714  func init() {
 59715  	t["OvfPropertyQualifierFault"] = reflect.TypeOf((*OvfPropertyQualifierFault)(nil)).Elem()
 59716  }
 59717  
 59718  // Indicate that the was qualifier was ignored
 59719  type OvfPropertyQualifierIgnored struct {
 59720  	OvfProperty
 59721  
 59722  	// qualifiers
 59723  	Qualifier string `xml:"qualifier" json:"qualifier"`
 59724  }
 59725  
 59726  func init() {
 59727  	t["OvfPropertyQualifierIgnored"] = reflect.TypeOf((*OvfPropertyQualifierIgnored)(nil)).Elem()
 59728  	minAPIVersionForType["OvfPropertyQualifierIgnored"] = "4.0"
 59729  }
 59730  
 59731  type OvfPropertyQualifierIgnoredFault OvfPropertyQualifierIgnored
 59732  
 59733  func init() {
 59734  	t["OvfPropertyQualifierIgnoredFault"] = reflect.TypeOf((*OvfPropertyQualifierIgnoredFault)(nil)).Elem()
 59735  }
 59736  
 59737  // A class used to indicate there was a property type error
 59738  type OvfPropertyType struct {
 59739  	OvfProperty
 59740  }
 59741  
 59742  func init() {
 59743  	t["OvfPropertyType"] = reflect.TypeOf((*OvfPropertyType)(nil)).Elem()
 59744  	minAPIVersionForType["OvfPropertyType"] = "4.0"
 59745  }
 59746  
 59747  type OvfPropertyTypeFault OvfPropertyType
 59748  
 59749  func init() {
 59750  	t["OvfPropertyTypeFault"] = reflect.TypeOf((*OvfPropertyTypeFault)(nil)).Elem()
 59751  }
 59752  
 59753  // A class used indicate there was a property value error
 59754  type OvfPropertyValue struct {
 59755  	OvfProperty
 59756  }
 59757  
 59758  func init() {
 59759  	t["OvfPropertyValue"] = reflect.TypeOf((*OvfPropertyValue)(nil)).Elem()
 59760  	minAPIVersionForType["OvfPropertyValue"] = "4.0"
 59761  }
 59762  
 59763  type OvfPropertyValueFault OvfPropertyValue
 59764  
 59765  func init() {
 59766  	t["OvfPropertyValueFault"] = reflect.TypeOf((*OvfPropertyValueFault)(nil)).Elem()
 59767  }
 59768  
 59769  // Deprecated as of vSphere API 5.1.
 59770  //
 59771  // Maps source child entities to destination resource pools
 59772  // and resource settings.
 59773  //
 59774  // If a mapping is not specified,
 59775  // a child is copied as a direct child of the parent.
 59776  type OvfResourceMap struct {
 59777  	DynamicData
 59778  
 59779  	// Identifies a source VirtualSystem or VirtualSystemCollection in an OVF
 59780  	// descriptor.
 59781  	//
 59782  	// The source cannot be the root VirtualSystem or
 59783  	// VirtualSystemCollection of the OVF.
 59784  	// This is a path created by concatenating the OVF ids for each entity, e.g., "vm1",
 59785  	// "WebTier/vm2", etc.
 59786  	Source string `xml:"source" json:"source"`
 59787  	// The parent resource pool to use for the entity.
 59788  	//
 59789  	// This must specify a
 59790  	// resource pool that is not part of the vApp. If this is specified, a linked
 59791  	// child (as opposed to a direct child) is created for the vApp.
 59792  	//
 59793  	// Refers instance of `ResourcePool`.
 59794  	Parent *ManagedObjectReference `xml:"parent,omitempty" json:"parent,omitempty"`
 59795  	// An optional resource configuration for the created entity.
 59796  	//
 59797  	// If
 59798  	// not specified, the resource configuration given in the OVF descriptor
 59799  	// is used.
 59800  	ResourceSpec *ResourceConfigSpec `xml:"resourceSpec,omitempty" json:"resourceSpec,omitempty"`
 59801  	// A client can optionally specify a datastore location in the resource map to
 59802  	// override the default datastore passed into `OvfManager.CreateImportSpec` field.
 59803  	//
 59804  	// This enables importing to different compute resources that do not have shared
 59805  	// datastores.
 59806  	//
 59807  	// Refers instance of `Datastore`.
 59808  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 59809  }
 59810  
 59811  func init() {
 59812  	t["OvfResourceMap"] = reflect.TypeOf((*OvfResourceMap)(nil)).Elem()
 59813  	minAPIVersionForType["OvfResourceMap"] = "4.1"
 59814  }
 59815  
 59816  // A common base class to host all the OVF subsystems's system faults.
 59817  //
 59818  // This is a class of fault that can be thrown because of
 59819  // some api changes, new hardware that are not supported by
 59820  // the host.
 59821  type OvfSystemFault struct {
 59822  	OvfFault
 59823  }
 59824  
 59825  func init() {
 59826  	t["OvfSystemFault"] = reflect.TypeOf((*OvfSystemFault)(nil)).Elem()
 59827  	minAPIVersionForType["OvfSystemFault"] = "4.0"
 59828  }
 59829  
 59830  type OvfSystemFaultFault BaseOvfSystemFault
 59831  
 59832  func init() {
 59833  	t["OvfSystemFaultFault"] = reflect.TypeOf((*OvfSystemFaultFault)(nil)).Elem()
 59834  }
 59835  
 59836  // Unsupported element to export to XML
 59837  type OvfToXmlUnsupportedElement struct {
 59838  	OvfSystemFault
 59839  
 59840  	// The name of the xml element we could not write to the xml descriptor
 59841  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 59842  }
 59843  
 59844  func init() {
 59845  	t["OvfToXmlUnsupportedElement"] = reflect.TypeOf((*OvfToXmlUnsupportedElement)(nil)).Elem()
 59846  	minAPIVersionForType["OvfToXmlUnsupportedElement"] = "4.0"
 59847  }
 59848  
 59849  type OvfToXmlUnsupportedElementFault OvfToXmlUnsupportedElement
 59850  
 59851  func init() {
 59852  	t["OvfToXmlUnsupportedElementFault"] = reflect.TypeOf((*OvfToXmlUnsupportedElementFault)(nil)).Elem()
 59853  }
 59854  
 59855  type OvfUnableToExportDisk struct {
 59856  	OvfHardwareExport
 59857  
 59858  	// disk name
 59859  	DiskName string `xml:"diskName" json:"diskName"`
 59860  }
 59861  
 59862  func init() {
 59863  	t["OvfUnableToExportDisk"] = reflect.TypeOf((*OvfUnableToExportDisk)(nil)).Elem()
 59864  }
 59865  
 59866  type OvfUnableToExportDiskFault OvfUnableToExportDisk
 59867  
 59868  func init() {
 59869  	t["OvfUnableToExportDiskFault"] = reflect.TypeOf((*OvfUnableToExportDiskFault)(nil)).Elem()
 59870  }
 59871  
 59872  // Class used to indicate an unexpected element in the Ovf descriptor
 59873  type OvfUnexpectedElement struct {
 59874  	OvfElement
 59875  }
 59876  
 59877  func init() {
 59878  	t["OvfUnexpectedElement"] = reflect.TypeOf((*OvfUnexpectedElement)(nil)).Elem()
 59879  	minAPIVersionForType["OvfUnexpectedElement"] = "4.0"
 59880  }
 59881  
 59882  type OvfUnexpectedElementFault OvfUnexpectedElement
 59883  
 59884  func init() {
 59885  	t["OvfUnexpectedElementFault"] = reflect.TypeOf((*OvfUnexpectedElementFault)(nil)).Elem()
 59886  }
 59887  
 59888  type OvfUnknownDevice struct {
 59889  	OvfSystemFault
 59890  
 59891  	// The unknown device
 59892  	Device BaseVirtualDevice `xml:"device,omitempty,typeattr" json:"device,omitempty"`
 59893  	// The name of the Virtual Machine containing the unkown device
 59894  	VmName string `xml:"vmName" json:"vmName"`
 59895  }
 59896  
 59897  func init() {
 59898  	t["OvfUnknownDevice"] = reflect.TypeOf((*OvfUnknownDevice)(nil)).Elem()
 59899  }
 59900  
 59901  type OvfUnknownDeviceBacking struct {
 59902  	OvfHardwareExport
 59903  
 59904  	// The VirtualDevice BackingInfo that is not supported by OVF export.
 59905  	Backing BaseVirtualDeviceBackingInfo `xml:"backing,typeattr" json:"backing"`
 59906  }
 59907  
 59908  func init() {
 59909  	t["OvfUnknownDeviceBacking"] = reflect.TypeOf((*OvfUnknownDeviceBacking)(nil)).Elem()
 59910  }
 59911  
 59912  type OvfUnknownDeviceBackingFault OvfUnknownDeviceBacking
 59913  
 59914  func init() {
 59915  	t["OvfUnknownDeviceBackingFault"] = reflect.TypeOf((*OvfUnknownDeviceBackingFault)(nil)).Elem()
 59916  }
 59917  
 59918  type OvfUnknownDeviceFault OvfUnknownDevice
 59919  
 59920  func init() {
 59921  	t["OvfUnknownDeviceFault"] = reflect.TypeOf((*OvfUnknownDeviceFault)(nil)).Elem()
 59922  }
 59923  
 59924  type OvfUnknownEntity struct {
 59925  	OvfSystemFault
 59926  
 59927  	// line number where the unknown entity was found
 59928  	LineNumber int32 `xml:"lineNumber" json:"lineNumber"`
 59929  }
 59930  
 59931  func init() {
 59932  	t["OvfUnknownEntity"] = reflect.TypeOf((*OvfUnknownEntity)(nil)).Elem()
 59933  }
 59934  
 59935  type OvfUnknownEntityFault OvfUnknownEntity
 59936  
 59937  func init() {
 59938  	t["OvfUnknownEntityFault"] = reflect.TypeOf((*OvfUnknownEntityFault)(nil)).Elem()
 59939  }
 59940  
 59941  // If the Ovf descriptor have an unsupported attribute.
 59942  type OvfUnsupportedAttribute struct {
 59943  	OvfUnsupportedPackage
 59944  
 59945  	// The name of the element with the unsupported attribute
 59946  	ElementName string `xml:"elementName" json:"elementName"`
 59947  	// The name of the unsupported attribute
 59948  	AttributeName string `xml:"attributeName" json:"attributeName"`
 59949  }
 59950  
 59951  func init() {
 59952  	t["OvfUnsupportedAttribute"] = reflect.TypeOf((*OvfUnsupportedAttribute)(nil)).Elem()
 59953  	minAPIVersionForType["OvfUnsupportedAttribute"] = "4.0"
 59954  }
 59955  
 59956  type OvfUnsupportedAttributeFault BaseOvfUnsupportedAttribute
 59957  
 59958  func init() {
 59959  	t["OvfUnsupportedAttributeFault"] = reflect.TypeOf((*OvfUnsupportedAttributeFault)(nil)).Elem()
 59960  }
 59961  
 59962  // Used when an OVF descriptor attribute has an unsupported value.
 59963  type OvfUnsupportedAttributeValue struct {
 59964  	OvfUnsupportedAttribute
 59965  
 59966  	// Unsupported attribute value
 59967  	Value string `xml:"value" json:"value"`
 59968  }
 59969  
 59970  func init() {
 59971  	t["OvfUnsupportedAttributeValue"] = reflect.TypeOf((*OvfUnsupportedAttributeValue)(nil)).Elem()
 59972  	minAPIVersionForType["OvfUnsupportedAttributeValue"] = "4.0"
 59973  }
 59974  
 59975  type OvfUnsupportedAttributeValueFault OvfUnsupportedAttributeValue
 59976  
 59977  func init() {
 59978  	t["OvfUnsupportedAttributeValueFault"] = reflect.TypeOf((*OvfUnsupportedAttributeValueFault)(nil)).Elem()
 59979  }
 59980  
 59981  type OvfUnsupportedDeviceBackingInfo struct {
 59982  	OvfSystemFault
 59983  
 59984  	// The element name
 59985  	ElementName string `xml:"elementName,omitempty" json:"elementName,omitempty"`
 59986  	// The InstanceId on the hardware description
 59987  	InstanceId string `xml:"instanceId,omitempty" json:"instanceId,omitempty"`
 59988  	// The device name
 59989  	DeviceName string `xml:"deviceName" json:"deviceName"`
 59990  	// The name of the VirtualDevice Backing Info not supported on the device.
 59991  	BackingName string `xml:"backingName,omitempty" json:"backingName,omitempty"`
 59992  }
 59993  
 59994  func init() {
 59995  	t["OvfUnsupportedDeviceBackingInfo"] = reflect.TypeOf((*OvfUnsupportedDeviceBackingInfo)(nil)).Elem()
 59996  }
 59997  
 59998  type OvfUnsupportedDeviceBackingInfoFault OvfUnsupportedDeviceBackingInfo
 59999  
 60000  func init() {
 60001  	t["OvfUnsupportedDeviceBackingInfoFault"] = reflect.TypeOf((*OvfUnsupportedDeviceBackingInfoFault)(nil)).Elem()
 60002  }
 60003  
 60004  type OvfUnsupportedDeviceBackingOption struct {
 60005  	OvfSystemFault
 60006  
 60007  	// The element name
 60008  	ElementName string `xml:"elementName,omitempty" json:"elementName,omitempty"`
 60009  	// The InstanceId for the hardware element
 60010  	InstanceId string `xml:"instanceId,omitempty" json:"instanceId,omitempty"`
 60011  	// The device name
 60012  	DeviceName string `xml:"deviceName" json:"deviceName"`
 60013  	// The name of the VirtualDevice Backing Option not supported on the device.
 60014  	BackingName string `xml:"backingName,omitempty" json:"backingName,omitempty"`
 60015  }
 60016  
 60017  func init() {
 60018  	t["OvfUnsupportedDeviceBackingOption"] = reflect.TypeOf((*OvfUnsupportedDeviceBackingOption)(nil)).Elem()
 60019  }
 60020  
 60021  type OvfUnsupportedDeviceBackingOptionFault OvfUnsupportedDeviceBackingOption
 60022  
 60023  func init() {
 60024  	t["OvfUnsupportedDeviceBackingOptionFault"] = reflect.TypeOf((*OvfUnsupportedDeviceBackingOptionFault)(nil)).Elem()
 60025  }
 60026  
 60027  type OvfUnsupportedDeviceExport struct {
 60028  	OvfHardwareExport
 60029  }
 60030  
 60031  func init() {
 60032  	t["OvfUnsupportedDeviceExport"] = reflect.TypeOf((*OvfUnsupportedDeviceExport)(nil)).Elem()
 60033  }
 60034  
 60035  type OvfUnsupportedDeviceExportFault OvfUnsupportedDeviceExport
 60036  
 60037  func init() {
 60038  	t["OvfUnsupportedDeviceExportFault"] = reflect.TypeOf((*OvfUnsupportedDeviceExportFault)(nil)).Elem()
 60039  }
 60040  
 60041  // Disk provisioning not supported
 60042  type OvfUnsupportedDiskProvisioning struct {
 60043  	OvfImport
 60044  
 60045  	// The disk provisioning that was not supported.
 60046  	DiskProvisioning string `xml:"diskProvisioning" json:"diskProvisioning"`
 60047  	// Disk modes supported by the host.
 60048  	SupportedDiskProvisioning string `xml:"supportedDiskProvisioning" json:"supportedDiskProvisioning"`
 60049  }
 60050  
 60051  func init() {
 60052  	t["OvfUnsupportedDiskProvisioning"] = reflect.TypeOf((*OvfUnsupportedDiskProvisioning)(nil)).Elem()
 60053  	minAPIVersionForType["OvfUnsupportedDiskProvisioning"] = "4.1"
 60054  }
 60055  
 60056  type OvfUnsupportedDiskProvisioningFault OvfUnsupportedDiskProvisioning
 60057  
 60058  func init() {
 60059  	t["OvfUnsupportedDiskProvisioningFault"] = reflect.TypeOf((*OvfUnsupportedDiskProvisioningFault)(nil)).Elem()
 60060  }
 60061  
 60062  // If the Ovf descriptor has an unsupported element where it is not allowed.
 60063  type OvfUnsupportedElement struct {
 60064  	OvfUnsupportedPackage
 60065  
 60066  	// The name of the unsupported element
 60067  	Name string `xml:"name" json:"name"`
 60068  }
 60069  
 60070  func init() {
 60071  	t["OvfUnsupportedElement"] = reflect.TypeOf((*OvfUnsupportedElement)(nil)).Elem()
 60072  	minAPIVersionForType["OvfUnsupportedElement"] = "4.0"
 60073  }
 60074  
 60075  type OvfUnsupportedElementFault BaseOvfUnsupportedElement
 60076  
 60077  func init() {
 60078  	t["OvfUnsupportedElementFault"] = reflect.TypeOf((*OvfUnsupportedElementFault)(nil)).Elem()
 60079  }
 60080  
 60081  // If the Ovf descriptor has an unsupported value of a element in the
 60082  // OVF descriptor.
 60083  type OvfUnsupportedElementValue struct {
 60084  	OvfUnsupportedElement
 60085  
 60086  	// The unsupported element value
 60087  	Value string `xml:"value" json:"value"`
 60088  }
 60089  
 60090  func init() {
 60091  	t["OvfUnsupportedElementValue"] = reflect.TypeOf((*OvfUnsupportedElementValue)(nil)).Elem()
 60092  	minAPIVersionForType["OvfUnsupportedElementValue"] = "4.0"
 60093  }
 60094  
 60095  type OvfUnsupportedElementValueFault OvfUnsupportedElementValue
 60096  
 60097  func init() {
 60098  	t["OvfUnsupportedElementValueFault"] = reflect.TypeOf((*OvfUnsupportedElementValueFault)(nil)).Elem()
 60099  }
 60100  
 60101  // A common base class to host all the Ovf Lib Unsupported Package faults
 60102  type OvfUnsupportedPackage struct {
 60103  	OvfFault
 60104  
 60105  	// OVF descriptor linenumber
 60106  	LineNumber int32 `xml:"lineNumber,omitempty" json:"lineNumber,omitempty"`
 60107  }
 60108  
 60109  func init() {
 60110  	t["OvfUnsupportedPackage"] = reflect.TypeOf((*OvfUnsupportedPackage)(nil)).Elem()
 60111  	minAPIVersionForType["OvfUnsupportedPackage"] = "4.0"
 60112  }
 60113  
 60114  type OvfUnsupportedPackageFault BaseOvfUnsupportedPackage
 60115  
 60116  func init() {
 60117  	t["OvfUnsupportedPackageFault"] = reflect.TypeOf((*OvfUnsupportedPackageFault)(nil)).Elem()
 60118  }
 60119  
 60120  // If the Ovf descriptor has an unsupported required section.
 60121  type OvfUnsupportedSection struct {
 60122  	OvfUnsupportedElement
 60123  
 60124  	// The info of the unsupported section
 60125  	Info string `xml:"info" json:"info"`
 60126  }
 60127  
 60128  func init() {
 60129  	t["OvfUnsupportedSection"] = reflect.TypeOf((*OvfUnsupportedSection)(nil)).Elem()
 60130  	minAPIVersionForType["OvfUnsupportedSection"] = "4.0"
 60131  }
 60132  
 60133  type OvfUnsupportedSectionFault OvfUnsupportedSection
 60134  
 60135  func init() {
 60136  	t["OvfUnsupportedSectionFault"] = reflect.TypeOf((*OvfUnsupportedSectionFault)(nil)).Elem()
 60137  }
 60138  
 60139  type OvfUnsupportedSubType struct {
 60140  	OvfUnsupportedPackage
 60141  
 60142  	// The name of the element with the unsupported type
 60143  	ElementName string `xml:"elementName" json:"elementName"`
 60144  	// The OVF RASD InstanceId for the hardware description
 60145  	InstanceId string `xml:"instanceId" json:"instanceId"`
 60146  	// The device type
 60147  	DeviceType int32 `xml:"deviceType" json:"deviceType"`
 60148  	// The device subtype that is unsupported
 60149  	DeviceSubType string `xml:"deviceSubType" json:"deviceSubType"`
 60150  }
 60151  
 60152  func init() {
 60153  	t["OvfUnsupportedSubType"] = reflect.TypeOf((*OvfUnsupportedSubType)(nil)).Elem()
 60154  }
 60155  
 60156  type OvfUnsupportedSubTypeFault OvfUnsupportedSubType
 60157  
 60158  func init() {
 60159  	t["OvfUnsupportedSubTypeFault"] = reflect.TypeOf((*OvfUnsupportedSubTypeFault)(nil)).Elem()
 60160  }
 60161  
 60162  type OvfUnsupportedType struct {
 60163  	OvfUnsupportedPackage
 60164  
 60165  	// The name of the element with the unsupported type
 60166  	Name string `xml:"name" json:"name"`
 60167  	// The OVF RASD InstanceId for the hardware description
 60168  	InstanceId string `xml:"instanceId" json:"instanceId"`
 60169  	// The device type that is unsupported
 60170  	DeviceType int32 `xml:"deviceType" json:"deviceType"`
 60171  }
 60172  
 60173  func init() {
 60174  	t["OvfUnsupportedType"] = reflect.TypeOf((*OvfUnsupportedType)(nil)).Elem()
 60175  }
 60176  
 60177  type OvfUnsupportedTypeFault OvfUnsupportedType
 60178  
 60179  func init() {
 60180  	t["OvfUnsupportedTypeFault"] = reflect.TypeOf((*OvfUnsupportedTypeFault)(nil)).Elem()
 60181  }
 60182  
 60183  type OvfValidateHostParams struct {
 60184  	OvfManagerCommonParams
 60185  }
 60186  
 60187  func init() {
 60188  	t["OvfValidateHostParams"] = reflect.TypeOf((*OvfValidateHostParams)(nil)).Elem()
 60189  }
 60190  
 60191  type OvfValidateHostResult struct {
 60192  	DynamicData
 60193  
 60194  	// The total amount of data that must be transferred to download the entity.
 60195  	//
 60196  	// This may be inaccurate due to disk compression etc.
 60197  	DownloadSize int64 `xml:"downloadSize,omitempty" json:"downloadSize,omitempty"`
 60198  	// The total amount of space required to deploy the entity if using flat disks.
 60199  	FlatDeploymentSize int64 `xml:"flatDeploymentSize,omitempty" json:"flatDeploymentSize,omitempty"`
 60200  	// The total amount of space required to deploy the entity using sparse disks,
 60201  	// if known.
 60202  	SparseDeploymentSize int64 `xml:"sparseDeploymentSize,omitempty" json:"sparseDeploymentSize,omitempty"`
 60203  	// Errors that happened during validation.
 60204  	//
 60205  	// The presence of faults in this list
 60206  	// indicates that the validation failed.
 60207  	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 60208  	// Non-fatal warnings from the validation.
 60209  	Warning []LocalizedMethodFault `xml:"warning,omitempty" json:"warning,omitempty"`
 60210  	// An array of the disk provisioning type supported by the target host system.
 60211  	SupportedDiskProvisioning []string `xml:"supportedDiskProvisioning,omitempty" json:"supportedDiskProvisioning,omitempty" vim:"4.1"`
 60212  }
 60213  
 60214  func init() {
 60215  	t["OvfValidateHostResult"] = reflect.TypeOf((*OvfValidateHostResult)(nil)).Elem()
 60216  }
 60217  
 60218  // If the Ovf descriptor has an element that is not accepted, this exception is thrown.
 60219  type OvfWrongElement struct {
 60220  	OvfElement
 60221  }
 60222  
 60223  func init() {
 60224  	t["OvfWrongElement"] = reflect.TypeOf((*OvfWrongElement)(nil)).Elem()
 60225  	minAPIVersionForType["OvfWrongElement"] = "4.0"
 60226  }
 60227  
 60228  type OvfWrongElementFault OvfWrongElement
 60229  
 60230  func init() {
 60231  	t["OvfWrongElementFault"] = reflect.TypeOf((*OvfWrongElementFault)(nil)).Elem()
 60232  }
 60233  
 60234  // A OvfWrongNamespace exception is throw if the ovf descriptor has a
 60235  // Namespace error as defined in the Ovf spec
 60236  type OvfWrongNamespace struct {
 60237  	OvfInvalidPackage
 60238  
 60239  	// The name of the invalid namespace
 60240  	NamespaceName string `xml:"namespaceName" json:"namespaceName"`
 60241  }
 60242  
 60243  func init() {
 60244  	t["OvfWrongNamespace"] = reflect.TypeOf((*OvfWrongNamespace)(nil)).Elem()
 60245  	minAPIVersionForType["OvfWrongNamespace"] = "4.0"
 60246  }
 60247  
 60248  type OvfWrongNamespaceFault OvfWrongNamespace
 60249  
 60250  func init() {
 60251  	t["OvfWrongNamespaceFault"] = reflect.TypeOf((*OvfWrongNamespaceFault)(nil)).Elem()
 60252  }
 60253  
 60254  // Class used to specify if the Ovf XML descriptor could not be parsed
 60255  type OvfXmlFormat struct {
 60256  	OvfInvalidPackage
 60257  
 60258  	// Description of the XML parser error
 60259  	//
 60260  	// High level error description
 60261  	Description string `xml:"description" json:"description"`
 60262  }
 60263  
 60264  func init() {
 60265  	t["OvfXmlFormat"] = reflect.TypeOf((*OvfXmlFormat)(nil)).Elem()
 60266  	minAPIVersionForType["OvfXmlFormat"] = "4.0"
 60267  }
 60268  
 60269  type OvfXmlFormatFault OvfXmlFormat
 60270  
 60271  func init() {
 60272  	t["OvfXmlFormatFault"] = reflect.TypeOf((*OvfXmlFormatFault)(nil)).Elem()
 60273  }
 60274  
 60275  type PMemDatastoreInfo struct {
 60276  	DatastoreInfo
 60277  
 60278  	Pmem HostPMemVolume `xml:"pmem" json:"pmem"`
 60279  }
 60280  
 60281  func init() {
 60282  	t["PMemDatastoreInfo"] = reflect.TypeOf((*PMemDatastoreInfo)(nil)).Elem()
 60283  }
 60284  
 60285  // ParaVirtualSCSIController is the data object that represents
 60286  // a paravirtualized SCSI controller.
 60287  type ParaVirtualSCSIController struct {
 60288  	VirtualSCSIController
 60289  }
 60290  
 60291  func init() {
 60292  	t["ParaVirtualSCSIController"] = reflect.TypeOf((*ParaVirtualSCSIController)(nil)).Elem()
 60293  	minAPIVersionForType["ParaVirtualSCSIController"] = "2.5 U2"
 60294  }
 60295  
 60296  // ParaVirtualSCSIControllerOption is the data object that contains
 60297  // the options for a a paravirtualized SCSI controller.
 60298  type ParaVirtualSCSIControllerOption struct {
 60299  	VirtualSCSIControllerOption
 60300  }
 60301  
 60302  func init() {
 60303  	t["ParaVirtualSCSIControllerOption"] = reflect.TypeOf((*ParaVirtualSCSIControllerOption)(nil)).Elem()
 60304  	minAPIVersionForType["ParaVirtualSCSIControllerOption"] = "2.5 U2"
 60305  }
 60306  
 60307  type ParseDescriptor ParseDescriptorRequestType
 60308  
 60309  func init() {
 60310  	t["ParseDescriptor"] = reflect.TypeOf((*ParseDescriptor)(nil)).Elem()
 60311  }
 60312  
 60313  // The parameters of `OvfManager.ParseDescriptor`.
 60314  type ParseDescriptorRequestType struct {
 60315  	This ManagedObjectReference `xml:"_this" json:"-"`
 60316  	// The OVF descriptor to examine.
 60317  	OvfDescriptor string `xml:"ovfDescriptor" json:"ovfDescriptor"`
 60318  	// Additional parameters for parseDescriptor, wrapped in an instance of
 60319  	// ParseDescriptorParams.
 60320  	Pdp OvfParseDescriptorParams `xml:"pdp" json:"pdp"`
 60321  }
 60322  
 60323  func init() {
 60324  	t["ParseDescriptorRequestType"] = reflect.TypeOf((*ParseDescriptorRequestType)(nil)).Elem()
 60325  }
 60326  
 60327  type ParseDescriptorResponse struct {
 60328  	Returnval OvfParseDescriptorResult `xml:"returnval" json:"returnval"`
 60329  }
 60330  
 60331  // The PassiveNodeDeploymentSpec class defines VCHA Cluster configuration
 60332  // of the Passive node VM in the VCHA Cluster.
 60333  type PassiveNodeDeploymentSpec struct {
 60334  	NodeDeploymentSpec
 60335  
 60336  	// Failover IP address that this node must assume after the failover
 60337  	// to serve client requests.
 60338  	//
 60339  	// If not specified, it will assume the public
 60340  	// IP address of the Active vCenter Server.
 60341  	FailoverIpSettings *CustomizationIPSettings `xml:"failoverIpSettings,omitempty" json:"failoverIpSettings,omitempty"`
 60342  }
 60343  
 60344  func init() {
 60345  	t["PassiveNodeDeploymentSpec"] = reflect.TypeOf((*PassiveNodeDeploymentSpec)(nil)).Elem()
 60346  	minAPIVersionForType["PassiveNodeDeploymentSpec"] = "6.5"
 60347  }
 60348  
 60349  // The PassiveNodeNetworkSpec class defines VCHA Failover and Cluster
 60350  // network configuration of the Passive node VM in the VCHA Cluster.
 60351  type PassiveNodeNetworkSpec struct {
 60352  	NodeNetworkSpec
 60353  
 60354  	// Failover IP address that this node must assume after the failover
 60355  	// to serve client requests.
 60356  	//
 60357  	// If not specified, it will assume the public
 60358  	// IP address of the Active vCenter Server.
 60359  	FailoverIpSettings *CustomizationIPSettings `xml:"failoverIpSettings,omitempty" json:"failoverIpSettings,omitempty"`
 60360  }
 60361  
 60362  func init() {
 60363  	t["PassiveNodeNetworkSpec"] = reflect.TypeOf((*PassiveNodeNetworkSpec)(nil)).Elem()
 60364  	minAPIVersionForType["PassiveNodeNetworkSpec"] = "6.5"
 60365  }
 60366  
 60367  // Thrown when a server login fails due to expired user password.
 60368  type PasswordExpired struct {
 60369  	InvalidLogin
 60370  }
 60371  
 60372  func init() {
 60373  	t["PasswordExpired"] = reflect.TypeOf((*PasswordExpired)(nil)).Elem()
 60374  	minAPIVersionForType["PasswordExpired"] = "6.7.2"
 60375  }
 60376  
 60377  type PasswordExpiredFault PasswordExpired
 60378  
 60379  func init() {
 60380  	t["PasswordExpiredFault"] = reflect.TypeOf((*PasswordExpiredFault)(nil)).Elem()
 60381  }
 60382  
 60383  // DataObject which represents a Password field.
 60384  //
 60385  // Password is functionally equivalent to String.
 60386  type PasswordField struct {
 60387  	DynamicData
 60388  
 60389  	Value string `xml:"value" json:"value"`
 60390  }
 60391  
 60392  func init() {
 60393  	t["PasswordField"] = reflect.TypeOf((*PasswordField)(nil)).Elem()
 60394  	minAPIVersionForType["PasswordField"] = "4.0"
 60395  }
 60396  
 60397  // This fault is thrown if a patch install fails because the patch
 60398  // is already installed on the host.
 60399  type PatchAlreadyInstalled struct {
 60400  	PatchNotApplicable
 60401  }
 60402  
 60403  func init() {
 60404  	t["PatchAlreadyInstalled"] = reflect.TypeOf((*PatchAlreadyInstalled)(nil)).Elem()
 60405  }
 60406  
 60407  type PatchAlreadyInstalledFault PatchAlreadyInstalled
 60408  
 60409  func init() {
 60410  	t["PatchAlreadyInstalledFault"] = reflect.TypeOf((*PatchAlreadyInstalledFault)(nil)).Elem()
 60411  }
 60412  
 60413  // This fault is thrown if a patch install fails
 60414  // because the binaries associated with the patch are not found.
 60415  type PatchBinariesNotFound struct {
 60416  	VimFault
 60417  
 60418  	// The patch whose associated binaries are not found.
 60419  	PatchID string `xml:"patchID" json:"patchID"`
 60420  	// The binaries that are not found.
 60421  	Binary []string `xml:"binary,omitempty" json:"binary,omitempty"`
 60422  }
 60423  
 60424  func init() {
 60425  	t["PatchBinariesNotFound"] = reflect.TypeOf((*PatchBinariesNotFound)(nil)).Elem()
 60426  }
 60427  
 60428  type PatchBinariesNotFoundFault PatchBinariesNotFound
 60429  
 60430  func init() {
 60431  	t["PatchBinariesNotFoundFault"] = reflect.TypeOf((*PatchBinariesNotFoundFault)(nil)).Elem()
 60432  }
 60433  
 60434  // This is a general-purpose fault indicating that some error has
 60435  // occurred regarding a patch install.
 60436  //
 60437  // Data about the fault is
 60438  // available and is presented as a platform specific string.
 60439  type PatchInstallFailed struct {
 60440  	PlatformConfigFault
 60441  
 60442  	// Whether or not the patch install has been rolled back.
 60443  	//
 60444  	// If not,
 60445  	// a manual rollback is required.
 60446  	RolledBack bool `xml:"rolledBack" json:"rolledBack"`
 60447  }
 60448  
 60449  func init() {
 60450  	t["PatchInstallFailed"] = reflect.TypeOf((*PatchInstallFailed)(nil)).Elem()
 60451  }
 60452  
 60453  type PatchInstallFailedFault PatchInstallFailed
 60454  
 60455  func init() {
 60456  	t["PatchInstallFailedFault"] = reflect.TypeOf((*PatchInstallFailedFault)(nil)).Elem()
 60457  }
 60458  
 60459  // This fault is thrown if a patch operation fails because the signature of
 60460  // the patch did not check out.
 60461  type PatchIntegrityError struct {
 60462  	PlatformConfigFault
 60463  }
 60464  
 60465  func init() {
 60466  	t["PatchIntegrityError"] = reflect.TypeOf((*PatchIntegrityError)(nil)).Elem()
 60467  }
 60468  
 60469  type PatchIntegrityErrorFault PatchIntegrityError
 60470  
 60471  func init() {
 60472  	t["PatchIntegrityErrorFault"] = reflect.TypeOf((*PatchIntegrityErrorFault)(nil)).Elem()
 60473  }
 60474  
 60475  // This fault is thrown if the metadata associated with a patch is
 60476  // corrupted or unreadable when a patch query or install is attempted.
 60477  type PatchMetadataCorrupted struct {
 60478  	PatchMetadataInvalid
 60479  }
 60480  
 60481  func init() {
 60482  	t["PatchMetadataCorrupted"] = reflect.TypeOf((*PatchMetadataCorrupted)(nil)).Elem()
 60483  }
 60484  
 60485  type PatchMetadataCorruptedFault PatchMetadataCorrupted
 60486  
 60487  func init() {
 60488  	t["PatchMetadataCorruptedFault"] = reflect.TypeOf((*PatchMetadataCorruptedFault)(nil)).Elem()
 60489  }
 60490  
 60491  // This fault is thrown if a patch query or
 60492  // installation operation fails because of a problem with the metadata
 60493  // associated with the patch.
 60494  //
 60495  // Typically, a subclass of this exception is
 60496  // thrown, indicating a problem such as the metadata is not found or the
 60497  // metadata is corrupted.
 60498  type PatchMetadataInvalid struct {
 60499  	VimFault
 60500  
 60501  	// The patch ID whose associated metadata is invalid.
 60502  	PatchID string `xml:"patchID" json:"patchID"`
 60503  	// The metadata file that is not available or corrupted.
 60504  	MetaData []string `xml:"metaData,omitempty" json:"metaData,omitempty"`
 60505  }
 60506  
 60507  func init() {
 60508  	t["PatchMetadataInvalid"] = reflect.TypeOf((*PatchMetadataInvalid)(nil)).Elem()
 60509  }
 60510  
 60511  type PatchMetadataInvalidFault BasePatchMetadataInvalid
 60512  
 60513  func init() {
 60514  	t["PatchMetadataInvalidFault"] = reflect.TypeOf((*PatchMetadataInvalidFault)(nil)).Elem()
 60515  }
 60516  
 60517  // This fault is thrown if the metadata associated with a patch is not
 60518  // found when a patch query or install is attempted.
 60519  type PatchMetadataNotFound struct {
 60520  	PatchMetadataInvalid
 60521  }
 60522  
 60523  func init() {
 60524  	t["PatchMetadataNotFound"] = reflect.TypeOf((*PatchMetadataNotFound)(nil)).Elem()
 60525  }
 60526  
 60527  type PatchMetadataNotFoundFault PatchMetadataNotFound
 60528  
 60529  func init() {
 60530  	t["PatchMetadataNotFoundFault"] = reflect.TypeOf((*PatchMetadataNotFoundFault)(nil)).Elem()
 60531  }
 60532  
 60533  // This fault is thrown if a patch install fails because the patch
 60534  // requires other patches or libraries that are not installed on the host.
 60535  type PatchMissingDependencies struct {
 60536  	PatchNotApplicable
 60537  
 60538  	// The ID of required patches.
 60539  	PrerequisitePatch []string `xml:"prerequisitePatch,omitempty" json:"prerequisitePatch,omitempty"`
 60540  	// The names of required libraries or RPMs.
 60541  	PrerequisiteLib []string `xml:"prerequisiteLib,omitempty" json:"prerequisiteLib,omitempty"`
 60542  }
 60543  
 60544  func init() {
 60545  	t["PatchMissingDependencies"] = reflect.TypeOf((*PatchMissingDependencies)(nil)).Elem()
 60546  }
 60547  
 60548  type PatchMissingDependenciesFault PatchMissingDependencies
 60549  
 60550  func init() {
 60551  	t["PatchMissingDependenciesFault"] = reflect.TypeOf((*PatchMissingDependenciesFault)(nil)).Elem()
 60552  }
 60553  
 60554  // This fault is thrown if a patch install fails because the patch is not
 60555  // applicable to the host.
 60556  //
 60557  // Typically, a subclass of this exception is
 60558  // thrown, indicating a problem such as the patch is superseded, already
 60559  // installed, or has dependencies missing, and so on.
 60560  type PatchNotApplicable struct {
 60561  	VimFault
 60562  
 60563  	// The ID of the patch that is not applicable to the host.
 60564  	PatchID string `xml:"patchID" json:"patchID"`
 60565  }
 60566  
 60567  func init() {
 60568  	t["PatchNotApplicable"] = reflect.TypeOf((*PatchNotApplicable)(nil)).Elem()
 60569  }
 60570  
 60571  type PatchNotApplicableFault BasePatchNotApplicable
 60572  
 60573  func init() {
 60574  	t["PatchNotApplicableFault"] = reflect.TypeOf((*PatchNotApplicableFault)(nil)).Elem()
 60575  }
 60576  
 60577  // This fault is thrown if a patch install fails because the patch is
 60578  // superseded by patches already installed.
 60579  type PatchSuperseded struct {
 60580  	PatchNotApplicable
 60581  
 60582  	// The patches that supersede this patch.
 60583  	Supersede []string `xml:"supersede,omitempty" json:"supersede,omitempty"`
 60584  }
 60585  
 60586  func init() {
 60587  	t["PatchSuperseded"] = reflect.TypeOf((*PatchSuperseded)(nil)).Elem()
 60588  }
 60589  
 60590  type PatchSupersededFault PatchSuperseded
 60591  
 60592  func init() {
 60593  	t["PatchSupersededFault"] = reflect.TypeOf((*PatchSupersededFault)(nil)).Elem()
 60594  }
 60595  
 60596  // `PerfCompositeMetric` includes an optional
 60597  // aggregated entity performance statistics and a list of composite entities
 60598  // performance statistics&#46; The aggregated entity statistics are optional
 60599  // because some entities, such as folders, do not have their own
 60600  // statistics&#46;
 60601  type PerfCompositeMetric struct {
 60602  	DynamicData
 60603  
 60604  	// The aggregated entity performance metrics.
 60605  	//
 60606  	// If it exists, the `PerfSampleInfo` list of the aggregate entity is a
 60607  	// complete list of `PerfSampleInfo` that could
 60608  	// be contained in `PerfSampleInfo` lists of
 60609  	// child entities.
 60610  	Entity BasePerfEntityMetricBase `xml:"entity,omitempty,typeattr" json:"entity,omitempty"`
 60611  	// A list of `metrics` of
 60612  	// performance providers that comprise the aggregated entity.
 60613  	//
 60614  	// For
 60615  	// example, Host is an aggregated entity for virtual machines and
 60616  	// virtual machine Folders. ResourcePools are aggregate entities for
 60617  	// virtual machines. Host, Folder, and Cluster are aggregate entities
 60618  	// for hosts in the cluster or folder.
 60619  	ChildEntity []BasePerfEntityMetricBase `xml:"childEntity,omitempty,typeattr" json:"childEntity,omitempty"`
 60620  }
 60621  
 60622  func init() {
 60623  	t["PerfCompositeMetric"] = reflect.TypeOf((*PerfCompositeMetric)(nil)).Elem()
 60624  }
 60625  
 60626  // This data object type contains metadata for a performance counter.
 60627  //
 60628  // See
 60629  // `PerformanceManager` for definitions of available counters.
 60630  type PerfCounterInfo struct {
 60631  	DynamicData
 60632  
 60633  	// A system-generated number that uniquely identifies the counter in the
 60634  	// context of the system.
 60635  	//
 60636  	// The performance counter ID.
 60637  	Key int32 `xml:"key" json:"key"`
 60638  	// The name of the counter with label and summary details.
 60639  	//
 60640  	// For example,
 60641  	// the counter with name "usage" for the "cpu" group of performance
 60642  	// counters.
 60643  	NameInfo BaseElementDescription `xml:"nameInfo,typeattr" json:"nameInfo"`
 60644  	// The group of the performance counter with its label and summary
 60645  	// details.
 60646  	//
 60647  	// Counter groups include "cpu," "mem," "net," "disk," "system,"
 60648  	// "rescpu," and "clusterServices," for example.
 60649  	GroupInfo BaseElementDescription `xml:"groupInfo,typeattr" json:"groupInfo"`
 60650  	// The unit for the values of the performance counter with its label and
 60651  	// summary details.
 60652  	//
 60653  	// See `PerformanceManagerUnit_enum` for a
 60654  	// description of the valid values.
 60655  	UnitInfo BaseElementDescription `xml:"unitInfo,typeattr" json:"unitInfo"`
 60656  	// The counter type.
 60657  	//
 60658  	// Valid values include average, maximum, minimum,
 60659  	// latest, summation, or none. This determines the type of statistical
 60660  	// values that are returned for the counter. None means that the counter
 60661  	// is never rolled up.
 60662  	RollupType PerfSummaryType `xml:"rollupType" json:"rollupType"`
 60663  	// Statistics type for the counter.
 60664  	//
 60665  	// Valid values include absolute, delta,
 60666  	// or rate.
 60667  	StatsType PerfStatsType `xml:"statsType" json:"statsType"`
 60668  	// Minimum level at which metrics of this type will be collected by
 60669  	// VirtualCenter Server.
 60670  	//
 60671  	// The value for this property for any performance
 60672  	// counter is a number from 1 to 4. The higher the setting, the more data
 60673  	// is collected by VirtualCenter Server. The default setting for
 60674  	// VirtualCenter Server is 1, which collects the minimal amount of
 60675  	// performance data that is typically useful to administrators and
 60676  	// developers alike. The specific level of each counter is documented in
 60677  	// the respective counter-documentation pages, by group. See `PerformanceManager` for links to the counter group pages.
 60678  	Level int32 `xml:"level,omitempty" json:"level,omitempty" vim:"2.5"`
 60679  	// Minimum level at which the per device metrics of this type will be
 60680  	// collected by vCenter Server.
 60681  	//
 60682  	// The value for this property for any
 60683  	// performance counter is a number from 1 to 4. By default all per device
 60684  	// metrics are calculated at level 3 or more. If a certain per device
 60685  	// counter is collected at a certain level, the aggregate metric is also
 60686  	// calculated at that level, i.e., perDeviceLevel is greater than or
 60687  	// equal to level.
 60688  	PerDeviceLevel int32 `xml:"perDeviceLevel,omitempty" json:"perDeviceLevel,omitempty" vim:"4.1"`
 60689  	// Deprecated as of VI API 2.5, this property is not used.
 60690  	//
 60691  	// The counter IDs associated with the same performance counter name for
 60692  	// the same device type.
 60693  	//
 60694  	// For example, the rollup types for CPU Usage for
 60695  	// a host are average, minimum, and maximum&#46; Therefore, their counter
 60696  	// IDs are associated.
 60697  	AssociatedCounterId []int32 `xml:"associatedCounterId,omitempty" json:"associatedCounterId,omitempty"`
 60698  }
 60699  
 60700  func init() {
 60701  	t["PerfCounterInfo"] = reflect.TypeOf((*PerfCounterInfo)(nil)).Elem()
 60702  }
 60703  
 60704  // This data object type stores values and metadata for metrics associated
 60705  // with a specific entity, in 'normal' format.
 60706  type PerfEntityMetric struct {
 60707  	PerfEntityMetricBase
 60708  
 60709  	// A list of objects containing information (an interval and a timestamp)
 60710  	// about the samples collected.
 60711  	SampleInfo []PerfSampleInfo `xml:"sampleInfo,omitempty" json:"sampleInfo,omitempty"`
 60712  	// A list of values that corresponds to the samples collected.
 60713  	Value []BasePerfMetricSeries `xml:"value,omitempty,typeattr" json:"value,omitempty"`
 60714  }
 60715  
 60716  func init() {
 60717  	t["PerfEntityMetric"] = reflect.TypeOf((*PerfEntityMetric)(nil)).Elem()
 60718  }
 60719  
 60720  // Base type for the various `PerfEntityMetric`
 60721  // encodings.
 60722  type PerfEntityMetricBase struct {
 60723  	DynamicData
 60724  
 60725  	// Performance provider ID.
 60726  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 60727  }
 60728  
 60729  func init() {
 60730  	t["PerfEntityMetricBase"] = reflect.TypeOf((*PerfEntityMetricBase)(nil)).Elem()
 60731  }
 60732  
 60733  // This data object type stores metric values for a specific entity in CSV
 60734  // format.
 60735  type PerfEntityMetricCSV struct {
 60736  	PerfEntityMetricBase
 60737  
 60738  	// The `PerfSampleInfo` encoded in the following CSV
 60739  	// format: \[interval1\], \[date1\], \[interval2\], \[date2\], and so on.
 60740  	SampleInfoCSV string `xml:"sampleInfoCSV" json:"sampleInfoCSV"`
 60741  	// Metric values corresponding to the samples collected in this list.
 60742  	Value []PerfMetricSeriesCSV `xml:"value,omitempty" json:"value,omitempty"`
 60743  }
 60744  
 60745  func init() {
 60746  	t["PerfEntityMetricCSV"] = reflect.TypeOf((*PerfEntityMetricCSV)(nil)).Elem()
 60747  }
 60748  
 60749  // This data object type contains metadata about a performance interval.
 60750  //   - For VirtualCenter Server systems, instances of this data object are
 60751  //     referred to as &#147;historical intervals&#148; because they control
 60752  //     how data collected from the ESX systems will be aggregated and stored
 60753  //     in the database.
 60754  //   - For ESX system, this data object is typically referred to simply as the
 60755  //     &#147;interval&#148; or &#147;performance interval&#148; because ESX
 60756  //     does not aggregate statistical data.
 60757  //
 60758  // For ESX systems, a single instance of this data object exists. It cannot
 60759  // be modified. It has these properties:
 60760  // <table border="1"width="100%">
 60761  // <tr>
 60762  // <th>key</th>
 60763  // <th>samplingPeriod</th>
 60764  // <th>length</th>
 60765  // <th>name</th>
 60766  // <th>level</th>
 60767  // <th>enabled</th>
 60768  // </tr>
 60769  // <tr>
 60770  // <td>1</td>
 60771  // <td>300</td>
 60772  // <td>129600</td>
 60773  // <td>PastDay</td>
 60774  // <td>null</td>
 60775  // <td>true</td>
 60776  // </tr>
 60777  // </table>
 60778  //
 60779  // VirtualCenter Server system provides four instances of this data object
 60780  // by default, that apply globally to all system entities.
 60781  //
 60782  // **Example Collection Levels**
 60783  // VirtualCenter Server
 60784  // uses the specifications configured in its historical intervals to collect metrics
 60785  // from the ESX systems that it manages. The quantity of data collected depends on
 60786  // the level settings for the server, and the level associated with a specific counter.
 60787  // Both factors may change from one version of the products to the next. In general,
 60788  // the lower the number, the smaller the amount of data collected. For VirtualCenter
 60789  // Server 2.5, for example, the levels 1 through 4 collected data as follows:
 60790  //  1. Basic counters defined with "average" *rollup type* for CPU, Memory,
 60791  //     Disk, and Network; plus counters for System Uptime, System Heartbeat,
 60792  //     and DRS (Distributed Resource Scheduler, tracked in the
 60793  //     "clusterServices" group). Does not include counters for devices.
 60794  //  2. Counters defined with "average," "summation," and "latest" *rollup types* for CPU,
 60795  //     Memory, Disk, and Network; plus counters for System Uptime, System
 60796  //     Heartbeat, and DRS (clusterServices). Does not include counters for
 60797  //     devices.
 60798  //  3. Counters defined with "average," "summmation," and "latest" *rollup types* for CPU,
 60799  //     Memory, Disk, Network, and all devices; plus counters for System
 60800  //     Uptime, System Heartbeat, and DRS (clusterServices).
 60801  //  4. All counters defined for all entities and devices, for every *rollup type*, including
 60802  //     &#147;minimum&#148; and &#147;maximum&#46;&#148;
 60803  //
 60804  // Default properties for the four built-in historical intervals
 60805  // include:
 60806  // <table border="1"width="100%">
 60807  // <tr>
 60808  // <th>key</th>
 60809  // <th>samplingPeriod</th>
 60810  // <th>length</th>
 60811  // <th>name</th>
 60812  // <th>level</th>
 60813  // <th>enabled</th>
 60814  // </tr>
 60815  // <tr>
 60816  // <td>1</td>
 60817  // <td>300</td>
 60818  // <td>86400</td>
 60819  // <td>Past&nbsp;day</td>
 60820  // <td>1</td>
 60821  // <td>true</td>
 60822  // </tr>
 60823  // <tr>
 60824  // <td>2</td>
 60825  // <td>1800</td>
 60826  // <td>604800</td>
 60827  // <td>Past&nbsp;week</td>
 60828  // <td>1</td>
 60829  // <td>true</td>
 60830  // </tr>
 60831  // <tr>
 60832  // <td>3</td>
 60833  // <td>7200</td>
 60834  // <td>2592000</td>
 60835  // <td>Past&nbsp;month</td>
 60836  // <td>1</td>
 60837  // <td>true</td>
 60838  // </tr>
 60839  // <tr>
 60840  // <td>4</td>
 60841  // <td>86400</td>
 60842  // <td>31536000</td>
 60843  // <td>Past&nbsp;year</td>
 60844  // <td>1</td>
 60845  // <td>true</td>
 60846  // </tr>
 60847  // </table>
 60848  //
 60849  // All values are in seconds. The default setting for vCenter Server is
 60850  // level 1, which retains sampled statistical data as follows:
 60851  //   - 5-minute samples for the past day
 60852  //   - 30-minute samples for the past week
 60853  //   - 2-hour samples for the past month
 60854  //   - 1-day samples for the past year
 60855  //
 60856  // Data older than a year is purged from the vCenter Server database.
 60857  //
 60858  // Prior to version 2&#46;5 of the API, this data object could be used in
 60859  // conjunction with the `PerformanceManager.CreatePerfInterval`
 60860  // operation, to define new, custom historical intervals. That operation has
 60861  // been deprecated: Adding and deleting objects of this type is no longer
 60862  // supported. However, the default historical intervals can be enabled or
 60863  // disabled, and can be modified within certain limits (with the `PerformanceManager.UpdatePerfInterval` operation)&#46;
 60864  type PerfInterval struct {
 60865  	DynamicData
 60866  
 60867  	// A unique identifier for the interval.
 60868  	Key int32 `xml:"key" json:"key" vim:"2.5"`
 60869  	// Number of seconds that data is sampled for this interval.
 60870  	//
 60871  	// The real-time
 60872  	// samplingPeriod is 20 seconds.
 60873  	SamplingPeriod int32 `xml:"samplingPeriod" json:"samplingPeriod"`
 60874  	// The name of the historical interval.
 60875  	//
 60876  	// A localized string that provides a
 60877  	// name for the interval. Names include:
 60878  	//     - "Past Day"
 60879  	//     - "Past Week"
 60880  	//     - "Past Month"
 60881  	//     - "Past Year"
 60882  	//
 60883  	// The name is not meaningful in terms of system behavior. That is, the
 60884  	// interval named &#147;Past Week&#148; works as it does because of its
 60885  	// length, level, and so on, not because of the value of this string.
 60886  	Name string `xml:"name" json:"name"`
 60887  	// Number of seconds that the statistics corresponding to this interval are
 60888  	// kept on the system.
 60889  	Length int32 `xml:"length" json:"length"`
 60890  	// Statistics collection level for this historical interval.
 60891  	//
 60892  	// vCenter Server
 60893  	// will aggregate only those statistics that match the value of this
 60894  	// property for this historical interval. For ESX, the value of this
 60895  	// property is null. For vCenter Server, the value will be a number from 1
 60896  	// to 4.
 60897  	Level int32 `xml:"level,omitempty" json:"level,omitempty" vim:"2.5"`
 60898  	// Indicates whether the interval is enabled (true) or disabled (false).
 60899  	//
 60900  	// Disabling a historical interval prevents vCenter Server from collecting
 60901  	// metrics for that interval and all higher (longer) intervals.
 60902  	//
 60903  	// For example, disabling the "Past Month" interval disables both "Past
 60904  	// Month" and "Past Year" intervals. The system will aggregate and retain
 60905  	// performance data using the "Past Day" and "Past Week" intervals only.
 60906  	Enabled bool `xml:"enabled" json:"enabled" vim:"2.5"`
 60907  }
 60908  
 60909  func init() {
 60910  	t["PerfInterval"] = reflect.TypeOf((*PerfInterval)(nil)).Elem()
 60911  }
 60912  
 60913  // This data object type contains information that associates a performance
 60914  // counter with a performance metric.
 60915  //
 60916  // When constructing this data object for
 60917  // the `PerfQuerySpec.metricId` property of the `PerfQuerySpec` to submit to one of the `PerformanceManager` query operations, the `PerfMetricId.instance` property
 60918  // supports these special characters:
 60919  //   - An asterisk (\*) to specify all instances of the metric for the
 60920  //     specified `PerfMetricId.counterId`
 60921  //   - Double-quotes ("") to specify aggregated statistics
 60922  type PerfMetricId struct {
 60923  	DynamicData
 60924  
 60925  	// The `ID` of the counter for
 60926  	// the metric.
 60927  	CounterId int32 `xml:"counterId" json:"counterId"`
 60928  	// An identifier that is derived from configuration names for the device
 60929  	// associated with the metric.
 60930  	//
 60931  	// It identifies the instance of the metric
 60932  	// with its source. This property may be empty.
 60933  	//     - For memory and aggregated statistics, this property is empty.
 60934  	//     - For host and virtual machine devices, this property contains the
 60935  	//       name of the device, such as the name of the host-bus adapter or
 60936  	//       the name of the virtual Ethernet adapter. For example,
 60937  	//       &#147;mpx&#46;vmhba33&#58;C0&#58;T0&#58;L0&#148; or
 60938  	//       &#147;vmnic0&#58;&#148;
 60939  	//     - For a CPU, this property identifies the numeric position within
 60940  	//       the CPU core, such as 0, 1, 2, 3.
 60941  	//     - For a virtual disk, this property identifies the file type:
 60942  	//       - DISKFILE, for virtual machine base-disk files
 60943  	//       - SWAPFILE, for virtual machine swap files
 60944  	//       - DELTAFILE, for virtual machine snapshot overhead files
 60945  	//       - OTHERFILE, for all other files of a virtual machine
 60946  	Instance string `xml:"instance" json:"instance"`
 60947  }
 60948  
 60949  func init() {
 60950  	t["PerfMetricId"] = reflect.TypeOf((*PerfMetricId)(nil)).Elem()
 60951  }
 60952  
 60953  // This data object type describes integer metric values.
 60954  //
 60955  // The size of the
 60956  // array must match the size of `PerfEntityMetric.sampleInfo` property in the `PerfEntityMetric` that contains this series.
 60957  type PerfMetricIntSeries struct {
 60958  	PerfMetricSeries
 60959  
 60960  	// An array of 64-bit integer values.
 60961  	//
 60962  	// The size of the array matches the
 60963  	// size as the `PerfSampleInfo`, because the values
 60964  	// can only be interpreted in the context of the sample that generated
 60965  	// the value.
 60966  	Value []int64 `xml:"value,omitempty" json:"value,omitempty"`
 60967  }
 60968  
 60969  func init() {
 60970  	t["PerfMetricIntSeries"] = reflect.TypeOf((*PerfMetricIntSeries)(nil)).Elem()
 60971  }
 60972  
 60973  // This is a generic data object type that stores values for a specific
 60974  // performance metric.
 60975  //
 60976  // Useful data objects that store actual metric values
 60977  // extend this data object (see `PerfMetricIntSeries`).
 60978  type PerfMetricSeries struct {
 60979  	DynamicData
 60980  
 60981  	// An identifier for the performance metric.
 60982  	Id PerfMetricId `xml:"id" json:"id"`
 60983  }
 60984  
 60985  func init() {
 60986  	t["PerfMetricSeries"] = reflect.TypeOf((*PerfMetricSeries)(nil)).Elem()
 60987  }
 60988  
 60989  // This data object type represents a `PerfMetricSeries` encoded in CSV format.
 60990  type PerfMetricSeriesCSV struct {
 60991  	PerfMetricSeries
 60992  
 60993  	// An array of sample values in CSV format
 60994  	Value string `xml:"value,omitempty" json:"value,omitempty"`
 60995  }
 60996  
 60997  func init() {
 60998  	t["PerfMetricSeriesCSV"] = reflect.TypeOf((*PerfMetricSeriesCSV)(nil)).Elem()
 60999  }
 61000  
 61001  // This data object type contains information about a performance provider,
 61002  // the type of statistics it generates, and the `PerfProviderSummary.refreshRate` for
 61003  // statistics generation.
 61004  //
 61005  // A performance provider is any *managed object* that generates real-time or
 61006  // historical statistics (or both&#151;the `PerfProviderSummary.currentSupported` and
 61007  // `PerfProviderSummary.summarySupported` properties are not mutually exclusive).
 61008  type PerfProviderSummary struct {
 61009  	DynamicData
 61010  
 61011  	// Reference to the performance provider, the *managed object* that provides real-time or
 61012  	// historical metrics.
 61013  	//
 61014  	// The managed objects include but are not limited to
 61015  	// *managed entities*, such as *host systems*, *virtual machines*, and *resource pools*.
 61016  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 61017  	// True if this entity supports real-time (current) statistics; false if
 61018  	// it does not.
 61019  	//
 61020  	// If this property is true for an entity, a client application
 61021  	// can set the `PerfQuerySpec.intervalId` of the
 61022  	// `PerfQuerySpec` (passed to the
 61023  	// `PerformanceManager.QueryPerf` operation) to the `PerfProviderSummary.refreshRate` to obtain the maximum information possible for the
 61024  	// entity.
 61025  	CurrentSupported bool `xml:"currentSupported" json:"currentSupported"`
 61026  	// True if this entity supports historical (aggregated) statistics; false
 61027  	// if it does not.
 61028  	//
 61029  	// When this property is true for an entity, a client
 61030  	// application can set the `PerfQuerySpec.intervalId` of `PerformanceManager.QueryPerf` to one of the historical `intervals` to obtain historical statistics for this
 61031  	// entity.
 61032  	SummarySupported bool `xml:"summarySupported" json:"summarySupported"`
 61033  	// Number of seconds between the generation of each counter.
 61034  	//
 61035  	// This value
 61036  	// applies only to entities that support real-time (current)
 61037  	// statistics&#46;
 61038  	RefreshRate int32 `xml:"refreshRate,omitempty" json:"refreshRate,omitempty"`
 61039  }
 61040  
 61041  func init() {
 61042  	t["PerfProviderSummary"] = reflect.TypeOf((*PerfProviderSummary)(nil)).Elem()
 61043  }
 61044  
 61045  // This data object specifies the query parameters, including the managed
 61046  // object reference to the target entity for statistics retrieval.
 61047  //   - If the optional `PerfQuerySpec.intervalId` is omitted, the metrics are
 61048  //     returned in their originally sampled interval.
 61049  //   - When an `PerfQuerySpec.intervalId` is specified, the server tries to
 61050  //     summarize the information for the specified `PerfQuerySpec.intervalId`.
 61051  //     However, if that interval does not exist or has no data, the
 61052  //     server summarizes the information using the best interval
 61053  //     available.
 61054  //   - If the range between `PerfQuerySpec.startTime` and `PerfQuerySpec.endTime` crosses
 61055  //     multiple sample interval periods, the result contains data from the
 61056  //     longest interval in the period.
 61057  type PerfQuerySpec struct {
 61058  	DynamicData
 61059  
 61060  	// The managed object whose performance statistics are being queried.
 61061  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 61062  	// The server time from which to obtain counters.
 61063  	//
 61064  	// If not specified,
 61065  	// defaults to the first available counter. When a startTime is
 61066  	// specified, the returned samples do not include the sample at
 61067  	// startTime.
 61068  	StartTime *time.Time `xml:"startTime" json:"startTime,omitempty"`
 61069  	// The time up to which statistics are retrieved.
 61070  	//
 61071  	// Corresponds to server
 61072  	// time. When endTime is omitted, the returned result includes up to the
 61073  	// most recent metric value. When an endTime is specified, the returned
 61074  	// samples include the sample at endTime.
 61075  	EndTime *time.Time `xml:"endTime" json:"endTime,omitempty"`
 61076  	// Limits the number of samples returned.
 61077  	//
 61078  	// Defaults to the most recent
 61079  	// sample (or samples), unless a time range is specified. Use this
 61080  	// property only in conjunction with the `PerfQuerySpec.intervalId` to obtain
 61081  	// real-time statistics (set the `PerfQuerySpec.intervalId` to the `PerfProviderSummary.refreshRate`. This property is
 61082  	// ignored for historical statistics, and is not valid for the `PerformanceManager.QueryPerfComposite` operation.
 61083  	MaxSample int32 `xml:"maxSample,omitempty" json:"maxSample,omitempty"`
 61084  	// The performance metrics to be retrieved.
 61085  	//
 61086  	// This property is required for
 61087  	// the `PerformanceManager.QueryPerfComposite` operation.
 61088  	MetricId []PerfMetricId `xml:"metricId,omitempty" json:"metricId,omitempty"`
 61089  	// The interval (`PerfInterval.samplingPeriod`), in seconds,
 61090  	// for the performance statistics&#46; For aggregated information, use
 61091  	// one of the historical intervals for this property.
 61092  	//
 61093  	// See `PerfInterval` for more information.
 61094  	//     - To obtain the greatest detail, use the provider&#146;s `PerfProviderSummary.refreshRate` for this
 61095  	//       property.
 61096  	IntervalId int32 `xml:"intervalId,omitempty" json:"intervalId,omitempty"`
 61097  	// The format to be used while returning the statistics&#46;
 61098  	//
 61099  	// See also `PerfFormat_enum`.
 61100  	Format string `xml:"format,omitempty" json:"format,omitempty"`
 61101  }
 61102  
 61103  func init() {
 61104  	t["PerfQuerySpec"] = reflect.TypeOf((*PerfQuerySpec)(nil)).Elem()
 61105  }
 61106  
 61107  // This data object type describes information contained in a sample
 61108  // collection, its timestamp, and sampling interval.
 61109  type PerfSampleInfo struct {
 61110  	DynamicData
 61111  
 61112  	// The time at which the sample was collected.
 61113  	Timestamp time.Time `xml:"timestamp" json:"timestamp"`
 61114  	// The interval in seconds for which performance statistics were
 61115  	// collected.
 61116  	//
 61117  	// This can be the refreshRate of the managed object for which
 61118  	// this statistics was collected or one of the intervals for historical
 61119  	// statistics configured in the system. See `PerformanceManager.UpdatePerfInterval` for more information about the intervals
 61120  	// configured in the system.
 61121  	Interval int32 `xml:"interval" json:"interval"`
 61122  }
 61123  
 61124  func init() {
 61125  	t["PerfSampleInfo"] = reflect.TypeOf((*PerfSampleInfo)(nil)).Elem()
 61126  }
 61127  
 61128  // The parameters of `DistributedVirtualSwitch.PerformDvsProductSpecOperation_Task`.
 61129  type PerformDvsProductSpecOperationRequestType struct {
 61130  	This ManagedObjectReference `xml:"_this" json:"-"`
 61131  	// The operation. See `DistributedVirtualSwitchProductSpecOperationType_enum` for
 61132  	// valid values. For
 61133  	// `VmwareDistributedVirtualSwitch`,
 61134  	// only `upgrade`
 61135  	// is valid.
 61136  	Operation string `xml:"operation" json:"operation"`
 61137  	// The product info of the implementation.
 61138  	ProductSpec *DistributedVirtualSwitchProductSpec `xml:"productSpec,omitempty" json:"productSpec,omitempty"`
 61139  }
 61140  
 61141  func init() {
 61142  	t["PerformDvsProductSpecOperationRequestType"] = reflect.TypeOf((*PerformDvsProductSpecOperationRequestType)(nil)).Elem()
 61143  }
 61144  
 61145  type PerformDvsProductSpecOperation_Task PerformDvsProductSpecOperationRequestType
 61146  
 61147  func init() {
 61148  	t["PerformDvsProductSpecOperation_Task"] = reflect.TypeOf((*PerformDvsProductSpecOperation_Task)(nil)).Elem()
 61149  }
 61150  
 61151  type PerformDvsProductSpecOperation_TaskResponse struct {
 61152  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 61153  }
 61154  
 61155  type PerformVsanUpgradePreflightCheck PerformVsanUpgradePreflightCheckRequestType
 61156  
 61157  func init() {
 61158  	t["PerformVsanUpgradePreflightCheck"] = reflect.TypeOf((*PerformVsanUpgradePreflightCheck)(nil)).Elem()
 61159  }
 61160  
 61161  // The parameters of `VsanUpgradeSystem.PerformVsanUpgradePreflightCheck`.
 61162  type PerformVsanUpgradePreflightCheckRequestType struct {
 61163  	This ManagedObjectReference `xml:"_this" json:"-"`
 61164  	// The cluster for which to perform the check.
 61165  	//
 61166  	// Refers instance of `ClusterComputeResource`.
 61167  	Cluster ManagedObjectReference `xml:"cluster" json:"cluster"`
 61168  	// Intend to perform a on-disk format downgrade instead
 61169  	// of upgrade. Adds additional checks.
 61170  	DowngradeFormat *bool `xml:"downgradeFormat" json:"downgradeFormat,omitempty"`
 61171  }
 61172  
 61173  func init() {
 61174  	t["PerformVsanUpgradePreflightCheckRequestType"] = reflect.TypeOf((*PerformVsanUpgradePreflightCheckRequestType)(nil)).Elem()
 61175  }
 61176  
 61177  type PerformVsanUpgradePreflightCheckResponse struct {
 61178  	Returnval VsanUpgradeSystemPreflightCheckResult `xml:"returnval" json:"returnval"`
 61179  }
 61180  
 61181  // The parameters of `VsanUpgradeSystem.PerformVsanUpgrade_Task`.
 61182  type PerformVsanUpgradeRequestType struct {
 61183  	This ManagedObjectReference `xml:"_this" json:"-"`
 61184  	// The cluster to be upgraded
 61185  	//
 61186  	// Refers instance of `ClusterComputeResource`.
 61187  	Cluster ManagedObjectReference `xml:"cluster" json:"cluster"`
 61188  	// After all disk groups have been updated, also
 61189  	// upgrade all objects. Once started, rollback
 61190  	// of the on disk format is no longer possible.
 61191  	// Object upgrade unlocks new VSAN features.
 61192  	PerformObjectUpgrade *bool `xml:"performObjectUpgrade" json:"performObjectUpgrade,omitempty"`
 61193  	// Perform a on-disk format downgrade instead of
 61194  	// upgrade. Only possible if no upgraded objects exist.
 61195  	DowngradeFormat *bool `xml:"downgradeFormat" json:"downgradeFormat,omitempty"`
 61196  	// Removes the need for one disk group worth of
 61197  	// free space, by allowing reduced redundancy
 61198  	// during disk upgrade.
 61199  	AllowReducedRedundancy *bool `xml:"allowReducedRedundancy" json:"allowReducedRedundancy,omitempty"`
 61200  	// Internal debug option meant for functional testing
 61201  	// of VSAN upgrades. Skips upgrade on certain hosts and
 61202  	// implies performObjectUpgrade being false. Should not
 61203  	// be used by customers.
 61204  	//
 61205  	// Refers instances of `HostSystem`.
 61206  	ExcludeHosts []ManagedObjectReference `xml:"excludeHosts,omitempty" json:"excludeHosts,omitempty"`
 61207  }
 61208  
 61209  func init() {
 61210  	t["PerformVsanUpgradeRequestType"] = reflect.TypeOf((*PerformVsanUpgradeRequestType)(nil)).Elem()
 61211  }
 61212  
 61213  type PerformVsanUpgrade_Task PerformVsanUpgradeRequestType
 61214  
 61215  func init() {
 61216  	t["PerformVsanUpgrade_Task"] = reflect.TypeOf((*PerformVsanUpgrade_Task)(nil)).Elem()
 61217  }
 61218  
 61219  type PerformVsanUpgrade_TaskResponse struct {
 61220  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 61221  }
 61222  
 61223  // Static strings for performance metrics.
 61224  type PerformanceDescription struct {
 61225  	DynamicData
 61226  
 61227  	// Identifies the `type` of
 61228  	// the counter.
 61229  	CounterType []BaseElementDescription `xml:"counterType,typeattr" json:"counterType"`
 61230  	// Identifies the `type`
 61231  	// of statistic.
 61232  	StatsType []BaseElementDescription `xml:"statsType,typeattr" json:"statsType"`
 61233  }
 61234  
 61235  func init() {
 61236  	t["PerformanceDescription"] = reflect.TypeOf((*PerformanceDescription)(nil)).Elem()
 61237  }
 61238  
 61239  // `PerformanceManagerCounterLevelMapping` class captures the counter
 61240  // and level mapping.
 61241  //
 61242  // Any counter has two aspects: aggregate value or the
 61243  // per-device value. For example, cpu.usage.average on a host is an
 61244  // aggregate counter and cpu.usage.average on pcpus in a host is a
 61245  // per-device counters. There is a need to be able to specify different
 61246  // levels for the two versions. Currently, all per-device stats are
 61247  // collected at level greater than or equal to 3.
 61248  //
 61249  // In order to be able to configure the level of collections for
 61250  // aggregate and per-device counters we have two optional level fields.
 61251  // `PerformanceManagerCounterLevelMapping` is used to update the
 61252  // levels for a counter.
 61253  type PerformanceManagerCounterLevelMapping struct {
 61254  	DynamicData
 61255  
 61256  	// The counter Id
 61257  	CounterId int32 `xml:"counterId" json:"counterId"`
 61258  	// Level for the aggregate counter.
 61259  	//
 61260  	// If not set then the value is not
 61261  	// changed when updateCounterLevelMapping is called.
 61262  	AggregateLevel int32 `xml:"aggregateLevel,omitempty" json:"aggregateLevel,omitempty"`
 61263  	// Level for the per device counter.
 61264  	//
 61265  	// If not set then the value is not
 61266  	// changed when updateCounterLevelMapping is called.
 61267  	PerDeviceLevel int32 `xml:"perDeviceLevel,omitempty" json:"perDeviceLevel,omitempty"`
 61268  }
 61269  
 61270  func init() {
 61271  	t["PerformanceManagerCounterLevelMapping"] = reflect.TypeOf((*PerformanceManagerCounterLevelMapping)(nil)).Elem()
 61272  	minAPIVersionForType["PerformanceManagerCounterLevelMapping"] = "4.1"
 61273  }
 61274  
 61275  // Data object to capture all information needed to
 61276  // describe a sample inventory.
 61277  type PerformanceStatisticsDescription struct {
 61278  	DynamicData
 61279  
 61280  	// Historic interval setting.
 61281  	//
 61282  	// Default value is the same as the historic
 61283  	// interval settings of the current instance
 61284  	// of running VC.
 61285  	Intervals []PerfInterval `xml:"intervals,omitempty" json:"intervals,omitempty"`
 61286  }
 61287  
 61288  func init() {
 61289  	t["PerformanceStatisticsDescription"] = reflect.TypeOf((*PerformanceStatisticsDescription)(nil)).Elem()
 61290  	minAPIVersionForType["PerformanceStatisticsDescription"] = "4.0"
 61291  }
 61292  
 61293  // This data object type provides assignment of some role access to
 61294  // a principal on a specific entity.
 61295  //
 61296  // A ManagedEntity is limited to
 61297  // one permission per principal.
 61298  type Permission struct {
 61299  	DynamicData
 61300  
 61301  	// Managed entity the permission is defined on.
 61302  	//
 61303  	// Left unset
 61304  	// when calling setPermissions or resetPermissions, but present
 61305  	// for the results of permission queries.
 61306  	//
 61307  	// Refers instance of `ManagedEntity`.
 61308  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 61309  	// User or group receiving access in the form of
 61310  	// "login" for local or "DOMAIN\\login" for users in a Windows domain.
 61311  	Principal string `xml:"principal" json:"principal"`
 61312  	// Whether principal refers to a user or a group.
 61313  	//
 61314  	// True for
 61315  	// a group and false for a user.
 61316  	Group bool `xml:"group" json:"group"`
 61317  	// Reference to the role providing the access.
 61318  	RoleId int32 `xml:"roleId" json:"roleId"`
 61319  	// Whether or not this permission propagates down the hierarchy
 61320  	// to sub-entities.
 61321  	Propagate bool `xml:"propagate" json:"propagate"`
 61322  }
 61323  
 61324  func init() {
 61325  	t["Permission"] = reflect.TypeOf((*Permission)(nil)).Elem()
 61326  }
 61327  
 61328  // This event records the creation of a permission.
 61329  type PermissionAddedEvent struct {
 61330  	PermissionEvent
 61331  
 61332  	// The associated role.
 61333  	Role RoleEventArgument `xml:"role" json:"role"`
 61334  	// Whether or not the permission applies to sub-entities.
 61335  	Propagate bool `xml:"propagate" json:"propagate"`
 61336  }
 61337  
 61338  func init() {
 61339  	t["PermissionAddedEvent"] = reflect.TypeOf((*PermissionAddedEvent)(nil)).Elem()
 61340  }
 61341  
 61342  // This event records a permission operation.
 61343  type PermissionEvent struct {
 61344  	AuthorizationEvent
 61345  
 61346  	// The entity to which the permission applied.
 61347  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
 61348  	// The user name or group to which the permission was granted.
 61349  	Principal string `xml:"principal" json:"principal"`
 61350  	// Whether or not the principal was a group.
 61351  	Group bool `xml:"group" json:"group"`
 61352  }
 61353  
 61354  func init() {
 61355  	t["PermissionEvent"] = reflect.TypeOf((*PermissionEvent)(nil)).Elem()
 61356  }
 61357  
 61358  // The `PermissionProfile` data object represents the profile
 61359  // for a permission rule.
 61360  //
 61361  // Use the `ApplyProfile.policy` list for
 61362  // access to configuration data for the permission profile. Use the
 61363  // `ApplyProfile.property` list for access to subprofiles, if any.
 61364  type PermissionProfile struct {
 61365  	ApplyProfile
 61366  
 61367  	Key string `xml:"key" json:"key"`
 61368  }
 61369  
 61370  func init() {
 61371  	t["PermissionProfile"] = reflect.TypeOf((*PermissionProfile)(nil)).Elem()
 61372  	minAPIVersionForType["PermissionProfile"] = "4.1"
 61373  }
 61374  
 61375  // This event records the removal of a permission.
 61376  type PermissionRemovedEvent struct {
 61377  	PermissionEvent
 61378  }
 61379  
 61380  func init() {
 61381  	t["PermissionRemovedEvent"] = reflect.TypeOf((*PermissionRemovedEvent)(nil)).Elem()
 61382  }
 61383  
 61384  // This event records the update of a permission.
 61385  type PermissionUpdatedEvent struct {
 61386  	PermissionEvent
 61387  
 61388  	// The associated role.
 61389  	Role RoleEventArgument `xml:"role" json:"role"`
 61390  	// Whether or not the permission applies to sub-entities.
 61391  	Propagate bool `xml:"propagate" json:"propagate"`
 61392  	// The previous associated role.
 61393  	PrevRole *RoleEventArgument `xml:"prevRole,omitempty" json:"prevRole,omitempty" vim:"6.5"`
 61394  	// Previous propogate value.
 61395  	PrevPropagate *bool `xml:"prevPropagate" json:"prevPropagate,omitempty" vim:"6.5"`
 61396  }
 61397  
 61398  func init() {
 61399  	t["PermissionUpdatedEvent"] = reflect.TypeOf((*PermissionUpdatedEvent)(nil)).Elem()
 61400  }
 61401  
 61402  // The virtual machine is configured with a Raw Disk Mapping in physical compatibility mode.
 61403  //
 61404  // This mode is not supported on the host.
 61405  type PhysCompatRDMNotSupported struct {
 61406  	RDMNotSupported
 61407  }
 61408  
 61409  func init() {
 61410  	t["PhysCompatRDMNotSupported"] = reflect.TypeOf((*PhysCompatRDMNotSupported)(nil)).Elem()
 61411  }
 61412  
 61413  type PhysCompatRDMNotSupportedFault PhysCompatRDMNotSupported
 61414  
 61415  func init() {
 61416  	t["PhysCompatRDMNotSupportedFault"] = reflect.TypeOf((*PhysCompatRDMNotSupportedFault)(nil)).Elem()
 61417  }
 61418  
 61419  // This data object type describes the physical network adapter
 61420  // as seen by the primary operating system.
 61421  type PhysicalNic struct {
 61422  	DynamicData
 61423  
 61424  	// The linkable identifier.
 61425  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 61426  	// The device name of the physical network adapter.
 61427  	Device string `xml:"device" json:"device"`
 61428  	// Device hash of the PCI device corresponding to this
 61429  	// physical network adapter.
 61430  	Pci string `xml:"pci" json:"pci"`
 61431  	// The name of the driver.
 61432  	//
 61433  	// From command line: esxcli network nic get
 61434  	Driver string `xml:"driver,omitempty" json:"driver,omitempty"`
 61435  	// The version of the physical network adapter operating system driver.
 61436  	DriverVersion string `xml:"driverVersion,omitempty" json:"driverVersion,omitempty" vim:"8.0.0.1"`
 61437  	// The version of the firmware running in the network adapter.
 61438  	FirmwareVersion string `xml:"firmwareVersion,omitempty" json:"firmwareVersion,omitempty" vim:"8.0.0.1"`
 61439  	// The current link state of the physical network adapter.
 61440  	//
 61441  	// If this object is not set, then the link is down.
 61442  	LinkSpeed *PhysicalNicLinkInfo `xml:"linkSpeed,omitempty" json:"linkSpeed,omitempty"`
 61443  	// The valid combinations of speed and duplexity for this
 61444  	// physical network adapter.
 61445  	//
 61446  	// The speed and the duplex settings usually must be configured
 61447  	// as a pair. This array lists all the valid combinations available
 61448  	// for a physical network adapter.
 61449  	//
 61450  	// Autonegotiate is not listed as one of the combinations supported.
 61451  	// If is implicitly supported by the physical network adapter
 61452  	// unless `PhysicalNic.autoNegotiateSupported` is set to false.
 61453  	ValidLinkSpecification []PhysicalNicLinkInfo `xml:"validLinkSpecification,omitempty" json:"validLinkSpecification,omitempty"`
 61454  	// The specification of the physical network adapter.
 61455  	Spec PhysicalNicSpec `xml:"spec" json:"spec"`
 61456  	// Flag indicating whether the NIC is wake-on-LAN capable
 61457  	WakeOnLanSupported bool `xml:"wakeOnLanSupported" json:"wakeOnLanSupported" vim:"2.5"`
 61458  	// The media access control (MAC) address of the physical
 61459  	// network adapter.
 61460  	Mac string `xml:"mac" json:"mac" vim:"2.5"`
 61461  	// The FCoE configuration of the physical network adapter.
 61462  	FcoeConfiguration *FcoeConfig `xml:"fcoeConfiguration,omitempty" json:"fcoeConfiguration,omitempty" vim:"5.0"`
 61463  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 61464  	// there is no replacement.
 61465  	//
 61466  	// Flag indicating whether the NIC supports VMDirectPath Gen 2.
 61467  	//
 61468  	// Note that
 61469  	// this is only an indicator of the capabilities of this NIC, not of the
 61470  	// whole host.
 61471  	//
 61472  	// If the host software is not capable of VMDirectPath Gen 2,
 61473  	// this property will be unset, as the host cannot provide information on
 61474  	// the NIC capability.
 61475  	//
 61476  	// See also `HostCapability.vmDirectPathGen2Supported`.
 61477  	VmDirectPathGen2Supported *bool `xml:"vmDirectPathGen2Supported" json:"vmDirectPathGen2Supported,omitempty" vim:"4.1"`
 61478  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 61479  	// there is no replacement.
 61480  	//
 61481  	// If `PhysicalNic.vmDirectPathGen2Supported` is true, this property advertises
 61482  	// the VMDirectPath Gen 2 mode supported by this NIC (chosen from
 61483  	// `PhysicalNicVmDirectPathGen2SupportedMode_enum`).
 61484  	//
 61485  	// A mode may require that the associated vSphere Distributed Switch have
 61486  	// a particular ProductSpec in order for network passthrough to be possible.
 61487  	VmDirectPathGen2SupportedMode string `xml:"vmDirectPathGen2SupportedMode,omitempty" json:"vmDirectPathGen2SupportedMode,omitempty" vim:"4.1"`
 61488  	// Flag indicating whether the NIC allows resource pool based scheduling
 61489  	// for network I/O control.
 61490  	ResourcePoolSchedulerAllowed *bool `xml:"resourcePoolSchedulerAllowed" json:"resourcePoolSchedulerAllowed,omitempty" vim:"4.1"`
 61491  	// If `PhysicalNic.resourcePoolSchedulerAllowed` is false, this property
 61492  	// advertises the reason for disallowing resource scheduling on
 61493  	// this NIC.
 61494  	//
 61495  	// The reasons may be one of
 61496  	// `PhysicalNicResourcePoolSchedulerDisallowedReason_enum`
 61497  	ResourcePoolSchedulerDisallowedReason []string `xml:"resourcePoolSchedulerDisallowedReason,omitempty" json:"resourcePoolSchedulerDisallowedReason,omitempty" vim:"4.1"`
 61498  	// If set the flag indicates if the physical network adapter supports
 61499  	// autonegotiate.
 61500  	AutoNegotiateSupported *bool `xml:"autoNegotiateSupported" json:"autoNegotiateSupported,omitempty" vim:"4.1"`
 61501  	// If set the flag indicates whether a physical nic supports Enhanced
 61502  	// Networking Stack driver
 61503  	EnhancedNetworkingStackSupported *bool `xml:"enhancedNetworkingStackSupported" json:"enhancedNetworkingStackSupported,omitempty" vim:"6.7"`
 61504  	// If set the flag indicates whether a physical nic supports Enhanced
 61505  	// Networking Stack interrupt mode
 61506  	EnsInterruptSupported *bool `xml:"ensInterruptSupported" json:"ensInterruptSupported,omitempty" vim:"7.0"`
 61507  	// Associated RDMA device, if any.
 61508  	RdmaDevice string `xml:"rdmaDevice,omitempty" json:"rdmaDevice,omitempty" vim:"7.0"`
 61509  	// The identifier of the DPU by which the physical NIC is backed.
 61510  	//
 61511  	// When physical NIC is not backed by DPU, dpuId will be unset.
 61512  	DpuId string `xml:"dpuId,omitempty" json:"dpuId,omitempty" vim:"8.0.0.1"`
 61513  }
 61514  
 61515  func init() {
 61516  	t["PhysicalNic"] = reflect.TypeOf((*PhysicalNic)(nil)).Elem()
 61517  }
 61518  
 61519  // The capability of the CDP-awared device that connects to a Physical NIC.
 61520  //
 61521  // `PhysicalNicCdpInfo`
 61522  type PhysicalNicCdpDeviceCapability struct {
 61523  	DynamicData
 61524  
 61525  	// The CDP-awared device has the capability of a routing for
 61526  	// at least one network layer protocol
 61527  	Router bool `xml:"router" json:"router"`
 61528  	// The CDP-awared device has the capability of transparent
 61529  	// bridging
 61530  	TransparentBridge bool `xml:"transparentBridge" json:"transparentBridge"`
 61531  	// The CDP-awared device has the capability of source-route
 61532  	// bridging
 61533  	SourceRouteBridge bool `xml:"sourceRouteBridge" json:"sourceRouteBridge"`
 61534  	// The CDP-awared device has the capability of switching.
 61535  	//
 61536  	// The
 61537  	// difference between this capability and transparentBridge is
 61538  	// that a switch does not run the Spanning-Tree Protocol. This
 61539  	// device is assumed to be deployed in a physical loop-free topology.
 61540  	NetworkSwitch bool `xml:"networkSwitch" json:"networkSwitch"`
 61541  	// The CDP-awared device has the capability of a host, which
 61542  	// Sends and receives packets for at least one network layer protocol.
 61543  	Host bool `xml:"host" json:"host"`
 61544  	// The CDP-awared device is IGMP-enabled, which does not forward IGMP
 61545  	// Report packets on nonrouter ports.
 61546  	IgmpEnabled bool `xml:"igmpEnabled" json:"igmpEnabled"`
 61547  	// The CDP-awared device has the capability of a repeater
 61548  	Repeater bool `xml:"repeater" json:"repeater"`
 61549  }
 61550  
 61551  func init() {
 61552  	t["PhysicalNicCdpDeviceCapability"] = reflect.TypeOf((*PhysicalNicCdpDeviceCapability)(nil)).Elem()
 61553  	minAPIVersionForType["PhysicalNicCdpDeviceCapability"] = "2.5"
 61554  }
 61555  
 61556  // CDP (Cisco Discovery Protocol) is a link level protocol that allows
 61557  // for discovering the CDP-awared network hardware at either end of a
 61558  // DIRECT connection.
 61559  //
 61560  // It's only good for direct connection because CDP
 61561  // doesn't get forwarded through switches.
 61562  // It's a simple advertisement protocol which beacons information about
 61563  // the switch or host along with some port information. The CDP information
 61564  // allows ESX Server admins to know which Cisco switch port is connected to
 61565  // any given virtual switch uplink (PNIC).
 61566  type PhysicalNicCdpInfo struct {
 61567  	DynamicData
 61568  
 61569  	// CDP version.
 61570  	//
 61571  	// The value is always 1.
 61572  	CdpVersion int32 `xml:"cdpVersion,omitempty" json:"cdpVersion,omitempty"`
 61573  	// This is the periodicity of advertisement, the time between two
 61574  	// successive CDP message transmissions
 61575  	Timeout int32 `xml:"timeout,omitempty" json:"timeout,omitempty"`
 61576  	// Time-To-Live.
 61577  	//
 61578  	// the amount of time, in seconds, that a receiver should
 61579  	// retain the information contained in the CDP packet.
 61580  	Ttl int32 `xml:"ttl,omitempty" json:"ttl,omitempty"`
 61581  	// The number of CDP messages we have received from the device.
 61582  	Samples int32 `xml:"samples,omitempty" json:"samples,omitempty"`
 61583  	// Device ID which identifies the device.
 61584  	//
 61585  	// By default, the device ID is
 61586  	// either the device's fully-qualified host name (including the domain
 61587  	// name) or the device's hardware serial number in ASCII.
 61588  	DevId string `xml:"devId,omitempty" json:"devId,omitempty"`
 61589  	// The advertised IP address that is assigned to the interface of the device
 61590  	// on which the CDP message is sent.
 61591  	//
 61592  	// The device can advertise all addresses for
 61593  	// a given protocol suite and, optionally, can advertise one or more loopback
 61594  	// IP addresses. But this property only show the first address.
 61595  	Address string `xml:"address,omitempty" json:"address,omitempty"`
 61596  	// Port ID.
 61597  	//
 61598  	// An ASCII character string that identifies the port on which
 61599  	// the CDP message is sent, e.g. "FastEthernet0/8"
 61600  	PortId string `xml:"portId,omitempty" json:"portId,omitempty"`
 61601  	// Device Capability
 61602  	// `PhysicalNicCdpDeviceCapability`
 61603  	DeviceCapability *PhysicalNicCdpDeviceCapability `xml:"deviceCapability,omitempty" json:"deviceCapability,omitempty"`
 61604  	// Software version on the device.
 61605  	//
 61606  	// A character string that provides
 61607  	// information about the software release version that the device is
 61608  	// running. e.g. "Cisco Internetwork Operating Syscisco WS-C2940-8TT-S"
 61609  	SoftwareVersion string `xml:"softwareVersion,omitempty" json:"softwareVersion,omitempty"`
 61610  	// Hardware platform.
 61611  	//
 61612  	// An ASCII character string that describes the
 61613  	// hardware platform of the device , e.g. "cisco WS-C2940-8TT-S"
 61614  	HardwarePlatform string `xml:"hardwarePlatform,omitempty" json:"hardwarePlatform,omitempty"`
 61615  	// IP prefix.
 61616  	//
 61617  	// Each IP prefix represents one of the directly connected
 61618  	// IP network segments of the local route.
 61619  	IpPrefix string `xml:"ipPrefix,omitempty" json:"ipPrefix,omitempty"`
 61620  	// ipPrefix length.
 61621  	IpPrefixLen int32 `xml:"ipPrefixLen,omitempty" json:"ipPrefixLen,omitempty"`
 61622  	// The native VLAN of advertising port.
 61623  	//
 61624  	// The native VLAN is the VLAN to
 61625  	// which a port returns when it is not trunking. Also, the native VLAN
 61626  	// is the untagged VLAN on an 802.1Q trunk.
 61627  	Vlan int32 `xml:"vlan,omitempty" json:"vlan,omitempty"`
 61628  	// Half/full duplex setting of the advertising port.
 61629  	FullDuplex *bool `xml:"fullDuplex" json:"fullDuplex,omitempty"`
 61630  	// MTU, the maximum transmission unit for the advertising port.
 61631  	//
 61632  	// Possible
 61633  	// values are 1500 through 18190.
 61634  	Mtu int32 `xml:"mtu,omitempty" json:"mtu,omitempty"`
 61635  	// The configured SNMP system name of the device.
 61636  	SystemName string `xml:"systemName,omitempty" json:"systemName,omitempty"`
 61637  	// The configured SNMP system OID of the device.
 61638  	SystemOID string `xml:"systemOID,omitempty" json:"systemOID,omitempty"`
 61639  	// The configured IP address of the SNMP management interface for the
 61640  	// device.
 61641  	MgmtAddr string `xml:"mgmtAddr,omitempty" json:"mgmtAddr,omitempty"`
 61642  	// The configured location of the device.
 61643  	Location string `xml:"location,omitempty" json:"location,omitempty"`
 61644  }
 61645  
 61646  func init() {
 61647  	t["PhysicalNicCdpInfo"] = reflect.TypeOf((*PhysicalNicCdpInfo)(nil)).Elem()
 61648  	minAPIVersionForType["PhysicalNicCdpInfo"] = "2.5"
 61649  }
 61650  
 61651  // The configuration of the physical network adapter containing
 61652  // both the configurable properties and identification information.
 61653  type PhysicalNicConfig struct {
 61654  	DynamicData
 61655  
 61656  	// PhysicalNic device to which configuration applies.
 61657  	Device string `xml:"device" json:"device"`
 61658  	// The specification of the physical network adapter.
 61659  	Spec PhysicalNicSpec `xml:"spec" json:"spec"`
 61660  }
 61661  
 61662  func init() {
 61663  	t["PhysicalNicConfig"] = reflect.TypeOf((*PhysicalNicConfig)(nil)).Elem()
 61664  }
 61665  
 61666  // This data object type describes each network of a physical
 61667  // network adapter's network hint.
 61668  type PhysicalNicHint struct {
 61669  	DynamicData
 61670  
 61671  	// The optional VLAN Id of the network.
 61672  	VlanId int32 `xml:"vlanId,omitempty" json:"vlanId,omitempty"`
 61673  }
 61674  
 61675  func init() {
 61676  	t["PhysicalNicHint"] = reflect.TypeOf((*PhysicalNicHint)(nil)).Elem()
 61677  }
 61678  
 61679  // The NetworkHint data object type is some information about
 61680  // the network to which the
 61681  // physical network adapter is attached.
 61682  type PhysicalNicHintInfo struct {
 61683  	DynamicData
 61684  
 61685  	// The physical network adapter device to which
 61686  	// this hint applies.
 61687  	Device string `xml:"device" json:"device"`
 61688  	// The list of subnets that were detected on this
 61689  	// physical network adapter.
 61690  	Subnet []PhysicalNicIpHint `xml:"subnet,omitempty" json:"subnet,omitempty"`
 61691  	// The list of network names that were detected on this
 61692  	// physical network adapter.
 61693  	Network []PhysicalNicNameHint `xml:"network,omitempty" json:"network,omitempty"`
 61694  	// If the uplink directly connects to a CDP-awared network device
 61695  	// and the device's CDP broadcast is enabled, this property will be
 61696  	// set to return the CDP information that vmkernel received on this
 61697  	// Physical NIC.
 61698  	//
 61699  	// CDP data contains the device information and port ID that
 61700  	// the Physical NIC connects to. If the uplink is not connecting to a
 61701  	// CDP-awared device or CDP is not enabled on the device, this
 61702  	// property will be unset.
 61703  	// `PhysicalNicCdpInfo`
 61704  	ConnectedSwitchPort *PhysicalNicCdpInfo `xml:"connectedSwitchPort,omitempty" json:"connectedSwitchPort,omitempty" vim:"2.5"`
 61705  	// If the uplink directly connects to an LLDP-aware network device and
 61706  	// the device's LLDP broadcast is enabled, this property will be set to
 61707  	// return the LLDP information that is received on this physical network
 61708  	// adapter.
 61709  	//
 61710  	// If the uplink is not connecting to a LLDP-aware device or
 61711  	// LLDP is not enabled on the device, this property will be unset.
 61712  	LldpInfo *LinkLayerDiscoveryProtocolInfo `xml:"lldpInfo,omitempty" json:"lldpInfo,omitempty" vim:"5.0"`
 61713  }
 61714  
 61715  func init() {
 61716  	t["PhysicalNicHintInfo"] = reflect.TypeOf((*PhysicalNicHintInfo)(nil)).Elem()
 61717  }
 61718  
 61719  // This data object type describes a network in network hint where
 61720  // the network is specified using IP addresses, for example,
 61721  // 10.27.49.1-10.27.49.254
 61722  type PhysicalNicIpHint struct {
 61723  	PhysicalNicHint
 61724  
 61725  	// The network IP addresses.
 61726  	IpSubnet string `xml:"ipSubnet" json:"ipSubnet"`
 61727  }
 61728  
 61729  func init() {
 61730  	t["PhysicalNicIpHint"] = reflect.TypeOf((*PhysicalNicIpHint)(nil)).Elem()
 61731  }
 61732  
 61733  // The `PhysicalNicLinkInfo` data object describes
 61734  // the link speed and the type of duplex communication.
 61735  //
 61736  // The link speed indicates
 61737  // the bit rate in megabits per second. The duplex boolean indicates if the link
 61738  // is capable of full-duplex or half-duplex communication.
 61739  type PhysicalNicLinkInfo struct {
 61740  	DynamicData
 61741  
 61742  	// Bit rate on the link.
 61743  	SpeedMb int32 `xml:"speedMb" json:"speedMb"`
 61744  	// Flag to indicate whether or not the link is capable of
 61745  	// full-duplex ("true") or only half-duplex ("false").
 61746  	Duplex bool `xml:"duplex" json:"duplex"`
 61747  }
 61748  
 61749  func init() {
 61750  	t["PhysicalNicLinkInfo"] = reflect.TypeOf((*PhysicalNicLinkInfo)(nil)).Elem()
 61751  }
 61752  
 61753  // This data object type describes a network in network hint where
 61754  // the network describes the color, label, or the name of the
 61755  // network.
 61756  type PhysicalNicNameHint struct {
 61757  	PhysicalNicHint
 61758  
 61759  	// The network name.
 61760  	Network string `xml:"network" json:"network"`
 61761  }
 61762  
 61763  func init() {
 61764  	t["PhysicalNicNameHint"] = reflect.TypeOf((*PhysicalNicNameHint)(nil)).Elem()
 61765  }
 61766  
 61767  // The `PhysicalNicProfile` data object represents physical NIC configuration.
 61768  //
 61769  // Use the `ApplyProfile.policy` list for access to configuration data
 61770  // for the physical NIC profile. Use the `ApplyProfile.property` list
 61771  // for access to subprofile configuration data, if any.
 61772  type PhysicalNicProfile struct {
 61773  	ApplyProfile
 61774  
 61775  	// Linkable identifier.
 61776  	Key string `xml:"key" json:"key"`
 61777  }
 61778  
 61779  func init() {
 61780  	t["PhysicalNicProfile"] = reflect.TypeOf((*PhysicalNicProfile)(nil)).Elem()
 61781  	minAPIVersionForType["PhysicalNicProfile"] = "4.0"
 61782  }
 61783  
 61784  // This data object type describes the physical network adapter specification
 61785  // representing the properties on a physical network adapter that
 61786  // can be configured once the object exists.
 61787  type PhysicalNicSpec struct {
 61788  	DynamicData
 61789  
 61790  	// The IP configuration on the physical network adapter (applies
 61791  	// only to a hosted network adapter).
 61792  	//
 61793  	// The data object will be NULL on an ESX Server system.
 61794  	Ip *HostIpConfig `xml:"ip,omitempty" json:"ip,omitempty"`
 61795  	// The link speed and duplexity that this physical network
 61796  	// adapter is currently
 61797  	// configured to use.
 61798  	//
 61799  	// If this property is not set, the physical
 61800  	// network adapter autonegotiates its proper settings.
 61801  	LinkSpeed *PhysicalNicLinkInfo `xml:"linkSpeed,omitempty" json:"linkSpeed,omitempty"`
 61802  	// If set the flag indicates if the physical network adapter is
 61803  	// configured for Enhanced Networking Stack
 61804  	EnableEnhancedNetworkingStack *bool `xml:"enableEnhancedNetworkingStack" json:"enableEnhancedNetworkingStack,omitempty" vim:"6.7"`
 61805  	// If set the flag indicates if the physical network adapter is
 61806  	// configured for Enhanced Networking Stack interrupt mode
 61807  	EnsInterruptEnabled *bool `xml:"ensInterruptEnabled" json:"ensInterruptEnabled,omitempty" vim:"7.0"`
 61808  }
 61809  
 61810  func init() {
 61811  	t["PhysicalNicSpec"] = reflect.TypeOf((*PhysicalNicSpec)(nil)).Elem()
 61812  }
 61813  
 61814  type PlaceVm PlaceVmRequestType
 61815  
 61816  func init() {
 61817  	t["PlaceVm"] = reflect.TypeOf((*PlaceVm)(nil)).Elem()
 61818  }
 61819  
 61820  // The parameters of `ClusterComputeResource.PlaceVm`.
 61821  type PlaceVmRequestType struct {
 61822  	This ManagedObjectReference `xml:"_this" json:"-"`
 61823  	// Specification for placing a virtual machine
 61824  	// and its virtual disks
 61825  	PlacementSpec PlacementSpec `xml:"placementSpec" json:"placementSpec"`
 61826  }
 61827  
 61828  func init() {
 61829  	t["PlaceVmRequestType"] = reflect.TypeOf((*PlaceVmRequestType)(nil)).Elem()
 61830  }
 61831  
 61832  type PlaceVmResponse struct {
 61833  	Returnval PlacementResult `xml:"returnval" json:"returnval"`
 61834  }
 61835  
 61836  // Describes a placement action of a single virtual machine.
 61837  //
 61838  // One or more of such actions can be included in a placement recommendation,
 61839  // and such recommendations can be generated by the
 61840  // `ClusterComputeResource.PlaceVm` method.
 61841  type PlacementAction struct {
 61842  	ClusterAction
 61843  
 61844  	// Virtual machine reference.
 61845  	//
 61846  	// Unset if the VM has not been created.
 61847  	//
 61848  	// Refers instance of `VirtualMachine`.
 61849  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 61850  	// The host where the virtual machine should be placed.
 61851  	//
 61852  	// Unset if no host recommendation is provided.
 61853  	//
 61854  	// Refers instance of `HostSystem`.
 61855  	TargetHost *ManagedObjectReference `xml:"targetHost,omitempty" json:"targetHost,omitempty"`
 61856  	// Specification for placing the configuration files and the virtual
 61857  	// disks of the virtual machine on one or more datastores.
 61858  	//
 61859  	// Unset if no datastore recommendation is provided.
 61860  	RelocateSpec *VirtualMachineRelocateSpec `xml:"relocateSpec,omitempty" json:"relocateSpec,omitempty"`
 61861  }
 61862  
 61863  func init() {
 61864  	t["PlacementAction"] = reflect.TypeOf((*PlacementAction)(nil)).Elem()
 61865  	minAPIVersionForType["PlacementAction"] = "6.0"
 61866  }
 61867  
 61868  // The `PlacementAffinityRule` data object specifies
 61869  // affinity rules for placement
 61870  type PlacementAffinityRule struct {
 61871  	DynamicData
 61872  
 61873  	// Type of affinity rule.
 61874  	//
 61875  	// The set of possible values are described in
 61876  	// `PlacementAffinityRuleRuleType_enum`
 61877  	RuleType string `xml:"ruleType" json:"ruleType"`
 61878  	// Scope of the affinity rule.
 61879  	//
 61880  	// The set of possible values are described in
 61881  	// `PlacementAffinityRuleRuleScope_enum`
 61882  	RuleScope string `xml:"ruleScope" json:"ruleScope"`
 61883  	// List of virtual machines that are part of this rule.
 61884  	//
 61885  	// Refers instances of `VirtualMachine`.
 61886  	Vms []ManagedObjectReference `xml:"vms,omitempty" json:"vms,omitempty"`
 61887  	// List of PlacementSpec keys that are part of this rule representing
 61888  	// virtual machines yet to be placed.
 61889  	Keys []string `xml:"keys,omitempty" json:"keys,omitempty"`
 61890  }
 61891  
 61892  func init() {
 61893  	t["PlacementAffinityRule"] = reflect.TypeOf((*PlacementAffinityRule)(nil)).Elem()
 61894  	minAPIVersionForType["PlacementAffinityRule"] = "6.0"
 61895  }
 61896  
 61897  // PlacementRankResult is the class of the result returned by
 61898  // the vCenter Server for rankClustersForPlacement method
 61899  type PlacementRankResult struct {
 61900  	DynamicData
 61901  
 61902  	// Reference key for the placement request
 61903  	Key string `xml:"key" json:"key"`
 61904  	// Candidate cluster for the placement problem
 61905  	//
 61906  	// Refers instance of `ClusterComputeResource`.
 61907  	Candidate ManagedObjectReference `xml:"candidate" json:"candidate"`
 61908  	// The reserved storage space for the candidate cluster after placement
 61909  	// The unit is in Megabytes
 61910  	ReservedSpaceMB int64 `xml:"reservedSpaceMB" json:"reservedSpaceMB"`
 61911  	// The expected space usage for the candidate cluster after placement
 61912  	// The unit is in Megabytes
 61913  	UsedSpaceMB int64 `xml:"usedSpaceMB" json:"usedSpaceMB"`
 61914  	// The expected total space for the candidate cluster after placement
 61915  	// The unit is in Megabytes
 61916  	TotalSpaceMB int64 `xml:"totalSpaceMB" json:"totalSpaceMB"`
 61917  	// The expected aggregate resource utilization for the candidate cluster
 61918  	// after placement
 61919  	// The unit is a fractional value between 0 and 1.
 61920  	Utilization float64 `xml:"utilization" json:"utilization"`
 61921  	// Information about why a given cluster is not recommended for
 61922  	// placement
 61923  	Faults []LocalizedMethodFault `xml:"faults,omitempty" json:"faults,omitempty"`
 61924  }
 61925  
 61926  func init() {
 61927  	t["PlacementRankResult"] = reflect.TypeOf((*PlacementRankResult)(nil)).Elem()
 61928  	minAPIVersionForType["PlacementRankResult"] = "6.0"
 61929  }
 61930  
 61931  // PlacementRankSpec encapsulates all of the inputs passed to
 61932  // the `StorageResourceManager.RankForPlacement` method.
 61933  type PlacementRankSpec struct {
 61934  	DynamicData
 61935  
 61936  	// List of VM placement specifications for ranking clusters
 61937  	Specs []PlacementSpec `xml:"specs" json:"specs"`
 61938  	// List of candidate clusters for the placement request
 61939  	//
 61940  	// Refers instances of `ClusterComputeResource`.
 61941  	Clusters []ManagedObjectReference `xml:"clusters" json:"clusters"`
 61942  	// List of affinity rules for the placement request
 61943  	Rules []PlacementAffinityRule `xml:"rules,omitempty" json:"rules,omitempty"`
 61944  	// List of preferred clusters for individual VM placement requests
 61945  	PlacementRankByVm []StorageDrsPlacementRankVmSpec `xml:"placementRankByVm,omitempty" json:"placementRankByVm,omitempty"`
 61946  }
 61947  
 61948  func init() {
 61949  	t["PlacementRankSpec"] = reflect.TypeOf((*PlacementRankSpec)(nil)).Elem()
 61950  	minAPIVersionForType["PlacementRankSpec"] = "6.0"
 61951  }
 61952  
 61953  // `ClusterComputeResource.PlaceVm` method can invoke DRS
 61954  // for recommendations for target hosts and datastores for placing a
 61955  // virtual machine and its virtual disks using xVMotion.
 61956  //
 61957  // PlacementResult is the class of the result returned by that method.
 61958  type PlacementResult struct {
 61959  	DynamicData
 61960  
 61961  	// The list of recommendations for where to place the virtual machine
 61962  	// and its virtual disks.
 61963  	Recommendations []ClusterRecommendation `xml:"recommendations,omitempty" json:"recommendations,omitempty"`
 61964  	// Information about any fault in case DRS fails to make a recommendation.
 61965  	DrsFault *ClusterDrsFaults `xml:"drsFault,omitempty" json:"drsFault,omitempty"`
 61966  }
 61967  
 61968  func init() {
 61969  	t["PlacementResult"] = reflect.TypeOf((*PlacementResult)(nil)).Elem()
 61970  	minAPIVersionForType["PlacementResult"] = "6.0"
 61971  }
 61972  
 61973  // PlacementSpec encapsulates all of the information passed to the
 61974  // `ClusterComputeResource.PlaceVm` method, which asks
 61975  // DRS for recommendations for target hosts and datastores for placing
 61976  // a virtual machine and its virtual disks in a cluster using
 61977  // unified VMotion.
 61978  type PlacementSpec struct {
 61979  	DynamicData
 61980  
 61981  	// Priority of the migration operation.
 61982  	//
 61983  	// The default value is defaultPriority.
 61984  	Priority VirtualMachineMovePriority `xml:"priority,omitempty" json:"priority,omitempty"`
 61985  	// The virtual machine to be placed.
 61986  	//
 61987  	// For an intra-vCenter migration, this argument is required.
 61988  	// For a cross-vCenter migration, this argument should be unset,
 61989  	// and the caller is responsible for applying the DRS-recommended
 61990  	// placement to the correct vm.
 61991  	//
 61992  	// Refers instance of `VirtualMachine`.
 61993  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 61994  	// Configuration information for the virtual machine.
 61995  	//
 61996  	// For an intra-vCenter migration, this argument should be unset.
 61997  	// For a cross-vCenter migration, this argument is required.
 61998  	// In the latter case, the following elements of the configSpec
 61999  	// will be expected: version, cpuAllocation, memoryAllocation, numCPUs,
 62000  	// memoryMB, files, swapPlacement; in addition, the configSpec.deviceChange
 62001  	// should contain all the virtual disks of the virtual machine to be migrated.
 62002  	// If configSpec.deviceChange is empty, the vm will be treated as a
 62003  	// diskless vm.
 62004  	// If a storage profile is specified for a virtual disk or vm configuration,
 62005  	// only datastores that match this profile will be considered for that
 62006  	// virtual disk or vm configuration.
 62007  	ConfigSpec *VirtualMachineConfigSpec `xml:"configSpec,omitempty" json:"configSpec,omitempty"`
 62008  	// Specification for relocating a virtual machine.
 62009  	//
 62010  	// Can be used to optionally specify a target host, a target datastore,
 62011  	// or a target resource pool. If a target host is specified, this host
 62012  	// becomes the recommended host; if a target datastore is specified,
 62013  	// this datastore becomes the recommended datastore; if no resource
 62014  	// pool is specified, the virtual machine will be attached to the
 62015  	// cluster root resource pool; if the target resource pool specified
 62016  	// is a VirtualApp, an InvalidArgument fault will be thrown.
 62017  	// If a storage profile is specified for a virtual disk or vm configuration,
 62018  	// only datastores that match this profile will be considered for that
 62019  	// virtual disk or vm configuration.
 62020  	// For cross-vCenter migration, the caller
 62021  	// should set the service and the folder arguments properly either in
 62022  	// the input relocateSpec or in the output relocateSpec in the placement
 62023  	// recommendation before passing the relocateSpec to the RelocateVM API.
 62024  	RelocateSpec *VirtualMachineRelocateSpec `xml:"relocateSpec,omitempty" json:"relocateSpec,omitempty"`
 62025  	// A list of compatible hosts for the virtual machine.
 62026  	//
 62027  	// This list is ignored if relocateSpec.host is set.
 62028  	// For both intra-vCenter and cross-vCenter migrations, this list is required
 62029  	// if relocateSpec.host is unset.
 62030  	// If neither relocateSpec.host nor a list of compatible hosts are specified,
 62031  	// all hosts in the cluster will be considered, in which case, the selected
 62032  	// hosts in the PlacementResult are not guaranteed to be compatible with the
 62033  	// incoming virtual machine.
 62034  	//
 62035  	// Refers instances of `HostSystem`.
 62036  	Hosts []ManagedObjectReference `xml:"hosts,omitempty" json:"hosts,omitempty"`
 62037  	// A list of compatible datastores for the virtual machine.
 62038  	//
 62039  	// This list is ignored if relocateSpec.datastore is set.
 62040  	// For both intra-vCenter and cross-vCenter migrations, this list is required
 62041  	// if relocateSpec.datastore is unset.
 62042  	// If neither relocateSpec.datastore nor a list of compatible datastores are
 62043  	// specified, all datastores connected to hosts in the cluster will be
 62044  	// considered, in which case, the selected datastores in the PlacementResult
 62045  	// are not guaranteed to be compatible with the incoming virtual machine.
 62046  	//
 62047  	// Refers instances of `Datastore`.
 62048  	Datastores []ManagedObjectReference `xml:"datastores,omitempty" json:"datastores,omitempty"`
 62049  	// A list of compatible datastore clusters for the virtual machine.
 62050  	//
 62051  	// This list is ignored if relocateSpec.datastore is set.
 62052  	// For both intra-vCenter and cross-vCenter migrations, this list can be
 62053  	// empty, in which case, the user should set either RelocateSpec.datastore
 62054  	// or PlacementSpec.datastores as the target datastore or the list of
 62055  	// compatible datastores.
 62056  	//
 62057  	// Refers instances of `StoragePod`.
 62058  	StoragePods []ManagedObjectReference `xml:"storagePods,omitempty" json:"storagePods,omitempty"`
 62059  	// Specification for whether to disable pre-requisite vmotions or storage
 62060  	// vmotions for virtual machine placement.
 62061  	//
 62062  	// The default value is true,
 62063  	// that is, to disallow such prerequisite moves.
 62064  	DisallowPrerequisiteMoves *bool `xml:"disallowPrerequisiteMoves" json:"disallowPrerequisiteMoves,omitempty"`
 62065  	// A list of rules to respect while placing the virtual machine on
 62066  	// target cluster.
 62067  	//
 62068  	// If the list is empty, rules will not be considered during placement,
 62069  	// in case of cross-cluster placement within a VC and cross VC
 62070  	// placement across VCs.
 62071  	Rules []BaseClusterRuleInfo `xml:"rules,omitempty,typeattr" json:"rules,omitempty"`
 62072  	// Client generated identifier as a reference to the placement request
 62073  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 62074  	// Type of the placement.
 62075  	//
 62076  	// The set of possible values are described in
 62077  	// `PlacementSpecPlacementType_enum`
 62078  	PlacementType string `xml:"placementType,omitempty" json:"placementType,omitempty"`
 62079  	// Specification for a virtual machine clone operation
 62080  	CloneSpec *VirtualMachineCloneSpec `xml:"cloneSpec,omitempty" json:"cloneSpec,omitempty"`
 62081  	// Name for the cloned virtual machine, if the operation type is a clone
 62082  	CloneName string `xml:"cloneName,omitempty" json:"cloneName,omitempty"`
 62083  }
 62084  
 62085  func init() {
 62086  	t["PlacementSpec"] = reflect.TypeOf((*PlacementSpec)(nil)).Elem()
 62087  	minAPIVersionForType["PlacementSpec"] = "6.0"
 62088  }
 62089  
 62090  // A PlatformConfigFault is a catch-all fault indicating that some error has
 62091  // occurred regarding the configuration of the host.
 62092  //
 62093  // Data about the fault is
 62094  // available and will be presented as a platform specific string.
 62095  //
 62096  // This information carried by this fault cannot be localized. Most likely
 62097  // this information will already have been localized to the locale of the
 62098  // server that generated this fault. Where possible, a more specific fault
 62099  // will be thrown.
 62100  type PlatformConfigFault struct {
 62101  	HostConfigFault
 62102  
 62103  	// Platform specific text string describing this error.
 62104  	Text string `xml:"text" json:"text"`
 62105  }
 62106  
 62107  func init() {
 62108  	t["PlatformConfigFault"] = reflect.TypeOf((*PlatformConfigFault)(nil)).Elem()
 62109  }
 62110  
 62111  type PlatformConfigFaultFault BasePlatformConfigFault
 62112  
 62113  func init() {
 62114  	t["PlatformConfigFaultFault"] = reflect.TypeOf((*PlatformConfigFaultFault)(nil)).Elem()
 62115  }
 62116  
 62117  // The `PnicUplinkProfile` data object specifies the mapping between
 62118  // a physical NIC and an uplink port.
 62119  //
 62120  // The `ApplyProfile.policy` property contains
 62121  // the configuration data values.
 62122  type PnicUplinkProfile struct {
 62123  	ApplyProfile
 62124  
 62125  	// Linkable identifier.
 62126  	Key string `xml:"key" json:"key"`
 62127  }
 62128  
 62129  func init() {
 62130  	t["PnicUplinkProfile"] = reflect.TypeOf((*PnicUplinkProfile)(nil)).Elem()
 62131  	minAPIVersionForType["PnicUplinkProfile"] = "4.0"
 62132  }
 62133  
 62134  // The disk locator class.
 62135  type PodDiskLocator struct {
 62136  	DynamicData
 62137  
 62138  	// The disk ID.
 62139  	DiskId int32 `xml:"diskId" json:"diskId"`
 62140  	// The disk move type.
 62141  	DiskMoveType string `xml:"diskMoveType,omitempty" json:"diskMoveType,omitempty"`
 62142  	// The disk backing info.
 62143  	DiskBackingInfo BaseVirtualDeviceBackingInfo `xml:"diskBackingInfo,omitempty,typeattr" json:"diskBackingInfo,omitempty"`
 62144  	// Virtual Disk Profile requirement.
 62145  	//
 62146  	// Profiles are solution specific.
 62147  	// Profile Based Storage Management is a vSphere server extension.
 62148  	// The API users who want to provision VMs using Storage Profiles, need to
 62149  	// interact with it.
 62150  	// This is an optional parameter and if user doesn't specify profile,
 62151  	// the default behavior will apply.
 62152  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty" vim:"5.5"`
 62153  }
 62154  
 62155  func init() {
 62156  	t["PodDiskLocator"] = reflect.TypeOf((*PodDiskLocator)(nil)).Elem()
 62157  	minAPIVersionForType["PodDiskLocator"] = "5.0"
 62158  }
 62159  
 62160  // An entry containing storage DRS configuration, runtime
 62161  // results, and history for a pod `StoragePod`.
 62162  type PodStorageDrsEntry struct {
 62163  	DynamicData
 62164  
 62165  	// Storage DRS configuration.
 62166  	StorageDrsConfig StorageDrsConfigInfo `xml:"storageDrsConfig" json:"storageDrsConfig"`
 62167  	// List of recommended actions for the Storage Pod.
 62168  	//
 62169  	// It is
 62170  	// possible that the current set of recommendations may be empty,
 62171  	// either due to not having any running dynamic recommendation
 62172  	// generation module, or since there may be no recommended actions
 62173  	// at this time.
 62174  	Recommendation []ClusterRecommendation `xml:"recommendation,omitempty" json:"recommendation,omitempty"`
 62175  	// A collection of the DRS faults generated in the last Storage DRS invocation.
 62176  	//
 62177  	// Each element of the collection is the set of faults generated in one
 62178  	// recommendation.
 62179  	DrsFault []ClusterDrsFaults `xml:"drsFault,omitempty" json:"drsFault,omitempty"`
 62180  	// The set of actions that have been performed recently.
 62181  	ActionHistory []ClusterActionHistory `xml:"actionHistory,omitempty" json:"actionHistory,omitempty"`
 62182  }
 62183  
 62184  func init() {
 62185  	t["PodStorageDrsEntry"] = reflect.TypeOf((*PodStorageDrsEntry)(nil)).Elem()
 62186  	minAPIVersionForType["PodStorageDrsEntry"] = "5.0"
 62187  }
 62188  
 62189  // The `PolicyOption` data object represents one or more configuration
 62190  // values.
 62191  //
 62192  // A policy option is one of the configuration options from the
 62193  // `ProfilePolicyMetadata*.*ProfilePolicyMetadata.possibleOption`
 62194  // list.
 62195  type PolicyOption struct {
 62196  	DynamicData
 62197  
 62198  	// Identifier for the policy option.
 62199  	//
 62200  	// This value matches one of the
 62201  	// keys from the list of possible options in the policy metadata
 62202  	// (`ProfilePolicyMetadata*.*ProfilePolicyMetadata.possibleOption*\[\].*ProfilePolicyOptionMetadata.id*.*ElementDescription.key`).
 62203  	Id string `xml:"id" json:"id"`
 62204  	// Parameters for the policy option.
 62205  	//
 62206  	// This list must include all parameters that are not marked as optional
 62207  	// in the policy option metadata parameter list
 62208  	// (`ProfilePolicyMetadata*.*ProfilePolicyMetadata.possibleOption*\[\].*ProfilePolicyOptionMetadata.parameter*\[\].*ProfileParameterMetadata.optional`).
 62209  	Parameter []KeyAnyValue `xml:"parameter,omitempty" json:"parameter,omitempty"`
 62210  }
 62211  
 62212  func init() {
 62213  	t["PolicyOption"] = reflect.TypeOf((*PolicyOption)(nil)).Elem()
 62214  	minAPIVersionForType["PolicyOption"] = "4.0"
 62215  }
 62216  
 62217  // `PortGroupProfile` is the base class for the different port group
 62218  // subprofile objects.
 62219  type PortGroupProfile struct {
 62220  	ApplyProfile
 62221  
 62222  	// Linkable identifier.
 62223  	Key string `xml:"key" json:"key"`
 62224  	// Name of the portgroup.
 62225  	Name string `xml:"name" json:"name"`
 62226  	// VLAN identifier for the port group.
 62227  	Vlan VlanProfile `xml:"vlan" json:"vlan"`
 62228  	// Virtual switch to which the port group is connected.
 62229  	Vswitch VirtualSwitchSelectionProfile `xml:"vswitch" json:"vswitch"`
 62230  	// The network policy/policies applicable on the port group.
 62231  	NetworkPolicy NetworkPolicyProfile `xml:"networkPolicy" json:"networkPolicy"`
 62232  }
 62233  
 62234  func init() {
 62235  	t["PortGroupProfile"] = reflect.TypeOf((*PortGroupProfile)(nil)).Elem()
 62236  	minAPIVersionForType["PortGroupProfile"] = "4.0"
 62237  }
 62238  
 62239  // Searching for users and groups on POSIX systems provides
 62240  // User ID and Group ID information, in addition to that
 62241  // defined in UserSearchResult.
 62242  type PosixUserSearchResult struct {
 62243  	UserSearchResult
 62244  
 62245  	// If the search result is for a user, then id refers to User ID.
 62246  	//
 62247  	// For a group,
 62248  	// the value of Group ID is assigned to id.
 62249  	Id int32 `xml:"id" json:"id"`
 62250  	// If the search result is for a user, shellAccess indicates whether shell
 62251  	// access has been granted or not.
 62252  	ShellAccess *bool `xml:"shellAccess" json:"shellAccess,omitempty"`
 62253  }
 62254  
 62255  func init() {
 62256  	t["PosixUserSearchResult"] = reflect.TypeOf((*PosixUserSearchResult)(nil)).Elem()
 62257  }
 62258  
 62259  type PostEvent PostEventRequestType
 62260  
 62261  func init() {
 62262  	t["PostEvent"] = reflect.TypeOf((*PostEvent)(nil)).Elem()
 62263  }
 62264  
 62265  // The parameters of `EventManager.PostEvent`.
 62266  type PostEventRequestType struct {
 62267  	This ManagedObjectReference `xml:"_this" json:"-"`
 62268  	// Fully-specified event to post
 62269  	EventToPost BaseEvent `xml:"eventToPost,typeattr" json:"eventToPost"`
 62270  	// optional task associated with the event
 62271  	TaskInfo *TaskInfo `xml:"taskInfo,omitempty" json:"taskInfo,omitempty"`
 62272  }
 62273  
 62274  func init() {
 62275  	t["PostEventRequestType"] = reflect.TypeOf((*PostEventRequestType)(nil)).Elem()
 62276  }
 62277  
 62278  type PostEventResponse struct {
 62279  }
 62280  
 62281  type PostHealthUpdates PostHealthUpdatesRequestType
 62282  
 62283  func init() {
 62284  	t["PostHealthUpdates"] = reflect.TypeOf((*PostHealthUpdates)(nil)).Elem()
 62285  }
 62286  
 62287  // The parameters of `HealthUpdateManager.PostHealthUpdates`.
 62288  type PostHealthUpdatesRequestType struct {
 62289  	This ManagedObjectReference `xml:"_this" json:"-"`
 62290  	// The provider id.
 62291  	ProviderId string `xml:"providerId" json:"providerId"`
 62292  	// The changes in health states.
 62293  	Updates []HealthUpdate `xml:"updates,omitempty" json:"updates,omitempty"`
 62294  }
 62295  
 62296  func init() {
 62297  	t["PostHealthUpdatesRequestType"] = reflect.TypeOf((*PostHealthUpdatesRequestType)(nil)).Elem()
 62298  }
 62299  
 62300  type PostHealthUpdatesResponse struct {
 62301  }
 62302  
 62303  // The parameters of `HostSystem.PowerDownHostToStandBy_Task`.
 62304  type PowerDownHostToStandByRequestType struct {
 62305  	This ManagedObjectReference `xml:"_this" json:"-"`
 62306  	// The task completes when the host successfully
 62307  	// enters standby mode and stops sending heartbeat signals.
 62308  	// If heartbeats are still coming after timeoutSecs seconds,
 62309  	// the host is declared timedout, and the task is assumed
 62310  	// failed.
 62311  	TimeoutSec int32 `xml:"timeoutSec" json:"timeoutSec"`
 62312  	// This is a parameter used only by VirtualCenter. If
 62313  	// set to true, for a DRS disabled cluster, the task will not
 62314  	// succeed unless all powered-off virtual machines have been manually
 62315  	// reregistered; for a DRS enabled cluster, VirtualCenter will
 62316  	// automatically reregister powered-off virtual machines and a
 62317  	// powered-off virtual machine may remain at the host only for two
 62318  	// reasons: (a) no compatible host found for reregistration, (b) DRS
 62319  	// is disabled for the virtual machine.
 62320  	EvacuatePoweredOffVms *bool `xml:"evacuatePoweredOffVms" json:"evacuatePoweredOffVms,omitempty"`
 62321  }
 62322  
 62323  func init() {
 62324  	t["PowerDownHostToStandByRequestType"] = reflect.TypeOf((*PowerDownHostToStandByRequestType)(nil)).Elem()
 62325  }
 62326  
 62327  type PowerDownHostToStandBy_Task PowerDownHostToStandByRequestType
 62328  
 62329  func init() {
 62330  	t["PowerDownHostToStandBy_Task"] = reflect.TypeOf((*PowerDownHostToStandBy_Task)(nil)).Elem()
 62331  }
 62332  
 62333  type PowerDownHostToStandBy_TaskResponse struct {
 62334  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 62335  }
 62336  
 62337  // The parameters of `VirtualApp.PowerOffVApp_Task`.
 62338  type PowerOffVAppRequestType struct {
 62339  	This ManagedObjectReference `xml:"_this" json:"-"`
 62340  	// If force is false, the shutdown order in the vApp is
 62341  	// executed. If force is true, all virtual machines are powered-off
 62342  	// (regardless of shutdown order).
 62343  	Force bool `xml:"force" json:"force"`
 62344  }
 62345  
 62346  func init() {
 62347  	t["PowerOffVAppRequestType"] = reflect.TypeOf((*PowerOffVAppRequestType)(nil)).Elem()
 62348  }
 62349  
 62350  type PowerOffVApp_Task PowerOffVAppRequestType
 62351  
 62352  func init() {
 62353  	t["PowerOffVApp_Task"] = reflect.TypeOf((*PowerOffVApp_Task)(nil)).Elem()
 62354  }
 62355  
 62356  type PowerOffVApp_TaskResponse struct {
 62357  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 62358  }
 62359  
 62360  type PowerOffVMRequestType struct {
 62361  	This ManagedObjectReference `xml:"_this" json:"-"`
 62362  }
 62363  
 62364  func init() {
 62365  	t["PowerOffVMRequestType"] = reflect.TypeOf((*PowerOffVMRequestType)(nil)).Elem()
 62366  }
 62367  
 62368  type PowerOffVM_Task PowerOffVMRequestType
 62369  
 62370  func init() {
 62371  	t["PowerOffVM_Task"] = reflect.TypeOf((*PowerOffVM_Task)(nil)).Elem()
 62372  }
 62373  
 62374  type PowerOffVM_TaskResponse struct {
 62375  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 62376  }
 62377  
 62378  // The PowerOnFtSecondaryFailed fault is thrown when the system is unable to
 62379  // power on a Fault Tolerance secondary virtual machine.
 62380  //
 62381  // It includes a list
 62382  // of failures on different hosts.
 62383  type PowerOnFtSecondaryFailed struct {
 62384  	VmFaultToleranceIssue
 62385  
 62386  	// The primary virtual machine corresponding to the secondary that is to
 62387  	// be powered on
 62388  	//
 62389  	// Refers instance of `VirtualMachine`.
 62390  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 62391  	// The name of the primary virtual machine corresponding to the secondary
 62392  	// that is to be powered on.
 62393  	VmName string `xml:"vmName" json:"vmName"`
 62394  	// The host selection type
 62395  	HostSelectionBy FtIssuesOnHostHostSelectionType `xml:"hostSelectionBy" json:"hostSelectionBy"`
 62396  	// Information on why the system can not power on a Fault Tolerance
 62397  	// secondary virtual machine on specific hosts.
 62398  	//
 62399  	// Everything in the array
 62400  	// should be FtIssuesOnHost.
 62401  	HostErrors []LocalizedMethodFault `xml:"hostErrors,omitempty" json:"hostErrors,omitempty"`
 62402  	// The reason why powering on secondary failed.
 62403  	RootCause LocalizedMethodFault `xml:"rootCause" json:"rootCause"`
 62404  }
 62405  
 62406  func init() {
 62407  	t["PowerOnFtSecondaryFailed"] = reflect.TypeOf((*PowerOnFtSecondaryFailed)(nil)).Elem()
 62408  	minAPIVersionForType["PowerOnFtSecondaryFailed"] = "4.0"
 62409  }
 62410  
 62411  type PowerOnFtSecondaryFailedFault PowerOnFtSecondaryFailed
 62412  
 62413  func init() {
 62414  	t["PowerOnFtSecondaryFailedFault"] = reflect.TypeOf((*PowerOnFtSecondaryFailedFault)(nil)).Elem()
 62415  }
 62416  
 62417  // PowerOnFtSecondaryTimedout exception is thrown when Virtual Center
 62418  // fails the operation to power on a Fault Tolerance secondary virtual
 62419  // machine because it is taking longer than expected.
 62420  type PowerOnFtSecondaryTimedout struct {
 62421  	Timedout
 62422  
 62423  	// The primary virtual machine corresponding to the secondary that is to
 62424  	// be powered on
 62425  	//
 62426  	// Refers instance of `VirtualMachine`.
 62427  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 62428  	// The name of the primary virtual machine corresponding to the secondary
 62429  	// that is to be powered on.
 62430  	VmName string `xml:"vmName" json:"vmName"`
 62431  	// The time out value in seconds
 62432  	Timeout int32 `xml:"timeout" json:"timeout"`
 62433  }
 62434  
 62435  func init() {
 62436  	t["PowerOnFtSecondaryTimedout"] = reflect.TypeOf((*PowerOnFtSecondaryTimedout)(nil)).Elem()
 62437  	minAPIVersionForType["PowerOnFtSecondaryTimedout"] = "4.0"
 62438  }
 62439  
 62440  type PowerOnFtSecondaryTimedoutFault PowerOnFtSecondaryTimedout
 62441  
 62442  func init() {
 62443  	t["PowerOnFtSecondaryTimedoutFault"] = reflect.TypeOf((*PowerOnFtSecondaryTimedoutFault)(nil)).Elem()
 62444  }
 62445  
 62446  // The parameters of `Datacenter.PowerOnMultiVM_Task`.
 62447  type PowerOnMultiVMRequestType struct {
 62448  	This ManagedObjectReference `xml:"_this" json:"-"`
 62449  	// The virtual machines to power on.
 62450  	//
 62451  	// Required privileges: VirtualMachine.Interact.PowerOn
 62452  	//
 62453  	// Refers instances of `VirtualMachine`.
 62454  	Vm []ManagedObjectReference `xml:"vm" json:"vm"`
 62455  	// An array of `OptionValue` options
 62456  	// for this power-on session. The names and values of the
 62457  	// options are defined in
 62458  	// `ClusterPowerOnVmOption_enum`.
 62459  	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty" vim:"4.1"`
 62460  }
 62461  
 62462  func init() {
 62463  	t["PowerOnMultiVMRequestType"] = reflect.TypeOf((*PowerOnMultiVMRequestType)(nil)).Elem()
 62464  }
 62465  
 62466  type PowerOnMultiVM_Task PowerOnMultiVMRequestType
 62467  
 62468  func init() {
 62469  	t["PowerOnMultiVM_Task"] = reflect.TypeOf((*PowerOnMultiVM_Task)(nil)).Elem()
 62470  }
 62471  
 62472  type PowerOnMultiVM_TaskResponse struct {
 62473  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 62474  }
 62475  
 62476  type PowerOnVAppRequestType struct {
 62477  	This ManagedObjectReference `xml:"_this" json:"-"`
 62478  }
 62479  
 62480  func init() {
 62481  	t["PowerOnVAppRequestType"] = reflect.TypeOf((*PowerOnVAppRequestType)(nil)).Elem()
 62482  }
 62483  
 62484  type PowerOnVApp_Task PowerOnVAppRequestType
 62485  
 62486  func init() {
 62487  	t["PowerOnVApp_Task"] = reflect.TypeOf((*PowerOnVApp_Task)(nil)).Elem()
 62488  }
 62489  
 62490  type PowerOnVApp_TaskResponse struct {
 62491  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 62492  }
 62493  
 62494  // The parameters of `VirtualMachine.PowerOnVM_Task`.
 62495  type PowerOnVMRequestType struct {
 62496  	This ManagedObjectReference `xml:"_this" json:"-"`
 62497  	// (optional) The host where the virtual machine is to be powered on.
 62498  	// If no host is specified, the current associated host is used. This field must
 62499  	// specify a host that is part of the same compute resource that the virtual machine
 62500  	// is currently associated with. If this host is not compatible, the current host
 62501  	// association is used.
 62502  	//
 62503  	// Refers instance of `HostSystem`.
 62504  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 62505  }
 62506  
 62507  func init() {
 62508  	t["PowerOnVMRequestType"] = reflect.TypeOf((*PowerOnVMRequestType)(nil)).Elem()
 62509  }
 62510  
 62511  type PowerOnVM_Task PowerOnVMRequestType
 62512  
 62513  func init() {
 62514  	t["PowerOnVM_Task"] = reflect.TypeOf((*PowerOnVM_Task)(nil)).Elem()
 62515  }
 62516  
 62517  type PowerOnVM_TaskResponse struct {
 62518  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 62519  }
 62520  
 62521  // Power System Capability data object.
 62522  //
 62523  // Exposes policies available in power management system.
 62524  type PowerSystemCapability struct {
 62525  	DynamicData
 62526  
 62527  	// List of available host power policies.
 62528  	AvailablePolicy []HostPowerPolicy `xml:"availablePolicy" json:"availablePolicy"`
 62529  }
 62530  
 62531  func init() {
 62532  	t["PowerSystemCapability"] = reflect.TypeOf((*PowerSystemCapability)(nil)).Elem()
 62533  	minAPIVersionForType["PowerSystemCapability"] = "4.1"
 62534  }
 62535  
 62536  // Power System Info data object.
 62537  //
 62538  // Shows current state of power management system.
 62539  type PowerSystemInfo struct {
 62540  	DynamicData
 62541  
 62542  	// Currently selected host power management policy.
 62543  	//
 62544  	// This property can have one of the values from
 62545  	// `PowerSystemCapability.availablePolicy`.
 62546  	CurrentPolicy HostPowerPolicy `xml:"currentPolicy" json:"currentPolicy"`
 62547  }
 62548  
 62549  func init() {
 62550  	t["PowerSystemInfo"] = reflect.TypeOf((*PowerSystemInfo)(nil)).Elem()
 62551  	minAPIVersionForType["PowerSystemInfo"] = "4.1"
 62552  }
 62553  
 62554  // The parameters of `HostSystem.PowerUpHostFromStandBy_Task`.
 62555  type PowerUpHostFromStandByRequestType struct {
 62556  	This ManagedObjectReference `xml:"_this" json:"-"`
 62557  	// The task completes when the host successfully
 62558  	// exits standby state and sends a heartbeat signal. If nothing is
 62559  	// received from the host for timeoutSec seconds, the host is
 62560  	// declared timedout, and the task is assumed failed.
 62561  	TimeoutSec int32 `xml:"timeoutSec" json:"timeoutSec"`
 62562  }
 62563  
 62564  func init() {
 62565  	t["PowerUpHostFromStandByRequestType"] = reflect.TypeOf((*PowerUpHostFromStandByRequestType)(nil)).Elem()
 62566  }
 62567  
 62568  type PowerUpHostFromStandBy_Task PowerUpHostFromStandByRequestType
 62569  
 62570  func init() {
 62571  	t["PowerUpHostFromStandBy_Task"] = reflect.TypeOf((*PowerUpHostFromStandBy_Task)(nil)).Elem()
 62572  }
 62573  
 62574  type PowerUpHostFromStandBy_TaskResponse struct {
 62575  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 62576  }
 62577  
 62578  type PrepareCrypto PrepareCryptoRequestType
 62579  
 62580  func init() {
 62581  	t["PrepareCrypto"] = reflect.TypeOf((*PrepareCrypto)(nil)).Elem()
 62582  }
 62583  
 62584  type PrepareCryptoRequestType struct {
 62585  	This ManagedObjectReference `xml:"_this" json:"-"`
 62586  }
 62587  
 62588  func init() {
 62589  	t["PrepareCryptoRequestType"] = reflect.TypeOf((*PrepareCryptoRequestType)(nil)).Elem()
 62590  }
 62591  
 62592  type PrepareCryptoResponse struct {
 62593  }
 62594  
 62595  // This class defines whether a specific privilege is granted.
 62596  type PrivilegeAvailability struct {
 62597  	DynamicData
 62598  
 62599  	// The privilege ID.
 62600  	PrivId string `xml:"privId" json:"privId"`
 62601  	// True if the privilege is granted.
 62602  	IsGranted bool `xml:"isGranted" json:"isGranted"`
 62603  }
 62604  
 62605  func init() {
 62606  	t["PrivilegeAvailability"] = reflect.TypeOf((*PrivilegeAvailability)(nil)).Elem()
 62607  	minAPIVersionForType["PrivilegeAvailability"] = "5.5"
 62608  }
 62609  
 62610  // Describes a basic privilege policy.
 62611  type PrivilegePolicyDef struct {
 62612  	DynamicData
 62613  
 62614  	// Name of privilege required for creation.
 62615  	CreatePrivilege string `xml:"createPrivilege" json:"createPrivilege"`
 62616  	// Name of privilege required for reading.
 62617  	ReadPrivilege string `xml:"readPrivilege" json:"readPrivilege"`
 62618  	// Name of privilege required for updating.
 62619  	UpdatePrivilege string `xml:"updatePrivilege" json:"updatePrivilege"`
 62620  	// Name of privilege required for deleting.
 62621  	DeletePrivilege string `xml:"deletePrivilege" json:"deletePrivilege"`
 62622  }
 62623  
 62624  func init() {
 62625  	t["PrivilegePolicyDef"] = reflect.TypeOf((*PrivilegePolicyDef)(nil)).Elem()
 62626  	minAPIVersionForType["PrivilegePolicyDef"] = "2.5"
 62627  }
 62628  
 62629  // ProductComponentInfo data object type describes installed components.
 62630  //
 62631  // Product component is defined as a software module that is released
 62632  // and versioned independently but has dependency relationship with other products.
 62633  // If one product, for usability or any other reason, bundles other products,
 62634  // ProductComponentInfo type may be used to describe installed components.
 62635  // For example, ESX product may bundle VI Client in its releases.
 62636  type ProductComponentInfo struct {
 62637  	DynamicData
 62638  
 62639  	// Opaque identifier that is unique for this product component
 62640  	Id string `xml:"id" json:"id"`
 62641  	// Canonical name of product component
 62642  	Name string `xml:"name" json:"name"`
 62643  	// Version of product component
 62644  	Version string `xml:"version" json:"version"`
 62645  	// Release property is a number which increments with each
 62646  	// new release of product.
 62647  	//
 62648  	// Product release may not rev version
 62649  	// but release number is always incremented.
 62650  	Release int32 `xml:"release" json:"release"`
 62651  }
 62652  
 62653  func init() {
 62654  	t["ProductComponentInfo"] = reflect.TypeOf((*ProductComponentInfo)(nil)).Elem()
 62655  	minAPIVersionForType["ProductComponentInfo"] = "2.5"
 62656  }
 62657  
 62658  // DataObject which represents an ApplyProfile element.
 62659  //
 62660  // An ApplyProfile element is an ApplyProfile for a set of host
 62661  // configuration settings which may be instanced.
 62662  // For example, there may be multiple virtual switch instances
 62663  // represented by individual ApplyProfileElement DataObjects.
 62664  type ProfileApplyProfileElement struct {
 62665  	ApplyProfile
 62666  
 62667  	// The linkable identifier.
 62668  	Key string `xml:"key" json:"key"`
 62669  }
 62670  
 62671  func init() {
 62672  	t["ProfileApplyProfileElement"] = reflect.TypeOf((*ProfileApplyProfileElement)(nil)).Elem()
 62673  	minAPIVersionForType["ProfileApplyProfileElement"] = "5.0"
 62674  }
 62675  
 62676  // The `ProfileApplyProfileProperty` data object defines one or more subprofiles.
 62677  type ProfileApplyProfileProperty struct {
 62678  	DynamicData
 62679  
 62680  	// Name of the property.
 62681  	PropertyName string `xml:"propertyName" json:"propertyName"`
 62682  	// Flag indicating whether this property is an array of profiles.
 62683  	Array bool `xml:"array" json:"array"`
 62684  	// Subprofiles that define policies and nested subprofiles.
 62685  	Profile []BaseApplyProfile `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 62686  }
 62687  
 62688  func init() {
 62689  	t["ProfileApplyProfileProperty"] = reflect.TypeOf((*ProfileApplyProfileProperty)(nil)).Elem()
 62690  	minAPIVersionForType["ProfileApplyProfileProperty"] = "5.0"
 62691  }
 62692  
 62693  // This event records that a Profile was associated with a managed entitiy.
 62694  type ProfileAssociatedEvent struct {
 62695  	ProfileEvent
 62696  }
 62697  
 62698  func init() {
 62699  	t["ProfileAssociatedEvent"] = reflect.TypeOf((*ProfileAssociatedEvent)(nil)).Elem()
 62700  	minAPIVersionForType["ProfileAssociatedEvent"] = "4.0"
 62701  }
 62702  
 62703  // This event records that the profile has beed edited
 62704  type ProfileChangedEvent struct {
 62705  	ProfileEvent
 62706  }
 62707  
 62708  func init() {
 62709  	t["ProfileChangedEvent"] = reflect.TypeOf((*ProfileChangedEvent)(nil)).Elem()
 62710  	minAPIVersionForType["ProfileChangedEvent"] = "4.0"
 62711  }
 62712  
 62713  // DataObject to Compose expressions.
 62714  //
 62715  // It is used to group expressions
 62716  // together. They are similar to a parentheses in an expression.
 62717  type ProfileCompositeExpression struct {
 62718  	ProfileExpression
 62719  
 62720  	// Logical operator to be applied between the expressions in
 62721  	// the composite expression.
 62722  	//
 62723  	// e.g: or, and
 62724  	Operator string `xml:"operator" json:"operator"`
 62725  	// List of expression names that will be used for this composition.
 62726  	//
 62727  	// The individual expressions will return a boolean. The return values
 62728  	// of the individual expressions will be used to compute the final
 62729  	// return value of the CompositeExpression.
 62730  	// The expressions specified in the list can themselves be
 62731  	// CompositeExpressions.
 62732  	ExpressionName []string `xml:"expressionName" json:"expressionName"`
 62733  }
 62734  
 62735  func init() {
 62736  	t["ProfileCompositeExpression"] = reflect.TypeOf((*ProfileCompositeExpression)(nil)).Elem()
 62737  	minAPIVersionForType["ProfileCompositeExpression"] = "4.0"
 62738  }
 62739  
 62740  // The `ProfileCompositePolicyOptionMetadata` data object represents the metadata information
 62741  // for a composite `PolicyOption`.
 62742  //
 62743  // The user will retrieve metadata
 62744  // information about a composite policy and then combine policy options to produce
 62745  // the composite policy option.
 62746  type ProfileCompositePolicyOptionMetadata struct {
 62747  	ProfilePolicyOptionMetadata
 62748  
 62749  	// List of optional policy option identifiers that could be combined
 62750  	// in this composite policy option.
 62751  	//
 62752  	// The policy options should already be
 62753  	// part of the possible policy options for the policy. See the
 62754  	// `ProfilePolicyMetadata*.*ProfilePolicyMetadata.possibleOption`
 62755  	// list.
 62756  	Option []string `xml:"option" json:"option"`
 62757  }
 62758  
 62759  func init() {
 62760  	t["ProfileCompositePolicyOptionMetadata"] = reflect.TypeOf((*ProfileCompositePolicyOptionMetadata)(nil)).Elem()
 62761  	minAPIVersionForType["ProfileCompositePolicyOptionMetadata"] = "4.0"
 62762  }
 62763  
 62764  type ProfileConfigInfo struct {
 62765  	DynamicData
 62766  
 62767  	// Name of the profile
 62768  	Name string `xml:"name" json:"name"`
 62769  	// User Provided description of the profile
 62770  	Annotation string `xml:"annotation,omitempty" json:"annotation,omitempty"`
 62771  	// Flag indicating if the Profile is enabled
 62772  	Enabled bool `xml:"enabled" json:"enabled"`
 62773  }
 62774  
 62775  func init() {
 62776  	t["ProfileConfigInfo"] = reflect.TypeOf((*ProfileConfigInfo)(nil)).Elem()
 62777  }
 62778  
 62779  // Specification describing the parameters during Profile creation
 62780  type ProfileCreateSpec struct {
 62781  	DynamicData
 62782  
 62783  	// Name of the profile
 62784  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 62785  	// User Provided description of the profile
 62786  	Annotation string `xml:"annotation,omitempty" json:"annotation,omitempty"`
 62787  	// Flag indicating if the Profile is enabled
 62788  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 62789  }
 62790  
 62791  func init() {
 62792  	t["ProfileCreateSpec"] = reflect.TypeOf((*ProfileCreateSpec)(nil)).Elem()
 62793  	minAPIVersionForType["ProfileCreateSpec"] = "4.0"
 62794  }
 62795  
 62796  // This event records that a Profile was created.
 62797  type ProfileCreatedEvent struct {
 62798  	ProfileEvent
 62799  }
 62800  
 62801  func init() {
 62802  	t["ProfileCreatedEvent"] = reflect.TypeOf((*ProfileCreatedEvent)(nil)).Elem()
 62803  	minAPIVersionForType["ProfileCreatedEvent"] = "4.0"
 62804  }
 62805  
 62806  // The `ProfileDeferredPolicyOptionParameter` data object contains
 62807  // information about a single deferred parameter for host configuration.
 62808  //   - The Server verifies deferred parameter data when it calls the
 62809  //     `HostProfile*.*HostProfile.ExecuteHostProfile`
 62810  //     method.
 62811  //   - The client supplies deferred parameter data for host configuration when it calls the
 62812  //     `HostProfileManager*.*HostProfileManager.ApplyHostConfig_Task`
 62813  //     method.
 62814  //   - The vCenter Server stores deferred parameter data in answer files
 62815  //     (`AnswerFile*.*AnswerFile.userInput`).
 62816  type ProfileDeferredPolicyOptionParameter struct {
 62817  	DynamicData
 62818  
 62819  	// Complete path to the `PolicyOption` that defines the parameters.
 62820  	InputPath ProfilePropertyPath `xml:"inputPath" json:"inputPath"`
 62821  	// List that contains values for the policy parameters.
 62822  	//
 62823  	// During parameter verification, this property is unspecified
 62824  	// if the client has not provided the values for this parameter.
 62825  	// See `ProfileExecuteResult*.*ProfileExecuteResult.requireInput`.
 62826  	Parameter []KeyAnyValue `xml:"parameter,omitempty" json:"parameter,omitempty"`
 62827  }
 62828  
 62829  func init() {
 62830  	t["ProfileDeferredPolicyOptionParameter"] = reflect.TypeOf((*ProfileDeferredPolicyOptionParameter)(nil)).Elem()
 62831  	minAPIVersionForType["ProfileDeferredPolicyOptionParameter"] = "4.0"
 62832  }
 62833  
 62834  // The `ProfileDescription` data object describes a profile.
 62835  //
 62836  // The description contains multiple sections. Each section
 62837  // describes a part of the profile.
 62838  type ProfileDescription struct {
 62839  	DynamicData
 62840  
 62841  	// Sections which make up the profile description.
 62842  	Section []ProfileDescriptionSection `xml:"section" json:"section"`
 62843  }
 62844  
 62845  func init() {
 62846  	t["ProfileDescription"] = reflect.TypeOf((*ProfileDescription)(nil)).Elem()
 62847  	minAPIVersionForType["ProfileDescription"] = "4.0"
 62848  }
 62849  
 62850  // The `ProfileDescriptionSection` data object
 62851  // contains a profile element description and any messages that may
 62852  // be associated with the profile section.
 62853  type ProfileDescriptionSection struct {
 62854  	DynamicData
 62855  
 62856  	// Localized message data.
 62857  	Description ExtendedElementDescription `xml:"description" json:"description"`
 62858  	// List of messages that make up the section.
 62859  	Message []LocalizableMessage `xml:"message,omitempty" json:"message,omitempty"`
 62860  }
 62861  
 62862  func init() {
 62863  	t["ProfileDescriptionSection"] = reflect.TypeOf((*ProfileDescriptionSection)(nil)).Elem()
 62864  	minAPIVersionForType["ProfileDescriptionSection"] = "4.0"
 62865  }
 62866  
 62867  // This event records that a Profile was dissociated from a managed entity
 62868  type ProfileDissociatedEvent struct {
 62869  	ProfileEvent
 62870  }
 62871  
 62872  func init() {
 62873  	t["ProfileDissociatedEvent"] = reflect.TypeOf((*ProfileDissociatedEvent)(nil)).Elem()
 62874  	minAPIVersionForType["ProfileDissociatedEvent"] = "4.0"
 62875  }
 62876  
 62877  // This event records a Profile specific event.
 62878  type ProfileEvent struct {
 62879  	Event
 62880  
 62881  	// Link to the profile to which this event applies
 62882  	Profile ProfileEventArgument `xml:"profile" json:"profile"`
 62883  }
 62884  
 62885  func init() {
 62886  	t["ProfileEvent"] = reflect.TypeOf((*ProfileEvent)(nil)).Elem()
 62887  	minAPIVersionForType["ProfileEvent"] = "4.0"
 62888  }
 62889  
 62890  // The event argument is a Profile object
 62891  type ProfileEventArgument struct {
 62892  	EventArgument
 62893  
 62894  	Profile ManagedObjectReference `xml:"profile" json:"profile"`
 62895  	Name    string                 `xml:"name" json:"name"`
 62896  }
 62897  
 62898  func init() {
 62899  	t["ProfileEventArgument"] = reflect.TypeOf((*ProfileEventArgument)(nil)).Elem()
 62900  	minAPIVersionForType["ProfileEventArgument"] = "4.0"
 62901  }
 62902  
 62903  // The `ProfileExecuteError` data object
 62904  // describes an error encountered during host profile execution.
 62905  type ProfileExecuteError struct {
 62906  	DynamicData
 62907  
 62908  	// Path to the profile or policy with which the error is associated.
 62909  	Path *ProfilePropertyPath `xml:"path,omitempty" json:"path,omitempty"`
 62910  	// Message describing the error.
 62911  	Message LocalizableMessage `xml:"message" json:"message"`
 62912  }
 62913  
 62914  func init() {
 62915  	t["ProfileExecuteError"] = reflect.TypeOf((*ProfileExecuteError)(nil)).Elem()
 62916  	minAPIVersionForType["ProfileExecuteError"] = "4.0"
 62917  }
 62918  
 62919  // The `ProfileExecuteResult` data object contains the results from a
 62920  // `HostProfile*.*HostProfile.ExecuteHostProfile`
 62921  // operation.
 62922  type ProfileExecuteResult struct {
 62923  	DynamicData
 62924  
 62925  	// Status of the profile execution operation.
 62926  	//
 62927  	// The value is a string that contains
 62928  	// one of the `ProfileExecuteResultStatus_enum` enumerations.
 62929  	Status string `xml:"status" json:"status"`
 62930  	// Host configuration specification.
 62931  	//
 62932  	// This data is valid only if
 62933  	// the <code>status</code> value is <code>success</code>.
 62934  	// See `ProfileExecuteResultStatus_enum`.
 62935  	//
 62936  	// Use this data object when you apply the configuration
 62937  	// to a host. See the <code>configSpec</code> parameter to the
 62938  	// `HostProfileManager*.*HostProfileManager.ApplyHostConfig_Task`
 62939  	// method.
 62940  	ConfigSpec *HostConfigSpec `xml:"configSpec,omitempty" json:"configSpec,omitempty"`
 62941  	// List of property paths.
 62942  	//
 62943  	// Each path identifies a policy that does not apply
 62944  	// to this host. For example, if the precheck policies for a port group are not satisfied,
 62945  	// the port group will not be created when you apply the profile to the host.
 62946  	// Based on this information, the client might not display that part of the profile tree.
 62947  	InapplicablePath []string `xml:"inapplicablePath,omitempty" json:"inapplicablePath,omitempty"`
 62948  	// List that describes the required input for host configuration and identifies
 62949  	// any policy options that still require parameter data.
 62950  	//
 62951  	// Each entry in the list
 62952  	// specifies the path to a policy and a parameter list. If the call to
 62953  	// `HostProfile.ExecuteHostProfile` includes deferred parameters,
 62954  	// the <code>requireInput</code> entries
 62955  	// (<code>requireInput\[\].</code>`ProfileDeferredPolicyOptionParameter.parameter`\[\])
 62956  	// will be populated with the parameter data that was passed to the execute method.
 62957  	// For policies that still require input data, the parameter list in the corresponding
 62958  	// entry will be null.
 62959  	//
 62960  	// A vSphere client that displays a GUI can use this information to show the host-specific
 62961  	// configuration policy options. The client can highlight required input fields
 62962  	// and ask the user for data in increments instead of collecting all of the input at once.
 62963  	// For example, in the first pass, the client collects a minimum of user input and
 62964  	// sends that to the Server. The Server evaluates the profile and might decide to
 62965  	// invalidate a particular part of the subtree or enable a new
 62966  	// subtree in the profile. This would result in a new set of invalid paths
 62967  	// (`ProfileExecuteResult.inapplicablePath`\[\]) and
 62968  	// required input property paths
 62969  	// (`ProfileDeferredPolicyOptionParameter*.*ProfileDeferredPolicyOptionParameter.inputPath`).
 62970  	// The client can make a series of calls to the method until it achieves a success status.
 62971  	//
 62972  	// When `HostProfile.ExecuteHostProfile` returns a success status,
 62973  	// the <code>requireInput</code> list contains the complete list of parameters,
 62974  	// consisting of the following data:
 62975  	//     - Deferred parameter values resolved through successive calls to
 62976  	//       `HostProfile.ExecuteHostProfile`.
 62977  	//     - Default parameter values from the host configuration.
 62978  	//     - User-specified values that override the defaults.
 62979  	//
 62980  	// You can specify the returned <code>requireInput</code> list in the
 62981  	// <code>userInput</code> parameter to the
 62982  	// `HostProfileManager*.*HostProfileManager.ApplyHostConfig_Task`
 62983  	// method. The Server will use the list to update the `AnswerFile`
 62984  	// associated with the host.
 62985  	RequireInput []ProfileDeferredPolicyOptionParameter `xml:"requireInput,omitempty" json:"requireInput,omitempty"`
 62986  	// List of errors that were encountered during execute.
 62987  	//
 62988  	// This field will be set if status is set to error.
 62989  	Error []ProfileExecuteError `xml:"error,omitempty" json:"error,omitempty"`
 62990  }
 62991  
 62992  func init() {
 62993  	t["ProfileExecuteResult"] = reflect.TypeOf((*ProfileExecuteResult)(nil)).Elem()
 62994  	minAPIVersionForType["ProfileExecuteResult"] = "4.0"
 62995  }
 62996  
 62997  type ProfileExpression struct {
 62998  	DynamicData
 62999  
 63000  	// Identifier of this expression.
 63001  	//
 63002  	// The id has to be unique within a Profile.
 63003  	// The id can be used as a key while building composite expressions.
 63004  	Id string `xml:"id" json:"id"`
 63005  	// User visible display name
 63006  	DisplayName string `xml:"displayName" json:"displayName"`
 63007  	// Flag indicating if the condition of the expression should be negated.
 63008  	//
 63009  	// e.g: conditions like VSwitch0 has vmnic0 connected to it can be turned into
 63010  	// VSwitch0 doesn't have vmnic0 connected to it.
 63011  	Negated bool `xml:"negated" json:"negated"`
 63012  }
 63013  
 63014  func init() {
 63015  	t["ProfileExpression"] = reflect.TypeOf((*ProfileExpression)(nil)).Elem()
 63016  }
 63017  
 63018  // DataObject to represent the metadata associated with a SimpleExpression.
 63019  type ProfileExpressionMetadata struct {
 63020  	DynamicData
 63021  
 63022  	// Id of the SimpleExpression
 63023  	ExpressionId ExtendedElementDescription `xml:"expressionId" json:"expressionId"`
 63024  	// Parameters that can be specified for this SimpleExpression
 63025  	Parameter []ProfileParameterMetadata `xml:"parameter,omitempty" json:"parameter,omitempty"`
 63026  }
 63027  
 63028  func init() {
 63029  	t["ProfileExpressionMetadata"] = reflect.TypeOf((*ProfileExpressionMetadata)(nil)).Elem()
 63030  	minAPIVersionForType["ProfileExpressionMetadata"] = "4.0"
 63031  }
 63032  
 63033  // This data object represents the metadata information of a Profile.
 63034  type ProfileMetadata struct {
 63035  	DynamicData
 63036  
 63037  	// Type of the Profile
 63038  	Key string `xml:"key" json:"key"`
 63039  	// Type identifier for the ApplyProfile
 63040  	ProfileTypeName string `xml:"profileTypeName,omitempty" json:"profileTypeName,omitempty" vim:"5.0"`
 63041  	// Property which describes the profile
 63042  	Description *ExtendedDescription `xml:"description,omitempty" json:"description,omitempty"`
 63043  	// Property that determines a sorting order for display purposes.
 63044  	//
 63045  	// If
 63046  	// the list contains more than one sort spec, then the precedence should
 63047  	// be determined by the list order (i.e. sort first by the first spec in
 63048  	// the list, then sort by the second spec in the list, etc).
 63049  	SortSpec []ProfileMetadataProfileSortSpec `xml:"sortSpec,omitempty" json:"sortSpec,omitempty" vim:"5.0"`
 63050  	// Identifies the profile category that this subprofile is a part of.
 63051  	//
 63052  	// The
 63053  	// value of this string should correspond to the key value of a
 63054  	// `ProfileCategoryMetadata` object's `ElementDescription.key`
 63055  	// in its `ProfileCategoryMetadata.id` property.
 63056  	ProfileCategory string `xml:"profileCategory,omitempty" json:"profileCategory,omitempty" vim:"5.1"`
 63057  	// Property indicating that the subprofile described by this
 63058  	// <code>ProfileMetadata</code> object is declared in the
 63059  	// `ProfileComponentMetadata.profileTypeNames` of the specified
 63060  	// profile component.
 63061  	//
 63062  	// The value of this property should correspond to the key
 63063  	// value of the `ProfileComponentMetadata` object's
 63064  	// `ElementDescription.key` in its
 63065  	// `ProfileComponentMetadata.id` property.
 63066  	// This property should not be present for subprofiles that are not directly
 63067  	// declared in the `ProfileComponentMetadata.profileTypeNames`
 63068  	// property of a `ProfileComponentMetadata` object.
 63069  	ProfileComponent string `xml:"profileComponent,omitempty" json:"profileComponent,omitempty" vim:"5.1"`
 63070  	// A list of <code>ProfileOperationMessage</code> for this profile.
 63071  	OperationMessages []ProfileMetadataProfileOperationMessage `xml:"operationMessages,omitempty" json:"operationMessages,omitempty" vim:"6.7"`
 63072  }
 63073  
 63074  func init() {
 63075  	t["ProfileMetadata"] = reflect.TypeOf((*ProfileMetadata)(nil)).Elem()
 63076  	minAPIVersionForType["ProfileMetadata"] = "4.0"
 63077  }
 63078  
 63079  // Some operations on host profile documents may cause unexpected result.
 63080  //
 63081  // For example, deleting a profile instance of vswitch may break the
 63082  // network connectivity.
 63083  // This data class provides the localizable message which may be
 63084  // presented before or after an operation happens.
 63085  type ProfileMetadataProfileOperationMessage struct {
 63086  	DynamicData
 63087  
 63088  	// The operation name.
 63089  	OperationName string `xml:"operationName" json:"operationName"`
 63090  	// The localization message for the operation.
 63091  	Message LocalizableMessage `xml:"message" json:"message"`
 63092  }
 63093  
 63094  func init() {
 63095  	t["ProfileMetadataProfileOperationMessage"] = reflect.TypeOf((*ProfileMetadataProfileOperationMessage)(nil)).Elem()
 63096  	minAPIVersionForType["ProfileMetadataProfileOperationMessage"] = "6.7"
 63097  }
 63098  
 63099  type ProfileMetadataProfileSortSpec struct {
 63100  	DynamicData
 63101  
 63102  	// The id of the policy used to sort instances of the profile
 63103  	PolicyId string `xml:"policyId" json:"policyId"`
 63104  	// The parameter to be used for sorting.
 63105  	//
 63106  	// Note that if the policy to be
 63107  	// used for sorting has multiple possible policy options, all possible
 63108  	// policy options defined for that policy type must have this parameter.
 63109  	Parameter string `xml:"parameter" json:"parameter"`
 63110  }
 63111  
 63112  func init() {
 63113  	t["ProfileMetadataProfileSortSpec"] = reflect.TypeOf((*ProfileMetadataProfileSortSpec)(nil)).Elem()
 63114  }
 63115  
 63116  // The `ProfileParameterMetadata` data object represents the metadata information
 63117  // for expressions, policy options, and host-specific configuration data.
 63118  type ProfileParameterMetadata struct {
 63119  	DynamicData
 63120  
 63121  	// Identifier for the parameter.
 63122  	Id ExtendedElementDescription `xml:"id" json:"id"`
 63123  	// Type of the parameter.
 63124  	Type string `xml:"type" json:"type"`
 63125  	// Whether the parameter is optional.
 63126  	Optional bool `xml:"optional" json:"optional"`
 63127  	// Default value that can be used for the parameter.
 63128  	DefaultValue AnyType `xml:"defaultValue,omitempty,typeattr" json:"defaultValue,omitempty"`
 63129  	// Whether the parameter will not be displayed in UI.
 63130  	Hidden *bool `xml:"hidden" json:"hidden,omitempty" vim:"6.5"`
 63131  	// Whether the parameter is security sensitive.
 63132  	SecuritySensitive *bool `xml:"securitySensitive" json:"securitySensitive,omitempty" vim:"6.5"`
 63133  	// Indicates that the parameter value is read-only.
 63134  	ReadOnly *bool `xml:"readOnly" json:"readOnly,omitempty" vim:"6.5"`
 63135  	// Relations with other profile or parameters.
 63136  	ParameterRelations []ProfileParameterMetadataParameterRelationMetadata `xml:"parameterRelations,omitempty" json:"parameterRelations,omitempty" vim:"6.7"`
 63137  }
 63138  
 63139  func init() {
 63140  	t["ProfileParameterMetadata"] = reflect.TypeOf((*ProfileParameterMetadata)(nil)).Elem()
 63141  	minAPIVersionForType["ProfileParameterMetadata"] = "4.0"
 63142  }
 63143  
 63144  // This class to define a relation between the parameter and a profile
 63145  // or a parameter, or a constant list of values.
 63146  type ProfileParameterMetadataParameterRelationMetadata struct {
 63147  	DynamicData
 63148  
 63149  	// The types of this relation.
 63150  	RelationTypes []string `xml:"relationTypes,omitempty" json:"relationTypes,omitempty"`
 63151  	// The valid value list.
 63152  	Values []AnyType `xml:"values,omitempty,typeattr" json:"values,omitempty"`
 63153  	// The property path of the related profile/parameter.
 63154  	Path *ProfilePropertyPath `xml:"path,omitempty" json:"path,omitempty"`
 63155  	// The minimal count of values to map to.
 63156  	MinCount int32 `xml:"minCount" json:"minCount"`
 63157  	// The maximum count of values to map to.
 63158  	MaxCount int32 `xml:"maxCount" json:"maxCount"`
 63159  }
 63160  
 63161  func init() {
 63162  	t["ProfileParameterMetadataParameterRelationMetadata"] = reflect.TypeOf((*ProfileParameterMetadataParameterRelationMetadata)(nil)).Elem()
 63163  	minAPIVersionForType["ProfileParameterMetadataParameterRelationMetadata"] = "6.7"
 63164  }
 63165  
 63166  // The `ProfilePolicy` data object represents a policy.
 63167  type ProfilePolicy struct {
 63168  	DynamicData
 63169  
 63170  	// Identifier for the policy.
 63171  	Id string `xml:"id" json:"id"`
 63172  	// Configuration parameters.
 63173  	PolicyOption BasePolicyOption `xml:"policyOption,typeattr" json:"policyOption"`
 63174  }
 63175  
 63176  func init() {
 63177  	t["ProfilePolicy"] = reflect.TypeOf((*ProfilePolicy)(nil)).Elem()
 63178  	minAPIVersionForType["ProfilePolicy"] = "4.0"
 63179  }
 63180  
 63181  // The `ProfilePolicyMetadata` data object represents the metadata information
 63182  // for a `ProfilePolicy`.
 63183  type ProfilePolicyMetadata struct {
 63184  	DynamicData
 63185  
 63186  	// Identifier for the policy.
 63187  	Id ExtendedElementDescription `xml:"id" json:"id"`
 63188  	// Possible policy options that can be set for a policy of the
 63189  	// given kind.
 63190  	//
 63191  	// `HostProfile`s and subprofiles
 63192  	// will contain selected policy options from this list. See
 63193  	// `PolicyOption`.
 63194  	PossibleOption []BaseProfilePolicyOptionMetadata `xml:"possibleOption,typeattr" json:"possibleOption"`
 63195  }
 63196  
 63197  func init() {
 63198  	t["ProfilePolicyMetadata"] = reflect.TypeOf((*ProfilePolicyMetadata)(nil)).Elem()
 63199  	minAPIVersionForType["ProfilePolicyMetadata"] = "4.0"
 63200  }
 63201  
 63202  // The `ProfilePolicyOptionMetadata` data object contains the metadata information
 63203  // for a `PolicyOption`.
 63204  type ProfilePolicyOptionMetadata struct {
 63205  	DynamicData
 63206  
 63207  	// Identifier for the policy option.
 63208  	//     - The <code>id.key</code> value
 63209  	//       (`ExtendedElementDescription*.*ElementDescription.key`)
 63210  	//       identifies the policy option type.
 63211  	//     - The <code>id.label</code> property
 63212  	//       (`ExtendedElementDescription*.*Description.label`)
 63213  	//       contains a brief localizable message describing the policy option.
 63214  	//     - The <code>id.summary</code> property
 63215  	//       (`ExtendedElementDescription*.*Description.summary`)
 63216  	//       contains a localizable summary of the policy option.
 63217  	//       Summary information can contain embedded variable names which can
 63218  	//       be replaced with values from the <code>parameter</code> property.
 63219  	Id ExtendedElementDescription `xml:"id" json:"id"`
 63220  	// Metadata about the parameters for the policy option.
 63221  	Parameter []ProfileParameterMetadata `xml:"parameter,omitempty" json:"parameter,omitempty"`
 63222  }
 63223  
 63224  func init() {
 63225  	t["ProfilePolicyOptionMetadata"] = reflect.TypeOf((*ProfilePolicyOptionMetadata)(nil)).Elem()
 63226  	minAPIVersionForType["ProfilePolicyOptionMetadata"] = "4.0"
 63227  }
 63228  
 63229  type ProfileProfileStructure struct {
 63230  	DynamicData
 63231  
 63232  	// Identifier for the profile type
 63233  	ProfileTypeName string `xml:"profileTypeName" json:"profileTypeName"`
 63234  	// SubProfile properties available for this profile
 63235  	Child []ProfileProfileStructureProperty `xml:"child,omitempty" json:"child,omitempty"`
 63236  }
 63237  
 63238  func init() {
 63239  	t["ProfileProfileStructure"] = reflect.TypeOf((*ProfileProfileStructure)(nil)).Elem()
 63240  }
 63241  
 63242  type ProfileProfileStructureProperty struct {
 63243  	DynamicData
 63244  
 63245  	// Name of the property where this ProfileStructureProperty is being used
 63246  	PropertyName string `xml:"propertyName" json:"propertyName"`
 63247  	// Flag indicating if this property is an Array of profiles
 63248  	Array bool `xml:"array" json:"array"`
 63249  	// Details about the profile contained within this property
 63250  	Element ProfileProfileStructure `xml:"element" json:"element"`
 63251  }
 63252  
 63253  func init() {
 63254  	t["ProfileProfileStructureProperty"] = reflect.TypeOf((*ProfileProfileStructureProperty)(nil)).Elem()
 63255  }
 63256  
 63257  // The `ProfilePropertyPath` data object represents
 63258  // the path to a profile, policy option, or specific parameter.
 63259  //
 63260  // If <code>profilePath</code>,
 63261  // <code>policyId</code>, and <code>parameterId</code> are all specified, the
 63262  // combination of the three identifies a particular parameter. If only <code>profilePath</code>
 63263  // and <code>policyId</code> are specified, the combination identifies a
 63264  // specific profile policy option. If just the <code>profilePath</code> is
 63265  // specified, the data object identifies a profile instance.
 63266  type ProfilePropertyPath struct {
 63267  	DynamicData
 63268  
 63269  	// Complete path to the leaf profile, relative to the root of the host profile
 63270  	// document.
 63271  	ProfilePath string `xml:"profilePath" json:"profilePath"`
 63272  	// Policy identifier.
 63273  	PolicyId string `xml:"policyId,omitempty" json:"policyId,omitempty"`
 63274  	// Key for a parameter in the policy specified by <code>policyId</code>.
 63275  	//
 63276  	// See `PolicyOption*.*PolicyOption.parameter`
 63277  	// and `KeyAnyValue.key`.
 63278  	ParameterId string `xml:"parameterId,omitempty" json:"parameterId,omitempty" vim:"5.1"`
 63279  	// Policy option identifier.
 63280  	PolicyOptionId string `xml:"policyOptionId,omitempty" json:"policyOptionId,omitempty" vim:"6.7"`
 63281  }
 63282  
 63283  func init() {
 63284  	t["ProfilePropertyPath"] = reflect.TypeOf((*ProfilePropertyPath)(nil)).Elem()
 63285  	minAPIVersionForType["ProfilePropertyPath"] = "4.0"
 63286  }
 63287  
 63288  // This event records that the reference host associated with this profile has changed
 63289  type ProfileReferenceHostChangedEvent struct {
 63290  	ProfileEvent
 63291  
 63292  	// The newly associated reference host with this profile
 63293  	//
 63294  	// Refers instance of `HostSystem`.
 63295  	ReferenceHost *ManagedObjectReference `xml:"referenceHost,omitempty" json:"referenceHost,omitempty"`
 63296  	// The newly associated reference host name
 63297  	ReferenceHostName string `xml:"referenceHostName,omitempty" json:"referenceHostName,omitempty" vim:"6.5"`
 63298  	// The previous reference host name
 63299  	PrevReferenceHostName string `xml:"prevReferenceHostName,omitempty" json:"prevReferenceHostName,omitempty" vim:"6.5"`
 63300  }
 63301  
 63302  func init() {
 63303  	t["ProfileReferenceHostChangedEvent"] = reflect.TypeOf((*ProfileReferenceHostChangedEvent)(nil)).Elem()
 63304  	minAPIVersionForType["ProfileReferenceHostChangedEvent"] = "4.0"
 63305  }
 63306  
 63307  // This event records that a Profile was removed.
 63308  type ProfileRemovedEvent struct {
 63309  	ProfileEvent
 63310  }
 63311  
 63312  func init() {
 63313  	t["ProfileRemovedEvent"] = reflect.TypeOf((*ProfileRemovedEvent)(nil)).Elem()
 63314  	minAPIVersionForType["ProfileRemovedEvent"] = "4.0"
 63315  }
 63316  
 63317  // The `ProfileSerializedCreateSpec` data object
 63318  // defines a string that contains a serialized representation of a host profile.
 63319  type ProfileSerializedCreateSpec struct {
 63320  	ProfileCreateSpec
 63321  
 63322  	// Representation of the profile in the string form.
 63323  	ProfileConfigString string `xml:"profileConfigString" json:"profileConfigString"`
 63324  }
 63325  
 63326  func init() {
 63327  	t["ProfileSerializedCreateSpec"] = reflect.TypeOf((*ProfileSerializedCreateSpec)(nil)).Elem()
 63328  	minAPIVersionForType["ProfileSerializedCreateSpec"] = "4.0"
 63329  }
 63330  
 63331  // DataObject represents a pre-defined expression
 63332  type ProfileSimpleExpression struct {
 63333  	ProfileExpression
 63334  
 63335  	// Type of the simple expression to instantiate.
 63336  	//
 63337  	// The expressionType should be derived from the available expressions as
 63338  	// listed in the metadata.
 63339  	ExpressionType string `xml:"expressionType" json:"expressionType"`
 63340  	// The parameters for the expressionType.
 63341  	//
 63342  	// The list of parameters needed for a simple expression can
 63343  	// be obtained from the metadata.
 63344  	Parameter []KeyAnyValue `xml:"parameter,omitempty" json:"parameter,omitempty"`
 63345  }
 63346  
 63347  func init() {
 63348  	t["ProfileSimpleExpression"] = reflect.TypeOf((*ProfileSimpleExpression)(nil)).Elem()
 63349  	minAPIVersionForType["ProfileSimpleExpression"] = "4.0"
 63350  }
 63351  
 63352  // Errors were detected during Profile update.
 63353  type ProfileUpdateFailed struct {
 63354  	VimFault
 63355  
 63356  	// Failures encountered during update/validation
 63357  	Failure []ProfileUpdateFailedUpdateFailure `xml:"failure" json:"failure"`
 63358  	// Warnings encountered during update/validation
 63359  	Warnings []ProfileUpdateFailedUpdateFailure `xml:"warnings,omitempty" json:"warnings,omitempty" vim:"6.7"`
 63360  }
 63361  
 63362  func init() {
 63363  	t["ProfileUpdateFailed"] = reflect.TypeOf((*ProfileUpdateFailed)(nil)).Elem()
 63364  	minAPIVersionForType["ProfileUpdateFailed"] = "4.0"
 63365  }
 63366  
 63367  type ProfileUpdateFailedFault ProfileUpdateFailed
 63368  
 63369  func init() {
 63370  	t["ProfileUpdateFailedFault"] = reflect.TypeOf((*ProfileUpdateFailedFault)(nil)).Elem()
 63371  }
 63372  
 63373  type ProfileUpdateFailedUpdateFailure struct {
 63374  	DynamicData
 63375  
 63376  	// Location in the profile which has the error
 63377  	ProfilePath ProfilePropertyPath `xml:"profilePath" json:"profilePath"`
 63378  	// Message which explains the problem encountered
 63379  	ErrMsg LocalizableMessage `xml:"errMsg" json:"errMsg"`
 63380  }
 63381  
 63382  func init() {
 63383  	t["ProfileUpdateFailedUpdateFailure"] = reflect.TypeOf((*ProfileUpdateFailedUpdateFailure)(nil)).Elem()
 63384  }
 63385  
 63386  // The parameters of `VirtualMachine.PromoteDisks_Task`.
 63387  type PromoteDisksRequestType struct {
 63388  	This ManagedObjectReference `xml:"_this" json:"-"`
 63389  	// If true, then these disks will be unlinked before consolidation.
 63390  	Unlink bool `xml:"unlink" json:"unlink"`
 63391  	// The set of disks that are to be promoted.
 63392  	// If this value is unset or the array is empty,
 63393  	// all disks which have delta disk backings are promoted.
 63394  	Disks []VirtualDisk `xml:"disks,omitempty" json:"disks,omitempty"`
 63395  }
 63396  
 63397  func init() {
 63398  	t["PromoteDisksRequestType"] = reflect.TypeOf((*PromoteDisksRequestType)(nil)).Elem()
 63399  }
 63400  
 63401  type PromoteDisks_Task PromoteDisksRequestType
 63402  
 63403  func init() {
 63404  	t["PromoteDisks_Task"] = reflect.TypeOf((*PromoteDisks_Task)(nil)).Elem()
 63405  }
 63406  
 63407  type PromoteDisks_TaskResponse struct {
 63408  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 63409  }
 63410  
 63411  // Describes a change to a property.
 63412  type PropertyChange struct {
 63413  	DynamicData
 63414  
 63415  	// Property or nested property to which the change applies.
 63416  	//
 63417  	// Nested
 63418  	// properties are specified by paths; for example,
 63419  	//     - foo.bar
 63420  	//     - foo.arProp\["key val"\]
 63421  	//     - foo.arProp\["key val"\].baz
 63422  	Name string `xml:"name" json:"name"`
 63423  	// Change operation for the property.
 63424  	//
 63425  	// Valid values are:
 63426  	// <dl>
 63427  	// <dt>add</dt>
 63428  	// <dd>The property is a collection and the change inserts an element
 63429  	// into the collection.</dd>
 63430  	// <dt>remove</dt>
 63431  	// <dd>The property is a collection and the change deletes an element
 63432  	// from the collection.</dd>
 63433  	// <dt>assign</dt>
 63434  	// <dd>The change is a new value for the property.</dd>
 63435  	// <dt>indirectRemove</dt>
 63436  	// <dd>The property was removed because a containing property was removed
 63437  	// or unset</dd>
 63438  	// </dl>
 63439  	Op PropertyChangeOp `xml:"op" json:"op"`
 63440  	// New value for the property when "op" is either "add" or "assign".
 63441  	Val AnyType `xml:"val,typeattr" json:"val"`
 63442  }
 63443  
 63444  func init() {
 63445  	t["PropertyChange"] = reflect.TypeOf((*PropertyChange)(nil)).Elem()
 63446  }
 63447  
 63448  // Specify the property data that is included in a filter.
 63449  //
 63450  // A filter can
 63451  // specify part of a single managed object, or parts of multiple related
 63452  // managed objects in an inventory hierarchy - for example, to collect
 63453  // updates from all virtual machines in a given folder.
 63454  type PropertyFilterSpec struct {
 63455  	DynamicData
 63456  
 63457  	// Set of properties to include in the filter, specified for each object
 63458  	// type.
 63459  	PropSet []PropertySpec `xml:"propSet" json:"propSet"`
 63460  	// Set of specifications that determine the objects to filter.
 63461  	ObjectSet []ObjectSpec `xml:"objectSet" json:"objectSet"`
 63462  	// Control how to report missing objects during filter creation.
 63463  	//
 63464  	// If false or unset and `PropertyFilterSpec.objectSet` refers to missing objects,
 63465  	// filter creation will fail with a `ManagedObjectNotFound` fault.
 63466  	//
 63467  	// If true and `PropertyFilterSpec.objectSet` refers
 63468  	// to missing objects, filter creation will not fail and missing objects
 63469  	// will be reported via filter results. This is the recommended setting
 63470  	// when `PropertyFilterSpec.objectSet` refers to
 63471  	// transient objects.
 63472  	//
 63473  	// In an `UpdateSet` missing objects will
 63474  	// appear in the `PropertyFilterUpdate.missingSet` field.
 63475  	//
 63476  	// In a `RetrieveResult` missing objects will
 63477  	// simply be omitted from the objects field.
 63478  	//
 63479  	// For a call to `PropertyCollector.RetrieveProperties` missing objects will simply
 63480  	// be omitted from the results.
 63481  	ReportMissingObjectsInResults *bool `xml:"reportMissingObjectsInResults" json:"reportMissingObjectsInResults,omitempty" vim:"4.1"`
 63482  }
 63483  
 63484  func init() {
 63485  	t["PropertyFilterSpec"] = reflect.TypeOf((*PropertyFilterSpec)(nil)).Elem()
 63486  }
 63487  
 63488  // The `PropertyFilterUpdate` data object type contains a
 63489  // list of updates to data visible through a specific filter.
 63490  //
 63491  // Note that if a
 63492  // property changes through multiple filters, then a client receives an
 63493  // update for each filter.
 63494  type PropertyFilterUpdate struct {
 63495  	DynamicData
 63496  
 63497  	// Filter that was updated.
 63498  	//
 63499  	// Refers instance of `PropertyFilter`.
 63500  	Filter ManagedObjectReference `xml:"filter" json:"filter"`
 63501  	// Set of changes to object properties in the filter.
 63502  	ObjectSet []ObjectUpdate `xml:"objectSet,omitempty" json:"objectSet,omitempty"`
 63503  	// Objects that could not be found on the server, but were specified in a
 63504  	// `PropertyFilterSpec.objectSet`.
 63505  	//
 63506  	// This field will only be populated for objects that were determined
 63507  	// to be missing since the data version passed to `PropertyCollector.CheckForUpdates`, `PropertyCollector.WaitForUpdates`, or `PropertyCollector.WaitForUpdatesEx` and will not contain objects that were missing
 63508  	// prior to that data version.
 63509  	MissingSet []MissingObject `xml:"missingSet,omitempty" json:"missingSet,omitempty"`
 63510  }
 63511  
 63512  func init() {
 63513  	t["PropertyFilterUpdate"] = reflect.TypeOf((*PropertyFilterUpdate)(nil)).Elem()
 63514  }
 63515  
 63516  // Within a `PropertyFilterSpec`, A `PropertySpec` specifies which properties should be
 63517  // reported to the client for objects of the given managed object type that
 63518  // are visited and not skipped.
 63519  //
 63520  // One more subtle side effect is that if a
 63521  // managed object is visited and not skipped, but there is no `PropertySpec` associated with the managed object's
 63522  // type, the managed object will not be reported to the client.
 63523  //
 63524  // Also, the set of properties applicable to a given managed object type
 63525  // is the union of the properties implied by the `PropertySpec` objects even, in the case of a `RetrieveResult`, where there may be an applicable
 63526  // `PropertySpec` in more than one filter.
 63527  type PropertySpec struct {
 63528  	DynamicData
 63529  
 63530  	// Name of the managed object type being collected.
 63531  	Type string `xml:"type" json:"type"`
 63532  	// Specifies whether or not all properties of the object are read.
 63533  	//
 63534  	// If
 63535  	// this property is set to true, the `PropertySpec.pathSet` property is ignored.
 63536  	All *bool `xml:"all" json:"all,omitempty"`
 63537  	// Specifies which managed object properties are retrieved.
 63538  	//
 63539  	// If the `PropertySpec.pathSet` is empty, then the
 63540  	// `PropertyCollector` retrieves references to the managed objects
 63541  	// and no managed object properties are collected.
 63542  	PathSet []string `xml:"pathSet,omitempty" json:"pathSet,omitempty"`
 63543  }
 63544  
 63545  func init() {
 63546  	t["PropertySpec"] = reflect.TypeOf((*PropertySpec)(nil)).Elem()
 63547  }
 63548  
 63549  type PutUsbScanCodes PutUsbScanCodesRequestType
 63550  
 63551  func init() {
 63552  	t["PutUsbScanCodes"] = reflect.TypeOf((*PutUsbScanCodes)(nil)).Elem()
 63553  }
 63554  
 63555  // The parameters of `VirtualMachine.PutUsbScanCodes`.
 63556  type PutUsbScanCodesRequestType struct {
 63557  	This ManagedObjectReference `xml:"_this" json:"-"`
 63558  	Spec UsbScanCodeSpec        `xml:"spec" json:"spec"`
 63559  }
 63560  
 63561  func init() {
 63562  	t["PutUsbScanCodesRequestType"] = reflect.TypeOf((*PutUsbScanCodesRequestType)(nil)).Elem()
 63563  }
 63564  
 63565  type PutUsbScanCodesResponse struct {
 63566  	Returnval int32 `xml:"returnval" json:"returnval"`
 63567  }
 63568  
 63569  type QuarantineModeFault struct {
 63570  	VmConfigFault
 63571  
 63572  	VmName    string `xml:"vmName" json:"vmName"`
 63573  	FaultType string `xml:"faultType" json:"faultType"`
 63574  }
 63575  
 63576  func init() {
 63577  	t["QuarantineModeFault"] = reflect.TypeOf((*QuarantineModeFault)(nil)).Elem()
 63578  }
 63579  
 63580  type QuarantineModeFaultFault QuarantineModeFault
 63581  
 63582  func init() {
 63583  	t["QuarantineModeFaultFault"] = reflect.TypeOf((*QuarantineModeFaultFault)(nil)).Elem()
 63584  }
 63585  
 63586  type QueryAnswerFileStatus QueryAnswerFileStatusRequestType
 63587  
 63588  func init() {
 63589  	t["QueryAnswerFileStatus"] = reflect.TypeOf((*QueryAnswerFileStatus)(nil)).Elem()
 63590  }
 63591  
 63592  // The parameters of `HostProfileManager.QueryAnswerFileStatus`.
 63593  type QueryAnswerFileStatusRequestType struct {
 63594  	This ManagedObjectReference `xml:"_this" json:"-"`
 63595  	// The hosts the answer file is associated with.
 63596  	//
 63597  	// Refers instances of `HostSystem`.
 63598  	Host []ManagedObjectReference `xml:"host" json:"host"`
 63599  }
 63600  
 63601  func init() {
 63602  	t["QueryAnswerFileStatusRequestType"] = reflect.TypeOf((*QueryAnswerFileStatusRequestType)(nil)).Elem()
 63603  }
 63604  
 63605  type QueryAnswerFileStatusResponse struct {
 63606  	Returnval []AnswerFileStatusResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63607  }
 63608  
 63609  type QueryAssignedLicenses QueryAssignedLicensesRequestType
 63610  
 63611  func init() {
 63612  	t["QueryAssignedLicenses"] = reflect.TypeOf((*QueryAssignedLicenses)(nil)).Elem()
 63613  }
 63614  
 63615  // The parameters of `LicenseAssignmentManager.QueryAssignedLicenses`.
 63616  type QueryAssignedLicensesRequestType struct {
 63617  	This ManagedObjectReference `xml:"_this" json:"-"`
 63618  	// ID of the entity. E.g. HostSystem.
 63619  	EntityId string `xml:"entityId,omitempty" json:"entityId,omitempty"`
 63620  }
 63621  
 63622  func init() {
 63623  	t["QueryAssignedLicensesRequestType"] = reflect.TypeOf((*QueryAssignedLicensesRequestType)(nil)).Elem()
 63624  }
 63625  
 63626  type QueryAssignedLicensesResponse struct {
 63627  	Returnval []LicenseAssignmentManagerLicenseAssignment `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63628  }
 63629  
 63630  type QueryAvailableDisksForVmfs QueryAvailableDisksForVmfsRequestType
 63631  
 63632  func init() {
 63633  	t["QueryAvailableDisksForVmfs"] = reflect.TypeOf((*QueryAvailableDisksForVmfs)(nil)).Elem()
 63634  }
 63635  
 63636  // The parameters of `HostDatastoreSystem.QueryAvailableDisksForVmfs`.
 63637  type QueryAvailableDisksForVmfsRequestType struct {
 63638  	This ManagedObjectReference `xml:"_this" json:"-"`
 63639  	// The managed object reference of the VMFS datastore
 63640  	// you want extents for.
 63641  	//
 63642  	// Refers instance of `Datastore`.
 63643  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 63644  }
 63645  
 63646  func init() {
 63647  	t["QueryAvailableDisksForVmfsRequestType"] = reflect.TypeOf((*QueryAvailableDisksForVmfsRequestType)(nil)).Elem()
 63648  }
 63649  
 63650  type QueryAvailableDisksForVmfsResponse struct {
 63651  	Returnval []HostScsiDisk `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63652  }
 63653  
 63654  type QueryAvailableDvsSpec QueryAvailableDvsSpecRequestType
 63655  
 63656  func init() {
 63657  	t["QueryAvailableDvsSpec"] = reflect.TypeOf((*QueryAvailableDvsSpec)(nil)).Elem()
 63658  }
 63659  
 63660  // The parameters of `DistributedVirtualSwitchManager.QueryAvailableDvsSpec`.
 63661  type QueryAvailableDvsSpecRequestType struct {
 63662  	This ManagedObjectReference `xml:"_this" json:"-"`
 63663  	// If set to true, return only the recommended versions.
 63664  	// If set to false, return only the not recommended versions.
 63665  	// If unset, return all supported versions.
 63666  	Recommended *bool `xml:"recommended" json:"recommended,omitempty" vim:"6.0"`
 63667  }
 63668  
 63669  func init() {
 63670  	t["QueryAvailableDvsSpecRequestType"] = reflect.TypeOf((*QueryAvailableDvsSpecRequestType)(nil)).Elem()
 63671  }
 63672  
 63673  type QueryAvailableDvsSpecResponse struct {
 63674  	Returnval []DistributedVirtualSwitchProductSpec `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63675  }
 63676  
 63677  type QueryAvailablePartition QueryAvailablePartitionRequestType
 63678  
 63679  func init() {
 63680  	t["QueryAvailablePartition"] = reflect.TypeOf((*QueryAvailablePartition)(nil)).Elem()
 63681  }
 63682  
 63683  type QueryAvailablePartitionRequestType struct {
 63684  	This ManagedObjectReference `xml:"_this" json:"-"`
 63685  }
 63686  
 63687  func init() {
 63688  	t["QueryAvailablePartitionRequestType"] = reflect.TypeOf((*QueryAvailablePartitionRequestType)(nil)).Elem()
 63689  }
 63690  
 63691  type QueryAvailablePartitionResponse struct {
 63692  	Returnval []HostDiagnosticPartition `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63693  }
 63694  
 63695  type QueryAvailablePerfMetric QueryAvailablePerfMetricRequestType
 63696  
 63697  func init() {
 63698  	t["QueryAvailablePerfMetric"] = reflect.TypeOf((*QueryAvailablePerfMetric)(nil)).Elem()
 63699  }
 63700  
 63701  // The parameters of `PerformanceManager.QueryAvailablePerfMetric`.
 63702  type QueryAvailablePerfMetricRequestType struct {
 63703  	This ManagedObjectReference `xml:"_this" json:"-"`
 63704  	// The *managed object* that
 63705  	// provides performance metrics.
 63706  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 63707  	// Starting time (server time) for a period of time from which to return
 63708  	// available metrics. If not specified, defaults to oldest available metric
 63709  	// for the specified entity.
 63710  	BeginTime *time.Time `xml:"beginTime" json:"beginTime,omitempty"`
 63711  	// Ending time (server time) for a period of time from which to return
 63712  	// available performance metrics. If not specified, defaults to the most
 63713  	// recently generated metric for the specified entity.
 63714  	EndTime *time.Time `xml:"endTime" json:"endTime,omitempty"`
 63715  	// Period of time from which to retrieve metrics, defined by intervalId
 63716  	// (rather than beginTime or endTime). Valid intervalIds include:
 63717  	//     - For real-time counters, the `refreshRate` of
 63718  	//       the *performance
 63719  	//       provider*.
 63720  	//     - For historical counters, the `samplingPeriod` of the *historical interval*.
 63721  	//
 63722  	// If this parameter is not specified, the system returns available metrics
 63723  	// for historical statistics&#46;
 63724  	IntervalId int32 `xml:"intervalId,omitempty" json:"intervalId,omitempty"`
 63725  }
 63726  
 63727  func init() {
 63728  	t["QueryAvailablePerfMetricRequestType"] = reflect.TypeOf((*QueryAvailablePerfMetricRequestType)(nil)).Elem()
 63729  }
 63730  
 63731  type QueryAvailablePerfMetricResponse struct {
 63732  	Returnval []PerfMetricId `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63733  }
 63734  
 63735  type QueryAvailableSsds QueryAvailableSsdsRequestType
 63736  
 63737  func init() {
 63738  	t["QueryAvailableSsds"] = reflect.TypeOf((*QueryAvailableSsds)(nil)).Elem()
 63739  }
 63740  
 63741  // The parameters of `HostStorageSystem.QueryAvailableSsds`.
 63742  type QueryAvailableSsdsRequestType struct {
 63743  	This ManagedObjectReference `xml:"_this" json:"-"`
 63744  	// The path of the VFFS to extend. See `FileSystemMountInfo`.
 63745  	VffsPath string `xml:"vffsPath,omitempty" json:"vffsPath,omitempty"`
 63746  }
 63747  
 63748  func init() {
 63749  	t["QueryAvailableSsdsRequestType"] = reflect.TypeOf((*QueryAvailableSsdsRequestType)(nil)).Elem()
 63750  }
 63751  
 63752  type QueryAvailableSsdsResponse struct {
 63753  	Returnval []HostScsiDisk `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63754  }
 63755  
 63756  type QueryAvailableTimeZones QueryAvailableTimeZonesRequestType
 63757  
 63758  func init() {
 63759  	t["QueryAvailableTimeZones"] = reflect.TypeOf((*QueryAvailableTimeZones)(nil)).Elem()
 63760  }
 63761  
 63762  type QueryAvailableTimeZonesRequestType struct {
 63763  	This ManagedObjectReference `xml:"_this" json:"-"`
 63764  }
 63765  
 63766  func init() {
 63767  	t["QueryAvailableTimeZonesRequestType"] = reflect.TypeOf((*QueryAvailableTimeZonesRequestType)(nil)).Elem()
 63768  }
 63769  
 63770  type QueryAvailableTimeZonesResponse struct {
 63771  	Returnval []HostDateTimeSystemTimeZone `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63772  }
 63773  
 63774  type QueryBootDevices QueryBootDevicesRequestType
 63775  
 63776  func init() {
 63777  	t["QueryBootDevices"] = reflect.TypeOf((*QueryBootDevices)(nil)).Elem()
 63778  }
 63779  
 63780  type QueryBootDevicesRequestType struct {
 63781  	This ManagedObjectReference `xml:"_this" json:"-"`
 63782  }
 63783  
 63784  func init() {
 63785  	t["QueryBootDevicesRequestType"] = reflect.TypeOf((*QueryBootDevicesRequestType)(nil)).Elem()
 63786  }
 63787  
 63788  type QueryBootDevicesResponse struct {
 63789  	Returnval *HostBootDeviceInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63790  }
 63791  
 63792  type QueryBoundVnics QueryBoundVnicsRequestType
 63793  
 63794  func init() {
 63795  	t["QueryBoundVnics"] = reflect.TypeOf((*QueryBoundVnics)(nil)).Elem()
 63796  }
 63797  
 63798  // The parameters of `IscsiManager.QueryBoundVnics`.
 63799  type QueryBoundVnicsRequestType struct {
 63800  	This ManagedObjectReference `xml:"_this" json:"-"`
 63801  	// iSCSI adapter name for which the method to be
 63802  	// applied.
 63803  	IScsiHbaName string `xml:"iScsiHbaName" json:"iScsiHbaName"`
 63804  }
 63805  
 63806  func init() {
 63807  	t["QueryBoundVnicsRequestType"] = reflect.TypeOf((*QueryBoundVnicsRequestType)(nil)).Elem()
 63808  }
 63809  
 63810  type QueryBoundVnicsResponse struct {
 63811  	Returnval []IscsiPortInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63812  }
 63813  
 63814  type QueryCandidateNics QueryCandidateNicsRequestType
 63815  
 63816  func init() {
 63817  	t["QueryCandidateNics"] = reflect.TypeOf((*QueryCandidateNics)(nil)).Elem()
 63818  }
 63819  
 63820  // The parameters of `IscsiManager.QueryCandidateNics`.
 63821  type QueryCandidateNicsRequestType struct {
 63822  	This ManagedObjectReference `xml:"_this" json:"-"`
 63823  	// iSCSI Adapter name for which the method to be
 63824  	// applied.
 63825  	IScsiHbaName string `xml:"iScsiHbaName" json:"iScsiHbaName"`
 63826  }
 63827  
 63828  func init() {
 63829  	t["QueryCandidateNicsRequestType"] = reflect.TypeOf((*QueryCandidateNicsRequestType)(nil)).Elem()
 63830  }
 63831  
 63832  type QueryCandidateNicsResponse struct {
 63833  	Returnval []IscsiPortInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63834  }
 63835  
 63836  type QueryChangedDiskAreas QueryChangedDiskAreasRequestType
 63837  
 63838  func init() {
 63839  	t["QueryChangedDiskAreas"] = reflect.TypeOf((*QueryChangedDiskAreas)(nil)).Elem()
 63840  }
 63841  
 63842  // The parameters of `VirtualMachine.QueryChangedDiskAreas`.
 63843  type QueryChangedDiskAreasRequestType struct {
 63844  	This ManagedObjectReference `xml:"_this" json:"-"`
 63845  	// Snapshot for which changes that have been made sine
 63846  	// "changeId" should be computed. If not set, changes are computed
 63847  	// against the "current" snapshot of the virtual machine. However,
 63848  	// using the "current" snapshot will only work for virtual machines
 63849  	// that are powered off.
 63850  	//
 63851  	// Refers instance of `VirtualMachineSnapshot`.
 63852  	Snapshot *ManagedObjectReference `xml:"snapshot,omitempty" json:"snapshot,omitempty"`
 63853  	// Identifies the virtual disk for which to compute changes.
 63854  	DeviceKey int32 `xml:"deviceKey" json:"deviceKey"`
 63855  	// Start Offset in bytes at which to start computing changes.
 63856  	// Typically, callers will make multiple calls to this function, starting
 63857  	// with startOffset 0 and then examine the "length" property in the
 63858  	// returned DiskChangeInfo structure, repeatedly calling queryChangedDiskAreas
 63859  	// until a map forthe entire virtual disk has been obtained.
 63860  	StartOffset int64 `xml:"startOffset" json:"startOffset"`
 63861  	// Identifyer referring to a point in the past that should be used
 63862  	// as the point in time at which to begin including changes to the disk in
 63863  	// the result. A typical use case would be a backup application obtaining a
 63864  	// changeId from a virtual disk's backing info when performing a
 63865  	// backup. When a subsequent incremental backup is to be performed, this
 63866  	// change Id can be used to obtain a list of changed areas on disk.
 63867  	ChangeId string `xml:"changeId" json:"changeId"`
 63868  }
 63869  
 63870  func init() {
 63871  	t["QueryChangedDiskAreasRequestType"] = reflect.TypeOf((*QueryChangedDiskAreasRequestType)(nil)).Elem()
 63872  }
 63873  
 63874  type QueryChangedDiskAreasResponse struct {
 63875  	Returnval DiskChangeInfo `xml:"returnval" json:"returnval"`
 63876  }
 63877  
 63878  type QueryCmmds QueryCmmdsRequestType
 63879  
 63880  func init() {
 63881  	t["QueryCmmds"] = reflect.TypeOf((*QueryCmmds)(nil)).Elem()
 63882  }
 63883  
 63884  // The parameters of `HostVsanInternalSystem.QueryCmmds`.
 63885  type QueryCmmdsRequestType struct {
 63886  	This ManagedObjectReference `xml:"_this" json:"-"`
 63887  	// List of CMMDS query specs.
 63888  	Queries []HostVsanInternalSystemCmmdsQuery `xml:"queries" json:"queries"`
 63889  }
 63890  
 63891  func init() {
 63892  	t["QueryCmmdsRequestType"] = reflect.TypeOf((*QueryCmmdsRequestType)(nil)).Elem()
 63893  }
 63894  
 63895  type QueryCmmdsResponse struct {
 63896  	Returnval string `xml:"returnval" json:"returnval"`
 63897  }
 63898  
 63899  type QueryCompatibleHostForExistingDvs QueryCompatibleHostForExistingDvsRequestType
 63900  
 63901  func init() {
 63902  	t["QueryCompatibleHostForExistingDvs"] = reflect.TypeOf((*QueryCompatibleHostForExistingDvs)(nil)).Elem()
 63903  }
 63904  
 63905  // The parameters of `DistributedVirtualSwitchManager.QueryCompatibleHostForExistingDvs`.
 63906  type QueryCompatibleHostForExistingDvsRequestType struct {
 63907  	This ManagedObjectReference `xml:"_this" json:"-"`
 63908  	// Where to look for hosts. Supported types of objects for
 63909  	// this parameter are `Datacenter`,
 63910  	// `ComputeResource` and `Folder`.
 63911  	//
 63912  	// Refers instance of `ManagedEntity`.
 63913  	Container ManagedObjectReference `xml:"container" json:"container"`
 63914  	// Whether to search for hosts in the subfolders,
 63915  	// if applicable. In the case when container is a `Datacenter`,
 63916  	// the recursive flag is applied to its HostFolder.
 63917  	Recursive bool `xml:"recursive" json:"recursive"`
 63918  	// Search the host based on the specification published in the
 63919  	// `DVSCapability.compatibleHostComponentProductInfo`
 63920  	// of a `DistributedVirtualSwitch`. If not
 63921  	// set, it is assumed to be the specification that a
 63922  	// DistributedVirtualSwitch would have if it is created
 63923  	// with the default `DistributedVirtualSwitchProductSpec`.
 63924  	//
 63925  	// Refers instance of `DistributedVirtualSwitch`.
 63926  	Dvs ManagedObjectReference `xml:"dvs" json:"dvs"`
 63927  }
 63928  
 63929  func init() {
 63930  	t["QueryCompatibleHostForExistingDvsRequestType"] = reflect.TypeOf((*QueryCompatibleHostForExistingDvsRequestType)(nil)).Elem()
 63931  }
 63932  
 63933  type QueryCompatibleHostForExistingDvsResponse struct {
 63934  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63935  }
 63936  
 63937  type QueryCompatibleHostForNewDvs QueryCompatibleHostForNewDvsRequestType
 63938  
 63939  func init() {
 63940  	t["QueryCompatibleHostForNewDvs"] = reflect.TypeOf((*QueryCompatibleHostForNewDvs)(nil)).Elem()
 63941  }
 63942  
 63943  // The parameters of `DistributedVirtualSwitchManager.QueryCompatibleHostForNewDvs`.
 63944  type QueryCompatibleHostForNewDvsRequestType struct {
 63945  	This ManagedObjectReference `xml:"_this" json:"-"`
 63946  	// Where to look for hosts. Supported types of objects for
 63947  	// this parameter are `Datacenter`,
 63948  	// `ComputeResource` and `Folder`.
 63949  	//
 63950  	// Refers instance of `ManagedEntity`.
 63951  	Container ManagedObjectReference `xml:"container" json:"container"`
 63952  	// Whether to search for hosts in the subfolders,
 63953  	// if applicable. In the case when container is a `Datacenter`,
 63954  	// the recursive flag is applied to its HostFolder.
 63955  	Recursive bool `xml:"recursive" json:"recursive"`
 63956  	// The productSpec of a `DistributedVirtualSwitch`.
 63957  	// If not set, it is assumed to be the default one used for
 63958  	// DistributedVirtualSwitch creation.
 63959  	SwitchProductSpec *DistributedVirtualSwitchProductSpec `xml:"switchProductSpec,omitempty" json:"switchProductSpec,omitempty"`
 63960  }
 63961  
 63962  func init() {
 63963  	t["QueryCompatibleHostForNewDvsRequestType"] = reflect.TypeOf((*QueryCompatibleHostForNewDvsRequestType)(nil)).Elem()
 63964  }
 63965  
 63966  type QueryCompatibleHostForNewDvsResponse struct {
 63967  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63968  }
 63969  
 63970  type QueryCompatibleVmnicsFromHosts QueryCompatibleVmnicsFromHostsRequestType
 63971  
 63972  func init() {
 63973  	t["QueryCompatibleVmnicsFromHosts"] = reflect.TypeOf((*QueryCompatibleVmnicsFromHosts)(nil)).Elem()
 63974  }
 63975  
 63976  // The parameters of `DistributedVirtualSwitchManager.QueryCompatibleVmnicsFromHosts`.
 63977  type QueryCompatibleVmnicsFromHostsRequestType struct {
 63978  	This ManagedObjectReference `xml:"_this" json:"-"`
 63979  	// The array of hosts on which the query is to be made to
 63980  	// fetch valid PhysicalNics on each host.
 63981  	//
 63982  	// Refers instances of `HostSystem`.
 63983  	Hosts []ManagedObjectReference `xml:"hosts,omitempty" json:"hosts,omitempty"`
 63984  	// The distributed virtual switch on which the query is to be
 63985  	// made.
 63986  	//
 63987  	// Refers instance of `DistributedVirtualSwitch`.
 63988  	Dvs ManagedObjectReference `xml:"dvs" json:"dvs"`
 63989  }
 63990  
 63991  func init() {
 63992  	t["QueryCompatibleVmnicsFromHostsRequestType"] = reflect.TypeOf((*QueryCompatibleVmnicsFromHostsRequestType)(nil)).Elem()
 63993  }
 63994  
 63995  type QueryCompatibleVmnicsFromHostsResponse struct {
 63996  	Returnval []DVSManagerPhysicalNicsList `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63997  }
 63998  
 63999  type QueryComplianceStatus QueryComplianceStatusRequestType
 64000  
 64001  func init() {
 64002  	t["QueryComplianceStatus"] = reflect.TypeOf((*QueryComplianceStatus)(nil)).Elem()
 64003  }
 64004  
 64005  // The parameters of `ProfileComplianceManager.QueryComplianceStatus`.
 64006  type QueryComplianceStatusRequestType struct {
 64007  	This ManagedObjectReference `xml:"_this" json:"-"`
 64008  	// If specified, compliance result for the specified profiles will be
 64009  	// returned. This acts like a filtering criteria for the ComplianceResults based on
 64010  	// specified profiles.
 64011  	//
 64012  	// Refers instances of `Profile`.
 64013  	Profile []ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
 64014  	// If specified, compliance results for these entities will be returned.
 64015  	// This acts like a filtering criteria for the ComplianceResults based on entities.
 64016  	//
 64017  	// Refers instances of `ManagedEntity`.
 64018  	Entity []ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 64019  }
 64020  
 64021  func init() {
 64022  	t["QueryComplianceStatusRequestType"] = reflect.TypeOf((*QueryComplianceStatusRequestType)(nil)).Elem()
 64023  }
 64024  
 64025  type QueryComplianceStatusResponse struct {
 64026  	Returnval []ComplianceResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64027  }
 64028  
 64029  type QueryConfigOption QueryConfigOptionRequestType
 64030  
 64031  func init() {
 64032  	t["QueryConfigOption"] = reflect.TypeOf((*QueryConfigOption)(nil)).Elem()
 64033  }
 64034  
 64035  type QueryConfigOptionDescriptor QueryConfigOptionDescriptorRequestType
 64036  
 64037  func init() {
 64038  	t["QueryConfigOptionDescriptor"] = reflect.TypeOf((*QueryConfigOptionDescriptor)(nil)).Elem()
 64039  }
 64040  
 64041  type QueryConfigOptionDescriptorRequestType struct {
 64042  	This ManagedObjectReference `xml:"_this" json:"-"`
 64043  }
 64044  
 64045  func init() {
 64046  	t["QueryConfigOptionDescriptorRequestType"] = reflect.TypeOf((*QueryConfigOptionDescriptorRequestType)(nil)).Elem()
 64047  }
 64048  
 64049  type QueryConfigOptionDescriptorResponse struct {
 64050  	Returnval []VirtualMachineConfigOptionDescriptor `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64051  }
 64052  
 64053  type QueryConfigOptionEx QueryConfigOptionExRequestType
 64054  
 64055  func init() {
 64056  	t["QueryConfigOptionEx"] = reflect.TypeOf((*QueryConfigOptionEx)(nil)).Elem()
 64057  }
 64058  
 64059  // The parameters of `EnvironmentBrowser.QueryConfigOptionEx`.
 64060  type QueryConfigOptionExRequestType struct {
 64061  	This ManagedObjectReference `xml:"_this" json:"-"`
 64062  	// Search criteria and filters to control the result.
 64063  	// If a `EnvironmentBrowserConfigOptionQuerySpec.key` or
 64064  	// `EnvironmentBrowserConfigOptionQuerySpec.host` (or both)
 64065  	// are specified, they will be used to search for a config option.
 64066  	// If `EnvironmentBrowserConfigOptionQuerySpec.guestId`
 64067  	// is nonempty, the `VirtualMachineConfigOption.guestOSDescriptor`
 64068  	// array of the config option is filtered to match against the guest
 64069  	// IDs in the spec. If there is no match, the whole list is returned.
 64070  	// If the spec argument is omitted, the default
 64071  	// `VirtualMachineConfigOption` for this environment browser is
 64072  	// returned.
 64073  	Spec *EnvironmentBrowserConfigOptionQuerySpec `xml:"spec,omitempty" json:"spec,omitempty"`
 64074  }
 64075  
 64076  func init() {
 64077  	t["QueryConfigOptionExRequestType"] = reflect.TypeOf((*QueryConfigOptionExRequestType)(nil)).Elem()
 64078  }
 64079  
 64080  type QueryConfigOptionExResponse struct {
 64081  	Returnval *VirtualMachineConfigOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64082  }
 64083  
 64084  // The parameters of `EnvironmentBrowser.QueryConfigOption`.
 64085  type QueryConfigOptionRequestType struct {
 64086  	This ManagedObjectReference `xml:"_this" json:"-"`
 64087  	// The key found in the VirtualMachineConfigOptionDescriptor,
 64088  	// obtained by invoking the
 64089  	// `EnvironmentBrowser.QueryConfigOptionDescriptor` operation.
 64090  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 64091  	// The host whose ConfigOption is requested.
 64092  	//
 64093  	// Refers instance of `HostSystem`.
 64094  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 64095  }
 64096  
 64097  func init() {
 64098  	t["QueryConfigOptionRequestType"] = reflect.TypeOf((*QueryConfigOptionRequestType)(nil)).Elem()
 64099  }
 64100  
 64101  type QueryConfigOptionResponse struct {
 64102  	Returnval *VirtualMachineConfigOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64103  }
 64104  
 64105  type QueryConfigTarget QueryConfigTargetRequestType
 64106  
 64107  func init() {
 64108  	t["QueryConfigTarget"] = reflect.TypeOf((*QueryConfigTarget)(nil)).Elem()
 64109  }
 64110  
 64111  // The parameters of `EnvironmentBrowser.QueryConfigTarget`.
 64112  type QueryConfigTargetRequestType struct {
 64113  	This ManagedObjectReference `xml:"_this" json:"-"`
 64114  	// If specified, the host whose default BackingInfo is requested.
 64115  	//
 64116  	// Refers instance of `HostSystem`.
 64117  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 64118  }
 64119  
 64120  func init() {
 64121  	t["QueryConfigTargetRequestType"] = reflect.TypeOf((*QueryConfigTargetRequestType)(nil)).Elem()
 64122  }
 64123  
 64124  type QueryConfigTargetResponse struct {
 64125  	Returnval *ConfigTarget `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64126  }
 64127  
 64128  type QueryConfiguredModuleOptionString QueryConfiguredModuleOptionStringRequestType
 64129  
 64130  func init() {
 64131  	t["QueryConfiguredModuleOptionString"] = reflect.TypeOf((*QueryConfiguredModuleOptionString)(nil)).Elem()
 64132  }
 64133  
 64134  // The parameters of `HostKernelModuleSystem.QueryConfiguredModuleOptionString`.
 64135  type QueryConfiguredModuleOptionStringRequestType struct {
 64136  	This ManagedObjectReference `xml:"_this" json:"-"`
 64137  	// Module name.
 64138  	Name string `xml:"name" json:"name"`
 64139  }
 64140  
 64141  func init() {
 64142  	t["QueryConfiguredModuleOptionStringRequestType"] = reflect.TypeOf((*QueryConfiguredModuleOptionStringRequestType)(nil)).Elem()
 64143  }
 64144  
 64145  type QueryConfiguredModuleOptionStringResponse struct {
 64146  	Returnval string `xml:"returnval" json:"returnval"`
 64147  }
 64148  
 64149  type QueryConnectionInfo QueryConnectionInfoRequestType
 64150  
 64151  func init() {
 64152  	t["QueryConnectionInfo"] = reflect.TypeOf((*QueryConnectionInfo)(nil)).Elem()
 64153  }
 64154  
 64155  // The parameters of `Datacenter.QueryConnectionInfo`.
 64156  type QueryConnectionInfoRequestType struct {
 64157  	This ManagedObjectReference `xml:"_this" json:"-"`
 64158  	// The target of the query.
 64159  	Hostname string `xml:"hostname" json:"hostname"`
 64160  	// The port number of the target host. For ESX 2.x this is the authd port
 64161  	// (902 by default). For ESX 3.x and above and for VMware Server hosts
 64162  	// this is the https port (443 by default). You can specify -1 to have the
 64163  	// vCenter Server try the default ports.
 64164  	Port int32 `xml:"port" json:"port"`
 64165  	// The name of the user.
 64166  	Username string `xml:"username" json:"username"`
 64167  	// The password of the user.
 64168  	Password string `xml:"password" json:"password"`
 64169  	// The expected SSL thumbprint of the host's certificate.
 64170  	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty" vim:"2.5"`
 64171  }
 64172  
 64173  func init() {
 64174  	t["QueryConnectionInfoRequestType"] = reflect.TypeOf((*QueryConnectionInfoRequestType)(nil)).Elem()
 64175  }
 64176  
 64177  type QueryConnectionInfoResponse struct {
 64178  	Returnval HostConnectInfo `xml:"returnval" json:"returnval"`
 64179  }
 64180  
 64181  type QueryConnectionInfoViaSpec QueryConnectionInfoViaSpecRequestType
 64182  
 64183  func init() {
 64184  	t["QueryConnectionInfoViaSpec"] = reflect.TypeOf((*QueryConnectionInfoViaSpec)(nil)).Elem()
 64185  }
 64186  
 64187  // The parameters of `Datacenter.QueryConnectionInfoViaSpec`.
 64188  type QueryConnectionInfoViaSpecRequestType struct {
 64189  	This ManagedObjectReference `xml:"_this" json:"-"`
 64190  	// The connection spec for the host to be queried. It must contain
 64191  	// values for all parameters required by `Datacenter.QueryConnectionInfo`
 64192  	// See `Datacenter.QueryConnectionInfo` or a list of thrown expections.
 64193  	Spec HostConnectSpec `xml:"spec" json:"spec"`
 64194  }
 64195  
 64196  func init() {
 64197  	t["QueryConnectionInfoViaSpecRequestType"] = reflect.TypeOf((*QueryConnectionInfoViaSpecRequestType)(nil)).Elem()
 64198  }
 64199  
 64200  type QueryConnectionInfoViaSpecResponse struct {
 64201  	Returnval HostConnectInfo `xml:"returnval" json:"returnval"`
 64202  }
 64203  
 64204  type QueryConnections QueryConnectionsRequestType
 64205  
 64206  func init() {
 64207  	t["QueryConnections"] = reflect.TypeOf((*QueryConnections)(nil)).Elem()
 64208  }
 64209  
 64210  type QueryConnectionsRequestType struct {
 64211  	This ManagedObjectReference `xml:"_this" json:"-"`
 64212  }
 64213  
 64214  func init() {
 64215  	t["QueryConnectionsRequestType"] = reflect.TypeOf((*QueryConnectionsRequestType)(nil)).Elem()
 64216  }
 64217  
 64218  type QueryConnectionsResponse struct {
 64219  	Returnval []BaseVirtualMachineConnection `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 64220  }
 64221  
 64222  type QueryCryptoKeyStatus QueryCryptoKeyStatusRequestType
 64223  
 64224  func init() {
 64225  	t["QueryCryptoKeyStatus"] = reflect.TypeOf((*QueryCryptoKeyStatus)(nil)).Elem()
 64226  }
 64227  
 64228  // The parameters of `CryptoManagerKmip.QueryCryptoKeyStatus`.
 64229  type QueryCryptoKeyStatusRequestType struct {
 64230  	This ManagedObjectReference `xml:"_this" json:"-"`
 64231  	// \[in\] The Crypto Key Ids to query.
 64232  	KeyIds []CryptoKeyId `xml:"keyIds,omitempty" json:"keyIds,omitempty"`
 64233  	// \[in\] The key state to check. Supported value:
 64234  	// 0x01. check if key data is available to VC.
 64235  	// 0x02. check the VMs which use that key.
 64236  	// 0x04. check the hosts using this key as host key.
 64237  	// 0x08. Check 3rd party program which use that key.
 64238  	// Other bits - reserved and will be igonred.
 64239  	CheckKeyBitMap int32 `xml:"checkKeyBitMap" json:"checkKeyBitMap"`
 64240  }
 64241  
 64242  func init() {
 64243  	t["QueryCryptoKeyStatusRequestType"] = reflect.TypeOf((*QueryCryptoKeyStatusRequestType)(nil)).Elem()
 64244  }
 64245  
 64246  type QueryCryptoKeyStatusResponse struct {
 64247  	Returnval []CryptoManagerKmipCryptoKeyStatus `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64248  }
 64249  
 64250  type QueryDatastorePerformanceSummary QueryDatastorePerformanceSummaryRequestType
 64251  
 64252  func init() {
 64253  	t["QueryDatastorePerformanceSummary"] = reflect.TypeOf((*QueryDatastorePerformanceSummary)(nil)).Elem()
 64254  }
 64255  
 64256  // The parameters of `StorageResourceManager.QueryDatastorePerformanceSummary`.
 64257  type QueryDatastorePerformanceSummaryRequestType struct {
 64258  	This ManagedObjectReference `xml:"_this" json:"-"`
 64259  	// Datastore for which summary statistics is requested.
 64260  	//
 64261  	// Refers instance of `Datastore`.
 64262  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 64263  }
 64264  
 64265  func init() {
 64266  	t["QueryDatastorePerformanceSummaryRequestType"] = reflect.TypeOf((*QueryDatastorePerformanceSummaryRequestType)(nil)).Elem()
 64267  }
 64268  
 64269  type QueryDatastorePerformanceSummaryResponse struct {
 64270  	Returnval []StoragePerformanceSummary `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64271  }
 64272  
 64273  type QueryDateTime QueryDateTimeRequestType
 64274  
 64275  func init() {
 64276  	t["QueryDateTime"] = reflect.TypeOf((*QueryDateTime)(nil)).Elem()
 64277  }
 64278  
 64279  type QueryDateTimeRequestType struct {
 64280  	This ManagedObjectReference `xml:"_this" json:"-"`
 64281  }
 64282  
 64283  func init() {
 64284  	t["QueryDateTimeRequestType"] = reflect.TypeOf((*QueryDateTimeRequestType)(nil)).Elem()
 64285  }
 64286  
 64287  type QueryDateTimeResponse struct {
 64288  	Returnval time.Time `xml:"returnval" json:"returnval"`
 64289  }
 64290  
 64291  type QueryDescriptions QueryDescriptionsRequestType
 64292  
 64293  func init() {
 64294  	t["QueryDescriptions"] = reflect.TypeOf((*QueryDescriptions)(nil)).Elem()
 64295  }
 64296  
 64297  // The parameters of `DiagnosticManager.QueryDescriptions`.
 64298  type QueryDescriptionsRequestType struct {
 64299  	This ManagedObjectReference `xml:"_this" json:"-"`
 64300  	// Specifies the host. If not specified, then it defaults
 64301  	// to the server itself. For example, if called on
 64302  	// VirtualCenter, then the value defaults to VirtualCenter
 64303  	// logs. When called on an ESX server host, the host should
 64304  	// not be specified.
 64305  	//
 64306  	// Refers instance of `HostSystem`.
 64307  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 64308  }
 64309  
 64310  func init() {
 64311  	t["QueryDescriptionsRequestType"] = reflect.TypeOf((*QueryDescriptionsRequestType)(nil)).Elem()
 64312  }
 64313  
 64314  type QueryDescriptionsResponse struct {
 64315  	Returnval []DiagnosticManagerLogDescriptor `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64316  }
 64317  
 64318  type QueryDirectoryInfo QueryDirectoryInfoRequestType
 64319  
 64320  func init() {
 64321  	t["QueryDirectoryInfo"] = reflect.TypeOf((*QueryDirectoryInfo)(nil)).Elem()
 64322  }
 64323  
 64324  // The parameters of `DatastoreNamespaceManager.QueryDirectoryInfo`.
 64325  type QueryDirectoryInfoRequestType struct {
 64326  	This ManagedObjectReference `xml:"_this" json:"-"`
 64327  	// the datacenter of the namespace path. Needs to be set
 64328  	// when making the call to VC; ignored when the call is
 64329  	// made to ESX.
 64330  	//
 64331  	// Refers instance of `Datacenter`.
 64332  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 64333  	// stable vmfs path of the top-level directory to query
 64334  	StableName string `xml:"stableName" json:"stableName"`
 64335  }
 64336  
 64337  func init() {
 64338  	t["QueryDirectoryInfoRequestType"] = reflect.TypeOf((*QueryDirectoryInfoRequestType)(nil)).Elem()
 64339  }
 64340  
 64341  type QueryDirectoryInfoResponse struct {
 64342  	Returnval DatastoreNamespaceManagerDirectoryInfo `xml:"returnval" json:"returnval"`
 64343  }
 64344  
 64345  type QueryDisksForVsan QueryDisksForVsanRequestType
 64346  
 64347  func init() {
 64348  	t["QueryDisksForVsan"] = reflect.TypeOf((*QueryDisksForVsan)(nil)).Elem()
 64349  }
 64350  
 64351  // The parameters of `HostVsanSystem.QueryDisksForVsan`.
 64352  type QueryDisksForVsanRequestType struct {
 64353  	This ManagedObjectReference `xml:"_this" json:"-"`
 64354  	// may be set to restrict the query to the list of
 64355  	// `HostScsiDisk` objects named by the
 64356  	// given paths
 64357  	CanonicalName []string `xml:"canonicalName,omitempty" json:"canonicalName,omitempty"`
 64358  }
 64359  
 64360  func init() {
 64361  	t["QueryDisksForVsanRequestType"] = reflect.TypeOf((*QueryDisksForVsanRequestType)(nil)).Elem()
 64362  }
 64363  
 64364  type QueryDisksForVsanResponse struct {
 64365  	Returnval []VsanHostDiskResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64366  }
 64367  
 64368  type QueryDisksUsingFilter QueryDisksUsingFilterRequestType
 64369  
 64370  func init() {
 64371  	t["QueryDisksUsingFilter"] = reflect.TypeOf((*QueryDisksUsingFilter)(nil)).Elem()
 64372  }
 64373  
 64374  // The parameters of `IoFilterManager.QueryDisksUsingFilter`.
 64375  type QueryDisksUsingFilterRequestType struct {
 64376  	This ManagedObjectReference `xml:"_this" json:"-"`
 64377  	// ID of the filter.
 64378  	FilterId string `xml:"filterId" json:"filterId"`
 64379  	// The compute resource that the filter has been installed on.
 64380  	// "compRes" must be a cluster.
 64381  	//
 64382  	// Refers instance of `ComputeResource`.
 64383  	CompRes ManagedObjectReference `xml:"compRes" json:"compRes"`
 64384  }
 64385  
 64386  func init() {
 64387  	t["QueryDisksUsingFilterRequestType"] = reflect.TypeOf((*QueryDisksUsingFilterRequestType)(nil)).Elem()
 64388  }
 64389  
 64390  type QueryDisksUsingFilterResponse struct {
 64391  	Returnval []VirtualDiskId `xml:"returnval" json:"returnval"`
 64392  }
 64393  
 64394  type QueryDvsByUuid QueryDvsByUuidRequestType
 64395  
 64396  func init() {
 64397  	t["QueryDvsByUuid"] = reflect.TypeOf((*QueryDvsByUuid)(nil)).Elem()
 64398  }
 64399  
 64400  // The parameters of `DistributedVirtualSwitchManager.QueryDvsByUuid`.
 64401  type QueryDvsByUuidRequestType struct {
 64402  	This ManagedObjectReference `xml:"_this" json:"-"`
 64403  	Uuid string                 `xml:"uuid" json:"uuid"`
 64404  }
 64405  
 64406  func init() {
 64407  	t["QueryDvsByUuidRequestType"] = reflect.TypeOf((*QueryDvsByUuidRequestType)(nil)).Elem()
 64408  }
 64409  
 64410  type QueryDvsByUuidResponse struct {
 64411  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64412  }
 64413  
 64414  type QueryDvsCheckCompatibility QueryDvsCheckCompatibilityRequestType
 64415  
 64416  func init() {
 64417  	t["QueryDvsCheckCompatibility"] = reflect.TypeOf((*QueryDvsCheckCompatibility)(nil)).Elem()
 64418  }
 64419  
 64420  // The parameters of `DistributedVirtualSwitchManager.QueryDvsCheckCompatibility`.
 64421  type QueryDvsCheckCompatibilityRequestType struct {
 64422  	This ManagedObjectReference `xml:"_this" json:"-"`
 64423  	// The container of hosts on which we check the compatibility.
 64424  	// This container can be a datacenter, folder, or computeResource.
 64425  	// We can also include all the hosts in the hierarchy with container
 64426  	// as root of the tree.
 64427  	HostContainer DistributedVirtualSwitchManagerHostContainer `xml:"hostContainer" json:"hostContainer"`
 64428  	// The productSpec of a DistributedVirtualSwitch. If not
 64429  	// set, it is assumed to be the default one used for
 64430  	// DistributedVirtualSwitch creation for current version.
 64431  	DvsProductSpec *DistributedVirtualSwitchManagerDvsProductSpec `xml:"dvsProductSpec,omitempty" json:"dvsProductSpec,omitempty"`
 64432  	// The hosts against which to check compatibility. This is a
 64433  	// filterSpec and users can use this to specify all hosts in a
 64434  	// container (datacenter, folder, or computeResource), an array
 64435  	// of hosts, or hosts that might or might not be a DVS member.
 64436  	HostFilterSpec []BaseDistributedVirtualSwitchManagerHostDvsFilterSpec `xml:"hostFilterSpec,omitempty,typeattr" json:"hostFilterSpec,omitempty"`
 64437  }
 64438  
 64439  func init() {
 64440  	t["QueryDvsCheckCompatibilityRequestType"] = reflect.TypeOf((*QueryDvsCheckCompatibilityRequestType)(nil)).Elem()
 64441  }
 64442  
 64443  type QueryDvsCheckCompatibilityResponse struct {
 64444  	Returnval []DistributedVirtualSwitchManagerCompatibilityResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64445  }
 64446  
 64447  type QueryDvsCompatibleHostSpec QueryDvsCompatibleHostSpecRequestType
 64448  
 64449  func init() {
 64450  	t["QueryDvsCompatibleHostSpec"] = reflect.TypeOf((*QueryDvsCompatibleHostSpec)(nil)).Elem()
 64451  }
 64452  
 64453  // The parameters of `DistributedVirtualSwitchManager.QueryDvsCompatibleHostSpec`.
 64454  type QueryDvsCompatibleHostSpecRequestType struct {
 64455  	This ManagedObjectReference `xml:"_this" json:"-"`
 64456  	// The productSpec of a `DistributedVirtualSwitch`.
 64457  	// If not set, it is assumed to be the default one used for
 64458  	// DistributedVirtualSwitch creation.
 64459  	SwitchProductSpec *DistributedVirtualSwitchProductSpec `xml:"switchProductSpec,omitempty" json:"switchProductSpec,omitempty"`
 64460  }
 64461  
 64462  func init() {
 64463  	t["QueryDvsCompatibleHostSpecRequestType"] = reflect.TypeOf((*QueryDvsCompatibleHostSpecRequestType)(nil)).Elem()
 64464  }
 64465  
 64466  type QueryDvsCompatibleHostSpecResponse struct {
 64467  	Returnval []DistributedVirtualSwitchHostProductSpec `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64468  }
 64469  
 64470  type QueryDvsConfigTarget QueryDvsConfigTargetRequestType
 64471  
 64472  func init() {
 64473  	t["QueryDvsConfigTarget"] = reflect.TypeOf((*QueryDvsConfigTarget)(nil)).Elem()
 64474  }
 64475  
 64476  // The parameters of `DistributedVirtualSwitchManager.QueryDvsConfigTarget`.
 64477  type QueryDvsConfigTargetRequestType struct {
 64478  	This ManagedObjectReference `xml:"_this" json:"-"`
 64479  	// The host on which the query is to be made. If called
 64480  	// directly on the host this parameter need not be specified.
 64481  	//
 64482  	// Refers instance of `HostSystem`.
 64483  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 64484  	// The distributed virtual switch on which the query is to be
 64485  	// made. If unspecified the config target will encompass all the
 64486  	// distributed virtual switches available on the host.
 64487  	//
 64488  	// Refers instance of `DistributedVirtualSwitch`.
 64489  	Dvs *ManagedObjectReference `xml:"dvs,omitempty" json:"dvs,omitempty"`
 64490  }
 64491  
 64492  func init() {
 64493  	t["QueryDvsConfigTargetRequestType"] = reflect.TypeOf((*QueryDvsConfigTargetRequestType)(nil)).Elem()
 64494  }
 64495  
 64496  type QueryDvsConfigTargetResponse struct {
 64497  	Returnval DVSManagerDvsConfigTarget `xml:"returnval" json:"returnval"`
 64498  }
 64499  
 64500  type QueryDvsFeatureCapability QueryDvsFeatureCapabilityRequestType
 64501  
 64502  func init() {
 64503  	t["QueryDvsFeatureCapability"] = reflect.TypeOf((*QueryDvsFeatureCapability)(nil)).Elem()
 64504  }
 64505  
 64506  // The parameters of `DistributedVirtualSwitchManager.QueryDvsFeatureCapability`.
 64507  type QueryDvsFeatureCapabilityRequestType struct {
 64508  	This ManagedObjectReference `xml:"_this" json:"-"`
 64509  	// The productSpec of a `DistributedVirtualSwitch`.
 64510  	// If not set, it is assumed to be the default one used for
 64511  	// DistributedVirtualSwitch creation.
 64512  	SwitchProductSpec *DistributedVirtualSwitchProductSpec `xml:"switchProductSpec,omitempty" json:"switchProductSpec,omitempty"`
 64513  }
 64514  
 64515  func init() {
 64516  	t["QueryDvsFeatureCapabilityRequestType"] = reflect.TypeOf((*QueryDvsFeatureCapabilityRequestType)(nil)).Elem()
 64517  }
 64518  
 64519  type QueryDvsFeatureCapabilityResponse struct {
 64520  	Returnval BaseDVSFeatureCapability `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 64521  }
 64522  
 64523  type QueryEvents QueryEventsRequestType
 64524  
 64525  func init() {
 64526  	t["QueryEvents"] = reflect.TypeOf((*QueryEvents)(nil)).Elem()
 64527  }
 64528  
 64529  // The parameters of `EventManager.QueryEvents`.
 64530  type QueryEventsRequestType struct {
 64531  	This ManagedObjectReference `xml:"_this" json:"-"`
 64532  	// The events qualified.
 64533  	Filter EventFilterSpec `xml:"filter" json:"filter"`
 64534  }
 64535  
 64536  func init() {
 64537  	t["QueryEventsRequestType"] = reflect.TypeOf((*QueryEventsRequestType)(nil)).Elem()
 64538  }
 64539  
 64540  type QueryEventsResponse struct {
 64541  	Returnval []BaseEvent `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 64542  }
 64543  
 64544  type QueryExpressionMetadata QueryExpressionMetadataRequestType
 64545  
 64546  func init() {
 64547  	t["QueryExpressionMetadata"] = reflect.TypeOf((*QueryExpressionMetadata)(nil)).Elem()
 64548  }
 64549  
 64550  // The parameters of `ProfileComplianceManager.QueryExpressionMetadata`.
 64551  type QueryExpressionMetadataRequestType struct {
 64552  	This ManagedObjectReference `xml:"_this" json:"-"`
 64553  	// Names of the Expressions for which metadata is requested.
 64554  	// If expressionNames are not specified, metadata for all known expressions is returned
 64555  	ExpressionName []string `xml:"expressionName,omitempty" json:"expressionName,omitempty"`
 64556  	// Base profile whose context needs to be used during the operation
 64557  	//
 64558  	// Refers instance of `Profile`.
 64559  	Profile *ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty" vim:"5.0"`
 64560  }
 64561  
 64562  func init() {
 64563  	t["QueryExpressionMetadataRequestType"] = reflect.TypeOf((*QueryExpressionMetadataRequestType)(nil)).Elem()
 64564  }
 64565  
 64566  type QueryExpressionMetadataResponse struct {
 64567  	Returnval []ProfileExpressionMetadata `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64568  }
 64569  
 64570  type QueryExtensionIpAllocationUsage QueryExtensionIpAllocationUsageRequestType
 64571  
 64572  func init() {
 64573  	t["QueryExtensionIpAllocationUsage"] = reflect.TypeOf((*QueryExtensionIpAllocationUsage)(nil)).Elem()
 64574  }
 64575  
 64576  // The parameters of `ExtensionManager.QueryExtensionIpAllocationUsage`.
 64577  type QueryExtensionIpAllocationUsageRequestType struct {
 64578  	This ManagedObjectReference `xml:"_this" json:"-"`
 64579  	// List of extensions whose IP allocation is being queried.
 64580  	// If no extension keys are specified then allocation data
 64581  	// for all registered extensions are returned.
 64582  	ExtensionKeys []string `xml:"extensionKeys,omitempty" json:"extensionKeys,omitempty"`
 64583  }
 64584  
 64585  func init() {
 64586  	t["QueryExtensionIpAllocationUsageRequestType"] = reflect.TypeOf((*QueryExtensionIpAllocationUsageRequestType)(nil)).Elem()
 64587  }
 64588  
 64589  type QueryExtensionIpAllocationUsageResponse struct {
 64590  	Returnval []ExtensionManagerIpAllocationUsage `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64591  }
 64592  
 64593  type QueryFaultToleranceCompatibility QueryFaultToleranceCompatibilityRequestType
 64594  
 64595  func init() {
 64596  	t["QueryFaultToleranceCompatibility"] = reflect.TypeOf((*QueryFaultToleranceCompatibility)(nil)).Elem()
 64597  }
 64598  
 64599  type QueryFaultToleranceCompatibilityEx QueryFaultToleranceCompatibilityExRequestType
 64600  
 64601  func init() {
 64602  	t["QueryFaultToleranceCompatibilityEx"] = reflect.TypeOf((*QueryFaultToleranceCompatibilityEx)(nil)).Elem()
 64603  }
 64604  
 64605  // The parameters of `VirtualMachine.QueryFaultToleranceCompatibilityEx`.
 64606  type QueryFaultToleranceCompatibilityExRequestType struct {
 64607  	This ManagedObjectReference `xml:"_this" json:"-"`
 64608  	// checks for legacy record-replay FT compatibility only
 64609  	// if this is set to true.
 64610  	ForLegacyFt *bool `xml:"forLegacyFt" json:"forLegacyFt,omitempty"`
 64611  }
 64612  
 64613  func init() {
 64614  	t["QueryFaultToleranceCompatibilityExRequestType"] = reflect.TypeOf((*QueryFaultToleranceCompatibilityExRequestType)(nil)).Elem()
 64615  }
 64616  
 64617  type QueryFaultToleranceCompatibilityExResponse struct {
 64618  	Returnval []LocalizedMethodFault `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64619  }
 64620  
 64621  type QueryFaultToleranceCompatibilityRequestType struct {
 64622  	This ManagedObjectReference `xml:"_this" json:"-"`
 64623  }
 64624  
 64625  func init() {
 64626  	t["QueryFaultToleranceCompatibilityRequestType"] = reflect.TypeOf((*QueryFaultToleranceCompatibilityRequestType)(nil)).Elem()
 64627  }
 64628  
 64629  type QueryFaultToleranceCompatibilityResponse struct {
 64630  	Returnval []LocalizedMethodFault `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64631  }
 64632  
 64633  type QueryFileLockInfo QueryFileLockInfoRequestType
 64634  
 64635  func init() {
 64636  	t["QueryFileLockInfo"] = reflect.TypeOf((*QueryFileLockInfo)(nil)).Elem()
 64637  }
 64638  
 64639  // The parameters of `FileManager.QueryFileLockInfo`.
 64640  type QueryFileLockInfoRequestType struct {
 64641  	This ManagedObjectReference `xml:"_this" json:"-"`
 64642  	// Full file path to look up lock information on.
 64643  	// For example specific VM file like:
 64644  	// /vmfs/volumes/datastore1/vm/vm-flat.vmdk
 64645  	Path string `xml:"path" json:"path"`
 64646  	// Host id is required if API is invoked on vCenter Server.
 64647  	// It is optional if invoked on host directly. Esx does not
 64648  	// require this parameter.
 64649  	//
 64650  	// Refers instance of `HostSystem`.
 64651  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 64652  }
 64653  
 64654  func init() {
 64655  	t["QueryFileLockInfoRequestType"] = reflect.TypeOf((*QueryFileLockInfoRequestType)(nil)).Elem()
 64656  }
 64657  
 64658  type QueryFileLockInfoResponse struct {
 64659  	Returnval FileLockInfoResult `xml:"returnval" json:"returnval"`
 64660  }
 64661  
 64662  type QueryFilterEntities QueryFilterEntitiesRequestType
 64663  
 64664  func init() {
 64665  	t["QueryFilterEntities"] = reflect.TypeOf((*QueryFilterEntities)(nil)).Elem()
 64666  }
 64667  
 64668  // The parameters of `HealthUpdateManager.QueryFilterEntities`.
 64669  type QueryFilterEntitiesRequestType struct {
 64670  	This ManagedObjectReference `xml:"_this" json:"-"`
 64671  	// The filter id.
 64672  	FilterId string `xml:"filterId" json:"filterId"`
 64673  }
 64674  
 64675  func init() {
 64676  	t["QueryFilterEntitiesRequestType"] = reflect.TypeOf((*QueryFilterEntitiesRequestType)(nil)).Elem()
 64677  }
 64678  
 64679  type QueryFilterEntitiesResponse struct {
 64680  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64681  }
 64682  
 64683  type QueryFilterInfoIds QueryFilterInfoIdsRequestType
 64684  
 64685  func init() {
 64686  	t["QueryFilterInfoIds"] = reflect.TypeOf((*QueryFilterInfoIds)(nil)).Elem()
 64687  }
 64688  
 64689  // The parameters of `HealthUpdateManager.QueryFilterInfoIds`.
 64690  type QueryFilterInfoIdsRequestType struct {
 64691  	This ManagedObjectReference `xml:"_this" json:"-"`
 64692  	// The filter id.
 64693  	FilterId string `xml:"filterId" json:"filterId"`
 64694  }
 64695  
 64696  func init() {
 64697  	t["QueryFilterInfoIdsRequestType"] = reflect.TypeOf((*QueryFilterInfoIdsRequestType)(nil)).Elem()
 64698  }
 64699  
 64700  type QueryFilterInfoIdsResponse struct {
 64701  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64702  }
 64703  
 64704  type QueryFilterList QueryFilterListRequestType
 64705  
 64706  func init() {
 64707  	t["QueryFilterList"] = reflect.TypeOf((*QueryFilterList)(nil)).Elem()
 64708  }
 64709  
 64710  // The parameters of `HealthUpdateManager.QueryFilterList`.
 64711  type QueryFilterListRequestType struct {
 64712  	This ManagedObjectReference `xml:"_this" json:"-"`
 64713  	// The provider id.
 64714  	ProviderId string `xml:"providerId" json:"providerId"`
 64715  }
 64716  
 64717  func init() {
 64718  	t["QueryFilterListRequestType"] = reflect.TypeOf((*QueryFilterListRequestType)(nil)).Elem()
 64719  }
 64720  
 64721  type QueryFilterListResponse struct {
 64722  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64723  }
 64724  
 64725  type QueryFilterName QueryFilterNameRequestType
 64726  
 64727  func init() {
 64728  	t["QueryFilterName"] = reflect.TypeOf((*QueryFilterName)(nil)).Elem()
 64729  }
 64730  
 64731  // The parameters of `HealthUpdateManager.QueryFilterName`.
 64732  type QueryFilterNameRequestType struct {
 64733  	This ManagedObjectReference `xml:"_this" json:"-"`
 64734  	// The filter id.
 64735  	FilterId string `xml:"filterId" json:"filterId"`
 64736  }
 64737  
 64738  func init() {
 64739  	t["QueryFilterNameRequestType"] = reflect.TypeOf((*QueryFilterNameRequestType)(nil)).Elem()
 64740  }
 64741  
 64742  type QueryFilterNameResponse struct {
 64743  	Returnval string `xml:"returnval" json:"returnval"`
 64744  }
 64745  
 64746  type QueryFirmwareConfigUploadURL QueryFirmwareConfigUploadURLRequestType
 64747  
 64748  func init() {
 64749  	t["QueryFirmwareConfigUploadURL"] = reflect.TypeOf((*QueryFirmwareConfigUploadURL)(nil)).Elem()
 64750  }
 64751  
 64752  type QueryFirmwareConfigUploadURLRequestType struct {
 64753  	This ManagedObjectReference `xml:"_this" json:"-"`
 64754  }
 64755  
 64756  func init() {
 64757  	t["QueryFirmwareConfigUploadURLRequestType"] = reflect.TypeOf((*QueryFirmwareConfigUploadURLRequestType)(nil)).Elem()
 64758  }
 64759  
 64760  type QueryFirmwareConfigUploadURLResponse struct {
 64761  	Returnval string `xml:"returnval" json:"returnval"`
 64762  }
 64763  
 64764  type QueryHealthUpdateInfos QueryHealthUpdateInfosRequestType
 64765  
 64766  func init() {
 64767  	t["QueryHealthUpdateInfos"] = reflect.TypeOf((*QueryHealthUpdateInfos)(nil)).Elem()
 64768  }
 64769  
 64770  // The parameters of `HealthUpdateManager.QueryHealthUpdateInfos`.
 64771  type QueryHealthUpdateInfosRequestType struct {
 64772  	This ManagedObjectReference `xml:"_this" json:"-"`
 64773  	// The provider id.
 64774  	ProviderId string `xml:"providerId" json:"providerId"`
 64775  }
 64776  
 64777  func init() {
 64778  	t["QueryHealthUpdateInfosRequestType"] = reflect.TypeOf((*QueryHealthUpdateInfosRequestType)(nil)).Elem()
 64779  }
 64780  
 64781  type QueryHealthUpdateInfosResponse struct {
 64782  	Returnval []HealthUpdateInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64783  }
 64784  
 64785  type QueryHealthUpdates QueryHealthUpdatesRequestType
 64786  
 64787  func init() {
 64788  	t["QueryHealthUpdates"] = reflect.TypeOf((*QueryHealthUpdates)(nil)).Elem()
 64789  }
 64790  
 64791  // The parameters of `HealthUpdateManager.QueryHealthUpdates`.
 64792  type QueryHealthUpdatesRequestType struct {
 64793  	This ManagedObjectReference `xml:"_this" json:"-"`
 64794  	// The provider id.
 64795  	ProviderId string `xml:"providerId" json:"providerId"`
 64796  }
 64797  
 64798  func init() {
 64799  	t["QueryHealthUpdatesRequestType"] = reflect.TypeOf((*QueryHealthUpdatesRequestType)(nil)).Elem()
 64800  }
 64801  
 64802  type QueryHealthUpdatesResponse struct {
 64803  	Returnval []HealthUpdate `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64804  }
 64805  
 64806  type QueryHostConnectionInfo QueryHostConnectionInfoRequestType
 64807  
 64808  func init() {
 64809  	t["QueryHostConnectionInfo"] = reflect.TypeOf((*QueryHostConnectionInfo)(nil)).Elem()
 64810  }
 64811  
 64812  type QueryHostConnectionInfoRequestType struct {
 64813  	This ManagedObjectReference `xml:"_this" json:"-"`
 64814  }
 64815  
 64816  func init() {
 64817  	t["QueryHostConnectionInfoRequestType"] = reflect.TypeOf((*QueryHostConnectionInfoRequestType)(nil)).Elem()
 64818  }
 64819  
 64820  type QueryHostConnectionInfoResponse struct {
 64821  	Returnval HostConnectInfo `xml:"returnval" json:"returnval"`
 64822  }
 64823  
 64824  // The parameters of `HostPatchManager.QueryHostPatch_Task`.
 64825  type QueryHostPatchRequestType struct {
 64826  	This ManagedObjectReference                     `xml:"_this" json:"-"`
 64827  	Spec *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 64828  }
 64829  
 64830  func init() {
 64831  	t["QueryHostPatchRequestType"] = reflect.TypeOf((*QueryHostPatchRequestType)(nil)).Elem()
 64832  }
 64833  
 64834  type QueryHostPatch_Task QueryHostPatchRequestType
 64835  
 64836  func init() {
 64837  	t["QueryHostPatch_Task"] = reflect.TypeOf((*QueryHostPatch_Task)(nil)).Elem()
 64838  }
 64839  
 64840  type QueryHostPatch_TaskResponse struct {
 64841  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 64842  }
 64843  
 64844  type QueryHostProfileMetadata QueryHostProfileMetadataRequestType
 64845  
 64846  func init() {
 64847  	t["QueryHostProfileMetadata"] = reflect.TypeOf((*QueryHostProfileMetadata)(nil)).Elem()
 64848  }
 64849  
 64850  // The parameters of `HostProfileManager.QueryHostProfileMetadata`.
 64851  type QueryHostProfileMetadataRequestType struct {
 64852  	This ManagedObjectReference `xml:"_this" json:"-"`
 64853  	// Names of the profiles for which metadata is requested.
 64854  	// If not set, the method returns metadata for all the profiles.
 64855  	ProfileName []string `xml:"profileName,omitempty" json:"profileName,omitempty"`
 64856  	// Base profile whose context needs to be used during the operation
 64857  	//
 64858  	// Refers instance of `Profile`.
 64859  	Profile *ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty" vim:"5.0"`
 64860  }
 64861  
 64862  func init() {
 64863  	t["QueryHostProfileMetadataRequestType"] = reflect.TypeOf((*QueryHostProfileMetadataRequestType)(nil)).Elem()
 64864  }
 64865  
 64866  type QueryHostProfileMetadataResponse struct {
 64867  	Returnval []ProfileMetadata `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64868  }
 64869  
 64870  type QueryHostStatus QueryHostStatusRequestType
 64871  
 64872  func init() {
 64873  	t["QueryHostStatus"] = reflect.TypeOf((*QueryHostStatus)(nil)).Elem()
 64874  }
 64875  
 64876  type QueryHostStatusRequestType struct {
 64877  	This ManagedObjectReference `xml:"_this" json:"-"`
 64878  }
 64879  
 64880  func init() {
 64881  	t["QueryHostStatusRequestType"] = reflect.TypeOf((*QueryHostStatusRequestType)(nil)).Elem()
 64882  }
 64883  
 64884  type QueryHostStatusResponse struct {
 64885  	Returnval VsanHostClusterStatus `xml:"returnval" json:"returnval"`
 64886  }
 64887  
 64888  type QueryHostsWithAttachedLun QueryHostsWithAttachedLunRequestType
 64889  
 64890  func init() {
 64891  	t["QueryHostsWithAttachedLun"] = reflect.TypeOf((*QueryHostsWithAttachedLun)(nil)).Elem()
 64892  }
 64893  
 64894  // The parameters of `StorageQueryManager.QueryHostsWithAttachedLun`.
 64895  type QueryHostsWithAttachedLunRequestType struct {
 64896  	This ManagedObjectReference `xml:"_this" json:"-"`
 64897  	// The UUID of the ScsiLun device.
 64898  	LunUuid string `xml:"lunUuid" json:"lunUuid"`
 64899  }
 64900  
 64901  func init() {
 64902  	t["QueryHostsWithAttachedLunRequestType"] = reflect.TypeOf((*QueryHostsWithAttachedLunRequestType)(nil)).Elem()
 64903  }
 64904  
 64905  type QueryHostsWithAttachedLunResponse struct {
 64906  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64907  }
 64908  
 64909  type QueryIORMConfigOption QueryIORMConfigOptionRequestType
 64910  
 64911  func init() {
 64912  	t["QueryIORMConfigOption"] = reflect.TypeOf((*QueryIORMConfigOption)(nil)).Elem()
 64913  }
 64914  
 64915  // The parameters of `StorageResourceManager.QueryIORMConfigOption`.
 64916  type QueryIORMConfigOptionRequestType struct {
 64917  	This ManagedObjectReference `xml:"_this" json:"-"`
 64918  	// \[in\] - The host VC will forward the query
 64919  	// to. This parameter is ignored by host if this method is
 64920  	// called on a host directly.
 64921  	//
 64922  	// Refers instance of `HostSystem`.
 64923  	Host ManagedObjectReference `xml:"host" json:"host"`
 64924  }
 64925  
 64926  func init() {
 64927  	t["QueryIORMConfigOptionRequestType"] = reflect.TypeOf((*QueryIORMConfigOptionRequestType)(nil)).Elem()
 64928  }
 64929  
 64930  type QueryIORMConfigOptionResponse struct {
 64931  	Returnval StorageIORMConfigOption `xml:"returnval" json:"returnval"`
 64932  }
 64933  
 64934  type QueryIPAllocations QueryIPAllocationsRequestType
 64935  
 64936  func init() {
 64937  	t["QueryIPAllocations"] = reflect.TypeOf((*QueryIPAllocations)(nil)).Elem()
 64938  }
 64939  
 64940  // The parameters of `IpPoolManager.QueryIPAllocations`.
 64941  type QueryIPAllocationsRequestType struct {
 64942  	This ManagedObjectReference `xml:"_this" json:"-"`
 64943  	// The datacenter on which to find the pool
 64944  	//
 64945  	// Required privileges: Datacenter.IpPoolQueryAllocations
 64946  	//
 64947  	// Refers instance of `Datacenter`.
 64948  	Dc ManagedObjectReference `xml:"dc" json:"dc"`
 64949  	// The unique ID of the pool
 64950  	PoolId int32 `xml:"poolId" json:"poolId"`
 64951  	// The key of the extension
 64952  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 64953  }
 64954  
 64955  func init() {
 64956  	t["QueryIPAllocationsRequestType"] = reflect.TypeOf((*QueryIPAllocationsRequestType)(nil)).Elem()
 64957  }
 64958  
 64959  type QueryIPAllocationsResponse struct {
 64960  	Returnval []IpPoolManagerIpAllocation `xml:"returnval" json:"returnval"`
 64961  }
 64962  
 64963  type QueryIoFilterInfo QueryIoFilterInfoRequestType
 64964  
 64965  func init() {
 64966  	t["QueryIoFilterInfo"] = reflect.TypeOf((*QueryIoFilterInfo)(nil)).Elem()
 64967  }
 64968  
 64969  // The parameters of `IoFilterManager.QueryIoFilterInfo`.
 64970  type QueryIoFilterInfoRequestType struct {
 64971  	This ManagedObjectReference `xml:"_this" json:"-"`
 64972  	// The compute resource.
 64973  	// "compRes" must be a cluster.
 64974  	//
 64975  	// Refers instance of `ComputeResource`.
 64976  	CompRes ManagedObjectReference `xml:"compRes" json:"compRes"`
 64977  }
 64978  
 64979  func init() {
 64980  	t["QueryIoFilterInfoRequestType"] = reflect.TypeOf((*QueryIoFilterInfoRequestType)(nil)).Elem()
 64981  }
 64982  
 64983  type QueryIoFilterInfoResponse struct {
 64984  	Returnval []ClusterIoFilterInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64985  }
 64986  
 64987  type QueryIoFilterIssues QueryIoFilterIssuesRequestType
 64988  
 64989  func init() {
 64990  	t["QueryIoFilterIssues"] = reflect.TypeOf((*QueryIoFilterIssues)(nil)).Elem()
 64991  }
 64992  
 64993  // The parameters of `IoFilterManager.QueryIoFilterIssues`.
 64994  type QueryIoFilterIssuesRequestType struct {
 64995  	This ManagedObjectReference `xml:"_this" json:"-"`
 64996  	// The filter.
 64997  	FilterId string `xml:"filterId" json:"filterId"`
 64998  	// The compute resource.
 64999  	// "compRes" must be a cluster.
 65000  	//
 65001  	// Refers instance of `ComputeResource`.
 65002  	CompRes ManagedObjectReference `xml:"compRes" json:"compRes"`
 65003  }
 65004  
 65005  func init() {
 65006  	t["QueryIoFilterIssuesRequestType"] = reflect.TypeOf((*QueryIoFilterIssuesRequestType)(nil)).Elem()
 65007  }
 65008  
 65009  type QueryIoFilterIssuesResponse struct {
 65010  	Returnval IoFilterQueryIssueResult `xml:"returnval" json:"returnval"`
 65011  }
 65012  
 65013  type QueryIpPools QueryIpPoolsRequestType
 65014  
 65015  func init() {
 65016  	t["QueryIpPools"] = reflect.TypeOf((*QueryIpPools)(nil)).Elem()
 65017  }
 65018  
 65019  // The parameters of `IpPoolManager.QueryIpPools`.
 65020  type QueryIpPoolsRequestType struct {
 65021  	This ManagedObjectReference `xml:"_this" json:"-"`
 65022  	// The datacenter for which to look up the IP pools.
 65023  	//
 65024  	// Required privileges: System.Read
 65025  	//
 65026  	// Refers instance of `Datacenter`.
 65027  	Dc ManagedObjectReference `xml:"dc" json:"dc"`
 65028  }
 65029  
 65030  func init() {
 65031  	t["QueryIpPoolsRequestType"] = reflect.TypeOf((*QueryIpPoolsRequestType)(nil)).Elem()
 65032  }
 65033  
 65034  type QueryIpPoolsResponse struct {
 65035  	Returnval []IpPool `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65036  }
 65037  
 65038  type QueryLicenseSourceAvailability QueryLicenseSourceAvailabilityRequestType
 65039  
 65040  func init() {
 65041  	t["QueryLicenseSourceAvailability"] = reflect.TypeOf((*QueryLicenseSourceAvailability)(nil)).Elem()
 65042  }
 65043  
 65044  // The parameters of `LicenseManager.QueryLicenseSourceAvailability`.
 65045  type QueryLicenseSourceAvailabilityRequestType struct {
 65046  	This ManagedObjectReference `xml:"_this" json:"-"`
 65047  	// Use the license source of the specified host.
 65048  	//
 65049  	// Refers instance of `HostSystem`.
 65050  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 65051  }
 65052  
 65053  func init() {
 65054  	t["QueryLicenseSourceAvailabilityRequestType"] = reflect.TypeOf((*QueryLicenseSourceAvailabilityRequestType)(nil)).Elem()
 65055  }
 65056  
 65057  type QueryLicenseSourceAvailabilityResponse struct {
 65058  	Returnval []LicenseAvailabilityInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65059  }
 65060  
 65061  type QueryLicenseUsage QueryLicenseUsageRequestType
 65062  
 65063  func init() {
 65064  	t["QueryLicenseUsage"] = reflect.TypeOf((*QueryLicenseUsage)(nil)).Elem()
 65065  }
 65066  
 65067  // The parameters of `LicenseManager.QueryLicenseUsage`.
 65068  type QueryLicenseUsageRequestType struct {
 65069  	This ManagedObjectReference `xml:"_this" json:"-"`
 65070  	// Host to query for usage. If missing, query the server the
 65071  	// `LicenseManager` is on.
 65072  	//
 65073  	// Refers instance of `HostSystem`.
 65074  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 65075  }
 65076  
 65077  func init() {
 65078  	t["QueryLicenseUsageRequestType"] = reflect.TypeOf((*QueryLicenseUsageRequestType)(nil)).Elem()
 65079  }
 65080  
 65081  type QueryLicenseUsageResponse struct {
 65082  	Returnval LicenseUsageInfo `xml:"returnval" json:"returnval"`
 65083  }
 65084  
 65085  type QueryLockdownExceptions QueryLockdownExceptionsRequestType
 65086  
 65087  func init() {
 65088  	t["QueryLockdownExceptions"] = reflect.TypeOf((*QueryLockdownExceptions)(nil)).Elem()
 65089  }
 65090  
 65091  type QueryLockdownExceptionsRequestType struct {
 65092  	This ManagedObjectReference `xml:"_this" json:"-"`
 65093  }
 65094  
 65095  func init() {
 65096  	t["QueryLockdownExceptionsRequestType"] = reflect.TypeOf((*QueryLockdownExceptionsRequestType)(nil)).Elem()
 65097  }
 65098  
 65099  type QueryLockdownExceptionsResponse struct {
 65100  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65101  }
 65102  
 65103  type QueryManagedBy QueryManagedByRequestType
 65104  
 65105  func init() {
 65106  	t["QueryManagedBy"] = reflect.TypeOf((*QueryManagedBy)(nil)).Elem()
 65107  }
 65108  
 65109  // The parameters of `ExtensionManager.QueryManagedBy`.
 65110  type QueryManagedByRequestType struct {
 65111  	This ManagedObjectReference `xml:"_this" json:"-"`
 65112  	// Key of the extension to find managed entities for.
 65113  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 65114  }
 65115  
 65116  func init() {
 65117  	t["QueryManagedByRequestType"] = reflect.TypeOf((*QueryManagedByRequestType)(nil)).Elem()
 65118  }
 65119  
 65120  type QueryManagedByResponse struct {
 65121  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65122  }
 65123  
 65124  type QueryMaxQueueDepth QueryMaxQueueDepthRequestType
 65125  
 65126  func init() {
 65127  	t["QueryMaxQueueDepth"] = reflect.TypeOf((*QueryMaxQueueDepth)(nil)).Elem()
 65128  }
 65129  
 65130  // The parameters of `HostDatastoreSystem.QueryMaxQueueDepth`.
 65131  type QueryMaxQueueDepthRequestType struct {
 65132  	This ManagedObjectReference `xml:"_this" json:"-"`
 65133  	// The NFS datastore which need to query max queue depth
 65134  	//
 65135  	// Refers instance of `Datastore`.
 65136  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 65137  }
 65138  
 65139  func init() {
 65140  	t["QueryMaxQueueDepthRequestType"] = reflect.TypeOf((*QueryMaxQueueDepthRequestType)(nil)).Elem()
 65141  }
 65142  
 65143  type QueryMaxQueueDepthResponse struct {
 65144  	Returnval int64 `xml:"returnval" json:"returnval"`
 65145  }
 65146  
 65147  type QueryMemoryOverhead QueryMemoryOverheadRequestType
 65148  
 65149  func init() {
 65150  	t["QueryMemoryOverhead"] = reflect.TypeOf((*QueryMemoryOverhead)(nil)).Elem()
 65151  }
 65152  
 65153  type QueryMemoryOverheadEx QueryMemoryOverheadExRequestType
 65154  
 65155  func init() {
 65156  	t["QueryMemoryOverheadEx"] = reflect.TypeOf((*QueryMemoryOverheadEx)(nil)).Elem()
 65157  }
 65158  
 65159  // The parameters of `HostSystem.QueryMemoryOverheadEx`.
 65160  type QueryMemoryOverheadExRequestType struct {
 65161  	This ManagedObjectReference `xml:"_this" json:"-"`
 65162  	// The configuration of the virtual machine.
 65163  	VmConfigInfo VirtualMachineConfigInfo `xml:"vmConfigInfo" json:"vmConfigInfo"`
 65164  }
 65165  
 65166  func init() {
 65167  	t["QueryMemoryOverheadExRequestType"] = reflect.TypeOf((*QueryMemoryOverheadExRequestType)(nil)).Elem()
 65168  }
 65169  
 65170  type QueryMemoryOverheadExResponse struct {
 65171  	Returnval int64 `xml:"returnval" json:"returnval"`
 65172  }
 65173  
 65174  // The parameters of `HostSystem.QueryMemoryOverhead`.
 65175  type QueryMemoryOverheadRequestType struct {
 65176  	This ManagedObjectReference `xml:"_this" json:"-"`
 65177  	// The amount of virtual system RAM, in bytes. For an existing
 65178  	// virtual machine, this value can be found (in megabytes) as the memoryMB
 65179  	// property of the `VirtualHardware`.
 65180  	MemorySize int64 `xml:"memorySize" json:"memorySize"`
 65181  	// The amount of virtual video RAM, in bytes. For an existing
 65182  	// virtual machine on a host that supports advertising this property, this
 65183  	// value can be found (in kilobytes) as the videoRamSizeInKB property of the
 65184  	// `VirtualMachineVideoCard`. If this parameter is left unset, the
 65185  	// default video RAM size for virtual machines on this host is assumed.
 65186  	VideoRamSize int32 `xml:"videoRamSize,omitempty" json:"videoRamSize,omitempty"`
 65187  	// The number of virtual CPUs. For an existing virtual machine, this
 65188  	// value can be found as the numCPU property of the
 65189  	// `VirtualHardware`.
 65190  	NumVcpus int32 `xml:"numVcpus" json:"numVcpus"`
 65191  }
 65192  
 65193  func init() {
 65194  	t["QueryMemoryOverheadRequestType"] = reflect.TypeOf((*QueryMemoryOverheadRequestType)(nil)).Elem()
 65195  }
 65196  
 65197  type QueryMemoryOverheadResponse struct {
 65198  	Returnval int64 `xml:"returnval" json:"returnval"`
 65199  }
 65200  
 65201  type QueryMigrationDependencies QueryMigrationDependenciesRequestType
 65202  
 65203  func init() {
 65204  	t["QueryMigrationDependencies"] = reflect.TypeOf((*QueryMigrationDependencies)(nil)).Elem()
 65205  }
 65206  
 65207  // The parameters of `IscsiManager.QueryMigrationDependencies`.
 65208  type QueryMigrationDependenciesRequestType struct {
 65209  	This ManagedObjectReference `xml:"_this" json:"-"`
 65210  	// List of Physical NICs to be migrated
 65211  	PnicDevice []string `xml:"pnicDevice" json:"pnicDevice"`
 65212  }
 65213  
 65214  func init() {
 65215  	t["QueryMigrationDependenciesRequestType"] = reflect.TypeOf((*QueryMigrationDependenciesRequestType)(nil)).Elem()
 65216  }
 65217  
 65218  type QueryMigrationDependenciesResponse struct {
 65219  	Returnval IscsiMigrationDependency `xml:"returnval" json:"returnval"`
 65220  }
 65221  
 65222  type QueryModules QueryModulesRequestType
 65223  
 65224  func init() {
 65225  	t["QueryModules"] = reflect.TypeOf((*QueryModules)(nil)).Elem()
 65226  }
 65227  
 65228  type QueryModulesRequestType struct {
 65229  	This ManagedObjectReference `xml:"_this" json:"-"`
 65230  }
 65231  
 65232  func init() {
 65233  	t["QueryModulesRequestType"] = reflect.TypeOf((*QueryModulesRequestType)(nil)).Elem()
 65234  }
 65235  
 65236  type QueryModulesResponse struct {
 65237  	Returnval []KernelModuleInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65238  }
 65239  
 65240  type QueryMonitoredEntities QueryMonitoredEntitiesRequestType
 65241  
 65242  func init() {
 65243  	t["QueryMonitoredEntities"] = reflect.TypeOf((*QueryMonitoredEntities)(nil)).Elem()
 65244  }
 65245  
 65246  // The parameters of `HealthUpdateManager.QueryMonitoredEntities`.
 65247  type QueryMonitoredEntitiesRequestType struct {
 65248  	This ManagedObjectReference `xml:"_this" json:"-"`
 65249  	// The provider id.
 65250  	ProviderId string `xml:"providerId" json:"providerId"`
 65251  }
 65252  
 65253  func init() {
 65254  	t["QueryMonitoredEntitiesRequestType"] = reflect.TypeOf((*QueryMonitoredEntitiesRequestType)(nil)).Elem()
 65255  }
 65256  
 65257  type QueryMonitoredEntitiesResponse struct {
 65258  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65259  }
 65260  
 65261  type QueryNFSUser QueryNFSUserRequestType
 65262  
 65263  func init() {
 65264  	t["QueryNFSUser"] = reflect.TypeOf((*QueryNFSUser)(nil)).Elem()
 65265  }
 65266  
 65267  type QueryNFSUserRequestType struct {
 65268  	This ManagedObjectReference `xml:"_this" json:"-"`
 65269  }
 65270  
 65271  func init() {
 65272  	t["QueryNFSUserRequestType"] = reflect.TypeOf((*QueryNFSUserRequestType)(nil)).Elem()
 65273  }
 65274  
 65275  type QueryNFSUserResponse struct {
 65276  	Returnval *HostNasVolumeUserInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65277  }
 65278  
 65279  type QueryNetConfig QueryNetConfigRequestType
 65280  
 65281  func init() {
 65282  	t["QueryNetConfig"] = reflect.TypeOf((*QueryNetConfig)(nil)).Elem()
 65283  }
 65284  
 65285  // The parameters of `HostVirtualNicManager.QueryNetConfig`.
 65286  type QueryNetConfigRequestType struct {
 65287  	This ManagedObjectReference `xml:"_this" json:"-"`
 65288  	// The `HostVirtualNicManagerNicType_enum`
 65289  	NicType string `xml:"nicType" json:"nicType"`
 65290  }
 65291  
 65292  func init() {
 65293  	t["QueryNetConfigRequestType"] = reflect.TypeOf((*QueryNetConfigRequestType)(nil)).Elem()
 65294  }
 65295  
 65296  type QueryNetConfigResponse struct {
 65297  	Returnval *VirtualNicManagerNetConfig `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65298  }
 65299  
 65300  type QueryNetworkHint QueryNetworkHintRequestType
 65301  
 65302  func init() {
 65303  	t["QueryNetworkHint"] = reflect.TypeOf((*QueryNetworkHint)(nil)).Elem()
 65304  }
 65305  
 65306  // The parameters of `HostNetworkSystem.QueryNetworkHint`.
 65307  type QueryNetworkHintRequestType struct {
 65308  	This   ManagedObjectReference `xml:"_this" json:"-"`
 65309  	Device []string               `xml:"device,omitempty" json:"device,omitempty"`
 65310  }
 65311  
 65312  func init() {
 65313  	t["QueryNetworkHintRequestType"] = reflect.TypeOf((*QueryNetworkHintRequestType)(nil)).Elem()
 65314  }
 65315  
 65316  type QueryNetworkHintResponse struct {
 65317  	Returnval []PhysicalNicHintInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65318  }
 65319  
 65320  type QueryObjectsOnPhysicalVsanDisk QueryObjectsOnPhysicalVsanDiskRequestType
 65321  
 65322  func init() {
 65323  	t["QueryObjectsOnPhysicalVsanDisk"] = reflect.TypeOf((*QueryObjectsOnPhysicalVsanDisk)(nil)).Elem()
 65324  }
 65325  
 65326  // The parameters of `HostVsanInternalSystem.QueryObjectsOnPhysicalVsanDisk`.
 65327  type QueryObjectsOnPhysicalVsanDiskRequestType struct {
 65328  	This ManagedObjectReference `xml:"_this" json:"-"`
 65329  	// List of VSAN disk UUIDs.
 65330  	Disks []string `xml:"disks" json:"disks"`
 65331  }
 65332  
 65333  func init() {
 65334  	t["QueryObjectsOnPhysicalVsanDiskRequestType"] = reflect.TypeOf((*QueryObjectsOnPhysicalVsanDiskRequestType)(nil)).Elem()
 65335  }
 65336  
 65337  type QueryObjectsOnPhysicalVsanDiskResponse struct {
 65338  	Returnval string `xml:"returnval" json:"returnval"`
 65339  }
 65340  
 65341  type QueryOptions QueryOptionsRequestType
 65342  
 65343  func init() {
 65344  	t["QueryOptions"] = reflect.TypeOf((*QueryOptions)(nil)).Elem()
 65345  }
 65346  
 65347  // The parameters of `OptionManager.QueryOptions`.
 65348  type QueryOptionsRequestType struct {
 65349  	This ManagedObjectReference `xml:"_this" json:"-"`
 65350  	Name string                 `xml:"name,omitempty" json:"name,omitempty"`
 65351  }
 65352  
 65353  func init() {
 65354  	t["QueryOptionsRequestType"] = reflect.TypeOf((*QueryOptionsRequestType)(nil)).Elem()
 65355  }
 65356  
 65357  type QueryOptionsResponse struct {
 65358  	Returnval []BaseOptionValue `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 65359  }
 65360  
 65361  type QueryPartitionCreateDesc QueryPartitionCreateDescRequestType
 65362  
 65363  func init() {
 65364  	t["QueryPartitionCreateDesc"] = reflect.TypeOf((*QueryPartitionCreateDesc)(nil)).Elem()
 65365  }
 65366  
 65367  // The parameters of `HostDiagnosticSystem.QueryPartitionCreateDesc`.
 65368  type QueryPartitionCreateDescRequestType struct {
 65369  	This           ManagedObjectReference `xml:"_this" json:"-"`
 65370  	DiskUuid       string                 `xml:"diskUuid" json:"diskUuid"`
 65371  	DiagnosticType string                 `xml:"diagnosticType" json:"diagnosticType"`
 65372  }
 65373  
 65374  func init() {
 65375  	t["QueryPartitionCreateDescRequestType"] = reflect.TypeOf((*QueryPartitionCreateDescRequestType)(nil)).Elem()
 65376  }
 65377  
 65378  type QueryPartitionCreateDescResponse struct {
 65379  	Returnval HostDiagnosticPartitionCreateDescription `xml:"returnval" json:"returnval"`
 65380  }
 65381  
 65382  type QueryPartitionCreateOptions QueryPartitionCreateOptionsRequestType
 65383  
 65384  func init() {
 65385  	t["QueryPartitionCreateOptions"] = reflect.TypeOf((*QueryPartitionCreateOptions)(nil)).Elem()
 65386  }
 65387  
 65388  // The parameters of `HostDiagnosticSystem.QueryPartitionCreateOptions`.
 65389  type QueryPartitionCreateOptionsRequestType struct {
 65390  	This           ManagedObjectReference `xml:"_this" json:"-"`
 65391  	StorageType    string                 `xml:"storageType" json:"storageType"`
 65392  	DiagnosticType string                 `xml:"diagnosticType" json:"diagnosticType"`
 65393  }
 65394  
 65395  func init() {
 65396  	t["QueryPartitionCreateOptionsRequestType"] = reflect.TypeOf((*QueryPartitionCreateOptionsRequestType)(nil)).Elem()
 65397  }
 65398  
 65399  type QueryPartitionCreateOptionsResponse struct {
 65400  	Returnval []HostDiagnosticPartitionCreateOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65401  }
 65402  
 65403  type QueryPathSelectionPolicyOptions QueryPathSelectionPolicyOptionsRequestType
 65404  
 65405  func init() {
 65406  	t["QueryPathSelectionPolicyOptions"] = reflect.TypeOf((*QueryPathSelectionPolicyOptions)(nil)).Elem()
 65407  }
 65408  
 65409  type QueryPathSelectionPolicyOptionsRequestType struct {
 65410  	This ManagedObjectReference `xml:"_this" json:"-"`
 65411  }
 65412  
 65413  func init() {
 65414  	t["QueryPathSelectionPolicyOptionsRequestType"] = reflect.TypeOf((*QueryPathSelectionPolicyOptionsRequestType)(nil)).Elem()
 65415  }
 65416  
 65417  type QueryPathSelectionPolicyOptionsResponse struct {
 65418  	Returnval []HostPathSelectionPolicyOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65419  }
 65420  
 65421  type QueryPerf QueryPerfRequestType
 65422  
 65423  func init() {
 65424  	t["QueryPerf"] = reflect.TypeOf((*QueryPerf)(nil)).Elem()
 65425  }
 65426  
 65427  type QueryPerfComposite QueryPerfCompositeRequestType
 65428  
 65429  func init() {
 65430  	t["QueryPerfComposite"] = reflect.TypeOf((*QueryPerfComposite)(nil)).Elem()
 65431  }
 65432  
 65433  // The parameters of `PerformanceManager.QueryPerfComposite`.
 65434  type QueryPerfCompositeRequestType struct {
 65435  	This ManagedObjectReference `xml:"_this" json:"-"`
 65436  	// A `PerfQuerySpec` object specifying the query
 65437  	// parameters. This `PerfQuerySpec` object specifies a
 65438  	// managed object for which composite statistics should be retrieved, with
 65439  	// specific optional criteria for filtering the results.
 65440  	//
 65441  	// This `PerfQuerySpec` requires a valid `PerfQuerySpec.metricId` property that specifies a metric
 65442  	// that is available, in common, to the entity and its children. If the
 65443  	// specified metricId is not available to the entity and its children, it is
 65444  	// ignored.
 65445  	QuerySpec PerfQuerySpec `xml:"querySpec" json:"querySpec"`
 65446  }
 65447  
 65448  func init() {
 65449  	t["QueryPerfCompositeRequestType"] = reflect.TypeOf((*QueryPerfCompositeRequestType)(nil)).Elem()
 65450  }
 65451  
 65452  type QueryPerfCompositeResponse struct {
 65453  	Returnval PerfCompositeMetric `xml:"returnval" json:"returnval"`
 65454  }
 65455  
 65456  type QueryPerfCounter QueryPerfCounterRequestType
 65457  
 65458  func init() {
 65459  	t["QueryPerfCounter"] = reflect.TypeOf((*QueryPerfCounter)(nil)).Elem()
 65460  }
 65461  
 65462  type QueryPerfCounterByLevel QueryPerfCounterByLevelRequestType
 65463  
 65464  func init() {
 65465  	t["QueryPerfCounterByLevel"] = reflect.TypeOf((*QueryPerfCounterByLevel)(nil)).Elem()
 65466  }
 65467  
 65468  // The parameters of `PerformanceManager.QueryPerfCounterByLevel`.
 65469  type QueryPerfCounterByLevelRequestType struct {
 65470  	This ManagedObjectReference `xml:"_this" json:"-"`
 65471  	// A number between 1 and 4 that specifies the collection level.
 65472  	Level int32 `xml:"level" json:"level"`
 65473  }
 65474  
 65475  func init() {
 65476  	t["QueryPerfCounterByLevelRequestType"] = reflect.TypeOf((*QueryPerfCounterByLevelRequestType)(nil)).Elem()
 65477  }
 65478  
 65479  type QueryPerfCounterByLevelResponse struct {
 65480  	Returnval []PerfCounterInfo `xml:"returnval" json:"returnval"`
 65481  }
 65482  
 65483  // The parameters of `PerformanceManager.QueryPerfCounter`.
 65484  type QueryPerfCounterRequestType struct {
 65485  	This ManagedObjectReference `xml:"_this" json:"-"`
 65486  	// An array of one or more `counterIds` representing performance counters for which information is
 65487  	// being retrieved.
 65488  	CounterId []int32 `xml:"counterId" json:"counterId"`
 65489  }
 65490  
 65491  func init() {
 65492  	t["QueryPerfCounterRequestType"] = reflect.TypeOf((*QueryPerfCounterRequestType)(nil)).Elem()
 65493  }
 65494  
 65495  type QueryPerfCounterResponse struct {
 65496  	Returnval []PerfCounterInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65497  }
 65498  
 65499  type QueryPerfProviderSummary QueryPerfProviderSummaryRequestType
 65500  
 65501  func init() {
 65502  	t["QueryPerfProviderSummary"] = reflect.TypeOf((*QueryPerfProviderSummary)(nil)).Elem()
 65503  }
 65504  
 65505  // The parameters of `PerformanceManager.QueryPerfProviderSummary`.
 65506  type QueryPerfProviderSummaryRequestType struct {
 65507  	This ManagedObjectReference `xml:"_this" json:"-"`
 65508  	// Reference to a managed object that provides performance data. If the
 65509  	// entity specified by managed object reference is not a performance
 65510  	// provider, an "InvalidArgument" exception is thrown.
 65511  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 65512  }
 65513  
 65514  func init() {
 65515  	t["QueryPerfProviderSummaryRequestType"] = reflect.TypeOf((*QueryPerfProviderSummaryRequestType)(nil)).Elem()
 65516  }
 65517  
 65518  type QueryPerfProviderSummaryResponse struct {
 65519  	Returnval PerfProviderSummary `xml:"returnval" json:"returnval"`
 65520  }
 65521  
 65522  // The parameters of `PerformanceManager.QueryPerf`.
 65523  type QueryPerfRequestType struct {
 65524  	This ManagedObjectReference `xml:"_this" json:"-"`
 65525  	// An array of `PerfQuerySpec` objects. Each `PerfQuerySpec` object specifies a managed object reference
 65526  	// for an entity, plus optional criteria for filtering results. Only metrics
 65527  	// for entities that can be resolved and that are valid *performance providers* are returned in
 65528  	// any result.
 65529  	//
 65530  	// Each `PerfQuerySpec` object in the array
 65531  	// submitted in this operation can query for different metrics. Or, select
 65532  	// all types of statistics for a single managed entity.
 65533  	//
 65534  	// Raw data feed workaround: Normally, QueryPerf will return performance
 65535  	// statistics stored in the VirtualCenter database. However this may not be
 65536  	// suitable for certain applications. For example, applications that treat
 65537  	// VirtualCenter as a raw data source, query for performance statistics
 65538  	// regularly (say every 5 minutes) and extract the data for external
 65539  	// archival and reporting. Such applications need better query performance.
 65540  	// These applications should query statistics using QueryPerf for the base
 65541  	// historical interval (5 minutes by default) having a start and end time
 65542  	// range within 30 minutes from the current VirtualCenter server system
 65543  	// time. These QueryPerf calls will have better performance than other
 65544  	// QueryPerf calls.
 65545  	QuerySpec []PerfQuerySpec `xml:"querySpec" json:"querySpec"`
 65546  }
 65547  
 65548  func init() {
 65549  	t["QueryPerfRequestType"] = reflect.TypeOf((*QueryPerfRequestType)(nil)).Elem()
 65550  }
 65551  
 65552  type QueryPerfResponse struct {
 65553  	Returnval []BasePerfEntityMetricBase `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 65554  }
 65555  
 65556  type QueryPhysicalVsanDisks QueryPhysicalVsanDisksRequestType
 65557  
 65558  func init() {
 65559  	t["QueryPhysicalVsanDisks"] = reflect.TypeOf((*QueryPhysicalVsanDisks)(nil)).Elem()
 65560  }
 65561  
 65562  // The parameters of `HostVsanInternalSystem.QueryPhysicalVsanDisks`.
 65563  type QueryPhysicalVsanDisksRequestType struct {
 65564  	This ManagedObjectReference `xml:"_this" json:"-"`
 65565  	// List of properties to gather. Not specifying a list will
 65566  	// fetch all properties.
 65567  	Props []string `xml:"props,omitempty" json:"props,omitempty"`
 65568  }
 65569  
 65570  func init() {
 65571  	t["QueryPhysicalVsanDisksRequestType"] = reflect.TypeOf((*QueryPhysicalVsanDisksRequestType)(nil)).Elem()
 65572  }
 65573  
 65574  type QueryPhysicalVsanDisksResponse struct {
 65575  	Returnval string `xml:"returnval" json:"returnval"`
 65576  }
 65577  
 65578  type QueryPnicStatus QueryPnicStatusRequestType
 65579  
 65580  func init() {
 65581  	t["QueryPnicStatus"] = reflect.TypeOf((*QueryPnicStatus)(nil)).Elem()
 65582  }
 65583  
 65584  // The parameters of `IscsiManager.QueryPnicStatus`.
 65585  type QueryPnicStatusRequestType struct {
 65586  	This ManagedObjectReference `xml:"_this" json:"-"`
 65587  	// Physical NIC device name to check the status for
 65588  	PnicDevice string `xml:"pnicDevice" json:"pnicDevice"`
 65589  }
 65590  
 65591  func init() {
 65592  	t["QueryPnicStatusRequestType"] = reflect.TypeOf((*QueryPnicStatusRequestType)(nil)).Elem()
 65593  }
 65594  
 65595  type QueryPnicStatusResponse struct {
 65596  	Returnval IscsiStatus `xml:"returnval" json:"returnval"`
 65597  }
 65598  
 65599  type QueryPolicyMetadata QueryPolicyMetadataRequestType
 65600  
 65601  func init() {
 65602  	t["QueryPolicyMetadata"] = reflect.TypeOf((*QueryPolicyMetadata)(nil)).Elem()
 65603  }
 65604  
 65605  // The parameters of `ProfileManager.QueryPolicyMetadata`.
 65606  type QueryPolicyMetadataRequestType struct {
 65607  	This ManagedObjectReference `xml:"_this" json:"-"`
 65608  	// Retrieve metadata for the specified policyNames.
 65609  	// If policyName is not specified, metadata for all policies will be returned.
 65610  	PolicyName []string `xml:"policyName,omitempty" json:"policyName,omitempty"`
 65611  	// Base profile whose context needs to be used during the operation
 65612  	//
 65613  	// Refers instance of `Profile`.
 65614  	Profile *ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty" vim:"5.0"`
 65615  }
 65616  
 65617  func init() {
 65618  	t["QueryPolicyMetadataRequestType"] = reflect.TypeOf((*QueryPolicyMetadataRequestType)(nil)).Elem()
 65619  }
 65620  
 65621  type QueryPolicyMetadataResponse struct {
 65622  	Returnval []ProfilePolicyMetadata `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65623  }
 65624  
 65625  type QueryProductLockerLocation QueryProductLockerLocationRequestType
 65626  
 65627  func init() {
 65628  	t["QueryProductLockerLocation"] = reflect.TypeOf((*QueryProductLockerLocation)(nil)).Elem()
 65629  }
 65630  
 65631  type QueryProductLockerLocationRequestType struct {
 65632  	This ManagedObjectReference `xml:"_this" json:"-"`
 65633  }
 65634  
 65635  func init() {
 65636  	t["QueryProductLockerLocationRequestType"] = reflect.TypeOf((*QueryProductLockerLocationRequestType)(nil)).Elem()
 65637  }
 65638  
 65639  type QueryProductLockerLocationResponse struct {
 65640  	Returnval string `xml:"returnval" json:"returnval"`
 65641  }
 65642  
 65643  type QueryProfileStructure QueryProfileStructureRequestType
 65644  
 65645  func init() {
 65646  	t["QueryProfileStructure"] = reflect.TypeOf((*QueryProfileStructure)(nil)).Elem()
 65647  }
 65648  
 65649  // The parameters of `HostProfileManager.QueryProfileStructure`.
 65650  type QueryProfileStructureRequestType struct {
 65651  	This ManagedObjectReference `xml:"_this" json:"-"`
 65652  	// Base profile whose context needs to be used during the operation
 65653  	//
 65654  	// Refers instance of `Profile`.
 65655  	Profile *ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
 65656  }
 65657  
 65658  func init() {
 65659  	t["QueryProfileStructureRequestType"] = reflect.TypeOf((*QueryProfileStructureRequestType)(nil)).Elem()
 65660  }
 65661  
 65662  type QueryProfileStructureResponse struct {
 65663  	Returnval ProfileProfileStructure `xml:"returnval" json:"returnval"`
 65664  }
 65665  
 65666  type QueryProviderList QueryProviderListRequestType
 65667  
 65668  func init() {
 65669  	t["QueryProviderList"] = reflect.TypeOf((*QueryProviderList)(nil)).Elem()
 65670  }
 65671  
 65672  type QueryProviderListRequestType struct {
 65673  	This ManagedObjectReference `xml:"_this" json:"-"`
 65674  }
 65675  
 65676  func init() {
 65677  	t["QueryProviderListRequestType"] = reflect.TypeOf((*QueryProviderListRequestType)(nil)).Elem()
 65678  }
 65679  
 65680  type QueryProviderListResponse struct {
 65681  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65682  }
 65683  
 65684  type QueryProviderName QueryProviderNameRequestType
 65685  
 65686  func init() {
 65687  	t["QueryProviderName"] = reflect.TypeOf((*QueryProviderName)(nil)).Elem()
 65688  }
 65689  
 65690  // The parameters of `HealthUpdateManager.QueryProviderName`.
 65691  type QueryProviderNameRequestType struct {
 65692  	This ManagedObjectReference `xml:"_this" json:"-"`
 65693  	Id   string                 `xml:"id" json:"id"`
 65694  }
 65695  
 65696  func init() {
 65697  	t["QueryProviderNameRequestType"] = reflect.TypeOf((*QueryProviderNameRequestType)(nil)).Elem()
 65698  }
 65699  
 65700  type QueryProviderNameResponse struct {
 65701  	Returnval string `xml:"returnval" json:"returnval"`
 65702  }
 65703  
 65704  type QueryResourceConfigOption QueryResourceConfigOptionRequestType
 65705  
 65706  func init() {
 65707  	t["QueryResourceConfigOption"] = reflect.TypeOf((*QueryResourceConfigOption)(nil)).Elem()
 65708  }
 65709  
 65710  type QueryResourceConfigOptionRequestType struct {
 65711  	This ManagedObjectReference `xml:"_this" json:"-"`
 65712  }
 65713  
 65714  func init() {
 65715  	t["QueryResourceConfigOptionRequestType"] = reflect.TypeOf((*QueryResourceConfigOptionRequestType)(nil)).Elem()
 65716  }
 65717  
 65718  type QueryResourceConfigOptionResponse struct {
 65719  	Returnval ResourceConfigOption `xml:"returnval" json:"returnval"`
 65720  }
 65721  
 65722  type QueryServiceList QueryServiceListRequestType
 65723  
 65724  func init() {
 65725  	t["QueryServiceList"] = reflect.TypeOf((*QueryServiceList)(nil)).Elem()
 65726  }
 65727  
 65728  // The parameters of `ServiceManager.QueryServiceList`.
 65729  type QueryServiceListRequestType struct {
 65730  	This ManagedObjectReference `xml:"_this" json:"-"`
 65731  	// The name of the service to be located.
 65732  	ServiceName string `xml:"serviceName,omitempty" json:"serviceName,omitempty"`
 65733  	// The list of location information that needs to match for a service to be
 65734  	// considered a match.
 65735  	Location []string `xml:"location,omitempty" json:"location,omitempty"`
 65736  }
 65737  
 65738  func init() {
 65739  	t["QueryServiceListRequestType"] = reflect.TypeOf((*QueryServiceListRequestType)(nil)).Elem()
 65740  }
 65741  
 65742  type QueryServiceListResponse struct {
 65743  	Returnval []ServiceManagerServiceInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65744  }
 65745  
 65746  type QueryStorageArrayTypePolicyOptions QueryStorageArrayTypePolicyOptionsRequestType
 65747  
 65748  func init() {
 65749  	t["QueryStorageArrayTypePolicyOptions"] = reflect.TypeOf((*QueryStorageArrayTypePolicyOptions)(nil)).Elem()
 65750  }
 65751  
 65752  type QueryStorageArrayTypePolicyOptionsRequestType struct {
 65753  	This ManagedObjectReference `xml:"_this" json:"-"`
 65754  }
 65755  
 65756  func init() {
 65757  	t["QueryStorageArrayTypePolicyOptionsRequestType"] = reflect.TypeOf((*QueryStorageArrayTypePolicyOptionsRequestType)(nil)).Elem()
 65758  }
 65759  
 65760  type QueryStorageArrayTypePolicyOptionsResponse struct {
 65761  	Returnval []HostStorageArrayTypePolicyOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65762  }
 65763  
 65764  type QuerySupportedFeatures QuerySupportedFeaturesRequestType
 65765  
 65766  func init() {
 65767  	t["QuerySupportedFeatures"] = reflect.TypeOf((*QuerySupportedFeatures)(nil)).Elem()
 65768  }
 65769  
 65770  // The parameters of `LicenseManager.QuerySupportedFeatures`.
 65771  type QuerySupportedFeaturesRequestType struct {
 65772  	This ManagedObjectReference `xml:"_this" json:"-"`
 65773  	// Use the license source of the specified host.
 65774  	//
 65775  	// Refers instance of `HostSystem`.
 65776  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 65777  }
 65778  
 65779  func init() {
 65780  	t["QuerySupportedFeaturesRequestType"] = reflect.TypeOf((*QuerySupportedFeaturesRequestType)(nil)).Elem()
 65781  }
 65782  
 65783  type QuerySupportedFeaturesResponse struct {
 65784  	Returnval []LicenseFeatureInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65785  }
 65786  
 65787  type QuerySupportedNetworkOffloadSpec QuerySupportedNetworkOffloadSpecRequestType
 65788  
 65789  func init() {
 65790  	t["QuerySupportedNetworkOffloadSpec"] = reflect.TypeOf((*QuerySupportedNetworkOffloadSpec)(nil)).Elem()
 65791  }
 65792  
 65793  // The parameters of `DistributedVirtualSwitchManager.QuerySupportedNetworkOffloadSpec`.
 65794  type QuerySupportedNetworkOffloadSpecRequestType struct {
 65795  	This ManagedObjectReference `xml:"_this" json:"-"`
 65796  	// The productSpec of a
 65797  	// `DistributedVirtualSwitch`.
 65798  	SwitchProductSpec DistributedVirtualSwitchProductSpec `xml:"switchProductSpec" json:"switchProductSpec"`
 65799  }
 65800  
 65801  func init() {
 65802  	t["QuerySupportedNetworkOffloadSpecRequestType"] = reflect.TypeOf((*QuerySupportedNetworkOffloadSpecRequestType)(nil)).Elem()
 65803  }
 65804  
 65805  type QuerySupportedNetworkOffloadSpecResponse struct {
 65806  	Returnval []DistributedVirtualSwitchNetworkOffloadSpec `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65807  }
 65808  
 65809  type QuerySyncingVsanObjects QuerySyncingVsanObjectsRequestType
 65810  
 65811  func init() {
 65812  	t["QuerySyncingVsanObjects"] = reflect.TypeOf((*QuerySyncingVsanObjects)(nil)).Elem()
 65813  }
 65814  
 65815  // The parameters of `HostVsanInternalSystem.QuerySyncingVsanObjects`.
 65816  type QuerySyncingVsanObjectsRequestType struct {
 65817  	This ManagedObjectReference `xml:"_this" json:"-"`
 65818  	// List of VSAN/DOM object UUIDs to restrict search to.
 65819  	Uuids []string `xml:"uuids,omitempty" json:"uuids,omitempty"`
 65820  }
 65821  
 65822  func init() {
 65823  	t["QuerySyncingVsanObjectsRequestType"] = reflect.TypeOf((*QuerySyncingVsanObjectsRequestType)(nil)).Elem()
 65824  }
 65825  
 65826  type QuerySyncingVsanObjectsResponse struct {
 65827  	Returnval string `xml:"returnval" json:"returnval"`
 65828  }
 65829  
 65830  type QuerySystemUsers QuerySystemUsersRequestType
 65831  
 65832  func init() {
 65833  	t["QuerySystemUsers"] = reflect.TypeOf((*QuerySystemUsers)(nil)).Elem()
 65834  }
 65835  
 65836  type QuerySystemUsersRequestType struct {
 65837  	This ManagedObjectReference `xml:"_this" json:"-"`
 65838  }
 65839  
 65840  func init() {
 65841  	t["QuerySystemUsersRequestType"] = reflect.TypeOf((*QuerySystemUsersRequestType)(nil)).Elem()
 65842  }
 65843  
 65844  type QuerySystemUsersResponse struct {
 65845  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65846  }
 65847  
 65848  type QueryTargetCapabilities QueryTargetCapabilitiesRequestType
 65849  
 65850  func init() {
 65851  	t["QueryTargetCapabilities"] = reflect.TypeOf((*QueryTargetCapabilities)(nil)).Elem()
 65852  }
 65853  
 65854  // The parameters of `EnvironmentBrowser.QueryTargetCapabilities`.
 65855  type QueryTargetCapabilitiesRequestType struct {
 65856  	This ManagedObjectReference `xml:"_this" json:"-"`
 65857  	// If specified, the host whose capabilities are requested.
 65858  	//
 65859  	// Refers instance of `HostSystem`.
 65860  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 65861  }
 65862  
 65863  func init() {
 65864  	t["QueryTargetCapabilitiesRequestType"] = reflect.TypeOf((*QueryTargetCapabilitiesRequestType)(nil)).Elem()
 65865  }
 65866  
 65867  type QueryTargetCapabilitiesResponse struct {
 65868  	Returnval *HostCapability `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65869  }
 65870  
 65871  type QueryTpmAttestationReport QueryTpmAttestationReportRequestType
 65872  
 65873  func init() {
 65874  	t["QueryTpmAttestationReport"] = reflect.TypeOf((*QueryTpmAttestationReport)(nil)).Elem()
 65875  }
 65876  
 65877  type QueryTpmAttestationReportRequestType struct {
 65878  	This ManagedObjectReference `xml:"_this" json:"-"`
 65879  }
 65880  
 65881  func init() {
 65882  	t["QueryTpmAttestationReportRequestType"] = reflect.TypeOf((*QueryTpmAttestationReportRequestType)(nil)).Elem()
 65883  }
 65884  
 65885  type QueryTpmAttestationReportResponse struct {
 65886  	Returnval *HostTpmAttestationReport `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65887  }
 65888  
 65889  type QueryUnmonitoredHosts QueryUnmonitoredHostsRequestType
 65890  
 65891  func init() {
 65892  	t["QueryUnmonitoredHosts"] = reflect.TypeOf((*QueryUnmonitoredHosts)(nil)).Elem()
 65893  }
 65894  
 65895  // The parameters of `HealthUpdateManager.QueryUnmonitoredHosts`.
 65896  type QueryUnmonitoredHostsRequestType struct {
 65897  	This ManagedObjectReference `xml:"_this" json:"-"`
 65898  	// The provider id.
 65899  	ProviderId string `xml:"providerId" json:"providerId"`
 65900  	// The cluster.
 65901  	//
 65902  	// Refers instance of `ClusterComputeResource`.
 65903  	Cluster ManagedObjectReference `xml:"cluster" json:"cluster"`
 65904  }
 65905  
 65906  func init() {
 65907  	t["QueryUnmonitoredHostsRequestType"] = reflect.TypeOf((*QueryUnmonitoredHostsRequestType)(nil)).Elem()
 65908  }
 65909  
 65910  type QueryUnmonitoredHostsResponse struct {
 65911  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65912  }
 65913  
 65914  type QueryUnownedFiles QueryUnownedFilesRequestType
 65915  
 65916  func init() {
 65917  	t["QueryUnownedFiles"] = reflect.TypeOf((*QueryUnownedFiles)(nil)).Elem()
 65918  }
 65919  
 65920  type QueryUnownedFilesRequestType struct {
 65921  	This ManagedObjectReference `xml:"_this" json:"-"`
 65922  }
 65923  
 65924  func init() {
 65925  	t["QueryUnownedFilesRequestType"] = reflect.TypeOf((*QueryUnownedFilesRequestType)(nil)).Elem()
 65926  }
 65927  
 65928  type QueryUnownedFilesResponse struct {
 65929  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65930  }
 65931  
 65932  type QueryUnresolvedVmfsVolume QueryUnresolvedVmfsVolumeRequestType
 65933  
 65934  func init() {
 65935  	t["QueryUnresolvedVmfsVolume"] = reflect.TypeOf((*QueryUnresolvedVmfsVolume)(nil)).Elem()
 65936  }
 65937  
 65938  type QueryUnresolvedVmfsVolumeRequestType struct {
 65939  	This ManagedObjectReference `xml:"_this" json:"-"`
 65940  }
 65941  
 65942  func init() {
 65943  	t["QueryUnresolvedVmfsVolumeRequestType"] = reflect.TypeOf((*QueryUnresolvedVmfsVolumeRequestType)(nil)).Elem()
 65944  }
 65945  
 65946  type QueryUnresolvedVmfsVolumeResponse struct {
 65947  	Returnval []HostUnresolvedVmfsVolume `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65948  }
 65949  
 65950  type QueryUnresolvedVmfsVolumes QueryUnresolvedVmfsVolumesRequestType
 65951  
 65952  func init() {
 65953  	t["QueryUnresolvedVmfsVolumes"] = reflect.TypeOf((*QueryUnresolvedVmfsVolumes)(nil)).Elem()
 65954  }
 65955  
 65956  type QueryUnresolvedVmfsVolumesRequestType struct {
 65957  	This ManagedObjectReference `xml:"_this" json:"-"`
 65958  }
 65959  
 65960  func init() {
 65961  	t["QueryUnresolvedVmfsVolumesRequestType"] = reflect.TypeOf((*QueryUnresolvedVmfsVolumesRequestType)(nil)).Elem()
 65962  }
 65963  
 65964  type QueryUnresolvedVmfsVolumesResponse struct {
 65965  	Returnval []HostUnresolvedVmfsVolume `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65966  }
 65967  
 65968  type QueryUsedVlanIdInDvs QueryUsedVlanIdInDvsRequestType
 65969  
 65970  func init() {
 65971  	t["QueryUsedVlanIdInDvs"] = reflect.TypeOf((*QueryUsedVlanIdInDvs)(nil)).Elem()
 65972  }
 65973  
 65974  type QueryUsedVlanIdInDvsRequestType struct {
 65975  	This ManagedObjectReference `xml:"_this" json:"-"`
 65976  }
 65977  
 65978  func init() {
 65979  	t["QueryUsedVlanIdInDvsRequestType"] = reflect.TypeOf((*QueryUsedVlanIdInDvsRequestType)(nil)).Elem()
 65980  }
 65981  
 65982  type QueryUsedVlanIdInDvsResponse struct {
 65983  	Returnval []int32 `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65984  }
 65985  
 65986  type QueryVMotionCompatibility QueryVMotionCompatibilityRequestType
 65987  
 65988  func init() {
 65989  	t["QueryVMotionCompatibility"] = reflect.TypeOf((*QueryVMotionCompatibility)(nil)).Elem()
 65990  }
 65991  
 65992  // The parameters of `VirtualMachineProvisioningChecker.QueryVMotionCompatibilityEx_Task`.
 65993  type QueryVMotionCompatibilityExRequestType struct {
 65994  	This ManagedObjectReference `xml:"_this" json:"-"`
 65995  	// The set of virtual machines to analyze for compatibility. All
 65996  	// virtual machines are assumed to be powered-on for the purposes of
 65997  	// this operation.
 65998  	//
 65999  	// Refers instances of `VirtualMachine`.
 66000  	Vm []ManagedObjectReference `xml:"vm" json:"vm"`
 66001  	// The set of hosts to analyze for compatibility. All hosts
 66002  	// are assumed to be connected and not in maintenance mode for the
 66003  	// purposes of this operation.
 66004  	//
 66005  	// Refers instances of `HostSystem`.
 66006  	Host []ManagedObjectReference `xml:"host" json:"host"`
 66007  }
 66008  
 66009  func init() {
 66010  	t["QueryVMotionCompatibilityExRequestType"] = reflect.TypeOf((*QueryVMotionCompatibilityExRequestType)(nil)).Elem()
 66011  }
 66012  
 66013  type QueryVMotionCompatibilityEx_Task QueryVMotionCompatibilityExRequestType
 66014  
 66015  func init() {
 66016  	t["QueryVMotionCompatibilityEx_Task"] = reflect.TypeOf((*QueryVMotionCompatibilityEx_Task)(nil)).Elem()
 66017  }
 66018  
 66019  type QueryVMotionCompatibilityEx_TaskResponse struct {
 66020  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 66021  }
 66022  
 66023  // The parameters of `ServiceInstance.QueryVMotionCompatibility`.
 66024  type QueryVMotionCompatibilityRequestType struct {
 66025  	This ManagedObjectReference `xml:"_this" json:"-"`
 66026  	// The virtual machine that is the designated VMotion candidate.
 66027  	//
 66028  	// Refers instance of `VirtualMachine`.
 66029  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 66030  	// The group of hosts to analyze for compatibility.
 66031  	//
 66032  	// Refers instances of `HostSystem`.
 66033  	Host []ManagedObjectReference `xml:"host" json:"host"`
 66034  	// The set of compatibility types to investigate.
 66035  	// Each is a string chosen from VMotionCompatibilityType. If this
 66036  	// argument is not set, then all compatibility types are
 66037  	// investigated.
 66038  	Compatibility []string `xml:"compatibility,omitempty" json:"compatibility,omitempty"`
 66039  }
 66040  
 66041  func init() {
 66042  	t["QueryVMotionCompatibilityRequestType"] = reflect.TypeOf((*QueryVMotionCompatibilityRequestType)(nil)).Elem()
 66043  }
 66044  
 66045  type QueryVMotionCompatibilityResponse struct {
 66046  	Returnval []HostVMotionCompatibility `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66047  }
 66048  
 66049  type QueryVirtualDiskFragmentation QueryVirtualDiskFragmentationRequestType
 66050  
 66051  func init() {
 66052  	t["QueryVirtualDiskFragmentation"] = reflect.TypeOf((*QueryVirtualDiskFragmentation)(nil)).Elem()
 66053  }
 66054  
 66055  // The parameters of `VirtualDiskManager.QueryVirtualDiskFragmentation`.
 66056  type QueryVirtualDiskFragmentationRequestType struct {
 66057  	This ManagedObjectReference `xml:"_this" json:"-"`
 66058  	// The name of the disk, either a datastore path or a URL
 66059  	// referring to the virtual disk for which to return the
 66060  	// percentage of fragmentation.
 66061  	Name string `xml:"name" json:"name"`
 66062  	// If <code>name</code> is a datastore path, the datacenter for
 66063  	// that datastore path. Not needed when invoked directly on ESX.
 66064  	// If not specified on a call to VirtualCenter,
 66065  	// <code>name</code> must be a URL.
 66066  	//
 66067  	// Refers instance of `Datacenter`.
 66068  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 66069  }
 66070  
 66071  func init() {
 66072  	t["QueryVirtualDiskFragmentationRequestType"] = reflect.TypeOf((*QueryVirtualDiskFragmentationRequestType)(nil)).Elem()
 66073  }
 66074  
 66075  type QueryVirtualDiskFragmentationResponse struct {
 66076  	Returnval int32 `xml:"returnval" json:"returnval"`
 66077  }
 66078  
 66079  type QueryVirtualDiskGeometry QueryVirtualDiskGeometryRequestType
 66080  
 66081  func init() {
 66082  	t["QueryVirtualDiskGeometry"] = reflect.TypeOf((*QueryVirtualDiskGeometry)(nil)).Elem()
 66083  }
 66084  
 66085  // The parameters of `VirtualDiskManager.QueryVirtualDiskGeometry`.
 66086  type QueryVirtualDiskGeometryRequestType struct {
 66087  	This ManagedObjectReference `xml:"_this" json:"-"`
 66088  	// The name of the disk, either a datastore path or a URL
 66089  	// referring to the virtual disk from which to get geometry information.
 66090  	Name string `xml:"name" json:"name"`
 66091  	// If <code>name</code> is a datastore path, the datacenter for
 66092  	// that datastore path. Not needed when invoked directly on ESX.
 66093  	// If not specified on a call to VirtualCenter,
 66094  	// <code>name</code> must be a URL.
 66095  	//
 66096  	// Refers instance of `Datacenter`.
 66097  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 66098  }
 66099  
 66100  func init() {
 66101  	t["QueryVirtualDiskGeometryRequestType"] = reflect.TypeOf((*QueryVirtualDiskGeometryRequestType)(nil)).Elem()
 66102  }
 66103  
 66104  type QueryVirtualDiskGeometryResponse struct {
 66105  	Returnval HostDiskDimensionsChs `xml:"returnval" json:"returnval"`
 66106  }
 66107  
 66108  type QueryVirtualDiskUuid QueryVirtualDiskUuidRequestType
 66109  
 66110  func init() {
 66111  	t["QueryVirtualDiskUuid"] = reflect.TypeOf((*QueryVirtualDiskUuid)(nil)).Elem()
 66112  }
 66113  
 66114  // The parameters of `VirtualDiskManager.QueryVirtualDiskUuid`.
 66115  type QueryVirtualDiskUuidRequestType struct {
 66116  	This ManagedObjectReference `xml:"_this" json:"-"`
 66117  	// The name of the disk, either a datastore path or a URL
 66118  	// referring to the virtual disk from which to get SCSI inquiry
 66119  	// page 0x83 data.
 66120  	Name string `xml:"name" json:"name"`
 66121  	// If <code>name</code> is a datastore path, the datacenter for
 66122  	// that datastore path. Not needed when invoked directly on ESX.
 66123  	// If not specified on a call to VirtualCenter,
 66124  	// <code>name</code> must be a URL.
 66125  	//
 66126  	// Refers instance of `Datacenter`.
 66127  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 66128  }
 66129  
 66130  func init() {
 66131  	t["QueryVirtualDiskUuidRequestType"] = reflect.TypeOf((*QueryVirtualDiskUuidRequestType)(nil)).Elem()
 66132  }
 66133  
 66134  type QueryVirtualDiskUuidResponse struct {
 66135  	Returnval string `xml:"returnval" json:"returnval"`
 66136  }
 66137  
 66138  type QueryVmfsConfigOption QueryVmfsConfigOptionRequestType
 66139  
 66140  func init() {
 66141  	t["QueryVmfsConfigOption"] = reflect.TypeOf((*QueryVmfsConfigOption)(nil)).Elem()
 66142  }
 66143  
 66144  type QueryVmfsConfigOptionRequestType struct {
 66145  	This ManagedObjectReference `xml:"_this" json:"-"`
 66146  }
 66147  
 66148  func init() {
 66149  	t["QueryVmfsConfigOptionRequestType"] = reflect.TypeOf((*QueryVmfsConfigOptionRequestType)(nil)).Elem()
 66150  }
 66151  
 66152  type QueryVmfsConfigOptionResponse struct {
 66153  	Returnval []VmfsConfigOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66154  }
 66155  
 66156  type QueryVmfsDatastoreCreateOptions QueryVmfsDatastoreCreateOptionsRequestType
 66157  
 66158  func init() {
 66159  	t["QueryVmfsDatastoreCreateOptions"] = reflect.TypeOf((*QueryVmfsDatastoreCreateOptions)(nil)).Elem()
 66160  }
 66161  
 66162  // The parameters of `HostDatastoreSystem.QueryVmfsDatastoreCreateOptions`.
 66163  type QueryVmfsDatastoreCreateOptionsRequestType struct {
 66164  	This ManagedObjectReference `xml:"_this" json:"-"`
 66165  	// The devicePath of the disk on which datastore creation
 66166  	// options are generated.
 66167  	DevicePath string `xml:"devicePath" json:"devicePath"`
 66168  	// major version of VMFS to be used for
 66169  	// formatting the datastore. If this
 66170  	// parameter is not specified, then the highest
 66171  	// *supported VMFS major version* for the host
 66172  	// is used.
 66173  	VmfsMajorVersion int32 `xml:"vmfsMajorVersion,omitempty" json:"vmfsMajorVersion,omitempty" vim:"5.0"`
 66174  }
 66175  
 66176  func init() {
 66177  	t["QueryVmfsDatastoreCreateOptionsRequestType"] = reflect.TypeOf((*QueryVmfsDatastoreCreateOptionsRequestType)(nil)).Elem()
 66178  }
 66179  
 66180  type QueryVmfsDatastoreCreateOptionsResponse struct {
 66181  	Returnval []VmfsDatastoreOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66182  }
 66183  
 66184  type QueryVmfsDatastoreExpandOptions QueryVmfsDatastoreExpandOptionsRequestType
 66185  
 66186  func init() {
 66187  	t["QueryVmfsDatastoreExpandOptions"] = reflect.TypeOf((*QueryVmfsDatastoreExpandOptions)(nil)).Elem()
 66188  }
 66189  
 66190  // The parameters of `HostDatastoreSystem.QueryVmfsDatastoreExpandOptions`.
 66191  type QueryVmfsDatastoreExpandOptionsRequestType struct {
 66192  	This ManagedObjectReference `xml:"_this" json:"-"`
 66193  	// The datastore to be expanded.
 66194  	//
 66195  	// Refers instance of `Datastore`.
 66196  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 66197  }
 66198  
 66199  func init() {
 66200  	t["QueryVmfsDatastoreExpandOptionsRequestType"] = reflect.TypeOf((*QueryVmfsDatastoreExpandOptionsRequestType)(nil)).Elem()
 66201  }
 66202  
 66203  type QueryVmfsDatastoreExpandOptionsResponse struct {
 66204  	Returnval []VmfsDatastoreOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66205  }
 66206  
 66207  type QueryVmfsDatastoreExtendOptions QueryVmfsDatastoreExtendOptionsRequestType
 66208  
 66209  func init() {
 66210  	t["QueryVmfsDatastoreExtendOptions"] = reflect.TypeOf((*QueryVmfsDatastoreExtendOptions)(nil)).Elem()
 66211  }
 66212  
 66213  // The parameters of `HostDatastoreSystem.QueryVmfsDatastoreExtendOptions`.
 66214  type QueryVmfsDatastoreExtendOptionsRequestType struct {
 66215  	This ManagedObjectReference `xml:"_this" json:"-"`
 66216  	// The datastore to be extended.
 66217  	//
 66218  	// Refers instance of `Datastore`.
 66219  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 66220  	// The devicePath of the disk on which datastore extension
 66221  	// options are generated.
 66222  	DevicePath string `xml:"devicePath" json:"devicePath"`
 66223  	// Indicates whether to exclude options that can be
 66224  	// used for extent expansion also.
 66225  	// Free space can be used for adding an extent or expanding an existing
 66226  	// extent. If this parameter is set to true, the list of options
 66227  	// returned will not include free space that can be used for expansion.
 66228  	SuppressExpandCandidates *bool `xml:"suppressExpandCandidates" json:"suppressExpandCandidates,omitempty" vim:"4.0"`
 66229  }
 66230  
 66231  func init() {
 66232  	t["QueryVmfsDatastoreExtendOptionsRequestType"] = reflect.TypeOf((*QueryVmfsDatastoreExtendOptionsRequestType)(nil)).Elem()
 66233  }
 66234  
 66235  type QueryVmfsDatastoreExtendOptionsResponse struct {
 66236  	Returnval []VmfsDatastoreOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66237  }
 66238  
 66239  type QueryVnicStatus QueryVnicStatusRequestType
 66240  
 66241  func init() {
 66242  	t["QueryVnicStatus"] = reflect.TypeOf((*QueryVnicStatus)(nil)).Elem()
 66243  }
 66244  
 66245  // The parameters of `IscsiManager.QueryVnicStatus`.
 66246  type QueryVnicStatusRequestType struct {
 66247  	This ManagedObjectReference `xml:"_this" json:"-"`
 66248  	// Virtual NIC device to check the status for
 66249  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 66250  }
 66251  
 66252  func init() {
 66253  	t["QueryVnicStatusRequestType"] = reflect.TypeOf((*QueryVnicStatusRequestType)(nil)).Elem()
 66254  }
 66255  
 66256  type QueryVnicStatusResponse struct {
 66257  	Returnval IscsiStatus `xml:"returnval" json:"returnval"`
 66258  }
 66259  
 66260  type QueryVsanObjectUuidsByFilter QueryVsanObjectUuidsByFilterRequestType
 66261  
 66262  func init() {
 66263  	t["QueryVsanObjectUuidsByFilter"] = reflect.TypeOf((*QueryVsanObjectUuidsByFilter)(nil)).Elem()
 66264  }
 66265  
 66266  // The parameters of `HostVsanInternalSystem.QueryVsanObjectUuidsByFilter`.
 66267  type QueryVsanObjectUuidsByFilterRequestType struct {
 66268  	This ManagedObjectReference `xml:"_this" json:"-"`
 66269  	// Objects UUID will be checked against the filtering
 66270  	// conditions.
 66271  	Uuids []string `xml:"uuids,omitempty" json:"uuids,omitempty"`
 66272  	// To limit the size of the result set.
 66273  	Limit *int32 `xml:"limit" json:"limit,omitempty"`
 66274  	// Filtering condition 1: object version.
 66275  	Version int32 `xml:"version,omitempty" json:"version,omitempty"`
 66276  }
 66277  
 66278  func init() {
 66279  	t["QueryVsanObjectUuidsByFilterRequestType"] = reflect.TypeOf((*QueryVsanObjectUuidsByFilterRequestType)(nil)).Elem()
 66280  }
 66281  
 66282  type QueryVsanObjectUuidsByFilterResponse struct {
 66283  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66284  }
 66285  
 66286  type QueryVsanObjects QueryVsanObjectsRequestType
 66287  
 66288  func init() {
 66289  	t["QueryVsanObjects"] = reflect.TypeOf((*QueryVsanObjects)(nil)).Elem()
 66290  }
 66291  
 66292  // The parameters of `HostVsanInternalSystem.QueryVsanObjects`.
 66293  type QueryVsanObjectsRequestType struct {
 66294  	This ManagedObjectReference `xml:"_this" json:"-"`
 66295  	// List of VSAN/DOM object UUIDs.
 66296  	Uuids []string `xml:"uuids,omitempty" json:"uuids,omitempty"`
 66297  }
 66298  
 66299  func init() {
 66300  	t["QueryVsanObjectsRequestType"] = reflect.TypeOf((*QueryVsanObjectsRequestType)(nil)).Elem()
 66301  }
 66302  
 66303  type QueryVsanObjectsResponse struct {
 66304  	Returnval string `xml:"returnval" json:"returnval"`
 66305  }
 66306  
 66307  type QueryVsanStatistics QueryVsanStatisticsRequestType
 66308  
 66309  func init() {
 66310  	t["QueryVsanStatistics"] = reflect.TypeOf((*QueryVsanStatistics)(nil)).Elem()
 66311  }
 66312  
 66313  // The parameters of `HostVsanInternalSystem.QueryVsanStatistics`.
 66314  type QueryVsanStatisticsRequestType struct {
 66315  	This ManagedObjectReference `xml:"_this" json:"-"`
 66316  	// List of labels of counters to retrieve.
 66317  	Labels []string `xml:"labels" json:"labels"`
 66318  }
 66319  
 66320  func init() {
 66321  	t["QueryVsanStatisticsRequestType"] = reflect.TypeOf((*QueryVsanStatisticsRequestType)(nil)).Elem()
 66322  }
 66323  
 66324  type QueryVsanStatisticsResponse struct {
 66325  	Returnval string `xml:"returnval" json:"returnval"`
 66326  }
 66327  
 66328  type QueryVsanUpgradeStatus QueryVsanUpgradeStatusRequestType
 66329  
 66330  func init() {
 66331  	t["QueryVsanUpgradeStatus"] = reflect.TypeOf((*QueryVsanUpgradeStatus)(nil)).Elem()
 66332  }
 66333  
 66334  // The parameters of `VsanUpgradeSystem.QueryVsanUpgradeStatus`.
 66335  type QueryVsanUpgradeStatusRequestType struct {
 66336  	This ManagedObjectReference `xml:"_this" json:"-"`
 66337  	// The cluster for which to retrieve the upgrade status.
 66338  	//
 66339  	// Refers instance of `ClusterComputeResource`.
 66340  	Cluster ManagedObjectReference `xml:"cluster" json:"cluster"`
 66341  }
 66342  
 66343  func init() {
 66344  	t["QueryVsanUpgradeStatusRequestType"] = reflect.TypeOf((*QueryVsanUpgradeStatusRequestType)(nil)).Elem()
 66345  }
 66346  
 66347  type QueryVsanUpgradeStatusResponse struct {
 66348  	Returnval VsanUpgradeSystemUpgradeStatus `xml:"returnval" json:"returnval"`
 66349  }
 66350  
 66351  // Thrown when an operation cannot be performed on a virtual machine
 66352  // because it has a pending question requiring user input.
 66353  type QuestionPending struct {
 66354  	InvalidState
 66355  
 66356  	// Text of the question from the virtual machine.
 66357  	Text string `xml:"text" json:"text"`
 66358  }
 66359  
 66360  func init() {
 66361  	t["QuestionPending"] = reflect.TypeOf((*QuestionPending)(nil)).Elem()
 66362  	minAPIVersionForType["QuestionPending"] = "4.1"
 66363  }
 66364  
 66365  type QuestionPendingFault QuestionPending
 66366  
 66367  func init() {
 66368  	t["QuestionPendingFault"] = reflect.TypeOf((*QuestionPendingFault)(nil)).Elem()
 66369  }
 66370  
 66371  // A QuiesceDatastoreIOForHAFailed fault occurs when the HA agent on a host
 66372  // cannot quiesce file activity on a datastore to be unmouonted or removed.
 66373  type QuiesceDatastoreIOForHAFailed struct {
 66374  	ResourceInUse
 66375  
 66376  	// The host.
 66377  	//
 66378  	// Refers instance of `HostSystem`.
 66379  	Host ManagedObjectReference `xml:"host" json:"host"`
 66380  	// Name of the host.
 66381  	HostName string `xml:"hostName" json:"hostName"`
 66382  	// The datastore.
 66383  	//
 66384  	// Refers instance of `Datastore`.
 66385  	Ds ManagedObjectReference `xml:"ds" json:"ds"`
 66386  	// Name of the datastore.
 66387  	DsName string `xml:"dsName" json:"dsName"`
 66388  }
 66389  
 66390  func init() {
 66391  	t["QuiesceDatastoreIOForHAFailed"] = reflect.TypeOf((*QuiesceDatastoreIOForHAFailed)(nil)).Elem()
 66392  	minAPIVersionForType["QuiesceDatastoreIOForHAFailed"] = "5.0"
 66393  }
 66394  
 66395  type QuiesceDatastoreIOForHAFailedFault QuiesceDatastoreIOForHAFailed
 66396  
 66397  func init() {
 66398  	t["QuiesceDatastoreIOForHAFailedFault"] = reflect.TypeOf((*QuiesceDatastoreIOForHAFailedFault)(nil)).Elem()
 66399  }
 66400  
 66401  // The virtual machine is using an RDM device with compatibility
 66402  // mode set to 'physicalMode' and operation is unable to convert
 66403  // the disk to a different type.
 66404  type RDMConversionNotSupported struct {
 66405  	MigrationFault
 66406  
 66407  	// The name of the disk device using the RDM.
 66408  	Device string `xml:"device" json:"device"`
 66409  }
 66410  
 66411  func init() {
 66412  	t["RDMConversionNotSupported"] = reflect.TypeOf((*RDMConversionNotSupported)(nil)).Elem()
 66413  	minAPIVersionForType["RDMConversionNotSupported"] = "4.0"
 66414  }
 66415  
 66416  type RDMConversionNotSupportedFault RDMConversionNotSupported
 66417  
 66418  func init() {
 66419  	t["RDMConversionNotSupportedFault"] = reflect.TypeOf((*RDMConversionNotSupportedFault)(nil)).Elem()
 66420  }
 66421  
 66422  // The virtual machine is configured with a Raw Disk Mapping.
 66423  //
 66424  // The host only supports Raw
 66425  // Disk Mappings in a limited fashion. After the migration, the RDM will function correctly,
 66426  // but it will be indistinguishable from a virtual disk when viewing the virtual machine's
 66427  // properties. This change will persist even if the virtual machine is migrated
 66428  // back to a host with full RDM support.
 66429  //
 66430  // This is a warning only for migrations to ESX 2.1.x hosts.
 66431  type RDMNotPreserved struct {
 66432  	MigrationFault
 66433  
 66434  	// The name of the disk device using the RDM.
 66435  	Device string `xml:"device" json:"device"`
 66436  }
 66437  
 66438  func init() {
 66439  	t["RDMNotPreserved"] = reflect.TypeOf((*RDMNotPreserved)(nil)).Elem()
 66440  }
 66441  
 66442  type RDMNotPreservedFault RDMNotPreserved
 66443  
 66444  func init() {
 66445  	t["RDMNotPreservedFault"] = reflect.TypeOf((*RDMNotPreservedFault)(nil)).Elem()
 66446  }
 66447  
 66448  // The virtual machine is configured with a Raw Disk Mapping.
 66449  //
 66450  // This is not
 66451  // supported on the host.
 66452  type RDMNotSupported struct {
 66453  	DeviceNotSupported
 66454  }
 66455  
 66456  func init() {
 66457  	t["RDMNotSupported"] = reflect.TypeOf((*RDMNotSupported)(nil)).Elem()
 66458  }
 66459  
 66460  type RDMNotSupportedFault BaseRDMNotSupported
 66461  
 66462  func init() {
 66463  	t["RDMNotSupportedFault"] = reflect.TypeOf((*RDMNotSupportedFault)(nil)).Elem()
 66464  }
 66465  
 66466  // The virtual machine is configured with a Raw Disk Mapping.
 66467  //
 66468  // This is not
 66469  // supported on the datastore.
 66470  type RDMNotSupportedOnDatastore struct {
 66471  	VmConfigFault
 66472  
 66473  	// The label of the RDM device that would have its backing placed on
 66474  	// the datastore.
 66475  	//
 66476  	// This is not guaranteed to be the only such device.
 66477  	Device string `xml:"device" json:"device"`
 66478  	// The datastore.
 66479  	//
 66480  	// Refers instance of `Datastore`.
 66481  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 66482  	// The name of the datastore.
 66483  	DatastoreName string `xml:"datastoreName" json:"datastoreName"`
 66484  }
 66485  
 66486  func init() {
 66487  	t["RDMNotSupportedOnDatastore"] = reflect.TypeOf((*RDMNotSupportedOnDatastore)(nil)).Elem()
 66488  	minAPIVersionForType["RDMNotSupportedOnDatastore"] = "2.5"
 66489  }
 66490  
 66491  type RDMNotSupportedOnDatastoreFault RDMNotSupportedOnDatastore
 66492  
 66493  func init() {
 66494  	t["RDMNotSupportedOnDatastoreFault"] = reflect.TypeOf((*RDMNotSupportedOnDatastoreFault)(nil)).Elem()
 66495  }
 66496  
 66497  // One of the virtual machine's virtual disks is a Raw Disk Mapping
 66498  // that is itself accessible, but points to a LUN that is inaccessible.
 66499  type RDMPointsToInaccessibleDisk struct {
 66500  	CannotAccessVmDisk
 66501  }
 66502  
 66503  func init() {
 66504  	t["RDMPointsToInaccessibleDisk"] = reflect.TypeOf((*RDMPointsToInaccessibleDisk)(nil)).Elem()
 66505  }
 66506  
 66507  type RDMPointsToInaccessibleDiskFault RDMPointsToInaccessibleDisk
 66508  
 66509  func init() {
 66510  	t["RDMPointsToInaccessibleDiskFault"] = reflect.TypeOf((*RDMPointsToInaccessibleDiskFault)(nil)).Elem()
 66511  }
 66512  
 66513  // The virtual machine has a raw disk attached that is not supported.
 66514  //
 66515  // This is often
 66516  // used as a subfault for DisallowedMigrationDeviceAttached or
 66517  // DisallowedSnapshotDeviceAttached.
 66518  type RawDiskNotSupported struct {
 66519  	DeviceNotSupported
 66520  }
 66521  
 66522  func init() {
 66523  	t["RawDiskNotSupported"] = reflect.TypeOf((*RawDiskNotSupported)(nil)).Elem()
 66524  }
 66525  
 66526  type RawDiskNotSupportedFault RawDiskNotSupported
 66527  
 66528  func init() {
 66529  	t["RawDiskNotSupportedFault"] = reflect.TypeOf((*RawDiskNotSupportedFault)(nil)).Elem()
 66530  }
 66531  
 66532  type ReadEnvironmentVariableInGuest ReadEnvironmentVariableInGuestRequestType
 66533  
 66534  func init() {
 66535  	t["ReadEnvironmentVariableInGuest"] = reflect.TypeOf((*ReadEnvironmentVariableInGuest)(nil)).Elem()
 66536  }
 66537  
 66538  // The parameters of `GuestProcessManager.ReadEnvironmentVariableInGuest`.
 66539  type ReadEnvironmentVariableInGuestRequestType struct {
 66540  	This ManagedObjectReference `xml:"_this" json:"-"`
 66541  	// Virtual machine to perform the operation on.
 66542  	//
 66543  	// Required privileges: VirtualMachine.GuestOperations.Query
 66544  	//
 66545  	// Refers instance of `VirtualMachine`.
 66546  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 66547  	// The guest authentication data. See
 66548  	// `GuestAuthentication`.
 66549  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 66550  	// The names of the variables to be read. If not set, then
 66551  	// all the environment variables are returned.
 66552  	Names []string `xml:"names,omitempty" json:"names,omitempty"`
 66553  }
 66554  
 66555  func init() {
 66556  	t["ReadEnvironmentVariableInGuestRequestType"] = reflect.TypeOf((*ReadEnvironmentVariableInGuestRequestType)(nil)).Elem()
 66557  }
 66558  
 66559  type ReadEnvironmentVariableInGuestResponse struct {
 66560  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66561  }
 66562  
 66563  // Fault thrown on host connect if we were unable to correctly read the
 66564  // existing tree on the root.
 66565  //
 66566  // This is bad because then we don't know the
 66567  // available resources on the host, and all kinds of admission control will
 66568  // fail.
 66569  // This just allows for more robust error handling - we should be able to
 66570  // read the existing hierarchy under normal conditions.
 66571  type ReadHostResourcePoolTreeFailed struct {
 66572  	HostConnectFault
 66573  }
 66574  
 66575  func init() {
 66576  	t["ReadHostResourcePoolTreeFailed"] = reflect.TypeOf((*ReadHostResourcePoolTreeFailed)(nil)).Elem()
 66577  	minAPIVersionForType["ReadHostResourcePoolTreeFailed"] = "5.0"
 66578  }
 66579  
 66580  type ReadHostResourcePoolTreeFailedFault ReadHostResourcePoolTreeFailed
 66581  
 66582  func init() {
 66583  	t["ReadHostResourcePoolTreeFailedFault"] = reflect.TypeOf((*ReadHostResourcePoolTreeFailedFault)(nil)).Elem()
 66584  }
 66585  
 66586  type ReadNextEvents ReadNextEventsRequestType
 66587  
 66588  func init() {
 66589  	t["ReadNextEvents"] = reflect.TypeOf((*ReadNextEvents)(nil)).Elem()
 66590  }
 66591  
 66592  // The parameters of `EventHistoryCollector.ReadNextEvents`.
 66593  type ReadNextEventsRequestType struct {
 66594  	This ManagedObjectReference `xml:"_this" json:"-"`
 66595  	// The maximum number of items in the page.
 66596  	MaxCount int32 `xml:"maxCount" json:"maxCount"`
 66597  }
 66598  
 66599  func init() {
 66600  	t["ReadNextEventsRequestType"] = reflect.TypeOf((*ReadNextEventsRequestType)(nil)).Elem()
 66601  }
 66602  
 66603  type ReadNextEventsResponse struct {
 66604  	Returnval []BaseEvent `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 66605  }
 66606  
 66607  type ReadNextTasks ReadNextTasksRequestType
 66608  
 66609  func init() {
 66610  	t["ReadNextTasks"] = reflect.TypeOf((*ReadNextTasks)(nil)).Elem()
 66611  }
 66612  
 66613  // The parameters of `TaskHistoryCollector.ReadNextTasks`.
 66614  type ReadNextTasksRequestType struct {
 66615  	This ManagedObjectReference `xml:"_this" json:"-"`
 66616  	// The maximum number of items in the page.
 66617  	MaxCount int32 `xml:"maxCount" json:"maxCount"`
 66618  }
 66619  
 66620  func init() {
 66621  	t["ReadNextTasksRequestType"] = reflect.TypeOf((*ReadNextTasksRequestType)(nil)).Elem()
 66622  }
 66623  
 66624  type ReadNextTasksResponse struct {
 66625  	Returnval []TaskInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66626  }
 66627  
 66628  // The virtual machine uses read-only (undoable or nonpersistent) disks that
 66629  // can cause a slower power on at the migration destination.
 66630  //
 66631  // As a result, VMtion
 66632  // could slow down considerably or timeout. This is an issue only for migration of
 66633  // powered-on virtual machines from an ESX host with version greater
 66634  // than 2.0.x to an ESX host with version 2.0.x. It will be an error if the
 66635  // number of such disks is great enough to cause timeout ( &ge; 3 ), or a warning
 66636  // otherwise.
 66637  type ReadOnlyDisksWithLegacyDestination struct {
 66638  	MigrationFault
 66639  
 66640  	// The number of read-only disks in use.
 66641  	RoDiskCount int32 `xml:"roDiskCount" json:"roDiskCount"`
 66642  	// Whether this number of disks will cause a timeout failure.
 66643  	TimeoutDanger bool `xml:"timeoutDanger" json:"timeoutDanger"`
 66644  }
 66645  
 66646  func init() {
 66647  	t["ReadOnlyDisksWithLegacyDestination"] = reflect.TypeOf((*ReadOnlyDisksWithLegacyDestination)(nil)).Elem()
 66648  }
 66649  
 66650  type ReadOnlyDisksWithLegacyDestinationFault ReadOnlyDisksWithLegacyDestination
 66651  
 66652  func init() {
 66653  	t["ReadOnlyDisksWithLegacyDestinationFault"] = reflect.TypeOf((*ReadOnlyDisksWithLegacyDestinationFault)(nil)).Elem()
 66654  }
 66655  
 66656  type ReadPreviousEvents ReadPreviousEventsRequestType
 66657  
 66658  func init() {
 66659  	t["ReadPreviousEvents"] = reflect.TypeOf((*ReadPreviousEvents)(nil)).Elem()
 66660  }
 66661  
 66662  // The parameters of `EventHistoryCollector.ReadPreviousEvents`.
 66663  type ReadPreviousEventsRequestType struct {
 66664  	This ManagedObjectReference `xml:"_this" json:"-"`
 66665  	// The maximum number of items in the page.
 66666  	MaxCount int32 `xml:"maxCount" json:"maxCount"`
 66667  }
 66668  
 66669  func init() {
 66670  	t["ReadPreviousEventsRequestType"] = reflect.TypeOf((*ReadPreviousEventsRequestType)(nil)).Elem()
 66671  }
 66672  
 66673  type ReadPreviousEventsResponse struct {
 66674  	Returnval []BaseEvent `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 66675  }
 66676  
 66677  type ReadPreviousTasks ReadPreviousTasksRequestType
 66678  
 66679  func init() {
 66680  	t["ReadPreviousTasks"] = reflect.TypeOf((*ReadPreviousTasks)(nil)).Elem()
 66681  }
 66682  
 66683  // The parameters of `TaskHistoryCollector.ReadPreviousTasks`.
 66684  type ReadPreviousTasksRequestType struct {
 66685  	This ManagedObjectReference `xml:"_this" json:"-"`
 66686  	// The maximum number of items in the page.
 66687  	MaxCount int32 `xml:"maxCount" json:"maxCount"`
 66688  }
 66689  
 66690  func init() {
 66691  	t["ReadPreviousTasksRequestType"] = reflect.TypeOf((*ReadPreviousTasksRequestType)(nil)).Elem()
 66692  }
 66693  
 66694  type ReadPreviousTasksResponse struct {
 66695  	Returnval []TaskInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66696  }
 66697  
 66698  type RebootGuest RebootGuestRequestType
 66699  
 66700  func init() {
 66701  	t["RebootGuest"] = reflect.TypeOf((*RebootGuest)(nil)).Elem()
 66702  }
 66703  
 66704  type RebootGuestRequestType struct {
 66705  	This ManagedObjectReference `xml:"_this" json:"-"`
 66706  }
 66707  
 66708  func init() {
 66709  	t["RebootGuestRequestType"] = reflect.TypeOf((*RebootGuestRequestType)(nil)).Elem()
 66710  }
 66711  
 66712  type RebootGuestResponse struct {
 66713  }
 66714  
 66715  // The parameters of `HostSystem.RebootHost_Task`.
 66716  type RebootHostRequestType struct {
 66717  	This ManagedObjectReference `xml:"_this" json:"-"`
 66718  	// Flag to specify whether or not the host should be rebooted
 66719  	// regardless of whether it is in maintenance mode. If true, the host
 66720  	// is rebooted, even if there are virtual machines running or other
 66721  	// operations in progress.
 66722  	Force bool `xml:"force" json:"force"`
 66723  }
 66724  
 66725  func init() {
 66726  	t["RebootHostRequestType"] = reflect.TypeOf((*RebootHostRequestType)(nil)).Elem()
 66727  }
 66728  
 66729  type RebootHost_Task RebootHostRequestType
 66730  
 66731  func init() {
 66732  	t["RebootHost_Task"] = reflect.TypeOf((*RebootHost_Task)(nil)).Elem()
 66733  }
 66734  
 66735  type RebootHost_TaskResponse struct {
 66736  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 66737  }
 66738  
 66739  // This fault is thrown if a patch install fails because an installed
 66740  // nonchainable patch has not taken effect.
 66741  type RebootRequired struct {
 66742  	VimFault
 66743  
 66744  	// The nonchainable patch installed.
 66745  	Patch string `xml:"patch,omitempty" json:"patch,omitempty"`
 66746  }
 66747  
 66748  func init() {
 66749  	t["RebootRequired"] = reflect.TypeOf((*RebootRequired)(nil)).Elem()
 66750  }
 66751  
 66752  type RebootRequiredFault RebootRequired
 66753  
 66754  func init() {
 66755  	t["RebootRequiredFault"] = reflect.TypeOf((*RebootRequiredFault)(nil)).Elem()
 66756  }
 66757  
 66758  type RecommendDatastores RecommendDatastoresRequestType
 66759  
 66760  func init() {
 66761  	t["RecommendDatastores"] = reflect.TypeOf((*RecommendDatastores)(nil)).Elem()
 66762  }
 66763  
 66764  // The parameters of `StorageResourceManager.RecommendDatastores`.
 66765  type RecommendDatastoresRequestType struct {
 66766  	This        ManagedObjectReference `xml:"_this" json:"-"`
 66767  	StorageSpec StoragePlacementSpec   `xml:"storageSpec" json:"storageSpec"`
 66768  }
 66769  
 66770  func init() {
 66771  	t["RecommendDatastoresRequestType"] = reflect.TypeOf((*RecommendDatastoresRequestType)(nil)).Elem()
 66772  }
 66773  
 66774  type RecommendDatastoresResponse struct {
 66775  	Returnval StoragePlacementResult `xml:"returnval" json:"returnval"`
 66776  }
 66777  
 66778  type RecommendHostsForVm RecommendHostsForVmRequestType
 66779  
 66780  func init() {
 66781  	t["RecommendHostsForVm"] = reflect.TypeOf((*RecommendHostsForVm)(nil)).Elem()
 66782  }
 66783  
 66784  // The parameters of `ClusterComputeResource.RecommendHostsForVm`.
 66785  type RecommendHostsForVmRequestType struct {
 66786  	This ManagedObjectReference `xml:"_this" json:"-"`
 66787  	// Specifies the virtual machine for which the user is requesting a
 66788  	// recommendations.
 66789  	//
 66790  	// Refers instance of `VirtualMachine`.
 66791  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 66792  	// Specifies the ResourcePool into which the virtual machine is to be
 66793  	// migrated. If the virtual machine is powered-on, this argument must be
 66794  	// specified and it is relevant only when the virtual machine is
 66795  	// powered-on. This ResourcePool cannot be in the same cluster as the
 66796  	// virtual machine.
 66797  	//
 66798  	// Refers instance of `ResourcePool`.
 66799  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
 66800  }
 66801  
 66802  func init() {
 66803  	t["RecommendHostsForVmRequestType"] = reflect.TypeOf((*RecommendHostsForVmRequestType)(nil)).Elem()
 66804  }
 66805  
 66806  type RecommendHostsForVmResponse struct {
 66807  	Returnval []ClusterHostRecommendation `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66808  }
 66809  
 66810  type RecommissionVsanNodeRequestType struct {
 66811  	This ManagedObjectReference `xml:"_this" json:"-"`
 66812  }
 66813  
 66814  func init() {
 66815  	t["RecommissionVsanNodeRequestType"] = reflect.TypeOf((*RecommissionVsanNodeRequestType)(nil)).Elem()
 66816  }
 66817  
 66818  type RecommissionVsanNode_Task RecommissionVsanNodeRequestType
 66819  
 66820  func init() {
 66821  	t["RecommissionVsanNode_Task"] = reflect.TypeOf((*RecommissionVsanNode_Task)(nil)).Elem()
 66822  }
 66823  
 66824  type RecommissionVsanNode_TaskResponse struct {
 66825  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 66826  }
 66827  
 66828  // The parameters of `VcenterVStorageObjectManager.ReconcileDatastoreInventory_Task`.
 66829  type ReconcileDatastoreInventoryRequestType struct {
 66830  	This ManagedObjectReference `xml:"_this" json:"-"`
 66831  	// The datastore that needs to be reconciled.
 66832  	//
 66833  	// Refers instance of `Datastore`.
 66834  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 66835  }
 66836  
 66837  func init() {
 66838  	t["ReconcileDatastoreInventoryRequestType"] = reflect.TypeOf((*ReconcileDatastoreInventoryRequestType)(nil)).Elem()
 66839  }
 66840  
 66841  type ReconcileDatastoreInventory_Task ReconcileDatastoreInventoryRequestType
 66842  
 66843  func init() {
 66844  	t["ReconcileDatastoreInventory_Task"] = reflect.TypeOf((*ReconcileDatastoreInventory_Task)(nil)).Elem()
 66845  }
 66846  
 66847  type ReconcileDatastoreInventory_TaskResponse struct {
 66848  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 66849  }
 66850  
 66851  // The parameters of `VirtualMachine.ReconfigVM_Task`.
 66852  type ReconfigVMRequestType struct {
 66853  	This ManagedObjectReference `xml:"_this" json:"-"`
 66854  	// The new configuration values.
 66855  	Spec VirtualMachineConfigSpec `xml:"spec" json:"spec"`
 66856  }
 66857  
 66858  func init() {
 66859  	t["ReconfigVMRequestType"] = reflect.TypeOf((*ReconfigVMRequestType)(nil)).Elem()
 66860  }
 66861  
 66862  type ReconfigVM_Task ReconfigVMRequestType
 66863  
 66864  func init() {
 66865  	t["ReconfigVM_Task"] = reflect.TypeOf((*ReconfigVM_Task)(nil)).Elem()
 66866  }
 66867  
 66868  type ReconfigVM_TaskResponse struct {
 66869  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 66870  }
 66871  
 66872  type ReconfigurationSatisfiable ReconfigurationSatisfiableRequestType
 66873  
 66874  func init() {
 66875  	t["ReconfigurationSatisfiable"] = reflect.TypeOf((*ReconfigurationSatisfiable)(nil)).Elem()
 66876  }
 66877  
 66878  // The parameters of `HostVsanInternalSystem.ReconfigurationSatisfiable`.
 66879  type ReconfigurationSatisfiableRequestType struct {
 66880  	This ManagedObjectReference `xml:"_this" json:"-"`
 66881  	// List of PolicyChangeBatch structure with uuids and policies.
 66882  	Pcbs []VsanPolicyChangeBatch `xml:"pcbs" json:"pcbs"`
 66883  	// Optionally populate PolicyCost even though
 66884  	// object cannot be reconfigured in the current cluster topology.
 66885  	IgnoreSatisfiability *bool `xml:"ignoreSatisfiability" json:"ignoreSatisfiability,omitempty" vim:"6.0"`
 66886  }
 66887  
 66888  func init() {
 66889  	t["ReconfigurationSatisfiableRequestType"] = reflect.TypeOf((*ReconfigurationSatisfiableRequestType)(nil)).Elem()
 66890  }
 66891  
 66892  type ReconfigurationSatisfiableResponse struct {
 66893  	Returnval []VsanPolicySatisfiability `xml:"returnval" json:"returnval"`
 66894  }
 66895  
 66896  type ReconfigureAlarm ReconfigureAlarmRequestType
 66897  
 66898  func init() {
 66899  	t["ReconfigureAlarm"] = reflect.TypeOf((*ReconfigureAlarm)(nil)).Elem()
 66900  }
 66901  
 66902  // The parameters of `Alarm.ReconfigureAlarm`.
 66903  type ReconfigureAlarmRequestType struct {
 66904  	This ManagedObjectReference `xml:"_this" json:"-"`
 66905  	// The new specification for the alarm.
 66906  	Spec BaseAlarmSpec `xml:"spec,typeattr" json:"spec"`
 66907  }
 66908  
 66909  func init() {
 66910  	t["ReconfigureAlarmRequestType"] = reflect.TypeOf((*ReconfigureAlarmRequestType)(nil)).Elem()
 66911  }
 66912  
 66913  type ReconfigureAlarmResponse struct {
 66914  }
 66915  
 66916  type ReconfigureAutostart ReconfigureAutostartRequestType
 66917  
 66918  func init() {
 66919  	t["ReconfigureAutostart"] = reflect.TypeOf((*ReconfigureAutostart)(nil)).Elem()
 66920  }
 66921  
 66922  // The parameters of `HostAutoStartManager.ReconfigureAutostart`.
 66923  type ReconfigureAutostartRequestType struct {
 66924  	This ManagedObjectReference `xml:"_this" json:"-"`
 66925  	// List of changes to defaults and auto-start/auto-stop order.
 66926  	Spec HostAutoStartManagerConfig `xml:"spec" json:"spec"`
 66927  }
 66928  
 66929  func init() {
 66930  	t["ReconfigureAutostartRequestType"] = reflect.TypeOf((*ReconfigureAutostartRequestType)(nil)).Elem()
 66931  }
 66932  
 66933  type ReconfigureAutostartResponse struct {
 66934  }
 66935  
 66936  // The parameters of `ClusterComputeResource.ReconfigureCluster_Task`.
 66937  type ReconfigureClusterRequestType struct {
 66938  	This ManagedObjectReference `xml:"_this" json:"-"`
 66939  	// A set of configuration changes to apply to the cluster. The
 66940  	// specification can be a complete set of changes or a partial set of
 66941  	// changes, applied incrementally.
 66942  	Spec ClusterConfigSpec `xml:"spec" json:"spec"`
 66943  	// Flag to specify whether the specification ("spec") should
 66944  	// be applied incrementally. If "modify" is false and the
 66945  	// operation succeeds, then the configuration of the cluster
 66946  	// matches the specification exactly; in this case any unset
 66947  	// portions of the specification will result in unset or
 66948  	// default portions of the configuration.
 66949  	Modify bool `xml:"modify" json:"modify"`
 66950  }
 66951  
 66952  func init() {
 66953  	t["ReconfigureClusterRequestType"] = reflect.TypeOf((*ReconfigureClusterRequestType)(nil)).Elem()
 66954  }
 66955  
 66956  type ReconfigureCluster_Task ReconfigureClusterRequestType
 66957  
 66958  func init() {
 66959  	t["ReconfigureCluster_Task"] = reflect.TypeOf((*ReconfigureCluster_Task)(nil)).Elem()
 66960  }
 66961  
 66962  type ReconfigureCluster_TaskResponse struct {
 66963  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 66964  }
 66965  
 66966  // The parameters of `ComputeResource.ReconfigureComputeResource_Task`.
 66967  type ReconfigureComputeResourceRequestType struct {
 66968  	This ManagedObjectReference `xml:"_this" json:"-"`
 66969  	// A set of configuration changes to apply to the compute resource.
 66970  	// The specification can be a complete set of changes or a partial
 66971  	// set of changes, applied incrementally. When invoking
 66972  	// reconfigureEx on a cluster, this argument may be a
 66973  	// `ClusterConfigSpecEx` object.
 66974  	Spec BaseComputeResourceConfigSpec `xml:"spec,typeattr" json:"spec"`
 66975  	// Flag to specify whether the specification ("spec") should
 66976  	// be applied incrementally. If "modify" is false and the
 66977  	// operation succeeds, then the configuration of the cluster
 66978  	// matches the specification exactly; in this case any unset
 66979  	// portions of the specification will result in unset or
 66980  	// default portions of the configuration.
 66981  	Modify bool `xml:"modify" json:"modify"`
 66982  }
 66983  
 66984  func init() {
 66985  	t["ReconfigureComputeResourceRequestType"] = reflect.TypeOf((*ReconfigureComputeResourceRequestType)(nil)).Elem()
 66986  }
 66987  
 66988  type ReconfigureComputeResource_Task ReconfigureComputeResourceRequestType
 66989  
 66990  func init() {
 66991  	t["ReconfigureComputeResource_Task"] = reflect.TypeOf((*ReconfigureComputeResource_Task)(nil)).Elem()
 66992  }
 66993  
 66994  type ReconfigureComputeResource_TaskResponse struct {
 66995  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 66996  }
 66997  
 66998  // The parameters of `DistributedVirtualSwitch.ReconfigureDVPort_Task`.
 66999  type ReconfigureDVPortRequestType struct {
 67000  	This ManagedObjectReference `xml:"_this" json:"-"`
 67001  	// The specification of the ports.
 67002  	Port []DVPortConfigSpec `xml:"port" json:"port"`
 67003  }
 67004  
 67005  func init() {
 67006  	t["ReconfigureDVPortRequestType"] = reflect.TypeOf((*ReconfigureDVPortRequestType)(nil)).Elem()
 67007  }
 67008  
 67009  type ReconfigureDVPort_Task ReconfigureDVPortRequestType
 67010  
 67011  func init() {
 67012  	t["ReconfigureDVPort_Task"] = reflect.TypeOf((*ReconfigureDVPort_Task)(nil)).Elem()
 67013  }
 67014  
 67015  type ReconfigureDVPort_TaskResponse struct {
 67016  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 67017  }
 67018  
 67019  // The parameters of `DistributedVirtualPortgroup.ReconfigureDVPortgroup_Task`.
 67020  type ReconfigureDVPortgroupRequestType struct {
 67021  	This ManagedObjectReference `xml:"_this" json:"-"`
 67022  	// Configuration data for the portgroup.
 67023  	Spec DVPortgroupConfigSpec `xml:"spec" json:"spec"`
 67024  }
 67025  
 67026  func init() {
 67027  	t["ReconfigureDVPortgroupRequestType"] = reflect.TypeOf((*ReconfigureDVPortgroupRequestType)(nil)).Elem()
 67028  }
 67029  
 67030  type ReconfigureDVPortgroup_Task ReconfigureDVPortgroupRequestType
 67031  
 67032  func init() {
 67033  	t["ReconfigureDVPortgroup_Task"] = reflect.TypeOf((*ReconfigureDVPortgroup_Task)(nil)).Elem()
 67034  }
 67035  
 67036  type ReconfigureDVPortgroup_TaskResponse struct {
 67037  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 67038  }
 67039  
 67040  // The parameters of `Datacenter.ReconfigureDatacenter_Task`.
 67041  type ReconfigureDatacenterRequestType struct {
 67042  	This ManagedObjectReference `xml:"_this" json:"-"`
 67043  	// A set of configuration changes to apply to the datacenter.
 67044  	// The specification can be a complete set of changes or a partial
 67045  	// set of changes, applied incrementally.
 67046  	Spec DatacenterConfigSpec `xml:"spec" json:"spec"`
 67047  	// Flag to specify whether the specification ("spec") should
 67048  	// be applied incrementally. If "modify" is false and the
 67049  	// operation succeeds, then the configuration of the datacenter
 67050  	// matches the specification exactly; in this case any unset
 67051  	// portions of the specification will result in unset or
 67052  	// default portions of the configuration.
 67053  	Modify bool `xml:"modify" json:"modify"`
 67054  }
 67055  
 67056  func init() {
 67057  	t["ReconfigureDatacenterRequestType"] = reflect.TypeOf((*ReconfigureDatacenterRequestType)(nil)).Elem()
 67058  }
 67059  
 67060  type ReconfigureDatacenter_Task ReconfigureDatacenterRequestType
 67061  
 67062  func init() {
 67063  	t["ReconfigureDatacenter_Task"] = reflect.TypeOf((*ReconfigureDatacenter_Task)(nil)).Elem()
 67064  }
 67065  
 67066  type ReconfigureDatacenter_TaskResponse struct {
 67067  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 67068  }
 67069  
 67070  type ReconfigureDomObject ReconfigureDomObjectRequestType
 67071  
 67072  func init() {
 67073  	t["ReconfigureDomObject"] = reflect.TypeOf((*ReconfigureDomObject)(nil)).Elem()
 67074  }
 67075  
 67076  // The parameters of `HostVsanInternalSystem.ReconfigureDomObject`.
 67077  type ReconfigureDomObjectRequestType struct {
 67078  	This ManagedObjectReference `xml:"_this" json:"-"`
 67079  	// DOM object UUID.
 67080  	Uuid string `xml:"uuid" json:"uuid"`
 67081  	// VSAN expression formatted policy string.
 67082  	Policy string `xml:"policy" json:"policy"`
 67083  }
 67084  
 67085  func init() {
 67086  	t["ReconfigureDomObjectRequestType"] = reflect.TypeOf((*ReconfigureDomObjectRequestType)(nil)).Elem()
 67087  }
 67088  
 67089  type ReconfigureDomObjectResponse struct {
 67090  }
 67091  
 67092  // The parameters of `DistributedVirtualSwitch.ReconfigureDvs_Task`.
 67093  type ReconfigureDvsRequestType struct {
 67094  	This ManagedObjectReference `xml:"_this" json:"-"`
 67095  	// The configuration of the switch
 67096  	Spec BaseDVSConfigSpec `xml:"spec,typeattr" json:"spec"`
 67097  }
 67098  
 67099  func init() {
 67100  	t["ReconfigureDvsRequestType"] = reflect.TypeOf((*ReconfigureDvsRequestType)(nil)).Elem()
 67101  }
 67102  
 67103  type ReconfigureDvs_Task ReconfigureDvsRequestType
 67104  
 67105  func init() {
 67106  	t["ReconfigureDvs_Task"] = reflect.TypeOf((*ReconfigureDvs_Task)(nil)).Elem()
 67107  }
 67108  
 67109  type ReconfigureDvs_TaskResponse struct {
 67110  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 67111  }
 67112  
 67113  type ReconfigureHostForDASRequestType struct {
 67114  	This ManagedObjectReference `xml:"_this" json:"-"`
 67115  }
 67116  
 67117  func init() {
 67118  	t["ReconfigureHostForDASRequestType"] = reflect.TypeOf((*ReconfigureHostForDASRequestType)(nil)).Elem()
 67119  }
 67120  
 67121  type ReconfigureHostForDAS_Task ReconfigureHostForDASRequestType
 67122  
 67123  func init() {
 67124  	t["ReconfigureHostForDAS_Task"] = reflect.TypeOf((*ReconfigureHostForDAS_Task)(nil)).Elem()
 67125  }
 67126  
 67127  type ReconfigureHostForDAS_TaskResponse struct {
 67128  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 67129  }
 67130  
 67131  type ReconfigureScheduledTask ReconfigureScheduledTaskRequestType
 67132  
 67133  func init() {
 67134  	t["ReconfigureScheduledTask"] = reflect.TypeOf((*ReconfigureScheduledTask)(nil)).Elem()
 67135  }
 67136  
 67137  // The parameters of `ScheduledTask.ReconfigureScheduledTask`.
 67138  type ReconfigureScheduledTaskRequestType struct {
 67139  	This ManagedObjectReference `xml:"_this" json:"-"`
 67140  	// The new specification for the scheduled task.
 67141  	Spec BaseScheduledTaskSpec `xml:"spec,typeattr" json:"spec"`
 67142  }
 67143  
 67144  func init() {
 67145  	t["ReconfigureScheduledTaskRequestType"] = reflect.TypeOf((*ReconfigureScheduledTaskRequestType)(nil)).Elem()
 67146  }
 67147  
 67148  type ReconfigureScheduledTaskResponse struct {
 67149  }
 67150  
 67151  type ReconfigureServiceConsoleReservation ReconfigureServiceConsoleReservationRequestType
 67152  
 67153  func init() {
 67154  	t["ReconfigureServiceConsoleReservation"] = reflect.TypeOf((*ReconfigureServiceConsoleReservation)(nil)).Elem()
 67155  }
 67156  
 67157  // The parameters of `HostMemorySystem.ReconfigureServiceConsoleReservation`.
 67158  type ReconfigureServiceConsoleReservationRequestType struct {
 67159  	This     ManagedObjectReference `xml:"_this" json:"-"`
 67160  	CfgBytes int64                  `xml:"cfgBytes" json:"cfgBytes"`
 67161  }
 67162  
 67163  func init() {
 67164  	t["ReconfigureServiceConsoleReservationRequestType"] = reflect.TypeOf((*ReconfigureServiceConsoleReservationRequestType)(nil)).Elem()
 67165  }
 67166  
 67167  type ReconfigureServiceConsoleReservationResponse struct {
 67168  }
 67169  
 67170  type ReconfigureSnmpAgent ReconfigureSnmpAgentRequestType
 67171  
 67172  func init() {
 67173  	t["ReconfigureSnmpAgent"] = reflect.TypeOf((*ReconfigureSnmpAgent)(nil)).Elem()
 67174  }
 67175  
 67176  // The parameters of `HostSnmpSystem.ReconfigureSnmpAgent`.
 67177  type ReconfigureSnmpAgentRequestType struct {
 67178  	This ManagedObjectReference `xml:"_this" json:"-"`
 67179  	Spec HostSnmpConfigSpec     `xml:"spec" json:"spec"`
 67180  }
 67181  
 67182  func init() {
 67183  	t["ReconfigureSnmpAgentRequestType"] = reflect.TypeOf((*ReconfigureSnmpAgentRequestType)(nil)).Elem()
 67184  }
 67185  
 67186  type ReconfigureSnmpAgentResponse struct {
 67187  }
 67188  
 67189  type ReconfigureVirtualMachineReservation ReconfigureVirtualMachineReservationRequestType
 67190  
 67191  func init() {
 67192  	t["ReconfigureVirtualMachineReservation"] = reflect.TypeOf((*ReconfigureVirtualMachineReservation)(nil)).Elem()
 67193  }
 67194  
 67195  // The parameters of `HostMemorySystem.ReconfigureVirtualMachineReservation`.
 67196  type ReconfigureVirtualMachineReservationRequestType struct {
 67197  	This ManagedObjectReference              `xml:"_this" json:"-"`
 67198  	Spec VirtualMachineMemoryReservationSpec `xml:"spec" json:"spec"`
 67199  }
 67200  
 67201  func init() {
 67202  	t["ReconfigureVirtualMachineReservationRequestType"] = reflect.TypeOf((*ReconfigureVirtualMachineReservationRequestType)(nil)).Elem()
 67203  }
 67204  
 67205  type ReconfigureVirtualMachineReservationResponse struct {
 67206  }
 67207  
 67208  // The parameters of `HostSystem.ReconnectHost_Task`.
 67209  type ReconnectHostRequestType struct {
 67210  	This ManagedObjectReference `xml:"_this" json:"-"`
 67211  	// Includes the parameters to use, including user name and password,
 67212  	// when reconnecting to the host. If this parameter is not specified,
 67213  	// the default connection parameters is used.
 67214  	CnxSpec *HostConnectSpec `xml:"cnxSpec,omitempty" json:"cnxSpec,omitempty"`
 67215  	// Includes connection parameters specific to
 67216  	// reconnect. This will mainly be used to indicate how to
 67217  	// handle divergence between the host settings and vCenter Server
 67218  	// settings when the host was disconnected.
 67219  	ReconnectSpec *HostSystemReconnectSpec `xml:"reconnectSpec,omitempty" json:"reconnectSpec,omitempty" vim:"5.0"`
 67220  }
 67221  
 67222  func init() {
 67223  	t["ReconnectHostRequestType"] = reflect.TypeOf((*ReconnectHostRequestType)(nil)).Elem()
 67224  }
 67225  
 67226  type ReconnectHost_Task ReconnectHostRequestType
 67227  
 67228  func init() {
 67229  	t["ReconnectHost_Task"] = reflect.TypeOf((*ReconnectHost_Task)(nil)).Elem()
 67230  }
 67231  
 67232  type ReconnectHost_TaskResponse struct {
 67233  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 67234  }
 67235  
 67236  // Deprecated as of vSphere API 6.0.
 67237  //
 67238  // Fault thrown if a record or replay operation cannot be performed
 67239  // because these capabilities have been disabled on the virtual machine.
 67240  type RecordReplayDisabled struct {
 67241  	VimFault
 67242  }
 67243  
 67244  func init() {
 67245  	t["RecordReplayDisabled"] = reflect.TypeOf((*RecordReplayDisabled)(nil)).Elem()
 67246  	minAPIVersionForType["RecordReplayDisabled"] = "4.0"
 67247  }
 67248  
 67249  type RecordReplayDisabledFault RecordReplayDisabled
 67250  
 67251  func init() {
 67252  	t["RecordReplayDisabledFault"] = reflect.TypeOf((*RecordReplayDisabledFault)(nil)).Elem()
 67253  }
 67254  
 67255  // This event is generated when recovery takes place on a management vmknic
 67256  type RecoveryEvent struct {
 67257  	DvsEvent
 67258  
 67259  	// The host on which recovery happened
 67260  	HostName string `xml:"hostName" json:"hostName"`
 67261  	// The key of the new port
 67262  	PortKey string `xml:"portKey" json:"portKey"`
 67263  	// The uuid of the DVS
 67264  	DvsUuid string `xml:"dvsUuid,omitempty" json:"dvsUuid,omitempty"`
 67265  	// The virtual management NIC device where recovery was done
 67266  	Vnic string `xml:"vnic,omitempty" json:"vnic,omitempty"`
 67267  }
 67268  
 67269  func init() {
 67270  	t["RecoveryEvent"] = reflect.TypeOf((*RecoveryEvent)(nil)).Elem()
 67271  	minAPIVersionForType["RecoveryEvent"] = "5.1"
 67272  }
 67273  
 67274  // The parameters of `DistributedVirtualSwitch.RectifyDvsHost_Task`.
 67275  type RectifyDvsHostRequestType struct {
 67276  	This ManagedObjectReference `xml:"_this" json:"-"`
 67277  	// The hosts to be rectified.
 67278  	//
 67279  	// Refers instances of `HostSystem`.
 67280  	Hosts []ManagedObjectReference `xml:"hosts,omitempty" json:"hosts,omitempty"`
 67281  }
 67282  
 67283  func init() {
 67284  	t["RectifyDvsHostRequestType"] = reflect.TypeOf((*RectifyDvsHostRequestType)(nil)).Elem()
 67285  }
 67286  
 67287  type RectifyDvsHost_Task RectifyDvsHostRequestType
 67288  
 67289  func init() {
 67290  	t["RectifyDvsHost_Task"] = reflect.TypeOf((*RectifyDvsHost_Task)(nil)).Elem()
 67291  }
 67292  
 67293  type RectifyDvsHost_TaskResponse struct {
 67294  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 67295  }
 67296  
 67297  // The parameters of `DistributedVirtualSwitchManager.RectifyDvsOnHost_Task`.
 67298  type RectifyDvsOnHostRequestType struct {
 67299  	This ManagedObjectReference `xml:"_this" json:"-"`
 67300  	// The hosts to be rectified.
 67301  	//
 67302  	// Refers instances of `HostSystem`.
 67303  	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
 67304  }
 67305  
 67306  func init() {
 67307  	t["RectifyDvsOnHostRequestType"] = reflect.TypeOf((*RectifyDvsOnHostRequestType)(nil)).Elem()
 67308  }
 67309  
 67310  type RectifyDvsOnHost_Task RectifyDvsOnHostRequestType
 67311  
 67312  func init() {
 67313  	t["RectifyDvsOnHost_Task"] = reflect.TypeOf((*RectifyDvsOnHost_Task)(nil)).Elem()
 67314  }
 67315  
 67316  type RectifyDvsOnHost_TaskResponse struct {
 67317  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 67318  }
 67319  
 67320  // The `RecurrentTaskScheduler` data object is the base type for
 67321  // the hierarchy that includes hourly, daily, weekly, and monthly task schedulers.
 67322  type RecurrentTaskScheduler struct {
 67323  	TaskScheduler
 67324  
 67325  	// How often to run the scheduled task.
 67326  	//
 67327  	// The value must be greater than
 67328  	// or equal to 1 and less than 1000. The default value is 1.
 67329  	// The interval acts as a multiplier for the unit of time associated
 67330  	// with a particular scheduler (hours, days, weeks, or months).
 67331  	// For example, setting the `HourlyTaskScheduler` interval
 67332  	// to 4 causes the task to run every 4 hours.
 67333  	Interval int32 `xml:"interval" json:"interval"`
 67334  }
 67335  
 67336  func init() {
 67337  	t["RecurrentTaskScheduler"] = reflect.TypeOf((*RecurrentTaskScheduler)(nil)).Elem()
 67338  }
 67339  
 67340  type Refresh RefreshRequestType
 67341  
 67342  func init() {
 67343  	t["Refresh"] = reflect.TypeOf((*Refresh)(nil)).Elem()
 67344  }
 67345  
 67346  type RefreshDVPortState RefreshDVPortStateRequestType
 67347  
 67348  func init() {
 67349  	t["RefreshDVPortState"] = reflect.TypeOf((*RefreshDVPortState)(nil)).Elem()
 67350  }
 67351  
 67352  // The parameters of `DistributedVirtualSwitch.RefreshDVPortState`.
 67353  type RefreshDVPortStateRequestType struct {
 67354  	This ManagedObjectReference `xml:"_this" json:"-"`
 67355  	// The keys of the ports to be refreshed. If not specified, all port
 67356  	// states are refreshed.
 67357  	PortKeys []string `xml:"portKeys,omitempty" json:"portKeys,omitempty"`
 67358  }
 67359  
 67360  func init() {
 67361  	t["RefreshDVPortStateRequestType"] = reflect.TypeOf((*RefreshDVPortStateRequestType)(nil)).Elem()
 67362  }
 67363  
 67364  type RefreshDVPortStateResponse struct {
 67365  }
 67366  
 67367  type RefreshDatastore RefreshDatastoreRequestType
 67368  
 67369  func init() {
 67370  	t["RefreshDatastore"] = reflect.TypeOf((*RefreshDatastore)(nil)).Elem()
 67371  }
 67372  
 67373  type RefreshDatastoreRequestType struct {
 67374  	This ManagedObjectReference `xml:"_this" json:"-"`
 67375  }
 67376  
 67377  func init() {
 67378  	t["RefreshDatastoreRequestType"] = reflect.TypeOf((*RefreshDatastoreRequestType)(nil)).Elem()
 67379  }
 67380  
 67381  type RefreshDatastoreResponse struct {
 67382  }
 67383  
 67384  type RefreshDatastoreStorageInfo RefreshDatastoreStorageInfoRequestType
 67385  
 67386  func init() {
 67387  	t["RefreshDatastoreStorageInfo"] = reflect.TypeOf((*RefreshDatastoreStorageInfo)(nil)).Elem()
 67388  }
 67389  
 67390  type RefreshDatastoreStorageInfoRequestType struct {
 67391  	This ManagedObjectReference `xml:"_this" json:"-"`
 67392  }
 67393  
 67394  func init() {
 67395  	t["RefreshDatastoreStorageInfoRequestType"] = reflect.TypeOf((*RefreshDatastoreStorageInfoRequestType)(nil)).Elem()
 67396  }
 67397  
 67398  type RefreshDatastoreStorageInfoResponse struct {
 67399  }
 67400  
 67401  type RefreshDateTimeSystem RefreshDateTimeSystemRequestType
 67402  
 67403  func init() {
 67404  	t["RefreshDateTimeSystem"] = reflect.TypeOf((*RefreshDateTimeSystem)(nil)).Elem()
 67405  }
 67406  
 67407  type RefreshDateTimeSystemRequestType struct {
 67408  	This ManagedObjectReference `xml:"_this" json:"-"`
 67409  }
 67410  
 67411  func init() {
 67412  	t["RefreshDateTimeSystemRequestType"] = reflect.TypeOf((*RefreshDateTimeSystemRequestType)(nil)).Elem()
 67413  }
 67414  
 67415  type RefreshDateTimeSystemResponse struct {
 67416  }
 67417  
 67418  type RefreshFirewall RefreshFirewallRequestType
 67419  
 67420  func init() {
 67421  	t["RefreshFirewall"] = reflect.TypeOf((*RefreshFirewall)(nil)).Elem()
 67422  }
 67423  
 67424  type RefreshFirewallRequestType struct {
 67425  	This ManagedObjectReference `xml:"_this" json:"-"`
 67426  }
 67427  
 67428  func init() {
 67429  	t["RefreshFirewallRequestType"] = reflect.TypeOf((*RefreshFirewallRequestType)(nil)).Elem()
 67430  }
 67431  
 67432  type RefreshFirewallResponse struct {
 67433  }
 67434  
 67435  type RefreshGraphicsManager RefreshGraphicsManagerRequestType
 67436  
 67437  func init() {
 67438  	t["RefreshGraphicsManager"] = reflect.TypeOf((*RefreshGraphicsManager)(nil)).Elem()
 67439  }
 67440  
 67441  type RefreshGraphicsManagerRequestType struct {
 67442  	This ManagedObjectReference `xml:"_this" json:"-"`
 67443  }
 67444  
 67445  func init() {
 67446  	t["RefreshGraphicsManagerRequestType"] = reflect.TypeOf((*RefreshGraphicsManagerRequestType)(nil)).Elem()
 67447  }
 67448  
 67449  type RefreshGraphicsManagerResponse struct {
 67450  }
 67451  
 67452  type RefreshHealthStatusSystem RefreshHealthStatusSystemRequestType
 67453  
 67454  func init() {
 67455  	t["RefreshHealthStatusSystem"] = reflect.TypeOf((*RefreshHealthStatusSystem)(nil)).Elem()
 67456  }
 67457  
 67458  type RefreshHealthStatusSystemRequestType struct {
 67459  	This ManagedObjectReference `xml:"_this" json:"-"`
 67460  }
 67461  
 67462  func init() {
 67463  	t["RefreshHealthStatusSystemRequestType"] = reflect.TypeOf((*RefreshHealthStatusSystemRequestType)(nil)).Elem()
 67464  }
 67465  
 67466  type RefreshHealthStatusSystemResponse struct {
 67467  }
 67468  
 67469  type RefreshNetworkSystem RefreshNetworkSystemRequestType
 67470  
 67471  func init() {
 67472  	t["RefreshNetworkSystem"] = reflect.TypeOf((*RefreshNetworkSystem)(nil)).Elem()
 67473  }
 67474  
 67475  type RefreshNetworkSystemRequestType struct {
 67476  	This ManagedObjectReference `xml:"_this" json:"-"`
 67477  }
 67478  
 67479  func init() {
 67480  	t["RefreshNetworkSystemRequestType"] = reflect.TypeOf((*RefreshNetworkSystemRequestType)(nil)).Elem()
 67481  }
 67482  
 67483  type RefreshNetworkSystemResponse struct {
 67484  }
 67485  
 67486  type RefreshRecommendation RefreshRecommendationRequestType
 67487  
 67488  func init() {
 67489  	t["RefreshRecommendation"] = reflect.TypeOf((*RefreshRecommendation)(nil)).Elem()
 67490  }
 67491  
 67492  type RefreshRecommendationRequestType struct {
 67493  	This ManagedObjectReference `xml:"_this" json:"-"`
 67494  }
 67495  
 67496  func init() {
 67497  	t["RefreshRecommendationRequestType"] = reflect.TypeOf((*RefreshRecommendationRequestType)(nil)).Elem()
 67498  }
 67499  
 67500  type RefreshRecommendationResponse struct {
 67501  }
 67502  
 67503  type RefreshRequestType struct {
 67504  	This ManagedObjectReference `xml:"_this" json:"-"`
 67505  }
 67506  
 67507  func init() {
 67508  	t["RefreshRequestType"] = reflect.TypeOf((*RefreshRequestType)(nil)).Elem()
 67509  }
 67510  
 67511  type RefreshResponse struct {
 67512  }
 67513  
 67514  type RefreshRuntime RefreshRuntimeRequestType
 67515  
 67516  func init() {
 67517  	t["RefreshRuntime"] = reflect.TypeOf((*RefreshRuntime)(nil)).Elem()
 67518  }
 67519  
 67520  type RefreshRuntimeRequestType struct {
 67521  	This ManagedObjectReference `xml:"_this" json:"-"`
 67522  }
 67523  
 67524  func init() {
 67525  	t["RefreshRuntimeRequestType"] = reflect.TypeOf((*RefreshRuntimeRequestType)(nil)).Elem()
 67526  }
 67527  
 67528  type RefreshRuntimeResponse struct {
 67529  }
 67530  
 67531  type RefreshServices RefreshServicesRequestType
 67532  
 67533  func init() {
 67534  	t["RefreshServices"] = reflect.TypeOf((*RefreshServices)(nil)).Elem()
 67535  }
 67536  
 67537  type RefreshServicesRequestType struct {
 67538  	This ManagedObjectReference `xml:"_this" json:"-"`
 67539  }
 67540  
 67541  func init() {
 67542  	t["RefreshServicesRequestType"] = reflect.TypeOf((*RefreshServicesRequestType)(nil)).Elem()
 67543  }
 67544  
 67545  type RefreshServicesResponse struct {
 67546  }
 67547  
 67548  type RefreshStorageDrsRecommendation RefreshStorageDrsRecommendationRequestType
 67549  
 67550  func init() {
 67551  	t["RefreshStorageDrsRecommendation"] = reflect.TypeOf((*RefreshStorageDrsRecommendation)(nil)).Elem()
 67552  }
 67553  
 67554  // The parameters of `StorageResourceManager.RefreshStorageDrsRecommendation`.
 67555  type RefreshStorageDrsRecommendationRequestType struct {
 67556  	This ManagedObjectReference `xml:"_this" json:"-"`
 67557  	// The storage pod.
 67558  	// The recommendations generated is stored at
 67559  	// `PodStorageDrsEntry.recommendation`.
 67560  	//
 67561  	// Refers instance of `StoragePod`.
 67562  	Pod ManagedObjectReference `xml:"pod" json:"pod"`
 67563  }
 67564  
 67565  func init() {
 67566  	t["RefreshStorageDrsRecommendationRequestType"] = reflect.TypeOf((*RefreshStorageDrsRecommendationRequestType)(nil)).Elem()
 67567  }
 67568  
 67569  type RefreshStorageDrsRecommendationResponse struct {
 67570  }
 67571  
 67572  // The parameters of `StorageResourceManager.RefreshStorageDrsRecommendationsForPod_Task`.
 67573  type RefreshStorageDrsRecommendationsForPodRequestType struct {
 67574  	This ManagedObjectReference `xml:"_this" json:"-"`
 67575  	// The storage pod.
 67576  	// The recommendations generated is stored at
 67577  	// `PodStorageDrsEntry.recommendation`.
 67578  	//
 67579  	// Refers instance of `StoragePod`.
 67580  	Pod ManagedObjectReference `xml:"pod" json:"pod"`
 67581  }
 67582  
 67583  func init() {
 67584  	t["RefreshStorageDrsRecommendationsForPodRequestType"] = reflect.TypeOf((*RefreshStorageDrsRecommendationsForPodRequestType)(nil)).Elem()
 67585  }
 67586  
 67587  type RefreshStorageDrsRecommendationsForPod_Task RefreshStorageDrsRecommendationsForPodRequestType
 67588  
 67589  func init() {
 67590  	t["RefreshStorageDrsRecommendationsForPod_Task"] = reflect.TypeOf((*RefreshStorageDrsRecommendationsForPod_Task)(nil)).Elem()
 67591  }
 67592  
 67593  type RefreshStorageDrsRecommendationsForPod_TaskResponse struct {
 67594  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 67595  }
 67596  
 67597  type RefreshStorageInfo RefreshStorageInfoRequestType
 67598  
 67599  func init() {
 67600  	t["RefreshStorageInfo"] = reflect.TypeOf((*RefreshStorageInfo)(nil)).Elem()
 67601  }
 67602  
 67603  type RefreshStorageInfoRequestType struct {
 67604  	This ManagedObjectReference `xml:"_this" json:"-"`
 67605  }
 67606  
 67607  func init() {
 67608  	t["RefreshStorageInfoRequestType"] = reflect.TypeOf((*RefreshStorageInfoRequestType)(nil)).Elem()
 67609  }
 67610  
 67611  type RefreshStorageInfoResponse struct {
 67612  }
 67613  
 67614  type RefreshStorageSystem RefreshStorageSystemRequestType
 67615  
 67616  func init() {
 67617  	t["RefreshStorageSystem"] = reflect.TypeOf((*RefreshStorageSystem)(nil)).Elem()
 67618  }
 67619  
 67620  type RefreshStorageSystemRequestType struct {
 67621  	This ManagedObjectReference `xml:"_this" json:"-"`
 67622  }
 67623  
 67624  func init() {
 67625  	t["RefreshStorageSystemRequestType"] = reflect.TypeOf((*RefreshStorageSystemRequestType)(nil)).Elem()
 67626  }
 67627  
 67628  type RefreshStorageSystemResponse struct {
 67629  }
 67630  
 67631  // The parameters of `ResourcePool.RegisterChildVM_Task`.
 67632  type RegisterChildVMRequestType struct {
 67633  	This ManagedObjectReference `xml:"_this" json:"-"`
 67634  	// A datastore path to the virtual machine. If the path ends with
 67635  	// ".vmtx", indicating that it refers to a VM template, an InvalidArgument
 67636  	// fault is thrown.
 67637  	Path string `xml:"path" json:"path"`
 67638  	// The name to be assigned to the virtual machine. If this parameter is
 67639  	// not set, the displayName configuration parameter of the virtual machine is
 67640  	// used. An entity name must be a non-empty string of less than 80
 67641  	// characters. The slash (/), backslash (\\) and percent (%) will be
 67642  	// escaped using the URL syntax. For example, %2F.
 67643  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 67644  	// The target host on which the virtual machine will run. This parameter
 67645  	// must specify a host that is a member of the ComputeResource to which this
 67646  	// resource pool belongs. For a stand-alone host or a cluster with DRS,
 67647  	// the parameter can be omitted, and the system selects a default.
 67648  	//
 67649  	// Refers instance of `HostSystem`.
 67650  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 67651  }
 67652  
 67653  func init() {
 67654  	t["RegisterChildVMRequestType"] = reflect.TypeOf((*RegisterChildVMRequestType)(nil)).Elem()
 67655  }
 67656  
 67657  type RegisterChildVM_Task RegisterChildVMRequestType
 67658  
 67659  func init() {
 67660  	t["RegisterChildVM_Task"] = reflect.TypeOf((*RegisterChildVM_Task)(nil)).Elem()
 67661  }
 67662  
 67663  type RegisterChildVM_TaskResponse struct {
 67664  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 67665  }
 67666  
 67667  type RegisterDisk RegisterDiskRequestType
 67668  
 67669  func init() {
 67670  	t["RegisterDisk"] = reflect.TypeOf((*RegisterDisk)(nil)).Elem()
 67671  }
 67672  
 67673  // The parameters of `VcenterVStorageObjectManager.RegisterDisk`.
 67674  type RegisterDiskRequestType struct {
 67675  	This ManagedObjectReference `xml:"_this" json:"-"`
 67676  	// URL path to the virtual disk.
 67677  	Path string `xml:"path" json:"path"`
 67678  	// The descriptive name of the disk object. If
 67679  	// unset the name will be automatically determined
 67680  	// from the path. @see vim.vslm.BaseConfigInfo#name
 67681  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 67682  }
 67683  
 67684  func init() {
 67685  	t["RegisterDiskRequestType"] = reflect.TypeOf((*RegisterDiskRequestType)(nil)).Elem()
 67686  }
 67687  
 67688  type RegisterDiskResponse struct {
 67689  	Returnval VStorageObject `xml:"returnval" json:"returnval"`
 67690  }
 67691  
 67692  type RegisterExtension RegisterExtensionRequestType
 67693  
 67694  func init() {
 67695  	t["RegisterExtension"] = reflect.TypeOf((*RegisterExtension)(nil)).Elem()
 67696  }
 67697  
 67698  // The parameters of `ExtensionManager.RegisterExtension`.
 67699  type RegisterExtensionRequestType struct {
 67700  	This ManagedObjectReference `xml:"_this" json:"-"`
 67701  	// Extension description to register.
 67702  	Extension Extension `xml:"extension" json:"extension"`
 67703  }
 67704  
 67705  func init() {
 67706  	t["RegisterExtensionRequestType"] = reflect.TypeOf((*RegisterExtensionRequestType)(nil)).Elem()
 67707  }
 67708  
 67709  type RegisterExtensionResponse struct {
 67710  }
 67711  
 67712  type RegisterHealthUpdateProvider RegisterHealthUpdateProviderRequestType
 67713  
 67714  func init() {
 67715  	t["RegisterHealthUpdateProvider"] = reflect.TypeOf((*RegisterHealthUpdateProvider)(nil)).Elem()
 67716  }
 67717  
 67718  // The parameters of `HealthUpdateManager.RegisterHealthUpdateProvider`.
 67719  type RegisterHealthUpdateProviderRequestType struct {
 67720  	This ManagedObjectReference `xml:"_this" json:"-"`
 67721  	// The provider name. Should follow Java package
 67722  	// naming convention to minimize name clashes with
 67723  	// currently registered providers.
 67724  	// For example, "com.vmware.HealthUpdateProvider".
 67725  	Name string `xml:"name" json:"name"`
 67726  	// The list of healthUpdateInfo that can be
 67727  	// reported in healthUpdates.
 67728  	HealthUpdateInfo []HealthUpdateInfo `xml:"healthUpdateInfo,omitempty" json:"healthUpdateInfo,omitempty"`
 67729  }
 67730  
 67731  func init() {
 67732  	t["RegisterHealthUpdateProviderRequestType"] = reflect.TypeOf((*RegisterHealthUpdateProviderRequestType)(nil)).Elem()
 67733  }
 67734  
 67735  type RegisterHealthUpdateProviderResponse struct {
 67736  	Returnval string `xml:"returnval" json:"returnval"`
 67737  }
 67738  
 67739  type RegisterKmipServer RegisterKmipServerRequestType
 67740  
 67741  func init() {
 67742  	t["RegisterKmipServer"] = reflect.TypeOf((*RegisterKmipServer)(nil)).Elem()
 67743  }
 67744  
 67745  // The parameters of `CryptoManagerKmip.RegisterKmipServer`.
 67746  type RegisterKmipServerRequestType struct {
 67747  	This ManagedObjectReference `xml:"_this" json:"-"`
 67748  	// \[in\] KMIP server connection information.
 67749  	Server KmipServerSpec `xml:"server" json:"server"`
 67750  }
 67751  
 67752  func init() {
 67753  	t["RegisterKmipServerRequestType"] = reflect.TypeOf((*RegisterKmipServerRequestType)(nil)).Elem()
 67754  }
 67755  
 67756  type RegisterKmipServerResponse struct {
 67757  }
 67758  
 67759  type RegisterKmsCluster RegisterKmsClusterRequestType
 67760  
 67761  func init() {
 67762  	t["RegisterKmsCluster"] = reflect.TypeOf((*RegisterKmsCluster)(nil)).Elem()
 67763  }
 67764  
 67765  // The parameters of `CryptoManagerKmip.RegisterKmsCluster`.
 67766  type RegisterKmsClusterRequestType struct {
 67767  	This ManagedObjectReference `xml:"_this" json:"-"`
 67768  	// \[in\] KMS cluster ID to register.
 67769  	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
 67770  	// \[in\] Key provider management type
 67771  	// See `KmipClusterInfoKmsManagementType_enum`
 67772  	// for valid values.
 67773  	// By default trustAuthority.
 67774  	ManagementType string `xml:"managementType,omitempty" json:"managementType,omitempty"`
 67775  }
 67776  
 67777  func init() {
 67778  	t["RegisterKmsClusterRequestType"] = reflect.TypeOf((*RegisterKmsClusterRequestType)(nil)).Elem()
 67779  }
 67780  
 67781  type RegisterKmsClusterResponse struct {
 67782  }
 67783  
 67784  // The parameters of `Folder.RegisterVM_Task`.
 67785  type RegisterVMRequestType struct {
 67786  	This ManagedObjectReference `xml:"_this" json:"-"`
 67787  	// A datastore path to the virtual machine.
 67788  	Path string `xml:"path" json:"path"`
 67789  	// The name to be assigned to the virtual machine. If this parameter is
 67790  	// not set, the displayName configuration parameter of the virtual machine is
 67791  	// used. An entity name must be a non-empty string of less than 80
 67792  	// characters. The slash (/), backslash (\\) and percent (%) will be
 67793  	// escaped using the URL syntax. For example, %2F.
 67794  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 67795  	// Flag to specify whether or not the virtual machine
 67796  	// should be marked as a template.
 67797  	AsTemplate bool `xml:"asTemplate" json:"asTemplate"`
 67798  	// The resource pool to which the virtual machine should be attached.
 67799  	// If imported as a template, this parameter is not set.
 67800  	//
 67801  	// Required privileges: Resource.AssignVMToPool
 67802  	//
 67803  	// Refers instance of `ResourcePool`.
 67804  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
 67805  	// The target host on which the virtual machine will run. This parameter
 67806  	// must specify a host that is a member of the ComputeResource indirectly
 67807  	// specified by the pool. For a stand-alone host or a cluster,
 67808  	// the parameter can be omitted, and the system selects a default.
 67809  	//
 67810  	// Refers instance of `HostSystem`.
 67811  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 67812  }
 67813  
 67814  func init() {
 67815  	t["RegisterVMRequestType"] = reflect.TypeOf((*RegisterVMRequestType)(nil)).Elem()
 67816  }
 67817  
 67818  type RegisterVM_Task RegisterVMRequestType
 67819  
 67820  func init() {
 67821  	t["RegisterVM_Task"] = reflect.TypeOf((*RegisterVM_Task)(nil)).Elem()
 67822  }
 67823  
 67824  type RegisterVM_TaskResponse struct {
 67825  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 67826  }
 67827  
 67828  type Relation struct {
 67829  	DynamicData
 67830  
 67831  	// If contraint is not set, the relation holds for all versions.
 67832  	//
 67833  	// and if a constraint is defined it will be one of
 67834  	// `SoftwarePackageConstraint_enum`.
 67835  	Constraint string `xml:"constraint,omitempty" json:"constraint,omitempty"`
 67836  	Name       string `xml:"name" json:"name"`
 67837  	Version    string `xml:"version,omitempty" json:"version,omitempty"`
 67838  }
 67839  
 67840  func init() {
 67841  	t["Relation"] = reflect.TypeOf((*Relation)(nil)).Elem()
 67842  }
 67843  
 67844  type ReleaseCredentialsInGuest ReleaseCredentialsInGuestRequestType
 67845  
 67846  func init() {
 67847  	t["ReleaseCredentialsInGuest"] = reflect.TypeOf((*ReleaseCredentialsInGuest)(nil)).Elem()
 67848  }
 67849  
 67850  // The parameters of `GuestAuthManager.ReleaseCredentialsInGuest`.
 67851  type ReleaseCredentialsInGuestRequestType struct {
 67852  	This ManagedObjectReference `xml:"_this" json:"-"`
 67853  	// MoRef of the VM to perform the operation on.
 67854  	//
 67855  	// Required privileges: VirtualMachine.GuestOperations.Query
 67856  	//
 67857  	// Refers instance of `VirtualMachine`.
 67858  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 67859  	// The guest authentication data. See
 67860  	// `GuestAuthentication`.
 67861  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 67862  }
 67863  
 67864  func init() {
 67865  	t["ReleaseCredentialsInGuestRequestType"] = reflect.TypeOf((*ReleaseCredentialsInGuestRequestType)(nil)).Elem()
 67866  }
 67867  
 67868  type ReleaseCredentialsInGuestResponse struct {
 67869  }
 67870  
 67871  type ReleaseIpAllocation ReleaseIpAllocationRequestType
 67872  
 67873  func init() {
 67874  	t["ReleaseIpAllocation"] = reflect.TypeOf((*ReleaseIpAllocation)(nil)).Elem()
 67875  }
 67876  
 67877  // The parameters of `IpPoolManager.ReleaseIpAllocation`.
 67878  type ReleaseIpAllocationRequestType struct {
 67879  	This ManagedObjectReference `xml:"_this" json:"-"`
 67880  	// The datacenter on which to find the pool
 67881  	//
 67882  	// Required privileges: Datacenter.IpPoolReleaseIp
 67883  	//
 67884  	// Refers instance of `Datacenter`.
 67885  	Dc ManagedObjectReference `xml:"dc" json:"dc"`
 67886  	// The unique ID of the pool
 67887  	PoolId int32 `xml:"poolId" json:"poolId"`
 67888  	// The unique ID for this allocation
 67889  	AllocationId string `xml:"allocationId" json:"allocationId"`
 67890  }
 67891  
 67892  func init() {
 67893  	t["ReleaseIpAllocationRequestType"] = reflect.TypeOf((*ReleaseIpAllocationRequestType)(nil)).Elem()
 67894  }
 67895  
 67896  type ReleaseIpAllocationResponse struct {
 67897  }
 67898  
 67899  type ReleaseManagedSnapshot ReleaseManagedSnapshotRequestType
 67900  
 67901  func init() {
 67902  	t["ReleaseManagedSnapshot"] = reflect.TypeOf((*ReleaseManagedSnapshot)(nil)).Elem()
 67903  }
 67904  
 67905  // The parameters of `VirtualDiskManager.ReleaseManagedSnapshot`.
 67906  type ReleaseManagedSnapshotRequestType struct {
 67907  	This ManagedObjectReference `xml:"_this" json:"-"`
 67908  	// \- The name of the disk to release, either a datastore path or a URL
 67909  	// referring to the virtual disk.
 67910  	Vdisk string `xml:"vdisk" json:"vdisk"`
 67911  	// If <code>vdisk</code> is a datastore path, the datacenter for
 67912  	// that datastore path. Not needed when invoked directly on ESX.
 67913  	// If not specified on a call to VirtualCenter,
 67914  	// <code>vdisk</code> must be a URL.
 67915  	//
 67916  	// Refers instance of `Datacenter`.
 67917  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 67918  }
 67919  
 67920  func init() {
 67921  	t["ReleaseManagedSnapshotRequestType"] = reflect.TypeOf((*ReleaseManagedSnapshotRequestType)(nil)).Elem()
 67922  }
 67923  
 67924  type ReleaseManagedSnapshotResponse struct {
 67925  }
 67926  
 67927  type Reload ReloadRequestType
 67928  
 67929  func init() {
 67930  	t["Reload"] = reflect.TypeOf((*Reload)(nil)).Elem()
 67931  }
 67932  
 67933  type ReloadRequestType struct {
 67934  	This ManagedObjectReference `xml:"_this" json:"-"`
 67935  }
 67936  
 67937  func init() {
 67938  	t["ReloadRequestType"] = reflect.TypeOf((*ReloadRequestType)(nil)).Elem()
 67939  }
 67940  
 67941  type ReloadResponse struct {
 67942  }
 67943  
 67944  // The parameters of `VirtualMachine.RelocateVM_Task`.
 67945  type RelocateVMRequestType struct {
 67946  	This ManagedObjectReference `xml:"_this" json:"-"`
 67947  	// The specification of where to relocate the virtual machine
 67948  	// (see `VirtualMachineRelocateSpec`).
 67949  	Spec VirtualMachineRelocateSpec `xml:"spec" json:"spec"`
 67950  	// The task priority
 67951  	// (see `VirtualMachineMovePriority_enum`).
 67952  	Priority VirtualMachineMovePriority `xml:"priority,omitempty" json:"priority,omitempty" vim:"4.0"`
 67953  }
 67954  
 67955  func init() {
 67956  	t["RelocateVMRequestType"] = reflect.TypeOf((*RelocateVMRequestType)(nil)).Elem()
 67957  }
 67958  
 67959  type RelocateVM_Task RelocateVMRequestType
 67960  
 67961  func init() {
 67962  	t["RelocateVM_Task"] = reflect.TypeOf((*RelocateVM_Task)(nil)).Elem()
 67963  }
 67964  
 67965  type RelocateVM_TaskResponse struct {
 67966  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 67967  }
 67968  
 67969  // The parameters of `VcenterVStorageObjectManager.RelocateVStorageObject_Task`.
 67970  type RelocateVStorageObjectRequestType struct {
 67971  	This ManagedObjectReference `xml:"_this" json:"-"`
 67972  	// The ID of the virtual storage object.
 67973  	Id ID `xml:"id" json:"id"`
 67974  	// The datastore where the source virtual storage object
 67975  	// is located.
 67976  	//
 67977  	// Refers instance of `Datastore`.
 67978  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 67979  	// The specification for relocation of the virtual
 67980  	// storage object.
 67981  	Spec VslmRelocateSpec `xml:"spec" json:"spec"`
 67982  }
 67983  
 67984  func init() {
 67985  	t["RelocateVStorageObjectRequestType"] = reflect.TypeOf((*RelocateVStorageObjectRequestType)(nil)).Elem()
 67986  }
 67987  
 67988  type RelocateVStorageObject_Task RelocateVStorageObjectRequestType
 67989  
 67990  func init() {
 67991  	t["RelocateVStorageObject_Task"] = reflect.TypeOf((*RelocateVStorageObject_Task)(nil)).Elem()
 67992  }
 67993  
 67994  type RelocateVStorageObject_TaskResponse struct {
 67995  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 67996  }
 67997  
 67998  // The virtual machine has a currently connected device with a remote backing.
 67999  //
 68000  // This is an error when migrating a powered-on virtual machine, and can be returned
 68001  // as a subfault of DisallowedMigrationDeviceAttached.
 68002  type RemoteDeviceNotSupported struct {
 68003  	DeviceNotSupported
 68004  }
 68005  
 68006  func init() {
 68007  	t["RemoteDeviceNotSupported"] = reflect.TypeOf((*RemoteDeviceNotSupported)(nil)).Elem()
 68008  }
 68009  
 68010  type RemoteDeviceNotSupportedFault RemoteDeviceNotSupported
 68011  
 68012  func init() {
 68013  	t["RemoteDeviceNotSupportedFault"] = reflect.TypeOf((*RemoteDeviceNotSupportedFault)(nil)).Elem()
 68014  }
 68015  
 68016  // Remote Tech Support Mode for the host has been enabled.
 68017  type RemoteTSMEnabledEvent struct {
 68018  	HostEvent
 68019  }
 68020  
 68021  func init() {
 68022  	t["RemoteTSMEnabledEvent"] = reflect.TypeOf((*RemoteTSMEnabledEvent)(nil)).Elem()
 68023  	minAPIVersionForType["RemoteTSMEnabledEvent"] = "4.1"
 68024  }
 68025  
 68026  type RemoveAlarm RemoveAlarmRequestType
 68027  
 68028  func init() {
 68029  	t["RemoveAlarm"] = reflect.TypeOf((*RemoveAlarm)(nil)).Elem()
 68030  }
 68031  
 68032  type RemoveAlarmRequestType struct {
 68033  	This ManagedObjectReference `xml:"_this" json:"-"`
 68034  }
 68035  
 68036  func init() {
 68037  	t["RemoveAlarmRequestType"] = reflect.TypeOf((*RemoveAlarmRequestType)(nil)).Elem()
 68038  }
 68039  
 68040  type RemoveAlarmResponse struct {
 68041  }
 68042  
 68043  // The parameters of `VirtualMachine.RemoveAllSnapshots_Task`.
 68044  type RemoveAllSnapshotsRequestType struct {
 68045  	This ManagedObjectReference `xml:"_this" json:"-"`
 68046  	// (optional) If set to true, the virtual disks of the deleted
 68047  	// snapshot will be merged with other disk if possible. Default to true.
 68048  	Consolidate *bool `xml:"consolidate" json:"consolidate,omitempty" vim:"5.0"`
 68049  }
 68050  
 68051  func init() {
 68052  	t["RemoveAllSnapshotsRequestType"] = reflect.TypeOf((*RemoveAllSnapshotsRequestType)(nil)).Elem()
 68053  }
 68054  
 68055  type RemoveAllSnapshots_Task RemoveAllSnapshotsRequestType
 68056  
 68057  func init() {
 68058  	t["RemoveAllSnapshots_Task"] = reflect.TypeOf((*RemoveAllSnapshots_Task)(nil)).Elem()
 68059  }
 68060  
 68061  type RemoveAllSnapshots_TaskResponse struct {
 68062  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 68063  }
 68064  
 68065  type RemoveAssignedLicense RemoveAssignedLicenseRequestType
 68066  
 68067  func init() {
 68068  	t["RemoveAssignedLicense"] = reflect.TypeOf((*RemoveAssignedLicense)(nil)).Elem()
 68069  }
 68070  
 68071  // The parameters of `LicenseAssignmentManager.RemoveAssignedLicense`.
 68072  type RemoveAssignedLicenseRequestType struct {
 68073  	This ManagedObjectReference `xml:"_this" json:"-"`
 68074  	// ID of the entity. E.g. HostSystem.
 68075  	EntityId string `xml:"entityId" json:"entityId"`
 68076  }
 68077  
 68078  func init() {
 68079  	t["RemoveAssignedLicenseRequestType"] = reflect.TypeOf((*RemoveAssignedLicenseRequestType)(nil)).Elem()
 68080  }
 68081  
 68082  type RemoveAssignedLicenseResponse struct {
 68083  }
 68084  
 68085  type RemoveAuthorizationRole RemoveAuthorizationRoleRequestType
 68086  
 68087  func init() {
 68088  	t["RemoveAuthorizationRole"] = reflect.TypeOf((*RemoveAuthorizationRole)(nil)).Elem()
 68089  }
 68090  
 68091  // The parameters of `AuthorizationManager.RemoveAuthorizationRole`.
 68092  type RemoveAuthorizationRoleRequestType struct {
 68093  	This   ManagedObjectReference `xml:"_this" json:"-"`
 68094  	RoleId int32                  `xml:"roleId" json:"roleId"`
 68095  	// If true, prevents the role from being
 68096  	// removed if any permissions are using it.
 68097  	FailIfUsed bool `xml:"failIfUsed" json:"failIfUsed"`
 68098  }
 68099  
 68100  func init() {
 68101  	t["RemoveAuthorizationRoleRequestType"] = reflect.TypeOf((*RemoveAuthorizationRoleRequestType)(nil)).Elem()
 68102  }
 68103  
 68104  type RemoveAuthorizationRoleResponse struct {
 68105  }
 68106  
 68107  type RemoveCustomFieldDef RemoveCustomFieldDefRequestType
 68108  
 68109  func init() {
 68110  	t["RemoveCustomFieldDef"] = reflect.TypeOf((*RemoveCustomFieldDef)(nil)).Elem()
 68111  }
 68112  
 68113  // The parameters of `CustomFieldsManager.RemoveCustomFieldDef`.
 68114  type RemoveCustomFieldDefRequestType struct {
 68115  	This ManagedObjectReference `xml:"_this" json:"-"`
 68116  	// The unique key for the field definition.
 68117  	Key int32 `xml:"key" json:"key"`
 68118  }
 68119  
 68120  func init() {
 68121  	t["RemoveCustomFieldDefRequestType"] = reflect.TypeOf((*RemoveCustomFieldDefRequestType)(nil)).Elem()
 68122  }
 68123  
 68124  type RemoveCustomFieldDefResponse struct {
 68125  }
 68126  
 68127  type RemoveDatastore RemoveDatastoreRequestType
 68128  
 68129  func init() {
 68130  	t["RemoveDatastore"] = reflect.TypeOf((*RemoveDatastore)(nil)).Elem()
 68131  }
 68132  
 68133  // The parameters of `HostDatastoreSystem.RemoveDatastoreEx_Task`.
 68134  type RemoveDatastoreExRequestType struct {
 68135  	This ManagedObjectReference `xml:"_this" json:"-"`
 68136  	// each element specifies one datastore to be removed.
 68137  	//
 68138  	// Refers instances of `Datastore`.
 68139  	Datastore []ManagedObjectReference `xml:"datastore" json:"datastore"`
 68140  }
 68141  
 68142  func init() {
 68143  	t["RemoveDatastoreExRequestType"] = reflect.TypeOf((*RemoveDatastoreExRequestType)(nil)).Elem()
 68144  }
 68145  
 68146  type RemoveDatastoreEx_Task RemoveDatastoreExRequestType
 68147  
 68148  func init() {
 68149  	t["RemoveDatastoreEx_Task"] = reflect.TypeOf((*RemoveDatastoreEx_Task)(nil)).Elem()
 68150  }
 68151  
 68152  type RemoveDatastoreEx_TaskResponse struct {
 68153  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 68154  }
 68155  
 68156  // The parameters of `HostDatastoreSystem.RemoveDatastore`.
 68157  type RemoveDatastoreRequestType struct {
 68158  	This ManagedObjectReference `xml:"_this" json:"-"`
 68159  	// The datastore to be removed.
 68160  	//
 68161  	// Refers instance of `Datastore`.
 68162  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 68163  }
 68164  
 68165  func init() {
 68166  	t["RemoveDatastoreRequestType"] = reflect.TypeOf((*RemoveDatastoreRequestType)(nil)).Elem()
 68167  }
 68168  
 68169  type RemoveDatastoreResponse struct {
 68170  }
 68171  
 68172  // The parameters of `HostVsanSystem.RemoveDiskMapping_Task`.
 68173  type RemoveDiskMappingRequestType struct {
 68174  	This ManagedObjectReference `xml:"_this" json:"-"`
 68175  	// list of disk mappings to be removed from VSAN usage.
 68176  	Mapping []VsanHostDiskMapping `xml:"mapping" json:"mapping"`
 68177  	// Any additional actions to move data out of the disk
 68178  	// before removing it. See `HostMaintenanceSpec`.
 68179  	// If unspecified, there is no action taken to move
 68180  	// data from the disk.
 68181  	MaintenanceSpec *HostMaintenanceSpec `xml:"maintenanceSpec,omitempty" json:"maintenanceSpec,omitempty" vim:"6.0"`
 68182  	// Time to wait for the task to complete in seconds.
 68183  	// If the value is less than or equal to zero, there
 68184  	// is no timeout. The operation fails with a Timedout
 68185  	// exception if it timed out.
 68186  	Timeout int32 `xml:"timeout,omitempty" json:"timeout,omitempty" vim:"6.0"`
 68187  }
 68188  
 68189  func init() {
 68190  	t["RemoveDiskMappingRequestType"] = reflect.TypeOf((*RemoveDiskMappingRequestType)(nil)).Elem()
 68191  }
 68192  
 68193  type RemoveDiskMapping_Task RemoveDiskMappingRequestType
 68194  
 68195  func init() {
 68196  	t["RemoveDiskMapping_Task"] = reflect.TypeOf((*RemoveDiskMapping_Task)(nil)).Elem()
 68197  }
 68198  
 68199  type RemoveDiskMapping_TaskResponse struct {
 68200  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 68201  }
 68202  
 68203  // The parameters of `HostVsanSystem.RemoveDisk_Task`.
 68204  type RemoveDiskRequestType struct {
 68205  	This ManagedObjectReference `xml:"_this" json:"-"`
 68206  	// list of disks to be removed from use by the VSAN service.
 68207  	Disk []HostScsiDisk `xml:"disk" json:"disk"`
 68208  	// Any additional actions to move data out of the disk
 68209  	// before removing it. See `HostMaintenanceSpec`.
 68210  	// If unspecified, there is no action taken to move
 68211  	// data from the disk.
 68212  	MaintenanceSpec *HostMaintenanceSpec `xml:"maintenanceSpec,omitempty" json:"maintenanceSpec,omitempty" vim:"6.0"`
 68213  	// Time to wait for the task to complete in seconds.
 68214  	// If the value is less than or equal to zero, there
 68215  	// is no timeout. The operation fails with a Timedout
 68216  	// exception if it timed out.
 68217  	Timeout int32 `xml:"timeout,omitempty" json:"timeout,omitempty" vim:"6.0"`
 68218  }
 68219  
 68220  func init() {
 68221  	t["RemoveDiskRequestType"] = reflect.TypeOf((*RemoveDiskRequestType)(nil)).Elem()
 68222  }
 68223  
 68224  type RemoveDisk_Task RemoveDiskRequestType
 68225  
 68226  func init() {
 68227  	t["RemoveDisk_Task"] = reflect.TypeOf((*RemoveDisk_Task)(nil)).Elem()
 68228  }
 68229  
 68230  type RemoveDisk_TaskResponse struct {
 68231  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 68232  }
 68233  
 68234  type RemoveEntityPermission RemoveEntityPermissionRequestType
 68235  
 68236  func init() {
 68237  	t["RemoveEntityPermission"] = reflect.TypeOf((*RemoveEntityPermission)(nil)).Elem()
 68238  }
 68239  
 68240  // The parameters of `AuthorizationManager.RemoveEntityPermission`.
 68241  type RemoveEntityPermissionRequestType struct {
 68242  	This ManagedObjectReference `xml:"_this" json:"-"`
 68243  	// Entity on which a permission is removed.
 68244  	//
 68245  	// Required privileges: Authorization.ModifyPermissions
 68246  	//
 68247  	// Refers instance of `ManagedEntity`.
 68248  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 68249  	// User or group for which the permission is defined.
 68250  	User string `xml:"user" json:"user"`
 68251  	// True, if user refers to a group name; false, for a user name.
 68252  	IsGroup bool `xml:"isGroup" json:"isGroup"`
 68253  }
 68254  
 68255  func init() {
 68256  	t["RemoveEntityPermissionRequestType"] = reflect.TypeOf((*RemoveEntityPermissionRequestType)(nil)).Elem()
 68257  }
 68258  
 68259  type RemoveEntityPermissionResponse struct {
 68260  }
 68261  
 68262  // This fault is thrown when the client attempts to remove an object that has
 68263  // active related objects (for example, a role that has active permissions).
 68264  type RemoveFailed struct {
 68265  	VimFault
 68266  }
 68267  
 68268  func init() {
 68269  	t["RemoveFailed"] = reflect.TypeOf((*RemoveFailed)(nil)).Elem()
 68270  }
 68271  
 68272  type RemoveFailedFault RemoveFailed
 68273  
 68274  func init() {
 68275  	t["RemoveFailedFault"] = reflect.TypeOf((*RemoveFailedFault)(nil)).Elem()
 68276  }
 68277  
 68278  type RemoveFilter RemoveFilterRequestType
 68279  
 68280  func init() {
 68281  	t["RemoveFilter"] = reflect.TypeOf((*RemoveFilter)(nil)).Elem()
 68282  }
 68283  
 68284  type RemoveFilterEntities RemoveFilterEntitiesRequestType
 68285  
 68286  func init() {
 68287  	t["RemoveFilterEntities"] = reflect.TypeOf((*RemoveFilterEntities)(nil)).Elem()
 68288  }
 68289  
 68290  // The parameters of `HealthUpdateManager.RemoveFilterEntities`.
 68291  type RemoveFilterEntitiesRequestType struct {
 68292  	This ManagedObjectReference `xml:"_this" json:"-"`
 68293  	// The filter id.
 68294  	FilterId string `xml:"filterId" json:"filterId"`
 68295  	// The list of removed managed entities.
 68296  	//
 68297  	// Refers instances of `ManagedEntity`.
 68298  	Entities []ManagedObjectReference `xml:"entities,omitempty" json:"entities,omitempty"`
 68299  }
 68300  
 68301  func init() {
 68302  	t["RemoveFilterEntitiesRequestType"] = reflect.TypeOf((*RemoveFilterEntitiesRequestType)(nil)).Elem()
 68303  }
 68304  
 68305  type RemoveFilterEntitiesResponse struct {
 68306  }
 68307  
 68308  // The parameters of `HealthUpdateManager.RemoveFilter`.
 68309  type RemoveFilterRequestType struct {
 68310  	This ManagedObjectReference `xml:"_this" json:"-"`
 68311  	// The filter id.
 68312  	FilterId string `xml:"filterId" json:"filterId"`
 68313  }
 68314  
 68315  func init() {
 68316  	t["RemoveFilterRequestType"] = reflect.TypeOf((*RemoveFilterRequestType)(nil)).Elem()
 68317  }
 68318  
 68319  type RemoveFilterResponse struct {
 68320  }
 68321  
 68322  type RemoveGroup RemoveGroupRequestType
 68323  
 68324  func init() {
 68325  	t["RemoveGroup"] = reflect.TypeOf((*RemoveGroup)(nil)).Elem()
 68326  }
 68327  
 68328  // The parameters of `HostLocalAccountManager.RemoveGroup`.
 68329  type RemoveGroupRequestType struct {
 68330  	This ManagedObjectReference `xml:"_this" json:"-"`
 68331  	// Group ID of the group account being removed.
 68332  	GroupName string `xml:"groupName" json:"groupName"`
 68333  }
 68334  
 68335  func init() {
 68336  	t["RemoveGroupRequestType"] = reflect.TypeOf((*RemoveGroupRequestType)(nil)).Elem()
 68337  }
 68338  
 68339  type RemoveGroupResponse struct {
 68340  }
 68341  
 68342  type RemoveGuestAlias RemoveGuestAliasRequestType
 68343  
 68344  func init() {
 68345  	t["RemoveGuestAlias"] = reflect.TypeOf((*RemoveGuestAlias)(nil)).Elem()
 68346  }
 68347  
 68348  type RemoveGuestAliasByCert RemoveGuestAliasByCertRequestType
 68349  
 68350  func init() {
 68351  	t["RemoveGuestAliasByCert"] = reflect.TypeOf((*RemoveGuestAliasByCert)(nil)).Elem()
 68352  }
 68353  
 68354  // The parameters of `GuestAliasManager.RemoveGuestAliasByCert`.
 68355  type RemoveGuestAliasByCertRequestType struct {
 68356  	This ManagedObjectReference `xml:"_this" json:"-"`
 68357  	// Virtual machine to perform the operation on.
 68358  	//
 68359  	// Required privileges: VirtualMachine.GuestOperations.ModifyAliases
 68360  	//
 68361  	// Refers instance of `VirtualMachine`.
 68362  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 68363  	// The guest authentication data for this operation. See
 68364  	// `GuestAuthentication`. These credentials must satisfy
 68365  	// authentication requirements
 68366  	// for a guest account on the specified virtual machine.
 68367  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 68368  	// Username for the guest account on the virtual machine.
 68369  	Username string `xml:"username" json:"username"`
 68370  	// The X.509 certificate to be removed, in base64
 68371  	// encoded DER format.
 68372  	Base64Cert string `xml:"base64Cert" json:"base64Cert"`
 68373  }
 68374  
 68375  func init() {
 68376  	t["RemoveGuestAliasByCertRequestType"] = reflect.TypeOf((*RemoveGuestAliasByCertRequestType)(nil)).Elem()
 68377  }
 68378  
 68379  type RemoveGuestAliasByCertResponse struct {
 68380  }
 68381  
 68382  // The parameters of `GuestAliasManager.RemoveGuestAlias`.
 68383  type RemoveGuestAliasRequestType struct {
 68384  	This ManagedObjectReference `xml:"_this" json:"-"`
 68385  	// Virtual machine to perform the operation on.
 68386  	//
 68387  	// Required privileges: VirtualMachine.GuestOperations.ModifyAliases
 68388  	//
 68389  	// Refers instance of `VirtualMachine`.
 68390  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 68391  	// The guest authentication data for this operation. See
 68392  	// `GuestAuthentication`. These credentials must satisfy
 68393  	// authentication requirements
 68394  	// for a guest account on the specified virtual machine.
 68395  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 68396  	// Username for the guest account on the virtual machine.
 68397  	Username string `xml:"username" json:"username"`
 68398  	// The X.509 certificate associated with the alias to be
 68399  	// removed, in base64 encoded DER format.
 68400  	Base64Cert string `xml:"base64Cert" json:"base64Cert"`
 68401  	// The subject of the alias.
 68402  	Subject BaseGuestAuthSubject `xml:"subject,typeattr" json:"subject"`
 68403  }
 68404  
 68405  func init() {
 68406  	t["RemoveGuestAliasRequestType"] = reflect.TypeOf((*RemoveGuestAliasRequestType)(nil)).Elem()
 68407  }
 68408  
 68409  type RemoveGuestAliasResponse struct {
 68410  }
 68411  
 68412  type RemoveInternetScsiSendTargets RemoveInternetScsiSendTargetsRequestType
 68413  
 68414  func init() {
 68415  	t["RemoveInternetScsiSendTargets"] = reflect.TypeOf((*RemoveInternetScsiSendTargets)(nil)).Elem()
 68416  }
 68417  
 68418  // The parameters of `HostStorageSystem.RemoveInternetScsiSendTargets`.
 68419  type RemoveInternetScsiSendTargetsRequestType struct {
 68420  	This ManagedObjectReference `xml:"_this" json:"-"`
 68421  	// The device of the Internet SCSI HBA adapter.
 68422  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
 68423  	// An array of iSCSI send targets to remove.
 68424  	Targets []HostInternetScsiHbaSendTarget `xml:"targets" json:"targets"`
 68425  	// flag for forced removal of iSCSI send targets.
 68426  	// If unset, force flag will be treated as false.
 68427  	Force *bool `xml:"force" json:"force,omitempty" vim:"7.0.1.0"`
 68428  }
 68429  
 68430  func init() {
 68431  	t["RemoveInternetScsiSendTargetsRequestType"] = reflect.TypeOf((*RemoveInternetScsiSendTargetsRequestType)(nil)).Elem()
 68432  }
 68433  
 68434  type RemoveInternetScsiSendTargetsResponse struct {
 68435  }
 68436  
 68437  type RemoveInternetScsiStaticTargets RemoveInternetScsiStaticTargetsRequestType
 68438  
 68439  func init() {
 68440  	t["RemoveInternetScsiStaticTargets"] = reflect.TypeOf((*RemoveInternetScsiStaticTargets)(nil)).Elem()
 68441  }
 68442  
 68443  // The parameters of `HostStorageSystem.RemoveInternetScsiStaticTargets`.
 68444  type RemoveInternetScsiStaticTargetsRequestType struct {
 68445  	This ManagedObjectReference `xml:"_this" json:"-"`
 68446  	// The device of the Internet SCSI HBA adapter.
 68447  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
 68448  	// An array of iSCSI static targets to remove.
 68449  	Targets []HostInternetScsiHbaStaticTarget `xml:"targets" json:"targets"`
 68450  }
 68451  
 68452  func init() {
 68453  	t["RemoveInternetScsiStaticTargetsRequestType"] = reflect.TypeOf((*RemoveInternetScsiStaticTargetsRequestType)(nil)).Elem()
 68454  }
 68455  
 68456  type RemoveInternetScsiStaticTargetsResponse struct {
 68457  }
 68458  
 68459  type RemoveKey RemoveKeyRequestType
 68460  
 68461  func init() {
 68462  	t["RemoveKey"] = reflect.TypeOf((*RemoveKey)(nil)).Elem()
 68463  }
 68464  
 68465  // The parameters of `CryptoManager.RemoveKey`.
 68466  type RemoveKeyRequestType struct {
 68467  	This ManagedObjectReference `xml:"_this" json:"-"`
 68468  	// \[in\] The key to remove.
 68469  	Key CryptoKeyId `xml:"key" json:"key"`
 68470  	// \[in\] Remove the key even if in use or not existent.
 68471  	Force bool `xml:"force" json:"force"`
 68472  }
 68473  
 68474  func init() {
 68475  	t["RemoveKeyRequestType"] = reflect.TypeOf((*RemoveKeyRequestType)(nil)).Elem()
 68476  }
 68477  
 68478  type RemoveKeyResponse struct {
 68479  }
 68480  
 68481  type RemoveKeys RemoveKeysRequestType
 68482  
 68483  func init() {
 68484  	t["RemoveKeys"] = reflect.TypeOf((*RemoveKeys)(nil)).Elem()
 68485  }
 68486  
 68487  // The parameters of `CryptoManager.RemoveKeys`.
 68488  type RemoveKeysRequestType struct {
 68489  	This ManagedObjectReference `xml:"_this" json:"-"`
 68490  	// \[in\] List of keys to remove.
 68491  	Keys []CryptoKeyId `xml:"keys,omitempty" json:"keys,omitempty"`
 68492  	// \[in\] Remove the key even if in use. Always successful.
 68493  	Force bool `xml:"force" json:"force"`
 68494  }
 68495  
 68496  func init() {
 68497  	t["RemoveKeysRequestType"] = reflect.TypeOf((*RemoveKeysRequestType)(nil)).Elem()
 68498  }
 68499  
 68500  type RemoveKeysResponse struct {
 68501  	Returnval []CryptoKeyResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 68502  }
 68503  
 68504  type RemoveKmipServer RemoveKmipServerRequestType
 68505  
 68506  func init() {
 68507  	t["RemoveKmipServer"] = reflect.TypeOf((*RemoveKmipServer)(nil)).Elem()
 68508  }
 68509  
 68510  // The parameters of `CryptoManagerKmip.RemoveKmipServer`.
 68511  type RemoveKmipServerRequestType struct {
 68512  	This ManagedObjectReference `xml:"_this" json:"-"`
 68513  	// \[in\] KMIP cluster ID.
 68514  	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
 68515  	// \[in\] KMIP server name.
 68516  	ServerName string `xml:"serverName" json:"serverName"`
 68517  }
 68518  
 68519  func init() {
 68520  	t["RemoveKmipServerRequestType"] = reflect.TypeOf((*RemoveKmipServerRequestType)(nil)).Elem()
 68521  }
 68522  
 68523  type RemoveKmipServerResponse struct {
 68524  }
 68525  
 68526  type RemoveLicense RemoveLicenseRequestType
 68527  
 68528  func init() {
 68529  	t["RemoveLicense"] = reflect.TypeOf((*RemoveLicense)(nil)).Elem()
 68530  }
 68531  
 68532  type RemoveLicenseLabel RemoveLicenseLabelRequestType
 68533  
 68534  func init() {
 68535  	t["RemoveLicenseLabel"] = reflect.TypeOf((*RemoveLicenseLabel)(nil)).Elem()
 68536  }
 68537  
 68538  // The parameters of `LicenseManager.RemoveLicenseLabel`.
 68539  type RemoveLicenseLabelRequestType struct {
 68540  	This ManagedObjectReference `xml:"_this" json:"-"`
 68541  	// A license.
 68542  	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
 68543  	// A label key.
 68544  	LabelKey string `xml:"labelKey" json:"labelKey"`
 68545  }
 68546  
 68547  func init() {
 68548  	t["RemoveLicenseLabelRequestType"] = reflect.TypeOf((*RemoveLicenseLabelRequestType)(nil)).Elem()
 68549  }
 68550  
 68551  type RemoveLicenseLabelResponse struct {
 68552  }
 68553  
 68554  // The parameters of `LicenseManager.RemoveLicense`.
 68555  type RemoveLicenseRequestType struct {
 68556  	This ManagedObjectReference `xml:"_this" json:"-"`
 68557  	// A licenses. E.g. a serial license.
 68558  	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
 68559  }
 68560  
 68561  func init() {
 68562  	t["RemoveLicenseRequestType"] = reflect.TypeOf((*RemoveLicenseRequestType)(nil)).Elem()
 68563  }
 68564  
 68565  type RemoveLicenseResponse struct {
 68566  }
 68567  
 68568  type RemoveMonitoredEntities RemoveMonitoredEntitiesRequestType
 68569  
 68570  func init() {
 68571  	t["RemoveMonitoredEntities"] = reflect.TypeOf((*RemoveMonitoredEntities)(nil)).Elem()
 68572  }
 68573  
 68574  // The parameters of `HealthUpdateManager.RemoveMonitoredEntities`.
 68575  type RemoveMonitoredEntitiesRequestType struct {
 68576  	This ManagedObjectReference `xml:"_this" json:"-"`
 68577  	// The provider id.
 68578  	ProviderId string `xml:"providerId" json:"providerId"`
 68579  	// The entities that are no longer monitored by
 68580  	// this provider.
 68581  	//
 68582  	// Refers instances of `ManagedEntity`.
 68583  	Entities []ManagedObjectReference `xml:"entities,omitempty" json:"entities,omitempty"`
 68584  }
 68585  
 68586  func init() {
 68587  	t["RemoveMonitoredEntitiesRequestType"] = reflect.TypeOf((*RemoveMonitoredEntitiesRequestType)(nil)).Elem()
 68588  }
 68589  
 68590  type RemoveMonitoredEntitiesResponse struct {
 68591  }
 68592  
 68593  type RemoveNetworkResourcePool RemoveNetworkResourcePoolRequestType
 68594  
 68595  func init() {
 68596  	t["RemoveNetworkResourcePool"] = reflect.TypeOf((*RemoveNetworkResourcePool)(nil)).Elem()
 68597  }
 68598  
 68599  // The parameters of `DistributedVirtualSwitch.RemoveNetworkResourcePool`.
 68600  type RemoveNetworkResourcePoolRequestType struct {
 68601  	This ManagedObjectReference `xml:"_this" json:"-"`
 68602  	// The network resource pool key.
 68603  	Key []string `xml:"key" json:"key"`
 68604  }
 68605  
 68606  func init() {
 68607  	t["RemoveNetworkResourcePoolRequestType"] = reflect.TypeOf((*RemoveNetworkResourcePoolRequestType)(nil)).Elem()
 68608  }
 68609  
 68610  type RemoveNetworkResourcePoolResponse struct {
 68611  }
 68612  
 68613  type RemoveNvmeOverRdmaAdapter RemoveNvmeOverRdmaAdapterRequestType
 68614  
 68615  func init() {
 68616  	t["RemoveNvmeOverRdmaAdapter"] = reflect.TypeOf((*RemoveNvmeOverRdmaAdapter)(nil)).Elem()
 68617  }
 68618  
 68619  // The parameters of `HostStorageSystem.RemoveNvmeOverRdmaAdapter`.
 68620  type RemoveNvmeOverRdmaAdapterRequestType struct {
 68621  	This ManagedObjectReference `xml:"_this" json:"-"`
 68622  	// The device name of the NVME over RDMA adapter to be removed.
 68623  	HbaDeviceName string `xml:"hbaDeviceName" json:"hbaDeviceName"`
 68624  }
 68625  
 68626  func init() {
 68627  	t["RemoveNvmeOverRdmaAdapterRequestType"] = reflect.TypeOf((*RemoveNvmeOverRdmaAdapterRequestType)(nil)).Elem()
 68628  }
 68629  
 68630  type RemoveNvmeOverRdmaAdapterResponse struct {
 68631  }
 68632  
 68633  type RemovePerfInterval RemovePerfIntervalRequestType
 68634  
 68635  func init() {
 68636  	t["RemovePerfInterval"] = reflect.TypeOf((*RemovePerfInterval)(nil)).Elem()
 68637  }
 68638  
 68639  // The parameters of `PerformanceManager.RemovePerfInterval`.
 68640  type RemovePerfIntervalRequestType struct {
 68641  	This ManagedObjectReference `xml:"_this" json:"-"`
 68642  	// The sampling period, in seconds, for the specified interval being
 68643  	// removed.
 68644  	SamplePeriod int32 `xml:"samplePeriod" json:"samplePeriod"`
 68645  }
 68646  
 68647  func init() {
 68648  	t["RemovePerfIntervalRequestType"] = reflect.TypeOf((*RemovePerfIntervalRequestType)(nil)).Elem()
 68649  }
 68650  
 68651  type RemovePerfIntervalResponse struct {
 68652  }
 68653  
 68654  type RemovePortGroup RemovePortGroupRequestType
 68655  
 68656  func init() {
 68657  	t["RemovePortGroup"] = reflect.TypeOf((*RemovePortGroup)(nil)).Elem()
 68658  }
 68659  
 68660  // The parameters of `HostNetworkSystem.RemovePortGroup`.
 68661  type RemovePortGroupRequestType struct {
 68662  	This   ManagedObjectReference `xml:"_this" json:"-"`
 68663  	PgName string                 `xml:"pgName" json:"pgName"`
 68664  }
 68665  
 68666  func init() {
 68667  	t["RemovePortGroupRequestType"] = reflect.TypeOf((*RemovePortGroupRequestType)(nil)).Elem()
 68668  }
 68669  
 68670  type RemovePortGroupResponse struct {
 68671  }
 68672  
 68673  type RemoveScheduledTask RemoveScheduledTaskRequestType
 68674  
 68675  func init() {
 68676  	t["RemoveScheduledTask"] = reflect.TypeOf((*RemoveScheduledTask)(nil)).Elem()
 68677  }
 68678  
 68679  type RemoveScheduledTaskRequestType struct {
 68680  	This ManagedObjectReference `xml:"_this" json:"-"`
 68681  }
 68682  
 68683  func init() {
 68684  	t["RemoveScheduledTaskRequestType"] = reflect.TypeOf((*RemoveScheduledTaskRequestType)(nil)).Elem()
 68685  }
 68686  
 68687  type RemoveScheduledTaskResponse struct {
 68688  }
 68689  
 68690  type RemoveServiceConsoleVirtualNic RemoveServiceConsoleVirtualNicRequestType
 68691  
 68692  func init() {
 68693  	t["RemoveServiceConsoleVirtualNic"] = reflect.TypeOf((*RemoveServiceConsoleVirtualNic)(nil)).Elem()
 68694  }
 68695  
 68696  // The parameters of `HostNetworkSystem.RemoveServiceConsoleVirtualNic`.
 68697  type RemoveServiceConsoleVirtualNicRequestType struct {
 68698  	This   ManagedObjectReference `xml:"_this" json:"-"`
 68699  	Device string                 `xml:"device" json:"device"`
 68700  }
 68701  
 68702  func init() {
 68703  	t["RemoveServiceConsoleVirtualNicRequestType"] = reflect.TypeOf((*RemoveServiceConsoleVirtualNicRequestType)(nil)).Elem()
 68704  }
 68705  
 68706  type RemoveServiceConsoleVirtualNicResponse struct {
 68707  }
 68708  
 68709  type RemoveSmartCardTrustAnchor RemoveSmartCardTrustAnchorRequestType
 68710  
 68711  func init() {
 68712  	t["RemoveSmartCardTrustAnchor"] = reflect.TypeOf((*RemoveSmartCardTrustAnchor)(nil)).Elem()
 68713  }
 68714  
 68715  type RemoveSmartCardTrustAnchorByFingerprint RemoveSmartCardTrustAnchorByFingerprintRequestType
 68716  
 68717  func init() {
 68718  	t["RemoveSmartCardTrustAnchorByFingerprint"] = reflect.TypeOf((*RemoveSmartCardTrustAnchorByFingerprint)(nil)).Elem()
 68719  }
 68720  
 68721  // The parameters of `HostActiveDirectoryAuthentication.RemoveSmartCardTrustAnchorByFingerprint`.
 68722  type RemoveSmartCardTrustAnchorByFingerprintRequestType struct {
 68723  	This ManagedObjectReference `xml:"_this" json:"-"`
 68724  	// Certificate fingerprint
 68725  	Fingerprint string `xml:"fingerprint" json:"fingerprint"`
 68726  	// Digest function used to compute fingerprint. One of
 68727  	// `HostActiveDirectoryAuthenticationCertificateDigest_enum`.
 68728  	Digest string `xml:"digest" json:"digest"`
 68729  }
 68730  
 68731  func init() {
 68732  	t["RemoveSmartCardTrustAnchorByFingerprintRequestType"] = reflect.TypeOf((*RemoveSmartCardTrustAnchorByFingerprintRequestType)(nil)).Elem()
 68733  }
 68734  
 68735  type RemoveSmartCardTrustAnchorByFingerprintResponse struct {
 68736  }
 68737  
 68738  // The parameters of `HostActiveDirectoryAuthentication.RemoveSmartCardTrustAnchor`.
 68739  type RemoveSmartCardTrustAnchorRequestType struct {
 68740  	This ManagedObjectReference `xml:"_this" json:"-"`
 68741  	// Certificate issuer
 68742  	Issuer string `xml:"issuer" json:"issuer"`
 68743  	// Certificate serial number (decimal integer)
 68744  	Serial string `xml:"serial" json:"serial"`
 68745  }
 68746  
 68747  func init() {
 68748  	t["RemoveSmartCardTrustAnchorRequestType"] = reflect.TypeOf((*RemoveSmartCardTrustAnchorRequestType)(nil)).Elem()
 68749  }
 68750  
 68751  type RemoveSmartCardTrustAnchorResponse struct {
 68752  }
 68753  
 68754  // The parameters of `VirtualMachineSnapshot.RemoveSnapshot_Task`.
 68755  type RemoveSnapshotRequestType struct {
 68756  	This ManagedObjectReference `xml:"_this" json:"-"`
 68757  	// Flag to specify removal of the entire snapshot subtree.
 68758  	RemoveChildren bool `xml:"removeChildren" json:"removeChildren"`
 68759  	// (optional) If set to true, the virtual disk associated
 68760  	// with this snapshot will be merged with other disk if possible. Defaults to true.
 68761  	Consolidate *bool `xml:"consolidate" json:"consolidate,omitempty" vim:"5.0"`
 68762  }
 68763  
 68764  func init() {
 68765  	t["RemoveSnapshotRequestType"] = reflect.TypeOf((*RemoveSnapshotRequestType)(nil)).Elem()
 68766  }
 68767  
 68768  type RemoveSnapshot_Task RemoveSnapshotRequestType
 68769  
 68770  func init() {
 68771  	t["RemoveSnapshot_Task"] = reflect.TypeOf((*RemoveSnapshot_Task)(nil)).Elem()
 68772  }
 68773  
 68774  type RemoveSnapshot_TaskResponse struct {
 68775  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 68776  }
 68777  
 68778  type RemoveSoftwareAdapter RemoveSoftwareAdapterRequestType
 68779  
 68780  func init() {
 68781  	t["RemoveSoftwareAdapter"] = reflect.TypeOf((*RemoveSoftwareAdapter)(nil)).Elem()
 68782  }
 68783  
 68784  // The parameters of `HostStorageSystem.RemoveSoftwareAdapter`.
 68785  type RemoveSoftwareAdapterRequestType struct {
 68786  	This ManagedObjectReference `xml:"_this" json:"-"`
 68787  	// The device name of the adapter to be removed.
 68788  	HbaDeviceName string `xml:"hbaDeviceName" json:"hbaDeviceName"`
 68789  }
 68790  
 68791  func init() {
 68792  	t["RemoveSoftwareAdapterRequestType"] = reflect.TypeOf((*RemoveSoftwareAdapterRequestType)(nil)).Elem()
 68793  }
 68794  
 68795  type RemoveSoftwareAdapterResponse struct {
 68796  }
 68797  
 68798  type RemoveUser RemoveUserRequestType
 68799  
 68800  func init() {
 68801  	t["RemoveUser"] = reflect.TypeOf((*RemoveUser)(nil)).Elem()
 68802  }
 68803  
 68804  // The parameters of `HostLocalAccountManager.RemoveUser`.
 68805  type RemoveUserRequestType struct {
 68806  	This ManagedObjectReference `xml:"_this" json:"-"`
 68807  	// User ID of the user account being removed.
 68808  	UserName string `xml:"userName" json:"userName"`
 68809  }
 68810  
 68811  func init() {
 68812  	t["RemoveUserRequestType"] = reflect.TypeOf((*RemoveUserRequestType)(nil)).Elem()
 68813  }
 68814  
 68815  type RemoveUserResponse struct {
 68816  }
 68817  
 68818  type RemoveVirtualNic RemoveVirtualNicRequestType
 68819  
 68820  func init() {
 68821  	t["RemoveVirtualNic"] = reflect.TypeOf((*RemoveVirtualNic)(nil)).Elem()
 68822  }
 68823  
 68824  // The parameters of `HostNetworkSystem.RemoveVirtualNic`.
 68825  type RemoveVirtualNicRequestType struct {
 68826  	This   ManagedObjectReference `xml:"_this" json:"-"`
 68827  	Device string                 `xml:"device" json:"device"`
 68828  }
 68829  
 68830  func init() {
 68831  	t["RemoveVirtualNicRequestType"] = reflect.TypeOf((*RemoveVirtualNicRequestType)(nil)).Elem()
 68832  }
 68833  
 68834  type RemoveVirtualNicResponse struct {
 68835  }
 68836  
 68837  type RemoveVirtualSwitch RemoveVirtualSwitchRequestType
 68838  
 68839  func init() {
 68840  	t["RemoveVirtualSwitch"] = reflect.TypeOf((*RemoveVirtualSwitch)(nil)).Elem()
 68841  }
 68842  
 68843  // The parameters of `HostNetworkSystem.RemoveVirtualSwitch`.
 68844  type RemoveVirtualSwitchRequestType struct {
 68845  	This        ManagedObjectReference `xml:"_this" json:"-"`
 68846  	VswitchName string                 `xml:"vswitchName" json:"vswitchName"`
 68847  }
 68848  
 68849  func init() {
 68850  	t["RemoveVirtualSwitchRequestType"] = reflect.TypeOf((*RemoveVirtualSwitchRequestType)(nil)).Elem()
 68851  }
 68852  
 68853  type RemoveVirtualSwitchResponse struct {
 68854  }
 68855  
 68856  type RenameCustomFieldDef RenameCustomFieldDefRequestType
 68857  
 68858  func init() {
 68859  	t["RenameCustomFieldDef"] = reflect.TypeOf((*RenameCustomFieldDef)(nil)).Elem()
 68860  }
 68861  
 68862  // The parameters of `CustomFieldsManager.RenameCustomFieldDef`.
 68863  type RenameCustomFieldDefRequestType struct {
 68864  	This ManagedObjectReference `xml:"_this" json:"-"`
 68865  	// The unique key for the field definition.
 68866  	Key int32 `xml:"key" json:"key"`
 68867  	// The new name for the field.
 68868  	Name string `xml:"name" json:"name"`
 68869  }
 68870  
 68871  func init() {
 68872  	t["RenameCustomFieldDefRequestType"] = reflect.TypeOf((*RenameCustomFieldDefRequestType)(nil)).Elem()
 68873  }
 68874  
 68875  type RenameCustomFieldDefResponse struct {
 68876  }
 68877  
 68878  type RenameCustomizationSpec RenameCustomizationSpecRequestType
 68879  
 68880  func init() {
 68881  	t["RenameCustomizationSpec"] = reflect.TypeOf((*RenameCustomizationSpec)(nil)).Elem()
 68882  }
 68883  
 68884  // The parameters of `CustomizationSpecManager.RenameCustomizationSpec`.
 68885  type RenameCustomizationSpecRequestType struct {
 68886  	This    ManagedObjectReference `xml:"_this" json:"-"`
 68887  	Name    string                 `xml:"name" json:"name"`
 68888  	NewName string                 `xml:"newName" json:"newName"`
 68889  }
 68890  
 68891  func init() {
 68892  	t["RenameCustomizationSpecRequestType"] = reflect.TypeOf((*RenameCustomizationSpecRequestType)(nil)).Elem()
 68893  }
 68894  
 68895  type RenameCustomizationSpecResponse struct {
 68896  }
 68897  
 68898  type RenameDatastore RenameDatastoreRequestType
 68899  
 68900  func init() {
 68901  	t["RenameDatastore"] = reflect.TypeOf((*RenameDatastore)(nil)).Elem()
 68902  }
 68903  
 68904  // The parameters of `Datastore.RenameDatastore`.
 68905  type RenameDatastoreRequestType struct {
 68906  	This ManagedObjectReference `xml:"_this" json:"-"`
 68907  	// The new name to assign to the datastore.
 68908  	NewName string `xml:"newName" json:"newName"`
 68909  }
 68910  
 68911  func init() {
 68912  	t["RenameDatastoreRequestType"] = reflect.TypeOf((*RenameDatastoreRequestType)(nil)).Elem()
 68913  }
 68914  
 68915  type RenameDatastoreResponse struct {
 68916  }
 68917  
 68918  // The parameters of `ManagedEntity.Rename_Task`.
 68919  type RenameRequestType struct {
 68920  	This    ManagedObjectReference `xml:"_this" json:"-"`
 68921  	NewName string                 `xml:"newName" json:"newName"`
 68922  }
 68923  
 68924  func init() {
 68925  	t["RenameRequestType"] = reflect.TypeOf((*RenameRequestType)(nil)).Elem()
 68926  }
 68927  
 68928  type RenameSnapshot RenameSnapshotRequestType
 68929  
 68930  func init() {
 68931  	t["RenameSnapshot"] = reflect.TypeOf((*RenameSnapshot)(nil)).Elem()
 68932  }
 68933  
 68934  // The parameters of `VirtualMachineSnapshot.RenameSnapshot`.
 68935  type RenameSnapshotRequestType struct {
 68936  	This ManagedObjectReference `xml:"_this" json:"-"`
 68937  	// New name for the snapshot.
 68938  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 68939  	// New description for the snapshot.
 68940  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 68941  }
 68942  
 68943  func init() {
 68944  	t["RenameSnapshotRequestType"] = reflect.TypeOf((*RenameSnapshotRequestType)(nil)).Elem()
 68945  }
 68946  
 68947  type RenameSnapshotResponse struct {
 68948  }
 68949  
 68950  type RenameVStorageObject RenameVStorageObjectRequestType
 68951  
 68952  func init() {
 68953  	t["RenameVStorageObject"] = reflect.TypeOf((*RenameVStorageObject)(nil)).Elem()
 68954  }
 68955  
 68956  type RenameVStorageObjectEx RenameVStorageObjectExRequestType
 68957  
 68958  func init() {
 68959  	t["RenameVStorageObjectEx"] = reflect.TypeOf((*RenameVStorageObjectEx)(nil)).Elem()
 68960  }
 68961  
 68962  // The parameters of `VStorageObjectManagerBase.RenameVStorageObjectEx`.
 68963  type RenameVStorageObjectExRequestType struct {
 68964  	This ManagedObjectReference `xml:"_this" json:"-"`
 68965  	// The ID of the virtual storage object to be renamed.
 68966  	Id ID `xml:"id" json:"id"`
 68967  	// The datastore where the virtual storage object is
 68968  	// located.
 68969  	//
 68970  	// Refers instance of `Datastore`.
 68971  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 68972  	// The new name for the virtual storage object.
 68973  	Name string `xml:"name" json:"name"`
 68974  }
 68975  
 68976  func init() {
 68977  	t["RenameVStorageObjectExRequestType"] = reflect.TypeOf((*RenameVStorageObjectExRequestType)(nil)).Elem()
 68978  }
 68979  
 68980  type RenameVStorageObjectExResponse struct {
 68981  	Returnval VslmVClockInfo `xml:"returnval" json:"returnval"`
 68982  }
 68983  
 68984  // The parameters of `VcenterVStorageObjectManager.RenameVStorageObject`.
 68985  type RenameVStorageObjectRequestType struct {
 68986  	This ManagedObjectReference `xml:"_this" json:"-"`
 68987  	// The ID of the virtual storage object to be renamed.
 68988  	Id ID `xml:"id" json:"id"`
 68989  	// The datastore where the virtual storage object is
 68990  	// located.
 68991  	//
 68992  	// Refers instance of `Datastore`.
 68993  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 68994  	// The new name for the virtual storage object.
 68995  	Name string `xml:"name" json:"name"`
 68996  }
 68997  
 68998  func init() {
 68999  	t["RenameVStorageObjectRequestType"] = reflect.TypeOf((*RenameVStorageObjectRequestType)(nil)).Elem()
 69000  }
 69001  
 69002  type RenameVStorageObjectResponse struct {
 69003  }
 69004  
 69005  type Rename_Task RenameRequestType
 69006  
 69007  func init() {
 69008  	t["Rename_Task"] = reflect.TypeOf((*Rename_Task)(nil)).Elem()
 69009  }
 69010  
 69011  type Rename_TaskResponse struct {
 69012  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 69013  }
 69014  
 69015  type ReplaceCACertificatesAndCRLs ReplaceCACertificatesAndCRLsRequestType
 69016  
 69017  func init() {
 69018  	t["ReplaceCACertificatesAndCRLs"] = reflect.TypeOf((*ReplaceCACertificatesAndCRLs)(nil)).Elem()
 69019  }
 69020  
 69021  // The parameters of `HostCertificateManager.ReplaceCACertificatesAndCRLs`.
 69022  type ReplaceCACertificatesAndCRLsRequestType struct {
 69023  	This ManagedObjectReference `xml:"_this" json:"-"`
 69024  	// List of SSL certificates, in PEM format,
 69025  	// of all CAs that should be trusted
 69026  	CaCert []string `xml:"caCert" json:"caCert"`
 69027  	// List of SSL CRLs, in PEM format,
 69028  	// issued by trusted CAs from the above list
 69029  	CaCrl []string `xml:"caCrl,omitempty" json:"caCrl,omitempty"`
 69030  }
 69031  
 69032  func init() {
 69033  	t["ReplaceCACertificatesAndCRLsRequestType"] = reflect.TypeOf((*ReplaceCACertificatesAndCRLsRequestType)(nil)).Elem()
 69034  }
 69035  
 69036  type ReplaceCACertificatesAndCRLsResponse struct {
 69037  }
 69038  
 69039  type ReplaceSmartCardTrustAnchors ReplaceSmartCardTrustAnchorsRequestType
 69040  
 69041  func init() {
 69042  	t["ReplaceSmartCardTrustAnchors"] = reflect.TypeOf((*ReplaceSmartCardTrustAnchors)(nil)).Elem()
 69043  }
 69044  
 69045  // The parameters of `HostActiveDirectoryAuthentication.ReplaceSmartCardTrustAnchors`.
 69046  type ReplaceSmartCardTrustAnchorsRequestType struct {
 69047  	This ManagedObjectReference `xml:"_this" json:"-"`
 69048  	// List of trusted CA certificates in PEM format. If empty
 69049  	// then all existing trust anchors are removed.
 69050  	Certs []string `xml:"certs,omitempty" json:"certs,omitempty"`
 69051  }
 69052  
 69053  func init() {
 69054  	t["ReplaceSmartCardTrustAnchorsRequestType"] = reflect.TypeOf((*ReplaceSmartCardTrustAnchorsRequestType)(nil)).Elem()
 69055  }
 69056  
 69057  type ReplaceSmartCardTrustAnchorsResponse struct {
 69058  }
 69059  
 69060  // Base type for Replication-related configuration errors.
 69061  type ReplicationConfigFault struct {
 69062  	ReplicationFault
 69063  }
 69064  
 69065  func init() {
 69066  	t["ReplicationConfigFault"] = reflect.TypeOf((*ReplicationConfigFault)(nil)).Elem()
 69067  	minAPIVersionForType["ReplicationConfigFault"] = "5.0"
 69068  }
 69069  
 69070  type ReplicationConfigFaultFault BaseReplicationConfigFault
 69071  
 69072  func init() {
 69073  	t["ReplicationConfigFaultFault"] = reflect.TypeOf((*ReplicationConfigFaultFault)(nil)).Elem()
 69074  }
 69075  
 69076  // The ReplicationConfigSpec object type encapsulates the replication
 69077  // configuration parameters for a virtual machine.
 69078  //
 69079  // It consists of two
 69080  // parts: 1) a set of virtual machine-wide replication properties; 2)
 69081  // a set of properties per replicated virtual disk. ReplicationSetting
 69082  // is passed as an argument for initial replication configuration
 69083  // (@see vim.HbrManager#enableReplication) as well as for
 69084  // re-configuration of a replicated VM's properties (@see
 69085  // vim.HbrManager#reconfigureReplication).
 69086  type ReplicationConfigSpec struct {
 69087  	DynamicData
 69088  
 69089  	// A generation number (&gt;=0) that reflects the "freshness" of the
 69090  	// ReplicationConfigSpec on which a re-configuration is based.
 69091  	//
 69092  	// The
 69093  	// generation number is used to detect and disallow concurrent
 69094  	// updates to a VM's replication settings.
 69095  	// For initial replication enablement, generation = 0. The
 69096  	// replication settings of every replication re-configuration
 69097  	// operation must reflect the latest generation number known to the
 69098  	// caller. It takes an explicit call to get the latest replication
 69099  	// settings to find out what the latest generation number is. The
 69100  	// update algorithm of the generation number is opaque to the
 69101  	// caller; e.g., the caller cannot assume that the generation
 69102  	// numbers are incremented by one every time replication is
 69103  	// (re)configured, not even that they are changing monotonically.
 69104  	Generation int64 `xml:"generation" json:"generation"`
 69105  	// An opaque identifier that uniquely identifies a replicated VM
 69106  	// between primary and secondary sites.
 69107  	VmReplicationId string `xml:"vmReplicationId" json:"vmReplicationId"`
 69108  	// The IP address of the HBR Server in the secondary site
 69109  	// where this VM is replicated to.
 69110  	//
 69111  	// Note: If net encryption is enabled, this is the address of the
 69112  	// encryption tunnelling agent.
 69113  	Destination string `xml:"destination" json:"destination"`
 69114  	// The port on the HBR Server in the secondary site where this VM
 69115  	// is replicated to.
 69116  	//
 69117  	// Note: If net encryption is enabled, this is the port of the
 69118  	// encryption tunneling agent.
 69119  	Port int32 `xml:"port" json:"port"`
 69120  	// The Recovery Point Objective specified for this VM, in minutes.
 69121  	//
 69122  	// Currently, valid values are in the range of 1 minute to 1440
 69123  	// minutes (24 hours).
 69124  	Rpo int64 `xml:"rpo" json:"rpo"`
 69125  	// Flag that indicates whether or not to quiesce the file system or
 69126  	// applications in the guest OS before a consistent replica is
 69127  	// created.
 69128  	QuiesceGuestEnabled bool `xml:"quiesceGuestEnabled" json:"quiesceGuestEnabled"`
 69129  	// Flag that indicates whether or not the vm or group has been paused for
 69130  	// replication.
 69131  	Paused bool `xml:"paused" json:"paused"`
 69132  	// Flag that indicates whether or not to perform opportunistic
 69133  	// updates in-between consistent replicas.
 69134  	OppUpdatesEnabled bool `xml:"oppUpdatesEnabled" json:"oppUpdatesEnabled"`
 69135  	// Flag that indicates whether or not compression should
 69136  	// be used when sending traffic over the network.
 69137  	//
 69138  	// The primary will negotiate the best compression with
 69139  	// the server on the secondary if this is enabled.
 69140  	NetCompressionEnabled *bool `xml:"netCompressionEnabled" json:"netCompressionEnabled,omitempty" vim:"6.0"`
 69141  	// Flag that indicates whether or not encription should
 69142  	// be used when sending traffic over the network.
 69143  	//
 69144  	// The primary will use the remoteCertificateThumbprint
 69145  	// to verify the identity of the remote server.
 69146  	NetEncryptionEnabled *bool `xml:"netEncryptionEnabled" json:"netEncryptionEnabled,omitempty" vim:"6.7"`
 69147  	// The IP address of the remote HBR server, target for encrypted LWD.
 69148  	//
 69149  	// This field is required when net encryption is enabled, ignored otherwise.
 69150  	EncryptionDestination string `xml:"encryptionDestination,omitempty" json:"encryptionDestination,omitempty" vim:"6.7"`
 69151  	// The port on the remote HBR server, target for encrypted LWD.
 69152  	//
 69153  	// This field is only relevant when net encryption is enabled.
 69154  	EncryptionPort int32 `xml:"encryptionPort,omitempty" json:"encryptionPort,omitempty" vim:"6.7"`
 69155  	// The SHA256 thumbprint of the remote server certificate.
 69156  	//
 69157  	// This field is only relevant when net encription is enabled.
 69158  	RemoteCertificateThumbprint string `xml:"remoteCertificateThumbprint,omitempty" json:"remoteCertificateThumbprint,omitempty" vim:"6.7"`
 69159  	// Flag that indicates whether DataSets files are replicated or not.
 69160  	DataSetsReplicationEnabled *bool `xml:"dataSetsReplicationEnabled" json:"dataSetsReplicationEnabled,omitempty" vim:"8.0.0.0"`
 69161  	// The set of the disks of this VM that are configured for
 69162  	// replication.
 69163  	Disk []ReplicationInfoDiskSettings `xml:"disk,omitempty" json:"disk,omitempty"`
 69164  }
 69165  
 69166  func init() {
 69167  	t["ReplicationConfigSpec"] = reflect.TypeOf((*ReplicationConfigSpec)(nil)).Elem()
 69168  	minAPIVersionForType["ReplicationConfigSpec"] = "5.0"
 69169  }
 69170  
 69171  // A ReplicationDiskConfigFault is thrown when there is an issue with
 69172  // configuring disk replication properties.
 69173  type ReplicationDiskConfigFault struct {
 69174  	ReplicationConfigFault
 69175  
 69176  	// The reason for the failure.
 69177  	//
 69178  	// One of the above.
 69179  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 69180  	// The virtual machine, for identification purposes.
 69181  	//
 69182  	// Refers instance of `VirtualMachine`.
 69183  	VmRef *ManagedObjectReference `xml:"vmRef,omitempty" json:"vmRef,omitempty"`
 69184  	// The disk (device) key in the parent VM for identification
 69185  	// purposes.
 69186  	Key int32 `xml:"key,omitempty" json:"key,omitempty"`
 69187  }
 69188  
 69189  func init() {
 69190  	t["ReplicationDiskConfigFault"] = reflect.TypeOf((*ReplicationDiskConfigFault)(nil)).Elem()
 69191  	minAPIVersionForType["ReplicationDiskConfigFault"] = "5.0"
 69192  }
 69193  
 69194  type ReplicationDiskConfigFaultFault ReplicationDiskConfigFault
 69195  
 69196  func init() {
 69197  	t["ReplicationDiskConfigFaultFault"] = reflect.TypeOf((*ReplicationDiskConfigFaultFault)(nil)).Elem()
 69198  }
 69199  
 69200  // Base type for Replication-related errors.
 69201  type ReplicationFault struct {
 69202  	VimFault
 69203  }
 69204  
 69205  func init() {
 69206  	t["ReplicationFault"] = reflect.TypeOf((*ReplicationFault)(nil)).Elem()
 69207  	minAPIVersionForType["ReplicationFault"] = "5.0"
 69208  }
 69209  
 69210  type ReplicationFaultFault BaseReplicationFault
 69211  
 69212  func init() {
 69213  	t["ReplicationFaultFault"] = reflect.TypeOf((*ReplicationFaultFault)(nil)).Elem()
 69214  }
 69215  
 69216  // The identity of a replication group.
 69217  //
 69218  // # A following well-known ReplicationGroupId
 69219  //
 69220  // {
 69221  //
 69222  // faultDomainId: <a validfaultdomainid>
 69223  //
 69224  // deviceGroupId: ffffffff-ffff-ffff-ffff-ffffffffffff
 69225  //
 69226  // }
 69227  //
 69228  // means that VASA provider can create a new ReplicationGroupId
 69229  // on demand (this feature may not be supported in the first
 69230  // vSphere release that supports VVol replication).
 69231  type ReplicationGroupId struct {
 69232  	DynamicData
 69233  
 69234  	// ID of the fault domain to which the group belongs.
 69235  	//
 69236  	// Combined with the fault
 69237  	// domain id, the group id is unique. A group may (or may not) have the same
 69238  	// id in all the fault domains.
 69239  	FaultDomainId FaultDomainId `xml:"faultDomainId" json:"faultDomainId"`
 69240  	// Id of the replication device group.
 69241  	//
 69242  	// A group may have the same (or different) id in each fault
 69243  	// domain.
 69244  	DeviceGroupId DeviceGroupId `xml:"deviceGroupId" json:"deviceGroupId"`
 69245  }
 69246  
 69247  func init() {
 69248  	t["ReplicationGroupId"] = reflect.TypeOf((*ReplicationGroupId)(nil)).Elem()
 69249  	minAPIVersionForType["ReplicationGroupId"] = "6.5"
 69250  }
 69251  
 69252  // Used to indicate that FT cannot be enabled on a replicated virtual machine
 69253  // (returned by `VirtualMachine.QueryFaultToleranceCompatibility`).
 69254  type ReplicationIncompatibleWithFT struct {
 69255  	ReplicationFault
 69256  }
 69257  
 69258  func init() {
 69259  	t["ReplicationIncompatibleWithFT"] = reflect.TypeOf((*ReplicationIncompatibleWithFT)(nil)).Elem()
 69260  	minAPIVersionForType["ReplicationIncompatibleWithFT"] = "5.0"
 69261  }
 69262  
 69263  type ReplicationIncompatibleWithFTFault ReplicationIncompatibleWithFT
 69264  
 69265  func init() {
 69266  	t["ReplicationIncompatibleWithFTFault"] = reflect.TypeOf((*ReplicationIncompatibleWithFTFault)(nil)).Elem()
 69267  }
 69268  
 69269  // The ReplicationConfigSpec.DiskSettings object type encapsulates
 69270  // the replication properties of a replicated disk of a replicated
 69271  // virtual machine.
 69272  type ReplicationInfoDiskSettings struct {
 69273  	DynamicData
 69274  
 69275  	// The disk's device key in the VM's configuration.
 69276  	//
 69277  	// Used to
 69278  	// uniquely identify the disk to be configured for replication
 69279  	// in the primary VM.
 69280  	Key int32 `xml:"key" json:"key"`
 69281  	// An opaque identifier that uniquely identifies a replicated
 69282  	// disk between primary and secondary sites.
 69283  	DiskReplicationId string `xml:"diskReplicationId" json:"diskReplicationId"`
 69284  }
 69285  
 69286  func init() {
 69287  	t["ReplicationInfoDiskSettings"] = reflect.TypeOf((*ReplicationInfoDiskSettings)(nil)).Elem()
 69288  	minAPIVersionForType["ReplicationInfoDiskSettings"] = "5.0"
 69289  }
 69290  
 69291  // A ReplicationInvalidOptions fault is thrown when the options
 69292  // string passed contains invalid characters or broken format.
 69293  type ReplicationInvalidOptions struct {
 69294  	ReplicationFault
 69295  
 69296  	// The invalid options string.
 69297  	Options string `xml:"options" json:"options"`
 69298  	// Entity, if any, that has invalid options.
 69299  	//
 69300  	// Refers instance of `ManagedEntity`.
 69301  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 69302  }
 69303  
 69304  func init() {
 69305  	t["ReplicationInvalidOptions"] = reflect.TypeOf((*ReplicationInvalidOptions)(nil)).Elem()
 69306  	minAPIVersionForType["ReplicationInvalidOptions"] = "5.0"
 69307  }
 69308  
 69309  type ReplicationInvalidOptionsFault ReplicationInvalidOptions
 69310  
 69311  func init() {
 69312  	t["ReplicationInvalidOptionsFault"] = reflect.TypeOf((*ReplicationInvalidOptionsFault)(nil)).Elem()
 69313  }
 69314  
 69315  // Thrown if the replication module is not loaded in the host.
 69316  type ReplicationNotSupportedOnHost struct {
 69317  	ReplicationFault
 69318  }
 69319  
 69320  func init() {
 69321  	t["ReplicationNotSupportedOnHost"] = reflect.TypeOf((*ReplicationNotSupportedOnHost)(nil)).Elem()
 69322  	minAPIVersionForType["ReplicationNotSupportedOnHost"] = "5.0"
 69323  }
 69324  
 69325  type ReplicationNotSupportedOnHostFault ReplicationNotSupportedOnHost
 69326  
 69327  func init() {
 69328  	t["ReplicationNotSupportedOnHostFault"] = reflect.TypeOf((*ReplicationNotSupportedOnHostFault)(nil)).Elem()
 69329  }
 69330  
 69331  type ReplicationSpec struct {
 69332  	DynamicData
 69333  
 69334  	// Replication Group id
 69335  	ReplicationGroupId ReplicationGroupId `xml:"replicationGroupId" json:"replicationGroupId"`
 69336  }
 69337  
 69338  func init() {
 69339  	t["ReplicationSpec"] = reflect.TypeOf((*ReplicationSpec)(nil)).Elem()
 69340  }
 69341  
 69342  // A ReplicationVmConfigFault is thrown when there is an issue with
 69343  // configuring VM-wide replication properties.
 69344  type ReplicationVmConfigFault struct {
 69345  	ReplicationConfigFault
 69346  
 69347  	// The reason for the failure.
 69348  	//
 69349  	// One of the above `ReplicationVmConfigFaultReasonForFault_enum`.
 69350  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 69351  	// The virtual machine, for identification purposes.
 69352  	//
 69353  	// Refers instance of `VirtualMachine`.
 69354  	VmRef *ManagedObjectReference `xml:"vmRef,omitempty" json:"vmRef,omitempty"`
 69355  }
 69356  
 69357  func init() {
 69358  	t["ReplicationVmConfigFault"] = reflect.TypeOf((*ReplicationVmConfigFault)(nil)).Elem()
 69359  	minAPIVersionForType["ReplicationVmConfigFault"] = "5.0"
 69360  }
 69361  
 69362  type ReplicationVmConfigFaultFault ReplicationVmConfigFault
 69363  
 69364  func init() {
 69365  	t["ReplicationVmConfigFaultFault"] = reflect.TypeOf((*ReplicationVmConfigFaultFault)(nil)).Elem()
 69366  }
 69367  
 69368  // A ReplicationVmFault is thrown when there is an issue with
 69369  // an operation performed on a replicated `VirtualMachine`
 69370  type ReplicationVmFault struct {
 69371  	ReplicationFault
 69372  
 69373  	// The reason for the failure.
 69374  	//
 69375  	// One of the above.
 69376  	Reason string `xml:"reason" json:"reason"`
 69377  	// The current `ReplicationVmState_enum` of the
 69378  	// `VirtualMachine`
 69379  	State string `xml:"state,omitempty" json:"state,omitempty"`
 69380  	// The name of the instance currently being created.
 69381  	InstanceId string `xml:"instanceId,omitempty" json:"instanceId,omitempty"`
 69382  	// The virtual machine, for identification purposes.
 69383  	//
 69384  	// Refers instance of `VirtualMachine`.
 69385  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 69386  }
 69387  
 69388  func init() {
 69389  	t["ReplicationVmFault"] = reflect.TypeOf((*ReplicationVmFault)(nil)).Elem()
 69390  	minAPIVersionForType["ReplicationVmFault"] = "5.0"
 69391  }
 69392  
 69393  type ReplicationVmFaultFault BaseReplicationVmFault
 69394  
 69395  func init() {
 69396  	t["ReplicationVmFaultFault"] = reflect.TypeOf((*ReplicationVmFaultFault)(nil)).Elem()
 69397  }
 69398  
 69399  // A ReplicationVmInProgressFault is thrown when a replication operation
 69400  // failed to perform on a `VirtualMachine` because the VM is
 69401  // in the middle of another replication activity.
 69402  type ReplicationVmInProgressFault struct {
 69403  	ReplicationVmFault
 69404  
 69405  	// The requsted activity for VM replication
 69406  	RequestedActivity string `xml:"requestedActivity" json:"requestedActivity"`
 69407  	// The in-progress activity for VM replication
 69408  	InProgressActivity string `xml:"inProgressActivity" json:"inProgressActivity"`
 69409  }
 69410  
 69411  func init() {
 69412  	t["ReplicationVmInProgressFault"] = reflect.TypeOf((*ReplicationVmInProgressFault)(nil)).Elem()
 69413  	minAPIVersionForType["ReplicationVmInProgressFault"] = "6.0"
 69414  }
 69415  
 69416  type ReplicationVmInProgressFaultFault ReplicationVmInProgressFault
 69417  
 69418  func init() {
 69419  	t["ReplicationVmInProgressFaultFault"] = reflect.TypeOf((*ReplicationVmInProgressFaultFault)(nil)).Elem()
 69420  }
 69421  
 69422  // A set of statistics related to the progress of the current
 69423  // operation (full sync or lwd).
 69424  type ReplicationVmProgressInfo struct {
 69425  	DynamicData
 69426  
 69427  	// An estimation of the operation progress as a percentage completed,
 69428  	// from 0 to 100.
 69429  	Progress int32 `xml:"progress" json:"progress"`
 69430  	// Number of bytes transferred so far.
 69431  	//
 69432  	// For sync operations, this value includes (i.e. counts multiple
 69433  	// times) areas that were transferred multiple times (due to stopping
 69434  	// and continuing the operation, or for some errors).
 69435  	BytesTransferred int64 `xml:"bytesTransferred" json:"bytesTransferred"`
 69436  	// The total number of bytes to be transferred.
 69437  	//
 69438  	// For lwd operations, this is the total size of the disk images that
 69439  	// are transferring. This is known from the start and will not change
 69440  	// during a lwd operation.
 69441  	//
 69442  	// For sync operations, this is the total size of the blocks that have
 69443  	// been found not to match between the primary and secondary (by
 69444  	// comparing checksums). It starts from 0 and grows as the checksum
 69445  	// operations advance. The value includes (i.e. counts multiple times)
 69446  	// areas that will end up being transferred more than once (due to
 69447  	// stopping and continuing the operation, or for some errors).
 69448  	BytesToTransfer int64 `xml:"bytesToTransfer" json:"bytesToTransfer"`
 69449  	// The total number of bytes to be checksummed, only present for sync
 69450  	// tasks.
 69451  	//
 69452  	// This is the total size of all disks.
 69453  	ChecksumTotalBytes int64 `xml:"checksumTotalBytes,omitempty" json:"checksumTotalBytes,omitempty"`
 69454  	// The total number of bytes that were checksummed, only present for
 69455  	// sync tasks.
 69456  	ChecksumComparedBytes int64 `xml:"checksumComparedBytes,omitempty" json:"checksumComparedBytes,omitempty"`
 69457  }
 69458  
 69459  func init() {
 69460  	t["ReplicationVmProgressInfo"] = reflect.TypeOf((*ReplicationVmProgressInfo)(nil)).Elem()
 69461  	minAPIVersionForType["ReplicationVmProgressInfo"] = "5.0"
 69462  }
 69463  
 69464  // A RequestCanceled fault is thrown if the user canceled the task.
 69465  type RequestCanceled struct {
 69466  	RuntimeFault
 69467  }
 69468  
 69469  func init() {
 69470  	t["RequestCanceled"] = reflect.TypeOf((*RequestCanceled)(nil)).Elem()
 69471  }
 69472  
 69473  type RequestCanceledFault RequestCanceled
 69474  
 69475  func init() {
 69476  	t["RequestCanceledFault"] = reflect.TypeOf((*RequestCanceledFault)(nil)).Elem()
 69477  }
 69478  
 69479  type RescanAllHba RescanAllHbaRequestType
 69480  
 69481  func init() {
 69482  	t["RescanAllHba"] = reflect.TypeOf((*RescanAllHba)(nil)).Elem()
 69483  }
 69484  
 69485  type RescanAllHbaRequestType struct {
 69486  	This ManagedObjectReference `xml:"_this" json:"-"`
 69487  }
 69488  
 69489  func init() {
 69490  	t["RescanAllHbaRequestType"] = reflect.TypeOf((*RescanAllHbaRequestType)(nil)).Elem()
 69491  }
 69492  
 69493  type RescanAllHbaResponse struct {
 69494  }
 69495  
 69496  type RescanHba RescanHbaRequestType
 69497  
 69498  func init() {
 69499  	t["RescanHba"] = reflect.TypeOf((*RescanHba)(nil)).Elem()
 69500  }
 69501  
 69502  // The parameters of `HostStorageSystem.RescanHba`.
 69503  type RescanHbaRequestType struct {
 69504  	This ManagedObjectReference `xml:"_this" json:"-"`
 69505  	// The device of the host bus adapter.
 69506  	HbaDevice string `xml:"hbaDevice" json:"hbaDevice"`
 69507  }
 69508  
 69509  func init() {
 69510  	t["RescanHbaRequestType"] = reflect.TypeOf((*RescanHbaRequestType)(nil)).Elem()
 69511  }
 69512  
 69513  type RescanHbaResponse struct {
 69514  }
 69515  
 69516  type RescanVffs RescanVffsRequestType
 69517  
 69518  func init() {
 69519  	t["RescanVffs"] = reflect.TypeOf((*RescanVffs)(nil)).Elem()
 69520  }
 69521  
 69522  type RescanVffsRequestType struct {
 69523  	This ManagedObjectReference `xml:"_this" json:"-"`
 69524  }
 69525  
 69526  func init() {
 69527  	t["RescanVffsRequestType"] = reflect.TypeOf((*RescanVffsRequestType)(nil)).Elem()
 69528  }
 69529  
 69530  type RescanVffsResponse struct {
 69531  }
 69532  
 69533  type RescanVmfs RescanVmfsRequestType
 69534  
 69535  func init() {
 69536  	t["RescanVmfs"] = reflect.TypeOf((*RescanVmfs)(nil)).Elem()
 69537  }
 69538  
 69539  type RescanVmfsRequestType struct {
 69540  	This ManagedObjectReference `xml:"_this" json:"-"`
 69541  }
 69542  
 69543  func init() {
 69544  	t["RescanVmfsRequestType"] = reflect.TypeOf((*RescanVmfsRequestType)(nil)).Elem()
 69545  }
 69546  
 69547  type RescanVmfsResponse struct {
 69548  }
 69549  
 69550  type ResetCollector ResetCollectorRequestType
 69551  
 69552  func init() {
 69553  	t["ResetCollector"] = reflect.TypeOf((*ResetCollector)(nil)).Elem()
 69554  }
 69555  
 69556  type ResetCollectorRequestType struct {
 69557  	This ManagedObjectReference `xml:"_this" json:"-"`
 69558  }
 69559  
 69560  func init() {
 69561  	t["ResetCollectorRequestType"] = reflect.TypeOf((*ResetCollectorRequestType)(nil)).Elem()
 69562  }
 69563  
 69564  type ResetCollectorResponse struct {
 69565  }
 69566  
 69567  type ResetCounterLevelMapping ResetCounterLevelMappingRequestType
 69568  
 69569  func init() {
 69570  	t["ResetCounterLevelMapping"] = reflect.TypeOf((*ResetCounterLevelMapping)(nil)).Elem()
 69571  }
 69572  
 69573  // The parameters of `PerformanceManager.ResetCounterLevelMapping`.
 69574  type ResetCounterLevelMappingRequestType struct {
 69575  	This ManagedObjectReference `xml:"_this" json:"-"`
 69576  	// An array of counter ids.
 69577  	Counters []int32 `xml:"counters" json:"counters"`
 69578  }
 69579  
 69580  func init() {
 69581  	t["ResetCounterLevelMappingRequestType"] = reflect.TypeOf((*ResetCounterLevelMappingRequestType)(nil)).Elem()
 69582  }
 69583  
 69584  type ResetCounterLevelMappingResponse struct {
 69585  }
 69586  
 69587  type ResetEntityPermissions ResetEntityPermissionsRequestType
 69588  
 69589  func init() {
 69590  	t["ResetEntityPermissions"] = reflect.TypeOf((*ResetEntityPermissions)(nil)).Elem()
 69591  }
 69592  
 69593  // The parameters of `AuthorizationManager.ResetEntityPermissions`.
 69594  type ResetEntityPermissionsRequestType struct {
 69595  	This ManagedObjectReference `xml:"_this" json:"-"`
 69596  	// The entity on which permissions are updated.
 69597  	//
 69598  	// Required privileges: Authorization.ModifyPermissions
 69599  	//
 69600  	// Refers instance of `ManagedEntity`.
 69601  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 69602  	// The list of Permission objects that define
 69603  	// the new rules for access to the entity and
 69604  	// potentially entities below it. If the list
 69605  	// is empty, all permissions on the entity are removed.
 69606  	Permission []Permission `xml:"permission,omitempty" json:"permission,omitempty"`
 69607  }
 69608  
 69609  func init() {
 69610  	t["ResetEntityPermissionsRequestType"] = reflect.TypeOf((*ResetEntityPermissionsRequestType)(nil)).Elem()
 69611  }
 69612  
 69613  type ResetEntityPermissionsResponse struct {
 69614  }
 69615  
 69616  type ResetFirmwareToFactoryDefaults ResetFirmwareToFactoryDefaultsRequestType
 69617  
 69618  func init() {
 69619  	t["ResetFirmwareToFactoryDefaults"] = reflect.TypeOf((*ResetFirmwareToFactoryDefaults)(nil)).Elem()
 69620  }
 69621  
 69622  type ResetFirmwareToFactoryDefaultsRequestType struct {
 69623  	This ManagedObjectReference `xml:"_this" json:"-"`
 69624  }
 69625  
 69626  func init() {
 69627  	t["ResetFirmwareToFactoryDefaultsRequestType"] = reflect.TypeOf((*ResetFirmwareToFactoryDefaultsRequestType)(nil)).Elem()
 69628  }
 69629  
 69630  type ResetFirmwareToFactoryDefaultsResponse struct {
 69631  }
 69632  
 69633  type ResetGuestInformation ResetGuestInformationRequestType
 69634  
 69635  func init() {
 69636  	t["ResetGuestInformation"] = reflect.TypeOf((*ResetGuestInformation)(nil)).Elem()
 69637  }
 69638  
 69639  type ResetGuestInformationRequestType struct {
 69640  	This ManagedObjectReference `xml:"_this" json:"-"`
 69641  }
 69642  
 69643  func init() {
 69644  	t["ResetGuestInformationRequestType"] = reflect.TypeOf((*ResetGuestInformationRequestType)(nil)).Elem()
 69645  }
 69646  
 69647  type ResetGuestInformationResponse struct {
 69648  }
 69649  
 69650  type ResetListView ResetListViewRequestType
 69651  
 69652  func init() {
 69653  	t["ResetListView"] = reflect.TypeOf((*ResetListView)(nil)).Elem()
 69654  }
 69655  
 69656  type ResetListViewFromView ResetListViewFromViewRequestType
 69657  
 69658  func init() {
 69659  	t["ResetListViewFromView"] = reflect.TypeOf((*ResetListViewFromView)(nil)).Elem()
 69660  }
 69661  
 69662  // The parameters of `ListView.ResetListViewFromView`.
 69663  type ResetListViewFromViewRequestType struct {
 69664  	This ManagedObjectReference `xml:"_this" json:"-"`
 69665  	// The view to copy objects from.
 69666  	//
 69667  	// Refers instance of `View`.
 69668  	View ManagedObjectReference `xml:"view" json:"view"`
 69669  }
 69670  
 69671  func init() {
 69672  	t["ResetListViewFromViewRequestType"] = reflect.TypeOf((*ResetListViewFromViewRequestType)(nil)).Elem()
 69673  }
 69674  
 69675  type ResetListViewFromViewResponse struct {
 69676  }
 69677  
 69678  // The parameters of `ListView.ResetListView`.
 69679  type ResetListViewRequestType struct {
 69680  	This ManagedObjectReference `xml:"_this" json:"-"`
 69681  	// The new list of objects.
 69682  	//
 69683  	// Required privileges: System.View
 69684  	Obj []ManagedObjectReference `xml:"obj,omitempty" json:"obj,omitempty"`
 69685  }
 69686  
 69687  func init() {
 69688  	t["ResetListViewRequestType"] = reflect.TypeOf((*ResetListViewRequestType)(nil)).Elem()
 69689  }
 69690  
 69691  type ResetListViewResponse struct {
 69692  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 69693  }
 69694  
 69695  type ResetSystemHealthInfo ResetSystemHealthInfoRequestType
 69696  
 69697  func init() {
 69698  	t["ResetSystemHealthInfo"] = reflect.TypeOf((*ResetSystemHealthInfo)(nil)).Elem()
 69699  }
 69700  
 69701  type ResetSystemHealthInfoRequestType struct {
 69702  	This ManagedObjectReference `xml:"_this" json:"-"`
 69703  }
 69704  
 69705  func init() {
 69706  	t["ResetSystemHealthInfoRequestType"] = reflect.TypeOf((*ResetSystemHealthInfoRequestType)(nil)).Elem()
 69707  }
 69708  
 69709  type ResetSystemHealthInfoResponse struct {
 69710  }
 69711  
 69712  type ResetVMRequestType struct {
 69713  	This ManagedObjectReference `xml:"_this" json:"-"`
 69714  }
 69715  
 69716  func init() {
 69717  	t["ResetVMRequestType"] = reflect.TypeOf((*ResetVMRequestType)(nil)).Elem()
 69718  }
 69719  
 69720  type ResetVM_Task ResetVMRequestType
 69721  
 69722  func init() {
 69723  	t["ResetVM_Task"] = reflect.TypeOf((*ResetVM_Task)(nil)).Elem()
 69724  }
 69725  
 69726  type ResetVM_TaskResponse struct {
 69727  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 69728  }
 69729  
 69730  // The parameters of `HostDatastoreSystem.ResignatureUnresolvedVmfsVolume_Task`.
 69731  type ResignatureUnresolvedVmfsVolumeRequestType struct {
 69732  	This ManagedObjectReference `xml:"_this" json:"-"`
 69733  	// A data object that describes what the disk
 69734  	// extents to be used for creating the new
 69735  	// VMFS volume.
 69736  	ResolutionSpec HostUnresolvedVmfsResignatureSpec `xml:"resolutionSpec" json:"resolutionSpec"`
 69737  }
 69738  
 69739  func init() {
 69740  	t["ResignatureUnresolvedVmfsVolumeRequestType"] = reflect.TypeOf((*ResignatureUnresolvedVmfsVolumeRequestType)(nil)).Elem()
 69741  }
 69742  
 69743  type ResignatureUnresolvedVmfsVolume_Task ResignatureUnresolvedVmfsVolumeRequestType
 69744  
 69745  func init() {
 69746  	t["ResignatureUnresolvedVmfsVolume_Task"] = reflect.TypeOf((*ResignatureUnresolvedVmfsVolume_Task)(nil)).Elem()
 69747  }
 69748  
 69749  type ResignatureUnresolvedVmfsVolume_TaskResponse struct {
 69750  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 69751  }
 69752  
 69753  // The parameters of `IoFilterManager.ResolveInstallationErrorsOnCluster_Task`.
 69754  type ResolveInstallationErrorsOnClusterRequestType struct {
 69755  	This ManagedObjectReference `xml:"_this" json:"-"`
 69756  	// ID of the filter.
 69757  	FilterId string `xml:"filterId" json:"filterId"`
 69758  	// The cluster.
 69759  	//
 69760  	// Refers instance of `ClusterComputeResource`.
 69761  	Cluster ManagedObjectReference `xml:"cluster" json:"cluster"`
 69762  }
 69763  
 69764  func init() {
 69765  	t["ResolveInstallationErrorsOnClusterRequestType"] = reflect.TypeOf((*ResolveInstallationErrorsOnClusterRequestType)(nil)).Elem()
 69766  }
 69767  
 69768  type ResolveInstallationErrorsOnCluster_Task ResolveInstallationErrorsOnClusterRequestType
 69769  
 69770  func init() {
 69771  	t["ResolveInstallationErrorsOnCluster_Task"] = reflect.TypeOf((*ResolveInstallationErrorsOnCluster_Task)(nil)).Elem()
 69772  }
 69773  
 69774  type ResolveInstallationErrorsOnCluster_TaskResponse struct {
 69775  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 69776  }
 69777  
 69778  // The parameters of `IoFilterManager.ResolveInstallationErrorsOnHost_Task`.
 69779  type ResolveInstallationErrorsOnHostRequestType struct {
 69780  	This ManagedObjectReference `xml:"_this" json:"-"`
 69781  	// ID of the filter.
 69782  	FilterId string `xml:"filterId" json:"filterId"`
 69783  	// The host.
 69784  	//
 69785  	// Refers instance of `HostSystem`.
 69786  	Host ManagedObjectReference `xml:"host" json:"host"`
 69787  }
 69788  
 69789  func init() {
 69790  	t["ResolveInstallationErrorsOnHostRequestType"] = reflect.TypeOf((*ResolveInstallationErrorsOnHostRequestType)(nil)).Elem()
 69791  }
 69792  
 69793  type ResolveInstallationErrorsOnHost_Task ResolveInstallationErrorsOnHostRequestType
 69794  
 69795  func init() {
 69796  	t["ResolveInstallationErrorsOnHost_Task"] = reflect.TypeOf((*ResolveInstallationErrorsOnHost_Task)(nil)).Elem()
 69797  }
 69798  
 69799  type ResolveInstallationErrorsOnHost_TaskResponse struct {
 69800  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 69801  }
 69802  
 69803  type ResolveMultipleUnresolvedVmfsVolumes ResolveMultipleUnresolvedVmfsVolumesRequestType
 69804  
 69805  func init() {
 69806  	t["ResolveMultipleUnresolvedVmfsVolumes"] = reflect.TypeOf((*ResolveMultipleUnresolvedVmfsVolumes)(nil)).Elem()
 69807  }
 69808  
 69809  // The parameters of `HostStorageSystem.ResolveMultipleUnresolvedVmfsVolumesEx_Task`.
 69810  type ResolveMultipleUnresolvedVmfsVolumesExRequestType struct {
 69811  	This ManagedObjectReference `xml:"_this" json:"-"`
 69812  	// List of data object that describes what the disk
 69813  	// extents to be used for creating the new
 69814  	// VMFS volume.
 69815  	ResolutionSpec []HostUnresolvedVmfsResolutionSpec `xml:"resolutionSpec" json:"resolutionSpec"`
 69816  }
 69817  
 69818  func init() {
 69819  	t["ResolveMultipleUnresolvedVmfsVolumesExRequestType"] = reflect.TypeOf((*ResolveMultipleUnresolvedVmfsVolumesExRequestType)(nil)).Elem()
 69820  }
 69821  
 69822  type ResolveMultipleUnresolvedVmfsVolumesEx_Task ResolveMultipleUnresolvedVmfsVolumesExRequestType
 69823  
 69824  func init() {
 69825  	t["ResolveMultipleUnresolvedVmfsVolumesEx_Task"] = reflect.TypeOf((*ResolveMultipleUnresolvedVmfsVolumesEx_Task)(nil)).Elem()
 69826  }
 69827  
 69828  type ResolveMultipleUnresolvedVmfsVolumesEx_TaskResponse struct {
 69829  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 69830  }
 69831  
 69832  // The parameters of `HostStorageSystem.ResolveMultipleUnresolvedVmfsVolumes`.
 69833  type ResolveMultipleUnresolvedVmfsVolumesRequestType struct {
 69834  	This ManagedObjectReference `xml:"_this" json:"-"`
 69835  	// List of data object that describes what the disk
 69836  	// extents to be used for creating the new
 69837  	// VMFS volume.
 69838  	ResolutionSpec []HostUnresolvedVmfsResolutionSpec `xml:"resolutionSpec" json:"resolutionSpec"`
 69839  }
 69840  
 69841  func init() {
 69842  	t["ResolveMultipleUnresolvedVmfsVolumesRequestType"] = reflect.TypeOf((*ResolveMultipleUnresolvedVmfsVolumesRequestType)(nil)).Elem()
 69843  }
 69844  
 69845  type ResolveMultipleUnresolvedVmfsVolumesResponse struct {
 69846  	Returnval []HostUnresolvedVmfsResolutionResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 69847  }
 69848  
 69849  // The ResourceAllocationInfo data object specifies the reserved resource
 69850  // requirement as well as the limit (maximum allowed usage) for a given
 69851  // kind of resource.
 69852  //
 69853  // This is specified for both memory
 69854  // allocation (specified in MB) and CPU allocation (specified in MHz).
 69855  //
 69856  // For a `ResourcePool`, the ResourceAllocationInfo object describes
 69857  // both the guaranteed amount of the resource (`ResourceAllocationInfo.reservation`)
 69858  // and whether or not it is expandable
 69859  // (`ResourceAllocationInfo.expandableReservation`).
 69860  // If expandableReservation is true, then the resource pool can grow its reservation
 69861  // dynamically by borrowing unreserved resources from its parent resource pool.
 69862  // For the methods `ResourcePool.CreateResourcePool`,
 69863  // `ResourcePool.CreateVApp` and `ResourcePool.ImportVApp`,
 69864  // you must provide values for all properties except overheadLimit; they are not optional.
 69865  // (Currently, overheadLimit is for vCenter Server use only.)
 69866  //
 69867  // If the limit is configured, it must be greater than or equal to the
 69868  // reservation.
 69869  type ResourceAllocationInfo struct {
 69870  	DynamicData
 69871  
 69872  	// Amount of resource that is guaranteed available to the virtual machine or
 69873  	// resource pool.
 69874  	//
 69875  	// Reserved resources are not wasted if they are not used. If
 69876  	// the utilization is less than the reservation, the resources can be utilized by
 69877  	// other running virtual machines. Units are MB for memory, MHz for CPU.
 69878  	Reservation *int64 `xml:"reservation" json:"reservation,omitempty"`
 69879  	// In a resource pool with an expandable reservation, the reservation on a resource
 69880  	// pool can grow beyond the specified value, if the parent resource pool has
 69881  	// unreserved resources.
 69882  	//
 69883  	// A non-expandable reservation is called a fixed
 69884  	// reservation. This property is invalid for virtual machines.
 69885  	ExpandableReservation *bool `xml:"expandableReservation" json:"expandableReservation,omitempty"`
 69886  	// The utilization of a virtual machine/resource pool will not exceed this limit, even
 69887  	// if there are available resources.
 69888  	//
 69889  	// This is typically used to ensure a consistent
 69890  	// performance of virtual machines / resource pools independent of available resources.
 69891  	// If set to -1, then there is no fixed limit on resource usage (only bounded by available
 69892  	// resources and shares). Units are MB for memory, MHz for CPU.
 69893  	Limit *int64 `xml:"limit" json:"limit,omitempty"`
 69894  	// Memory shares are used in case of resource contention.
 69895  	Shares *SharesInfo `xml:"shares,omitempty" json:"shares,omitempty"`
 69896  	// The maximum allowed overhead memory.
 69897  	//
 69898  	// For a powered on virtual
 69899  	// machine, the overhead memory reservation cannot be larger than its
 69900  	// overheadLimit. This property is only applicable to powered on
 69901  	// virtual machines and is not persisted across reboots. This property
 69902  	// is not applicable for resource pools. If set to -1, then there is
 69903  	// no limit on reservation. Units are MB.
 69904  	//
 69905  	// Note: For vCenter Server use only. Not available for other clients
 69906  	// at this time.
 69907  	// The server will throw an exception if you attempt to set
 69908  	// this property.
 69909  	OverheadLimit *int64 `xml:"overheadLimit" json:"overheadLimit,omitempty" vim:"2.5"`
 69910  }
 69911  
 69912  func init() {
 69913  	t["ResourceAllocationInfo"] = reflect.TypeOf((*ResourceAllocationInfo)(nil)).Elem()
 69914  }
 69915  
 69916  // The ResourceAllocationOption data object specifies value ranges and
 69917  // default values for `ResourceAllocationInfo`.
 69918  type ResourceAllocationOption struct {
 69919  	DynamicData
 69920  
 69921  	// Default value and value range for `ResourceAllocationInfo.shares`.
 69922  	SharesOption SharesOption `xml:"sharesOption" json:"sharesOption"`
 69923  }
 69924  
 69925  func init() {
 69926  	t["ResourceAllocationOption"] = reflect.TypeOf((*ResourceAllocationOption)(nil)).Elem()
 69927  	minAPIVersionForType["ResourceAllocationOption"] = "4.1"
 69928  }
 69929  
 69930  // This data object type is a default value and value range specification
 69931  // for `ResourceConfigSpec` object.
 69932  type ResourceConfigOption struct {
 69933  	DynamicData
 69934  
 69935  	// Resource allocation options for CPU.
 69936  	//
 69937  	// See also `ResourceAllocationInfo`.
 69938  	CpuAllocationOption ResourceAllocationOption `xml:"cpuAllocationOption" json:"cpuAllocationOption"`
 69939  	// Resource allocation options for memory.
 69940  	//
 69941  	// See also `ResourceAllocationInfo`.
 69942  	MemoryAllocationOption ResourceAllocationOption `xml:"memoryAllocationOption" json:"memoryAllocationOption"`
 69943  }
 69944  
 69945  func init() {
 69946  	t["ResourceConfigOption"] = reflect.TypeOf((*ResourceConfigOption)(nil)).Elem()
 69947  	minAPIVersionForType["ResourceConfigOption"] = "4.1"
 69948  }
 69949  
 69950  // This data object type is a specification for a set of resources
 69951  // allocated to a virtual machine or a resource pool.
 69952  type ResourceConfigSpec struct {
 69953  	DynamicData
 69954  
 69955  	// Reference to the entity with this resource specification:
 69956  	// either a VirtualMachine or a ResourcePool.
 69957  	//
 69958  	// Refers instance of `ManagedEntity`.
 69959  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 69960  	// The changeVersion is a unique identifier for a given version
 69961  	// of the configuration.
 69962  	//
 69963  	// Each change to the configuration will
 69964  	// update this value. This is typically implemented as an ever
 69965  	// increasing count or a time-stamp. However, a client should
 69966  	// always treat this as an opaque string.
 69967  	//
 69968  	// If specified when updating the resource config., the
 69969  	// changes will only be applied if the current changeVersion matches the
 69970  	// specified changeVersion. This field can be used to guard against updates that
 69971  	// has happened between the configInfo was read and until it is applied.
 69972  	ChangeVersion string `xml:"changeVersion,omitempty" json:"changeVersion,omitempty"`
 69973  	// Timestamp when the resources were last modified.
 69974  	//
 69975  	// This is ignored when
 69976  	// the object is used to update a configuration.
 69977  	LastModified *time.Time `xml:"lastModified" json:"lastModified,omitempty"`
 69978  	// Resource allocation for CPU.
 69979  	CpuAllocation ResourceAllocationInfo `xml:"cpuAllocation" json:"cpuAllocation"`
 69980  	// Resource allocation for memory.
 69981  	MemoryAllocation ResourceAllocationInfo `xml:"memoryAllocation" json:"memoryAllocation"`
 69982  	// Specifies the scaling behavior of the shares of all descendant resource
 69983  	// pools under a given resource pool.
 69984  	//
 69985  	// See `ResourceConfigSpecScaleSharesBehavior_enum` for possible values. If any
 69986  	// scaling behavior other than `disabled` is
 69987  	// specified, the system will scale the CPU and memory shares allocated to
 69988  	// each descendant resource pool with the total shares of all powered on
 69989  	// virtual machines under each respective pool. The system will also use the
 69990  	// `SharesInfo` set on each descendant resource pool as a
 69991  	// multiplier for the scale. If a resource pool's shares are already
 69992  	// scalable through the `ResourceConfigSpec.scaleDescendantsShares` setting on an ancestor
 69993  	// resource pool, the system will not allow `ResourceConfigSpec.scaleDescendantsShares` to be set on the resource
 69994  	// pool. The `ResourcePoolRuntimeInfo.sharesScalable` property
 69995  	// indicates whether or not a resource pool's shares are scalable. This
 69996  	// property does not apply to virtual machines.
 69997  	ScaleDescendantsShares string `xml:"scaleDescendantsShares,omitempty" json:"scaleDescendantsShares,omitempty" vim:"7.0"`
 69998  }
 69999  
 70000  func init() {
 70001  	t["ResourceConfigSpec"] = reflect.TypeOf((*ResourceConfigSpec)(nil)).Elem()
 70002  }
 70003  
 70004  // A ResourceInUse fault indicating that some error has occurred because a
 70005  // resource was in use.
 70006  //
 70007  // Information about the resource that is in use may
 70008  // be supplied.
 70009  type ResourceInUse struct {
 70010  	VimFault
 70011  
 70012  	// Type of resource that is in use.
 70013  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 70014  	// Name of the instance of the resource that is in use.
 70015  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 70016  }
 70017  
 70018  func init() {
 70019  	t["ResourceInUse"] = reflect.TypeOf((*ResourceInUse)(nil)).Elem()
 70020  }
 70021  
 70022  type ResourceInUseFault BaseResourceInUse
 70023  
 70024  func init() {
 70025  	t["ResourceInUseFault"] = reflect.TypeOf((*ResourceInUseFault)(nil)).Elem()
 70026  }
 70027  
 70028  // A ResourceNotAvailable fault indicating that some error has occurred because a
 70029  // resource was not available.
 70030  //
 70031  // Information about the resource that is in use may
 70032  // be supplied.
 70033  type ResourceNotAvailable struct {
 70034  	VimFault
 70035  
 70036  	// Type of container that contains the resource.
 70037  	ContainerType string `xml:"containerType,omitempty" json:"containerType,omitempty"`
 70038  	// Name of container that contains the resource.
 70039  	//
 70040  	// .
 70041  	ContainerName string `xml:"containerName,omitempty" json:"containerName,omitempty"`
 70042  	// Type of resource that is not available.
 70043  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 70044  }
 70045  
 70046  func init() {
 70047  	t["ResourceNotAvailable"] = reflect.TypeOf((*ResourceNotAvailable)(nil)).Elem()
 70048  	minAPIVersionForType["ResourceNotAvailable"] = "4.0"
 70049  }
 70050  
 70051  type ResourceNotAvailableFault ResourceNotAvailable
 70052  
 70053  func init() {
 70054  	t["ResourceNotAvailableFault"] = reflect.TypeOf((*ResourceNotAvailableFault)(nil)).Elem()
 70055  }
 70056  
 70057  // This event records when a new resource pool is created.
 70058  type ResourcePoolCreatedEvent struct {
 70059  	ResourcePoolEvent
 70060  
 70061  	// The parent resource pool that new resource pool belongs to.
 70062  	Parent ResourcePoolEventArgument `xml:"parent" json:"parent"`
 70063  }
 70064  
 70065  func init() {
 70066  	t["ResourcePoolCreatedEvent"] = reflect.TypeOf((*ResourcePoolCreatedEvent)(nil)).Elem()
 70067  }
 70068  
 70069  // This event records when a resource pool is destroyed.
 70070  type ResourcePoolDestroyedEvent struct {
 70071  	ResourcePoolEvent
 70072  }
 70073  
 70074  func init() {
 70075  	t["ResourcePoolDestroyedEvent"] = reflect.TypeOf((*ResourcePoolDestroyedEvent)(nil)).Elem()
 70076  }
 70077  
 70078  // This event is the base class for all resource pool events.
 70079  type ResourcePoolEvent struct {
 70080  	Event
 70081  
 70082  	ResourcePool ResourcePoolEventArgument `xml:"resourcePool" json:"resourcePool"`
 70083  }
 70084  
 70085  func init() {
 70086  	t["ResourcePoolEvent"] = reflect.TypeOf((*ResourcePoolEvent)(nil)).Elem()
 70087  }
 70088  
 70089  // The event argument is a ResourcePool object.
 70090  type ResourcePoolEventArgument struct {
 70091  	EntityEventArgument
 70092  
 70093  	// The ResourcePool object.
 70094  	//
 70095  	// Refers instance of `ResourcePool`.
 70096  	ResourcePool ManagedObjectReference `xml:"resourcePool" json:"resourcePool"`
 70097  }
 70098  
 70099  func init() {
 70100  	t["ResourcePoolEventArgument"] = reflect.TypeOf((*ResourcePoolEventArgument)(nil)).Elem()
 70101  }
 70102  
 70103  // This event records when a resource pool is moved.
 70104  type ResourcePoolMovedEvent struct {
 70105  	ResourcePoolEvent
 70106  
 70107  	// The old parent of the resource Pool.
 70108  	OldParent ResourcePoolEventArgument `xml:"oldParent" json:"oldParent"`
 70109  	// The new parent of the resource Pool.
 70110  	NewParent ResourcePoolEventArgument `xml:"newParent" json:"newParent"`
 70111  }
 70112  
 70113  func init() {
 70114  	t["ResourcePoolMovedEvent"] = reflect.TypeOf((*ResourcePoolMovedEvent)(nil)).Elem()
 70115  }
 70116  
 70117  // A set of statistics that are typically updated with near real-time regularity.
 70118  //
 70119  // These statistics are aggregates of the corresponding statistics of all virtual
 70120  // machines in the given resource pool, and unless otherwise noted, only make sense
 70121  // when at least one virtual machine in the given resource pool is powered on.
 70122  // This data object type does not support notification, for scalability reasons.
 70123  // Therefore, changes in QuickStats do not generate property collector updates. To
 70124  // monitor statistics values, use the statistics and alarms modules instead.
 70125  type ResourcePoolQuickStats struct {
 70126  	DynamicData
 70127  
 70128  	// Basic CPU performance statistics, in MHz.
 70129  	OverallCpuUsage int64 `xml:"overallCpuUsage,omitempty" json:"overallCpuUsage,omitempty"`
 70130  	// Basic CPU performance statistics, in MHz.
 70131  	OverallCpuDemand int64 `xml:"overallCpuDemand,omitempty" json:"overallCpuDemand,omitempty"`
 70132  	// Guest memory utilization statistics, in MB.
 70133  	//
 70134  	// This
 70135  	// is also known as active guest memory. The number
 70136  	// can be between 0 and the configured memory size of
 70137  	// a virtual machine.
 70138  	GuestMemoryUsage int64 `xml:"guestMemoryUsage,omitempty" json:"guestMemoryUsage,omitempty"`
 70139  	// Host memory utilization statistics, in MB.
 70140  	//
 70141  	// This
 70142  	// is also known as consummed host memory. This is between 0 and
 70143  	// the configured resource limit. Valid while a virtual machine is
 70144  	// running. This includes the overhead memory of a virtual machine.
 70145  	HostMemoryUsage int64 `xml:"hostMemoryUsage,omitempty" json:"hostMemoryUsage,omitempty"`
 70146  	// This is the amount of CPU resource, in MHz, that this VM is entitled to, as
 70147  	// calculated by DRS.
 70148  	//
 70149  	// Valid only for a VM managed by DRS.
 70150  	DistributedCpuEntitlement int64 `xml:"distributedCpuEntitlement,omitempty" json:"distributedCpuEntitlement,omitempty"`
 70151  	// This is the amount of memory, in MB, that this VM is entitled to, as
 70152  	// calculated by DRS.
 70153  	//
 70154  	// Valid only for a VM managed by DRS.
 70155  	DistributedMemoryEntitlement int64 `xml:"distributedMemoryEntitlement,omitempty" json:"distributedMemoryEntitlement,omitempty"`
 70156  	// The static CPU resource entitlement for a virtual machine.
 70157  	//
 70158  	// This value is
 70159  	// calculated based on this virtual machine's resource reservations, shares
 70160  	// and limit, and doesn't take into account current usage. This is the worst
 70161  	// case CPU allocation for this virtual machine, that is, the amount of CPU
 70162  	// resource this virtual machine would receive if all virtual machines running
 70163  	// in the cluster went to maximum consumption. Units are MHz.
 70164  	StaticCpuEntitlement int32 `xml:"staticCpuEntitlement,omitempty" json:"staticCpuEntitlement,omitempty"`
 70165  	// The static memory resource entitlement for a virtual machine.
 70166  	//
 70167  	// This value is
 70168  	// calculated based on this virtual machine's resource reservations, shares
 70169  	// and limit, and doesn't take into account current usage. This is the worst
 70170  	// case memory allocation for this virtual machine, that is, the amount of
 70171  	// memory this virtual machine would receive if all virtual machines running
 70172  	// in the cluster went to maximum consumption. Units are MB.
 70173  	StaticMemoryEntitlement int32 `xml:"staticMemoryEntitlement,omitempty" json:"staticMemoryEntitlement,omitempty"`
 70174  	// The portion of memory, in MB, that is granted to a virtual machine from
 70175  	// non-shared host memory.
 70176  	PrivateMemory int64 `xml:"privateMemory,omitempty" json:"privateMemory,omitempty"`
 70177  	// The portion of memory, in MB, that is granted to a virtual machine from host
 70178  	// memory that is shared between VMs.
 70179  	SharedMemory int64 `xml:"sharedMemory,omitempty" json:"sharedMemory,omitempty"`
 70180  	// The portion of memory, in MB, that is granted to a virtual machine from the
 70181  	// host's swap space.
 70182  	//
 70183  	// This is a sign that there is memory pressure on the host.
 70184  	SwappedMemory int64 `xml:"swappedMemory,omitempty" json:"swappedMemory,omitempty"`
 70185  	// The size of the balloon driver in a virtual machine, in MB.
 70186  	//
 70187  	// The host will
 70188  	// inflate the balloon driver to reclaim physical memory from a virtual machine.
 70189  	// This is a sign that there is memory pressure on the host.
 70190  	BalloonedMemory int64 `xml:"balloonedMemory,omitempty" json:"balloonedMemory,omitempty"`
 70191  	// The amount of memory resource (in MB) that will be used by
 70192  	// a virtual machine above its guest memory requirements.
 70193  	//
 70194  	// This value is set if and only if a virtual machine is registered
 70195  	// on a host that supports memory resource allocation features.
 70196  	// For powered off VMs, this is the minimum overhead required to
 70197  	// power on the VM on the registered host.
 70198  	// For powered on VMs, this is the current overhead reservation, a
 70199  	// value which is almost always larger than the minimum overhead, and
 70200  	// which grows with time.
 70201  	//
 70202  	// See also `HostSystem.QueryMemoryOverheadEx`.
 70203  	OverheadMemory int64 `xml:"overheadMemory,omitempty" json:"overheadMemory,omitempty"`
 70204  	// The amount of overhead memory, in MB, currently being consumed to run a VM.
 70205  	//
 70206  	// This value is limited by the overhead memory reservation for a VM, stored
 70207  	// in `ResourcePoolQuickStats.overheadMemory`.
 70208  	ConsumedOverheadMemory int64 `xml:"consumedOverheadMemory,omitempty" json:"consumedOverheadMemory,omitempty"`
 70209  	// The amount of compressed memory currently consumed by VM, in KB.
 70210  	CompressedMemory int64 `xml:"compressedMemory,omitempty" json:"compressedMemory,omitempty" vim:"4.1"`
 70211  }
 70212  
 70213  func init() {
 70214  	t["ResourcePoolQuickStats"] = reflect.TypeOf((*ResourcePoolQuickStats)(nil)).Elem()
 70215  	minAPIVersionForType["ResourcePoolQuickStats"] = "4.0"
 70216  }
 70217  
 70218  // This event records when a resource pool configuration is changed.
 70219  type ResourcePoolReconfiguredEvent struct {
 70220  	ResourcePoolEvent
 70221  
 70222  	// The configuration values changed during the reconfiguration.
 70223  	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty" vim:"6.5"`
 70224  }
 70225  
 70226  func init() {
 70227  	t["ResourcePoolReconfiguredEvent"] = reflect.TypeOf((*ResourcePoolReconfiguredEvent)(nil)).Elem()
 70228  }
 70229  
 70230  // Specifies the resource usage for either memory
 70231  // or CPU.
 70232  //
 70233  // For CPU the unit is MHz, for memory the unit is bytes.
 70234  //
 70235  // In the typical case, where a resourcepool is in a consistent state,
 70236  // unreservedForVm will be equal to unreservedForPool. Hence, we
 70237  // can simply say talk about unreserved resources.
 70238  //
 70239  // If the reservation on the resource pool is not expandable, then
 70240  // the following is true:
 70241  //
 70242  //	reservation = reservationUsed + unreserved
 70243  //
 70244  // If the reservation on the resource pool is expandable, then
 70245  // the following is true:
 70246  //
 70247  //	reservation + parent.unreserved = reservationUsed + unreserved
 70248  type ResourcePoolResourceUsage struct {
 70249  	DynamicData
 70250  
 70251  	// Total amount of resources that have been used to satisfy the
 70252  	// reservation requirements of all descendants of this
 70253  	// resource pool (includes both resource pools and virtual
 70254  	// machines).
 70255  	ReservationUsed int64 `xml:"reservationUsed" json:"reservationUsed"`
 70256  	// Total amount of resources that have been used to satisfy the reservation
 70257  	// requirements of running virtual machines in this resource pool or any of its
 70258  	// child resource pools.
 70259  	ReservationUsedForVm int64 `xml:"reservationUsedForVm" json:"reservationUsedForVm"`
 70260  	// Total amount of resources available to satisfy a reservation
 70261  	// for a child resource pool.
 70262  	//
 70263  	// In the undercommitted state, this is
 70264  	// limited by the capacity at the root node. In the overcommitted case,
 70265  	// this could be higher since we do not perform the dynamic capacity
 70266  	// checks.
 70267  	UnreservedForPool int64 `xml:"unreservedForPool" json:"unreservedForPool"`
 70268  	// Total amount of resources available to satisfy a reservation for
 70269  	// a child virtual machine.
 70270  	//
 70271  	// In general, this should be the same as
 70272  	// `ResourcePoolResourceUsage.unreservedForPool`. However, in the overcommitted case, this
 70273  	// is limited by the remaining available resources at the root
 70274  	// node.
 70275  	UnreservedForVm int64 `xml:"unreservedForVm" json:"unreservedForVm"`
 70276  	// Deprecated as of vSphere API 6.5.
 70277  	// Use `ResourcePoolQuickStats.overallCpuUsage` and
 70278  	// `ResourcePoolQuickStats.hostMemoryUsage`.
 70279  	//
 70280  	// Close to real-time resource usage of all running child virtual
 70281  	// machines, including virtual machines in child resource pools.
 70282  	OverallUsage int64 `xml:"overallUsage" json:"overallUsage"`
 70283  	// Current upper-bound on usage.
 70284  	//
 70285  	// The upper-bound is based on the limit configured
 70286  	// on this resource pool, as well as limits configured on any parent resource
 70287  	// pool.
 70288  	MaxUsage int64 `xml:"maxUsage" json:"maxUsage"`
 70289  }
 70290  
 70291  func init() {
 70292  	t["ResourcePoolResourceUsage"] = reflect.TypeOf((*ResourcePoolResourceUsage)(nil)).Elem()
 70293  }
 70294  
 70295  // Current runtime resource usage and state of the resource pool
 70296  type ResourcePoolRuntimeInfo struct {
 70297  	DynamicData
 70298  
 70299  	// Runtime resource usage for memory.
 70300  	//
 70301  	// Values are in bytes.
 70302  	Memory ResourcePoolResourceUsage `xml:"memory" json:"memory"`
 70303  	// Runtime resource usage for CPU.
 70304  	//
 70305  	// Values are in Mhz.
 70306  	Cpu ResourcePoolResourceUsage `xml:"cpu" json:"cpu"`
 70307  	// Deprecated as of vSphere API 6.5.
 70308  	// Use `ManagedEntity.overallStatus`.
 70309  	//
 70310  	// Overall health of the tree.
 70311  	//
 70312  	// See header for description of various
 70313  	// statuses and when they are set.
 70314  	OverallStatus ManagedEntityStatus `xml:"overallStatus" json:"overallStatus"`
 70315  	// The scaling behavior of the shares of a given resource pool.
 70316  	//
 70317  	// See `ResourceConfigSpecScaleSharesBehavior_enum` for possible values. The
 70318  	// system will automatically compute this property based on the `ResourceConfigSpec.scaleDescendantsShares` setting on every
 70319  	// ancestor resource pool. This property does not apply to virtual
 70320  	// machines.
 70321  	SharesScalable string `xml:"sharesScalable,omitempty" json:"sharesScalable,omitempty" vim:"7.0"`
 70322  }
 70323  
 70324  func init() {
 70325  	t["ResourcePoolRuntimeInfo"] = reflect.TypeOf((*ResourcePoolRuntimeInfo)(nil)).Elem()
 70326  }
 70327  
 70328  // This data object type encapsulates a typical set of resource
 70329  // pool information that is useful for list views and summary pages.
 70330  type ResourcePoolSummary struct {
 70331  	DynamicData
 70332  
 70333  	// Name of resource pool.
 70334  	Name string `xml:"name" json:"name"`
 70335  	// Current configuration of the resource pool.
 70336  	Config ResourceConfigSpec `xml:"config" json:"config"`
 70337  	// Current runtime state of the resource pool.
 70338  	Runtime ResourcePoolRuntimeInfo `xml:"runtime" json:"runtime"`
 70339  	// A set of statistics that are typically updated with near real-time regularity.
 70340  	//
 70341  	// This data object type does not support notification, for scalability reasons.
 70342  	// Therefore, changes in QuickStats do not generate property collector updates.
 70343  	// To monitor statistics values, use the statistics and alarms modules instead.
 70344  	QuickStats *ResourcePoolQuickStats `xml:"quickStats,omitempty" json:"quickStats,omitempty" vim:"4.0"`
 70345  	// Total configured memory of all virtual machines in the resource pool, in MB.
 70346  	ConfiguredMemoryMB int32 `xml:"configuredMemoryMB,omitempty" json:"configuredMemoryMB,omitempty" vim:"4.0"`
 70347  }
 70348  
 70349  func init() {
 70350  	t["ResourcePoolSummary"] = reflect.TypeOf((*ResourcePoolSummary)(nil)).Elem()
 70351  }
 70352  
 70353  // This event records when a conflict with a resource pool's resource
 70354  // configuration is detected.
 70355  type ResourceViolatedEvent struct {
 70356  	ResourcePoolEvent
 70357  }
 70358  
 70359  func init() {
 70360  	t["ResourceViolatedEvent"] = reflect.TypeOf((*ResourceViolatedEvent)(nil)).Elem()
 70361  }
 70362  
 70363  type RestartService RestartServiceRequestType
 70364  
 70365  func init() {
 70366  	t["RestartService"] = reflect.TypeOf((*RestartService)(nil)).Elem()
 70367  }
 70368  
 70369  type RestartServiceConsoleVirtualNic RestartServiceConsoleVirtualNicRequestType
 70370  
 70371  func init() {
 70372  	t["RestartServiceConsoleVirtualNic"] = reflect.TypeOf((*RestartServiceConsoleVirtualNic)(nil)).Elem()
 70373  }
 70374  
 70375  // The parameters of `HostNetworkSystem.RestartServiceConsoleVirtualNic`.
 70376  type RestartServiceConsoleVirtualNicRequestType struct {
 70377  	This   ManagedObjectReference `xml:"_this" json:"-"`
 70378  	Device string                 `xml:"device" json:"device"`
 70379  }
 70380  
 70381  func init() {
 70382  	t["RestartServiceConsoleVirtualNicRequestType"] = reflect.TypeOf((*RestartServiceConsoleVirtualNicRequestType)(nil)).Elem()
 70383  }
 70384  
 70385  type RestartServiceConsoleVirtualNicResponse struct {
 70386  }
 70387  
 70388  // The parameters of `HostServiceSystem.RestartService`.
 70389  type RestartServiceRequestType struct {
 70390  	This ManagedObjectReference `xml:"_this" json:"-"`
 70391  	// Service identifier
 70392  	// (`HostServiceSystem.serviceInfo*.*HostServiceInfo.service*.*HostService.key`).
 70393  	Id string `xml:"id" json:"id"`
 70394  }
 70395  
 70396  func init() {
 70397  	t["RestartServiceRequestType"] = reflect.TypeOf((*RestartServiceRequestType)(nil)).Elem()
 70398  }
 70399  
 70400  type RestartServiceResponse struct {
 70401  }
 70402  
 70403  type RestoreFirmwareConfiguration RestoreFirmwareConfigurationRequestType
 70404  
 70405  func init() {
 70406  	t["RestoreFirmwareConfiguration"] = reflect.TypeOf((*RestoreFirmwareConfiguration)(nil)).Elem()
 70407  }
 70408  
 70409  // The parameters of `HostFirmwareSystem.RestoreFirmwareConfiguration`.
 70410  type RestoreFirmwareConfigurationRequestType struct {
 70411  	This ManagedObjectReference `xml:"_this" json:"-"`
 70412  	// Forces application of the configuration even if the bundle
 70413  	// is mismatched.
 70414  	Force bool `xml:"force" json:"force"`
 70415  }
 70416  
 70417  func init() {
 70418  	t["RestoreFirmwareConfigurationRequestType"] = reflect.TypeOf((*RestoreFirmwareConfigurationRequestType)(nil)).Elem()
 70419  }
 70420  
 70421  type RestoreFirmwareConfigurationResponse struct {
 70422  }
 70423  
 70424  // This fault is thrown when an operation cannot complete because of some
 70425  // restriction set by the server administrator.
 70426  type RestrictedByAdministrator struct {
 70427  	RuntimeFault
 70428  
 70429  	Details string `xml:"details" json:"details"`
 70430  }
 70431  
 70432  func init() {
 70433  	t["RestrictedByAdministrator"] = reflect.TypeOf((*RestrictedByAdministrator)(nil)).Elem()
 70434  	minAPIVersionForType["RestrictedByAdministrator"] = "6.0"
 70435  }
 70436  
 70437  type RestrictedByAdministratorFault RestrictedByAdministrator
 70438  
 70439  func init() {
 70440  	t["RestrictedByAdministratorFault"] = reflect.TypeOf((*RestrictedByAdministratorFault)(nil)).Elem()
 70441  }
 70442  
 70443  // Thrown when the caller is not permitted to perform the specified
 70444  // operation due to product versioning restrictions.
 70445  type RestrictedVersion struct {
 70446  	SecurityError
 70447  }
 70448  
 70449  func init() {
 70450  	t["RestrictedVersion"] = reflect.TypeOf((*RestrictedVersion)(nil)).Elem()
 70451  	minAPIVersionForType["RestrictedVersion"] = "2.5"
 70452  }
 70453  
 70454  type RestrictedVersionFault RestrictedVersion
 70455  
 70456  func init() {
 70457  	t["RestrictedVersionFault"] = reflect.TypeOf((*RestrictedVersionFault)(nil)).Elem()
 70458  }
 70459  
 70460  type RetrieveAllPermissions RetrieveAllPermissionsRequestType
 70461  
 70462  func init() {
 70463  	t["RetrieveAllPermissions"] = reflect.TypeOf((*RetrieveAllPermissions)(nil)).Elem()
 70464  }
 70465  
 70466  type RetrieveAllPermissionsRequestType struct {
 70467  	This ManagedObjectReference `xml:"_this" json:"-"`
 70468  }
 70469  
 70470  func init() {
 70471  	t["RetrieveAllPermissionsRequestType"] = reflect.TypeOf((*RetrieveAllPermissionsRequestType)(nil)).Elem()
 70472  }
 70473  
 70474  type RetrieveAllPermissionsResponse struct {
 70475  	Returnval []Permission `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70476  }
 70477  
 70478  type RetrieveAnswerFile RetrieveAnswerFileRequestType
 70479  
 70480  func init() {
 70481  	t["RetrieveAnswerFile"] = reflect.TypeOf((*RetrieveAnswerFile)(nil)).Elem()
 70482  }
 70483  
 70484  type RetrieveAnswerFileForProfile RetrieveAnswerFileForProfileRequestType
 70485  
 70486  func init() {
 70487  	t["RetrieveAnswerFileForProfile"] = reflect.TypeOf((*RetrieveAnswerFileForProfile)(nil)).Elem()
 70488  }
 70489  
 70490  // The parameters of `HostProfileManager.RetrieveAnswerFileForProfile`.
 70491  type RetrieveAnswerFileForProfileRequestType struct {
 70492  	This ManagedObjectReference `xml:"_this" json:"-"`
 70493  	// Host with which the answer file is associated.
 70494  	//
 70495  	// Required privileges: Profile.Edit
 70496  	//
 70497  	// Refers instance of `HostSystem`.
 70498  	Host ManagedObjectReference `xml:"host" json:"host"`
 70499  	// Profile configuration used to generate answer file
 70500  	ApplyProfile HostApplyProfile `xml:"applyProfile" json:"applyProfile"`
 70501  }
 70502  
 70503  func init() {
 70504  	t["RetrieveAnswerFileForProfileRequestType"] = reflect.TypeOf((*RetrieveAnswerFileForProfileRequestType)(nil)).Elem()
 70505  }
 70506  
 70507  type RetrieveAnswerFileForProfileResponse struct {
 70508  	Returnval *AnswerFile `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70509  }
 70510  
 70511  // The parameters of `HostProfileManager.RetrieveAnswerFile`.
 70512  type RetrieveAnswerFileRequestType struct {
 70513  	This ManagedObjectReference `xml:"_this" json:"-"`
 70514  	// Host with which the answer file is associated.
 70515  	//
 70516  	// Required privileges: Profile.Edit
 70517  	//
 70518  	// Refers instance of `HostSystem`.
 70519  	Host ManagedObjectReference `xml:"host" json:"host"`
 70520  }
 70521  
 70522  func init() {
 70523  	t["RetrieveAnswerFileRequestType"] = reflect.TypeOf((*RetrieveAnswerFileRequestType)(nil)).Elem()
 70524  }
 70525  
 70526  type RetrieveAnswerFileResponse struct {
 70527  	Returnval *AnswerFile `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70528  }
 70529  
 70530  type RetrieveArgumentDescription RetrieveArgumentDescriptionRequestType
 70531  
 70532  func init() {
 70533  	t["RetrieveArgumentDescription"] = reflect.TypeOf((*RetrieveArgumentDescription)(nil)).Elem()
 70534  }
 70535  
 70536  // The parameters of `EventManager.RetrieveArgumentDescription`.
 70537  type RetrieveArgumentDescriptionRequestType struct {
 70538  	This        ManagedObjectReference `xml:"_this" json:"-"`
 70539  	EventTypeId string                 `xml:"eventTypeId" json:"eventTypeId"`
 70540  }
 70541  
 70542  func init() {
 70543  	t["RetrieveArgumentDescriptionRequestType"] = reflect.TypeOf((*RetrieveArgumentDescriptionRequestType)(nil)).Elem()
 70544  }
 70545  
 70546  type RetrieveArgumentDescriptionResponse struct {
 70547  	Returnval []EventArgDesc `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70548  }
 70549  
 70550  type RetrieveCertificateInfoList RetrieveCertificateInfoListRequestType
 70551  
 70552  func init() {
 70553  	t["RetrieveCertificateInfoList"] = reflect.TypeOf((*RetrieveCertificateInfoList)(nil)).Elem()
 70554  }
 70555  
 70556  type RetrieveCertificateInfoListRequestType struct {
 70557  	This ManagedObjectReference `xml:"_this" json:"-"`
 70558  }
 70559  
 70560  func init() {
 70561  	t["RetrieveCertificateInfoListRequestType"] = reflect.TypeOf((*RetrieveCertificateInfoListRequestType)(nil)).Elem()
 70562  }
 70563  
 70564  type RetrieveCertificateInfoListResponse struct {
 70565  	Returnval []HostCertificateManagerCertificateInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70566  }
 70567  
 70568  type RetrieveClientCert RetrieveClientCertRequestType
 70569  
 70570  func init() {
 70571  	t["RetrieveClientCert"] = reflect.TypeOf((*RetrieveClientCert)(nil)).Elem()
 70572  }
 70573  
 70574  // The parameters of `CryptoManagerKmip.RetrieveClientCert`.
 70575  type RetrieveClientCertRequestType struct {
 70576  	This ManagedObjectReference `xml:"_this" json:"-"`
 70577  	// \[in\] KMIP cluster.
 70578  	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
 70579  }
 70580  
 70581  func init() {
 70582  	t["RetrieveClientCertRequestType"] = reflect.TypeOf((*RetrieveClientCertRequestType)(nil)).Elem()
 70583  }
 70584  
 70585  type RetrieveClientCertResponse struct {
 70586  	Returnval string `xml:"returnval" json:"returnval"`
 70587  }
 70588  
 70589  type RetrieveClientCsr RetrieveClientCsrRequestType
 70590  
 70591  func init() {
 70592  	t["RetrieveClientCsr"] = reflect.TypeOf((*RetrieveClientCsr)(nil)).Elem()
 70593  }
 70594  
 70595  // The parameters of `CryptoManagerKmip.RetrieveClientCsr`.
 70596  type RetrieveClientCsrRequestType struct {
 70597  	This ManagedObjectReference `xml:"_this" json:"-"`
 70598  	// \[in\] KMIP cluster.
 70599  	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
 70600  }
 70601  
 70602  func init() {
 70603  	t["RetrieveClientCsrRequestType"] = reflect.TypeOf((*RetrieveClientCsrRequestType)(nil)).Elem()
 70604  }
 70605  
 70606  type RetrieveClientCsrResponse struct {
 70607  	Returnval string `xml:"returnval" json:"returnval"`
 70608  }
 70609  
 70610  type RetrieveDasAdvancedRuntimeInfo RetrieveDasAdvancedRuntimeInfoRequestType
 70611  
 70612  func init() {
 70613  	t["RetrieveDasAdvancedRuntimeInfo"] = reflect.TypeOf((*RetrieveDasAdvancedRuntimeInfo)(nil)).Elem()
 70614  }
 70615  
 70616  type RetrieveDasAdvancedRuntimeInfoRequestType struct {
 70617  	This ManagedObjectReference `xml:"_this" json:"-"`
 70618  }
 70619  
 70620  func init() {
 70621  	t["RetrieveDasAdvancedRuntimeInfoRequestType"] = reflect.TypeOf((*RetrieveDasAdvancedRuntimeInfoRequestType)(nil)).Elem()
 70622  }
 70623  
 70624  type RetrieveDasAdvancedRuntimeInfoResponse struct {
 70625  	Returnval BaseClusterDasAdvancedRuntimeInfo `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 70626  }
 70627  
 70628  type RetrieveDescription RetrieveDescriptionRequestType
 70629  
 70630  func init() {
 70631  	t["RetrieveDescription"] = reflect.TypeOf((*RetrieveDescription)(nil)).Elem()
 70632  }
 70633  
 70634  type RetrieveDescriptionRequestType struct {
 70635  	This ManagedObjectReference `xml:"_this" json:"-"`
 70636  }
 70637  
 70638  func init() {
 70639  	t["RetrieveDescriptionRequestType"] = reflect.TypeOf((*RetrieveDescriptionRequestType)(nil)).Elem()
 70640  }
 70641  
 70642  type RetrieveDescriptionResponse struct {
 70643  	Returnval *ProfileDescription `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70644  }
 70645  
 70646  type RetrieveDiskPartitionInfo RetrieveDiskPartitionInfoRequestType
 70647  
 70648  func init() {
 70649  	t["RetrieveDiskPartitionInfo"] = reflect.TypeOf((*RetrieveDiskPartitionInfo)(nil)).Elem()
 70650  }
 70651  
 70652  // The parameters of `HostStorageSystem.RetrieveDiskPartitionInfo`.
 70653  type RetrieveDiskPartitionInfoRequestType struct {
 70654  	This ManagedObjectReference `xml:"_this" json:"-"`
 70655  	// An array of device path names that identify disks.
 70656  	// See `ScsiDisk`.
 70657  	DevicePath []string `xml:"devicePath" json:"devicePath"`
 70658  }
 70659  
 70660  func init() {
 70661  	t["RetrieveDiskPartitionInfoRequestType"] = reflect.TypeOf((*RetrieveDiskPartitionInfoRequestType)(nil)).Elem()
 70662  }
 70663  
 70664  type RetrieveDiskPartitionInfoResponse struct {
 70665  	Returnval []HostDiskPartitionInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70666  }
 70667  
 70668  type RetrieveDynamicPassthroughInfo RetrieveDynamicPassthroughInfoRequestType
 70669  
 70670  func init() {
 70671  	t["RetrieveDynamicPassthroughInfo"] = reflect.TypeOf((*RetrieveDynamicPassthroughInfo)(nil)).Elem()
 70672  }
 70673  
 70674  type RetrieveDynamicPassthroughInfoRequestType struct {
 70675  	This ManagedObjectReference `xml:"_this" json:"-"`
 70676  }
 70677  
 70678  func init() {
 70679  	t["RetrieveDynamicPassthroughInfoRequestType"] = reflect.TypeOf((*RetrieveDynamicPassthroughInfoRequestType)(nil)).Elem()
 70680  }
 70681  
 70682  type RetrieveDynamicPassthroughInfoResponse struct {
 70683  	Returnval []VirtualMachineDynamicPassthroughInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70684  }
 70685  
 70686  type RetrieveEntityPermissions RetrieveEntityPermissionsRequestType
 70687  
 70688  func init() {
 70689  	t["RetrieveEntityPermissions"] = reflect.TypeOf((*RetrieveEntityPermissions)(nil)).Elem()
 70690  }
 70691  
 70692  // The parameters of `AuthorizationManager.RetrieveEntityPermissions`.
 70693  type RetrieveEntityPermissionsRequestType struct {
 70694  	This ManagedObjectReference `xml:"_this" json:"-"`
 70695  	// Required privileges: System.Read
 70696  	//
 70697  	// Refers instance of `ManagedEntity`.
 70698  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 70699  	// Whether or not to include propagating permissions
 70700  	// defined by parent entities.
 70701  	Inherited bool `xml:"inherited" json:"inherited"`
 70702  }
 70703  
 70704  func init() {
 70705  	t["RetrieveEntityPermissionsRequestType"] = reflect.TypeOf((*RetrieveEntityPermissionsRequestType)(nil)).Elem()
 70706  }
 70707  
 70708  type RetrieveEntityPermissionsResponse struct {
 70709  	Returnval []Permission `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70710  }
 70711  
 70712  type RetrieveEntityScheduledTask RetrieveEntityScheduledTaskRequestType
 70713  
 70714  func init() {
 70715  	t["RetrieveEntityScheduledTask"] = reflect.TypeOf((*RetrieveEntityScheduledTask)(nil)).Elem()
 70716  }
 70717  
 70718  // The parameters of `ScheduledTaskManager.RetrieveEntityScheduledTask`.
 70719  type RetrieveEntityScheduledTaskRequestType struct {
 70720  	This ManagedObjectReference `xml:"_this" json:"-"`
 70721  	// The entity. If null, all scheduled tasks are returned
 70722  	// for visible entities.
 70723  	//
 70724  	// Refers instance of `ManagedEntity`.
 70725  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 70726  }
 70727  
 70728  func init() {
 70729  	t["RetrieveEntityScheduledTaskRequestType"] = reflect.TypeOf((*RetrieveEntityScheduledTaskRequestType)(nil)).Elem()
 70730  }
 70731  
 70732  type RetrieveEntityScheduledTaskResponse struct {
 70733  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70734  }
 70735  
 70736  type RetrieveFreeEpcMemory RetrieveFreeEpcMemoryRequestType
 70737  
 70738  func init() {
 70739  	t["RetrieveFreeEpcMemory"] = reflect.TypeOf((*RetrieveFreeEpcMemory)(nil)).Elem()
 70740  }
 70741  
 70742  type RetrieveFreeEpcMemoryRequestType struct {
 70743  	This ManagedObjectReference `xml:"_this" json:"-"`
 70744  }
 70745  
 70746  func init() {
 70747  	t["RetrieveFreeEpcMemoryRequestType"] = reflect.TypeOf((*RetrieveFreeEpcMemoryRequestType)(nil)).Elem()
 70748  }
 70749  
 70750  type RetrieveFreeEpcMemoryResponse struct {
 70751  	Returnval int64 `xml:"returnval" json:"returnval"`
 70752  }
 70753  
 70754  type RetrieveHardwareUptime RetrieveHardwareUptimeRequestType
 70755  
 70756  func init() {
 70757  	t["RetrieveHardwareUptime"] = reflect.TypeOf((*RetrieveHardwareUptime)(nil)).Elem()
 70758  }
 70759  
 70760  type RetrieveHardwareUptimeRequestType struct {
 70761  	This ManagedObjectReference `xml:"_this" json:"-"`
 70762  }
 70763  
 70764  func init() {
 70765  	t["RetrieveHardwareUptimeRequestType"] = reflect.TypeOf((*RetrieveHardwareUptimeRequestType)(nil)).Elem()
 70766  }
 70767  
 70768  type RetrieveHardwareUptimeResponse struct {
 70769  	Returnval int64 `xml:"returnval" json:"returnval"`
 70770  }
 70771  
 70772  type RetrieveHostAccessControlEntries RetrieveHostAccessControlEntriesRequestType
 70773  
 70774  func init() {
 70775  	t["RetrieveHostAccessControlEntries"] = reflect.TypeOf((*RetrieveHostAccessControlEntries)(nil)).Elem()
 70776  }
 70777  
 70778  type RetrieveHostAccessControlEntriesRequestType struct {
 70779  	This ManagedObjectReference `xml:"_this" json:"-"`
 70780  }
 70781  
 70782  func init() {
 70783  	t["RetrieveHostAccessControlEntriesRequestType"] = reflect.TypeOf((*RetrieveHostAccessControlEntriesRequestType)(nil)).Elem()
 70784  }
 70785  
 70786  type RetrieveHostAccessControlEntriesResponse struct {
 70787  	Returnval []HostAccessControlEntry `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70788  }
 70789  
 70790  type RetrieveHostCustomizations RetrieveHostCustomizationsRequestType
 70791  
 70792  func init() {
 70793  	t["RetrieveHostCustomizations"] = reflect.TypeOf((*RetrieveHostCustomizations)(nil)).Elem()
 70794  }
 70795  
 70796  type RetrieveHostCustomizationsForProfile RetrieveHostCustomizationsForProfileRequestType
 70797  
 70798  func init() {
 70799  	t["RetrieveHostCustomizationsForProfile"] = reflect.TypeOf((*RetrieveHostCustomizationsForProfile)(nil)).Elem()
 70800  }
 70801  
 70802  // The parameters of `HostProfileManager.RetrieveHostCustomizationsForProfile`.
 70803  type RetrieveHostCustomizationsForProfileRequestType struct {
 70804  	This ManagedObjectReference `xml:"_this" json:"-"`
 70805  	// Hosts with which the answer files are associated.
 70806  	//
 70807  	// Required privileges: Profile.Edit
 70808  	//
 70809  	// Refers instances of `HostSystem`.
 70810  	Hosts []ManagedObjectReference `xml:"hosts,omitempty" json:"hosts,omitempty"`
 70811  	// Profile configuration used to generate answer file
 70812  	ApplyProfile HostApplyProfile `xml:"applyProfile" json:"applyProfile"`
 70813  }
 70814  
 70815  func init() {
 70816  	t["RetrieveHostCustomizationsForProfileRequestType"] = reflect.TypeOf((*RetrieveHostCustomizationsForProfileRequestType)(nil)).Elem()
 70817  }
 70818  
 70819  type RetrieveHostCustomizationsForProfileResponse struct {
 70820  	Returnval []StructuredCustomizations `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70821  }
 70822  
 70823  // The parameters of `HostProfileManager.RetrieveHostCustomizations`.
 70824  type RetrieveHostCustomizationsRequestType struct {
 70825  	This ManagedObjectReference `xml:"_this" json:"-"`
 70826  	// Hosts with which the answer files are associated.
 70827  	//
 70828  	// Required privileges: Profile.Edit
 70829  	//
 70830  	// Refers instances of `HostSystem`.
 70831  	Hosts []ManagedObjectReference `xml:"hosts,omitempty" json:"hosts,omitempty"`
 70832  }
 70833  
 70834  func init() {
 70835  	t["RetrieveHostCustomizationsRequestType"] = reflect.TypeOf((*RetrieveHostCustomizationsRequestType)(nil)).Elem()
 70836  }
 70837  
 70838  type RetrieveHostCustomizationsResponse struct {
 70839  	Returnval []StructuredCustomizations `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70840  }
 70841  
 70842  type RetrieveHostSpecification RetrieveHostSpecificationRequestType
 70843  
 70844  func init() {
 70845  	t["RetrieveHostSpecification"] = reflect.TypeOf((*RetrieveHostSpecification)(nil)).Elem()
 70846  }
 70847  
 70848  // The parameters of `HostSpecificationManager.RetrieveHostSpecification`.
 70849  type RetrieveHostSpecificationRequestType struct {
 70850  	This ManagedObjectReference `xml:"_this" json:"-"`
 70851  	// The specified host whose host specification will be retrieved.
 70852  	//
 70853  	// Refers instance of `HostSystem`.
 70854  	Host ManagedObjectReference `xml:"host" json:"host"`
 70855  	// Whether retrieve from the host.
 70856  	FromHost bool `xml:"fromHost" json:"fromHost"`
 70857  }
 70858  
 70859  func init() {
 70860  	t["RetrieveHostSpecificationRequestType"] = reflect.TypeOf((*RetrieveHostSpecificationRequestType)(nil)).Elem()
 70861  }
 70862  
 70863  type RetrieveHostSpecificationResponse struct {
 70864  	Returnval HostSpecification `xml:"returnval" json:"returnval"`
 70865  }
 70866  
 70867  type RetrieveKmipServerCert RetrieveKmipServerCertRequestType
 70868  
 70869  func init() {
 70870  	t["RetrieveKmipServerCert"] = reflect.TypeOf((*RetrieveKmipServerCert)(nil)).Elem()
 70871  }
 70872  
 70873  // The parameters of `CryptoManagerKmip.RetrieveKmipServerCert`.
 70874  type RetrieveKmipServerCertRequestType struct {
 70875  	This ManagedObjectReference `xml:"_this" json:"-"`
 70876  	// \[in\] KMIP cluster in which the server is placed
 70877  	// or will be created.
 70878  	KeyProvider KeyProviderId `xml:"keyProvider" json:"keyProvider"`
 70879  	// \[in\] KMIP server.
 70880  	Server KmipServerInfo `xml:"server" json:"server"`
 70881  }
 70882  
 70883  func init() {
 70884  	t["RetrieveKmipServerCertRequestType"] = reflect.TypeOf((*RetrieveKmipServerCertRequestType)(nil)).Elem()
 70885  }
 70886  
 70887  type RetrieveKmipServerCertResponse struct {
 70888  	Returnval CryptoManagerKmipServerCertInfo `xml:"returnval" json:"returnval"`
 70889  }
 70890  
 70891  // The parameters of `CryptoManagerKmip.RetrieveKmipServersStatus_Task`.
 70892  type RetrieveKmipServersStatusRequestType struct {
 70893  	This ManagedObjectReference `xml:"_this" json:"-"`
 70894  	// \[in\] KMIP clusters and their servers.
 70895  	Clusters []KmipClusterInfo `xml:"clusters,omitempty" json:"clusters,omitempty"`
 70896  }
 70897  
 70898  func init() {
 70899  	t["RetrieveKmipServersStatusRequestType"] = reflect.TypeOf((*RetrieveKmipServersStatusRequestType)(nil)).Elem()
 70900  }
 70901  
 70902  type RetrieveKmipServersStatus_Task RetrieveKmipServersStatusRequestType
 70903  
 70904  func init() {
 70905  	t["RetrieveKmipServersStatus_Task"] = reflect.TypeOf((*RetrieveKmipServersStatus_Task)(nil)).Elem()
 70906  }
 70907  
 70908  type RetrieveKmipServersStatus_TaskResponse struct {
 70909  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 70910  }
 70911  
 70912  type RetrieveObjectScheduledTask RetrieveObjectScheduledTaskRequestType
 70913  
 70914  func init() {
 70915  	t["RetrieveObjectScheduledTask"] = reflect.TypeOf((*RetrieveObjectScheduledTask)(nil)).Elem()
 70916  }
 70917  
 70918  // The parameters of `ScheduledTaskManager.RetrieveObjectScheduledTask`.
 70919  type RetrieveObjectScheduledTaskRequestType struct {
 70920  	This ManagedObjectReference `xml:"_this" json:"-"`
 70921  	// The object. If not specified, all scheduled tasks are returned
 70922  	// for visible entities and visible ManagedObjects.
 70923  	Obj *ManagedObjectReference `xml:"obj,omitempty" json:"obj,omitempty"`
 70924  }
 70925  
 70926  func init() {
 70927  	t["RetrieveObjectScheduledTaskRequestType"] = reflect.TypeOf((*RetrieveObjectScheduledTaskRequestType)(nil)).Elem()
 70928  }
 70929  
 70930  type RetrieveObjectScheduledTaskResponse struct {
 70931  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70932  }
 70933  
 70934  // Options for `PropertyCollector.RetrievePropertiesEx`.
 70935  type RetrieveOptions struct {
 70936  	DynamicData
 70937  
 70938  	// The maximum number of `ObjectContent` data
 70939  	// objects that should be returned in a single result from `PropertyCollector.RetrievePropertiesEx`.
 70940  	//
 70941  	// An unset value indicates that there is no maximum. In this
 70942  	// case `PropertyCollector` policy may still limit the number
 70943  	// of objects. Any remaining objects may be retrieved with `PropertyCollector.ContinueRetrievePropertiesEx`.
 70944  	//
 70945  	// A positive value causes `PropertyCollector.RetrievePropertiesEx` to
 70946  	// suspend the retrieval when the count of objects reaches the
 70947  	// specified maximum. `PropertyCollector` policy may still
 70948  	// limit the count to something less than `RetrieveOptions.maxObjects`. Any remaining
 70949  	// objects may be retrieved with `PropertyCollector.ContinueRetrievePropertiesEx`.
 70950  	//
 70951  	// A value less than or equal to 0 is illegal.
 70952  	MaxObjects int32 `xml:"maxObjects,omitempty" json:"maxObjects,omitempty"`
 70953  }
 70954  
 70955  func init() {
 70956  	t["RetrieveOptions"] = reflect.TypeOf((*RetrieveOptions)(nil)).Elem()
 70957  	minAPIVersionForType["RetrieveOptions"] = "4.1"
 70958  }
 70959  
 70960  type RetrieveProductComponents RetrieveProductComponentsRequestType
 70961  
 70962  func init() {
 70963  	t["RetrieveProductComponents"] = reflect.TypeOf((*RetrieveProductComponents)(nil)).Elem()
 70964  }
 70965  
 70966  type RetrieveProductComponentsRequestType struct {
 70967  	This ManagedObjectReference `xml:"_this" json:"-"`
 70968  }
 70969  
 70970  func init() {
 70971  	t["RetrieveProductComponentsRequestType"] = reflect.TypeOf((*RetrieveProductComponentsRequestType)(nil)).Elem()
 70972  }
 70973  
 70974  type RetrieveProductComponentsResponse struct {
 70975  	Returnval []ProductComponentInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70976  }
 70977  
 70978  type RetrieveProperties RetrievePropertiesRequestType
 70979  
 70980  func init() {
 70981  	t["RetrieveProperties"] = reflect.TypeOf((*RetrieveProperties)(nil)).Elem()
 70982  }
 70983  
 70984  type RetrievePropertiesEx RetrievePropertiesExRequestType
 70985  
 70986  func init() {
 70987  	t["RetrievePropertiesEx"] = reflect.TypeOf((*RetrievePropertiesEx)(nil)).Elem()
 70988  }
 70989  
 70990  // The parameters of `PropertyCollector.RetrievePropertiesEx`.
 70991  type RetrievePropertiesExRequestType struct {
 70992  	This ManagedObjectReference `xml:"_this" json:"-"`
 70993  	// Specifies the properties to retrieve.
 70994  	SpecSet []PropertyFilterSpec `xml:"specSet" json:"specSet"`
 70995  	// Additional method options. If omitted, equivalent to an options
 70996  	// argument with no fields set.
 70997  	Options RetrieveOptions `xml:"options" json:"options"`
 70998  }
 70999  
 71000  func init() {
 71001  	t["RetrievePropertiesExRequestType"] = reflect.TypeOf((*RetrievePropertiesExRequestType)(nil)).Elem()
 71002  }
 71003  
 71004  type RetrievePropertiesExResponse struct {
 71005  	Returnval *RetrieveResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 71006  }
 71007  
 71008  // The parameters of `PropertyCollector.RetrieveProperties`.
 71009  type RetrievePropertiesRequestType struct {
 71010  	This ManagedObjectReference `xml:"_this" json:"-"`
 71011  	// Specifies the properties to retrieve.
 71012  	SpecSet []PropertyFilterSpec `xml:"specSet" json:"specSet"`
 71013  }
 71014  
 71015  func init() {
 71016  	t["RetrievePropertiesRequestType"] = reflect.TypeOf((*RetrievePropertiesRequestType)(nil)).Elem()
 71017  }
 71018  
 71019  type RetrievePropertiesResponse struct {
 71020  	Returnval []ObjectContent `xml:"returnval,omitempty" json:"returnval,omitempty"`
 71021  }
 71022  
 71023  // Result of `PropertyCollector.RetrievePropertiesEx` and `PropertyCollector.ContinueRetrievePropertiesEx`
 71024  type RetrieveResult struct {
 71025  	DynamicData
 71026  
 71027  	// A token used to retrieve further retrieve results.
 71028  	//
 71029  	// If set, the token should be passed to `PropertyCollector.ContinueRetrievePropertiesEx` to retrieve more results. Each token
 71030  	// may be passed to continueRetrievePropertiesEx only once, and only in
 71031  	// the same session in which it was returned and to the same
 71032  	// `PropertyCollector` object that returned it.
 71033  	//
 71034  	// If unset, there are no further results to retrieve after this
 71035  	// `RetrieveResult`.
 71036  	Token string `xml:"token,omitempty" json:"token,omitempty"`
 71037  	// retrieved objects.
 71038  	Objects []ObjectContent `xml:"objects" json:"objects"`
 71039  }
 71040  
 71041  func init() {
 71042  	t["RetrieveResult"] = reflect.TypeOf((*RetrieveResult)(nil)).Elem()
 71043  	minAPIVersionForType["RetrieveResult"] = "4.1"
 71044  }
 71045  
 71046  type RetrieveRolePermissions RetrieveRolePermissionsRequestType
 71047  
 71048  func init() {
 71049  	t["RetrieveRolePermissions"] = reflect.TypeOf((*RetrieveRolePermissions)(nil)).Elem()
 71050  }
 71051  
 71052  // The parameters of `AuthorizationManager.RetrieveRolePermissions`.
 71053  type RetrieveRolePermissionsRequestType struct {
 71054  	This   ManagedObjectReference `xml:"_this" json:"-"`
 71055  	RoleId int32                  `xml:"roleId" json:"roleId"`
 71056  }
 71057  
 71058  func init() {
 71059  	t["RetrieveRolePermissionsRequestType"] = reflect.TypeOf((*RetrieveRolePermissionsRequestType)(nil)).Elem()
 71060  }
 71061  
 71062  type RetrieveRolePermissionsResponse struct {
 71063  	Returnval []Permission `xml:"returnval,omitempty" json:"returnval,omitempty"`
 71064  }
 71065  
 71066  type RetrieveSelfSignedClientCert RetrieveSelfSignedClientCertRequestType
 71067  
 71068  func init() {
 71069  	t["RetrieveSelfSignedClientCert"] = reflect.TypeOf((*RetrieveSelfSignedClientCert)(nil)).Elem()
 71070  }
 71071  
 71072  // The parameters of `CryptoManagerKmip.RetrieveSelfSignedClientCert`.
 71073  type RetrieveSelfSignedClientCertRequestType struct {
 71074  	This ManagedObjectReference `xml:"_this" json:"-"`
 71075  	// \[in\] KMIP cluster.
 71076  	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
 71077  }
 71078  
 71079  func init() {
 71080  	t["RetrieveSelfSignedClientCertRequestType"] = reflect.TypeOf((*RetrieveSelfSignedClientCertRequestType)(nil)).Elem()
 71081  }
 71082  
 71083  type RetrieveSelfSignedClientCertResponse struct {
 71084  	Returnval string `xml:"returnval" json:"returnval"`
 71085  }
 71086  
 71087  type RetrieveServiceContent RetrieveServiceContentRequestType
 71088  
 71089  func init() {
 71090  	t["RetrieveServiceContent"] = reflect.TypeOf((*RetrieveServiceContent)(nil)).Elem()
 71091  }
 71092  
 71093  type RetrieveServiceContentRequestType struct {
 71094  	This ManagedObjectReference `xml:"_this" json:"-"`
 71095  }
 71096  
 71097  func init() {
 71098  	t["RetrieveServiceContentRequestType"] = reflect.TypeOf((*RetrieveServiceContentRequestType)(nil)).Elem()
 71099  }
 71100  
 71101  type RetrieveServiceContentResponse struct {
 71102  	Returnval ServiceContent `xml:"returnval" json:"returnval"`
 71103  }
 71104  
 71105  type RetrieveServiceProviderEntities RetrieveServiceProviderEntitiesRequestType
 71106  
 71107  func init() {
 71108  	t["RetrieveServiceProviderEntities"] = reflect.TypeOf((*RetrieveServiceProviderEntities)(nil)).Elem()
 71109  }
 71110  
 71111  type RetrieveServiceProviderEntitiesRequestType struct {
 71112  	This ManagedObjectReference `xml:"_this" json:"-"`
 71113  }
 71114  
 71115  func init() {
 71116  	t["RetrieveServiceProviderEntitiesRequestType"] = reflect.TypeOf((*RetrieveServiceProviderEntitiesRequestType)(nil)).Elem()
 71117  }
 71118  
 71119  type RetrieveServiceProviderEntitiesResponse struct {
 71120  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 71121  }
 71122  
 71123  type RetrieveSnapshotDetails RetrieveSnapshotDetailsRequestType
 71124  
 71125  func init() {
 71126  	t["RetrieveSnapshotDetails"] = reflect.TypeOf((*RetrieveSnapshotDetails)(nil)).Elem()
 71127  }
 71128  
 71129  // The parameters of `VcenterVStorageObjectManager.RetrieveSnapshotDetails`.
 71130  type RetrieveSnapshotDetailsRequestType struct {
 71131  	This ManagedObjectReference `xml:"_this" json:"-"`
 71132  	// The ID of the virtual storage object.
 71133  	Id ID `xml:"id" json:"id"`
 71134  	// The datastore where the source virtual storage object
 71135  	// is located.
 71136  	//
 71137  	// Refers instance of `Datastore`.
 71138  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 71139  	// The ID of the snapshot of a virtual storage object.
 71140  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 71141  }
 71142  
 71143  func init() {
 71144  	t["RetrieveSnapshotDetailsRequestType"] = reflect.TypeOf((*RetrieveSnapshotDetailsRequestType)(nil)).Elem()
 71145  }
 71146  
 71147  type RetrieveSnapshotDetailsResponse struct {
 71148  	Returnval VStorageObjectSnapshotDetails `xml:"returnval" json:"returnval"`
 71149  }
 71150  
 71151  type RetrieveSnapshotInfo RetrieveSnapshotInfoRequestType
 71152  
 71153  func init() {
 71154  	t["RetrieveSnapshotInfo"] = reflect.TypeOf((*RetrieveSnapshotInfo)(nil)).Elem()
 71155  }
 71156  
 71157  // The parameters of `VcenterVStorageObjectManager.RetrieveSnapshotInfo`.
 71158  type RetrieveSnapshotInfoRequestType struct {
 71159  	This ManagedObjectReference `xml:"_this" json:"-"`
 71160  	// The ID of the virtual storage object.
 71161  	Id ID `xml:"id" json:"id"`
 71162  	// The datastore where the source virtual storage object
 71163  	// is located.
 71164  	//
 71165  	// Refers instance of `Datastore`.
 71166  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 71167  }
 71168  
 71169  func init() {
 71170  	t["RetrieveSnapshotInfoRequestType"] = reflect.TypeOf((*RetrieveSnapshotInfoRequestType)(nil)).Elem()
 71171  }
 71172  
 71173  type RetrieveSnapshotInfoResponse struct {
 71174  	Returnval VStorageObjectSnapshotInfo `xml:"returnval" json:"returnval"`
 71175  }
 71176  
 71177  type RetrieveUserGroups RetrieveUserGroupsRequestType
 71178  
 71179  func init() {
 71180  	t["RetrieveUserGroups"] = reflect.TypeOf((*RetrieveUserGroups)(nil)).Elem()
 71181  }
 71182  
 71183  // The parameters of `UserDirectory.RetrieveUserGroups`.
 71184  type RetrieveUserGroupsRequestType struct {
 71185  	This ManagedObjectReference `xml:"_this" json:"-"`
 71186  	// Domain to be searched. If not set, then the method searches
 71187  	// the local machine.
 71188  	Domain string `xml:"domain,omitempty" json:"domain,omitempty"`
 71189  	// Case insensitive substring used to filter results;
 71190  	// the search string is compared to the login and full name for users,
 71191  	// and the name and description for groups. Leave
 71192  	// this blank to match all users.
 71193  	SearchStr string `xml:"searchStr" json:"searchStr"`
 71194  	// If present, the returned list contains only users or groups
 71195  	// that directly belong to the specified group. Users or groups that
 71196  	// have indirect membership will not be included in the list.
 71197  	BelongsToGroup string `xml:"belongsToGroup,omitempty" json:"belongsToGroup,omitempty"`
 71198  	// If present, the returned list contains only groups that directly
 71199  	// contain the specified user. Groups that indirectly contain
 71200  	// the user will not be included in the list.
 71201  	BelongsToUser string `xml:"belongsToUser,omitempty" json:"belongsToUser,omitempty"`
 71202  	// Indicates the searchStr passed should match a user or
 71203  	// group name exactly.
 71204  	ExactMatch bool `xml:"exactMatch" json:"exactMatch"`
 71205  	// True, if users should be included in the result.
 71206  	FindUsers bool `xml:"findUsers" json:"findUsers"`
 71207  	// True, if groups should be included in the result.
 71208  	FindGroups bool `xml:"findGroups" json:"findGroups"`
 71209  }
 71210  
 71211  func init() {
 71212  	t["RetrieveUserGroupsRequestType"] = reflect.TypeOf((*RetrieveUserGroupsRequestType)(nil)).Elem()
 71213  }
 71214  
 71215  type RetrieveUserGroupsResponse struct {
 71216  	Returnval []BaseUserSearchResult `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 71217  }
 71218  
 71219  type RetrieveVStorageInfrastructureObjectPolicy RetrieveVStorageInfrastructureObjectPolicyRequestType
 71220  
 71221  func init() {
 71222  	t["RetrieveVStorageInfrastructureObjectPolicy"] = reflect.TypeOf((*RetrieveVStorageInfrastructureObjectPolicy)(nil)).Elem()
 71223  }
 71224  
 71225  // The parameters of `VcenterVStorageObjectManager.RetrieveVStorageInfrastructureObjectPolicy`.
 71226  type RetrieveVStorageInfrastructureObjectPolicyRequestType struct {
 71227  	This ManagedObjectReference `xml:"_this" json:"-"`
 71228  	// Datastore on which policy needs to be retrieved.
 71229  	//
 71230  	// Refers instance of `Datastore`.
 71231  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 71232  }
 71233  
 71234  func init() {
 71235  	t["RetrieveVStorageInfrastructureObjectPolicyRequestType"] = reflect.TypeOf((*RetrieveVStorageInfrastructureObjectPolicyRequestType)(nil)).Elem()
 71236  }
 71237  
 71238  type RetrieveVStorageInfrastructureObjectPolicyResponse struct {
 71239  	Returnval []VslmInfrastructureObjectPolicy `xml:"returnval,omitempty" json:"returnval,omitempty"`
 71240  }
 71241  
 71242  // This data object is a pair of the virtural storage object id and
 71243  // its datastore.
 71244  type RetrieveVStorageObjSpec struct {
 71245  	DynamicData
 71246  
 71247  	// ID of this virtual storage object.
 71248  	Id ID `xml:"id" json:"id"`
 71249  	// Datastore where the object is located.
 71250  	//
 71251  	// Refers instance of `Datastore`.
 71252  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 71253  }
 71254  
 71255  func init() {
 71256  	t["RetrieveVStorageObjSpec"] = reflect.TypeOf((*RetrieveVStorageObjSpec)(nil)).Elem()
 71257  	minAPIVersionForType["RetrieveVStorageObjSpec"] = "6.7"
 71258  }
 71259  
 71260  type RetrieveVStorageObject RetrieveVStorageObjectRequestType
 71261  
 71262  func init() {
 71263  	t["RetrieveVStorageObject"] = reflect.TypeOf((*RetrieveVStorageObject)(nil)).Elem()
 71264  }
 71265  
 71266  type RetrieveVStorageObjectAssociations RetrieveVStorageObjectAssociationsRequestType
 71267  
 71268  func init() {
 71269  	t["RetrieveVStorageObjectAssociations"] = reflect.TypeOf((*RetrieveVStorageObjectAssociations)(nil)).Elem()
 71270  }
 71271  
 71272  // The parameters of `VcenterVStorageObjectManager.RetrieveVStorageObjectAssociations`.
 71273  type RetrieveVStorageObjectAssociationsRequestType struct {
 71274  	This ManagedObjectReference `xml:"_this" json:"-"`
 71275  	// The IDs of the virtual storage objects of the query.
 71276  	Ids []RetrieveVStorageObjSpec `xml:"ids,omitempty" json:"ids,omitempty"`
 71277  }
 71278  
 71279  func init() {
 71280  	t["RetrieveVStorageObjectAssociationsRequestType"] = reflect.TypeOf((*RetrieveVStorageObjectAssociationsRequestType)(nil)).Elem()
 71281  }
 71282  
 71283  type RetrieveVStorageObjectAssociationsResponse struct {
 71284  	Returnval []VStorageObjectAssociations `xml:"returnval,omitempty" json:"returnval,omitempty"`
 71285  }
 71286  
 71287  // The parameters of `VcenterVStorageObjectManager.RetrieveVStorageObject`.
 71288  type RetrieveVStorageObjectRequestType struct {
 71289  	This ManagedObjectReference `xml:"_this" json:"-"`
 71290  	// The ID of the virtual storage object to be retrieved.
 71291  	Id ID `xml:"id" json:"id"`
 71292  	// The datastore where the virtual storage object is
 71293  	// located.
 71294  	//
 71295  	// Refers instance of `Datastore`.
 71296  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 71297  	// Flags indicating the FCD information to be
 71298  	// retrieved. If diskInfoFlags is unset, then all FCD
 71299  	// information will be retrieved. See
 71300  	// `vslmDiskInfoFlag_enum` for the list of
 71301  	// supported values.
 71302  	DiskInfoFlags []string `xml:"diskInfoFlags,omitempty" json:"diskInfoFlags,omitempty" vim:"8.0.0.1"`
 71303  }
 71304  
 71305  func init() {
 71306  	t["RetrieveVStorageObjectRequestType"] = reflect.TypeOf((*RetrieveVStorageObjectRequestType)(nil)).Elem()
 71307  }
 71308  
 71309  type RetrieveVStorageObjectResponse struct {
 71310  	Returnval VStorageObject `xml:"returnval" json:"returnval"`
 71311  }
 71312  
 71313  type RetrieveVStorageObjectState RetrieveVStorageObjectStateRequestType
 71314  
 71315  func init() {
 71316  	t["RetrieveVStorageObjectState"] = reflect.TypeOf((*RetrieveVStorageObjectState)(nil)).Elem()
 71317  }
 71318  
 71319  // The parameters of `VcenterVStorageObjectManager.RetrieveVStorageObjectState`.
 71320  type RetrieveVStorageObjectStateRequestType struct {
 71321  	This ManagedObjectReference `xml:"_this" json:"-"`
 71322  	// The ID of the virtual storage object the state to be retrieved.
 71323  	Id ID `xml:"id" json:"id"`
 71324  	// The datastore where the virtual storage object is
 71325  	// located.
 71326  	//
 71327  	// Refers instance of `Datastore`.
 71328  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 71329  }
 71330  
 71331  func init() {
 71332  	t["RetrieveVStorageObjectStateRequestType"] = reflect.TypeOf((*RetrieveVStorageObjectStateRequestType)(nil)).Elem()
 71333  }
 71334  
 71335  type RetrieveVStorageObjectStateResponse struct {
 71336  	Returnval VStorageObjectStateInfo `xml:"returnval" json:"returnval"`
 71337  }
 71338  
 71339  type RetrieveVendorDeviceGroupInfo RetrieveVendorDeviceGroupInfoRequestType
 71340  
 71341  func init() {
 71342  	t["RetrieveVendorDeviceGroupInfo"] = reflect.TypeOf((*RetrieveVendorDeviceGroupInfo)(nil)).Elem()
 71343  }
 71344  
 71345  type RetrieveVendorDeviceGroupInfoRequestType struct {
 71346  	This ManagedObjectReference `xml:"_this" json:"-"`
 71347  }
 71348  
 71349  func init() {
 71350  	t["RetrieveVendorDeviceGroupInfoRequestType"] = reflect.TypeOf((*RetrieveVendorDeviceGroupInfoRequestType)(nil)).Elem()
 71351  }
 71352  
 71353  type RetrieveVendorDeviceGroupInfoResponse struct {
 71354  	Returnval []VirtualMachineVendorDeviceGroupInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 71355  }
 71356  
 71357  type RetrieveVgpuDeviceInfo RetrieveVgpuDeviceInfoRequestType
 71358  
 71359  func init() {
 71360  	t["RetrieveVgpuDeviceInfo"] = reflect.TypeOf((*RetrieveVgpuDeviceInfo)(nil)).Elem()
 71361  }
 71362  
 71363  type RetrieveVgpuDeviceInfoRequestType struct {
 71364  	This ManagedObjectReference `xml:"_this" json:"-"`
 71365  }
 71366  
 71367  func init() {
 71368  	t["RetrieveVgpuDeviceInfoRequestType"] = reflect.TypeOf((*RetrieveVgpuDeviceInfoRequestType)(nil)).Elem()
 71369  }
 71370  
 71371  type RetrieveVgpuDeviceInfoResponse struct {
 71372  	Returnval []VirtualMachineVgpuDeviceInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 71373  }
 71374  
 71375  type RetrieveVgpuProfileInfo RetrieveVgpuProfileInfoRequestType
 71376  
 71377  func init() {
 71378  	t["RetrieveVgpuProfileInfo"] = reflect.TypeOf((*RetrieveVgpuProfileInfo)(nil)).Elem()
 71379  }
 71380  
 71381  type RetrieveVgpuProfileInfoRequestType struct {
 71382  	This ManagedObjectReference `xml:"_this" json:"-"`
 71383  }
 71384  
 71385  func init() {
 71386  	t["RetrieveVgpuProfileInfoRequestType"] = reflect.TypeOf((*RetrieveVgpuProfileInfoRequestType)(nil)).Elem()
 71387  }
 71388  
 71389  type RetrieveVgpuProfileInfoResponse struct {
 71390  	Returnval []VirtualMachineVgpuProfileInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 71391  }
 71392  
 71393  // The parameters of `VirtualMachine.RevertToCurrentSnapshot_Task`.
 71394  type RevertToCurrentSnapshotRequestType struct {
 71395  	This ManagedObjectReference `xml:"_this" json:"-"`
 71396  	// (optional) Choice of host for the virtual machine,
 71397  	// in case this operation causes the virtual machine to power on.
 71398  	//
 71399  	// If a snapshot was taken while a virtual machine was powered on,
 71400  	// and this operation is invoked after the virtual machine was
 71401  	// powered off, the operation causes the virtual machine to power
 71402  	// on to reach the snapshot state. This parameter can be used to
 71403  	// specify a choice of host where the virtual machine should power
 71404  	// on.
 71405  	//
 71406  	// If this parameter is not set, and the vBalance feature is
 71407  	// configured for automatic load balancing, a host is
 71408  	// automatically selected. Otherwise, the virtual machine keeps
 71409  	// its existing host affiliation.
 71410  	//
 71411  	// This is not supported for virtual machines associated with hosts on ESX 2.x
 71412  	// servers.
 71413  	//
 71414  	// Refers instance of `HostSystem`.
 71415  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 71416  	// (optional) If set to true, the virtual
 71417  	// machine will not be powered on regardless of the power state when
 71418  	// the current snapshot was created. Default to false.
 71419  	SuppressPowerOn *bool `xml:"suppressPowerOn" json:"suppressPowerOn,omitempty" vim:"2.5 U2"`
 71420  }
 71421  
 71422  func init() {
 71423  	t["RevertToCurrentSnapshotRequestType"] = reflect.TypeOf((*RevertToCurrentSnapshotRequestType)(nil)).Elem()
 71424  }
 71425  
 71426  type RevertToCurrentSnapshot_Task RevertToCurrentSnapshotRequestType
 71427  
 71428  func init() {
 71429  	t["RevertToCurrentSnapshot_Task"] = reflect.TypeOf((*RevertToCurrentSnapshot_Task)(nil)).Elem()
 71430  }
 71431  
 71432  type RevertToCurrentSnapshot_TaskResponse struct {
 71433  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 71434  }
 71435  
 71436  // The parameters of `VirtualMachineSnapshot.RevertToSnapshot_Task`.
 71437  type RevertToSnapshotRequestType struct {
 71438  	This ManagedObjectReference `xml:"_this" json:"-"`
 71439  	// (optional) Choice of host for the virtual machine, in case this
 71440  	// operation causes the virtual machine to power on.
 71441  	//
 71442  	// If a snapshot was taken while a virtual machine was powered on, and this operation
 71443  	// is invoked after the virtual machine was powered off, the operation causes the
 71444  	// virtual machine to power on to reach the snapshot state. This parameter can be
 71445  	// used to specify a choice of host where the virtual machine should power on.
 71446  	//
 71447  	// If this parameter is not set and the vBalance feature is configured for automatic
 71448  	// load balancing, a host is automatically selected. Otherwise, the virtual machine
 71449  	// keeps its existing host affiliation.
 71450  	//
 71451  	// Refers instance of `HostSystem`.
 71452  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 71453  	// (optional) If set to true, the virtual
 71454  	// machine will not be powered on regardless of the power state when
 71455  	// the snapshot was created. Default to false.
 71456  	SuppressPowerOn *bool `xml:"suppressPowerOn" json:"suppressPowerOn,omitempty" vim:"2.5 U2"`
 71457  }
 71458  
 71459  func init() {
 71460  	t["RevertToSnapshotRequestType"] = reflect.TypeOf((*RevertToSnapshotRequestType)(nil)).Elem()
 71461  }
 71462  
 71463  type RevertToSnapshot_Task RevertToSnapshotRequestType
 71464  
 71465  func init() {
 71466  	t["RevertToSnapshot_Task"] = reflect.TypeOf((*RevertToSnapshot_Task)(nil)).Elem()
 71467  }
 71468  
 71469  type RevertToSnapshot_TaskResponse struct {
 71470  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 71471  }
 71472  
 71473  // The parameters of `VStorageObjectManagerBase.RevertVStorageObjectEx_Task`.
 71474  type RevertVStorageObjectExRequestType struct {
 71475  	This ManagedObjectReference `xml:"_this" json:"-"`
 71476  	// The ID of the virtual storage object.
 71477  	Id ID `xml:"id" json:"id"`
 71478  	// The datastore where the source virtual storage object
 71479  	// is located.
 71480  	//
 71481  	// Refers instance of `Datastore`.
 71482  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 71483  	// The ID of the snapshot of a virtual storage object.
 71484  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 71485  }
 71486  
 71487  func init() {
 71488  	t["RevertVStorageObjectExRequestType"] = reflect.TypeOf((*RevertVStorageObjectExRequestType)(nil)).Elem()
 71489  }
 71490  
 71491  type RevertVStorageObjectEx_Task RevertVStorageObjectExRequestType
 71492  
 71493  func init() {
 71494  	t["RevertVStorageObjectEx_Task"] = reflect.TypeOf((*RevertVStorageObjectEx_Task)(nil)).Elem()
 71495  }
 71496  
 71497  type RevertVStorageObjectEx_TaskResponse struct {
 71498  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 71499  }
 71500  
 71501  // The parameters of `VcenterVStorageObjectManager.RevertVStorageObject_Task`.
 71502  type RevertVStorageObjectRequestType struct {
 71503  	This ManagedObjectReference `xml:"_this" json:"-"`
 71504  	// The ID of the virtual storage object.
 71505  	Id ID `xml:"id" json:"id"`
 71506  	// The datastore where the source virtual storage object
 71507  	// is located.
 71508  	//
 71509  	// Refers instance of `Datastore`.
 71510  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 71511  	// The ID of the snapshot of a virtual storage object.
 71512  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 71513  }
 71514  
 71515  func init() {
 71516  	t["RevertVStorageObjectRequestType"] = reflect.TypeOf((*RevertVStorageObjectRequestType)(nil)).Elem()
 71517  }
 71518  
 71519  type RevertVStorageObject_Task RevertVStorageObjectRequestType
 71520  
 71521  func init() {
 71522  	t["RevertVStorageObject_Task"] = reflect.TypeOf((*RevertVStorageObject_Task)(nil)).Elem()
 71523  }
 71524  
 71525  type RevertVStorageObject_TaskResponse struct {
 71526  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 71527  }
 71528  
 71529  type RewindCollector RewindCollectorRequestType
 71530  
 71531  func init() {
 71532  	t["RewindCollector"] = reflect.TypeOf((*RewindCollector)(nil)).Elem()
 71533  }
 71534  
 71535  type RewindCollectorRequestType struct {
 71536  	This ManagedObjectReference `xml:"_this" json:"-"`
 71537  }
 71538  
 71539  func init() {
 71540  	t["RewindCollectorRequestType"] = reflect.TypeOf((*RewindCollectorRequestType)(nil)).Elem()
 71541  }
 71542  
 71543  type RewindCollectorResponse struct {
 71544  }
 71545  
 71546  // This event records the creation of a role.
 71547  type RoleAddedEvent struct {
 71548  	RoleEvent
 71549  
 71550  	// The privileges granted to the role.
 71551  	PrivilegeList []string `xml:"privilegeList,omitempty" json:"privilegeList,omitempty"`
 71552  }
 71553  
 71554  func init() {
 71555  	t["RoleAddedEvent"] = reflect.TypeOf((*RoleAddedEvent)(nil)).Elem()
 71556  }
 71557  
 71558  // This event records a role operation.
 71559  type RoleEvent struct {
 71560  	AuthorizationEvent
 71561  
 71562  	// The associated role.
 71563  	Role RoleEventArgument `xml:"role" json:"role"`
 71564  }
 71565  
 71566  func init() {
 71567  	t["RoleEvent"] = reflect.TypeOf((*RoleEvent)(nil)).Elem()
 71568  }
 71569  
 71570  // The event argument is a Role object.
 71571  type RoleEventArgument struct {
 71572  	EventArgument
 71573  
 71574  	// The ID of the role.
 71575  	RoleId int32 `xml:"roleId" json:"roleId"`
 71576  	// The name of the role.
 71577  	Name string `xml:"name" json:"name"`
 71578  }
 71579  
 71580  func init() {
 71581  	t["RoleEventArgument"] = reflect.TypeOf((*RoleEventArgument)(nil)).Elem()
 71582  }
 71583  
 71584  // This class records the removal of a role.
 71585  type RoleRemovedEvent struct {
 71586  	RoleEvent
 71587  }
 71588  
 71589  func init() {
 71590  	t["RoleRemovedEvent"] = reflect.TypeOf((*RoleRemovedEvent)(nil)).Elem()
 71591  }
 71592  
 71593  // This event records the creation of a role.
 71594  type RoleUpdatedEvent struct {
 71595  	RoleEvent
 71596  
 71597  	// The privileges granted to the role.
 71598  	PrivilegeList []string `xml:"privilegeList,omitempty" json:"privilegeList,omitempty"`
 71599  	// The name of the previous role.
 71600  	PrevRoleName string `xml:"prevRoleName,omitempty" json:"prevRoleName,omitempty" vim:"6.5"`
 71601  	// The privileges added to the role.
 71602  	PrivilegesAdded []string `xml:"privilegesAdded,omitempty" json:"privilegesAdded,omitempty" vim:"6.5"`
 71603  	// The privileges removed from the role.
 71604  	PrivilegesRemoved []string `xml:"privilegesRemoved,omitempty" json:"privilegesRemoved,omitempty" vim:"6.5"`
 71605  }
 71606  
 71607  func init() {
 71608  	t["RoleUpdatedEvent"] = reflect.TypeOf((*RoleUpdatedEvent)(nil)).Elem()
 71609  }
 71610  
 71611  // This event is generated when network configuration rollback
 71612  // occurs on a host due configuration change that disconnected
 71613  // the host from vSphere server
 71614  type RollbackEvent struct {
 71615  	DvsEvent
 71616  
 71617  	// The host on which rollback happened
 71618  	HostName string `xml:"hostName" json:"hostName"`
 71619  	// The API method that was rolled back
 71620  	MethodName string `xml:"methodName,omitempty" json:"methodName,omitempty"`
 71621  }
 71622  
 71623  func init() {
 71624  	t["RollbackEvent"] = reflect.TypeOf((*RollbackEvent)(nil)).Elem()
 71625  	minAPIVersionForType["RollbackEvent"] = "5.1"
 71626  }
 71627  
 71628  // Thrown if a Rollback operation fails
 71629  type RollbackFailure struct {
 71630  	DvsFault
 71631  
 71632  	// The entity name on which rollback failed
 71633  	EntityName string `xml:"entityName" json:"entityName"`
 71634  	// The entity type on which rollback failed
 71635  	EntityType string `xml:"entityType" json:"entityType"`
 71636  }
 71637  
 71638  func init() {
 71639  	t["RollbackFailure"] = reflect.TypeOf((*RollbackFailure)(nil)).Elem()
 71640  	minAPIVersionForType["RollbackFailure"] = "5.1"
 71641  }
 71642  
 71643  type RollbackFailureFault RollbackFailure
 71644  
 71645  func init() {
 71646  	t["RollbackFailureFault"] = reflect.TypeOf((*RollbackFailureFault)(nil)).Elem()
 71647  }
 71648  
 71649  // The virtual machine if powered on, would violate an
 71650  // affinity/anti-affinity rule.
 71651  //
 71652  // In this case, the VM can still be powered
 71653  // on manually by a user who knows what they are doing, but VirtualCenter
 71654  // will never automatically move or power on a VM such that it triggers
 71655  // the violation.
 71656  type RuleViolation struct {
 71657  	VmConfigFault
 71658  
 71659  	// The host that the virtual machine can not be powered on without
 71660  	// violate a rule.
 71661  	//
 71662  	// Refers instance of `HostSystem`.
 71663  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty" vim:"2.5"`
 71664  	// The rule that is violated.
 71665  	//
 71666  	// It can be an affinity or anti-affinity rule.
 71667  	Rule BaseClusterRuleInfo `xml:"rule,omitempty,typeattr" json:"rule,omitempty" vim:"4.0"`
 71668  }
 71669  
 71670  func init() {
 71671  	t["RuleViolation"] = reflect.TypeOf((*RuleViolation)(nil)).Elem()
 71672  }
 71673  
 71674  type RuleViolationFault RuleViolation
 71675  
 71676  func init() {
 71677  	t["RuleViolationFault"] = reflect.TypeOf((*RuleViolationFault)(nil)).Elem()
 71678  }
 71679  
 71680  type RunScheduledTask RunScheduledTaskRequestType
 71681  
 71682  func init() {
 71683  	t["RunScheduledTask"] = reflect.TypeOf((*RunScheduledTask)(nil)).Elem()
 71684  }
 71685  
 71686  type RunScheduledTaskRequestType struct {
 71687  	This ManagedObjectReference `xml:"_this" json:"-"`
 71688  }
 71689  
 71690  func init() {
 71691  	t["RunScheduledTaskRequestType"] = reflect.TypeOf((*RunScheduledTaskRequestType)(nil)).Elem()
 71692  }
 71693  
 71694  type RunScheduledTaskResponse struct {
 71695  }
 71696  
 71697  // This data object type specifies a script that is triggered by an alarm.
 71698  //
 71699  // You can use any elements of the
 71700  // `ActionParameter` enumerated list
 71701  // as part of your script to provide information available at runtime.
 71702  type RunScriptAction struct {
 71703  	Action
 71704  
 71705  	// The fully-qualified path to a shell script that runs on the
 71706  	// VirtualCenter server as a result of an alarm.
 71707  	Script string `xml:"script" json:"script"`
 71708  }
 71709  
 71710  func init() {
 71711  	t["RunScriptAction"] = reflect.TypeOf((*RunScriptAction)(nil)).Elem()
 71712  }
 71713  
 71714  type RunVsanPhysicalDiskDiagnostics RunVsanPhysicalDiskDiagnosticsRequestType
 71715  
 71716  func init() {
 71717  	t["RunVsanPhysicalDiskDiagnostics"] = reflect.TypeOf((*RunVsanPhysicalDiskDiagnostics)(nil)).Elem()
 71718  }
 71719  
 71720  // The parameters of `HostVsanInternalSystem.RunVsanPhysicalDiskDiagnostics`.
 71721  type RunVsanPhysicalDiskDiagnosticsRequestType struct {
 71722  	This ManagedObjectReference `xml:"_this" json:"-"`
 71723  	// List of VSAN disk UUIDs. If specified restricts the
 71724  	// diagnostics run to VSAN disks present in the provided list.
 71725  	Disks []string `xml:"disks,omitempty" json:"disks,omitempty"`
 71726  }
 71727  
 71728  func init() {
 71729  	t["RunVsanPhysicalDiskDiagnosticsRequestType"] = reflect.TypeOf((*RunVsanPhysicalDiskDiagnosticsRequestType)(nil)).Elem()
 71730  }
 71731  
 71732  type RunVsanPhysicalDiskDiagnosticsResponse struct {
 71733  	Returnval []HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult `xml:"returnval" json:"returnval"`
 71734  }
 71735  
 71736  // The base data object type for all runtime faults that can be
 71737  // thrown by a method.
 71738  type RuntimeFault struct {
 71739  	MethodFault
 71740  }
 71741  
 71742  func init() {
 71743  	t["RuntimeFault"] = reflect.TypeOf((*RuntimeFault)(nil)).Elem()
 71744  }
 71745  
 71746  type RuntimeFaultFault BaseRuntimeFault
 71747  
 71748  func init() {
 71749  	t["RuntimeFaultFault"] = reflect.TypeOf((*RuntimeFaultFault)(nil)).Elem()
 71750  }
 71751  
 71752  // SAMLTokenAuthentication contains the information necessary to authenticate
 71753  // within a guest using a SAML bearer token.
 71754  //
 71755  // SAML token authentication relies on a guest alias that associates a guest
 71756  // account with the subject and certificate
 71757  // encoded in a SAML token obtained from the VMware SSO Server.
 71758  //   - Use the `GuestAliasManager`.
 71759  //     `GuestAliasManager.AddGuestAlias` method to create a guest
 71760  //     alias.
 71761  //   - Use a SAMLTokenAuthentication object for the
 71762  //     auth parameter to guest operations methods.
 71763  //
 71764  // After you have created an alias, you can use SAML token authentication
 71765  // for guest operations methods.
 71766  // Do not use SAML token authentication for the
 71767  // `GuestAuthManager.AcquireCredentialsInGuest` and
 71768  // `GuestAuthManager.ReleaseCredentialsInGuest` methods.
 71769  type SAMLTokenAuthentication struct {
 71770  	GuestAuthentication
 71771  
 71772  	// The SAML bearer token.
 71773  	Token string `xml:"token" json:"token"`
 71774  	// This is the guest user to be associated with the authentication.
 71775  	//
 71776  	// If none is specified, a guest dependent mapping will decide what
 71777  	// user account is applied.
 71778  	Username string `xml:"username,omitempty" json:"username,omitempty"`
 71779  }
 71780  
 71781  func init() {
 71782  	t["SAMLTokenAuthentication"] = reflect.TypeOf((*SAMLTokenAuthentication)(nil)).Elem()
 71783  	minAPIVersionForType["SAMLTokenAuthentication"] = "6.0"
 71784  }
 71785  
 71786  // An empty data object which can be used as the base class for data objects
 71787  // outside VIM namespace which have to be proxied through vCenter opaquely.
 71788  //
 71789  // For example, vSan configuration spec will extend from this which will
 71790  // allow HCI API to pass the spec to set up vSan on the cluster.
 71791  type SDDCBase struct {
 71792  	DynamicData
 71793  }
 71794  
 71795  func init() {
 71796  	t["SDDCBase"] = reflect.TypeOf((*SDDCBase)(nil)).Elem()
 71797  	minAPIVersionForType["SDDCBase"] = "6.0"
 71798  }
 71799  
 71800  // A SSLDisabledFault fault occurs when a host does not have ssl enabled.
 71801  type SSLDisabledFault struct {
 71802  	HostConnectFault
 71803  }
 71804  
 71805  func init() {
 71806  	t["SSLDisabledFault"] = reflect.TypeOf((*SSLDisabledFault)(nil)).Elem()
 71807  	minAPIVersionForType["SSLDisabledFault"] = "4.0"
 71808  }
 71809  
 71810  type SSLDisabledFaultFault SSLDisabledFault
 71811  
 71812  func init() {
 71813  	t["SSLDisabledFaultFault"] = reflect.TypeOf((*SSLDisabledFaultFault)(nil)).Elem()
 71814  }
 71815  
 71816  // SSLVerifyFault is thrown by the host connect method if the VC
 71817  // server could not verify the authenticity of the host's SSL
 71818  // certificate.
 71819  //
 71820  // Currently, we do not distinguish the various possible reasons why
 71821  // the certificate could not be verified because we don't provide a
 71822  // way for the user to overwrite these reasons other than turning off
 71823  // SSL certificate verification completely.
 71824  // The only exception is the case when the certificate was rejected
 71825  // because it was self-signed. This is the most likely case when the
 71826  // user may want to overwrite the behavior by specifying the
 71827  // certificate's thumbprint in the ConnectSpec the next time the user
 71828  // connects to the host.
 71829  type SSLVerifyFault struct {
 71830  	HostConnectFault
 71831  
 71832  	// Whether the host's certificate was self signed
 71833  	SelfSigned bool `xml:"selfSigned" json:"selfSigned"`
 71834  	// The thumbprint of the host's certificate.
 71835  	//
 71836  	// This field is optional since vSphere 8.0u2.
 71837  	Thumbprint string `xml:"thumbprint,omitempty" json:"thumbprint,omitempty"`
 71838  }
 71839  
 71840  func init() {
 71841  	t["SSLVerifyFault"] = reflect.TypeOf((*SSLVerifyFault)(nil)).Elem()
 71842  	minAPIVersionForType["SSLVerifyFault"] = "2.5"
 71843  }
 71844  
 71845  type SSLVerifyFaultFault SSLVerifyFault
 71846  
 71847  func init() {
 71848  	t["SSLVerifyFaultFault"] = reflect.TypeOf((*SSLVerifyFaultFault)(nil)).Elem()
 71849  }
 71850  
 71851  // SSPIAuthentication contains the information necessary to
 71852  // initiate a ticketed authentication session in the guest
 71853  // using SSPI credentials.
 71854  //
 71855  // The ticketed session is not stateless and stores state inside of the guest.
 71856  //
 71857  // To use SSPIAuthentication, populate sspiToken with a base64 encoded SSPI token.
 71858  // Then call `GuestAuthManager.AcquireCredentialsInGuest` with
 71859  // the SSPIAuthentication object and no sessionID.
 71860  // After issuing the `GuestAuthManager.AcquireCredentialsInGuest` call, a
 71861  // `GuestAuthenticationChallenge` will be thrown.
 71862  // Use the serverChallenge sspiToken in `GuestAuthenticationChallenge`
 71863  // to generate the proper SSPI response token.
 71864  // Populate an SSPIAuthentication object with the base64 encoded SSPI response token, and
 71865  // call `GuestAuthManager.AcquireCredentialsInGuest` with the SSPIAuthentication object and
 71866  // the sessionID found in `GuestAuthenticationChallenge`.
 71867  //
 71868  // Successful authentication will result in a `TicketedSessionAuthentication`
 71869  // object being returned. You can use the `TicketedSessionAuthentication` in any
 71870  // guest operations function call. You should NOT attempt to use SSPIAuthentication in any guest
 71871  // operations function call.
 71872  //
 71873  // When you no longer need the `TicketedSessionAuthentication` object, you should
 71874  // call `GuestAuthManager.ReleaseCredentialsInGuest` to free associated resources
 71875  // and session data.
 71876  //
 71877  // Usage notes: SSPI authentication has the same limitations as a duplicated primary token obtained
 71878  // from the Windows API function LogonUser with the LOGON32\_LOGON\_NETWORK logon type. This will affect
 71879  // programs started with `GuestProcessManager.StartProgramInGuest`. For example, launched
 71880  // programs will be unable to use WMI functions unless the "Remote Enable" privilege is enabled for
 71881  // the user. Similarly, access to network resources may fail due to the limitations of the token.
 71882  type SSPIAuthentication struct {
 71883  	GuestAuthentication
 71884  
 71885  	// This contains a base64 encoded SSPI Token.
 71886  	SspiToken string `xml:"sspiToken" json:"sspiToken"`
 71887  }
 71888  
 71889  func init() {
 71890  	t["SSPIAuthentication"] = reflect.TypeOf((*SSPIAuthentication)(nil)).Elem()
 71891  	minAPIVersionForType["SSPIAuthentication"] = "5.0"
 71892  }
 71893  
 71894  // Thrown during SSPI pass-through authentication if further
 71895  // negotiation is required.
 71896  type SSPIChallenge struct {
 71897  	VimFault
 71898  
 71899  	// The opaque server response token, base-64 encoded.
 71900  	Base64Token string `xml:"base64Token" json:"base64Token"`
 71901  }
 71902  
 71903  func init() {
 71904  	t["SSPIChallenge"] = reflect.TypeOf((*SSPIChallenge)(nil)).Elem()
 71905  	minAPIVersionForType["SSPIChallenge"] = "2.5"
 71906  }
 71907  
 71908  type SSPIChallengeFault SSPIChallenge
 71909  
 71910  func init() {
 71911  	t["SSPIChallengeFault"] = reflect.TypeOf((*SSPIChallengeFault)(nil)).Elem()
 71912  }
 71913  
 71914  // The parameters of `HostPatchManager.ScanHostPatch_Task`.
 71915  type ScanHostPatchRequestType struct {
 71916  	This ManagedObjectReference `xml:"_this" json:"-"`
 71917  	// Location of the repository that contains the
 71918  	// bulletin depot. The depot must be organized as a flat
 71919  	// collection of bulletins with each one being a folder named
 71920  	// after the bulletin ID. Each folder must contain the full
 71921  	// update metadata.
 71922  	Repository HostPatchManagerLocator `xml:"repository" json:"repository"`
 71923  	// The updates to scan. Wildcards can be used to specify
 71924  	// the update IDs. The wildcards will be expanded to include all
 71925  	// updates whose IDs match the specified wildcard and whose metadata
 71926  	// is available in the repository. Specifying no update is
 71927  	// equivalent to a wildcard "\*". In this case all updates available
 71928  	// in the repository will be scanned.
 71929  	UpdateID []string `xml:"updateID,omitempty" json:"updateID,omitempty"`
 71930  }
 71931  
 71932  func init() {
 71933  	t["ScanHostPatchRequestType"] = reflect.TypeOf((*ScanHostPatchRequestType)(nil)).Elem()
 71934  }
 71935  
 71936  // The parameters of `HostPatchManager.ScanHostPatchV2_Task`.
 71937  type ScanHostPatchV2RequestType struct {
 71938  	This ManagedObjectReference `xml:"_this" json:"-"`
 71939  	// a list of urls pointing to metadata.zip.
 71940  	MetaUrls []string `xml:"metaUrls,omitempty" json:"metaUrls,omitempty"`
 71941  	// a list of urls pointing to an "offline" bundle. It is not supported in 5.0 or later.
 71942  	BundleUrls []string                                   `xml:"bundleUrls,omitempty" json:"bundleUrls,omitempty"`
 71943  	Spec       *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 71944  }
 71945  
 71946  func init() {
 71947  	t["ScanHostPatchV2RequestType"] = reflect.TypeOf((*ScanHostPatchV2RequestType)(nil)).Elem()
 71948  }
 71949  
 71950  type ScanHostPatchV2_Task ScanHostPatchV2RequestType
 71951  
 71952  func init() {
 71953  	t["ScanHostPatchV2_Task"] = reflect.TypeOf((*ScanHostPatchV2_Task)(nil)).Elem()
 71954  }
 71955  
 71956  type ScanHostPatchV2_TaskResponse struct {
 71957  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 71958  }
 71959  
 71960  type ScanHostPatch_Task ScanHostPatchRequestType
 71961  
 71962  func init() {
 71963  	t["ScanHostPatch_Task"] = reflect.TypeOf((*ScanHostPatch_Task)(nil)).Elem()
 71964  }
 71965  
 71966  type ScanHostPatch_TaskResponse struct {
 71967  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 71968  }
 71969  
 71970  type ScheduleReconcileDatastoreInventory ScheduleReconcileDatastoreInventoryRequestType
 71971  
 71972  func init() {
 71973  	t["ScheduleReconcileDatastoreInventory"] = reflect.TypeOf((*ScheduleReconcileDatastoreInventory)(nil)).Elem()
 71974  }
 71975  
 71976  // The parameters of `VcenterVStorageObjectManager.ScheduleReconcileDatastoreInventory`.
 71977  type ScheduleReconcileDatastoreInventoryRequestType struct {
 71978  	This ManagedObjectReference `xml:"_this" json:"-"`
 71979  	// The datastore that needs to be reconciled.
 71980  	//
 71981  	// Refers instance of `Datastore`.
 71982  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 71983  }
 71984  
 71985  func init() {
 71986  	t["ScheduleReconcileDatastoreInventoryRequestType"] = reflect.TypeOf((*ScheduleReconcileDatastoreInventoryRequestType)(nil)).Elem()
 71987  }
 71988  
 71989  type ScheduleReconcileDatastoreInventoryResponse struct {
 71990  }
 71991  
 71992  // Data object type containing settings for the scheduled hardware upgrades.
 71993  type ScheduledHardwareUpgradeInfo struct {
 71994  	DynamicData
 71995  
 71996  	// Scheduled hardware upgrade policy setting for the virtual machine.
 71997  	//
 71998  	// See also `ScheduledHardwareUpgradeInfoHardwareUpgradePolicy_enum`.
 71999  	UpgradePolicy string `xml:"upgradePolicy,omitempty" json:"upgradePolicy,omitempty"`
 72000  	// Key for target hardware version to be used on next scheduled upgrade
 72001  	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
 72002  	VersionKey string `xml:"versionKey,omitempty" json:"versionKey,omitempty"`
 72003  	// Status for last attempt to run scheduled hardware upgrade.
 72004  	//
 72005  	// See also `ScheduledHardwareUpgradeInfoHardwareUpgradeStatus_enum`.
 72006  	ScheduledHardwareUpgradeStatus string `xml:"scheduledHardwareUpgradeStatus,omitempty" json:"scheduledHardwareUpgradeStatus,omitempty"`
 72007  	// Contains information about the failure of last attempt to run
 72008  	// scheduled hardware upgrade.
 72009  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 72010  }
 72011  
 72012  func init() {
 72013  	t["ScheduledHardwareUpgradeInfo"] = reflect.TypeOf((*ScheduledHardwareUpgradeInfo)(nil)).Elem()
 72014  	minAPIVersionForType["ScheduledHardwareUpgradeInfo"] = "5.1"
 72015  }
 72016  
 72017  // This event records the completion of a scheduled task.
 72018  type ScheduledTaskCompletedEvent struct {
 72019  	ScheduledTaskEvent
 72020  }
 72021  
 72022  func init() {
 72023  	t["ScheduledTaskCompletedEvent"] = reflect.TypeOf((*ScheduledTaskCompletedEvent)(nil)).Elem()
 72024  }
 72025  
 72026  // This event records the creation of a scheduled task.
 72027  type ScheduledTaskCreatedEvent struct {
 72028  	ScheduledTaskEvent
 72029  }
 72030  
 72031  func init() {
 72032  	t["ScheduledTaskCreatedEvent"] = reflect.TypeOf((*ScheduledTaskCreatedEvent)(nil)).Elem()
 72033  }
 72034  
 72035  // Static strings for scheduled tasks.
 72036  //
 72037  // These strings are locale-specific.
 72038  type ScheduledTaskDescription struct {
 72039  	DynamicData
 72040  
 72041  	// Action class descriptions for a scheduled task.
 72042  	Action []BaseTypeDescription `xml:"action,typeattr" json:"action"`
 72043  	// Scheduler class description details.
 72044  	SchedulerInfo []ScheduledTaskDetail `xml:"schedulerInfo" json:"schedulerInfo"`
 72045  	// *TaskInfo State enum*
 72046  	State []BaseElementDescription `xml:"state,typeattr" json:"state"`
 72047  	// *MonthlyByWeekdayTaskScheduler Days of the week enum description*
 72048  	DayOfWeek []BaseElementDescription `xml:"dayOfWeek,typeattr" json:"dayOfWeek"`
 72049  	// *MonthlyByWeekdayTaskScheduler Week of the month enum description*
 72050  	WeekOfMonth []BaseElementDescription `xml:"weekOfMonth,typeattr" json:"weekOfMonth"`
 72051  }
 72052  
 72053  func init() {
 72054  	t["ScheduledTaskDescription"] = reflect.TypeOf((*ScheduledTaskDescription)(nil)).Elem()
 72055  }
 72056  
 72057  // Descriptive detail for each scheduler type.
 72058  type ScheduledTaskDetail struct {
 72059  	TypeDescription
 72060  
 72061  	// Scheduler frequency description.
 72062  	Frequency string `xml:"frequency" json:"frequency"`
 72063  }
 72064  
 72065  func init() {
 72066  	t["ScheduledTaskDetail"] = reflect.TypeOf((*ScheduledTaskDetail)(nil)).Elem()
 72067  }
 72068  
 72069  // This event records the sending of a notification via email for a scheduled task.
 72070  type ScheduledTaskEmailCompletedEvent struct {
 72071  	ScheduledTaskEvent
 72072  
 72073  	// The destination email address.
 72074  	To string `xml:"to" json:"to"`
 72075  }
 72076  
 72077  func init() {
 72078  	t["ScheduledTaskEmailCompletedEvent"] = reflect.TypeOf((*ScheduledTaskEmailCompletedEvent)(nil)).Elem()
 72079  }
 72080  
 72081  // This event records the failure of an attempt to send a notification via email
 72082  // for a scheduled task.
 72083  type ScheduledTaskEmailFailedEvent struct {
 72084  	ScheduledTaskEvent
 72085  
 72086  	// The destination email address.
 72087  	To string `xml:"to" json:"to"`
 72088  	// The reason for the failure.
 72089  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 72090  }
 72091  
 72092  func init() {
 72093  	t["ScheduledTaskEmailFailedEvent"] = reflect.TypeOf((*ScheduledTaskEmailFailedEvent)(nil)).Elem()
 72094  }
 72095  
 72096  // These events are scheduled task events.
 72097  type ScheduledTaskEvent struct {
 72098  	Event
 72099  
 72100  	// The scheduled task object.
 72101  	ScheduledTask ScheduledTaskEventArgument `xml:"scheduledTask" json:"scheduledTask"`
 72102  	// The entity on which the scheduled task registered.
 72103  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
 72104  }
 72105  
 72106  func init() {
 72107  	t["ScheduledTaskEvent"] = reflect.TypeOf((*ScheduledTaskEvent)(nil)).Elem()
 72108  }
 72109  
 72110  // The event argument is a scheduled task object.
 72111  type ScheduledTaskEventArgument struct {
 72112  	EntityEventArgument
 72113  
 72114  	// The scheduled task object.
 72115  	//
 72116  	// Refers instance of `ScheduledTask`.
 72117  	ScheduledTask ManagedObjectReference `xml:"scheduledTask" json:"scheduledTask"`
 72118  }
 72119  
 72120  func init() {
 72121  	t["ScheduledTaskEventArgument"] = reflect.TypeOf((*ScheduledTaskEventArgument)(nil)).Elem()
 72122  }
 72123  
 72124  // This event records the failure of a scheduled task.
 72125  type ScheduledTaskFailedEvent struct {
 72126  	ScheduledTaskEvent
 72127  
 72128  	// The reason for the failure.
 72129  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 72130  }
 72131  
 72132  func init() {
 72133  	t["ScheduledTaskFailedEvent"] = reflect.TypeOf((*ScheduledTaskFailedEvent)(nil)).Elem()
 72134  }
 72135  
 72136  // The scheduled task details.
 72137  type ScheduledTaskInfo struct {
 72138  	ScheduledTaskSpec
 72139  
 72140  	// Scheduled task object.
 72141  	//
 72142  	// Refers instance of `ScheduledTask`.
 72143  	ScheduledTask ManagedObjectReference `xml:"scheduledTask" json:"scheduledTask"`
 72144  	// The entity on which related events will be logged.
 72145  	//
 72146  	// If the task is scheduled on a ManagedEntity, this
 72147  	// field will also reflect the same ManagedEntity.
 72148  	// If task is scheduled on a ManagedObject, this field
 72149  	// will have information about the entity on which
 72150  	// the events will be logged on behalf of the ManagedObject.
 72151  	// ManagedObject itself will be denoted by `ScheduledTaskInfo.taskObject`
 72152  	//
 72153  	// Refers instance of `ManagedEntity`.
 72154  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 72155  	// The time the scheduled task is created or modified.
 72156  	LastModifiedTime time.Time `xml:"lastModifiedTime" json:"lastModifiedTime"`
 72157  	// Last user that modified the scheduled task.
 72158  	LastModifiedUser string `xml:"lastModifiedUser" json:"lastModifiedUser"`
 72159  	// The next time the scheduled task will run.
 72160  	NextRunTime *time.Time `xml:"nextRunTime" json:"nextRunTime,omitempty"`
 72161  	// The last time the scheduled task ran.
 72162  	PrevRunTime *time.Time `xml:"prevRunTime" json:"prevRunTime,omitempty"`
 72163  	// Scheduled task state.
 72164  	State TaskInfoState `xml:"state" json:"state"`
 72165  	// The fault code when the scheduled task state is "error".
 72166  	Error *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 72167  	// The operation result when the scheduled task state is "success".
 72168  	Result AnyType `xml:"result,omitempty,typeattr" json:"result,omitempty"`
 72169  	// The task progress when the scheduled task state is "running".
 72170  	Progress int32 `xml:"progress,omitempty" json:"progress,omitempty"`
 72171  	// The running task instance when the scheduled task state is "running".
 72172  	//
 72173  	// Refers instance of `Task`.
 72174  	ActiveTask *ManagedObjectReference `xml:"activeTask,omitempty" json:"activeTask,omitempty"`
 72175  	// The object on which the scheduled task is defined.
 72176  	//
 72177  	// This field will have information about either the
 72178  	// ManagedEntity or the ManagedObject on which the scheduled
 72179  	// task is defined.
 72180  	TaskObject *ManagedObjectReference `xml:"taskObject,omitempty" json:"taskObject,omitempty" vim:"4.0"`
 72181  }
 72182  
 72183  func init() {
 72184  	t["ScheduledTaskInfo"] = reflect.TypeOf((*ScheduledTaskInfo)(nil)).Elem()
 72185  }
 72186  
 72187  // This event records the reconfiguration of a scheduled task.
 72188  type ScheduledTaskReconfiguredEvent struct {
 72189  	ScheduledTaskEvent
 72190  
 72191  	// The configuration values changed during the reconfiguration.
 72192  	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty" vim:"6.5"`
 72193  }
 72194  
 72195  func init() {
 72196  	t["ScheduledTaskReconfiguredEvent"] = reflect.TypeOf((*ScheduledTaskReconfiguredEvent)(nil)).Elem()
 72197  }
 72198  
 72199  // This event records the removal of a scheduled task.
 72200  type ScheduledTaskRemovedEvent struct {
 72201  	ScheduledTaskEvent
 72202  }
 72203  
 72204  func init() {
 72205  	t["ScheduledTaskRemovedEvent"] = reflect.TypeOf((*ScheduledTaskRemovedEvent)(nil)).Elem()
 72206  }
 72207  
 72208  // Parameters for scheduled task creation.
 72209  type ScheduledTaskSpec struct {
 72210  	DynamicData
 72211  
 72212  	// Name of the scheduled task.
 72213  	Name string `xml:"name" json:"name"`
 72214  	// Description of the scheduled task.
 72215  	Description string `xml:"description" json:"description"`
 72216  	// Flag to indicate whether the scheduled task is enabled or disabled.
 72217  	Enabled bool `xml:"enabled" json:"enabled"`
 72218  	// The time scheduler that determines when the scheduled task runs.
 72219  	Scheduler BaseTaskScheduler `xml:"scheduler,typeattr" json:"scheduler"`
 72220  	// The action of the scheduled task, to be done when the scheduled task runs.
 72221  	Action BaseAction `xml:"action,typeattr" json:"action"`
 72222  	// The email notification.
 72223  	//
 72224  	// If not set, this property is set to empty string, indicating no notification.
 72225  	Notification string `xml:"notification,omitempty" json:"notification,omitempty"`
 72226  }
 72227  
 72228  func init() {
 72229  	t["ScheduledTaskSpec"] = reflect.TypeOf((*ScheduledTaskSpec)(nil)).Elem()
 72230  }
 72231  
 72232  // This event records when a scheduled task started.
 72233  type ScheduledTaskStartedEvent struct {
 72234  	ScheduledTaskEvent
 72235  }
 72236  
 72237  func init() {
 72238  	t["ScheduledTaskStartedEvent"] = reflect.TypeOf((*ScheduledTaskStartedEvent)(nil)).Elem()
 72239  }
 72240  
 72241  // The `ScsiLun` data object describes a SCSI logical unit.
 72242  //
 72243  // A SCSI logical unit is a host device that an ESX Server or virtual machine
 72244  // can use for I/O operations.
 72245  //
 72246  // An ESX Server creates SCSI logical unit objects to represent
 72247  // devices in the host configuration. (See the definition of
 72248  // `ScsiLunType_enum` for a list of the supported device types.)
 72249  // The vSphere API uses one of two object types to represent a SCSI
 72250  // logical unit, depending on the device type.
 72251  //   - Disks containing file system volumes or parts of volumes for hosts
 72252  //     or raw disks for virtual machines. To represent disks, the ESX Server
 72253  //     creates a `HostScsiDisk` object, which inherits properties from
 72254  //     the `ScsiLun` base class.
 72255  //   - Other SCSI devices, for example SCSI passthrough devices
 72256  //     for virtual machines. To represent one of these devices,
 72257  //     the ESX Server creates a `ScsiLun` object.
 72258  //
 72259  // When the Server creates a `HostScsiDisk` or `ScsiLun` object,
 72260  // it specifies a valid device name and type:
 72261  //   - `HostDevice.deviceName` - A string representing the name of the device
 72262  //     that is meaningful to the host. The following are some examples of
 72263  //     device names.
 72264  //     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>/dev/cdrom</code>
 72265  //     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>/vmkdev/vmhba0:0:1:0</code>
 72266  //     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>PhysicalDrive0</code>
 72267  //   - `HostDevice.deviceType` - A string describing the type of device.
 72268  //     The following are some examples of device types.
 72269  //     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>scsi-cdrom</code>
 72270  //     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>scsi-tape</code>
 72271  //     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>scsi-disk</code>
 72272  //     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>scsi-processor</code>
 72273  //     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>scsi-unknown</code>
 72274  type ScsiLun struct {
 72275  	HostDevice
 72276  
 72277  	// Linkable identifier
 72278  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 72279  	// Universally unique identifier for the LUN used to identify ScsiLun across
 72280  	// multiple servers.
 72281  	//
 72282  	// This identifier can be used to identify analogous objects in other views
 72283  	// such as `HostMultipathInfoLogicalUnit` and `HostScsiTopologyLun`.
 72284  	//
 72285  	// See also `HostMultipathInfoLogicalUnit`, `HostScsiTopologyLun`.
 72286  	Uuid string `xml:"uuid" json:"uuid"`
 72287  	// List of descriptors that can be used to identify the LUN object.
 72288  	//
 72289  	// The
 72290  	// uuid will also appear as a descriptor.
 72291  	//
 72292  	// The id field in the descriptor is a string that can be used to correlate
 72293  	// the ScsiLun across multiple servers. A ScsiLun may have multiple
 72294  	// descriptors. The choice and order of these descriptors may be different
 72295  	// on different servers.
 72296  	//
 72297  	// Not all descriptors are suitable for correlation. Some descriptors are
 72298  	// only sufficient to identify the ScsiLun within a single host. Each
 72299  	// descriptor contains a quality property that indicates whether or not
 72300  	// the descriptor is suitable for correlation.
 72301  	Descriptor []ScsiLunDescriptor `xml:"descriptor,omitempty" json:"descriptor,omitempty" vim:"4.0"`
 72302  	// Canonical name of the SCSI logical unit.
 72303  	//
 72304  	// Disk partition or extent identifiers refer to this name when
 72305  	// referring to a disk. Use this property to correlate a partition
 72306  	// or extent to a specific SCSI disk.
 72307  	//
 72308  	// See also `HostScsiDiskPartition.diskName`.
 72309  	CanonicalName string `xml:"canonicalName,omitempty" json:"canonicalName,omitempty"`
 72310  	// User configurable display name of the SCSI logical unit.
 72311  	//
 72312  	// A default
 72313  	// display name will be used if available. If the display name is not
 72314  	// supported, it will be unset. The display name does not have to be
 72315  	// unique but it is recommended that it be unique.
 72316  	DisplayName string `xml:"displayName,omitempty" json:"displayName,omitempty" vim:"4.0"`
 72317  	// The type of SCSI device.
 72318  	//
 72319  	// Must be one of the values of
 72320  	// `ScsiLunType_enum`.
 72321  	LunType string `xml:"lunType" json:"lunType"`
 72322  	// The vendor of the SCSI device.
 72323  	Vendor string `xml:"vendor,omitempty" json:"vendor,omitempty"`
 72324  	// The model number of the SCSI device.
 72325  	Model string `xml:"model,omitempty" json:"model,omitempty"`
 72326  	// The revision of the SCSI device.
 72327  	Revision string `xml:"revision,omitempty" json:"revision,omitempty"`
 72328  	// The SCSI level of the SCSI device.
 72329  	ScsiLevel int32 `xml:"scsiLevel,omitempty" json:"scsiLevel,omitempty"`
 72330  	// The serial number of the SCSI device.
 72331  	//
 72332  	// For a device that is SCSI-3 compliant, this property is derived
 72333  	// from page 80h of the Vital Product Data (VPD), as defined by the
 72334  	// SCSI-3 Primary Commands (SPC-3) spec. Not all SCSI-3 compliant
 72335  	// devices provide this information. For devices that are not
 72336  	// SCSI-3 compliant, this property is not defined.
 72337  	SerialNumber string `xml:"serialNumber,omitempty" json:"serialNumber,omitempty"`
 72338  	// The durable name of the SCSI device.
 72339  	//
 72340  	// For a SCSI-3 compliant device this property is derived from the
 72341  	// payloads of pages 80h and 83h of the Vital Product Data (VPD) as
 72342  	// defined by the T10 and SMI standards. For devices that do not provide
 72343  	// this information, this property is not defined.
 72344  	DurableName *ScsiLunDurableName `xml:"durableName,omitempty" json:"durableName,omitempty"`
 72345  	// Alternate durable names.
 72346  	//
 72347  	// Records all available durable names derived from page 80h of the Vital
 72348  	// Product Data (VPD) and the Identification Vital Product Data (VPD) page
 72349  	// 83h as defined by the SCSI-3 Primary Commands. For devices that are not
 72350  	// SCSI-3 compliant this property is not defined.
 72351  	AlternateName []ScsiLunDurableName `xml:"alternateName,omitempty" json:"alternateName,omitempty" vim:"2.5"`
 72352  	// Standard Inquiry payload.
 72353  	//
 72354  	// For a SCSI-3 compliant device this property is derived from the
 72355  	// standard inquiry data. For devices that are not SCSI-3 compliant this
 72356  	// property is not defined.
 72357  	StandardInquiry []byte `xml:"standardInquiry,omitempty" json:"standardInquiry,omitempty" vim:"2.5"`
 72358  	// The queue depth of SCSI device.
 72359  	QueueDepth int32 `xml:"queueDepth,omitempty" json:"queueDepth,omitempty"`
 72360  	// The operational states of the LUN.
 72361  	//
 72362  	// When more than one item is present in the array, the first state
 72363  	// should be considered the primary state. For example, a LUN may
 72364  	// be "ok" and "degraded" indicating I/O is still possible to the LUN, but
 72365  	// it is operating in a degraded mode.
 72366  	//
 72367  	// See also `ScsiLunState_enum`.
 72368  	OperationalState []string `xml:"operationalState" json:"operationalState"`
 72369  	// Capabilities of SCSI device.
 72370  	Capabilities *ScsiLunCapabilities `xml:"capabilities,omitempty" json:"capabilities,omitempty" vim:"4.0"`
 72371  	// vStorage hardware acceleration support status.
 72372  	//
 72373  	// This property
 72374  	// represents storage acceleration provided by the SCSI logical unit.
 72375  	// See `ScsiLunVStorageSupportStatus_enum` for valid values.
 72376  	//
 72377  	// If a storage device supports hardware acceleration,
 72378  	// the ESX host can offload specific virtual machine management
 72379  	// operations to the storage device. With hardware assistance,
 72380  	// the host performs storage operations faster and consumes
 72381  	// less CPU, memory, and storage fabric bandwidth.
 72382  	//
 72383  	// For vSphere 4.0 or earlier hosts, this value will be unset.
 72384  	VStorageSupport string `xml:"vStorageSupport,omitempty" json:"vStorageSupport,omitempty" vim:"4.1"`
 72385  	// Indicates that this SCSI LUN is protocol endpoint.
 72386  	//
 72387  	// This
 72388  	// property will be populated if and only if host supports
 72389  	// VirtualVolume based Datastore. Check the host capability
 72390  	// `HostCapability.virtualVolumeDatastoreSupported`.
 72391  	// See `HostProtocolEndpoint`.
 72392  	ProtocolEndpoint *bool `xml:"protocolEndpoint" json:"protocolEndpoint,omitempty" vim:"6.0"`
 72393  	// Indicates the state of a perennially reserved flag for a LUN.
 72394  	//
 72395  	// If
 72396  	// set for Raw Device Mapped (RDM) LUNs, the host startup or LUN rescan
 72397  	// take comparatively shorter duration than when it is unset.
 72398  	PerenniallyReserved *bool `xml:"perenniallyReserved" json:"perenniallyReserved,omitempty" vim:"6.7.2"`
 72399  	// Indicates if LUN has the prequisite properties to enable Clustered Vmdk
 72400  	// feature once formatted into VMFS Datastore.
 72401  	ClusteredVmdkSupported *bool `xml:"clusteredVmdkSupported" json:"clusteredVmdkSupported,omitempty" vim:"7.0"`
 72402  	// Indicates the current device protocol.
 72403  	//
 72404  	// Application protocol for a device which is set based on input
 72405  	// from vmkctl storage control plane. Must be one of the values of
 72406  	// `DeviceProtocol_enum`.
 72407  	ApplicationProtocol string `xml:"applicationProtocol,omitempty" json:"applicationProtocol,omitempty" vim:"8.0.1.0"`
 72408  	// Indicates whether namespace is dispersed.
 72409  	//
 72410  	// Set to true when the namespace of LUN is dispersed.
 72411  	DispersedNs *bool `xml:"dispersedNs" json:"dispersedNs,omitempty" vim:"8.0.1.0"`
 72412  }
 72413  
 72414  func init() {
 72415  	t["ScsiLun"] = reflect.TypeOf((*ScsiLun)(nil)).Elem()
 72416  }
 72417  
 72418  // Scsi device specific capabilities.
 72419  type ScsiLunCapabilities struct {
 72420  	DynamicData
 72421  
 72422  	// Can the display name of the SCSI device be updated?
 72423  	UpdateDisplayNameSupported bool `xml:"updateDisplayNameSupported" json:"updateDisplayNameSupported"`
 72424  }
 72425  
 72426  func init() {
 72427  	t["ScsiLunCapabilities"] = reflect.TypeOf((*ScsiLunCapabilities)(nil)).Elem()
 72428  	minAPIVersionForType["ScsiLunCapabilities"] = "4.0"
 72429  }
 72430  
 72431  // A structure that encapsulates an identifier and its properties for the
 72432  // ScsiLun object.
 72433  type ScsiLunDescriptor struct {
 72434  	DynamicData
 72435  
 72436  	// An indicator of the utility of the descriptor as an identifier that
 72437  	// is stable, unique, and correlatable.
 72438  	//
 72439  	// See also `ScsiLunDescriptorQuality_enum`.
 72440  	Quality string `xml:"quality" json:"quality"`
 72441  	// The identifier represented as a string.
 72442  	Id string `xml:"id" json:"id"`
 72443  }
 72444  
 72445  func init() {
 72446  	t["ScsiLunDescriptor"] = reflect.TypeOf((*ScsiLunDescriptor)(nil)).Elem()
 72447  	minAPIVersionForType["ScsiLunDescriptor"] = "4.0"
 72448  }
 72449  
 72450  // This data object type represents an SMI-S "Correlatable and
 72451  // Durable Name" which is an
 72452  // identifier for a logical unit number (LUN) that is generated using
 72453  // a common algorithm.
 72454  //
 72455  // The algorithm divides the identifier into
 72456  // multiple namespaces where each
 72457  // namespace uses a different set of properties of the LUN to generate
 72458  // the identifier. The namespace itself is encoded in the identifier.
 72459  type ScsiLunDurableName struct {
 72460  	DynamicData
 72461  
 72462  	// The string describing the namespace used for the durable name.
 72463  	Namespace string `xml:"namespace" json:"namespace"`
 72464  	// The byte used by the ESX Server product to represent the namespace.
 72465  	NamespaceId byte `xml:"namespaceId" json:"namespaceId"`
 72466  	// The variable length byte array containing the namespace-specific data.
 72467  	//
 72468  	// For a SCSI-3 compliant device this field is the descriptor header
 72469  	// along with the payload for data obtained from page 83h, and is the
 72470  	// payload for data obtained from page 80h of the Vital Product Data
 72471  	// (VPD).
 72472  	Data []byte `xml:"data,omitempty" json:"data,omitempty"`
 72473  }
 72474  
 72475  func init() {
 72476  	t["ScsiLunDurableName"] = reflect.TypeOf((*ScsiLunDurableName)(nil)).Elem()
 72477  }
 72478  
 72479  // Specification used to create an Flex-SE based virtual disk
 72480  type SeSparseVirtualDiskSpec struct {
 72481  	FileBackedVirtualDiskSpec
 72482  
 72483  	// The grain size in kB for Flex-SE disk types.
 72484  	//
 72485  	// Default value will
 72486  	// be used if unset.
 72487  	GrainSizeKb int32 `xml:"grainSizeKb,omitempty" json:"grainSizeKb,omitempty"`
 72488  }
 72489  
 72490  func init() {
 72491  	t["SeSparseVirtualDiskSpec"] = reflect.TypeOf((*SeSparseVirtualDiskSpec)(nil)).Elem()
 72492  	minAPIVersionForType["SeSparseVirtualDiskSpec"] = "5.1"
 72493  }
 72494  
 72495  // The parameters of `HostDatastoreBrowser.SearchDatastore_Task`.
 72496  type SearchDatastoreRequestType struct {
 72497  	This          ManagedObjectReference          `xml:"_this" json:"-"`
 72498  	DatastorePath string                          `xml:"datastorePath" json:"datastorePath"`
 72499  	SearchSpec    *HostDatastoreBrowserSearchSpec `xml:"searchSpec,omitempty" json:"searchSpec,omitempty"`
 72500  }
 72501  
 72502  func init() {
 72503  	t["SearchDatastoreRequestType"] = reflect.TypeOf((*SearchDatastoreRequestType)(nil)).Elem()
 72504  }
 72505  
 72506  // The parameters of `HostDatastoreBrowser.SearchDatastoreSubFolders_Task`.
 72507  type SearchDatastoreSubFoldersRequestType struct {
 72508  	This          ManagedObjectReference          `xml:"_this" json:"-"`
 72509  	DatastorePath string                          `xml:"datastorePath" json:"datastorePath"`
 72510  	SearchSpec    *HostDatastoreBrowserSearchSpec `xml:"searchSpec,omitempty" json:"searchSpec,omitempty"`
 72511  }
 72512  
 72513  func init() {
 72514  	t["SearchDatastoreSubFoldersRequestType"] = reflect.TypeOf((*SearchDatastoreSubFoldersRequestType)(nil)).Elem()
 72515  }
 72516  
 72517  type SearchDatastoreSubFolders_Task SearchDatastoreSubFoldersRequestType
 72518  
 72519  func init() {
 72520  	t["SearchDatastoreSubFolders_Task"] = reflect.TypeOf((*SearchDatastoreSubFolders_Task)(nil)).Elem()
 72521  }
 72522  
 72523  type SearchDatastoreSubFolders_TaskResponse struct {
 72524  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 72525  }
 72526  
 72527  type SearchDatastore_Task SearchDatastoreRequestType
 72528  
 72529  func init() {
 72530  	t["SearchDatastore_Task"] = reflect.TypeOf((*SearchDatastore_Task)(nil)).Elem()
 72531  }
 72532  
 72533  type SearchDatastore_TaskResponse struct {
 72534  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 72535  }
 72536  
 72537  // This fault is thrown when an attempt is made to disable a secondary
 72538  // virtual machine that has already been disabled.
 72539  type SecondaryVmAlreadyDisabled struct {
 72540  	VmFaultToleranceIssue
 72541  
 72542  	// Instance UUID of the secondary virtual machine.
 72543  	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
 72544  }
 72545  
 72546  func init() {
 72547  	t["SecondaryVmAlreadyDisabled"] = reflect.TypeOf((*SecondaryVmAlreadyDisabled)(nil)).Elem()
 72548  	minAPIVersionForType["SecondaryVmAlreadyDisabled"] = "4.0"
 72549  }
 72550  
 72551  type SecondaryVmAlreadyDisabledFault SecondaryVmAlreadyDisabled
 72552  
 72553  func init() {
 72554  	t["SecondaryVmAlreadyDisabledFault"] = reflect.TypeOf((*SecondaryVmAlreadyDisabledFault)(nil)).Elem()
 72555  }
 72556  
 72557  // This fault is thrown when an attempt is made to enable a secondary
 72558  // virtual machine that has already been enabled.
 72559  type SecondaryVmAlreadyEnabled struct {
 72560  	VmFaultToleranceIssue
 72561  
 72562  	// Instance UUID of the secondary virtual machine.
 72563  	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
 72564  }
 72565  
 72566  func init() {
 72567  	t["SecondaryVmAlreadyEnabled"] = reflect.TypeOf((*SecondaryVmAlreadyEnabled)(nil)).Elem()
 72568  	minAPIVersionForType["SecondaryVmAlreadyEnabled"] = "4.0"
 72569  }
 72570  
 72571  type SecondaryVmAlreadyEnabledFault SecondaryVmAlreadyEnabled
 72572  
 72573  func init() {
 72574  	t["SecondaryVmAlreadyEnabledFault"] = reflect.TypeOf((*SecondaryVmAlreadyEnabledFault)(nil)).Elem()
 72575  }
 72576  
 72577  // This fault is thrown when an attempt is made to register a secondary
 72578  // virtual machine with a primary virtual machine with whom it is
 72579  // already registered.
 72580  type SecondaryVmAlreadyRegistered struct {
 72581  	VmFaultToleranceIssue
 72582  
 72583  	// Instance UUID of the secondary virtual machine.
 72584  	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
 72585  }
 72586  
 72587  func init() {
 72588  	t["SecondaryVmAlreadyRegistered"] = reflect.TypeOf((*SecondaryVmAlreadyRegistered)(nil)).Elem()
 72589  	minAPIVersionForType["SecondaryVmAlreadyRegistered"] = "4.0"
 72590  }
 72591  
 72592  type SecondaryVmAlreadyRegisteredFault SecondaryVmAlreadyRegistered
 72593  
 72594  func init() {
 72595  	t["SecondaryVmAlreadyRegisteredFault"] = reflect.TypeOf((*SecondaryVmAlreadyRegisteredFault)(nil)).Elem()
 72596  }
 72597  
 72598  // This fault is thrown when an attempt is made to unregister a secondary
 72599  // virtual machine from a primary virtual machine with whom it has not
 72600  // been previously registered.
 72601  type SecondaryVmNotRegistered struct {
 72602  	VmFaultToleranceIssue
 72603  
 72604  	// Instance UUID of the secondary virtual machine.
 72605  	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
 72606  }
 72607  
 72608  func init() {
 72609  	t["SecondaryVmNotRegistered"] = reflect.TypeOf((*SecondaryVmNotRegistered)(nil)).Elem()
 72610  	minAPIVersionForType["SecondaryVmNotRegistered"] = "4.0"
 72611  }
 72612  
 72613  type SecondaryVmNotRegisteredFault SecondaryVmNotRegistered
 72614  
 72615  func init() {
 72616  	t["SecondaryVmNotRegisteredFault"] = reflect.TypeOf((*SecondaryVmNotRegisteredFault)(nil)).Elem()
 72617  }
 72618  
 72619  // Thrown when the client is not allowed access to the property or method.
 72620  type SecurityError struct {
 72621  	RuntimeFault
 72622  }
 72623  
 72624  func init() {
 72625  	t["SecurityError"] = reflect.TypeOf((*SecurityError)(nil)).Elem()
 72626  }
 72627  
 72628  type SecurityErrorFault BaseSecurityError
 72629  
 72630  func init() {
 72631  	t["SecurityErrorFault"] = reflect.TypeOf((*SecurityErrorFault)(nil)).Elem()
 72632  }
 72633  
 72634  // The `SecurityProfile` data object represents host security configuration.
 72635  //
 72636  // If a profile plug-in defines policies or subprofiles, use the
 72637  // `ApplyProfile.policy` or `ApplyProfile.property`
 72638  // list to access the additional configuration data.
 72639  type SecurityProfile struct {
 72640  	ApplyProfile
 72641  
 72642  	// Permission configuration.
 72643  	Permission []PermissionProfile `xml:"permission,omitempty" json:"permission,omitempty" vim:"4.1"`
 72644  }
 72645  
 72646  func init() {
 72647  	t["SecurityProfile"] = reflect.TypeOf((*SecurityProfile)(nil)).Elem()
 72648  	minAPIVersionForType["SecurityProfile"] = "4.0"
 72649  }
 72650  
 72651  type SelectActivePartition SelectActivePartitionRequestType
 72652  
 72653  func init() {
 72654  	t["SelectActivePartition"] = reflect.TypeOf((*SelectActivePartition)(nil)).Elem()
 72655  }
 72656  
 72657  // The parameters of `HostDiagnosticSystem.SelectActivePartition`.
 72658  type SelectActivePartitionRequestType struct {
 72659  	This      ManagedObjectReference `xml:"_this" json:"-"`
 72660  	Partition *HostScsiDiskPartition `xml:"partition,omitempty" json:"partition,omitempty"`
 72661  }
 72662  
 72663  func init() {
 72664  	t["SelectActivePartitionRequestType"] = reflect.TypeOf((*SelectActivePartitionRequestType)(nil)).Elem()
 72665  }
 72666  
 72667  type SelectActivePartitionResponse struct {
 72668  }
 72669  
 72670  type SelectVnic SelectVnicRequestType
 72671  
 72672  func init() {
 72673  	t["SelectVnic"] = reflect.TypeOf((*SelectVnic)(nil)).Elem()
 72674  }
 72675  
 72676  type SelectVnicForNicType SelectVnicForNicTypeRequestType
 72677  
 72678  func init() {
 72679  	t["SelectVnicForNicType"] = reflect.TypeOf((*SelectVnicForNicType)(nil)).Elem()
 72680  }
 72681  
 72682  // The parameters of `HostVirtualNicManager.SelectVnicForNicType`.
 72683  type SelectVnicForNicTypeRequestType struct {
 72684  	This ManagedObjectReference `xml:"_this" json:"-"`
 72685  	// The type of VirtualNic that would be selected
 72686  	NicType string `xml:"nicType" json:"nicType"`
 72687  	// The device that uniquely identifies the VirtualNic.
 72688  	Device string `xml:"device" json:"device"`
 72689  }
 72690  
 72691  func init() {
 72692  	t["SelectVnicForNicTypeRequestType"] = reflect.TypeOf((*SelectVnicForNicTypeRequestType)(nil)).Elem()
 72693  }
 72694  
 72695  type SelectVnicForNicTypeResponse struct {
 72696  }
 72697  
 72698  // The parameters of `HostVMotionSystem.SelectVnic`.
 72699  type SelectVnicRequestType struct {
 72700  	This ManagedObjectReference `xml:"_this" json:"-"`
 72701  	// The device that uniquely identifies the VirtualNic.
 72702  	Device string `xml:"device" json:"device"`
 72703  }
 72704  
 72705  func init() {
 72706  	t["SelectVnicRequestType"] = reflect.TypeOf((*SelectVnicRequestType)(nil)).Elem()
 72707  }
 72708  
 72709  type SelectVnicResponse struct {
 72710  }
 72711  
 72712  // Base class for selecting entities
 72713  type SelectionSet struct {
 72714  	DynamicData
 72715  }
 72716  
 72717  func init() {
 72718  	t["SelectionSet"] = reflect.TypeOf((*SelectionSet)(nil)).Elem()
 72719  	minAPIVersionForType["SelectionSet"] = "5.0"
 72720  }
 72721  
 72722  // The `SelectionSpec` is the base type for data
 72723  // object types that specify what additional objects to filter.
 72724  //
 72725  // The base
 72726  // type contains only an optional "name" field, which allows a selection to
 72727  // be named for future reference. More information is available in the
 72728  // subtype.
 72729  //
 72730  // Named selections support recursive specifications on an object
 72731  // hierarchy. When used by a derived object, the "name" field allows other
 72732  // `SelectionSpec` objects to refer to the object by
 72733  // name. When used as the base type only, the "name" field indicates
 72734  // recursion to the derived object by name.
 72735  //
 72736  // Names are meaningful only within the same FilterSpec.
 72737  type SelectionSpec struct {
 72738  	DynamicData
 72739  
 72740  	// Name of the selection specification.
 72741  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 72742  }
 72743  
 72744  func init() {
 72745  	t["SelectionSpec"] = reflect.TypeOf((*SelectionSpec)(nil)).Elem()
 72746  }
 72747  
 72748  // This data object type defines an email that is triggered by an
 72749  // alarm.
 72750  //
 72751  // You can use any
 72752  // elements of the `ActionParameter`
 72753  // enumerated list as part of your strings to provide information available
 72754  // at runtime.
 72755  type SendEmailAction struct {
 72756  	Action
 72757  
 72758  	// A comma-separated list of addresses to which the email notification is sent.
 72759  	ToList string `xml:"toList" json:"toList"`
 72760  	// A comma-separated list of addresses that are cc'ed on the email notification.
 72761  	CcList string `xml:"ccList" json:"ccList"`
 72762  	// Subject of the email notification.
 72763  	Subject string `xml:"subject" json:"subject"`
 72764  	// Content of the email notification.
 72765  	Body string `xml:"body" json:"body"`
 72766  }
 72767  
 72768  func init() {
 72769  	t["SendEmailAction"] = reflect.TypeOf((*SendEmailAction)(nil)).Elem()
 72770  }
 72771  
 72772  type SendNMI SendNMIRequestType
 72773  
 72774  func init() {
 72775  	t["SendNMI"] = reflect.TypeOf((*SendNMI)(nil)).Elem()
 72776  }
 72777  
 72778  type SendNMIRequestType struct {
 72779  	This ManagedObjectReference `xml:"_this" json:"-"`
 72780  }
 72781  
 72782  func init() {
 72783  	t["SendNMIRequestType"] = reflect.TypeOf((*SendNMIRequestType)(nil)).Elem()
 72784  }
 72785  
 72786  type SendNMIResponse struct {
 72787  }
 72788  
 72789  // This data object type specifies an SNMP trap that is triggered by an alarm.
 72790  type SendSNMPAction struct {
 72791  	Action
 72792  }
 72793  
 72794  func init() {
 72795  	t["SendSNMPAction"] = reflect.TypeOf((*SendSNMPAction)(nil)).Elem()
 72796  }
 72797  
 72798  type SendTestNotification SendTestNotificationRequestType
 72799  
 72800  func init() {
 72801  	t["SendTestNotification"] = reflect.TypeOf((*SendTestNotification)(nil)).Elem()
 72802  }
 72803  
 72804  type SendTestNotificationRequestType struct {
 72805  	This ManagedObjectReference `xml:"_this" json:"-"`
 72806  }
 72807  
 72808  func init() {
 72809  	t["SendTestNotificationRequestType"] = reflect.TypeOf((*SendTestNotificationRequestType)(nil)).Elem()
 72810  }
 72811  
 72812  type SendTestNotificationResponse struct {
 72813  }
 72814  
 72815  // This event records an expired VirtualCenter server license.
 72816  type ServerLicenseExpiredEvent struct {
 72817  	LicenseEvent
 72818  
 72819  	Product string `xml:"product" json:"product"`
 72820  }
 72821  
 72822  func init() {
 72823  	t["ServerLicenseExpiredEvent"] = reflect.TypeOf((*ServerLicenseExpiredEvent)(nil)).Elem()
 72824  }
 72825  
 72826  // This event records the starting of the VirtualCenter server.
 72827  type ServerStartedSessionEvent struct {
 72828  	SessionEvent
 72829  }
 72830  
 72831  func init() {
 72832  	t["ServerStartedSessionEvent"] = reflect.TypeOf((*ServerStartedSessionEvent)(nil)).Elem()
 72833  }
 72834  
 72835  // The `ServiceConsolePortGroupProfile` data object represents
 72836  // the profile for a port group that will be used by the service console.
 72837  //
 72838  // If a profile plug-in defines policies or subprofiles, use the
 72839  // `ApplyProfile.policy` or `ApplyProfile.property`
 72840  // list to access the additional configuration data.
 72841  type ServiceConsolePortGroupProfile struct {
 72842  	PortGroupProfile
 72843  
 72844  	// IP address configuration for the service console network.
 72845  	IpConfig IpAddressProfile `xml:"ipConfig" json:"ipConfig"`
 72846  }
 72847  
 72848  func init() {
 72849  	t["ServiceConsolePortGroupProfile"] = reflect.TypeOf((*ServiceConsolePortGroupProfile)(nil)).Elem()
 72850  	minAPIVersionForType["ServiceConsolePortGroupProfile"] = "4.0"
 72851  }
 72852  
 72853  // The ServiceConsoleReservationInfo data object type describes the
 72854  // amount of memory that is being reserved by the service console.
 72855  //
 72856  // Memory reserved for use by the service console is a hard reservation
 72857  // that cannot be changed except across hardware restarts.
 72858  //
 72859  // This memory that is reserved for the service console is used primarily
 72860  // to provide system management services. In addition, a small overhead
 72861  // is needed by each virtual machine on the service console.
 72862  //
 72863  // The only property of the data object that can be changed directly is the
 72864  // serviceConsoleReservedCfg property. This property indicates how much
 72865  // memory should be reserved for the service console on the next boot. In
 72866  // most cases, this amount is the same as the current reservation.
 72867  type ServiceConsoleReservationInfo struct {
 72868  	DynamicData
 72869  
 72870  	// The amount of memory that should be reserved for the service console on
 72871  	// the next boot.
 72872  	ServiceConsoleReservedCfg int64 `xml:"serviceConsoleReservedCfg" json:"serviceConsoleReservedCfg"`
 72873  	// The amount of memory that is currently reserved for the service console.
 72874  	ServiceConsoleReserved int64 `xml:"serviceConsoleReserved" json:"serviceConsoleReserved"`
 72875  	// The amount of memory that is not reserved for use by the service console.
 72876  	Unreserved int64 `xml:"unreserved" json:"unreserved"`
 72877  }
 72878  
 72879  func init() {
 72880  	t["ServiceConsoleReservationInfo"] = reflect.TypeOf((*ServiceConsoleReservationInfo)(nil)).Elem()
 72881  }
 72882  
 72883  // The `ServiceContent` data object defines properties for the ServiceInstance
 72884  // managed object.
 72885  //
 72886  // The ServiceInstance itself does not have directly-accessible
 72887  // properties because reading the properties of a managed object requires
 72888  // the use of a property collector, and the property collector itself
 72889  // is a property of the `ServiceInstance`.
 72890  // For this reason, use the method `ServiceInstance.RetrieveServiceContent`
 72891  // to retrieve the `ServiceContent` object.
 72892  type ServiceContent struct {
 72893  	DynamicData
 72894  
 72895  	// Reference to the top of the inventory managed by this service.
 72896  	//
 72897  	// Refers instance of `Folder`.
 72898  	RootFolder ManagedObjectReference `xml:"rootFolder" json:"rootFolder"`
 72899  	// Reference to a per-session object for retrieving properties and updates.
 72900  	//
 72901  	// Refers instance of `PropertyCollector`.
 72902  	PropertyCollector ManagedObjectReference `xml:"propertyCollector" json:"propertyCollector"`
 72903  	// A singleton managed object for tracking custom sets of objects.
 72904  	//
 72905  	// Refers instance of `ViewManager`.
 72906  	ViewManager *ManagedObjectReference `xml:"viewManager,omitempty" json:"viewManager,omitempty" vim:"2.5"`
 72907  	// Information about the service, such as the software version.
 72908  	About AboutInfo `xml:"about" json:"about"`
 72909  	// Generic configuration for a management server.
 72910  	//
 72911  	// This is for example by
 72912  	// vCenter to store the vCenter Settings. This is not used for a
 72913  	// stand-alone host, instead the vim.host.ConfigManager.advancedOption is used.
 72914  	//
 72915  	// See also `HostConfigManager`.
 72916  	//
 72917  	// Refers instance of `OptionManager`.
 72918  	Setting *ManagedObjectReference `xml:"setting,omitempty" json:"setting,omitempty"`
 72919  	// A user directory managed object.
 72920  	//
 72921  	// Refers instance of `UserDirectory`.
 72922  	UserDirectory *ManagedObjectReference `xml:"userDirectory,omitempty" json:"userDirectory,omitempty"`
 72923  	// Managed object for logging in and managing sessions.
 72924  	//
 72925  	// Refers instance of `SessionManager`.
 72926  	SessionManager *ManagedObjectReference `xml:"sessionManager,omitempty" json:"sessionManager,omitempty"`
 72927  	// Manages permissions for managed entities in the service.
 72928  	//
 72929  	// Refers instance of `AuthorizationManager`.
 72930  	AuthorizationManager *ManagedObjectReference `xml:"authorizationManager,omitempty" json:"authorizationManager,omitempty"`
 72931  	// A singleton managed object that manages local services.
 72932  	//
 72933  	// Refers instance of `ServiceManager`.
 72934  	ServiceManager *ManagedObjectReference `xml:"serviceManager,omitempty" json:"serviceManager,omitempty" vim:"5.1"`
 72935  	// A singleton managed object that manages the collection and reporting
 72936  	// of performance statistics.
 72937  	//
 72938  	// Refers instance of `PerformanceManager`.
 72939  	PerfManager *ManagedObjectReference `xml:"perfManager,omitempty" json:"perfManager,omitempty"`
 72940  	// A singleton managed object that manages scheduled tasks.
 72941  	//
 72942  	// Refers instance of `ScheduledTaskManager`.
 72943  	ScheduledTaskManager *ManagedObjectReference `xml:"scheduledTaskManager,omitempty" json:"scheduledTaskManager,omitempty"`
 72944  	// A singleton managed object that manages alarms.
 72945  	//
 72946  	// Refers instance of `AlarmManager`.
 72947  	AlarmManager *ManagedObjectReference `xml:"alarmManager,omitempty" json:"alarmManager,omitempty"`
 72948  	// A singleton managed object that manages events.
 72949  	//
 72950  	// Refers instance of `EventManager`.
 72951  	EventManager *ManagedObjectReference `xml:"eventManager,omitempty" json:"eventManager,omitempty"`
 72952  	// A singleton managed object that manages tasks.
 72953  	//
 72954  	// Refers instance of `TaskManager`.
 72955  	TaskManager *ManagedObjectReference `xml:"taskManager,omitempty" json:"taskManager,omitempty"`
 72956  	// A singleton managed object that manages extensions.
 72957  	//
 72958  	// Refers instance of `ExtensionManager`.
 72959  	ExtensionManager *ManagedObjectReference `xml:"extensionManager,omitempty" json:"extensionManager,omitempty" vim:"2.5"`
 72960  	// A singleton managed object that manages saved guest customization
 72961  	// specifications.
 72962  	//
 72963  	// Refers instance of `CustomizationSpecManager`.
 72964  	CustomizationSpecManager *ManagedObjectReference `xml:"customizationSpecManager,omitempty" json:"customizationSpecManager,omitempty"`
 72965  	// A singleton managed object that manages guest customization of
 72966  	// a running VM.
 72967  	//
 72968  	// The typical usage is for the guest customization after the
 72969  	// InstantClone operation. See `VirtualMachine.InstantClone_Task`.
 72970  	//
 72971  	// Refers instance of `VirtualMachineGuestCustomizationManager`.
 72972  	GuestCustomizationManager *ManagedObjectReference `xml:"guestCustomizationManager,omitempty" json:"guestCustomizationManager,omitempty" vim:"6.8.7"`
 72973  	// A singleton managed object that managed custom fields.
 72974  	//
 72975  	// Refers instance of `CustomFieldsManager`.
 72976  	CustomFieldsManager *ManagedObjectReference `xml:"customFieldsManager,omitempty" json:"customFieldsManager,omitempty"`
 72977  	// A singleton managed object that manages host local user and group accounts.
 72978  	//
 72979  	// Refers instance of `HostLocalAccountManager`.
 72980  	AccountManager *ManagedObjectReference `xml:"accountManager,omitempty" json:"accountManager,omitempty"`
 72981  	// A singleton managed object that provides access to low-level log files.
 72982  	//
 72983  	// Refers instance of `DiagnosticManager`.
 72984  	DiagnosticManager *ManagedObjectReference `xml:"diagnosticManager,omitempty" json:"diagnosticManager,omitempty"`
 72985  	// A singleton managed object that manages licensing
 72986  	//
 72987  	// Refers instance of `LicenseManager`.
 72988  	LicenseManager *ManagedObjectReference `xml:"licenseManager,omitempty" json:"licenseManager,omitempty"`
 72989  	// A singleton managed object that allows search of the inventory
 72990  	//
 72991  	// Refers instance of `SearchIndex`.
 72992  	SearchIndex *ManagedObjectReference `xml:"searchIndex,omitempty" json:"searchIndex,omitempty"`
 72993  	// A singleton managed object that allows management of files present
 72994  	// on datastores.
 72995  	//
 72996  	// Refers instance of `FileManager`.
 72997  	FileManager *ManagedObjectReference `xml:"fileManager,omitempty" json:"fileManager,omitempty" vim:"2.5"`
 72998  	// Datastore Namespace manager.
 72999  	//
 73000  	// A singleton managed object that is used to manage manipulations
 73001  	// related to datastores' namespaces.
 73002  	//
 73003  	// Refers instance of `DatastoreNamespaceManager`.
 73004  	DatastoreNamespaceManager *ManagedObjectReference `xml:"datastoreNamespaceManager,omitempty" json:"datastoreNamespaceManager,omitempty" vim:"5.5"`
 73005  	// A singleton managed object that allows management of virtual disks
 73006  	// on datastores.
 73007  	//
 73008  	// Refers instance of `VirtualDiskManager`.
 73009  	VirtualDiskManager *ManagedObjectReference `xml:"virtualDiskManager,omitempty" json:"virtualDiskManager,omitempty" vim:"2.5"`
 73010  	// Deprecated as of VI API 2.5, use the VMware vCenter Converter plug-in.
 73011  	//
 73012  	// A singleton managed object that manages the discovery, analysis,
 73013  	// recommendation and virtualization of physical machines
 73014  	//
 73015  	// Refers instance of `VirtualizationManager`.
 73016  	VirtualizationManager *ManagedObjectReference `xml:"virtualizationManager,omitempty" json:"virtualizationManager,omitempty" vim:"2.5"`
 73017  	// A singleton managed object that allows SNMP configuration.
 73018  	//
 73019  	// Not set if not supported on a particular platform.
 73020  	//
 73021  	// Refers instance of `HostSnmpSystem`.
 73022  	SnmpSystem *ManagedObjectReference `xml:"snmpSystem,omitempty" json:"snmpSystem,omitempty" vim:"4.0"`
 73023  	// A singleton managed object that can answer questions about the
 73024  	// feasibility of certain provisioning operations.
 73025  	//
 73026  	// Refers instance of `VirtualMachineProvisioningChecker`.
 73027  	VmProvisioningChecker *ManagedObjectReference `xml:"vmProvisioningChecker,omitempty" json:"vmProvisioningChecker,omitempty" vim:"4.0"`
 73028  	// A singleton managed object that can answer questions about compatibility
 73029  	// of a virtual machine with a host.
 73030  	//
 73031  	// Refers instance of `VirtualMachineCompatibilityChecker`.
 73032  	VmCompatibilityChecker *ManagedObjectReference `xml:"vmCompatibilityChecker,omitempty" json:"vmCompatibilityChecker,omitempty" vim:"4.0"`
 73033  	// A singleton managed object that can generate OVF descriptors (export) and create
 73034  	// vApps (single-VM or vApp container-based) from OVF descriptors (import).
 73035  	//
 73036  	// Refers instance of `OvfManager`.
 73037  	OvfManager *ManagedObjectReference `xml:"ovfManager,omitempty" json:"ovfManager,omitempty" vim:"4.0"`
 73038  	// A singleton managed object that supports management of IpPool objects.
 73039  	//
 73040  	// IP pools are
 73041  	// used when allocating IPv4 and IPv6 addresses to vApps.
 73042  	//
 73043  	// Refers instance of `IpPoolManager`.
 73044  	IpPoolManager *ManagedObjectReference `xml:"ipPoolManager,omitempty" json:"ipPoolManager,omitempty" vim:"4.0"`
 73045  	// A singleton managed object that provides relevant information of
 73046  	// DistributedVirtualSwitch.
 73047  	//
 73048  	// Refers instance of `DistributedVirtualSwitchManager`.
 73049  	DvSwitchManager *ManagedObjectReference `xml:"dvSwitchManager,omitempty" json:"dvSwitchManager,omitempty" vim:"4.0"`
 73050  	// A singleton managed object that manages the host profiles.
 73051  	//
 73052  	// Refers instance of `HostProfileManager`.
 73053  	HostProfileManager *ManagedObjectReference `xml:"hostProfileManager,omitempty" json:"hostProfileManager,omitempty" vim:"4.0"`
 73054  	// A singleton managed object that manages the cluster profiles.
 73055  	//
 73056  	// Refers instance of `ClusterProfileManager`.
 73057  	ClusterProfileManager *ManagedObjectReference `xml:"clusterProfileManager,omitempty" json:"clusterProfileManager,omitempty" vim:"4.0"`
 73058  	// A singleton managed object that manages compliance aspects of entities.
 73059  	//
 73060  	// Refers instance of `ProfileComplianceManager`.
 73061  	ComplianceManager *ManagedObjectReference `xml:"complianceManager,omitempty" json:"complianceManager,omitempty" vim:"4.0"`
 73062  	// A singleton managed object that provides methods for retrieving message
 73063  	// catalogs for client-side localization support.
 73064  	//
 73065  	// Refers instance of `LocalizationManager`.
 73066  	LocalizationManager *ManagedObjectReference `xml:"localizationManager,omitempty" json:"localizationManager,omitempty" vim:"4.0"`
 73067  	// A singleton managed object that provides methods for storage resource
 73068  	// management.
 73069  	//
 73070  	// Refers instance of `StorageResourceManager`.
 73071  	StorageResourceManager *ManagedObjectReference `xml:"storageResourceManager,omitempty" json:"storageResourceManager,omitempty" vim:"4.1"`
 73072  	// A singleton managed object that provides methods for guest operations.
 73073  	//
 73074  	// Refers instance of `GuestOperationsManager`.
 73075  	GuestOperationsManager *ManagedObjectReference `xml:"guestOperationsManager,omitempty" json:"guestOperationsManager,omitempty" vim:"5.0"`
 73076  	// A singleton managed object that provides methods for looking up static VM
 73077  	// overhead memory.
 73078  	//
 73079  	// Refers instance of `OverheadMemoryManager`.
 73080  	OverheadMemoryManager *ManagedObjectReference `xml:"overheadMemoryManager,omitempty" json:"overheadMemoryManager,omitempty" vim:"6.0"`
 73081  	// host certificate manager
 73082  	// A singleton managed object to manage the certificates between the
 73083  	// Certificate Server and the host.
 73084  	//
 73085  	// Refers instance of `CertificateManager`.
 73086  	CertificateManager *ManagedObjectReference `xml:"certificateManager,omitempty" json:"certificateManager,omitempty" vim:"6.0"`
 73087  	// A singleton managed object that manages IO Filters installed on the ESXi
 73088  	// hosts and IO Filter configuration of virtual disks.
 73089  	//
 73090  	// Refers instance of `IoFilterManager`.
 73091  	IoFilterManager *ManagedObjectReference `xml:"ioFilterManager,omitempty" json:"ioFilterManager,omitempty" vim:"6.0"`
 73092  	// A singleton managed object that manages all storage objects in the
 73093  	// Virtual Infrastructure.
 73094  	//
 73095  	// If connected to a vCenter,
 73096  	// this is the `VcenterVStorageObjectManager`; If connected
 73097  	// to an ESXi host, this is the `HostVStorageObjectManager`.
 73098  	//
 73099  	// A storage object in the Virtual Infrastructure is represented by a
 73100  	// vStorageObject.
 73101  	//
 73102  	// Refers instance of `VStorageObjectManagerBase`.
 73103  	VStorageObjectManager *ManagedObjectReference `xml:"vStorageObjectManager,omitempty" json:"vStorageObjectManager,omitempty" vim:"6.5"`
 73104  	// A singleton managed object that manages the host specification data.
 73105  	//
 73106  	// Refers instance of `HostSpecificationManager`.
 73107  	HostSpecManager *ManagedObjectReference `xml:"hostSpecManager,omitempty" json:"hostSpecManager,omitempty" vim:"6.5"`
 73108  	// A singleton managed object used to manage cryptographic keys.
 73109  	//
 73110  	// Refers instance of `CryptoManager`.
 73111  	CryptoManager *ManagedObjectReference `xml:"cryptoManager,omitempty" json:"cryptoManager,omitempty" vim:"6.5"`
 73112  	// A singleton managed object that manages the health updates.
 73113  	//
 73114  	// Refers instance of `HealthUpdateManager`.
 73115  	HealthUpdateManager *ManagedObjectReference `xml:"healthUpdateManager,omitempty" json:"healthUpdateManager,omitempty" vim:"6.5"`
 73116  	// A singleton managed object that manages the VCHA Cluster
 73117  	// configuration.
 73118  	//
 73119  	// Refers instance of `FailoverClusterConfigurator`.
 73120  	FailoverClusterConfigurator *ManagedObjectReference `xml:"failoverClusterConfigurator,omitempty" json:"failoverClusterConfigurator,omitempty" vim:"6.5"`
 73121  	// A singleton managed object for managing a configured VCHA Cluster.
 73122  	//
 73123  	// Refers instance of `FailoverClusterManager`.
 73124  	FailoverClusterManager *ManagedObjectReference `xml:"failoverClusterManager,omitempty" json:"failoverClusterManager,omitempty" vim:"6.5"`
 73125  	// A singleton managed object used to configure tenants.
 73126  	//
 73127  	// Refers instance of `TenantTenantManager`.
 73128  	TenantManager *ManagedObjectReference `xml:"tenantManager,omitempty" json:"tenantManager,omitempty" vim:"6.9.1"`
 73129  	// A singleton managed object used to manage site related capabilities.
 73130  	//
 73131  	// Refers instance of `SiteInfoManager`.
 73132  	SiteInfoManager *ManagedObjectReference `xml:"siteInfoManager,omitempty" json:"siteInfoManager,omitempty" vim:"7.0"`
 73133  	// A singleton managed object used to query storage related entities.
 73134  	//
 73135  	// Refers instance of `StorageQueryManager`.
 73136  	StorageQueryManager *ManagedObjectReference `xml:"storageQueryManager,omitempty" json:"storageQueryManager,omitempty" vim:"6.7.2"`
 73137  }
 73138  
 73139  func init() {
 73140  	t["ServiceContent"] = reflect.TypeOf((*ServiceContent)(nil)).Elem()
 73141  }
 73142  
 73143  // This data object type specifies the information of a service endpoint as
 73144  // well as the parameters needed to locate and login to to the service
 73145  // endpoint.
 73146  type ServiceLocator struct {
 73147  	DynamicData
 73148  
 73149  	// Unique ID of the instance to which the service belongs.
 73150  	//
 73151  	// For
 73152  	// instances that support the vSphere API, this is the same as the
 73153  	// value found in `AboutInfo.instanceUuid`.
 73154  	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
 73155  	// URL used to access the service endpoint
 73156  	Url string `xml:"url" json:"url"`
 73157  	// Credential to establish the connection and login to the service.
 73158  	Credential BaseServiceLocatorCredential `xml:"credential,typeattr" json:"credential"`
 73159  	// The SSL thumbprint of the certificate of the service endpoint.
 73160  	//
 73161  	// Superceded by `#sslCertificate`.
 73162  	// Note: If both <code>sslThumbprint</code> and <code>sslCertificate</code> are set,
 73163  	// <code>sslThumbprint</code> must correspond to the <code>sslCertificate</code>.
 73164  	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty"`
 73165  }
 73166  
 73167  func init() {
 73168  	t["ServiceLocator"] = reflect.TypeOf((*ServiceLocator)(nil)).Elem()
 73169  	minAPIVersionForType["ServiceLocator"] = "6.0"
 73170  }
 73171  
 73172  // The data object type is a base type of credential for authentication such
 73173  // as username/password or SAML token.
 73174  type ServiceLocatorCredential struct {
 73175  	DynamicData
 73176  }
 73177  
 73178  func init() {
 73179  	t["ServiceLocatorCredential"] = reflect.TypeOf((*ServiceLocatorCredential)(nil)).Elem()
 73180  	minAPIVersionForType["ServiceLocatorCredential"] = "6.0"
 73181  }
 73182  
 73183  // The data object type specifies the username and password credential for
 73184  // authenticating to a service endpoint.
 73185  type ServiceLocatorNamePassword struct {
 73186  	ServiceLocatorCredential
 73187  
 73188  	// The username for Username-Password authentication
 73189  	Username string `xml:"username" json:"username"`
 73190  	// The password for Username-Password authentication
 73191  	Password string `xml:"password" json:"password"`
 73192  }
 73193  
 73194  func init() {
 73195  	t["ServiceLocatorNamePassword"] = reflect.TypeOf((*ServiceLocatorNamePassword)(nil)).Elem()
 73196  	minAPIVersionForType["ServiceLocatorNamePassword"] = "6.0"
 73197  }
 73198  
 73199  // The data object type specifies the SAML token (SSO) based credential for
 73200  // authenticating to a service endpoint.
 73201  type ServiceLocatorSAMLCredential struct {
 73202  	ServiceLocatorCredential
 73203  
 73204  	// The SAML token for authentication
 73205  	Token string `xml:"token,omitempty" json:"token,omitempty"`
 73206  }
 73207  
 73208  func init() {
 73209  	t["ServiceLocatorSAMLCredential"] = reflect.TypeOf((*ServiceLocatorSAMLCredential)(nil)).Elem()
 73210  	minAPIVersionForType["ServiceLocatorSAMLCredential"] = "6.0"
 73211  }
 73212  
 73213  // This data object represents essential information about a particular service.
 73214  //
 73215  // The information is sufficient to be able to identify the service and retrieve
 73216  // the object implementing it.
 73217  type ServiceManagerServiceInfo struct {
 73218  	DynamicData
 73219  
 73220  	// A service name.
 73221  	//
 73222  	// Each service is expected to create a unique name
 73223  	// for itself that can be used to locate the service. This name
 73224  	// does not need to be unique across hosts or other such locations though.
 73225  	ServiceName string `xml:"serviceName" json:"serviceName"`
 73226  	// A list of data that can be used to uniquely identify a particular instance of a service.
 73227  	//
 73228  	// Multiple instances of a service can exist across different domains (for instance, a service
 73229  	// that is associated with a particular virtual machine or a particular host). In such cases,
 73230  	// the service name is insufficient to identify the service and location data can be used
 73231  	// to identify the instance of interest. A service may publish as much location data
 73232  	// as is needed to identify it (e.g, vmware.host.&lt;hostname&gt; or vmware.vm.&lt;uuid&gt; or both).
 73233  	// The particular choice of locations have to be agreed upon by
 73234  	// the client and the service.
 73235  	Location []string `xml:"location,omitempty" json:"location,omitempty"`
 73236  	// The managed object that presents this service.
 73237  	Service ManagedObjectReference `xml:"service" json:"service"`
 73238  	// A description of the service.
 73239  	//
 73240  	// Provides help text on how
 73241  	// to use the service.
 73242  	Description string `xml:"description" json:"description"`
 73243  }
 73244  
 73245  func init() {
 73246  	t["ServiceManagerServiceInfo"] = reflect.TypeOf((*ServiceManagerServiceInfo)(nil)).Elem()
 73247  }
 73248  
 73249  // The `ServiceProfile` data object controls the configuration of a service.
 73250  //
 73251  // Use the `ApplyProfile.policy` list for access to configuration data
 73252  // for the service profile. Use the `ApplyProfile.property` list for access
 73253  // to subprofiles, if any.
 73254  type ServiceProfile struct {
 73255  	ApplyProfile
 73256  
 73257  	// Linkable identifier.
 73258  	Key string `xml:"key" json:"key"`
 73259  }
 73260  
 73261  func init() {
 73262  	t["ServiceProfile"] = reflect.TypeOf((*ServiceProfile)(nil)).Elem()
 73263  	minAPIVersionForType["ServiceProfile"] = "4.0"
 73264  }
 73265  
 73266  // These are session events.
 73267  type SessionEvent struct {
 73268  	Event
 73269  }
 73270  
 73271  func init() {
 73272  	t["SessionEvent"] = reflect.TypeOf((*SessionEvent)(nil)).Elem()
 73273  }
 73274  
 73275  type SessionIsActive SessionIsActiveRequestType
 73276  
 73277  func init() {
 73278  	t["SessionIsActive"] = reflect.TypeOf((*SessionIsActive)(nil)).Elem()
 73279  }
 73280  
 73281  // The parameters of `SessionManager.SessionIsActive`.
 73282  type SessionIsActiveRequestType struct {
 73283  	This ManagedObjectReference `xml:"_this" json:"-"`
 73284  	// Session ID to validate.
 73285  	SessionID string `xml:"sessionID" json:"sessionID"`
 73286  	// User name to validate.
 73287  	UserName string `xml:"userName" json:"userName"`
 73288  }
 73289  
 73290  func init() {
 73291  	t["SessionIsActiveRequestType"] = reflect.TypeOf((*SessionIsActiveRequestType)(nil)).Elem()
 73292  }
 73293  
 73294  type SessionIsActiveResponse struct {
 73295  	Returnval bool `xml:"returnval" json:"returnval"`
 73296  }
 73297  
 73298  // This data object represents a ticket which grants access to some service.
 73299  //
 73300  // The ticket may be used only once and is valid only for the
 73301  // `SessionManagerServiceRequestSpec` with which it was acquired.
 73302  // For HTTP service requests (when spec is of type HttpServiceRequestSpec)
 73303  // the returned ticket must be used by setting
 73304  // `SessionManagerGenericServiceTicket.id`
 73305  // as the value of a special cookie in the HTTP request.
 73306  // For CGI requests the name of this cookie is 'vmware\_cgi\_ticket'.
 73307  // The use of the returned ticket for other services is to be defined.
 73308  type SessionManagerGenericServiceTicket struct {
 73309  	DynamicData
 73310  
 73311  	// A unique string identifying the ticket.
 73312  	Id string `xml:"id" json:"id"`
 73313  	// The name of the host that the service is running on
 73314  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty" vim:"5.1"`
 73315  	// The expected thumbprint of the SSL certificate of the host.
 73316  	//
 73317  	// If it is empty, the host must be authenticated by name.
 73318  	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty" vim:"5.1"`
 73319  	// List of expected thumbprints of the certificate of the host to
 73320  	// which we are connecting.
 73321  	//
 73322  	// The list can be configured on the host
 73323  	// to include only certain hash types. The default configuration
 73324  	// includes all hash types that are considered secure. See vmware.com
 73325  	// for the current security standards.
 73326  	CertThumbprintList []VirtualMachineCertThumbprint `xml:"certThumbprintList,omitempty" json:"certThumbprintList,omitempty" vim:"7.0.3.1"`
 73327  	// Type of the ticket
 73328  	// See { @Vim::SessionManager::GenericServiceTicket::TicketType }
 73329  	TicketType string `xml:"ticketType,omitempty" json:"ticketType,omitempty" vim:"7.0.2.0"`
 73330  }
 73331  
 73332  func init() {
 73333  	t["SessionManagerGenericServiceTicket"] = reflect.TypeOf((*SessionManagerGenericServiceTicket)(nil)).Elem()
 73334  	minAPIVersionForType["SessionManagerGenericServiceTicket"] = "5.0"
 73335  }
 73336  
 73337  // This data object type describes a request to an HTTP or HTTPS service.
 73338  type SessionManagerHttpServiceRequestSpec struct {
 73339  	SessionManagerServiceRequestSpec
 73340  
 73341  	// The HTTP method used for the request.
 73342  	//
 73343  	// If null, then any method is assumed.
 73344  	//
 73345  	// See also `SessionManagerHttpServiceRequestSpecMethod_enum`.
 73346  	Method string `xml:"method,omitempty" json:"method,omitempty"`
 73347  	// URL of the HTTP request.
 73348  	//
 73349  	// E.g. 'https://127.0.0.1:8080/cgi-bin/vm-support.cgi?n=val'.
 73350  	//
 73351  	// For ESXi CGI service requests:
 73352  	//     - only the path and query parts of the URL are used
 73353  	//       (e.g. "/cgi-bin/vm-support.cgi?n=val").
 73354  	//
 73355  	// This is so because the scheme is not known to the CGI service,
 73356  	// and the port may not be the same if using a proxy.
 73357  	Url string `xml:"url" json:"url"`
 73358  }
 73359  
 73360  func init() {
 73361  	t["SessionManagerHttpServiceRequestSpec"] = reflect.TypeOf((*SessionManagerHttpServiceRequestSpec)(nil)).Elem()
 73362  	minAPIVersionForType["SessionManagerHttpServiceRequestSpec"] = "5.0"
 73363  }
 73364  
 73365  // This data object type contains the user name
 73366  // and location of the file containing the password that
 73367  // clients can use for one-time logon to a server.
 73368  type SessionManagerLocalTicket struct {
 73369  	DynamicData
 73370  
 73371  	// User name to be used for logon.
 73372  	UserName string `xml:"userName" json:"userName"`
 73373  	// Absolute local path to the file containing a one-time password.
 73374  	PasswordFilePath string `xml:"passwordFilePath" json:"passwordFilePath"`
 73375  }
 73376  
 73377  func init() {
 73378  	t["SessionManagerLocalTicket"] = reflect.TypeOf((*SessionManagerLocalTicket)(nil)).Elem()
 73379  }
 73380  
 73381  // This data object type describes a request to a service.
 73382  //
 73383  // It is used as argument to
 73384  // `SessionManager.AcquireGenericServiceTicket`.
 73385  // This is the base class for more specific service request specifications.
 73386  // E.g. for HTTP services the derived class will provide a URL property.
 73387  type SessionManagerServiceRequestSpec struct {
 73388  	DynamicData
 73389  }
 73390  
 73391  func init() {
 73392  	t["SessionManagerServiceRequestSpec"] = reflect.TypeOf((*SessionManagerServiceRequestSpec)(nil)).Elem()
 73393  	minAPIVersionForType["SessionManagerServiceRequestSpec"] = "5.0"
 73394  }
 73395  
 73396  // This data object type describes a request to invoke a specific method
 73397  // in a VMOMI service.
 73398  //
 73399  // It currently only supports {link vim.SessionManager#cloneSession} method.
 73400  // The GenericServiceTicket.id returned from
 73401  // `SessionManager.AcquireGenericServiceTicket` for this request
 73402  // can be use for `SessionManager.CloneSession` to clone a session
 73403  type SessionManagerVmomiServiceRequestSpec struct {
 73404  	SessionManagerServiceRequestSpec
 73405  
 73406  	// Name of the method identified by this request spec
 73407  	Method string `xml:"method" json:"method"`
 73408  }
 73409  
 73410  func init() {
 73411  	t["SessionManagerVmomiServiceRequestSpec"] = reflect.TypeOf((*SessionManagerVmomiServiceRequestSpec)(nil)).Elem()
 73412  	minAPIVersionForType["SessionManagerVmomiServiceRequestSpec"] = "5.1"
 73413  }
 73414  
 73415  // This event records the termination of a session.
 73416  type SessionTerminatedEvent struct {
 73417  	SessionEvent
 73418  
 73419  	// The unique identifier of the terminated session.
 73420  	SessionId string `xml:"sessionId" json:"sessionId"`
 73421  	// The name of the user owning the terminated session.
 73422  	TerminatedUsername string `xml:"terminatedUsername" json:"terminatedUsername"`
 73423  }
 73424  
 73425  func init() {
 73426  	t["SessionTerminatedEvent"] = reflect.TypeOf((*SessionTerminatedEvent)(nil)).Elem()
 73427  }
 73428  
 73429  type SetCollectorPageSize SetCollectorPageSizeRequestType
 73430  
 73431  func init() {
 73432  	t["SetCollectorPageSize"] = reflect.TypeOf((*SetCollectorPageSize)(nil)).Elem()
 73433  }
 73434  
 73435  // The parameters of `HistoryCollector.SetCollectorPageSize`.
 73436  type SetCollectorPageSizeRequestType struct {
 73437  	This ManagedObjectReference `xml:"_this" json:"-"`
 73438  	// The maximum number of items in the page.
 73439  	MaxCount int32 `xml:"maxCount" json:"maxCount"`
 73440  }
 73441  
 73442  func init() {
 73443  	t["SetCollectorPageSizeRequestType"] = reflect.TypeOf((*SetCollectorPageSizeRequestType)(nil)).Elem()
 73444  }
 73445  
 73446  type SetCollectorPageSizeResponse struct {
 73447  }
 73448  
 73449  type SetCryptoMode SetCryptoModeRequestType
 73450  
 73451  func init() {
 73452  	t["SetCryptoMode"] = reflect.TypeOf((*SetCryptoMode)(nil)).Elem()
 73453  }
 73454  
 73455  // The parameters of `ClusterComputeResource.SetCryptoMode`.
 73456  type SetCryptoModeRequestType struct {
 73457  	This ManagedObjectReference `xml:"_this" json:"-"`
 73458  	// The encryption mode for the cluster.
 73459  	// See `ClusterCryptoConfigInfoCryptoMode_enum` for
 73460  	// supported values. An empty string is treated as a valid
 73461  	// input and will be interpreted as
 73462  	// `onDemand`.
 73463  	CryptoMode string `xml:"cryptoMode" json:"cryptoMode"`
 73464  }
 73465  
 73466  func init() {
 73467  	t["SetCryptoModeRequestType"] = reflect.TypeOf((*SetCryptoModeRequestType)(nil)).Elem()
 73468  }
 73469  
 73470  type SetCryptoModeResponse struct {
 73471  }
 73472  
 73473  type SetDefaultKmsCluster SetDefaultKmsClusterRequestType
 73474  
 73475  func init() {
 73476  	t["SetDefaultKmsCluster"] = reflect.TypeOf((*SetDefaultKmsCluster)(nil)).Elem()
 73477  }
 73478  
 73479  // The parameters of `CryptoManagerKmip.SetDefaultKmsCluster`.
 73480  type SetDefaultKmsClusterRequestType struct {
 73481  	This ManagedObjectReference `xml:"_this" json:"-"`
 73482  	// \[in\] The managed entity where the default KMS cluster to be
 73483  	// set. Currently the valid managed entity could be
 73484  	// cluster or host folder.
 73485  	// If omitted, then will set global default KMS cluster.
 73486  	//
 73487  	// Refers instance of `ManagedEntity`.
 73488  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 73489  	// \[in\] KMS cluster ID to become default.
 73490  	// If omitted, then will clear the default KMS cluster
 73491  	// setting.
 73492  	ClusterId *KeyProviderId `xml:"clusterId,omitempty" json:"clusterId,omitempty"`
 73493  }
 73494  
 73495  func init() {
 73496  	t["SetDefaultKmsClusterRequestType"] = reflect.TypeOf((*SetDefaultKmsClusterRequestType)(nil)).Elem()
 73497  }
 73498  
 73499  type SetDefaultKmsClusterResponse struct {
 73500  }
 73501  
 73502  type SetDisplayTopology SetDisplayTopologyRequestType
 73503  
 73504  func init() {
 73505  	t["SetDisplayTopology"] = reflect.TypeOf((*SetDisplayTopology)(nil)).Elem()
 73506  }
 73507  
 73508  // The parameters of `VirtualMachine.SetDisplayTopology`.
 73509  type SetDisplayTopologyRequestType struct {
 73510  	This ManagedObjectReference `xml:"_this" json:"-"`
 73511  	// The topology for each monitor that the
 73512  	// virtual machine's display must span.
 73513  	Displays []VirtualMachineDisplayTopology `xml:"displays" json:"displays"`
 73514  }
 73515  
 73516  func init() {
 73517  	t["SetDisplayTopologyRequestType"] = reflect.TypeOf((*SetDisplayTopologyRequestType)(nil)).Elem()
 73518  }
 73519  
 73520  type SetDisplayTopologyResponse struct {
 73521  }
 73522  
 73523  type SetEntityPermissions SetEntityPermissionsRequestType
 73524  
 73525  func init() {
 73526  	t["SetEntityPermissions"] = reflect.TypeOf((*SetEntityPermissions)(nil)).Elem()
 73527  }
 73528  
 73529  // The parameters of `AuthorizationManager.SetEntityPermissions`.
 73530  type SetEntityPermissionsRequestType struct {
 73531  	This ManagedObjectReference `xml:"_this" json:"-"`
 73532  	// The entity on which to set permissions.
 73533  	//
 73534  	// Required privileges: Authorization.ModifyPermissions
 73535  	//
 73536  	// Refers instance of `ManagedEntity`.
 73537  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 73538  	// An array of specifications for permissions on the entity.
 73539  	Permission []Permission `xml:"permission,omitempty" json:"permission,omitempty"`
 73540  }
 73541  
 73542  func init() {
 73543  	t["SetEntityPermissionsRequestType"] = reflect.TypeOf((*SetEntityPermissionsRequestType)(nil)).Elem()
 73544  }
 73545  
 73546  type SetEntityPermissionsResponse struct {
 73547  }
 73548  
 73549  type SetExtensionCertificate SetExtensionCertificateRequestType
 73550  
 73551  func init() {
 73552  	t["SetExtensionCertificate"] = reflect.TypeOf((*SetExtensionCertificate)(nil)).Elem()
 73553  }
 73554  
 73555  // The parameters of `ExtensionManager.SetExtensionCertificate`.
 73556  type SetExtensionCertificateRequestType struct {
 73557  	This ManagedObjectReference `xml:"_this" json:"-"`
 73558  	// Key of extension to update.
 73559  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 73560  	// PEM encoded certificate. If not specified, the
 73561  	// certificate passed over SSL handshake is used.
 73562  	CertificatePem string `xml:"certificatePem,omitempty" json:"certificatePem,omitempty"`
 73563  }
 73564  
 73565  func init() {
 73566  	t["SetExtensionCertificateRequestType"] = reflect.TypeOf((*SetExtensionCertificateRequestType)(nil)).Elem()
 73567  }
 73568  
 73569  type SetExtensionCertificateResponse struct {
 73570  }
 73571  
 73572  type SetField SetFieldRequestType
 73573  
 73574  func init() {
 73575  	t["SetField"] = reflect.TypeOf((*SetField)(nil)).Elem()
 73576  }
 73577  
 73578  // The parameters of `CustomFieldsManager.SetField`.
 73579  type SetFieldRequestType struct {
 73580  	This ManagedObjectReference `xml:"_this" json:"-"`
 73581  	// Required privileges: Global.SetCustomField
 73582  	//
 73583  	// Refers instance of `ManagedEntity`.
 73584  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 73585  	Key    int32                  `xml:"key" json:"key"`
 73586  	Value  string                 `xml:"value" json:"value"`
 73587  }
 73588  
 73589  func init() {
 73590  	t["SetFieldRequestType"] = reflect.TypeOf((*SetFieldRequestType)(nil)).Elem()
 73591  }
 73592  
 73593  type SetFieldResponse struct {
 73594  }
 73595  
 73596  type SetKeyCustomAttributes SetKeyCustomAttributesRequestType
 73597  
 73598  func init() {
 73599  	t["SetKeyCustomAttributes"] = reflect.TypeOf((*SetKeyCustomAttributes)(nil)).Elem()
 73600  }
 73601  
 73602  // The parameters of `CryptoManagerKmip.SetKeyCustomAttributes`.
 73603  type SetKeyCustomAttributesRequestType struct {
 73604  	This ManagedObjectReference `xml:"_this" json:"-"`
 73605  	// \[in\] The crypto Key Id.
 73606  	KeyId CryptoKeyId `xml:"keyId" json:"keyId"`
 73607  	// \[in\] The spec that contains custom attributes key/value pairs.
 73608  	Spec CryptoManagerKmipCustomAttributeSpec `xml:"spec" json:"spec"`
 73609  }
 73610  
 73611  func init() {
 73612  	t["SetKeyCustomAttributesRequestType"] = reflect.TypeOf((*SetKeyCustomAttributesRequestType)(nil)).Elem()
 73613  }
 73614  
 73615  type SetKeyCustomAttributesResponse struct {
 73616  	Returnval CryptoKeyResult `xml:"returnval" json:"returnval"`
 73617  }
 73618  
 73619  type SetLicenseEdition SetLicenseEditionRequestType
 73620  
 73621  func init() {
 73622  	t["SetLicenseEdition"] = reflect.TypeOf((*SetLicenseEdition)(nil)).Elem()
 73623  }
 73624  
 73625  // The parameters of `LicenseManager.SetLicenseEdition`.
 73626  type SetLicenseEditionRequestType struct {
 73627  	This ManagedObjectReference `xml:"_this" json:"-"`
 73628  	// Host to act on if LicenseManager is not on a host.
 73629  	//
 73630  	// Refers instance of `HostSystem`.
 73631  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 73632  	// Name of edition feature to select. If featureKey is not
 73633  	// set or set to empty string, the product becomes unlicensed.
 73634  	FeatureKey string `xml:"featureKey,omitempty" json:"featureKey,omitempty"`
 73635  }
 73636  
 73637  func init() {
 73638  	t["SetLicenseEditionRequestType"] = reflect.TypeOf((*SetLicenseEditionRequestType)(nil)).Elem()
 73639  }
 73640  
 73641  type SetLicenseEditionResponse struct {
 73642  }
 73643  
 73644  type SetLocale SetLocaleRequestType
 73645  
 73646  func init() {
 73647  	t["SetLocale"] = reflect.TypeOf((*SetLocale)(nil)).Elem()
 73648  }
 73649  
 73650  // The parameters of `SessionManager.SetLocale`.
 73651  type SetLocaleRequestType struct {
 73652  	This ManagedObjectReference `xml:"_this" json:"-"`
 73653  	// A two-character ISO-639 language ID (like "en")
 73654  	// optionally followed by an
 73655  	// underscore and a two-character ISO 3166 country ID (like "US").
 73656  	//
 73657  	// Examples are "de", "fr\_CA", "zh", "zh\_CN", and "zh\_TW".
 73658  	// Note: The method uses the server default locale when
 73659  	// a locale is not provided. This default can be configured in the
 73660  	// server configuration file. If unspecified, it defaults to the
 73661  	// locale of the server environment or English ("en") if unsupported.
 73662  	Locale string `xml:"locale" json:"locale"`
 73663  }
 73664  
 73665  func init() {
 73666  	t["SetLocaleRequestType"] = reflect.TypeOf((*SetLocaleRequestType)(nil)).Elem()
 73667  }
 73668  
 73669  type SetLocaleResponse struct {
 73670  }
 73671  
 73672  type SetMaxQueueDepth SetMaxQueueDepthRequestType
 73673  
 73674  func init() {
 73675  	t["SetMaxQueueDepth"] = reflect.TypeOf((*SetMaxQueueDepth)(nil)).Elem()
 73676  }
 73677  
 73678  // The parameters of `HostDatastoreSystem.SetMaxQueueDepth`.
 73679  type SetMaxQueueDepthRequestType struct {
 73680  	This ManagedObjectReference `xml:"_this" json:"-"`
 73681  	// The NFS datastore which need to set max queue depth
 73682  	//
 73683  	// Refers instance of `Datastore`.
 73684  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 73685  	// Max queue depth value for a datastore
 73686  	MaxQdepth int64 `xml:"maxQdepth" json:"maxQdepth"`
 73687  }
 73688  
 73689  func init() {
 73690  	t["SetMaxQueueDepthRequestType"] = reflect.TypeOf((*SetMaxQueueDepthRequestType)(nil)).Elem()
 73691  }
 73692  
 73693  type SetMaxQueueDepthResponse struct {
 73694  }
 73695  
 73696  type SetMultipathLunPolicy SetMultipathLunPolicyRequestType
 73697  
 73698  func init() {
 73699  	t["SetMultipathLunPolicy"] = reflect.TypeOf((*SetMultipathLunPolicy)(nil)).Elem()
 73700  }
 73701  
 73702  // The parameters of `HostStorageSystem.SetMultipathLunPolicy`.
 73703  type SetMultipathLunPolicyRequestType struct {
 73704  	This ManagedObjectReference `xml:"_this" json:"-"`
 73705  	// The logical unit ID
 73706  	LunId string `xml:"lunId" json:"lunId"`
 73707  	// A data object that describes a path selection policy for
 73708  	// the logical unit.
 73709  	Policy BaseHostMultipathInfoLogicalUnitPolicy `xml:"policy,typeattr" json:"policy"`
 73710  }
 73711  
 73712  func init() {
 73713  	t["SetMultipathLunPolicyRequestType"] = reflect.TypeOf((*SetMultipathLunPolicyRequestType)(nil)).Elem()
 73714  }
 73715  
 73716  type SetMultipathLunPolicyResponse struct {
 73717  }
 73718  
 73719  type SetNFSUser SetNFSUserRequestType
 73720  
 73721  func init() {
 73722  	t["SetNFSUser"] = reflect.TypeOf((*SetNFSUser)(nil)).Elem()
 73723  }
 73724  
 73725  // The parameters of `HostStorageSystem.SetNFSUser`.
 73726  type SetNFSUserRequestType struct {
 73727  	This ManagedObjectReference `xml:"_this" json:"-"`
 73728  	// User to be saved on the the esx host
 73729  	User string `xml:"user" json:"user"`
 73730  	// Password for the user.
 73731  	Password string `xml:"password" json:"password"`
 73732  }
 73733  
 73734  func init() {
 73735  	t["SetNFSUserRequestType"] = reflect.TypeOf((*SetNFSUserRequestType)(nil)).Elem()
 73736  }
 73737  
 73738  type SetNFSUserResponse struct {
 73739  }
 73740  
 73741  type SetPublicKey SetPublicKeyRequestType
 73742  
 73743  func init() {
 73744  	t["SetPublicKey"] = reflect.TypeOf((*SetPublicKey)(nil)).Elem()
 73745  }
 73746  
 73747  // The parameters of `ExtensionManager.SetPublicKey`.
 73748  type SetPublicKeyRequestType struct {
 73749  	This ManagedObjectReference `xml:"_this" json:"-"`
 73750  	// Key of extension to update.
 73751  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 73752  	// Public key of extension, encoded
 73753  	// in PEM (privacy-enhanced mail) format.
 73754  	PublicKey string `xml:"publicKey" json:"publicKey"`
 73755  }
 73756  
 73757  func init() {
 73758  	t["SetPublicKeyRequestType"] = reflect.TypeOf((*SetPublicKeyRequestType)(nil)).Elem()
 73759  }
 73760  
 73761  type SetPublicKeyResponse struct {
 73762  }
 73763  
 73764  type SetRegistryValueInGuest SetRegistryValueInGuestRequestType
 73765  
 73766  func init() {
 73767  	t["SetRegistryValueInGuest"] = reflect.TypeOf((*SetRegistryValueInGuest)(nil)).Elem()
 73768  }
 73769  
 73770  // The parameters of `GuestWindowsRegistryManager.SetRegistryValueInGuest`.
 73771  type SetRegistryValueInGuestRequestType struct {
 73772  	This ManagedObjectReference `xml:"_this" json:"-"`
 73773  	// Virtual machine to perform the operation on.
 73774  	//
 73775  	// Required privileges: VirtualMachine.GuestOperations.Modify
 73776  	//
 73777  	// Refers instance of `VirtualMachine`.
 73778  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 73779  	// The guest authentication data.
 73780  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 73781  	// The information for the registry value to be set/created.
 73782  	// The Value "name" (specified in
 73783  	// `GuestRegValueNameSpec`)
 73784  	// and the Value "data" (specified in
 73785  	// `GuestRegValueSpec`)
 73786  	// can both be empty. If "name" is empty, it sets the value for
 73787  	// the unnamed or default value of the given key.
 73788  	Value GuestRegValueSpec `xml:"value" json:"value"`
 73789  }
 73790  
 73791  func init() {
 73792  	t["SetRegistryValueInGuestRequestType"] = reflect.TypeOf((*SetRegistryValueInGuestRequestType)(nil)).Elem()
 73793  }
 73794  
 73795  type SetRegistryValueInGuestResponse struct {
 73796  }
 73797  
 73798  type SetScreenResolution SetScreenResolutionRequestType
 73799  
 73800  func init() {
 73801  	t["SetScreenResolution"] = reflect.TypeOf((*SetScreenResolution)(nil)).Elem()
 73802  }
 73803  
 73804  // The parameters of `VirtualMachine.SetScreenResolution`.
 73805  type SetScreenResolutionRequestType struct {
 73806  	This ManagedObjectReference `xml:"_this" json:"-"`
 73807  	// The screen width that should be set.
 73808  	Width int32 `xml:"width" json:"width"`
 73809  	// The screen height that should be set.
 73810  	Height int32 `xml:"height" json:"height"`
 73811  }
 73812  
 73813  func init() {
 73814  	t["SetScreenResolutionRequestType"] = reflect.TypeOf((*SetScreenResolutionRequestType)(nil)).Elem()
 73815  }
 73816  
 73817  type SetScreenResolutionResponse struct {
 73818  }
 73819  
 73820  type SetServiceAccount SetServiceAccountRequestType
 73821  
 73822  func init() {
 73823  	t["SetServiceAccount"] = reflect.TypeOf((*SetServiceAccount)(nil)).Elem()
 73824  }
 73825  
 73826  // The parameters of `ExtensionManager.SetServiceAccount`.
 73827  type SetServiceAccountRequestType struct {
 73828  	This ManagedObjectReference `xml:"_this" json:"-"`
 73829  	// Key of extension to update.
 73830  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 73831  	// account name qualified with SSO domain.
 73832  	ServiceAccount string `xml:"serviceAccount" json:"serviceAccount"`
 73833  }
 73834  
 73835  func init() {
 73836  	t["SetServiceAccountRequestType"] = reflect.TypeOf((*SetServiceAccountRequestType)(nil)).Elem()
 73837  }
 73838  
 73839  type SetServiceAccountResponse struct {
 73840  }
 73841  
 73842  type SetTaskDescription SetTaskDescriptionRequestType
 73843  
 73844  func init() {
 73845  	t["SetTaskDescription"] = reflect.TypeOf((*SetTaskDescription)(nil)).Elem()
 73846  }
 73847  
 73848  // The parameters of `Task.SetTaskDescription`.
 73849  type SetTaskDescriptionRequestType struct {
 73850  	This ManagedObjectReference `xml:"_this" json:"-"`
 73851  	// New description for task
 73852  	Description LocalizableMessage `xml:"description" json:"description"`
 73853  }
 73854  
 73855  func init() {
 73856  	t["SetTaskDescriptionRequestType"] = reflect.TypeOf((*SetTaskDescriptionRequestType)(nil)).Elem()
 73857  }
 73858  
 73859  type SetTaskDescriptionResponse struct {
 73860  }
 73861  
 73862  type SetTaskState SetTaskStateRequestType
 73863  
 73864  func init() {
 73865  	t["SetTaskState"] = reflect.TypeOf((*SetTaskState)(nil)).Elem()
 73866  }
 73867  
 73868  // The parameters of `Task.SetTaskState`.
 73869  type SetTaskStateRequestType struct {
 73870  	This ManagedObjectReference `xml:"_this" json:"-"`
 73871  	// New state for task
 73872  	State TaskInfoState `xml:"state" json:"state"`
 73873  	// Result to set, valid only if task state is
 73874  	// TaskInfo.State.success
 73875  	Result AnyType `xml:"result,omitempty,typeattr" json:"result,omitempty"`
 73876  	// Fault to set, valid only if task state is
 73877  	// `error`. The fault must be a of a fault type that
 73878  	// directly or indirectly extends `VimFault`.
 73879  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 73880  }
 73881  
 73882  func init() {
 73883  	t["SetTaskStateRequestType"] = reflect.TypeOf((*SetTaskStateRequestType)(nil)).Elem()
 73884  }
 73885  
 73886  type SetTaskStateResponse struct {
 73887  }
 73888  
 73889  type SetVStorageObjectControlFlags SetVStorageObjectControlFlagsRequestType
 73890  
 73891  func init() {
 73892  	t["SetVStorageObjectControlFlags"] = reflect.TypeOf((*SetVStorageObjectControlFlags)(nil)).Elem()
 73893  }
 73894  
 73895  // The parameters of `VcenterVStorageObjectManager.SetVStorageObjectControlFlags`.
 73896  type SetVStorageObjectControlFlagsRequestType struct {
 73897  	This ManagedObjectReference `xml:"_this" json:"-"`
 73898  	// The ID of the virtual storage object.
 73899  	Id ID `xml:"id" json:"id"`
 73900  	// The datastore where the source virtual storage
 73901  	// object is located.
 73902  	//
 73903  	// Required privileges: Datastore.FileManagement
 73904  	//
 73905  	// Refers instance of `Datastore`.
 73906  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 73907  	// control flags enum array to be set on the
 73908  	// VStorageObject. All control flags not included
 73909  	// in the array remain intact.
 73910  	ControlFlags []string `xml:"controlFlags,omitempty" json:"controlFlags,omitempty"`
 73911  }
 73912  
 73913  func init() {
 73914  	t["SetVStorageObjectControlFlagsRequestType"] = reflect.TypeOf((*SetVStorageObjectControlFlagsRequestType)(nil)).Elem()
 73915  }
 73916  
 73917  type SetVStorageObjectControlFlagsResponse struct {
 73918  }
 73919  
 73920  type SetVirtualDiskUuid SetVirtualDiskUuidRequestType
 73921  
 73922  func init() {
 73923  	t["SetVirtualDiskUuid"] = reflect.TypeOf((*SetVirtualDiskUuid)(nil)).Elem()
 73924  }
 73925  
 73926  // The parameters of `VirtualDiskManager.SetVirtualDiskUuid`.
 73927  type SetVirtualDiskUuidRequestType struct {
 73928  	This ManagedObjectReference `xml:"_this" json:"-"`
 73929  	// The name of the disk, either a datastore path or a URL
 73930  	// referring to the virtual disk whose SCSI inquiry page 0x83
 73931  	// data should be set.
 73932  	Name string `xml:"name" json:"name"`
 73933  	// If <code>name</code> is a datastore path, the datacenter for
 73934  	// that datastore path. Not needed when invoked directly on ESX.
 73935  	// If not specified on a call to VirtualCenter,
 73936  	// <code>name</code> must be a URL.
 73937  	//
 73938  	// Refers instance of `Datacenter`.
 73939  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 73940  	// The hex representation of the unique ID for this virtual disk.
 73941  	Uuid string `xml:"uuid" json:"uuid"`
 73942  }
 73943  
 73944  func init() {
 73945  	t["SetVirtualDiskUuidRequestType"] = reflect.TypeOf((*SetVirtualDiskUuidRequestType)(nil)).Elem()
 73946  }
 73947  
 73948  type SetVirtualDiskUuidResponse struct {
 73949  }
 73950  
 73951  // The virtual machine has one or more SCSI controllers that are engaged
 73952  // in bus sharing.
 73953  //
 73954  // This is an error when migrating a powered-on virtual machine,
 73955  // and can be returned as a subfault of DisallowedMigrationDeviceAttached.
 73956  type SharedBusControllerNotSupported struct {
 73957  	DeviceNotSupported
 73958  }
 73959  
 73960  func init() {
 73961  	t["SharedBusControllerNotSupported"] = reflect.TypeOf((*SharedBusControllerNotSupported)(nil)).Elem()
 73962  }
 73963  
 73964  type SharedBusControllerNotSupportedFault SharedBusControllerNotSupported
 73965  
 73966  func init() {
 73967  	t["SharedBusControllerNotSupportedFault"] = reflect.TypeOf((*SharedBusControllerNotSupportedFault)(nil)).Elem()
 73968  }
 73969  
 73970  // Specification of shares.
 73971  //
 73972  // Shares are used to determine relative allocation between resource consumers.
 73973  // In general, a consumer with more shares gets proportionally more of
 73974  // the resource, subject to certain other constraints.
 73975  type SharesInfo struct {
 73976  	DynamicData
 73977  
 73978  	// The number of shares allocated.
 73979  	//
 73980  	// Used to determine resource allocation in case of
 73981  	// resource contention. This value is only set if level is set to custom. If level is
 73982  	// not set to custom, this value is ignored. Therefore, only shares with custom
 73983  	// values can be compared.
 73984  	//
 73985  	// There is no unit for this value. It is a relative measure based on the settings
 73986  	// for other resource pools.
 73987  	Shares int32 `xml:"shares" json:"shares"`
 73988  	// The allocation level.
 73989  	//
 73990  	// The level is a simplified view of shares.
 73991  	// Levels map to a pre-determined set of numeric values for shares.
 73992  	// If the shares value does not map to a predefined size, then
 73993  	// the level is set as custom.
 73994  	Level SharesLevel `xml:"level" json:"level"`
 73995  }
 73996  
 73997  func init() {
 73998  	t["SharesInfo"] = reflect.TypeOf((*SharesInfo)(nil)).Elem()
 73999  }
 74000  
 74001  // Specification of shares.
 74002  //
 74003  // Object of this class specifies value ranges for object of
 74004  // instance `SharesInfo`
 74005  type SharesOption struct {
 74006  	DynamicData
 74007  
 74008  	// Value range which can be used for share definition
 74009  	// in `SharesInfo.shares`
 74010  	SharesOption IntOption `xml:"sharesOption" json:"sharesOption"`
 74011  	// Default value for `SharesInfo.level`
 74012  	DefaultLevel SharesLevel `xml:"defaultLevel" json:"defaultLevel"`
 74013  }
 74014  
 74015  func init() {
 74016  	t["SharesOption"] = reflect.TypeOf((*SharesOption)(nil)).Elem()
 74017  	minAPIVersionForType["SharesOption"] = "4.1"
 74018  }
 74019  
 74020  // This exception is thrown when VirtualMachine.shrinkDisk
 74021  // encounters an error
 74022  type ShrinkDiskFault struct {
 74023  	VimFault
 74024  
 74025  	// Disk Id of the virtual disk that caused the fault
 74026  	DiskId int32 `xml:"diskId,omitempty" json:"diskId,omitempty"`
 74027  }
 74028  
 74029  func init() {
 74030  	t["ShrinkDiskFault"] = reflect.TypeOf((*ShrinkDiskFault)(nil)).Elem()
 74031  	minAPIVersionForType["ShrinkDiskFault"] = "5.1"
 74032  }
 74033  
 74034  type ShrinkDiskFaultFault ShrinkDiskFault
 74035  
 74036  func init() {
 74037  	t["ShrinkDiskFaultFault"] = reflect.TypeOf((*ShrinkDiskFaultFault)(nil)).Elem()
 74038  }
 74039  
 74040  // The parameters of `VirtualDiskManager.ShrinkVirtualDisk_Task`.
 74041  type ShrinkVirtualDiskRequestType struct {
 74042  	This ManagedObjectReference `xml:"_this" json:"-"`
 74043  	// The name of the disk, either a datastore path or a URL
 74044  	// referring to the virtual disk that should be shrink.
 74045  	Name string `xml:"name" json:"name"`
 74046  	// If <code>name</code> is a datastore path, the datacenter for
 74047  	// that datastore path. Not needed when invoked directly on ESX.
 74048  	// If not specified on a call to VirtualCenter,
 74049  	// <code>name</code> must be a URL.
 74050  	//
 74051  	// Refers instance of `Datacenter`.
 74052  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 74053  	// If true or omitted, performs shrink in copy-shrink mode, otherwise
 74054  	// shrink in in-place mode.
 74055  	Copy *bool `xml:"copy" json:"copy,omitempty"`
 74056  }
 74057  
 74058  func init() {
 74059  	t["ShrinkVirtualDiskRequestType"] = reflect.TypeOf((*ShrinkVirtualDiskRequestType)(nil)).Elem()
 74060  }
 74061  
 74062  type ShrinkVirtualDisk_Task ShrinkVirtualDiskRequestType
 74063  
 74064  func init() {
 74065  	t["ShrinkVirtualDisk_Task"] = reflect.TypeOf((*ShrinkVirtualDisk_Task)(nil)).Elem()
 74066  }
 74067  
 74068  type ShrinkVirtualDisk_TaskResponse struct {
 74069  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 74070  }
 74071  
 74072  type ShutdownGuest ShutdownGuestRequestType
 74073  
 74074  func init() {
 74075  	t["ShutdownGuest"] = reflect.TypeOf((*ShutdownGuest)(nil)).Elem()
 74076  }
 74077  
 74078  type ShutdownGuestRequestType struct {
 74079  	This ManagedObjectReference `xml:"_this" json:"-"`
 74080  }
 74081  
 74082  func init() {
 74083  	t["ShutdownGuestRequestType"] = reflect.TypeOf((*ShutdownGuestRequestType)(nil)).Elem()
 74084  }
 74085  
 74086  type ShutdownGuestResponse struct {
 74087  }
 74088  
 74089  // The parameters of `HostSystem.ShutdownHost_Task`.
 74090  type ShutdownHostRequestType struct {
 74091  	This ManagedObjectReference `xml:"_this" json:"-"`
 74092  	// Flag to specify whether or not the host should be shut down
 74093  	// regardless of whether it is in maintenance mode.
 74094  	// If true, the host is shut down, even if there are
 74095  	// virtual machines running or other operations in progress.
 74096  	Force bool `xml:"force" json:"force"`
 74097  }
 74098  
 74099  func init() {
 74100  	t["ShutdownHostRequestType"] = reflect.TypeOf((*ShutdownHostRequestType)(nil)).Elem()
 74101  }
 74102  
 74103  type ShutdownHost_Task ShutdownHostRequestType
 74104  
 74105  func init() {
 74106  	t["ShutdownHost_Task"] = reflect.TypeOf((*ShutdownHost_Task)(nil)).Elem()
 74107  }
 74108  
 74109  type ShutdownHost_TaskResponse struct {
 74110  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 74111  }
 74112  
 74113  // This class specifies a single IP address.
 74114  type SingleIp struct {
 74115  	IpAddress
 74116  
 74117  	// The IP address.
 74118  	//
 74119  	// The value of this property should either be an
 74120  	// IPv4 address such as "192.168.0.1" or an IPv6 address such as
 74121  	// "fc00:192:168:0:6cd9:a132:e889:b612"
 74122  	Address string `xml:"address" json:"address"`
 74123  }
 74124  
 74125  func init() {
 74126  	t["SingleIp"] = reflect.TypeOf((*SingleIp)(nil)).Elem()
 74127  	minAPIVersionForType["SingleIp"] = "5.5"
 74128  }
 74129  
 74130  // This class defines a Single MAC address.
 74131  type SingleMac struct {
 74132  	MacAddress
 74133  
 74134  	// The MAC address.
 74135  	//
 74136  	// The value for this property should be in the form
 74137  	// like "00:50:56:bc:ef:ab".
 74138  	Address string `xml:"address" json:"address"`
 74139  }
 74140  
 74141  func init() {
 74142  	t["SingleMac"] = reflect.TypeOf((*SingleMac)(nil)).Elem()
 74143  	minAPIVersionForType["SingleMac"] = "5.5"
 74144  }
 74145  
 74146  // This data object type represents the external site-related capabilities
 74147  // available in the environment managed by this vCenter.
 74148  type SiteInfo struct {
 74149  	DynamicData
 74150  }
 74151  
 74152  func init() {
 74153  	t["SiteInfo"] = reflect.TypeOf((*SiteInfo)(nil)).Elem()
 74154  	minAPIVersionForType["SiteInfo"] = "7.0"
 74155  }
 74156  
 74157  // An attempt is being made to copy a virtual machine's disk that has
 74158  // associated snapshots, and preserving the snapshots is not supported by the
 74159  // host under any circumstances.
 74160  //
 74161  // This is a warning.
 74162  type SnapshotCloneNotSupported struct {
 74163  	SnapshotCopyNotSupported
 74164  }
 74165  
 74166  func init() {
 74167  	t["SnapshotCloneNotSupported"] = reflect.TypeOf((*SnapshotCloneNotSupported)(nil)).Elem()
 74168  	minAPIVersionForType["SnapshotCloneNotSupported"] = "2.5"
 74169  }
 74170  
 74171  type SnapshotCloneNotSupportedFault SnapshotCloneNotSupported
 74172  
 74173  func init() {
 74174  	t["SnapshotCloneNotSupportedFault"] = reflect.TypeOf((*SnapshotCloneNotSupportedFault)(nil)).Elem()
 74175  }
 74176  
 74177  // An attempt is being made to move or copy a virtual machine's disk that has
 74178  // associated snapshots, and preserving the snapshots is not supported
 74179  // because of some aspect of the virtual machine configuration, virtual
 74180  // machine power state, or the requested disk placement.
 74181  //
 74182  // This is an error
 74183  // for move operations (where the source is deleted after the copy) and a
 74184  // warning for clones (where the source is preserved).
 74185  type SnapshotCopyNotSupported struct {
 74186  	MigrationFault
 74187  }
 74188  
 74189  func init() {
 74190  	t["SnapshotCopyNotSupported"] = reflect.TypeOf((*SnapshotCopyNotSupported)(nil)).Elem()
 74191  }
 74192  
 74193  type SnapshotCopyNotSupportedFault BaseSnapshotCopyNotSupported
 74194  
 74195  func init() {
 74196  	t["SnapshotCopyNotSupportedFault"] = reflect.TypeOf((*SnapshotCopyNotSupportedFault)(nil)).Elem()
 74197  }
 74198  
 74199  // Fault thrown if a snapshot operation cannot be performed because
 74200  // snapshots are disabled on the virtual machine.
 74201  type SnapshotDisabled struct {
 74202  	SnapshotFault
 74203  }
 74204  
 74205  func init() {
 74206  	t["SnapshotDisabled"] = reflect.TypeOf((*SnapshotDisabled)(nil)).Elem()
 74207  	minAPIVersionForType["SnapshotDisabled"] = "2.5"
 74208  }
 74209  
 74210  type SnapshotDisabledFault SnapshotDisabled
 74211  
 74212  func init() {
 74213  	t["SnapshotDisabledFault"] = reflect.TypeOf((*SnapshotDisabledFault)(nil)).Elem()
 74214  }
 74215  
 74216  // Base type for Snapshot-related errors.
 74217  type SnapshotFault struct {
 74218  	VimFault
 74219  }
 74220  
 74221  func init() {
 74222  	t["SnapshotFault"] = reflect.TypeOf((*SnapshotFault)(nil)).Elem()
 74223  }
 74224  
 74225  type SnapshotFaultFault BaseSnapshotFault
 74226  
 74227  func init() {
 74228  	t["SnapshotFaultFault"] = reflect.TypeOf((*SnapshotFaultFault)(nil)).Elem()
 74229  }
 74230  
 74231  // Thrown if a snapshot operation cannot be performed on account
 74232  // of an incompatible device.
 74233  //
 74234  // This fault can be thrown for instance
 74235  // if a virtual machine uses a raw disk or a shared bus controller.
 74236  type SnapshotIncompatibleDeviceInVm struct {
 74237  	SnapshotFault
 74238  
 74239  	// A fault specifies the particular device issue.
 74240  	//
 74241  	// This is typically
 74242  	// a subclass of VirtualHardwareCompatibilityIssue, such as
 74243  	// RawDiskNotSupported, or SharedBusControllerNotSupported.
 74244  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 74245  }
 74246  
 74247  func init() {
 74248  	t["SnapshotIncompatibleDeviceInVm"] = reflect.TypeOf((*SnapshotIncompatibleDeviceInVm)(nil)).Elem()
 74249  }
 74250  
 74251  type SnapshotIncompatibleDeviceInVmFault SnapshotIncompatibleDeviceInVm
 74252  
 74253  func init() {
 74254  	t["SnapshotIncompatibleDeviceInVmFault"] = reflect.TypeOf((*SnapshotIncompatibleDeviceInVmFault)(nil)).Elem()
 74255  }
 74256  
 74257  // Fault thrown when an attempt is made to create or delete a snapshot on a
 74258  // virtual machine that has its snapshot locked.
 74259  type SnapshotLocked struct {
 74260  	SnapshotFault
 74261  }
 74262  
 74263  func init() {
 74264  	t["SnapshotLocked"] = reflect.TypeOf((*SnapshotLocked)(nil)).Elem()
 74265  	minAPIVersionForType["SnapshotLocked"] = "2.5"
 74266  }
 74267  
 74268  type SnapshotLockedFault SnapshotLocked
 74269  
 74270  func init() {
 74271  	t["SnapshotLockedFault"] = reflect.TypeOf((*SnapshotLockedFault)(nil)).Elem()
 74272  }
 74273  
 74274  // An attempt is being made to move a virtual machine's disk that has
 74275  // associated snapshots, and preserving the snapshots is not supported by the
 74276  // host because the disk is currently located somewhere other than the virtual
 74277  // machine's home datastore.
 74278  type SnapshotMoveFromNonHomeNotSupported struct {
 74279  	SnapshotCopyNotSupported
 74280  }
 74281  
 74282  func init() {
 74283  	t["SnapshotMoveFromNonHomeNotSupported"] = reflect.TypeOf((*SnapshotMoveFromNonHomeNotSupported)(nil)).Elem()
 74284  	minAPIVersionForType["SnapshotMoveFromNonHomeNotSupported"] = "2.5"
 74285  }
 74286  
 74287  type SnapshotMoveFromNonHomeNotSupportedFault SnapshotMoveFromNonHomeNotSupported
 74288  
 74289  func init() {
 74290  	t["SnapshotMoveFromNonHomeNotSupportedFault"] = reflect.TypeOf((*SnapshotMoveFromNonHomeNotSupportedFault)(nil)).Elem()
 74291  }
 74292  
 74293  // An attempt is being made to move a virtual machine's disk that has
 74294  // associated snapshots, and preserving the snapshots is not supported by the
 74295  // host under any circumstances.
 74296  type SnapshotMoveNotSupported struct {
 74297  	SnapshotCopyNotSupported
 74298  }
 74299  
 74300  func init() {
 74301  	t["SnapshotMoveNotSupported"] = reflect.TypeOf((*SnapshotMoveNotSupported)(nil)).Elem()
 74302  	minAPIVersionForType["SnapshotMoveNotSupported"] = "2.5"
 74303  }
 74304  
 74305  type SnapshotMoveNotSupportedFault SnapshotMoveNotSupported
 74306  
 74307  func init() {
 74308  	t["SnapshotMoveNotSupportedFault"] = reflect.TypeOf((*SnapshotMoveNotSupportedFault)(nil)).Elem()
 74309  }
 74310  
 74311  // An attempt is being made to move a virtual machine's disk that has
 74312  // associated snapshots, and preserving the snapshots is not supported by the
 74313  // host because the disk is being moved to some location other than the new
 74314  // home datastore for the virtual machine.
 74315  type SnapshotMoveToNonHomeNotSupported struct {
 74316  	SnapshotCopyNotSupported
 74317  }
 74318  
 74319  func init() {
 74320  	t["SnapshotMoveToNonHomeNotSupported"] = reflect.TypeOf((*SnapshotMoveToNonHomeNotSupported)(nil)).Elem()
 74321  	minAPIVersionForType["SnapshotMoveToNonHomeNotSupported"] = "2.5"
 74322  }
 74323  
 74324  type SnapshotMoveToNonHomeNotSupportedFault SnapshotMoveToNonHomeNotSupported
 74325  
 74326  func init() {
 74327  	t["SnapshotMoveToNonHomeNotSupportedFault"] = reflect.TypeOf((*SnapshotMoveToNonHomeNotSupportedFault)(nil)).Elem()
 74328  }
 74329  
 74330  // This fault is for a snapshot request on a virtual machine whose state
 74331  // has not changed since a previous successful snapshot.
 74332  //
 74333  // For example, this
 74334  // occurs when you suspend the virtual machine, create a snapshot, and
 74335  // then request another snapshot of the suspended virtual machine.
 74336  type SnapshotNoChange struct {
 74337  	SnapshotFault
 74338  }
 74339  
 74340  func init() {
 74341  	t["SnapshotNoChange"] = reflect.TypeOf((*SnapshotNoChange)(nil)).Elem()
 74342  	minAPIVersionForType["SnapshotNoChange"] = "2.5"
 74343  }
 74344  
 74345  type SnapshotNoChangeFault SnapshotNoChange
 74346  
 74347  func init() {
 74348  	t["SnapshotNoChangeFault"] = reflect.TypeOf((*SnapshotNoChangeFault)(nil)).Elem()
 74349  }
 74350  
 74351  // If the virtual machine is migrated to the destination host, there may be
 74352  // a problem reverting to one of its snapshots.
 74353  //
 74354  // This is a warning. If the
 74355  // snapshot name is not set and the event array is empty, then it the snapshot
 74356  // might possibly revert correctly. If the name is set and the event array is not
 74357  // empty then there surely will be a problem reverting to the snapshot.
 74358  type SnapshotRevertIssue struct {
 74359  	MigrationFault
 74360  
 74361  	// The name of the problematic snapshot.
 74362  	SnapshotName string `xml:"snapshotName,omitempty" json:"snapshotName,omitempty"`
 74363  	// The problem(s) that would occur on reverting to the snapshot.
 74364  	//
 74365  	// This
 74366  	// is determined similarly to invoking validateMigration on a powered-off
 74367  	// virtual machine with the snapshot's state. However, not all errors
 74368  	// or warnings for virtual machine migration are guaranteed to be
 74369  	// detected for snapshots.
 74370  	Event []BaseEvent `xml:"event,omitempty,typeattr" json:"event,omitempty"`
 74371  	// True if any of the events above are error events.
 74372  	Errors bool `xml:"errors" json:"errors"`
 74373  }
 74374  
 74375  func init() {
 74376  	t["SnapshotRevertIssue"] = reflect.TypeOf((*SnapshotRevertIssue)(nil)).Elem()
 74377  }
 74378  
 74379  type SnapshotRevertIssueFault SnapshotRevertIssue
 74380  
 74381  func init() {
 74382  	t["SnapshotRevertIssueFault"] = reflect.TypeOf((*SnapshotRevertIssueFault)(nil)).Elem()
 74383  }
 74384  
 74385  // The current DRS migration priority setting prevents generating
 74386  // a recommendation to correct the soft VM/Host affinity rules constraint
 74387  // violation for the VM so the violation will not be corrected.
 74388  type SoftRuleVioCorrectionDisallowed struct {
 74389  	VmConfigFault
 74390  
 74391  	// The vm for which the VM/Host soft affinity rules constraint violation
 74392  	// is not being corrected by DRS.
 74393  	VmName string `xml:"vmName" json:"vmName"`
 74394  }
 74395  
 74396  func init() {
 74397  	t["SoftRuleVioCorrectionDisallowed"] = reflect.TypeOf((*SoftRuleVioCorrectionDisallowed)(nil)).Elem()
 74398  	minAPIVersionForType["SoftRuleVioCorrectionDisallowed"] = "4.1"
 74399  }
 74400  
 74401  type SoftRuleVioCorrectionDisallowedFault SoftRuleVioCorrectionDisallowed
 74402  
 74403  func init() {
 74404  	t["SoftRuleVioCorrectionDisallowedFault"] = reflect.TypeOf((*SoftRuleVioCorrectionDisallowedFault)(nil)).Elem()
 74405  }
 74406  
 74407  // DRS has determined that correcting the soft VM/Host affinity rules
 74408  // constraint violation for the VM impacts respecting cluster constraints
 74409  // or performance goals so the violation will not be corrected.
 74410  type SoftRuleVioCorrectionImpact struct {
 74411  	VmConfigFault
 74412  
 74413  	// The vm for which the VM/Host soft affinity rules constraint violation
 74414  	// is not being corrected by DRS.
 74415  	VmName string `xml:"vmName" json:"vmName"`
 74416  }
 74417  
 74418  func init() {
 74419  	t["SoftRuleVioCorrectionImpact"] = reflect.TypeOf((*SoftRuleVioCorrectionImpact)(nil)).Elem()
 74420  	minAPIVersionForType["SoftRuleVioCorrectionImpact"] = "4.1"
 74421  }
 74422  
 74423  type SoftRuleVioCorrectionImpactFault SoftRuleVioCorrectionImpact
 74424  
 74425  func init() {
 74426  	t["SoftRuleVioCorrectionImpactFault"] = reflect.TypeOf((*SoftRuleVioCorrectionImpactFault)(nil)).Elem()
 74427  }
 74428  
 74429  // Software Packages provide discrete version and packaging.
 74430  //
 74431  // This data is reported by CLI:: esxcli software vib get -n ...
 74432  type SoftwarePackage struct {
 74433  	DynamicData
 74434  
 74435  	// Identifier that uniquely identifies the software package.
 74436  	Name string `xml:"name" json:"name"`
 74437  	// Version string uniquely identifies this package.
 74438  	Version string `xml:"version" json:"version"`
 74439  	// Type of vib installed.
 74440  	//
 74441  	// See `SoftwarePackageVibType_enum`.
 74442  	Type string `xml:"type" json:"type"`
 74443  	// The corporate entity that created this package.
 74444  	Vendor string `xml:"vendor" json:"vendor"`
 74445  	// See also `HostImageAcceptanceLevel_enum`.
 74446  	AcceptanceLevel string `xml:"acceptanceLevel" json:"acceptanceLevel"`
 74447  	// A brief description of the package contents.
 74448  	Summary string `xml:"summary" json:"summary"`
 74449  	// A full account of the package contents.
 74450  	Description string `xml:"description" json:"description"`
 74451  	// The list of SupportReference objects with in-depth support information.
 74452  	ReferenceURL []string `xml:"referenceURL,omitempty" json:"referenceURL,omitempty"`
 74453  	// The time when the package was installed.
 74454  	//
 74455  	// On Autodeploy stateless installs
 74456  	// there is no set value.
 74457  	CreationDate *time.Time `xml:"creationDate" json:"creationDate,omitempty"`
 74458  	// A list of VIBs that must be installed at the same time as this VIB.
 74459  	Depends []Relation `xml:"depends,omitempty" json:"depends,omitempty"`
 74460  	// A list of VIBs that cannot be installed at the same time as
 74461  	// this VIB for a given version.
 74462  	Conflicts []Relation `xml:"conflicts,omitempty" json:"conflicts,omitempty"`
 74463  	// A list of SoftwareConstraint objects that identify VIBs that
 74464  	// replace this VIB or make it obsolete.
 74465  	//
 74466  	// VIBs automatically replace VIBs with
 74467  	// the same name but lower versions.
 74468  	Replaces []Relation `xml:"replaces,omitempty" json:"replaces,omitempty"`
 74469  	// A list of virtual packages or interfaces this VIB provides.
 74470  	Provides []string `xml:"provides,omitempty" json:"provides,omitempty"`
 74471  	// True if hosts must be in maintenance mode for installation of this VIB.
 74472  	MaintenanceModeRequired *bool `xml:"maintenanceModeRequired" json:"maintenanceModeRequired,omitempty"`
 74473  	// A list of hardware platforms this package is supported on.
 74474  	HardwarePlatformsRequired []string `xml:"hardwarePlatformsRequired,omitempty" json:"hardwarePlatformsRequired,omitempty"`
 74475  	// A set of optional attributes for this package.
 74476  	Capability SoftwarePackageCapability `xml:"capability" json:"capability"`
 74477  	// A list of string tags for this package defined by the vendor
 74478  	// or publisher.
 74479  	//
 74480  	// Tags can be used to identify characteristics of a package.
 74481  	Tag []string `xml:"tag,omitempty" json:"tag,omitempty"`
 74482  	// A list of string tags to indicate one or more of what is
 74483  	// contained: may be one of bootloader, upgrade, bootisobios, bootisoefi,
 74484  	// vgz, tgz, boot or other values.
 74485  	Payload []string `xml:"payload,omitempty" json:"payload,omitempty"`
 74486  }
 74487  
 74488  func init() {
 74489  	t["SoftwarePackage"] = reflect.TypeOf((*SoftwarePackage)(nil)).Elem()
 74490  	minAPIVersionForType["SoftwarePackage"] = "6.5"
 74491  }
 74492  
 74493  type SoftwarePackageCapability struct {
 74494  	DynamicData
 74495  
 74496  	// True if live installs of this VIB are supported.
 74497  	LiveInstallAllowed *bool `xml:"liveInstallAllowed" json:"liveInstallAllowed,omitempty"`
 74498  	// True if live removals of this VIB are supported.
 74499  	LiveRemoveAllowed *bool `xml:"liveRemoveAllowed" json:"liveRemoveAllowed,omitempty"`
 74500  	// True if the package supports host profiles or other technologies
 74501  	// that make it suitable for use in conjunction with vSphere Auto Deploy.
 74502  	StatelessReady *bool `xml:"statelessReady" json:"statelessReady,omitempty"`
 74503  	// True if this vib will supplant files from another package at runtime.
 74504  	//
 74505  	// When False this prevents two packages from installing the same file.
 74506  	Overlay *bool `xml:"overlay" json:"overlay,omitempty"`
 74507  }
 74508  
 74509  func init() {
 74510  	t["SoftwarePackageCapability"] = reflect.TypeOf((*SoftwarePackageCapability)(nil)).Elem()
 74511  }
 74512  
 74513  // Thrown when an operation is denied because the entity
 74514  // invoking it is not a Solution User.
 74515  type SolutionUserRequired struct {
 74516  	SecurityError
 74517  }
 74518  
 74519  func init() {
 74520  	t["SolutionUserRequired"] = reflect.TypeOf((*SolutionUserRequired)(nil)).Elem()
 74521  	minAPIVersionForType["SolutionUserRequired"] = "7.0"
 74522  }
 74523  
 74524  type SolutionUserRequiredFault SolutionUserRequired
 74525  
 74526  func init() {
 74527  	t["SolutionUserRequiredFault"] = reflect.TypeOf((*SolutionUserRequiredFault)(nil)).Elem()
 74528  }
 74529  
 74530  // The SourceNodeSpec class defines specification of
 74531  // the source node that is used to initiate the configuration or
 74532  // deployment for VCHA.
 74533  type SourceNodeSpec struct {
 74534  	DynamicData
 74535  
 74536  	// Credentials for the management vCenter Server that is managing
 74537  	// this node.
 74538  	ManagementVc ServiceLocator `xml:"managementVc" json:"managementVc"`
 74539  	// VirtualMachine reference for this vCenter Server.
 74540  	//
 74541  	// Refers instance of `VirtualMachine`.
 74542  	ActiveVc ManagedObjectReference `xml:"activeVc" json:"activeVc"`
 74543  }
 74544  
 74545  func init() {
 74546  	t["SourceNodeSpec"] = reflect.TypeOf((*SourceNodeSpec)(nil)).Elem()
 74547  	minAPIVersionForType["SourceNodeSpec"] = "6.5"
 74548  }
 74549  
 74550  // A SsdDiskNotAvailable fault indicating that the specified SSD
 74551  // disk is not available.
 74552  //
 74553  // The disk either has been used or not a
 74554  // SSD disk.
 74555  type SsdDiskNotAvailable struct {
 74556  	VimFault
 74557  
 74558  	// The device path of the disk.
 74559  	//
 74560  	// See also `HostScsiDisk.devicePath`.
 74561  	DevicePath string `xml:"devicePath" json:"devicePath"`
 74562  }
 74563  
 74564  func init() {
 74565  	t["SsdDiskNotAvailable"] = reflect.TypeOf((*SsdDiskNotAvailable)(nil)).Elem()
 74566  	minAPIVersionForType["SsdDiskNotAvailable"] = "5.5"
 74567  }
 74568  
 74569  type SsdDiskNotAvailableFault SsdDiskNotAvailable
 74570  
 74571  func init() {
 74572  	t["SsdDiskNotAvailableFault"] = reflect.TypeOf((*SsdDiskNotAvailableFault)(nil)).Elem()
 74573  }
 74574  
 74575  // The parameters of `HostPatchManager.StageHostPatch_Task`.
 74576  type StageHostPatchRequestType struct {
 74577  	This ManagedObjectReference `xml:"_this" json:"-"`
 74578  	// A list of urls pointing to metadata.zip.
 74579  	MetaUrls []string `xml:"metaUrls,omitempty" json:"metaUrls,omitempty"`
 74580  	// a list of urls pointing to an "offline" bundle. It is not supported in 5.0 or later.
 74581  	BundleUrls []string `xml:"bundleUrls,omitempty" json:"bundleUrls,omitempty"`
 74582  	// The urls of update binary files to be staged.
 74583  	VibUrls []string                                   `xml:"vibUrls,omitempty" json:"vibUrls,omitempty"`
 74584  	Spec    *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 74585  }
 74586  
 74587  func init() {
 74588  	t["StageHostPatchRequestType"] = reflect.TypeOf((*StageHostPatchRequestType)(nil)).Elem()
 74589  }
 74590  
 74591  type StageHostPatch_Task StageHostPatchRequestType
 74592  
 74593  func init() {
 74594  	t["StageHostPatch_Task"] = reflect.TypeOf((*StageHostPatch_Task)(nil)).Elem()
 74595  }
 74596  
 74597  type StageHostPatch_TaskResponse struct {
 74598  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 74599  }
 74600  
 74601  type StampAllRulesWithUuidRequestType struct {
 74602  	This ManagedObjectReference `xml:"_this" json:"-"`
 74603  }
 74604  
 74605  func init() {
 74606  	t["StampAllRulesWithUuidRequestType"] = reflect.TypeOf((*StampAllRulesWithUuidRequestType)(nil)).Elem()
 74607  }
 74608  
 74609  type StampAllRulesWithUuid_Task StampAllRulesWithUuidRequestType
 74610  
 74611  func init() {
 74612  	t["StampAllRulesWithUuid_Task"] = reflect.TypeOf((*StampAllRulesWithUuid_Task)(nil)).Elem()
 74613  }
 74614  
 74615  type StampAllRulesWithUuid_TaskResponse struct {
 74616  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 74617  }
 74618  
 74619  type StandbyGuest StandbyGuestRequestType
 74620  
 74621  func init() {
 74622  	t["StandbyGuest"] = reflect.TypeOf((*StandbyGuest)(nil)).Elem()
 74623  }
 74624  
 74625  type StandbyGuestRequestType struct {
 74626  	This ManagedObjectReference `xml:"_this" json:"-"`
 74627  }
 74628  
 74629  func init() {
 74630  	t["StandbyGuestRequestType"] = reflect.TypeOf((*StandbyGuestRequestType)(nil)).Elem()
 74631  }
 74632  
 74633  type StandbyGuestResponse struct {
 74634  }
 74635  
 74636  // The parameters of `VirtualMachineGuestCustomizationManager.StartGuestNetwork_Task`.
 74637  type StartGuestNetworkRequestType struct {
 74638  	This ManagedObjectReference `xml:"_this" json:"-"`
 74639  	// The Virtual Machine managed object reference.
 74640  	//
 74641  	// Refers instance of `VirtualMachine`.
 74642  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 74643  	// The guest authentication data. See
 74644  	// `GuestAuthentication`.
 74645  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 74646  }
 74647  
 74648  func init() {
 74649  	t["StartGuestNetworkRequestType"] = reflect.TypeOf((*StartGuestNetworkRequestType)(nil)).Elem()
 74650  }
 74651  
 74652  type StartGuestNetwork_Task StartGuestNetworkRequestType
 74653  
 74654  func init() {
 74655  	t["StartGuestNetwork_Task"] = reflect.TypeOf((*StartGuestNetwork_Task)(nil)).Elem()
 74656  }
 74657  
 74658  type StartGuestNetwork_TaskResponse struct {
 74659  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 74660  }
 74661  
 74662  type StartProgramInGuest StartProgramInGuestRequestType
 74663  
 74664  func init() {
 74665  	t["StartProgramInGuest"] = reflect.TypeOf((*StartProgramInGuest)(nil)).Elem()
 74666  }
 74667  
 74668  // The parameters of `GuestProcessManager.StartProgramInGuest`.
 74669  type StartProgramInGuestRequestType struct {
 74670  	This ManagedObjectReference `xml:"_this" json:"-"`
 74671  	// Virtual machine to perform the operation on.
 74672  	//
 74673  	// Required privileges: VirtualMachine.GuestOperations.Execute
 74674  	//
 74675  	// Refers instance of `VirtualMachine`.
 74676  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 74677  	// The guest authentication data. See
 74678  	// `GuestAuthentication`.
 74679  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 74680  	// The arguments describing the program to be started.
 74681  	Spec BaseGuestProgramSpec `xml:"spec,typeattr" json:"spec"`
 74682  }
 74683  
 74684  func init() {
 74685  	t["StartProgramInGuestRequestType"] = reflect.TypeOf((*StartProgramInGuestRequestType)(nil)).Elem()
 74686  }
 74687  
 74688  type StartProgramInGuestResponse struct {
 74689  	Returnval int64 `xml:"returnval" json:"returnval"`
 74690  }
 74691  
 74692  // The parameters of `VirtualMachine.StartRecording_Task`.
 74693  type StartRecordingRequestType struct {
 74694  	This ManagedObjectReference `xml:"_this" json:"-"`
 74695  	// The name for the snapshot associated with this recording.
 74696  	// The name need not be unique for this virtual machine.
 74697  	Name string `xml:"name" json:"name"`
 74698  	// A description for the snapshot associated with this
 74699  	// recording. If omitted, a default description may be provided.
 74700  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 74701  }
 74702  
 74703  func init() {
 74704  	t["StartRecordingRequestType"] = reflect.TypeOf((*StartRecordingRequestType)(nil)).Elem()
 74705  }
 74706  
 74707  type StartRecording_Task StartRecordingRequestType
 74708  
 74709  func init() {
 74710  	t["StartRecording_Task"] = reflect.TypeOf((*StartRecording_Task)(nil)).Elem()
 74711  }
 74712  
 74713  type StartRecording_TaskResponse struct {
 74714  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 74715  }
 74716  
 74717  // The parameters of `VirtualMachine.StartReplaying_Task`.
 74718  type StartReplayingRequestType struct {
 74719  	This ManagedObjectReference `xml:"_this" json:"-"`
 74720  	// The snapshot from which to start the replay. This
 74721  	// snapshot must have been created by a record operation on the
 74722  	// virtual machine.
 74723  	//
 74724  	// Refers instance of `VirtualMachineSnapshot`.
 74725  	ReplaySnapshot ManagedObjectReference `xml:"replaySnapshot" json:"replaySnapshot"`
 74726  }
 74727  
 74728  func init() {
 74729  	t["StartReplayingRequestType"] = reflect.TypeOf((*StartReplayingRequestType)(nil)).Elem()
 74730  }
 74731  
 74732  type StartReplaying_Task StartReplayingRequestType
 74733  
 74734  func init() {
 74735  	t["StartReplaying_Task"] = reflect.TypeOf((*StartReplaying_Task)(nil)).Elem()
 74736  }
 74737  
 74738  type StartReplaying_TaskResponse struct {
 74739  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 74740  }
 74741  
 74742  type StartService StartServiceRequestType
 74743  
 74744  func init() {
 74745  	t["StartService"] = reflect.TypeOf((*StartService)(nil)).Elem()
 74746  }
 74747  
 74748  // The parameters of `HostServiceSystem.StartService`.
 74749  type StartServiceRequestType struct {
 74750  	This ManagedObjectReference `xml:"_this" json:"-"`
 74751  	// Service identifier
 74752  	// (`HostServiceSystem.serviceInfo*.*HostServiceInfo.service*.*HostService.key`).
 74753  	Id string `xml:"id" json:"id"`
 74754  }
 74755  
 74756  func init() {
 74757  	t["StartServiceRequestType"] = reflect.TypeOf((*StartServiceRequestType)(nil)).Elem()
 74758  }
 74759  
 74760  type StartServiceResponse struct {
 74761  }
 74762  
 74763  // An alarm expression that uses the running state of either a virtual machine or
 74764  // a host as the condition that triggers the alarm.
 74765  //
 74766  // Base type.
 74767  //
 74768  // There are two alarm operands: yellow and red. At least one of them
 74769  // must be set. The value of the alarm expression is determined as follows:
 74770  //   - If the red state is set but the yellow state is not: the expression is red when
 74771  //     the state operand matches (isEqual operator) or does not match (isUnequal operator)
 74772  //     the state of the managed entity. The expression is green otherwise.
 74773  //   - If yellow is set but red is not: the expression is yellow when
 74774  //     the state operand matches (isEqual) or does not match (isUnequal)
 74775  //     the state of the managed entity. The expression is green otherwise.
 74776  //   - If both yellow and red are set, the value of the expression is red when
 74777  //     the red state operand matches (isEqual) or does not match (isUnequal)
 74778  //     the state of the managed entity. Otherwise, the expression is
 74779  //     yellow when the yellow state operand matches (isEqual) or does not match (isUnequal)
 74780  //     the state of the managed entity. Otherwise, the expression is green.
 74781  type StateAlarmExpression struct {
 74782  	AlarmExpression
 74783  
 74784  	// The operation to be tested on the target state.
 74785  	Operator StateAlarmOperator `xml:"operator" json:"operator"`
 74786  	// Name of the object type containing the property.
 74787  	Type string `xml:"type" json:"type"`
 74788  	// Path of the state property.
 74789  	//
 74790  	// The supported values:
 74791  	//     - for vim.VirtualMachine type:
 74792  	//     - runtime.powerState or summary.quickStats.guestHeartbeatStatus
 74793  	//     - for vim.HostSystem type: runtime.connectionState
 74794  	StatePath string `xml:"statePath" json:"statePath"`
 74795  	// Whether or not to test for a yellow condition.
 74796  	//
 74797  	// If this property is not set, do not calculate yellow status.
 74798  	Yellow string `xml:"yellow,omitempty" json:"yellow,omitempty"`
 74799  	// Whether or not to test for a red condition.
 74800  	//
 74801  	// If this property is not set, do not calculate red status.
 74802  	Red string `xml:"red,omitempty" json:"red,omitempty"`
 74803  }
 74804  
 74805  func init() {
 74806  	t["StateAlarmExpression"] = reflect.TypeOf((*StateAlarmExpression)(nil)).Elem()
 74807  }
 74808  
 74809  // The `StaticRouteProfile` data object represents a single static IP route.
 74810  //
 74811  // The `ApplyProfile.policy` property contains
 74812  // data values for static route configuration.
 74813  type StaticRouteProfile struct {
 74814  	ApplyProfile
 74815  
 74816  	// Linkable identifier.
 74817  	Key string `xml:"key,omitempty" json:"key,omitempty" vim:"5.1"`
 74818  }
 74819  
 74820  func init() {
 74821  	t["StaticRouteProfile"] = reflect.TypeOf((*StaticRouteProfile)(nil)).Elem()
 74822  	minAPIVersionForType["StaticRouteProfile"] = "4.0"
 74823  }
 74824  
 74825  type StopRecordingRequestType struct {
 74826  	This ManagedObjectReference `xml:"_this" json:"-"`
 74827  }
 74828  
 74829  func init() {
 74830  	t["StopRecordingRequestType"] = reflect.TypeOf((*StopRecordingRequestType)(nil)).Elem()
 74831  }
 74832  
 74833  type StopRecording_Task StopRecordingRequestType
 74834  
 74835  func init() {
 74836  	t["StopRecording_Task"] = reflect.TypeOf((*StopRecording_Task)(nil)).Elem()
 74837  }
 74838  
 74839  type StopRecording_TaskResponse struct {
 74840  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 74841  }
 74842  
 74843  type StopReplayingRequestType struct {
 74844  	This ManagedObjectReference `xml:"_this" json:"-"`
 74845  }
 74846  
 74847  func init() {
 74848  	t["StopReplayingRequestType"] = reflect.TypeOf((*StopReplayingRequestType)(nil)).Elem()
 74849  }
 74850  
 74851  type StopReplaying_Task StopReplayingRequestType
 74852  
 74853  func init() {
 74854  	t["StopReplaying_Task"] = reflect.TypeOf((*StopReplaying_Task)(nil)).Elem()
 74855  }
 74856  
 74857  type StopReplaying_TaskResponse struct {
 74858  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 74859  }
 74860  
 74861  type StopService StopServiceRequestType
 74862  
 74863  func init() {
 74864  	t["StopService"] = reflect.TypeOf((*StopService)(nil)).Elem()
 74865  }
 74866  
 74867  // The parameters of `HostServiceSystem.StopService`.
 74868  type StopServiceRequestType struct {
 74869  	This ManagedObjectReference `xml:"_this" json:"-"`
 74870  	// Service identifier
 74871  	// (`HostServiceSystem.serviceInfo*.*HostServiceInfo.service*.*HostService.key`).
 74872  	Id string `xml:"id" json:"id"`
 74873  }
 74874  
 74875  func init() {
 74876  	t["StopServiceRequestType"] = reflect.TypeOf((*StopServiceRequestType)(nil)).Elem()
 74877  }
 74878  
 74879  type StopServiceResponse struct {
 74880  }
 74881  
 74882  // Storage DRS fine grain automation controls
 74883  type StorageDrsAutomationConfig struct {
 74884  	DynamicData
 74885  
 74886  	// Specifies the behavior of Storage DRS when it generates
 74887  	// recommendations for correcting space load imbalance in a
 74888  	// datastore cluster.
 74889  	//
 74890  	// See `StorageDrsPodConfigInfo`. If specified, this option
 74891  	// overrides the datastore cluster level automation behavior defined in the
 74892  	// `StorageDrsPodConfigInfo`.
 74893  	SpaceLoadBalanceAutomationMode string `xml:"spaceLoadBalanceAutomationMode,omitempty" json:"spaceLoadBalanceAutomationMode,omitempty"`
 74894  	// Specifies the behavior of Storage DRS when it generates
 74895  	// recommendations for correcting I/O load imbalance in a datastore
 74896  	// cluster.
 74897  	//
 74898  	// See `StorageDrsPodConfigInfo`. If specified, this option
 74899  	// overrides the datastore cluster level automation behavior defined in the
 74900  	// `StorageDrsPodConfigInfo`.
 74901  	IoLoadBalanceAutomationMode string `xml:"ioLoadBalanceAutomationMode,omitempty" json:"ioLoadBalanceAutomationMode,omitempty"`
 74902  	// Specifies the behavior of Storage DRS when it generates
 74903  	// recommendations for correcting affinity rule violations in a
 74904  	// datastore cluster.
 74905  	//
 74906  	// See `StorageDrsPodConfigInfoBehavior_enum`. If
 74907  	// specified, this option overrides the datastore cluster level
 74908  	// automation behavior defined in the `StorageDrsPodConfigInfo` for
 74909  	// recommendations aimed at fixing rule violations.
 74910  	RuleEnforcementAutomationMode string `xml:"ruleEnforcementAutomationMode,omitempty" json:"ruleEnforcementAutomationMode,omitempty"`
 74911  	// Specifies the behavior of Storage DRS when it generates
 74912  	// recommendations for correcting storage and Vm policy violations
 74913  	// in a datastore cluster.
 74914  	//
 74915  	// See `StorageDrsPodConfigInfoBehavior_enum`. If
 74916  	// specified, this option overrides the datastore cluster level
 74917  	// automation behavior defined in the `StorageDrsPodConfigInfo` for
 74918  	// recommendations aimed at fixing storage policy violations.
 74919  	PolicyEnforcementAutomationMode string `xml:"policyEnforcementAutomationMode,omitempty" json:"policyEnforcementAutomationMode,omitempty"`
 74920  	// Specifies the behavior of Storage DRS when it generates
 74921  	// recommendations for datastore evacuations in a datastore
 74922  	// cluster.
 74923  	//
 74924  	// See `StorageDrsPodConfigInfoBehavior_enum`. If specified, this
 74925  	// option overrides the datastore cluster level automation behavior
 74926  	// defined in the `StorageDrsPodConfigInfo` for recommendations aimed at
 74927  	// evacuating Vms from a datastore.
 74928  	VmEvacuationAutomationMode string `xml:"vmEvacuationAutomationMode,omitempty" json:"vmEvacuationAutomationMode,omitempty"`
 74929  }
 74930  
 74931  func init() {
 74932  	t["StorageDrsAutomationConfig"] = reflect.TypeOf((*StorageDrsAutomationConfig)(nil)).Elem()
 74933  	minAPIVersionForType["StorageDrsAutomationConfig"] = "6.0"
 74934  }
 74935  
 74936  // This fault is thrown because Storage DRS cannot generate recommendations
 74937  // to relocate one or more virtual disks of a VM because the disk has
 74938  // multi-writer mode enabled.
 74939  type StorageDrsCannotMoveDiskInMultiWriterMode struct {
 74940  	VimFault
 74941  }
 74942  
 74943  func init() {
 74944  	t["StorageDrsCannotMoveDiskInMultiWriterMode"] = reflect.TypeOf((*StorageDrsCannotMoveDiskInMultiWriterMode)(nil)).Elem()
 74945  	minAPIVersionForType["StorageDrsCannotMoveDiskInMultiWriterMode"] = "5.1"
 74946  }
 74947  
 74948  type StorageDrsCannotMoveDiskInMultiWriterModeFault StorageDrsCannotMoveDiskInMultiWriterMode
 74949  
 74950  func init() {
 74951  	t["StorageDrsCannotMoveDiskInMultiWriterModeFault"] = reflect.TypeOf((*StorageDrsCannotMoveDiskInMultiWriterModeFault)(nil)).Elem()
 74952  }
 74953  
 74954  // This fault is thrown because Storage DRS cannot generate recommendations
 74955  // to relocate Fault Tolerant VMs across datastores.
 74956  type StorageDrsCannotMoveFTVm struct {
 74957  	VimFault
 74958  }
 74959  
 74960  func init() {
 74961  	t["StorageDrsCannotMoveFTVm"] = reflect.TypeOf((*StorageDrsCannotMoveFTVm)(nil)).Elem()
 74962  	minAPIVersionForType["StorageDrsCannotMoveFTVm"] = "5.1"
 74963  }
 74964  
 74965  type StorageDrsCannotMoveFTVmFault StorageDrsCannotMoveFTVm
 74966  
 74967  func init() {
 74968  	t["StorageDrsCannotMoveFTVmFault"] = reflect.TypeOf((*StorageDrsCannotMoveFTVmFault)(nil)).Elem()
 74969  }
 74970  
 74971  // This fault is thrown because Storage DRS cannot generate recommendations
 74972  // to relocate an independent disk.
 74973  type StorageDrsCannotMoveIndependentDisk struct {
 74974  	VimFault
 74975  }
 74976  
 74977  func init() {
 74978  	t["StorageDrsCannotMoveIndependentDisk"] = reflect.TypeOf((*StorageDrsCannotMoveIndependentDisk)(nil)).Elem()
 74979  	minAPIVersionForType["StorageDrsCannotMoveIndependentDisk"] = "5.1"
 74980  }
 74981  
 74982  type StorageDrsCannotMoveIndependentDiskFault StorageDrsCannotMoveIndependentDisk
 74983  
 74984  func init() {
 74985  	t["StorageDrsCannotMoveIndependentDiskFault"] = reflect.TypeOf((*StorageDrsCannotMoveIndependentDiskFault)(nil)).Elem()
 74986  }
 74987  
 74988  // This fault is thrown because Storage DRS cannot generate recommendations
 74989  // to relocate VM because it has a manually selected fixed location for its
 74990  // swap file.
 74991  type StorageDrsCannotMoveManuallyPlacedSwapFile struct {
 74992  	VimFault
 74993  }
 74994  
 74995  func init() {
 74996  	t["StorageDrsCannotMoveManuallyPlacedSwapFile"] = reflect.TypeOf((*StorageDrsCannotMoveManuallyPlacedSwapFile)(nil)).Elem()
 74997  	minAPIVersionForType["StorageDrsCannotMoveManuallyPlacedSwapFile"] = "5.1"
 74998  }
 74999  
 75000  type StorageDrsCannotMoveManuallyPlacedSwapFileFault StorageDrsCannotMoveManuallyPlacedSwapFile
 75001  
 75002  func init() {
 75003  	t["StorageDrsCannotMoveManuallyPlacedSwapFileFault"] = reflect.TypeOf((*StorageDrsCannotMoveManuallyPlacedSwapFileFault)(nil)).Elem()
 75004  }
 75005  
 75006  // This fault is thrown because Storage DRS cannot generate recommendations
 75007  // to relocate a Vm that is placed by user to a specific datastore.
 75008  type StorageDrsCannotMoveManuallyPlacedVm struct {
 75009  	VimFault
 75010  }
 75011  
 75012  func init() {
 75013  	t["StorageDrsCannotMoveManuallyPlacedVm"] = reflect.TypeOf((*StorageDrsCannotMoveManuallyPlacedVm)(nil)).Elem()
 75014  	minAPIVersionForType["StorageDrsCannotMoveManuallyPlacedVm"] = "5.1"
 75015  }
 75016  
 75017  type StorageDrsCannotMoveManuallyPlacedVmFault StorageDrsCannotMoveManuallyPlacedVm
 75018  
 75019  func init() {
 75020  	t["StorageDrsCannotMoveManuallyPlacedVmFault"] = reflect.TypeOf((*StorageDrsCannotMoveManuallyPlacedVmFault)(nil)).Elem()
 75021  }
 75022  
 75023  // This fault is thrown because Storage DRS cannot generate recommendations
 75024  // to relocate a shared virtual disk that is attached to more than one Vm.
 75025  type StorageDrsCannotMoveSharedDisk struct {
 75026  	VimFault
 75027  }
 75028  
 75029  func init() {
 75030  	t["StorageDrsCannotMoveSharedDisk"] = reflect.TypeOf((*StorageDrsCannotMoveSharedDisk)(nil)).Elem()
 75031  	minAPIVersionForType["StorageDrsCannotMoveSharedDisk"] = "5.1"
 75032  }
 75033  
 75034  type StorageDrsCannotMoveSharedDiskFault StorageDrsCannotMoveSharedDisk
 75035  
 75036  func init() {
 75037  	t["StorageDrsCannotMoveSharedDiskFault"] = reflect.TypeOf((*StorageDrsCannotMoveSharedDiskFault)(nil)).Elem()
 75038  }
 75039  
 75040  // This fault is thrown because Storage DRS cannot generate recommendations
 75041  // to relocate template VMs across datastores.
 75042  type StorageDrsCannotMoveTemplate struct {
 75043  	VimFault
 75044  }
 75045  
 75046  func init() {
 75047  	t["StorageDrsCannotMoveTemplate"] = reflect.TypeOf((*StorageDrsCannotMoveTemplate)(nil)).Elem()
 75048  	minAPIVersionForType["StorageDrsCannotMoveTemplate"] = "5.1"
 75049  }
 75050  
 75051  type StorageDrsCannotMoveTemplateFault StorageDrsCannotMoveTemplate
 75052  
 75053  func init() {
 75054  	t["StorageDrsCannotMoveTemplateFault"] = reflect.TypeOf((*StorageDrsCannotMoveTemplateFault)(nil)).Elem()
 75055  }
 75056  
 75057  // This fault is thrown because Storage DRS cannot generate recommendations
 75058  // to relocate VMs placed in user-specified folders.
 75059  type StorageDrsCannotMoveVmInUserFolder struct {
 75060  	VimFault
 75061  }
 75062  
 75063  func init() {
 75064  	t["StorageDrsCannotMoveVmInUserFolder"] = reflect.TypeOf((*StorageDrsCannotMoveVmInUserFolder)(nil)).Elem()
 75065  	minAPIVersionForType["StorageDrsCannotMoveVmInUserFolder"] = "5.1"
 75066  }
 75067  
 75068  type StorageDrsCannotMoveVmInUserFolderFault StorageDrsCannotMoveVmInUserFolder
 75069  
 75070  func init() {
 75071  	t["StorageDrsCannotMoveVmInUserFolderFault"] = reflect.TypeOf((*StorageDrsCannotMoveVmInUserFolderFault)(nil)).Elem()
 75072  }
 75073  
 75074  // This fault is thrown because Storage DRS cannot generate recommendations
 75075  // to relocate VMs that have a CD-ROM device mounted.
 75076  type StorageDrsCannotMoveVmWithMountedCDROM struct {
 75077  	VimFault
 75078  }
 75079  
 75080  func init() {
 75081  	t["StorageDrsCannotMoveVmWithMountedCDROM"] = reflect.TypeOf((*StorageDrsCannotMoveVmWithMountedCDROM)(nil)).Elem()
 75082  	minAPIVersionForType["StorageDrsCannotMoveVmWithMountedCDROM"] = "5.1"
 75083  }
 75084  
 75085  type StorageDrsCannotMoveVmWithMountedCDROMFault StorageDrsCannotMoveVmWithMountedCDROM
 75086  
 75087  func init() {
 75088  	t["StorageDrsCannotMoveVmWithMountedCDROMFault"] = reflect.TypeOf((*StorageDrsCannotMoveVmWithMountedCDROMFault)(nil)).Elem()
 75089  }
 75090  
 75091  // This fault is thrown because Storage DRS cannot generate recommendations
 75092  // to relocate VMs that have no files in its file layout.
 75093  type StorageDrsCannotMoveVmWithNoFilesInLayout struct {
 75094  	VimFault
 75095  }
 75096  
 75097  func init() {
 75098  	t["StorageDrsCannotMoveVmWithNoFilesInLayout"] = reflect.TypeOf((*StorageDrsCannotMoveVmWithNoFilesInLayout)(nil)).Elem()
 75099  	minAPIVersionForType["StorageDrsCannotMoveVmWithNoFilesInLayout"] = "5.1"
 75100  }
 75101  
 75102  type StorageDrsCannotMoveVmWithNoFilesInLayoutFault StorageDrsCannotMoveVmWithNoFilesInLayout
 75103  
 75104  func init() {
 75105  	t["StorageDrsCannotMoveVmWithNoFilesInLayoutFault"] = reflect.TypeOf((*StorageDrsCannotMoveVmWithNoFilesInLayoutFault)(nil)).Elem()
 75106  }
 75107  
 75108  // The `StorageDrsConfigInfo` data object describes storage DRS configuration
 75109  // for a pod `StoragePod`.
 75110  type StorageDrsConfigInfo struct {
 75111  	DynamicData
 75112  
 75113  	// Pod-wide configuration of the storage DRS service.
 75114  	PodConfig StorageDrsPodConfigInfo `xml:"podConfig" json:"podConfig"`
 75115  	// List of virtual machine configurations for the storage DRS
 75116  	// service.
 75117  	//
 75118  	// Each entry applies to all the virtual disks of the virtual machine
 75119  	// on this pod.
 75120  	//
 75121  	// If a virtual machine is not specified in this array, the service uses
 75122  	// the default settings for that virtual machine.
 75123  	VmConfig []StorageDrsVmConfigInfo `xml:"vmConfig,omitempty" json:"vmConfig,omitempty"`
 75124  }
 75125  
 75126  func init() {
 75127  	t["StorageDrsConfigInfo"] = reflect.TypeOf((*StorageDrsConfigInfo)(nil)).Elem()
 75128  	minAPIVersionForType["StorageDrsConfigInfo"] = "5.0"
 75129  }
 75130  
 75131  // The `StorageDrsConfigSpec` data object provides a set of update
 75132  // specifications for storage DRS configuration.
 75133  //
 75134  // To support
 75135  // incremental changes, these properties are all optional.
 75136  type StorageDrsConfigSpec struct {
 75137  	DynamicData
 75138  
 75139  	// Changes to the configuration of the storage DRS service.
 75140  	PodConfigSpec *StorageDrsPodConfigSpec `xml:"podConfigSpec,omitempty" json:"podConfigSpec,omitempty"`
 75141  	// Changes to the per-virtual-machine storage DRS settings.
 75142  	VmConfigSpec []StorageDrsVmConfigSpec `xml:"vmConfigSpec,omitempty" json:"vmConfigSpec,omitempty"`
 75143  }
 75144  
 75145  func init() {
 75146  	t["StorageDrsConfigSpec"] = reflect.TypeOf((*StorageDrsConfigSpec)(nil)).Elem()
 75147  	minAPIVersionForType["StorageDrsConfigSpec"] = "5.0"
 75148  }
 75149  
 75150  // This fault is thrown when one datastore using Storage DRS is added to two
 75151  // different datacenters.
 75152  type StorageDrsDatacentersCannotShareDatastore struct {
 75153  	VimFault
 75154  }
 75155  
 75156  func init() {
 75157  	t["StorageDrsDatacentersCannotShareDatastore"] = reflect.TypeOf((*StorageDrsDatacentersCannotShareDatastore)(nil)).Elem()
 75158  	minAPIVersionForType["StorageDrsDatacentersCannotShareDatastore"] = "5.5"
 75159  }
 75160  
 75161  type StorageDrsDatacentersCannotShareDatastoreFault StorageDrsDatacentersCannotShareDatastore
 75162  
 75163  func init() {
 75164  	t["StorageDrsDatacentersCannotShareDatastoreFault"] = reflect.TypeOf((*StorageDrsDatacentersCannotShareDatastoreFault)(nil)).Elem()
 75165  }
 75166  
 75167  // This fault is thrown when Storage DRS cannot move disks of a virtual machine
 75168  // because Storage DRS is disabled on it.
 75169  type StorageDrsDisabledOnVm struct {
 75170  	VimFault
 75171  }
 75172  
 75173  func init() {
 75174  	t["StorageDrsDisabledOnVm"] = reflect.TypeOf((*StorageDrsDisabledOnVm)(nil)).Elem()
 75175  	minAPIVersionForType["StorageDrsDisabledOnVm"] = "5.0"
 75176  }
 75177  
 75178  type StorageDrsDisabledOnVmFault StorageDrsDisabledOnVm
 75179  
 75180  func init() {
 75181  	t["StorageDrsDisabledOnVmFault"] = reflect.TypeOf((*StorageDrsDisabledOnVmFault)(nil)).Elem()
 75182  }
 75183  
 75184  // This fault is thrown when HMS service cannot move certain secondary
 75185  // replica disks per Storage DRS move recommendations
 75186  type StorageDrsHbrDiskNotMovable struct {
 75187  	VimFault
 75188  
 75189  	// Comma-separated list of disk IDs that are not movable and failed
 75190  	// Storage DRS recommendation action.
 75191  	NonMovableDiskIds string `xml:"nonMovableDiskIds" json:"nonMovableDiskIds"`
 75192  }
 75193  
 75194  func init() {
 75195  	t["StorageDrsHbrDiskNotMovable"] = reflect.TypeOf((*StorageDrsHbrDiskNotMovable)(nil)).Elem()
 75196  	minAPIVersionForType["StorageDrsHbrDiskNotMovable"] = "6.0"
 75197  }
 75198  
 75199  type StorageDrsHbrDiskNotMovableFault StorageDrsHbrDiskNotMovable
 75200  
 75201  func init() {
 75202  	t["StorageDrsHbrDiskNotMovableFault"] = reflect.TypeOf((*StorageDrsHbrDiskNotMovableFault)(nil)).Elem()
 75203  }
 75204  
 75205  // This fault is thrown HMS service is in the process of moving
 75206  // a subset of disks for which Storage DRS recommendation is generated.
 75207  type StorageDrsHmsMoveInProgress struct {
 75208  	VimFault
 75209  }
 75210  
 75211  func init() {
 75212  	t["StorageDrsHmsMoveInProgress"] = reflect.TypeOf((*StorageDrsHmsMoveInProgress)(nil)).Elem()
 75213  	minAPIVersionForType["StorageDrsHmsMoveInProgress"] = "6.0"
 75214  }
 75215  
 75216  type StorageDrsHmsMoveInProgressFault StorageDrsHmsMoveInProgress
 75217  
 75218  func init() {
 75219  	t["StorageDrsHmsMoveInProgressFault"] = reflect.TypeOf((*StorageDrsHmsMoveInProgressFault)(nil)).Elem()
 75220  }
 75221  
 75222  // This fault is thrown when Storage DRS cannot connect to HMS service
 75223  // or HMS APIs invoked by Storage DRS error out due to connection issues.
 75224  type StorageDrsHmsUnreachable struct {
 75225  	VimFault
 75226  }
 75227  
 75228  func init() {
 75229  	t["StorageDrsHmsUnreachable"] = reflect.TypeOf((*StorageDrsHmsUnreachable)(nil)).Elem()
 75230  	minAPIVersionForType["StorageDrsHmsUnreachable"] = "6.0"
 75231  }
 75232  
 75233  type StorageDrsHmsUnreachableFault StorageDrsHmsUnreachable
 75234  
 75235  func init() {
 75236  	t["StorageDrsHmsUnreachableFault"] = reflect.TypeOf((*StorageDrsHmsUnreachableFault)(nil)).Elem()
 75237  }
 75238  
 75239  // Storage DRS configuration for I/O load balancing.
 75240  type StorageDrsIoLoadBalanceConfig struct {
 75241  	DynamicData
 75242  
 75243  	// Storage DRS makes storage migration recommendations if total
 75244  	// IOPs reservation of all VMs running on a datastore is higher than
 75245  	// the specified threshold.
 75246  	//
 75247  	// Storage DRS recommends migration out of
 75248  	// all such datastores, if more than one datastore exceed their reserved
 75249  	// IOPs threshold.
 75250  	//
 75251  	// The actual Iops used to determine threshold are computed from Storage
 75252  	// DRS estimation of IOPs capacity of a datastore. The absolute value
 75253  	// may change over time, according to storage response to workloads.
 75254  	//
 75255  	// The valid values are in the range of 30 (i.e., 30%) to 100 (i.e., 100%).
 75256  	// If not specified, the default value is 60%.
 75257  	ReservablePercentThreshold int32 `xml:"reservablePercentThreshold,omitempty" json:"reservablePercentThreshold,omitempty" vim:"6.0"`
 75258  	// Storage DRS makes storage migration recommendations if total
 75259  	// IOPs reservation of all VMs running on a datastore is higher than
 75260  	// the specified threshold.
 75261  	//
 75262  	// Storage DRS recommends migration out of
 75263  	// all such datastores, if more than one datastore exceed their reserved
 75264  	// IOPs threshold.
 75265  	//
 75266  	// This is an advanced option, and should only be used if Storage DRS
 75267  	// estimated IOPs capacity is incorrect for datastores. The value
 75268  	// should be based on conservative estimate of storage performance,
 75269  	// and ideally should be set to about 50-60% of worse case peak
 75270  	// performance of backing LUN.
 75271  	ReservableIopsThreshold int32 `xml:"reservableIopsThreshold,omitempty" json:"reservableIopsThreshold,omitempty" vim:"6.0"`
 75272  	// Determines which reservation threshold specification to use.
 75273  	//
 75274  	// See `StorageDrsPodConfigInfoBehavior_enum`. If unspecified, the
 75275  	// mode is assumed automatic by default. Storage DRS uses
 75276  	// percentage value in that case.
 75277  	// If mode is specified, but corresponding reservationThreshold
 75278  	// value is absent, option specific defaults are used.
 75279  	ReservableThresholdMode string `xml:"reservableThresholdMode,omitempty" json:"reservableThresholdMode,omitempty" vim:"6.0"`
 75280  	// Storage DRS makes storage migration recommendations if
 75281  	// I/O latency on one (or more) of the datastores is higher than
 75282  	// the specified threshold.
 75283  	//
 75284  	// Unit: millisecond.
 75285  	// The valid values are in the range of 5 to 100. If not specified,
 75286  	// the default value is 15.
 75287  	IoLatencyThreshold int32 `xml:"ioLatencyThreshold,omitempty" json:"ioLatencyThreshold,omitempty"`
 75288  	// Storage DRS makes storage migration recommendations if
 75289  	// I/O load imbalance level is higher than the specified threshold.
 75290  	//
 75291  	// Unit: a number.
 75292  	// The valid values are in the range of 1 to 100. If not specified,
 75293  	// the default value is 5.
 75294  	IoLoadImbalanceThreshold int32 `xml:"ioLoadImbalanceThreshold,omitempty" json:"ioLoadImbalanceThreshold,omitempty"`
 75295  }
 75296  
 75297  func init() {
 75298  	t["StorageDrsIoLoadBalanceConfig"] = reflect.TypeOf((*StorageDrsIoLoadBalanceConfig)(nil)).Elem()
 75299  	minAPIVersionForType["StorageDrsIoLoadBalanceConfig"] = "5.0"
 75300  }
 75301  
 75302  // The fault occurs when Storage DRS disables IO Load balancing internally
 75303  // even though it is enabled by the user.
 75304  //
 75305  // This can happen due to one of the
 75306  // following reasons:
 75307  // 1\. SIOC couldn't get enabled on at least one of the datastores
 75308  // 2\. The connectivity between hosts and datastores is not uniform for all datastores.
 75309  // 3\. Some statistics are not available to run IO load balancing
 75310  type StorageDrsIolbDisabledInternally struct {
 75311  	VimFault
 75312  }
 75313  
 75314  func init() {
 75315  	t["StorageDrsIolbDisabledInternally"] = reflect.TypeOf((*StorageDrsIolbDisabledInternally)(nil)).Elem()
 75316  	minAPIVersionForType["StorageDrsIolbDisabledInternally"] = "5.0"
 75317  }
 75318  
 75319  type StorageDrsIolbDisabledInternallyFault StorageDrsIolbDisabledInternally
 75320  
 75321  func init() {
 75322  	t["StorageDrsIolbDisabledInternallyFault"] = reflect.TypeOf((*StorageDrsIolbDisabledInternallyFault)(nil)).Elem()
 75323  }
 75324  
 75325  // An incremental update to the advance settings.
 75326  type StorageDrsOptionSpec struct {
 75327  	ArrayUpdateSpec
 75328  
 75329  	Option BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 75330  }
 75331  
 75332  func init() {
 75333  	t["StorageDrsOptionSpec"] = reflect.TypeOf((*StorageDrsOptionSpec)(nil)).Elem()
 75334  	minAPIVersionForType["StorageDrsOptionSpec"] = "5.0"
 75335  }
 75336  
 75337  type StorageDrsPlacementRankVmSpec struct {
 75338  	DynamicData
 75339  
 75340  	// Individual VM placement specification for ranking clusters
 75341  	VmPlacementSpec PlacementSpec `xml:"vmPlacementSpec" json:"vmPlacementSpec"`
 75342  	// Set of candidate clusters for the placement request
 75343  	//
 75344  	// Refers instances of `ClusterComputeResource`.
 75345  	VmClusters []ManagedObjectReference `xml:"vmClusters" json:"vmClusters"`
 75346  }
 75347  
 75348  func init() {
 75349  	t["StorageDrsPlacementRankVmSpec"] = reflect.TypeOf((*StorageDrsPlacementRankVmSpec)(nil)).Elem()
 75350  }
 75351  
 75352  // The `StorageDrsPodConfigInfo` data object contains pod-wide configuration information
 75353  // for the storage DRS service.
 75354  type StorageDrsPodConfigInfo struct {
 75355  	DynamicData
 75356  
 75357  	// Flag indicating whether or not storage DRS is enabled.
 75358  	Enabled bool `xml:"enabled" json:"enabled"`
 75359  	// Flag indicating whether or not storage DRS takes into account storage I/O
 75360  	// workload when making load balancing and initial placement recommendations.
 75361  	IoLoadBalanceEnabled bool `xml:"ioLoadBalanceEnabled" json:"ioLoadBalanceEnabled"`
 75362  	// Specifies the pod-wide default storage DRS behavior for virtual machines.
 75363  	//
 75364  	// For currently supported storage DRS behavior, see `StorageDrsPodConfigInfoBehavior_enum`.
 75365  	// You can override the default behavior for a virtual machine
 75366  	// by using the `StorageDrsVmConfigInfo` object.
 75367  	DefaultVmBehavior string `xml:"defaultVmBehavior" json:"defaultVmBehavior"`
 75368  	// Specify the interval that storage DRS runs to load balance among datastores
 75369  	// within a storage pod.
 75370  	//
 75371  	// Unit: minute.
 75372  	// The valid values are from 60 (1 hour) to 43200 (30 days).
 75373  	// If not specified, the default value is 480 (8 hours).
 75374  	LoadBalanceInterval int32 `xml:"loadBalanceInterval,omitempty" json:"loadBalanceInterval,omitempty"`
 75375  	// Specifies whether or not each virtual machine in this pod should have its virtual
 75376  	// disks on the same datastore by default.
 75377  	//
 75378  	// If set to true, virtual machines will have
 75379  	// all their virtual disks on the same datastore. If set to false, the virtual disks
 75380  	// of a virtual machine may or may not be placed on the same datastore.
 75381  	// If not set, the default value is true.
 75382  	// You can override the default behavior for a virtual machine
 75383  	// by using the `StorageDrsVmConfigInfo` object.
 75384  	DefaultIntraVmAffinity *bool `xml:"defaultIntraVmAffinity" json:"defaultIntraVmAffinity,omitempty"`
 75385  	// The configuration settings for load balancing storage space.
 75386  	SpaceLoadBalanceConfig *StorageDrsSpaceLoadBalanceConfig `xml:"spaceLoadBalanceConfig,omitempty" json:"spaceLoadBalanceConfig,omitempty"`
 75387  	// The configuration settings for load balancing I/O workload.
 75388  	//
 75389  	// This takes effect only if `StorageDrsPodConfigInfo.ioLoadBalanceEnabled` is <code>true</code>.
 75390  	IoLoadBalanceConfig *StorageDrsIoLoadBalanceConfig `xml:"ioLoadBalanceConfig,omitempty" json:"ioLoadBalanceConfig,omitempty"`
 75391  	// Configuration settings for fine-grain automation overrides on
 75392  	// the cluster level setting.
 75393  	AutomationOverrides *StorageDrsAutomationConfig `xml:"automationOverrides,omitempty" json:"automationOverrides,omitempty" vim:"6.0"`
 75394  	// Pod-wide rules.
 75395  	Rule []BaseClusterRuleInfo `xml:"rule,omitempty,typeattr" json:"rule,omitempty"`
 75396  	// Advanced settings.
 75397  	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 75398  }
 75399  
 75400  func init() {
 75401  	t["StorageDrsPodConfigInfo"] = reflect.TypeOf((*StorageDrsPodConfigInfo)(nil)).Elem()
 75402  	minAPIVersionForType["StorageDrsPodConfigInfo"] = "5.0"
 75403  }
 75404  
 75405  // The `StorageDrsPodConfigSpec` data object provides a set of update
 75406  // specifications for pod-wide storage DRS configuration.
 75407  //
 75408  // To support
 75409  // incremental changes, these properties are all optional.
 75410  type StorageDrsPodConfigSpec struct {
 75411  	DynamicData
 75412  
 75413  	// Flag indicating whether or not storage DRS is enabled.
 75414  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 75415  	// Flag indicating whether or not storage DRS takes into account storage I/O
 75416  	// workload when making load balancing and initial placement recommendations.
 75417  	IoLoadBalanceEnabled *bool `xml:"ioLoadBalanceEnabled" json:"ioLoadBalanceEnabled,omitempty"`
 75418  	// Specifies the pod-wide default storage DRS behavior for virtual machines.
 75419  	//
 75420  	// For currently supported storage DRS behavior, see `StorageDrsPodConfigInfoBehavior_enum`.
 75421  	// You can override the default behavior for a virtual machine
 75422  	// by using the `StorageDrsVmConfigInfo` object.
 75423  	DefaultVmBehavior string `xml:"defaultVmBehavior,omitempty" json:"defaultVmBehavior,omitempty"`
 75424  	// Specify the interval that storage DRS runs to load balance among datastores
 75425  	// within a storage pod.
 75426  	LoadBalanceInterval int32 `xml:"loadBalanceInterval,omitempty" json:"loadBalanceInterval,omitempty"`
 75427  	// Specifies whether or not each virtual machine in this pod should have its virtual
 75428  	// disks on the same datastore by default.
 75429  	DefaultIntraVmAffinity *bool `xml:"defaultIntraVmAffinity" json:"defaultIntraVmAffinity,omitempty"`
 75430  	// The configuration settings for load balancing storage space.
 75431  	SpaceLoadBalanceConfig *StorageDrsSpaceLoadBalanceConfig `xml:"spaceLoadBalanceConfig,omitempty" json:"spaceLoadBalanceConfig,omitempty"`
 75432  	// The configuration settings for load balancing I/O workload.
 75433  	//
 75434  	// This takes effect only if `StorageDrsPodConfigInfo.ioLoadBalanceEnabled` is <code>true</code>.
 75435  	IoLoadBalanceConfig *StorageDrsIoLoadBalanceConfig `xml:"ioLoadBalanceConfig,omitempty" json:"ioLoadBalanceConfig,omitempty"`
 75436  	// Configuration settings for fine-grain automation overrides on
 75437  	// the cluster level setting.
 75438  	AutomationOverrides *StorageDrsAutomationConfig `xml:"automationOverrides,omitempty" json:"automationOverrides,omitempty" vim:"6.0"`
 75439  	// Changes to the set of rules.
 75440  	Rule []ClusterRuleSpec `xml:"rule,omitempty" json:"rule,omitempty"`
 75441  	// Changes to advance settings.
 75442  	Option []StorageDrsOptionSpec `xml:"option,omitempty" json:"option,omitempty"`
 75443  }
 75444  
 75445  func init() {
 75446  	t["StorageDrsPodConfigSpec"] = reflect.TypeOf((*StorageDrsPodConfigSpec)(nil)).Elem()
 75447  	minAPIVersionForType["StorageDrsPodConfigSpec"] = "5.0"
 75448  }
 75449  
 75450  // Specification for moving or copying a virtual machine to a different Storage Pod.
 75451  type StorageDrsPodSelectionSpec struct {
 75452  	DynamicData
 75453  
 75454  	// An optional list that allows specifying the storage pod location
 75455  	// for each virtual disk and the VM configurations and overrides to be
 75456  	// used during placement.
 75457  	InitialVmConfig []VmPodConfigForPlacement `xml:"initialVmConfig,omitempty" json:"initialVmConfig,omitempty"`
 75458  	// The storage pod where the virtual machine should be located.
 75459  	//
 75460  	// Refers instance of `StoragePod`.
 75461  	StoragePod *ManagedObjectReference `xml:"storagePod,omitempty" json:"storagePod,omitempty"`
 75462  }
 75463  
 75464  func init() {
 75465  	t["StorageDrsPodSelectionSpec"] = reflect.TypeOf((*StorageDrsPodSelectionSpec)(nil)).Elem()
 75466  	minAPIVersionForType["StorageDrsPodSelectionSpec"] = "5.0"
 75467  }
 75468  
 75469  // This fault is thrown when Storage DRS cannot move disks of a virtual machine
 75470  // because the relocate method of the virtual machine is disabled.
 75471  type StorageDrsRelocateDisabled struct {
 75472  	VimFault
 75473  }
 75474  
 75475  func init() {
 75476  	t["StorageDrsRelocateDisabled"] = reflect.TypeOf((*StorageDrsRelocateDisabled)(nil)).Elem()
 75477  	minAPIVersionForType["StorageDrsRelocateDisabled"] = "6.0"
 75478  }
 75479  
 75480  type StorageDrsRelocateDisabledFault StorageDrsRelocateDisabled
 75481  
 75482  func init() {
 75483  	t["StorageDrsRelocateDisabledFault"] = reflect.TypeOf((*StorageDrsRelocateDisabledFault)(nil)).Elem()
 75484  }
 75485  
 75486  // Storage DRS configuration for space load balancing.
 75487  type StorageDrsSpaceLoadBalanceConfig struct {
 75488  	DynamicData
 75489  
 75490  	SpaceThresholdMode string `xml:"spaceThresholdMode,omitempty" json:"spaceThresholdMode,omitempty"`
 75491  	// Storage DRS makes storage migration recommendations if
 75492  	// space utilization on one (or more) of the datastores is higher than
 75493  	// the specified threshold.
 75494  	//
 75495  	// The valid values are in the range of 50 (i.e., 50%) to 100 (i.e., 100%).
 75496  	// If not specified, the default value is 80%.
 75497  	SpaceUtilizationThreshold int32 `xml:"spaceUtilizationThreshold,omitempty" json:"spaceUtilizationThreshold,omitempty"`
 75498  	// Storage DRS makes storage migration recommendations if
 75499  	// free space on one (or more) of the datastores falls below
 75500  	// the specified threshold.
 75501  	//
 75502  	// The unit is in gigabytes and the minimum value is 1GB.
 75503  	// The maximum value is limited by the capacity of the smallest
 75504  	// datastore in a datastore cluster.
 75505  	// If not specified, the default value is 50GB.
 75506  	FreeSpaceThresholdGB int32 `xml:"freeSpaceThresholdGB,omitempty" json:"freeSpaceThresholdGB,omitempty" vim:"6.0"`
 75507  	// Storage DRS considers making storage migration recommendations if
 75508  	// the difference in space utilization between the source and destination datastores
 75509  	// is higher than the specified threshold.
 75510  	//
 75511  	// The valid values are in the range of 1 (i.e., 1%) to 50 (i.e., 50%).
 75512  	// If not specified, the default value is 5%.
 75513  	MinSpaceUtilizationDifference int32 `xml:"minSpaceUtilizationDifference,omitempty" json:"minSpaceUtilizationDifference,omitempty"`
 75514  }
 75515  
 75516  func init() {
 75517  	t["StorageDrsSpaceLoadBalanceConfig"] = reflect.TypeOf((*StorageDrsSpaceLoadBalanceConfig)(nil)).Elem()
 75518  	minAPIVersionForType["StorageDrsSpaceLoadBalanceConfig"] = "5.0"
 75519  }
 75520  
 75521  // This fault is thrown when Storage DRS action for relocating
 75522  // HMS collection of replica disks does not correspond to current
 75523  // HMS inventory configuration and hence, is rejected by HMS service.
 75524  type StorageDrsStaleHmsCollection struct {
 75525  	VimFault
 75526  }
 75527  
 75528  func init() {
 75529  	t["StorageDrsStaleHmsCollection"] = reflect.TypeOf((*StorageDrsStaleHmsCollection)(nil)).Elem()
 75530  	minAPIVersionForType["StorageDrsStaleHmsCollection"] = "6.0"
 75531  }
 75532  
 75533  type StorageDrsStaleHmsCollectionFault StorageDrsStaleHmsCollection
 75534  
 75535  func init() {
 75536  	t["StorageDrsStaleHmsCollectionFault"] = reflect.TypeOf((*StorageDrsStaleHmsCollectionFault)(nil)).Elem()
 75537  }
 75538  
 75539  // This fault is thrown when Storage DRS cannot generate recommendations
 75540  // to move VM files due to pre-existing cross datastore disk backings.
 75541  type StorageDrsUnableToMoveFiles struct {
 75542  	VimFault
 75543  }
 75544  
 75545  func init() {
 75546  	t["StorageDrsUnableToMoveFiles"] = reflect.TypeOf((*StorageDrsUnableToMoveFiles)(nil)).Elem()
 75547  	minAPIVersionForType["StorageDrsUnableToMoveFiles"] = "5.1"
 75548  }
 75549  
 75550  type StorageDrsUnableToMoveFilesFault StorageDrsUnableToMoveFiles
 75551  
 75552  func init() {
 75553  	t["StorageDrsUnableToMoveFilesFault"] = reflect.TypeOf((*StorageDrsUnableToMoveFilesFault)(nil)).Elem()
 75554  }
 75555  
 75556  // Storage DRS configuration for a single virtual machine.
 75557  //
 75558  // This makes it
 75559  // possible to override the default behavior for an individual virtual machine.
 75560  type StorageDrsVmConfigInfo struct {
 75561  	DynamicData
 75562  
 75563  	// Reference to the virtual machine.
 75564  	//
 75565  	// Can be NULL during initial placement.
 75566  	//
 75567  	// Refers instance of `VirtualMachine`.
 75568  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 75569  	// Flag to indicate whether or not VirtualCenter is allowed to perform any
 75570  	// storage migration or initial placement recommendations for this virtual
 75571  	// machine on the pod `StoragePod`.
 75572  	//
 75573  	// If this flag is false, the virtual machine is effectively excluded from
 75574  	// storage DRS.
 75575  	//
 75576  	// If no individual DRS specification exists for a virtual machine,
 75577  	// this property defaults to true.
 75578  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 75579  	// Specifies the particular storage DRS behavior for this virtual machine.
 75580  	//
 75581  	// For supported values, see `StorageDrsPodConfigInfoBehavior_enum`.
 75582  	Behavior string `xml:"behavior,omitempty" json:"behavior,omitempty"`
 75583  	// Specifies whether or not to have the affinity rule for the virtual disks
 75584  	// of this virtual machine.
 75585  	//
 75586  	// If not set, the default value is derived from
 75587  	// the pod-wide default `StorageDrsPodConfigInfo.defaultIntraVmAffinity`.
 75588  	IntraVmAffinity *bool `xml:"intraVmAffinity" json:"intraVmAffinity,omitempty"`
 75589  	// Deprecated as of vSphere API 7.0.
 75590  	//
 75591  	// Specifies the disks for this virtual machine that should be placed
 75592  	// on different datastores.
 75593  	//
 75594  	// A VM cannot have both an affinity and an
 75595  	// anti-affinity rule at the same time. Virtual machine disks that are
 75596  	// not in this rule are unconstrained and can be placed either on the
 75597  	// same datastore or on a different datastore as other disks from this
 75598  	// virtual machine.
 75599  	IntraVmAntiAffinity *VirtualDiskAntiAffinityRuleSpec `xml:"intraVmAntiAffinity,omitempty" json:"intraVmAntiAffinity,omitempty"`
 75600  	// List of the virtual disk rules that can be overridden/created.
 75601  	VirtualDiskRules []VirtualDiskRuleSpec `xml:"virtualDiskRules,omitempty" json:"virtualDiskRules,omitempty" vim:"6.7"`
 75602  }
 75603  
 75604  func init() {
 75605  	t["StorageDrsVmConfigInfo"] = reflect.TypeOf((*StorageDrsVmConfigInfo)(nil)).Elem()
 75606  	minAPIVersionForType["StorageDrsVmConfigInfo"] = "5.0"
 75607  }
 75608  
 75609  // Updates the per-virtual-machine storage DRS configuration.
 75610  type StorageDrsVmConfigSpec struct {
 75611  	ArrayUpdateSpec
 75612  
 75613  	Info *StorageDrsVmConfigInfo `xml:"info,omitempty" json:"info,omitempty"`
 75614  }
 75615  
 75616  func init() {
 75617  	t["StorageDrsVmConfigSpec"] = reflect.TypeOf((*StorageDrsVmConfigSpec)(nil)).Elem()
 75618  	minAPIVersionForType["StorageDrsVmConfigSpec"] = "5.0"
 75619  }
 75620  
 75621  // The IOAllocationInfo specifies the shares, limit and reservation
 75622  // for storage I/O resource.
 75623  //
 75624  // The storage I/O resource is allocated to virtual machines based on their
 75625  // shares, limit and reservation. The reservation is currently exposed only
 75626  // at the host level for local and shared datastores.
 75627  // We do not support storage I/O resource management on resource pools.
 75628  //
 75629  // Each virtual machine has one IOAllocationInfo object per virtual
 75630  // disk. For example, we can specify that a virtual machine has 500 shares
 75631  // on the first virtual disk, 1000 shares on the second virtual disk, etc.
 75632  type StorageIOAllocationInfo struct {
 75633  	DynamicData
 75634  
 75635  	// The utilization of a virtual machine will not exceed this limit, even
 75636  	// if there are available resources.
 75637  	//
 75638  	// This is typically used to ensure a consistent
 75639  	// performance of virtual machines independent of available resources.
 75640  	// If set to -1, then there is no fixed limit on resource usage (only
 75641  	// bounded by available resources and shares). The unit is number of
 75642  	// I/O per second.
 75643  	// While setting the limit for storage I/O resource, if the property is unset,
 75644  	// it is treated as no change and the property is not updated. While reading
 75645  	// back the limit information of storage I/O resource, if the property is unset,
 75646  	// a default value of -1 will be returned, which indicates that there is no
 75647  	// limit on resource usage.
 75648  	Limit *int64 `xml:"limit" json:"limit,omitempty"`
 75649  	// Shares are used in case of resource contention.
 75650  	//
 75651  	// The value should be within a range of 200 to 4000.
 75652  	// While setting shares for storage I/O resource, if the property is unset,
 75653  	// it is treated as no change and the property is not updated. While reading
 75654  	// back the shares information of storage I/O resource, if the property is unset,
 75655  	// a default value of `SharesInfo.level` = normal,
 75656  	// `SharesInfo.shares` = 1000 will be returned.
 75657  	Shares *SharesInfo `xml:"shares,omitempty" json:"shares,omitempty"`
 75658  	// Reservation control is used to provide guaranteed allocation in terms
 75659  	// of IOPS.
 75660  	//
 75661  	// Large IO sizes are considered as multiple IOs using a chunk
 75662  	// size of 32 KB as default. This control is initially supported only
 75663  	// at host level for local datastores. It future, it may get supported
 75664  	// on shared storage based on integration with Storage IO Control.
 75665  	// Also right now we don't do any admission control based on IO
 75666  	// reservation values.
 75667  	Reservation *int32 `xml:"reservation" json:"reservation,omitempty" vim:"5.5"`
 75668  }
 75669  
 75670  func init() {
 75671  	t["StorageIOAllocationInfo"] = reflect.TypeOf((*StorageIOAllocationInfo)(nil)).Elem()
 75672  	minAPIVersionForType["StorageIOAllocationInfo"] = "4.1"
 75673  }
 75674  
 75675  // The IOAllocationOption specifies value ranges that can be used
 75676  // to initialize `StorageIOAllocationInfo` object.
 75677  type StorageIOAllocationOption struct {
 75678  	DynamicData
 75679  
 75680  	// limitOptions defines a range of values allowed to be used for
 75681  	// storage IO limit `StorageIOAllocationInfo.limit`.
 75682  	LimitOption LongOption `xml:"limitOption" json:"limitOption"`
 75683  	// sharesOption defines a range of values allowed to be used to
 75684  	// specify allocated io shares `StorageIOAllocationInfo.shares`.
 75685  	SharesOption SharesOption `xml:"sharesOption" json:"sharesOption"`
 75686  }
 75687  
 75688  func init() {
 75689  	t["StorageIOAllocationOption"] = reflect.TypeOf((*StorageIOAllocationOption)(nil)).Elem()
 75690  	minAPIVersionForType["StorageIOAllocationOption"] = "4.1"
 75691  }
 75692  
 75693  // Configuration setting ranges for `StorageIORMConfigSpec` object.
 75694  type StorageIORMConfigOption struct {
 75695  	DynamicData
 75696  
 75697  	// enabledOption provides default state value for
 75698  	// `StorageIORMConfigSpec.enabled`
 75699  	EnabledOption BoolOption `xml:"enabledOption" json:"enabledOption"`
 75700  	// congestionThresholdOption defines value range which can be used for
 75701  	// `StorageIORMConfigSpec.congestionThreshold`
 75702  	CongestionThresholdOption IntOption `xml:"congestionThresholdOption" json:"congestionThresholdOption"`
 75703  	// statsCollectionEnabledOption provides default value for
 75704  	// `StorageIORMConfigSpec.statsCollectionEnabled`
 75705  	StatsCollectionEnabledOption *BoolOption `xml:"statsCollectionEnabledOption,omitempty" json:"statsCollectionEnabledOption,omitempty" vim:"5.0"`
 75706  	// reservationEnabledOption provides default value for
 75707  	// `StorageIORMConfigSpec.reservationEnabled`
 75708  	ReservationEnabledOption *BoolOption `xml:"reservationEnabledOption,omitempty" json:"reservationEnabledOption,omitempty" vim:"6.0"`
 75709  }
 75710  
 75711  func init() {
 75712  	t["StorageIORMConfigOption"] = reflect.TypeOf((*StorageIORMConfigOption)(nil)).Elem()
 75713  	minAPIVersionForType["StorageIORMConfigOption"] = "4.1"
 75714  }
 75715  
 75716  // Configuration settings used for creating or reconfiguring
 75717  // storage I/O resource management.
 75718  //
 75719  // All fields are defined as optional. If a field is unset,
 75720  // the property is not changed.
 75721  type StorageIORMConfigSpec struct {
 75722  	DynamicData
 75723  
 75724  	// Flag indicating whether or not the service is enabled.
 75725  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 75726  	// Mode of congestion threshold specification
 75727  	// For more information, see
 75728  	// `StorageIORMThresholdMode_enum`
 75729  	CongestionThresholdMode string `xml:"congestionThresholdMode,omitempty" json:"congestionThresholdMode,omitempty" vim:"5.1"`
 75730  	// The latency beyond which the storage array is considered congested.
 75731  	//
 75732  	// For more information, see
 75733  	// `StorageIORMInfo.congestionThreshold`
 75734  	CongestionThreshold int32 `xml:"congestionThreshold,omitempty" json:"congestionThreshold,omitempty"`
 75735  	// The percentage of peak throughput to be used for setting threshold latency
 75736  	// of a datastore.
 75737  	//
 75738  	// Valid values are between 50 to 100.
 75739  	//
 75740  	// For more information, see
 75741  	// `StorageIORMInfo.congestionThreshold`
 75742  	PercentOfPeakThroughput int32 `xml:"percentOfPeakThroughput,omitempty" json:"percentOfPeakThroughput,omitempty" vim:"5.1"`
 75743  	// Flag indicating whether the service is enabled in stats collection mode.
 75744  	StatsCollectionEnabled *bool `xml:"statsCollectionEnabled" json:"statsCollectionEnabled,omitempty" vim:"5.0"`
 75745  	// Flag indicating whether IO reservations support is enabled.
 75746  	ReservationEnabled *bool `xml:"reservationEnabled" json:"reservationEnabled,omitempty" vim:"6.0"`
 75747  	// Flag indicating whether stats aggregation is disabled.
 75748  	StatsAggregationDisabled *bool `xml:"statsAggregationDisabled" json:"statsAggregationDisabled,omitempty" vim:"5.0"`
 75749  	// Storage DRS makes storage migration recommendations
 75750  	// if total IOPs reservation for all VMs running on the
 75751  	// datastore is higher than specified threshold value.
 75752  	//
 75753  	// This value (if present) overrides
 75754  	ReservableIopsThreshold int32 `xml:"reservableIopsThreshold,omitempty" json:"reservableIopsThreshold,omitempty" vim:"6.0"`
 75755  }
 75756  
 75757  func init() {
 75758  	t["StorageIORMConfigSpec"] = reflect.TypeOf((*StorageIORMConfigSpec)(nil)).Elem()
 75759  	minAPIVersionForType["StorageIORMConfigSpec"] = "4.1"
 75760  }
 75761  
 75762  // Configuration of storage I/O resource management.
 75763  type StorageIORMInfo struct {
 75764  	DynamicData
 75765  
 75766  	// Flag indicating whether or not the service is enabled.
 75767  	Enabled bool `xml:"enabled" json:"enabled"`
 75768  	// Mode of congestion threshold specification
 75769  	// For more information, see
 75770  	// `StorageIORMThresholdMode_enum`
 75771  	CongestionThresholdMode string `xml:"congestionThresholdMode,omitempty" json:"congestionThresholdMode,omitempty" vim:"5.1"`
 75772  	// The latency beyond which the storage array is considered congested.
 75773  	//
 75774  	// If storage I/O resource management is enabled on a datastore,
 75775  	// the algorithm tries to maintain the latency to be below or
 75776  	// close to this value. The unit is millisecond. The range of
 75777  	// this value is between 5 to 100 milliseconds.
 75778  	CongestionThreshold int32 `xml:"congestionThreshold" json:"congestionThreshold"`
 75779  	// The percentage of peak throughput to be used for setting congestion threshold
 75780  	// of a datastore.
 75781  	//
 75782  	// Valid values are between 50 to 100. Default value is 90%
 75783  	//
 75784  	// For more information, see
 75785  	// `StorageIORMInfo.congestionThreshold`
 75786  	PercentOfPeakThroughput int32 `xml:"percentOfPeakThroughput,omitempty" json:"percentOfPeakThroughput,omitempty" vim:"5.1"`
 75787  	// Deprecated as of vSphere API 6.5, use `StorageIORMInfo.enabled` instead.
 75788  	//
 75789  	// Flag indicating whether service is running in stats collection mode.
 75790  	StatsCollectionEnabled *bool `xml:"statsCollectionEnabled" json:"statsCollectionEnabled,omitempty" vim:"5.0"`
 75791  	// Flag indicating whether IO reservations support is enabled.
 75792  	ReservationEnabled *bool `xml:"reservationEnabled" json:"reservationEnabled,omitempty" vim:"6.0"`
 75793  	// Flag indicating whether stats aggregation is disabled.
 75794  	StatsAggregationDisabled *bool `xml:"statsAggregationDisabled" json:"statsAggregationDisabled,omitempty" vim:"5.0"`
 75795  	// Storage DRS makes storage migration recommendations
 75796  	// if total IOPs reservation for all VMs running on the
 75797  	// datastore is higher than specified threshold value.
 75798  	//
 75799  	// This value (if present) overrides
 75800  	ReservableIopsThreshold int32 `xml:"reservableIopsThreshold,omitempty" json:"reservableIopsThreshold,omitempty" vim:"6.0"`
 75801  }
 75802  
 75803  func init() {
 75804  	t["StorageIORMInfo"] = reflect.TypeOf((*StorageIORMInfo)(nil)).Elem()
 75805  	minAPIVersionForType["StorageIORMInfo"] = "4.1"
 75806  }
 75807  
 75808  // Describes a single storage migration action.
 75809  //
 75810  // The storage migration
 75811  // action applies either to a virtual machine or a set of virtual disks.
 75812  type StorageMigrationAction struct {
 75813  	ClusterAction
 75814  
 75815  	// Virtual machine reference.
 75816  	//
 75817  	// Refers instance of `VirtualMachine`.
 75818  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 75819  	// Specification for moving a virtual machine or a set of virtual disks
 75820  	// to a different datastore.
 75821  	RelocateSpec VirtualMachineRelocateSpec `xml:"relocateSpec" json:"relocateSpec"`
 75822  	// Source datastore.
 75823  	//
 75824  	// Refers instance of `Datastore`.
 75825  	Source ManagedObjectReference `xml:"source" json:"source"`
 75826  	// Destination datastore.
 75827  	//
 75828  	// Refers instance of `Datastore`.
 75829  	Destination ManagedObjectReference `xml:"destination" json:"destination"`
 75830  	// The amount of data to be transferred.
 75831  	//
 75832  	// Unit: KB.
 75833  	SizeTransferred int64 `xml:"sizeTransferred" json:"sizeTransferred"`
 75834  	// Space utilization on the source datastore before storage migration.
 75835  	//
 75836  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 75837  	// If not set, the value is not available.
 75838  	SpaceUtilSrcBefore float32 `xml:"spaceUtilSrcBefore,omitempty" json:"spaceUtilSrcBefore,omitempty"`
 75839  	// Space utilization on the destination datastore before storage migration.
 75840  	//
 75841  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 75842  	// If not set, the value is not available.
 75843  	SpaceUtilDstBefore float32 `xml:"spaceUtilDstBefore,omitempty" json:"spaceUtilDstBefore,omitempty"`
 75844  	// Expected space utilization on the source datastore after storage migration.
 75845  	//
 75846  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 75847  	// If not set, the value is not available.
 75848  	SpaceUtilSrcAfter float32 `xml:"spaceUtilSrcAfter,omitempty" json:"spaceUtilSrcAfter,omitempty"`
 75849  	// Expected space utilization on the destination datastore after storage migration.
 75850  	//
 75851  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 75852  	// If not set, the value is not available.
 75853  	SpaceUtilDstAfter float32 `xml:"spaceUtilDstAfter,omitempty" json:"spaceUtilDstAfter,omitempty"`
 75854  	// I/O latency on the source datastore before storage migration.
 75855  	//
 75856  	// Unit: millisecond.
 75857  	// If not set, the value is not available.
 75858  	IoLatencySrcBefore float32 `xml:"ioLatencySrcBefore,omitempty" json:"ioLatencySrcBefore,omitempty"`
 75859  	// I/O latency on the destination datastore before storage migration.
 75860  	//
 75861  	// Unit: millisecond.
 75862  	// If not set, the value is not available.
 75863  	IoLatencyDstBefore float32 `xml:"ioLatencyDstBefore,omitempty" json:"ioLatencyDstBefore,omitempty"`
 75864  }
 75865  
 75866  func init() {
 75867  	t["StorageMigrationAction"] = reflect.TypeOf((*StorageMigrationAction)(nil)).Elem()
 75868  	minAPIVersionForType["StorageMigrationAction"] = "5.0"
 75869  }
 75870  
 75871  // Summary statistics for datastore performance
 75872  // The statistics are reported in aggregated quantiles over a time period
 75873  type StoragePerformanceSummary struct {
 75874  	DynamicData
 75875  
 75876  	// Time period over which statistics are aggregated
 75877  	// The reported time unit is in seconds
 75878  	Interval int32 `xml:"interval" json:"interval"`
 75879  	// Metric percentile specification.
 75880  	//
 75881  	// A percentile is a value
 75882  	// between 1 and 100. The metric value reported in the
 75883  	// aggregated statistics corresponds with the percentile values
 75884  	// in this field. For example, if the value of percentile\[0\] is
 75885  	// P, and the value of the datastoreReadLatency\[0\] is L, then
 75886  	// P% of all the read IOs performed during observation interval
 75887  	// is less than L milliseconds.
 75888  	Percentile []int32 `xml:"percentile" json:"percentile"`
 75889  	// Aggregated datastore latency in milliseconds for read operations
 75890  	DatastoreReadLatency []float64 `xml:"datastoreReadLatency" json:"datastoreReadLatency"`
 75891  	// Aggregated datastore latency in milliseconds for write operations
 75892  	DatastoreWriteLatency []float64 `xml:"datastoreWriteLatency" json:"datastoreWriteLatency"`
 75893  	// Aggregated datastore latency as observed by Vms using the datastore
 75894  	// The reported latency is in milliseconds.
 75895  	DatastoreVmLatency []float64 `xml:"datastoreVmLatency" json:"datastoreVmLatency"`
 75896  	// Aggregated datastore Read IO rate (Reads/second)
 75897  	DatastoreReadIops []float64 `xml:"datastoreReadIops" json:"datastoreReadIops"`
 75898  	// Aggregated datastore Write IO rate (Writes/second)
 75899  	DatastoreWriteIops []float64 `xml:"datastoreWriteIops" json:"datastoreWriteIops"`
 75900  	// Cumulative SIOC activity to satisfy SIOC latency threshold
 75901  	// setting.
 75902  	//
 75903  	// This metric indicates the total time that SIOC is
 75904  	// actively throttling IO requests. The SIOC throttling
 75905  	// activity occurs whenever the datastore latency exceeds the
 75906  	// SIOC latency threshold. If SIOC is not enabled on the
 75907  	// datastore, the metric indicates the total time that SIOC
 75908  	// would have been active. The unit of reporting is in
 75909  	// milliseconds.
 75910  	SiocActivityDuration int32 `xml:"siocActivityDuration" json:"siocActivityDuration"`
 75911  }
 75912  
 75913  func init() {
 75914  	t["StoragePerformanceSummary"] = reflect.TypeOf((*StoragePerformanceSummary)(nil)).Elem()
 75915  	minAPIVersionForType["StoragePerformanceSummary"] = "5.1"
 75916  }
 75917  
 75918  // Describes a single storage initial placement action for placing a virtual
 75919  // machine or a set of virtual disks on a datastore.
 75920  type StoragePlacementAction struct {
 75921  	ClusterAction
 75922  
 75923  	// Virtual machine reference.
 75924  	//
 75925  	// It is possible that the VM has not been created, in which case,
 75926  	// this property is left unset.
 75927  	//
 75928  	// Refers instance of `VirtualMachine`.
 75929  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 75930  	// Specification for placing a virtual machine or a set of virtual disks
 75931  	// to a datastore.
 75932  	RelocateSpec VirtualMachineRelocateSpec `xml:"relocateSpec" json:"relocateSpec"`
 75933  	// Target datastore.
 75934  	//
 75935  	// Refers instance of `Datastore`.
 75936  	Destination ManagedObjectReference `xml:"destination" json:"destination"`
 75937  	// Current space utilization on the target datastore.
 75938  	//
 75939  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 75940  	// If not set, the value is not available.
 75941  	SpaceUtilBefore float32 `xml:"spaceUtilBefore,omitempty" json:"spaceUtilBefore,omitempty"`
 75942  	// Current space demand on the target datastore.
 75943  	//
 75944  	// Unit: percentage. For example, if set to 70.0, space demand is 70%. This
 75945  	// value include the space demanded by thin provisioned VMs. Hence, it may
 75946  	// be higher than 100%. If not set, the value is not available.
 75947  	SpaceDemandBefore float32 `xml:"spaceDemandBefore,omitempty" json:"spaceDemandBefore,omitempty" vim:"6.0"`
 75948  	// Space utilization on the target datastore after placing the virtual disk.
 75949  	//
 75950  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 75951  	// If not set, the value is not available.
 75952  	SpaceUtilAfter float32 `xml:"spaceUtilAfter,omitempty" json:"spaceUtilAfter,omitempty"`
 75953  	// Space demand on the target datastore after placing the virtual disk.
 75954  	//
 75955  	// Unit: percentage. For example, if set to 70.0, space demand is 70%. This
 75956  	// value include the space demanded by thin provisioned VMs. Hence, it may
 75957  	// be higher than 100%. If not set, the value is not available.
 75958  	SpaceDemandAfter float32 `xml:"spaceDemandAfter,omitempty" json:"spaceDemandAfter,omitempty" vim:"6.0"`
 75959  	// Current I/O latency on the target datastore.
 75960  	//
 75961  	// Unit: millisecond.
 75962  	// If not set, the value is not available.
 75963  	IoLatencyBefore float32 `xml:"ioLatencyBefore,omitempty" json:"ioLatencyBefore,omitempty"`
 75964  }
 75965  
 75966  func init() {
 75967  	t["StoragePlacementAction"] = reflect.TypeOf((*StoragePlacementAction)(nil)).Elem()
 75968  	minAPIVersionForType["StoragePlacementAction"] = "5.0"
 75969  }
 75970  
 75971  // Both `StorageResourceManager.RecommendDatastores` and
 75972  // `Datastore.DatastoreEnterMaintenanceMode` methods may invoke Storage DRS
 75973  // for recommendations on placing or evacuating virtual disks.
 75974  //
 75975  // StoragePlacementResult is the class of the result returned by
 75976  // the methods.
 75977  type StoragePlacementResult struct {
 75978  	DynamicData
 75979  
 75980  	// The list of recommendations that the client needs to approve manually.
 75981  	Recommendations []ClusterRecommendation `xml:"recommendations,omitempty" json:"recommendations,omitempty"`
 75982  	// Information about any fault in case Storage DRS failed to make a recommendation.
 75983  	DrsFault *ClusterDrsFaults `xml:"drsFault,omitempty" json:"drsFault,omitempty"`
 75984  	// The ID of the task, which monitors the storage placement or datastore entering
 75985  	// maintennace mode operation.
 75986  	//
 75987  	// Refers instance of `Task`.
 75988  	Task *ManagedObjectReference `xml:"task,omitempty" json:"task,omitempty"`
 75989  }
 75990  
 75991  func init() {
 75992  	t["StoragePlacementResult"] = reflect.TypeOf((*StoragePlacementResult)(nil)).Elem()
 75993  	minAPIVersionForType["StoragePlacementResult"] = "5.0"
 75994  }
 75995  
 75996  // StoragePlacementSpec encapsulates all of the inputs passed to the
 75997  // `StorageResourceManager.RecommendDatastores` method.
 75998  type StoragePlacementSpec struct {
 75999  	DynamicData
 76000  
 76001  	// The storage placement type.
 76002  	//
 76003  	// The set of possible values is described in
 76004  	// `StoragePlacementSpecPlacementType_enum`
 76005  	Type string `xml:"type" json:"type"`
 76006  	// Priority of this placement operation.
 76007  	Priority VirtualMachineMovePriority `xml:"priority,omitempty" json:"priority,omitempty"`
 76008  	// The relevant virtual machine.
 76009  	//
 76010  	// Refers instance of `VirtualMachine`.
 76011  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 76012  	// Specification for moving a virtual machine or a set of virtual disks
 76013  	// to a different storage pod.
 76014  	PodSelectionSpec StorageDrsPodSelectionSpec `xml:"podSelectionSpec" json:"podSelectionSpec"`
 76015  	// Specification for a virtual machine cloning operation.
 76016  	CloneSpec *VirtualMachineCloneSpec `xml:"cloneSpec,omitempty" json:"cloneSpec,omitempty"`
 76017  	// Name for cloned virtual machine.
 76018  	CloneName string `xml:"cloneName,omitempty" json:"cloneName,omitempty"`
 76019  	// Configuration for the virtual machine.
 76020  	ConfigSpec *VirtualMachineConfigSpec `xml:"configSpec,omitempty" json:"configSpec,omitempty"`
 76021  	// Specification for relocating a virtual machine.
 76022  	RelocateSpec *VirtualMachineRelocateSpec `xml:"relocateSpec,omitempty" json:"relocateSpec,omitempty"`
 76023  	// The resource pool to which this virtual machine should be attached.
 76024  	//
 76025  	// Refers instance of `ResourcePool`.
 76026  	ResourcePool *ManagedObjectReference `xml:"resourcePool,omitempty" json:"resourcePool,omitempty"`
 76027  	// The target host for the virtual machine.
 76028  	//
 76029  	// Refers instance of `HostSystem`.
 76030  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 76031  	// The target virtual machine folder for the virtual machine.
 76032  	//
 76033  	// Note that this is a different folder than the pod(s) that the virtual
 76034  	// machine belongs to. The pod mapping represents the storage view of
 76035  	// the virtual machine, while the virtual machine folder mapping
 76036  	// represents an inventory view of the virtual machine.
 76037  	// For manual VM provisioning operations, this is specified implicitly
 76038  	// as the object that the `Folder.CreateVM_Task` method is invoked on.
 76039  	//
 76040  	// Refers instance of `Folder`.
 76041  	Folder *ManagedObjectReference `xml:"folder,omitempty" json:"folder,omitempty"`
 76042  	// Specification for whether to disable pre-requisite storage vmotions
 76043  	// for storage placements.
 76044  	//
 76045  	// If unset, default behavior is to allow such
 76046  	// prerequisite moves.
 76047  	DisallowPrerequisiteMoves *bool `xml:"disallowPrerequisiteMoves" json:"disallowPrerequisiteMoves,omitempty" vim:"5.1"`
 76048  	// Resource lease duration in seconds.
 76049  	//
 76050  	// If the duration is within bounds,
 76051  	// Storage DRS will hold onto resources needed for applying recommendations
 76052  	// generated as part of that call.
 76053  	// Only initial placement recommendations generated by storage DRS can reserve
 76054  	// resources this way.
 76055  	ResourceLeaseDurationSec int32 `xml:"resourceLeaseDurationSec,omitempty" json:"resourceLeaseDurationSec,omitempty" vim:"5.1"`
 76056  }
 76057  
 76058  func init() {
 76059  	t["StoragePlacementSpec"] = reflect.TypeOf((*StoragePlacementSpec)(nil)).Elem()
 76060  	minAPIVersionForType["StoragePlacementSpec"] = "5.0"
 76061  }
 76062  
 76063  // The `StoragePodSummary` data object
 76064  // encapsulates runtime properties of a `StoragePod`.
 76065  type StoragePodSummary struct {
 76066  	DynamicData
 76067  
 76068  	// The name of the storage pod.
 76069  	Name string `xml:"name" json:"name"`
 76070  	// Total capacity of this storage pod, in bytes.
 76071  	//
 76072  	// This value is the sum of the
 76073  	// capacity of all datastores that are part of this storage pod, and is updated
 76074  	// periodically by the server.
 76075  	Capacity int64 `xml:"capacity" json:"capacity"`
 76076  	// Total free space on this storage pod, in bytes.
 76077  	//
 76078  	// This value is the sum of the
 76079  	// free space on all datastores that are part of this storage pod, and is updated
 76080  	// periodically by the server.
 76081  	FreeSpace int64 `xml:"freeSpace" json:"freeSpace"`
 76082  }
 76083  
 76084  func init() {
 76085  	t["StoragePodSummary"] = reflect.TypeOf((*StoragePodSummary)(nil)).Elem()
 76086  	minAPIVersionForType["StoragePodSummary"] = "5.0"
 76087  }
 76088  
 76089  // The `StorageProfile` data object represents the host storage configuration.
 76090  //
 76091  // If a profile plug-in defines policies or subprofiles, use the
 76092  // `ApplyProfile.policy` or `ApplyProfile.property`
 76093  // list to access the additional configuration data.
 76094  type StorageProfile struct {
 76095  	ApplyProfile
 76096  
 76097  	// List of NAS storage subprofiles.
 76098  	//
 76099  	// Use the `NasStorageProfile.key` property
 76100  	// to access a subprofile in the list.
 76101  	NasStorage []NasStorageProfile `xml:"nasStorage,omitempty" json:"nasStorage,omitempty"`
 76102  }
 76103  
 76104  func init() {
 76105  	t["StorageProfile"] = reflect.TypeOf((*StorageProfile)(nil)).Elem()
 76106  	minAPIVersionForType["StorageProfile"] = "4.0"
 76107  }
 76108  
 76109  // Describes the storage requirement to perform a consolidation
 76110  // operation.
 76111  type StorageRequirement struct {
 76112  	DynamicData
 76113  
 76114  	// The datastore.
 76115  	//
 76116  	// Refers instance of `Datastore`.
 76117  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 76118  	// Space required.
 76119  	FreeSpaceRequiredInKb int64 `xml:"freeSpaceRequiredInKb" json:"freeSpaceRequiredInKb"`
 76120  }
 76121  
 76122  func init() {
 76123  	t["StorageRequirement"] = reflect.TypeOf((*StorageRequirement)(nil)).Elem()
 76124  	minAPIVersionForType["StorageRequirement"] = "5.0"
 76125  }
 76126  
 76127  // A data object to report aggregate storage statistics by storage
 76128  // profile
 76129  type StorageResourceManagerStorageProfileStatistics struct {
 76130  	DynamicData
 76131  
 76132  	// Profile identifier for the reported statistics
 76133  	ProfileId string `xml:"profileId" json:"profileId"`
 76134  	// The aggregate storage capacity available for a given storage
 76135  	// capability profile.
 76136  	//
 76137  	// The capacity is reported in Megabytes.
 76138  	TotalSpaceMB int64 `xml:"totalSpaceMB" json:"totalSpaceMB"`
 76139  	// The aggregate used storage capacity by a given storage capability
 76140  	// profile
 76141  	// The used space is reported in Megabytes
 76142  	UsedSpaceMB int64 `xml:"usedSpaceMB" json:"usedSpaceMB"`
 76143  }
 76144  
 76145  func init() {
 76146  	t["StorageResourceManagerStorageProfileStatistics"] = reflect.TypeOf((*StorageResourceManagerStorageProfileStatistics)(nil)).Elem()
 76147  	minAPIVersionForType["StorageResourceManagerStorageProfileStatistics"] = "6.0"
 76148  }
 76149  
 76150  // An operation on a powered-on virtual machine requests a change of storage
 76151  // location, but the host does not have that capability.
 76152  type StorageVMotionNotSupported struct {
 76153  	MigrationFeatureNotSupported
 76154  }
 76155  
 76156  func init() {
 76157  	t["StorageVMotionNotSupported"] = reflect.TypeOf((*StorageVMotionNotSupported)(nil)).Elem()
 76158  	minAPIVersionForType["StorageVMotionNotSupported"] = "4.0"
 76159  }
 76160  
 76161  type StorageVMotionNotSupportedFault StorageVMotionNotSupported
 76162  
 76163  func init() {
 76164  	t["StorageVMotionNotSupportedFault"] = reflect.TypeOf((*StorageVMotionNotSupportedFault)(nil)).Elem()
 76165  }
 76166  
 76167  // This fault is thrown when Storage DRS tries to migrate disks of a virtual machine to a datastore,
 76168  // but finds that the datastore is incompatible with the given virtual machine.
 76169  type StorageVmotionIncompatible struct {
 76170  	VirtualHardwareCompatibilityIssue
 76171  
 76172  	// The datastore that is incompatible with a given virtual machine.
 76173  	//
 76174  	// Refers instance of `Datastore`.
 76175  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 76176  }
 76177  
 76178  func init() {
 76179  	t["StorageVmotionIncompatible"] = reflect.TypeOf((*StorageVmotionIncompatible)(nil)).Elem()
 76180  	minAPIVersionForType["StorageVmotionIncompatible"] = "5.0"
 76181  }
 76182  
 76183  type StorageVmotionIncompatibleFault StorageVmotionIncompatible
 76184  
 76185  func init() {
 76186  	t["StorageVmotionIncompatibleFault"] = reflect.TypeOf((*StorageVmotionIncompatibleFault)(nil)).Elem()
 76187  }
 76188  
 76189  // The string type of setting or configuration that may get a
 76190  // negated value.
 76191  type StringExpression struct {
 76192  	NegatableExpression
 76193  
 76194  	// The String value that is either used as it is or negated.
 76195  	Value string `xml:"value,omitempty" json:"value,omitempty"`
 76196  }
 76197  
 76198  func init() {
 76199  	t["StringExpression"] = reflect.TypeOf((*StringExpression)(nil)).Elem()
 76200  	minAPIVersionForType["StringExpression"] = "5.5"
 76201  }
 76202  
 76203  // The StringOption data object type is used to define an open-ended
 76204  // string value based on an optional subset of valid characters.
 76205  type StringOption struct {
 76206  	OptionType
 76207  
 76208  	// The default value.
 76209  	DefaultValue string `xml:"defaultValue" json:"defaultValue"`
 76210  	// The string containing the set of valid characters.
 76211  	//
 76212  	// If a string
 76213  	// option is not specified, all strings are allowed.
 76214  	ValidCharacters string `xml:"validCharacters,omitempty" json:"validCharacters,omitempty"`
 76215  }
 76216  
 76217  func init() {
 76218  	t["StringOption"] = reflect.TypeOf((*StringOption)(nil)).Elem()
 76219  }
 76220  
 76221  // The string type of setting or configuration that may get an
 76222  // inherited value.
 76223  type StringPolicy struct {
 76224  	InheritablePolicy
 76225  
 76226  	// The String value that is either set or inherited.
 76227  	Value string `xml:"value,omitempty" json:"value,omitempty"`
 76228  }
 76229  
 76230  func init() {
 76231  	t["StringPolicy"] = reflect.TypeOf((*StringPolicy)(nil)).Elem()
 76232  	minAPIVersionForType["StringPolicy"] = "4.0"
 76233  }
 76234  
 76235  // Implementation of `HostProfilesEntityCustomizations`
 76236  // that maps a cluster or host profile to the `AnswerFile`
 76237  // object containing the host profiles customizations for that entity.
 76238  //
 76239  // This
 76240  // object will be used as elements of the
 76241  // `HostProfilesEntityCustomizations`.{vim.profile.host.ProfileManager.EntityCustomizations#entityCustomizations}
 76242  // when the `HostProfilesEntityCustomizations`.{vim.profile.host.ProfileManager.EntityCustomizations#customizationsFormat}
 76243  // value is "structured".
 76244  type StructuredCustomizations struct {
 76245  	HostProfilesEntityCustomizations
 76246  
 76247  	// Entity associated with the host customizations specified in the
 76248  	// <code>customizations</code> `AnswerFile` object.
 76249  	//
 76250  	// In the current release, this object will always be a host.
 76251  	//
 76252  	// Refers instance of `ManagedEntity`.
 76253  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 76254  	// Host Profile Customizations for the associated <code>entity</code>.
 76255  	//
 76256  	// This is the same object that would be returned by the
 76257  	// `HostProfileManager.RetrieveAnswerFile` method
 76258  	Customizations *AnswerFile `xml:"customizations,omitempty" json:"customizations,omitempty"`
 76259  }
 76260  
 76261  func init() {
 76262  	t["StructuredCustomizations"] = reflect.TypeOf((*StructuredCustomizations)(nil)).Elem()
 76263  	minAPIVersionForType["StructuredCustomizations"] = "6.5"
 76264  }
 76265  
 76266  type SuspendVAppRequestType struct {
 76267  	This ManagedObjectReference `xml:"_this" json:"-"`
 76268  }
 76269  
 76270  func init() {
 76271  	t["SuspendVAppRequestType"] = reflect.TypeOf((*SuspendVAppRequestType)(nil)).Elem()
 76272  }
 76273  
 76274  type SuspendVApp_Task SuspendVAppRequestType
 76275  
 76276  func init() {
 76277  	t["SuspendVApp_Task"] = reflect.TypeOf((*SuspendVApp_Task)(nil)).Elem()
 76278  }
 76279  
 76280  type SuspendVApp_TaskResponse struct {
 76281  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 76282  }
 76283  
 76284  type SuspendVMRequestType struct {
 76285  	This ManagedObjectReference `xml:"_this" json:"-"`
 76286  }
 76287  
 76288  func init() {
 76289  	t["SuspendVMRequestType"] = reflect.TypeOf((*SuspendVMRequestType)(nil)).Elem()
 76290  }
 76291  
 76292  type SuspendVM_Task SuspendVMRequestType
 76293  
 76294  func init() {
 76295  	t["SuspendVM_Task"] = reflect.TypeOf((*SuspendVM_Task)(nil)).Elem()
 76296  }
 76297  
 76298  type SuspendVM_TaskResponse struct {
 76299  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 76300  }
 76301  
 76302  // Either the source host product or the destination host product does not support
 76303  // relocation of suspended VMs.
 76304  //
 76305  // It must be supported on both, in order for the
 76306  // relocation to succeed. This fault is only applicable to suspended virtual machines.
 76307  type SuspendedRelocateNotSupported struct {
 76308  	MigrationFault
 76309  }
 76310  
 76311  func init() {
 76312  	t["SuspendedRelocateNotSupported"] = reflect.TypeOf((*SuspendedRelocateNotSupported)(nil)).Elem()
 76313  }
 76314  
 76315  type SuspendedRelocateNotSupportedFault SuspendedRelocateNotSupported
 76316  
 76317  func init() {
 76318  	t["SuspendedRelocateNotSupportedFault"] = reflect.TypeOf((*SuspendedRelocateNotSupportedFault)(nil)).Elem()
 76319  }
 76320  
 76321  // The compute resource and/or virtual machine configurations indicate that
 76322  // when executing on the host the virtual machine should use a specific
 76323  // datastore, but host does not have read/write access to that datastore.
 76324  //
 76325  // (It may have no access at all, or read-only access.) If executing on the
 76326  // host the virtual machine would instead use its own directory for swapfile
 76327  // placement. This is a compatibility warning, not an error.
 76328  type SwapDatastoreNotWritableOnHost struct {
 76329  	DatastoreNotWritableOnHost
 76330  }
 76331  
 76332  func init() {
 76333  	t["SwapDatastoreNotWritableOnHost"] = reflect.TypeOf((*SwapDatastoreNotWritableOnHost)(nil)).Elem()
 76334  	minAPIVersionForType["SwapDatastoreNotWritableOnHost"] = "2.5"
 76335  }
 76336  
 76337  type SwapDatastoreNotWritableOnHostFault SwapDatastoreNotWritableOnHost
 76338  
 76339  func init() {
 76340  	t["SwapDatastoreNotWritableOnHostFault"] = reflect.TypeOf((*SwapDatastoreNotWritableOnHostFault)(nil)).Elem()
 76341  }
 76342  
 76343  // The compute resource and/or virtual machine configurations indicate that
 76344  // when executing on the host the virtual machine should use a swap
 76345  // datastore, but the host does not have a swap datastore configured.
 76346  //
 76347  // If
 76348  // executing on the host the virtual machine would instead use its own directory
 76349  // for swapfile placement. This is a compatibility warning, not an error.
 76350  // Note it is actually the common case for a host to not have a configured
 76351  // swap datastore, and the problem may rest with the compute resource and/or
 76352  // virtual machine configuration; therefore this is not a HostConfigFault.
 76353  type SwapDatastoreUnset struct {
 76354  	VimFault
 76355  }
 76356  
 76357  func init() {
 76358  	t["SwapDatastoreUnset"] = reflect.TypeOf((*SwapDatastoreUnset)(nil)).Elem()
 76359  	minAPIVersionForType["SwapDatastoreUnset"] = "2.5"
 76360  }
 76361  
 76362  type SwapDatastoreUnsetFault SwapDatastoreUnset
 76363  
 76364  func init() {
 76365  	t["SwapDatastoreUnsetFault"] = reflect.TypeOf((*SwapDatastoreUnsetFault)(nil)).Elem()
 76366  }
 76367  
 76368  // The virtual machine is configured to override the default swapfile placement
 76369  // policy, which is not supported on the host.
 76370  type SwapPlacementOverrideNotSupported struct {
 76371  	InvalidVmConfig
 76372  }
 76373  
 76374  func init() {
 76375  	t["SwapPlacementOverrideNotSupported"] = reflect.TypeOf((*SwapPlacementOverrideNotSupported)(nil)).Elem()
 76376  	minAPIVersionForType["SwapPlacementOverrideNotSupported"] = "2.5"
 76377  }
 76378  
 76379  type SwapPlacementOverrideNotSupportedFault SwapPlacementOverrideNotSupported
 76380  
 76381  func init() {
 76382  	t["SwapPlacementOverrideNotSupportedFault"] = reflect.TypeOf((*SwapPlacementOverrideNotSupportedFault)(nil)).Elem()
 76383  }
 76384  
 76385  // The distributed virtual switch received a reconfiguration request to
 76386  // activate a feature that requires a switch IP address.
 76387  //
 76388  // However, the IP
 76389  // address for the switch has not been specified.
 76390  type SwitchIpUnset struct {
 76391  	DvsFault
 76392  }
 76393  
 76394  func init() {
 76395  	t["SwitchIpUnset"] = reflect.TypeOf((*SwitchIpUnset)(nil)).Elem()
 76396  	minAPIVersionForType["SwitchIpUnset"] = "5.1"
 76397  }
 76398  
 76399  type SwitchIpUnsetFault SwitchIpUnset
 76400  
 76401  func init() {
 76402  	t["SwitchIpUnsetFault"] = reflect.TypeOf((*SwitchIpUnsetFault)(nil)).Elem()
 76403  }
 76404  
 76405  // Thrown if an operation is not supported while the DistributedVirtualSwitch
 76406  // is not in upgrade mode.
 76407  type SwitchNotInUpgradeMode struct {
 76408  	DvsFault
 76409  }
 76410  
 76411  func init() {
 76412  	t["SwitchNotInUpgradeMode"] = reflect.TypeOf((*SwitchNotInUpgradeMode)(nil)).Elem()
 76413  	minAPIVersionForType["SwitchNotInUpgradeMode"] = "4.0"
 76414  }
 76415  
 76416  type SwitchNotInUpgradeModeFault SwitchNotInUpgradeMode
 76417  
 76418  func init() {
 76419  	t["SwitchNotInUpgradeModeFault"] = reflect.TypeOf((*SwitchNotInUpgradeModeFault)(nil)).Elem()
 76420  }
 76421  
 76422  // Exception type for reporting a low-level operating system
 76423  // error.
 76424  type SystemError struct {
 76425  	RuntimeFault
 76426  
 76427  	// A message to indicate detailed information about the error.
 76428  	//
 76429  	// This property is not internationalization friendly and
 76430  	// normally reported by the underlying operating system.
 76431  	Reason string `xml:"reason" json:"reason"`
 76432  }
 76433  
 76434  func init() {
 76435  	t["SystemError"] = reflect.TypeOf((*SystemError)(nil)).Elem()
 76436  }
 76437  
 76438  type SystemErrorFault SystemError
 76439  
 76440  func init() {
 76441  	t["SystemErrorFault"] = reflect.TypeOf((*SystemErrorFault)(nil)).Elem()
 76442  }
 76443  
 76444  // IPMI System Event Log (SEL) provides a history of hardware sensor states.
 76445  //
 76446  // This is defined in IPMI specification, section 32.1 SEL Event Records.
 76447  // CLI:: esxcli hardware ipmi sel list
 76448  type SystemEventInfo struct {
 76449  	DynamicData
 76450  
 76451  	// The recordId uniquely identifies an entry in IPMI System Event Log.
 76452  	RecordId int64 `xml:"recordId" json:"recordId"`
 76453  	// A ISO 8601 timestamp when the event was added to IPMI System Event Log.
 76454  	//
 76455  	// This timestamp comes from the IPMI subsystem clock and may not be
 76456  	// the same as hypervisor's clock.
 76457  	When string `xml:"when" json:"when"`
 76458  	// The IPMI SEL type defines the if the SEL event uses
 76459  	// the system event format format or is OEM defined.
 76460  	//
 76461  	// A value of 2 indicates system event.
 76462  	// Values 0xC0-0xDF, 0xE0-0xFF are OEM event ranges.
 76463  	SelType int64 `xml:"selType" json:"selType"`
 76464  	// A description of what the event is about.
 76465  	Message string `xml:"message" json:"message"`
 76466  	// The IPMI Sensor/probe that is reporting this event.
 76467  	//
 76468  	// A value of zero (0) indicates event has no related sensor.
 76469  	SensorNumber int64 `xml:"sensorNumber" json:"sensorNumber"`
 76470  }
 76471  
 76472  func init() {
 76473  	t["SystemEventInfo"] = reflect.TypeOf((*SystemEventInfo)(nil)).Elem()
 76474  	minAPIVersionForType["SystemEventInfo"] = "6.5"
 76475  }
 76476  
 76477  // Defines a tag that can be associated with a managed entity.
 76478  type Tag struct {
 76479  	DynamicData
 76480  
 76481  	// The tag key in human readable form.
 76482  	Key string `xml:"key" json:"key"`
 76483  }
 76484  
 76485  func init() {
 76486  	t["Tag"] = reflect.TypeOf((*Tag)(nil)).Elem()
 76487  	minAPIVersionForType["Tag"] = "4.0"
 76488  }
 76489  
 76490  // Static strings for task objects.
 76491  //
 76492  // These strings are locale-specific.
 76493  type TaskDescription struct {
 76494  	DynamicData
 76495  
 76496  	// Display label and summary for all tasks
 76497  	MethodInfo []BaseElementDescription `xml:"methodInfo,typeattr" json:"methodInfo"`
 76498  	// *TaskInfo State enum*
 76499  	State []BaseElementDescription `xml:"state,typeattr" json:"state"`
 76500  	// Kind of entity responsible for creating this task.
 76501  	Reason []BaseTypeDescription `xml:"reason,typeattr" json:"reason"`
 76502  }
 76503  
 76504  func init() {
 76505  	t["TaskDescription"] = reflect.TypeOf((*TaskDescription)(nil)).Elem()
 76506  }
 76507  
 76508  // This event records the creation of a Task.
 76509  //
 76510  // Note that the embedded TaskInfo object is a _snapshot_ of the
 76511  // Task state at the time of its creation, so its state will always be
 76512  // "queued". To find the current status of the task, query for the
 76513  // current state of the Task using the eventChainId in the embedded
 76514  // TaskInfo object.
 76515  type TaskEvent struct {
 76516  	Event
 76517  
 76518  	// The information about the task.
 76519  	Info TaskInfo `xml:"info" json:"info"`
 76520  }
 76521  
 76522  func init() {
 76523  	t["TaskEvent"] = reflect.TypeOf((*TaskEvent)(nil)).Elem()
 76524  }
 76525  
 76526  // This data object type defines the specification for the task filter used
 76527  // to query tasks in the history collector database.
 76528  //
 76529  // The client creates a task
 76530  // history collector with a filter specification, then retrieves the tasks from
 76531  // the task history collector.
 76532  type TaskFilterSpec struct {
 76533  	DynamicData
 76534  
 76535  	// The filter specification for retrieving tasks by managed entity.
 76536  	//
 76537  	// If not provided, then the tasks attached to all managed entities are
 76538  	// collected.
 76539  	Entity *TaskFilterSpecByEntity `xml:"entity,omitempty" json:"entity,omitempty"`
 76540  	// The filter specification for retrieving tasks by time.
 76541  	//
 76542  	// If not provided, then the tasks with any time stamp are collected.
 76543  	Time *TaskFilterSpecByTime `xml:"time,omitempty" json:"time,omitempty"`
 76544  	// The filter specification for retrieving tasks by user name.
 76545  	//
 76546  	// If not provided, then the tasks belonging to any user are collected.
 76547  	UserName *TaskFilterSpecByUsername `xml:"userName,omitempty" json:"userName,omitempty"`
 76548  	// This property, if provided, limits the set of collected tasks to those
 76549  	// associated with the specified activation Ids.
 76550  	ActivationId []string `xml:"activationId,omitempty" json:"activationId,omitempty" vim:"6.0"`
 76551  	// This property, if provided, limits the set of collected tasks by their states.
 76552  	//
 76553  	// Task states are enumerated in `State`.
 76554  	// If not provided, tasks are collected regardless of their state.
 76555  	State []TaskInfoState `xml:"state,omitempty" json:"state,omitempty"`
 76556  	// This property, if provided, limits the set of collected tasks to those
 76557  	// associated with the specified alarm.
 76558  	//
 76559  	// If not provided, tasks are collected regardless of their association with alarms.
 76560  	//
 76561  	// Refers instance of `Alarm`.
 76562  	Alarm *ManagedObjectReference `xml:"alarm,omitempty" json:"alarm,omitempty"`
 76563  	// This property, if provided, limits the set of collected tasks to those
 76564  	// associated with the specified scheduled task.
 76565  	//
 76566  	// If not provided, tasks are collected regardless of their association with any
 76567  	// scheduled task.
 76568  	//
 76569  	// Refers instance of `ScheduledTask`.
 76570  	ScheduledTask *ManagedObjectReference `xml:"scheduledTask,omitempty" json:"scheduledTask,omitempty"`
 76571  	// The filter specification for retrieving tasks by chain ID.
 76572  	//
 76573  	// If it is set,
 76574  	// tasks not with the given `TaskInfo.eventChainId` will be
 76575  	// filtered out. If the property is not set, tasks' chain ID is disregarded
 76576  	// for filtering purposes.
 76577  	EventChainId []int32 `xml:"eventChainId,omitempty" json:"eventChainId,omitempty" vim:"4.0"`
 76578  	// The filter specification for retrieving tasks by
 76579  	// `tag`.
 76580  	//
 76581  	// If it is set, tasks not with the given tag(s)
 76582  	// will be filtered out. If the property is not set, tasks' tag is disregarded for
 76583  	// filtering purposes. If it is set, and includes an empty string, tasks without a
 76584  	// tag will be returned.
 76585  	Tag []string `xml:"tag,omitempty" json:"tag,omitempty" vim:"4.0"`
 76586  	// The filter specification for retrieving tasks by
 76587  	// `TaskInfo.parentTaskKey`.
 76588  	//
 76589  	// If it is set, tasks not with the
 76590  	// given parentTaskKey(s) will be filtered out. If the property is not set,
 76591  	// tasks' parentTaskKey is disregarded for filtering purposes.
 76592  	ParentTaskKey []string `xml:"parentTaskKey,omitempty" json:"parentTaskKey,omitempty" vim:"4.0"`
 76593  	// The filter specification for retrieving tasks by
 76594  	// `TaskInfo.rootTaskKey`.
 76595  	//
 76596  	// If it is set, tasks not with the
 76597  	// given rootTaskKey(s) will be filtered out. If the property is not set,
 76598  	// tasks' rootTaskKey is disregarded for filtering purposes.
 76599  	RootTaskKey []string `xml:"rootTaskKey,omitempty" json:"rootTaskKey,omitempty" vim:"4.0"`
 76600  }
 76601  
 76602  func init() {
 76603  	t["TaskFilterSpec"] = reflect.TypeOf((*TaskFilterSpec)(nil)).Elem()
 76604  }
 76605  
 76606  // This data object type specifies a managed entity used to
 76607  // filter task history.
 76608  type TaskFilterSpecByEntity struct {
 76609  	DynamicData
 76610  
 76611  	// The managed entity to which the task pertains.
 76612  	//
 76613  	// Refers instance of `ManagedEntity`.
 76614  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 76615  	// Specification of related managed entities in the inventory hierarchy.
 76616  	Recursion TaskFilterSpecRecursionOption `xml:"recursion" json:"recursion"`
 76617  }
 76618  
 76619  func init() {
 76620  	t["TaskFilterSpecByEntity"] = reflect.TypeOf((*TaskFilterSpecByEntity)(nil)).Elem()
 76621  }
 76622  
 76623  // This data object type specifies a time range used to filter task history.
 76624  type TaskFilterSpecByTime struct {
 76625  	DynamicData
 76626  
 76627  	// The time stamp to filter: queued, started, or completed time.
 76628  	TimeType TaskFilterSpecTimeOption `xml:"timeType" json:"timeType"`
 76629  	// The beginning of the time range.
 76630  	//
 76631  	// If this property is not specified, then tasks are collected from
 76632  	// the earliest time in the database.
 76633  	//
 76634  	// When this property is specified, the time type field must also be specified.
 76635  	BeginTime *time.Time `xml:"beginTime" json:"beginTime,omitempty"`
 76636  	// The end of the time range.
 76637  	//
 76638  	// If this property is not specified, then tasks are collected up to
 76639  	// the latest time in the database.
 76640  	//
 76641  	// When this property is specified, the time type field must also be specified.
 76642  	EndTime *time.Time `xml:"endTime" json:"endTime,omitempty"`
 76643  }
 76644  
 76645  func init() {
 76646  	t["TaskFilterSpecByTime"] = reflect.TypeOf((*TaskFilterSpecByTime)(nil)).Elem()
 76647  }
 76648  
 76649  // This data object type enables you to filter task history according to
 76650  // the users who performed the tasks.
 76651  type TaskFilterSpecByUsername struct {
 76652  	DynamicData
 76653  
 76654  	// Whether or not to filter by system user.
 76655  	//
 76656  	// If set to true, filters for system user event.
 76657  	SystemUser bool `xml:"systemUser" json:"systemUser"`
 76658  	// Specifies the username list to use in the filter.
 76659  	//
 76660  	// If not set, then all regular user tasks are collected.
 76661  	UserList []string `xml:"userList,omitempty" json:"userList,omitempty"`
 76662  }
 76663  
 76664  func init() {
 76665  	t["TaskFilterSpecByUsername"] = reflect.TypeOf((*TaskFilterSpecByUsername)(nil)).Elem()
 76666  }
 76667  
 76668  // The TaskInProgress data object type represents a fault when an operation tries
 76669  // to access an entity that already has another (long) operation in progress.
 76670  type TaskInProgress struct {
 76671  	VimFault
 76672  
 76673  	// The task already in progress when the operation was attempted.
 76674  	//
 76675  	// Refers instance of `Task`.
 76676  	Task ManagedObjectReference `xml:"task" json:"task"`
 76677  }
 76678  
 76679  func init() {
 76680  	t["TaskInProgress"] = reflect.TypeOf((*TaskInProgress)(nil)).Elem()
 76681  }
 76682  
 76683  type TaskInProgressFault BaseTaskInProgress
 76684  
 76685  func init() {
 76686  	t["TaskInProgressFault"] = reflect.TypeOf((*TaskInProgressFault)(nil)).Elem()
 76687  }
 76688  
 76689  // This data object type contains all information about a task.
 76690  //
 76691  // A task
 76692  // represents an operation performed by VirtualCenter or ESX.
 76693  type TaskInfo struct {
 76694  	DynamicData
 76695  
 76696  	// The unique key for the task.
 76697  	Key string `xml:"key" json:"key"`
 76698  	// The managed object that represents this task.
 76699  	//
 76700  	// Refers instance of `Task`.
 76701  	Task ManagedObjectReference `xml:"task" json:"task"`
 76702  	// The description field of the task describes the current phase of
 76703  	// operation of the task.
 76704  	//
 76705  	// For a task that does a single monolithic
 76706  	// activity, this will be fixed and unchanging.
 76707  	// For tasks that have various substeps, this field will change
 76708  	// as the task progresses from one phase to another.
 76709  	Description *LocalizableMessage `xml:"description,omitempty" json:"description,omitempty" vim:"4.0"`
 76710  	// The name of the operation that created the task.
 76711  	//
 76712  	// This is not set
 76713  	// for internal tasks.
 76714  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 76715  	// An identifier for this operation.
 76716  	//
 76717  	// This includes publicly visible
 76718  	// internal tasks and is a lookup in the TaskDescription methodInfo
 76719  	// data object.
 76720  	DescriptionId string `xml:"descriptionId" json:"descriptionId"`
 76721  	// Managed entity to which the operation applies.
 76722  	//
 76723  	// Refers instance of `ManagedEntity`.
 76724  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 76725  	// The name of the managed entity, locale-specific, retained for the
 76726  	// history collector database.
 76727  	EntityName string `xml:"entityName,omitempty" json:"entityName,omitempty"`
 76728  	// If the state of the task is "running", then this property is a list of
 76729  	// managed entities that the operation has locked, with a shared lock.
 76730  	//
 76731  	// Refers instances of `ManagedEntity`.
 76732  	Locked []ManagedObjectReference `xml:"locked,omitempty" json:"locked,omitempty"`
 76733  	// Runtime status of the task.
 76734  	State TaskInfoState `xml:"state" json:"state"`
 76735  	// Flag to indicate whether or not the client requested
 76736  	// cancellation of the task.
 76737  	Cancelled bool `xml:"cancelled" json:"cancelled"`
 76738  	// Flag to indicate whether or not the cancel task operation is supported.
 76739  	Cancelable bool `xml:"cancelable" json:"cancelable"`
 76740  	// If the task state is "error", then this property contains the fault code.
 76741  	Error *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 76742  	// If the task state is "success", then this property may be used
 76743  	// to hold a return value.
 76744  	Result AnyType `xml:"result,omitempty,typeattr" json:"result,omitempty"`
 76745  	// If the task state is "running", then this property contains a
 76746  	// progress measurement, expressed as percentage completed, from 0 to 100.
 76747  	//
 76748  	// If this property is not set, then the command does not report progress.
 76749  	Progress        int32         `xml:"progress,omitempty" json:"progress,omitempty"`
 76750  	ProgressDetails []KeyAnyValue `xml:"progressDetails,omitempty" json:"progressDetails,omitempty"`
 76751  	// Kind of entity responsible for creating this task.
 76752  	Reason BaseTaskReason `xml:"reason,typeattr" json:"reason"`
 76753  	// Time stamp when the task was created.
 76754  	QueueTime time.Time `xml:"queueTime" json:"queueTime"`
 76755  	// Time stamp when the task started running.
 76756  	StartTime *time.Time `xml:"startTime" json:"startTime,omitempty"`
 76757  	// Time stamp when the task was completed (whether success or failure).
 76758  	CompleteTime *time.Time `xml:"completeTime" json:"completeTime,omitempty"`
 76759  	// Event chain ID that leads to the corresponding events.
 76760  	EventChainId int32 `xml:"eventChainId" json:"eventChainId"`
 76761  	// The user entered tag to identify the operations and their side effects
 76762  	ChangeTag string `xml:"changeTag,omitempty" json:"changeTag,omitempty" vim:"4.0"`
 76763  	// Tasks can be created by another task.
 76764  	//
 76765  	// This shows `TaskInfo.key` of the task spun off this task. This is to
 76766  	// track causality between tasks.
 76767  	ParentTaskKey string `xml:"parentTaskKey,omitempty" json:"parentTaskKey,omitempty" vim:"4.0"`
 76768  	// Tasks can be created by another task and such creation can go on for
 76769  	// multiple levels.
 76770  	//
 76771  	// This is the `TaskInfo.key` of the task
 76772  	// that started the chain of tasks.
 76773  	RootTaskKey string `xml:"rootTaskKey,omitempty" json:"rootTaskKey,omitempty" vim:"4.0"`
 76774  	// The activation Id is a client-provided token to link an API call with a task.
 76775  	ActivationId string `xml:"activationId,omitempty" json:"activationId,omitempty" vim:"6.0"`
 76776  }
 76777  
 76778  func init() {
 76779  	t["TaskInfo"] = reflect.TypeOf((*TaskInfo)(nil)).Elem()
 76780  }
 76781  
 76782  // Base type for all task reasons.
 76783  //
 76784  // Task reasons represent the kind of entity responsible for a task's creation.
 76785  type TaskReason struct {
 76786  	DynamicData
 76787  }
 76788  
 76789  func init() {
 76790  	t["TaskReason"] = reflect.TypeOf((*TaskReason)(nil)).Elem()
 76791  }
 76792  
 76793  // Indicates that the task was queued by an alarm.
 76794  type TaskReasonAlarm struct {
 76795  	TaskReason
 76796  
 76797  	// The name of the alarm that queued the task, retained in the history
 76798  	// collector database.
 76799  	AlarmName string `xml:"alarmName" json:"alarmName"`
 76800  	// The alarm object that queued the task.
 76801  	//
 76802  	// Refers instance of `Alarm`.
 76803  	Alarm ManagedObjectReference `xml:"alarm" json:"alarm"`
 76804  	// The name of the managed entity on which the alarm is triggered,
 76805  	// retained in the history collector database.
 76806  	EntityName string `xml:"entityName" json:"entityName"`
 76807  	// The managed entity object on which the alarm is triggered.
 76808  	//
 76809  	// Refers instance of `ManagedEntity`.
 76810  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 76811  }
 76812  
 76813  func init() {
 76814  	t["TaskReasonAlarm"] = reflect.TypeOf((*TaskReasonAlarm)(nil)).Elem()
 76815  }
 76816  
 76817  // Indicates that the task was queued by a scheduled task.
 76818  type TaskReasonSchedule struct {
 76819  	TaskReason
 76820  
 76821  	// The name of the scheduled task that queued this task.
 76822  	Name string `xml:"name" json:"name"`
 76823  	// The scheduledTask object that queued this task.
 76824  	//
 76825  	// Refers instance of `ScheduledTask`.
 76826  	ScheduledTask ManagedObjectReference `xml:"scheduledTask" json:"scheduledTask"`
 76827  }
 76828  
 76829  func init() {
 76830  	t["TaskReasonSchedule"] = reflect.TypeOf((*TaskReasonSchedule)(nil)).Elem()
 76831  }
 76832  
 76833  // Indicates that the task was started by the system (a default task).
 76834  type TaskReasonSystem struct {
 76835  	TaskReason
 76836  }
 76837  
 76838  func init() {
 76839  	t["TaskReasonSystem"] = reflect.TypeOf((*TaskReasonSystem)(nil)).Elem()
 76840  }
 76841  
 76842  // Indicates that the task was queued by a specific user.
 76843  type TaskReasonUser struct {
 76844  	TaskReason
 76845  
 76846  	// Name of the user that queued the task.
 76847  	UserName string `xml:"userName" json:"userName"`
 76848  }
 76849  
 76850  func init() {
 76851  	t["TaskReasonUser"] = reflect.TypeOf((*TaskReasonUser)(nil)).Elem()
 76852  }
 76853  
 76854  // The `TaskScheduler` data object is the base type for the scheduler objects.
 76855  //
 76856  // The hierarchy of scheduler objects is as follows:
 76857  //
 76858  //	TaskScheduler
 76859  //	    `AfterStartupTaskScheduler`
 76860  //	    `OnceTaskScheduler`
 76861  //	    `RecurrentTaskScheduler`
 76862  //	        `HourlyTaskScheduler`
 76863  //	            `DailyTaskScheduler`
 76864  //	                `WeeklyTaskScheduler`
 76865  //	                `MonthlyTaskScheduler`
 76866  //	                    `MonthlyByDayTaskScheduler`
 76867  //	                    `MonthlyByWeekdayTaskScheduler`
 76868  //
 76869  // Use a scheduler object to set the time(s) for task execution.
 76870  // You can use two scheduling modes - single execution or
 76871  // recurring execution:
 76872  //   - Use the `AfterStartupTaskScheduler` or the `OnceTaskScheduler`
 76873  //     to schedule a single instance of task execution.
 76874  //   - Use one of the recurrent task schedulers to schedule
 76875  //     hourly, daily, weekly, or monthly task execution.
 76876  //
 76877  // After you have established the task timing, use the scheduler
 76878  // object for the `ScheduledTaskSpec`
 76879  // `ScheduledTaskSpec.scheduler` property value.
 76880  type TaskScheduler struct {
 76881  	DynamicData
 76882  
 76883  	// The time that the schedule for the task takes effect.
 76884  	//
 76885  	// Task activation is distinct from task execution.
 76886  	// When you activate a task, its schedule starts,
 76887  	// and when the next execution time occurs, the task will run.
 76888  	// If you do not set activeTime, the activation time defaults to
 76889  	// the time that you create the scheduled task.
 76890  	ActiveTime *time.Time `xml:"activeTime" json:"activeTime,omitempty"`
 76891  	// The time the schedule for the task expires.
 76892  	//
 76893  	// If you do not set expireTime, the schedule does not expire.
 76894  	ExpireTime *time.Time `xml:"expireTime" json:"expireTime,omitempty"`
 76895  }
 76896  
 76897  func init() {
 76898  	t["TaskScheduler"] = reflect.TypeOf((*TaskScheduler)(nil)).Elem()
 76899  }
 76900  
 76901  // This event records when a task is cleaned up b/c of timeout
 76902  type TaskTimeoutEvent struct {
 76903  	TaskEvent
 76904  }
 76905  
 76906  func init() {
 76907  	t["TaskTimeoutEvent"] = reflect.TypeOf((*TaskTimeoutEvent)(nil)).Elem()
 76908  	minAPIVersionForType["TaskTimeoutEvent"] = "2.5"
 76909  }
 76910  
 76911  // The teaming configuration of the uplink ports in the DVS matches
 76912  // physical switch configuration.
 76913  type TeamingMatchEvent struct {
 76914  	DvsHealthStatusChangeEvent
 76915  }
 76916  
 76917  func init() {
 76918  	t["TeamingMatchEvent"] = reflect.TypeOf((*TeamingMatchEvent)(nil)).Elem()
 76919  	minAPIVersionForType["TeamingMatchEvent"] = "5.1"
 76920  }
 76921  
 76922  // The teaming configuration of the uplink ports in the DVS
 76923  // does not match physical switch configuration.
 76924  type TeamingMisMatchEvent struct {
 76925  	DvsHealthStatusChangeEvent
 76926  }
 76927  
 76928  func init() {
 76929  	t["TeamingMisMatchEvent"] = reflect.TypeOf((*TeamingMisMatchEvent)(nil)).Elem()
 76930  	minAPIVersionForType["TeamingMisMatchEvent"] = "5.1"
 76931  }
 76932  
 76933  // This event records the start of a template upgrade.
 76934  type TemplateBeingUpgradedEvent struct {
 76935  	TemplateUpgradeEvent
 76936  }
 76937  
 76938  func init() {
 76939  	t["TemplateBeingUpgradedEvent"] = reflect.TypeOf((*TemplateBeingUpgradedEvent)(nil)).Elem()
 76940  }
 76941  
 76942  // This data object type describes a template virtual machine configuration file.
 76943  type TemplateConfigFileInfo struct {
 76944  	VmConfigFileInfo
 76945  }
 76946  
 76947  func init() {
 76948  	t["TemplateConfigFileInfo"] = reflect.TypeOf((*TemplateConfigFileInfo)(nil)).Elem()
 76949  }
 76950  
 76951  // This data object type describes the query specification for a template virtual
 76952  // machine configuration file.
 76953  type TemplateConfigFileQuery struct {
 76954  	VmConfigFileQuery
 76955  }
 76956  
 76957  func init() {
 76958  	t["TemplateConfigFileQuery"] = reflect.TypeOf((*TemplateConfigFileQuery)(nil)).Elem()
 76959  }
 76960  
 76961  // This event is the base class for all the template upgrade events.
 76962  type TemplateUpgradeEvent struct {
 76963  	Event
 76964  
 76965  	LegacyTemplate string `xml:"legacyTemplate" json:"legacyTemplate"`
 76966  }
 76967  
 76968  func init() {
 76969  	t["TemplateUpgradeEvent"] = reflect.TypeOf((*TemplateUpgradeEvent)(nil)).Elem()
 76970  }
 76971  
 76972  // This event records that the template upgrade failed.
 76973  type TemplateUpgradeFailedEvent struct {
 76974  	TemplateUpgradeEvent
 76975  
 76976  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 76977  }
 76978  
 76979  func init() {
 76980  	t["TemplateUpgradeFailedEvent"] = reflect.TypeOf((*TemplateUpgradeFailedEvent)(nil)).Elem()
 76981  }
 76982  
 76983  // This event records that the template upgrade succeeded.
 76984  type TemplateUpgradedEvent struct {
 76985  	TemplateUpgradeEvent
 76986  }
 76987  
 76988  func init() {
 76989  	t["TemplateUpgradedEvent"] = reflect.TypeOf((*TemplateUpgradedEvent)(nil)).Elem()
 76990  }
 76991  
 76992  // The parameters of `VirtualMachine.TerminateFaultTolerantVM_Task`.
 76993  type TerminateFaultTolerantVMRequestType struct {
 76994  	This ManagedObjectReference `xml:"_this" json:"-"`
 76995  	// The secondary virtual machine specified will be terminated, allowing
 76996  	// fault tolerance to activate. If no virtual machine is specified,
 76997  	// all secondary virtual machines will be terminated. If vm is a
 76998  	// primary, InvalidArgument exception is thrown.
 76999  	// This field must specify a virtual machine that is part of the fault
 77000  	// tolerant group that this virtual machine is currently associated with. It can
 77001  	// only be invoked from the primary virtual machine in the group. If the primary
 77002  	// virtual machine is terminated, an available secondary virtual machine will be
 77003  	// promoted to primary. If no secondary exists, an exception will be thrown and
 77004  	// the primary virtual machine will not be terminated. If a secondary virtual
 77005  	// machine is terminated, it may be respawned on a potentially different host.
 77006  	//
 77007  	// Refers instance of `VirtualMachine`.
 77008  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 77009  }
 77010  
 77011  func init() {
 77012  	t["TerminateFaultTolerantVMRequestType"] = reflect.TypeOf((*TerminateFaultTolerantVMRequestType)(nil)).Elem()
 77013  }
 77014  
 77015  type TerminateFaultTolerantVM_Task TerminateFaultTolerantVMRequestType
 77016  
 77017  func init() {
 77018  	t["TerminateFaultTolerantVM_Task"] = reflect.TypeOf((*TerminateFaultTolerantVM_Task)(nil)).Elem()
 77019  }
 77020  
 77021  type TerminateFaultTolerantVM_TaskResponse struct {
 77022  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 77023  }
 77024  
 77025  type TerminateProcessInGuest TerminateProcessInGuestRequestType
 77026  
 77027  func init() {
 77028  	t["TerminateProcessInGuest"] = reflect.TypeOf((*TerminateProcessInGuest)(nil)).Elem()
 77029  }
 77030  
 77031  // The parameters of `GuestProcessManager.TerminateProcessInGuest`.
 77032  type TerminateProcessInGuestRequestType struct {
 77033  	This ManagedObjectReference `xml:"_this" json:"-"`
 77034  	// Virtual machine to perform the operation on.
 77035  	//
 77036  	// Required privileges: VirtualMachine.GuestOperations.Execute
 77037  	//
 77038  	// Refers instance of `VirtualMachine`.
 77039  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 77040  	// The guest authentication data. See
 77041  	// `GuestAuthentication`.
 77042  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 77043  	// Process ID of the process to be terminated
 77044  	Pid int64 `xml:"pid" json:"pid"`
 77045  }
 77046  
 77047  func init() {
 77048  	t["TerminateProcessInGuestRequestType"] = reflect.TypeOf((*TerminateProcessInGuestRequestType)(nil)).Elem()
 77049  }
 77050  
 77051  type TerminateProcessInGuestResponse struct {
 77052  }
 77053  
 77054  type TerminateSession TerminateSessionRequestType
 77055  
 77056  func init() {
 77057  	t["TerminateSession"] = reflect.TypeOf((*TerminateSession)(nil)).Elem()
 77058  }
 77059  
 77060  // The parameters of `SessionManager.TerminateSession`.
 77061  type TerminateSessionRequestType struct {
 77062  	This ManagedObjectReference `xml:"_this" json:"-"`
 77063  	// A list of sessions to terminate.
 77064  	SessionId []string `xml:"sessionId" json:"sessionId"`
 77065  }
 77066  
 77067  func init() {
 77068  	t["TerminateSessionRequestType"] = reflect.TypeOf((*TerminateSessionRequestType)(nil)).Elem()
 77069  }
 77070  
 77071  type TerminateSessionResponse struct {
 77072  }
 77073  
 77074  type TerminateVM TerminateVMRequestType
 77075  
 77076  func init() {
 77077  	t["TerminateVM"] = reflect.TypeOf((*TerminateVM)(nil)).Elem()
 77078  }
 77079  
 77080  type TerminateVMRequestType struct {
 77081  	This ManagedObjectReference `xml:"_this" json:"-"`
 77082  }
 77083  
 77084  func init() {
 77085  	t["TerminateVMRequestType"] = reflect.TypeOf((*TerminateVMRequestType)(nil)).Elem()
 77086  }
 77087  
 77088  type TerminateVMResponse struct {
 77089  }
 77090  
 77091  type TestTimeService TestTimeServiceRequestType
 77092  
 77093  func init() {
 77094  	t["TestTimeService"] = reflect.TypeOf((*TestTimeService)(nil)).Elem()
 77095  }
 77096  
 77097  type TestTimeServiceRequestType struct {
 77098  	This ManagedObjectReference `xml:"_this" json:"-"`
 77099  }
 77100  
 77101  func init() {
 77102  	t["TestTimeServiceRequestType"] = reflect.TypeOf((*TestTimeServiceRequestType)(nil)).Elem()
 77103  }
 77104  
 77105  type TestTimeServiceResponse struct {
 77106  	Returnval *HostDateTimeSystemServiceTestResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 77107  }
 77108  
 77109  // A ThirdPartyLicenseAssignmentFailed fault is thrown when
 77110  // the license assignment to a 3rd party module fails.
 77111  //
 77112  // The 3rd-party modules are installed and ran on ESX hosts,
 77113  // so this fault provides both host and module IDs.
 77114  type ThirdPartyLicenseAssignmentFailed struct {
 77115  	RuntimeFault
 77116  
 77117  	// The ESX host where 3rd party license was applied.
 77118  	//
 77119  	// Refers instance of `HostSystem`.
 77120  	Host ManagedObjectReference `xml:"host" json:"host"`
 77121  	// The asset-id of 3rd party module
 77122  	Module string `xml:"module" json:"module"`
 77123  	// The reason why the assignment failed, if known.
 77124  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 77125  }
 77126  
 77127  func init() {
 77128  	t["ThirdPartyLicenseAssignmentFailed"] = reflect.TypeOf((*ThirdPartyLicenseAssignmentFailed)(nil)).Elem()
 77129  	minAPIVersionForType["ThirdPartyLicenseAssignmentFailed"] = "5.0"
 77130  }
 77131  
 77132  type ThirdPartyLicenseAssignmentFailedFault ThirdPartyLicenseAssignmentFailed
 77133  
 77134  func init() {
 77135  	t["ThirdPartyLicenseAssignmentFailedFault"] = reflect.TypeOf((*ThirdPartyLicenseAssignmentFailedFault)(nil)).Elem()
 77136  }
 77137  
 77138  // TicketedSessionAuthentication contains the information necessary to
 77139  // use previously obtained credentials in the guest.
 77140  //
 77141  // The ticketed session is not stateless and stores state inside of the guest.
 77142  //
 77143  // A TicketedSessionAuthentication object will be returned as the result of a
 77144  // successful call to `GuestAuthManager.AcquireCredentialsInGuest`. You can
 77145  // use this object in any guest operations function call.
 77146  //
 77147  // When you no longer need the TicketedSessionAuthentication object, you should
 77148  // call `GuestAuthManager.ReleaseCredentialsInGuest` to free associated resources
 77149  // and session data.
 77150  type TicketedSessionAuthentication struct {
 77151  	GuestAuthentication
 77152  
 77153  	// This contains a base64 encoded Ticket.
 77154  	Ticket string `xml:"ticket" json:"ticket"`
 77155  }
 77156  
 77157  func init() {
 77158  	t["TicketedSessionAuthentication"] = reflect.TypeOf((*TicketedSessionAuthentication)(nil)).Elem()
 77159  	minAPIVersionForType["TicketedSessionAuthentication"] = "5.0"
 77160  }
 77161  
 77162  // This event indicates that an operation performed on the host timed out.
 77163  //
 77164  // Typically,
 77165  // a previous event in the sequence of events contains more
 77166  // information about the cause of the operation timing out.
 77167  type TimedOutHostOperationEvent struct {
 77168  	HostEvent
 77169  }
 77170  
 77171  func init() {
 77172  	t["TimedOutHostOperationEvent"] = reflect.TypeOf((*TimedOutHostOperationEvent)(nil)).Elem()
 77173  }
 77174  
 77175  // Timedout exception is thrown when a server abandons an operation that
 77176  // is taking longer than expected.
 77177  type Timedout struct {
 77178  	VimFault
 77179  }
 77180  
 77181  func init() {
 77182  	t["Timedout"] = reflect.TypeOf((*Timedout)(nil)).Elem()
 77183  }
 77184  
 77185  type TimedoutFault BaseTimedout
 77186  
 77187  func init() {
 77188  	t["TimedoutFault"] = reflect.TypeOf((*TimedoutFault)(nil)).Elem()
 77189  }
 77190  
 77191  // Thrown if the number of levels in the snapshot tree exceeds
 77192  // the supported maximum.
 77193  type TooManyConcurrentNativeClones struct {
 77194  	FileFault
 77195  }
 77196  
 77197  func init() {
 77198  	t["TooManyConcurrentNativeClones"] = reflect.TypeOf((*TooManyConcurrentNativeClones)(nil)).Elem()
 77199  	minAPIVersionForType["TooManyConcurrentNativeClones"] = "5.0"
 77200  }
 77201  
 77202  type TooManyConcurrentNativeClonesFault TooManyConcurrentNativeClones
 77203  
 77204  func init() {
 77205  	t["TooManyConcurrentNativeClonesFault"] = reflect.TypeOf((*TooManyConcurrentNativeClonesFault)(nil)).Elem()
 77206  }
 77207  
 77208  // Thrown if there are too many consecutive user overrides of
 77209  // server-managed settings.
 77210  //
 77211  // There are some properties which users are
 77212  // allowed to set only in certain configurations. The system controls them
 77213  // in other configurations, and overrides all user updates. If there are
 77214  // such frequent user overrides in the system controlled state that the
 77215  // next update arrives before the previous override is complete, the
 77216  // system can enter a tight loop and appear unresponsive to the user. This
 77217  // would typically happen if the user overrides are generated by a script.
 77218  // If the number of such user overrides exceeds the supported maximum, we
 77219  // conceptually "throw" this fault. In practice, this is converted into a
 77220  // host-level ConfigIssue in VC.
 77221  type TooManyConsecutiveOverrides struct {
 77222  	VimFault
 77223  }
 77224  
 77225  func init() {
 77226  	t["TooManyConsecutiveOverrides"] = reflect.TypeOf((*TooManyConsecutiveOverrides)(nil)).Elem()
 77227  	minAPIVersionForType["TooManyConsecutiveOverrides"] = "2.5"
 77228  }
 77229  
 77230  type TooManyConsecutiveOverridesFault TooManyConsecutiveOverrides
 77231  
 77232  func init() {
 77233  	t["TooManyConsecutiveOverridesFault"] = reflect.TypeOf((*TooManyConsecutiveOverridesFault)(nil)).Elem()
 77234  }
 77235  
 77236  // Thrown when the number of virtual devices exceeds the maximum for
 77237  // a given controller.
 77238  type TooManyDevices struct {
 77239  	InvalidVmConfig
 77240  }
 77241  
 77242  func init() {
 77243  	t["TooManyDevices"] = reflect.TypeOf((*TooManyDevices)(nil)).Elem()
 77244  }
 77245  
 77246  type TooManyDevicesFault TooManyDevices
 77247  
 77248  func init() {
 77249  	t["TooManyDevicesFault"] = reflect.TypeOf((*TooManyDevicesFault)(nil)).Elem()
 77250  }
 77251  
 77252  // Deprecated as of vSphere 4.1, this error condition is no longer possible.
 77253  //
 77254  // The VM has too many disks which can cause the VM to take a long time
 77255  // to power-on.
 77256  //
 77257  // This can result in migration taking a long time to complete
 77258  // or to fail due to timeout. This is a problem only for migration of
 77259  // powered-on virtual machines from or to ESX 2.x hosts.
 77260  type TooManyDisksOnLegacyHost struct {
 77261  	MigrationFault
 77262  
 77263  	// The number disks this VM has.
 77264  	DiskCount int32 `xml:"diskCount" json:"diskCount"`
 77265  	// Whether this number of disks will cause a timeout failure.
 77266  	TimeoutDanger bool `xml:"timeoutDanger" json:"timeoutDanger"`
 77267  }
 77268  
 77269  func init() {
 77270  	t["TooManyDisksOnLegacyHost"] = reflect.TypeOf((*TooManyDisksOnLegacyHost)(nil)).Elem()
 77271  	minAPIVersionForType["TooManyDisksOnLegacyHost"] = "2.5"
 77272  }
 77273  
 77274  type TooManyDisksOnLegacyHostFault TooManyDisksOnLegacyHost
 77275  
 77276  func init() {
 77277  	t["TooManyDisksOnLegacyHostFault"] = reflect.TypeOf((*TooManyDisksOnLegacyHostFault)(nil)).Elem()
 77278  }
 77279  
 77280  // A TooManyGuestLogons exception is thrown when
 77281  // there are too many concurrent login sessions active
 77282  // in the guest.
 77283  //
 77284  // `GuestAuthManager.ReleaseCredentialsInGuest` can be called
 77285  // on ticketed sessions that are no longer needed. This will decrease
 77286  // the number of concurrent sessions active in the guest.
 77287  type TooManyGuestLogons struct {
 77288  	GuestOperationsFault
 77289  }
 77290  
 77291  func init() {
 77292  	t["TooManyGuestLogons"] = reflect.TypeOf((*TooManyGuestLogons)(nil)).Elem()
 77293  	minAPIVersionForType["TooManyGuestLogons"] = "5.0"
 77294  }
 77295  
 77296  type TooManyGuestLogonsFault TooManyGuestLogons
 77297  
 77298  func init() {
 77299  	t["TooManyGuestLogonsFault"] = reflect.TypeOf((*TooManyGuestLogonsFault)(nil)).Elem()
 77300  }
 77301  
 77302  // Thrown when a computer resource does not accept any more hosts.
 77303  //
 77304  // Clusters with DRS or
 77305  // HA enabled might impose a limit on the size of the cluster.
 77306  type TooManyHosts struct {
 77307  	HostConnectFault
 77308  }
 77309  
 77310  func init() {
 77311  	t["TooManyHosts"] = reflect.TypeOf((*TooManyHosts)(nil)).Elem()
 77312  }
 77313  
 77314  type TooManyHostsFault TooManyHosts
 77315  
 77316  func init() {
 77317  	t["TooManyHostsFault"] = reflect.TypeOf((*TooManyHostsFault)(nil)).Elem()
 77318  }
 77319  
 77320  // Thrown if the number of levels in the snapshot tree exceeds
 77321  // the supported maximum.
 77322  type TooManyNativeCloneLevels struct {
 77323  	FileFault
 77324  }
 77325  
 77326  func init() {
 77327  	t["TooManyNativeCloneLevels"] = reflect.TypeOf((*TooManyNativeCloneLevels)(nil)).Elem()
 77328  	minAPIVersionForType["TooManyNativeCloneLevels"] = "5.0"
 77329  }
 77330  
 77331  type TooManyNativeCloneLevelsFault TooManyNativeCloneLevels
 77332  
 77333  func init() {
 77334  	t["TooManyNativeCloneLevelsFault"] = reflect.TypeOf((*TooManyNativeCloneLevelsFault)(nil)).Elem()
 77335  }
 77336  
 77337  // Thrown if the number of levels in the snapshot tree exceeds
 77338  // the supported maximum.
 77339  type TooManyNativeClonesOnFile struct {
 77340  	FileFault
 77341  }
 77342  
 77343  func init() {
 77344  	t["TooManyNativeClonesOnFile"] = reflect.TypeOf((*TooManyNativeClonesOnFile)(nil)).Elem()
 77345  	minAPIVersionForType["TooManyNativeClonesOnFile"] = "5.0"
 77346  }
 77347  
 77348  type TooManyNativeClonesOnFileFault TooManyNativeClonesOnFile
 77349  
 77350  func init() {
 77351  	t["TooManyNativeClonesOnFileFault"] = reflect.TypeOf((*TooManyNativeClonesOnFileFault)(nil)).Elem()
 77352  }
 77353  
 77354  // Thrown if the number of levels in the snapshot tree exceeds
 77355  // the supported maximum.
 77356  type TooManySnapshotLevels struct {
 77357  	SnapshotFault
 77358  }
 77359  
 77360  func init() {
 77361  	t["TooManySnapshotLevels"] = reflect.TypeOf((*TooManySnapshotLevels)(nil)).Elem()
 77362  }
 77363  
 77364  type TooManySnapshotLevelsFault TooManySnapshotLevels
 77365  
 77366  func init() {
 77367  	t["TooManySnapshotLevelsFault"] = reflect.TypeOf((*TooManySnapshotLevelsFault)(nil)).Elem()
 77368  }
 77369  
 77370  // Thrown when tools upgrade fails because the version of tools
 77371  // installed in the guest is already up-to-date.
 77372  type ToolsAlreadyUpgraded struct {
 77373  	VmToolsUpgradeFault
 77374  }
 77375  
 77376  func init() {
 77377  	t["ToolsAlreadyUpgraded"] = reflect.TypeOf((*ToolsAlreadyUpgraded)(nil)).Elem()
 77378  	minAPIVersionForType["ToolsAlreadyUpgraded"] = "4.0"
 77379  }
 77380  
 77381  type ToolsAlreadyUpgradedFault ToolsAlreadyUpgraded
 77382  
 77383  func init() {
 77384  	t["ToolsAlreadyUpgradedFault"] = reflect.TypeOf((*ToolsAlreadyUpgradedFault)(nil)).Elem()
 77385  }
 77386  
 77387  // Thrown when tools upgrade fails because the virtual machine's
 77388  // guest operating system doesn't support tools auto-upgrades.
 77389  type ToolsAutoUpgradeNotSupported struct {
 77390  	VmToolsUpgradeFault
 77391  }
 77392  
 77393  func init() {
 77394  	t["ToolsAutoUpgradeNotSupported"] = reflect.TypeOf((*ToolsAutoUpgradeNotSupported)(nil)).Elem()
 77395  	minAPIVersionForType["ToolsAutoUpgradeNotSupported"] = "4.0"
 77396  }
 77397  
 77398  type ToolsAutoUpgradeNotSupportedFault ToolsAutoUpgradeNotSupported
 77399  
 77400  func init() {
 77401  	t["ToolsAutoUpgradeNotSupportedFault"] = reflect.TypeOf((*ToolsAutoUpgradeNotSupportedFault)(nil)).Elem()
 77402  }
 77403  
 77404  // ToolsConfigInfo is a data object type containing settings for the VMware Tools
 77405  // software running in the guest operating system.
 77406  type ToolsConfigInfo struct {
 77407  	DynamicData
 77408  
 77409  	// Version of VMware Tools installed on the guest operating system.
 77410  	ToolsVersion int32 `xml:"toolsVersion,omitempty" json:"toolsVersion,omitempty"`
 77411  	// Installation type of VMware Tools in the guest operating system.
 77412  	//
 77413  	// The set of possible values is described in
 77414  	// `VirtualMachineToolsInstallType_enum`
 77415  	ToolsInstallType string `xml:"toolsInstallType,omitempty" json:"toolsInstallType,omitempty" vim:"6.5"`
 77416  	// Flag to specify whether or not scripts should run
 77417  	// after the virtual machine powers on.
 77418  	AfterPowerOn *bool `xml:"afterPowerOn" json:"afterPowerOn,omitempty"`
 77419  	// Flag to specify whether or not scripts should run
 77420  	// after the virtual machine resumes.
 77421  	AfterResume *bool `xml:"afterResume" json:"afterResume,omitempty"`
 77422  	// Flag to specify whether or not scripts should run
 77423  	// before the virtual machine suspends.
 77424  	BeforeGuestStandby *bool `xml:"beforeGuestStandby" json:"beforeGuestStandby,omitempty"`
 77425  	// Flag to specify whether or not scripts should run
 77426  	// before the virtual machine powers off.
 77427  	BeforeGuestShutdown *bool `xml:"beforeGuestShutdown" json:"beforeGuestShutdown,omitempty"`
 77428  	// Flag to specify whether or not scripts should run
 77429  	// before the virtual machine reboots.
 77430  	BeforeGuestReboot *bool `xml:"beforeGuestReboot" json:"beforeGuestReboot,omitempty"`
 77431  	// Tools upgrade policy setting for the virtual machine.
 77432  	//
 77433  	// See also `UpgradePolicy_enum`.
 77434  	ToolsUpgradePolicy string `xml:"toolsUpgradePolicy,omitempty" json:"toolsUpgradePolicy,omitempty" vim:"2.5"`
 77435  	// When set, this indicates that a customization operation is pending on the VM.
 77436  	//
 77437  	// The value represents the filename of the customization package on the host.
 77438  	PendingCustomization string `xml:"pendingCustomization,omitempty" json:"pendingCustomization,omitempty" vim:"2.5"`
 77439  	// When set, provides the id of the key used to encrypt the customization
 77440  	// package attached to the VM.
 77441  	CustomizationKeyId *CryptoKeyId `xml:"customizationKeyId,omitempty" json:"customizationKeyId,omitempty" vim:"6.5"`
 77442  	// Indicates whether or not the tools program is allowed to synchronize
 77443  	// guest time with host time.
 77444  	//
 77445  	// When set to <code>false</code>, disallows
 77446  	// tool periodic time synchronization as well as guest time step corrections
 77447  	// due to one-off events like resume from suspend.
 77448  	SyncTimeWithHostAllowed *bool `xml:"syncTimeWithHostAllowed" json:"syncTimeWithHostAllowed,omitempty" vim:"7.0.1.0"`
 77449  	// Flag to specify whether or not the tools program will periodically
 77450  	// synchronize guest time with host time.
 77451  	//
 77452  	// Periodical synchronization is
 77453  	// only allowed if `ToolsConfigInfo.syncTimeWithHostAllowed`
 77454  	// is not set to <code>false</code>.
 77455  	SyncTimeWithHost *bool `xml:"syncTimeWithHost" json:"syncTimeWithHost,omitempty" vim:"2.5"`
 77456  	// Information about the last tools upgrade attempt if applicable.
 77457  	//
 77458  	// This information is maintained by the server and is ignored if set by the client.
 77459  	LastInstallInfo *ToolsConfigInfoToolsLastInstallInfo `xml:"lastInstallInfo,omitempty" json:"lastInstallInfo,omitempty" vim:"5.0"`
 77460  }
 77461  
 77462  func init() {
 77463  	t["ToolsConfigInfo"] = reflect.TypeOf((*ToolsConfigInfo)(nil)).Elem()
 77464  }
 77465  
 77466  // Describes status of last tools upgrade attempt
 77467  type ToolsConfigInfoToolsLastInstallInfo struct {
 77468  	DynamicData
 77469  
 77470  	// Number of attempts that have been made to upgrade the version of tools
 77471  	// installed on this virtual machine.
 77472  	Counter int32 `xml:"counter" json:"counter"`
 77473  	// Error that happened, if any, during last attempt to upgrade tools.
 77474  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 77475  }
 77476  
 77477  func init() {
 77478  	t["ToolsConfigInfoToolsLastInstallInfo"] = reflect.TypeOf((*ToolsConfigInfoToolsLastInstallInfo)(nil)).Elem()
 77479  	minAPIVersionForType["ToolsConfigInfoToolsLastInstallInfo"] = "5.0"
 77480  }
 77481  
 77482  // Thrown when the tools image couldn't be copied to the guest
 77483  // operating system: disk out of space, file access error, etc.
 77484  type ToolsImageCopyFailed struct {
 77485  	VmToolsUpgradeFault
 77486  }
 77487  
 77488  func init() {
 77489  	t["ToolsImageCopyFailed"] = reflect.TypeOf((*ToolsImageCopyFailed)(nil)).Elem()
 77490  	minAPIVersionForType["ToolsImageCopyFailed"] = "5.1"
 77491  }
 77492  
 77493  type ToolsImageCopyFailedFault ToolsImageCopyFailed
 77494  
 77495  func init() {
 77496  	t["ToolsImageCopyFailedFault"] = reflect.TypeOf((*ToolsImageCopyFailedFault)(nil)).Elem()
 77497  }
 77498  
 77499  // Thrown when tools install or upgrade fails because the required
 77500  // tools image is not available.
 77501  type ToolsImageNotAvailable struct {
 77502  	VmToolsUpgradeFault
 77503  }
 77504  
 77505  func init() {
 77506  	t["ToolsImageNotAvailable"] = reflect.TypeOf((*ToolsImageNotAvailable)(nil)).Elem()
 77507  	minAPIVersionForType["ToolsImageNotAvailable"] = "4.0"
 77508  }
 77509  
 77510  type ToolsImageNotAvailableFault ToolsImageNotAvailable
 77511  
 77512  func init() {
 77513  	t["ToolsImageNotAvailableFault"] = reflect.TypeOf((*ToolsImageNotAvailableFault)(nil)).Elem()
 77514  }
 77515  
 77516  // Thrown when tools install or upgrade fails because the
 77517  // signature check on the tools image failed.
 77518  type ToolsImageSignatureCheckFailed struct {
 77519  	VmToolsUpgradeFault
 77520  }
 77521  
 77522  func init() {
 77523  	t["ToolsImageSignatureCheckFailed"] = reflect.TypeOf((*ToolsImageSignatureCheckFailed)(nil)).Elem()
 77524  	minAPIVersionForType["ToolsImageSignatureCheckFailed"] = "4.0"
 77525  }
 77526  
 77527  type ToolsImageSignatureCheckFailedFault ToolsImageSignatureCheckFailed
 77528  
 77529  func init() {
 77530  	t["ToolsImageSignatureCheckFailedFault"] = reflect.TypeOf((*ToolsImageSignatureCheckFailedFault)(nil)).Elem()
 77531  }
 77532  
 77533  // The virtual machine is currently in the progress of guest tools installation
 77534  // that prevents the migration operation.
 77535  type ToolsInstallationInProgress struct {
 77536  	MigrationFault
 77537  }
 77538  
 77539  func init() {
 77540  	t["ToolsInstallationInProgress"] = reflect.TypeOf((*ToolsInstallationInProgress)(nil)).Elem()
 77541  	minAPIVersionForType["ToolsInstallationInProgress"] = "4.0"
 77542  }
 77543  
 77544  type ToolsInstallationInProgressFault ToolsInstallationInProgress
 77545  
 77546  func init() {
 77547  	t["ToolsInstallationInProgressFault"] = reflect.TypeOf((*ToolsInstallationInProgressFault)(nil)).Elem()
 77548  }
 77549  
 77550  // A ToolsUnavailableFault exception is thrown when an
 77551  // operation fails to contact VMware Tools
 77552  // running inside the virtual machine.
 77553  type ToolsUnavailable struct {
 77554  	VimFault
 77555  }
 77556  
 77557  func init() {
 77558  	t["ToolsUnavailable"] = reflect.TypeOf((*ToolsUnavailable)(nil)).Elem()
 77559  }
 77560  
 77561  type ToolsUnavailableFault ToolsUnavailable
 77562  
 77563  func init() {
 77564  	t["ToolsUnavailableFault"] = reflect.TypeOf((*ToolsUnavailableFault)(nil)).Elem()
 77565  }
 77566  
 77567  // Thrown when tools install or upgrade fails because the
 77568  // operation was canclled by the user.
 77569  type ToolsUpgradeCancelled struct {
 77570  	VmToolsUpgradeFault
 77571  }
 77572  
 77573  func init() {
 77574  	t["ToolsUpgradeCancelled"] = reflect.TypeOf((*ToolsUpgradeCancelled)(nil)).Elem()
 77575  	minAPIVersionForType["ToolsUpgradeCancelled"] = "4.0"
 77576  }
 77577  
 77578  type ToolsUpgradeCancelledFault ToolsUpgradeCancelled
 77579  
 77580  func init() {
 77581  	t["ToolsUpgradeCancelledFault"] = reflect.TypeOf((*ToolsUpgradeCancelledFault)(nil)).Elem()
 77582  }
 77583  
 77584  // The `TraversalSpec` data object type specifies
 77585  // how to derive a new set of objects to add to the filter.
 77586  //
 77587  // It specifies a property path whose value is either another managed
 77588  // object or an array of managed objects included in the set of objects for
 77589  // consideration. This data object can also be named, using the "name"
 77590  // field in the base type.
 77591  type TraversalSpec struct {
 77592  	SelectionSpec
 77593  
 77594  	// Name of the object type containing the property.
 77595  	Type string `xml:"type" json:"type"`
 77596  	// Name of the property to use in order to select additional objects.
 77597  	Path string `xml:"path" json:"path"`
 77598  	// Flag to indicate whether or not to filter the object in the "path"
 77599  	// field.
 77600  	Skip *bool `xml:"skip" json:"skip,omitempty"`
 77601  	// Optional set of selections to specify additional objects to filter.
 77602  	SelectSet []BaseSelectionSpec `xml:"selectSet,omitempty,typeattr" json:"selectSet,omitempty"`
 77603  }
 77604  
 77605  func init() {
 77606  	t["TraversalSpec"] = reflect.TypeOf((*TraversalSpec)(nil)).Elem()
 77607  }
 77608  
 77609  // The parameters of `HostStorageSystem.TurnDiskLocatorLedOff_Task`.
 77610  type TurnDiskLocatorLedOffRequestType struct {
 77611  	This ManagedObjectReference `xml:"_this" json:"-"`
 77612  	// The SCSI disk UUIDs for which the disk locator LED
 77613  	// should be turned off.
 77614  	ScsiDiskUuids []string `xml:"scsiDiskUuids" json:"scsiDiskUuids"`
 77615  }
 77616  
 77617  func init() {
 77618  	t["TurnDiskLocatorLedOffRequestType"] = reflect.TypeOf((*TurnDiskLocatorLedOffRequestType)(nil)).Elem()
 77619  }
 77620  
 77621  type TurnDiskLocatorLedOff_Task TurnDiskLocatorLedOffRequestType
 77622  
 77623  func init() {
 77624  	t["TurnDiskLocatorLedOff_Task"] = reflect.TypeOf((*TurnDiskLocatorLedOff_Task)(nil)).Elem()
 77625  }
 77626  
 77627  type TurnDiskLocatorLedOff_TaskResponse struct {
 77628  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 77629  }
 77630  
 77631  // The parameters of `HostStorageSystem.TurnDiskLocatorLedOn_Task`.
 77632  type TurnDiskLocatorLedOnRequestType struct {
 77633  	This ManagedObjectReference `xml:"_this" json:"-"`
 77634  	// The SCSI disk UUIDs for which the disk locator LED
 77635  	// should be turned on.
 77636  	ScsiDiskUuids []string `xml:"scsiDiskUuids" json:"scsiDiskUuids"`
 77637  }
 77638  
 77639  func init() {
 77640  	t["TurnDiskLocatorLedOnRequestType"] = reflect.TypeOf((*TurnDiskLocatorLedOnRequestType)(nil)).Elem()
 77641  }
 77642  
 77643  type TurnDiskLocatorLedOn_Task TurnDiskLocatorLedOnRequestType
 77644  
 77645  func init() {
 77646  	t["TurnDiskLocatorLedOn_Task"] = reflect.TypeOf((*TurnDiskLocatorLedOn_Task)(nil)).Elem()
 77647  }
 77648  
 77649  type TurnDiskLocatorLedOn_TaskResponse struct {
 77650  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 77651  }
 77652  
 77653  type TurnOffFaultToleranceForVMRequestType struct {
 77654  	This ManagedObjectReference `xml:"_this" json:"-"`
 77655  }
 77656  
 77657  func init() {
 77658  	t["TurnOffFaultToleranceForVMRequestType"] = reflect.TypeOf((*TurnOffFaultToleranceForVMRequestType)(nil)).Elem()
 77659  }
 77660  
 77661  type TurnOffFaultToleranceForVM_Task TurnOffFaultToleranceForVMRequestType
 77662  
 77663  func init() {
 77664  	t["TurnOffFaultToleranceForVM_Task"] = reflect.TypeOf((*TurnOffFaultToleranceForVM_Task)(nil)).Elem()
 77665  }
 77666  
 77667  type TurnOffFaultToleranceForVM_TaskResponse struct {
 77668  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 77669  }
 77670  
 77671  // Static strings used for describing an object type.
 77672  type TypeDescription struct {
 77673  	Description
 77674  
 77675  	// Type being described
 77676  	Key string `xml:"key" json:"key"`
 77677  }
 77678  
 77679  func init() {
 77680  	t["TypeDescription"] = reflect.TypeOf((*TypeDescription)(nil)).Elem()
 77681  }
 77682  
 77683  // VFlash is not supported on the datastore.
 77684  type UnSupportedDatastoreForVFlash struct {
 77685  	UnsupportedDatastore
 77686  
 77687  	// The name of the Datastore.
 77688  	DatastoreName string `xml:"datastoreName" json:"datastoreName"`
 77689  	// Datastore file system volume type.
 77690  	//
 77691  	// See `DatastoreSummary.type`
 77692  	Type string `xml:"type" json:"type"`
 77693  }
 77694  
 77695  func init() {
 77696  	t["UnSupportedDatastoreForVFlash"] = reflect.TypeOf((*UnSupportedDatastoreForVFlash)(nil)).Elem()
 77697  	minAPIVersionForType["UnSupportedDatastoreForVFlash"] = "5.5"
 77698  }
 77699  
 77700  type UnSupportedDatastoreForVFlashFault UnSupportedDatastoreForVFlash
 77701  
 77702  func init() {
 77703  	t["UnSupportedDatastoreForVFlashFault"] = reflect.TypeOf((*UnSupportedDatastoreForVFlashFault)(nil)).Elem()
 77704  }
 77705  
 77706  type UnassignUserFromGroup UnassignUserFromGroupRequestType
 77707  
 77708  func init() {
 77709  	t["UnassignUserFromGroup"] = reflect.TypeOf((*UnassignUserFromGroup)(nil)).Elem()
 77710  }
 77711  
 77712  // The parameters of `HostLocalAccountManager.UnassignUserFromGroup`.
 77713  type UnassignUserFromGroupRequestType struct {
 77714  	This ManagedObjectReference `xml:"_this" json:"-"`
 77715  	// User being unassigned from group.
 77716  	User string `xml:"user" json:"user"`
 77717  	// Group from which the user is being removed.
 77718  	Group string `xml:"group" json:"group"`
 77719  }
 77720  
 77721  func init() {
 77722  	t["UnassignUserFromGroupRequestType"] = reflect.TypeOf((*UnassignUserFromGroupRequestType)(nil)).Elem()
 77723  }
 77724  
 77725  type UnassignUserFromGroupResponse struct {
 77726  }
 77727  
 77728  type UnbindVnic UnbindVnicRequestType
 77729  
 77730  func init() {
 77731  	t["UnbindVnic"] = reflect.TypeOf((*UnbindVnic)(nil)).Elem()
 77732  }
 77733  
 77734  // The parameters of `IscsiManager.UnbindVnic`.
 77735  type UnbindVnicRequestType struct {
 77736  	This ManagedObjectReference `xml:"_this" json:"-"`
 77737  	// iSCSI adapter name for which the Virtual NIC to
 77738  	// be removed.
 77739  	IScsiHbaName string `xml:"iScsiHbaName" json:"iScsiHbaName"`
 77740  	// Virtual NIC that is to be removed from the iSCSI HBA
 77741  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 77742  	Force      bool   `xml:"force" json:"force"`
 77743  }
 77744  
 77745  func init() {
 77746  	t["UnbindVnicRequestType"] = reflect.TypeOf((*UnbindVnicRequestType)(nil)).Elem()
 77747  }
 77748  
 77749  type UnbindVnicResponse struct {
 77750  }
 77751  
 77752  // Fault thrown when an attempt is made to move or clone an undoable disk with an
 77753  // uncommitted REDO log.
 77754  //
 77755  // This is an error. Undoable disks may be moved but they must
 77756  // be committed.
 77757  type UncommittedUndoableDisk struct {
 77758  	MigrationFault
 77759  }
 77760  
 77761  func init() {
 77762  	t["UncommittedUndoableDisk"] = reflect.TypeOf((*UncommittedUndoableDisk)(nil)).Elem()
 77763  }
 77764  
 77765  type UncommittedUndoableDiskFault UncommittedUndoableDisk
 77766  
 77767  func init() {
 77768  	t["UncommittedUndoableDiskFault"] = reflect.TypeOf((*UncommittedUndoableDiskFault)(nil)).Elem()
 77769  }
 77770  
 77771  // The property value has not been configured by the user, so the application
 77772  // cannot be started.
 77773  //
 77774  // This is thrown if a property value is the empty string
 77775  // and the types does not allow it. For example, for an integer type or
 77776  // a string where the minimum length is 1, and so forth.
 77777  type UnconfiguredPropertyValue struct {
 77778  	InvalidPropertyValue
 77779  }
 77780  
 77781  func init() {
 77782  	t["UnconfiguredPropertyValue"] = reflect.TypeOf((*UnconfiguredPropertyValue)(nil)).Elem()
 77783  	minAPIVersionForType["UnconfiguredPropertyValue"] = "4.0"
 77784  }
 77785  
 77786  type UnconfiguredPropertyValueFault UnconfiguredPropertyValue
 77787  
 77788  func init() {
 77789  	t["UnconfiguredPropertyValueFault"] = reflect.TypeOf((*UnconfiguredPropertyValueFault)(nil)).Elem()
 77790  }
 77791  
 77792  // The specified guest operating system is not supported by the guest
 77793  // customization process.
 77794  type UncustomizableGuest struct {
 77795  	CustomizationFault
 77796  
 77797  	// The guest OS ID for the uncustomizable guest.
 77798  	UncustomizableGuestOS string `xml:"uncustomizableGuestOS" json:"uncustomizableGuestOS"`
 77799  }
 77800  
 77801  func init() {
 77802  	t["UncustomizableGuest"] = reflect.TypeOf((*UncustomizableGuest)(nil)).Elem()
 77803  }
 77804  
 77805  type UncustomizableGuestFault UncustomizableGuest
 77806  
 77807  func init() {
 77808  	t["UncustomizableGuestFault"] = reflect.TypeOf((*UncustomizableGuestFault)(nil)).Elem()
 77809  }
 77810  
 77811  // Error received when customization fails, possibly due to a scripting runtime
 77812  // error or invalid script parameters.
 77813  type UnexpectedCustomizationFault struct {
 77814  	CustomizationFault
 77815  }
 77816  
 77817  func init() {
 77818  	t["UnexpectedCustomizationFault"] = reflect.TypeOf((*UnexpectedCustomizationFault)(nil)).Elem()
 77819  }
 77820  
 77821  type UnexpectedCustomizationFaultFault UnexpectedCustomizationFault
 77822  
 77823  func init() {
 77824  	t["UnexpectedCustomizationFaultFault"] = reflect.TypeOf((*UnexpectedCustomizationFaultFault)(nil)).Elem()
 77825  }
 77826  
 77827  // An UnexpectedFault may be thrown when a newer version of the server
 77828  // reports a error that a cannot be converted to a fault that a client
 77829  // that is using an older version of the API would expect.
 77830  type UnexpectedFault struct {
 77831  	RuntimeFault
 77832  
 77833  	// Name of the unexpected fault.
 77834  	FaultName string `xml:"faultName" json:"faultName"`
 77835  	// The unexpected fault if the server can send it in a form that the client
 77836  	// will be able to de-serialize.
 77837  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 77838  }
 77839  
 77840  func init() {
 77841  	t["UnexpectedFault"] = reflect.TypeOf((*UnexpectedFault)(nil)).Elem()
 77842  }
 77843  
 77844  type UnexpectedFaultFault UnexpectedFault
 77845  
 77846  func init() {
 77847  	t["UnexpectedFaultFault"] = reflect.TypeOf((*UnexpectedFaultFault)(nil)).Elem()
 77848  }
 77849  
 77850  // The parameters of `HostPatchManager.UninstallHostPatch_Task`.
 77851  type UninstallHostPatchRequestType struct {
 77852  	This ManagedObjectReference `xml:"_this" json:"-"`
 77853  	// A list of bulletin IDs to be removed.
 77854  	BulletinIds []string                                   `xml:"bulletinIds,omitempty" json:"bulletinIds,omitempty"`
 77855  	Spec        *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 77856  }
 77857  
 77858  func init() {
 77859  	t["UninstallHostPatchRequestType"] = reflect.TypeOf((*UninstallHostPatchRequestType)(nil)).Elem()
 77860  }
 77861  
 77862  type UninstallHostPatch_Task UninstallHostPatchRequestType
 77863  
 77864  func init() {
 77865  	t["UninstallHostPatch_Task"] = reflect.TypeOf((*UninstallHostPatch_Task)(nil)).Elem()
 77866  }
 77867  
 77868  type UninstallHostPatch_TaskResponse struct {
 77869  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 77870  }
 77871  
 77872  // The parameters of `IoFilterManager.UninstallIoFilter_Task`.
 77873  type UninstallIoFilterRequestType struct {
 77874  	This ManagedObjectReference `xml:"_this" json:"-"`
 77875  	// ID of the filter.
 77876  	FilterId string `xml:"filterId" json:"filterId"`
 77877  	// The compute resource to uninstall the IO Filter from.
 77878  	// "compRes" must be a cluster.
 77879  	//
 77880  	// Refers instance of `ComputeResource`.
 77881  	CompRes ManagedObjectReference `xml:"compRes" json:"compRes"`
 77882  }
 77883  
 77884  func init() {
 77885  	t["UninstallIoFilterRequestType"] = reflect.TypeOf((*UninstallIoFilterRequestType)(nil)).Elem()
 77886  }
 77887  
 77888  type UninstallIoFilter_Task UninstallIoFilterRequestType
 77889  
 77890  func init() {
 77891  	t["UninstallIoFilter_Task"] = reflect.TypeOf((*UninstallIoFilter_Task)(nil)).Elem()
 77892  }
 77893  
 77894  type UninstallIoFilter_TaskResponse struct {
 77895  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 77896  }
 77897  
 77898  type UninstallService UninstallServiceRequestType
 77899  
 77900  func init() {
 77901  	t["UninstallService"] = reflect.TypeOf((*UninstallService)(nil)).Elem()
 77902  }
 77903  
 77904  // The parameters of `HostServiceSystem.UninstallService`.
 77905  type UninstallServiceRequestType struct {
 77906  	This ManagedObjectReference `xml:"_this" json:"-"`
 77907  	// Service identifier
 77908  	// (`HostServiceSystem.serviceInfo*.*HostServiceInfo.service*.*HostService.key`).
 77909  	Id string `xml:"id" json:"id"`
 77910  }
 77911  
 77912  func init() {
 77913  	t["UninstallServiceRequestType"] = reflect.TypeOf((*UninstallServiceRequestType)(nil)).Elem()
 77914  }
 77915  
 77916  type UninstallServiceResponse struct {
 77917  }
 77918  
 77919  // This event records that we have unlicensed virtual machines on the
 77920  // specified host.
 77921  //
 77922  // This can be both a (@link vim.ManagedEntity.configIssue
 77923  // configIssue) and an entry in the event log.
 77924  type UnlicensedVirtualMachinesEvent struct {
 77925  	LicenseEvent
 77926  
 77927  	Unlicensed int32 `xml:"unlicensed" json:"unlicensed"`
 77928  	Available  int32 `xml:"available" json:"available"`
 77929  }
 77930  
 77931  func init() {
 77932  	t["UnlicensedVirtualMachinesEvent"] = reflect.TypeOf((*UnlicensedVirtualMachinesEvent)(nil)).Elem()
 77933  	minAPIVersionForType["UnlicensedVirtualMachinesEvent"] = "2.5"
 77934  }
 77935  
 77936  // This event records that we discovered unlicensed virtual machines on
 77937  // the specified host.
 77938  //
 77939  // After this event is entered into the event log, we
 77940  // expect to see a corresponding (@link
 77941  // vim.event.Event.UnlicensedVirtualMachinesEvent
 77942  // UnlicensedVirtualMachinesEvent) (@link vim.ManagedEntity.configIssue
 77943  // configIssue) on the host.
 77944  type UnlicensedVirtualMachinesFoundEvent struct {
 77945  	LicenseEvent
 77946  
 77947  	Available int32 `xml:"available" json:"available"`
 77948  }
 77949  
 77950  func init() {
 77951  	t["UnlicensedVirtualMachinesFoundEvent"] = reflect.TypeOf((*UnlicensedVirtualMachinesFoundEvent)(nil)).Elem()
 77952  	minAPIVersionForType["UnlicensedVirtualMachinesFoundEvent"] = "2.5"
 77953  }
 77954  
 77955  // The parameters of `HostStorageSystem.UnmapVmfsVolumeEx_Task`.
 77956  type UnmapVmfsVolumeExRequestType struct {
 77957  	This ManagedObjectReference `xml:"_this" json:"-"`
 77958  	// each element specifies the UUID of a VMFS volume to be unmapped.
 77959  	VmfsUuid []string `xml:"vmfsUuid" json:"vmfsUuid"`
 77960  }
 77961  
 77962  func init() {
 77963  	t["UnmapVmfsVolumeExRequestType"] = reflect.TypeOf((*UnmapVmfsVolumeExRequestType)(nil)).Elem()
 77964  }
 77965  
 77966  type UnmapVmfsVolumeEx_Task UnmapVmfsVolumeExRequestType
 77967  
 77968  func init() {
 77969  	t["UnmapVmfsVolumeEx_Task"] = reflect.TypeOf((*UnmapVmfsVolumeEx_Task)(nil)).Elem()
 77970  }
 77971  
 77972  type UnmapVmfsVolumeEx_TaskResponse struct {
 77973  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 77974  }
 77975  
 77976  type UnmarkServiceProviderEntities UnmarkServiceProviderEntitiesRequestType
 77977  
 77978  func init() {
 77979  	t["UnmarkServiceProviderEntities"] = reflect.TypeOf((*UnmarkServiceProviderEntities)(nil)).Elem()
 77980  }
 77981  
 77982  // The parameters of `TenantTenantManager.UnmarkServiceProviderEntities`.
 77983  type UnmarkServiceProviderEntitiesRequestType struct {
 77984  	This ManagedObjectReference `xml:"_this" json:"-"`
 77985  	// an array of management entities.
 77986  	//
 77987  	// Required privileges: TenantManager.Update
 77988  	//
 77989  	// Refers instances of `ManagedEntity`.
 77990  	Entity []ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 77991  }
 77992  
 77993  func init() {
 77994  	t["UnmarkServiceProviderEntitiesRequestType"] = reflect.TypeOf((*UnmarkServiceProviderEntitiesRequestType)(nil)).Elem()
 77995  }
 77996  
 77997  type UnmarkServiceProviderEntitiesResponse struct {
 77998  }
 77999  
 78000  // The parameters of `HostVsanSystem.UnmountDiskMapping_Task`.
 78001  type UnmountDiskMappingRequestType struct {
 78002  	This    ManagedObjectReference `xml:"_this" json:"-"`
 78003  	Mapping []VsanHostDiskMapping  `xml:"mapping" json:"mapping"`
 78004  }
 78005  
 78006  func init() {
 78007  	t["UnmountDiskMappingRequestType"] = reflect.TypeOf((*UnmountDiskMappingRequestType)(nil)).Elem()
 78008  }
 78009  
 78010  type UnmountDiskMapping_Task UnmountDiskMappingRequestType
 78011  
 78012  func init() {
 78013  	t["UnmountDiskMapping_Task"] = reflect.TypeOf((*UnmountDiskMapping_Task)(nil)).Elem()
 78014  }
 78015  
 78016  type UnmountDiskMapping_TaskResponse struct {
 78017  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 78018  }
 78019  
 78020  type UnmountForceMountedVmfsVolume UnmountForceMountedVmfsVolumeRequestType
 78021  
 78022  func init() {
 78023  	t["UnmountForceMountedVmfsVolume"] = reflect.TypeOf((*UnmountForceMountedVmfsVolume)(nil)).Elem()
 78024  }
 78025  
 78026  // The parameters of `HostStorageSystem.UnmountForceMountedVmfsVolume`.
 78027  type UnmountForceMountedVmfsVolumeRequestType struct {
 78028  	This     ManagedObjectReference `xml:"_this" json:"-"`
 78029  	VmfsUuid string                 `xml:"vmfsUuid" json:"vmfsUuid"`
 78030  }
 78031  
 78032  func init() {
 78033  	t["UnmountForceMountedVmfsVolumeRequestType"] = reflect.TypeOf((*UnmountForceMountedVmfsVolumeRequestType)(nil)).Elem()
 78034  }
 78035  
 78036  type UnmountForceMountedVmfsVolumeResponse struct {
 78037  }
 78038  
 78039  type UnmountToolsInstaller UnmountToolsInstallerRequestType
 78040  
 78041  func init() {
 78042  	t["UnmountToolsInstaller"] = reflect.TypeOf((*UnmountToolsInstaller)(nil)).Elem()
 78043  }
 78044  
 78045  type UnmountToolsInstallerRequestType struct {
 78046  	This ManagedObjectReference `xml:"_this" json:"-"`
 78047  }
 78048  
 78049  func init() {
 78050  	t["UnmountToolsInstallerRequestType"] = reflect.TypeOf((*UnmountToolsInstallerRequestType)(nil)).Elem()
 78051  }
 78052  
 78053  type UnmountToolsInstallerResponse struct {
 78054  }
 78055  
 78056  type UnmountVffsVolume UnmountVffsVolumeRequestType
 78057  
 78058  func init() {
 78059  	t["UnmountVffsVolume"] = reflect.TypeOf((*UnmountVffsVolume)(nil)).Elem()
 78060  }
 78061  
 78062  // The parameters of `HostStorageSystem.UnmountVffsVolume`.
 78063  type UnmountVffsVolumeRequestType struct {
 78064  	This     ManagedObjectReference `xml:"_this" json:"-"`
 78065  	VffsUuid string                 `xml:"vffsUuid" json:"vffsUuid"`
 78066  }
 78067  
 78068  func init() {
 78069  	t["UnmountVffsVolumeRequestType"] = reflect.TypeOf((*UnmountVffsVolumeRequestType)(nil)).Elem()
 78070  }
 78071  
 78072  type UnmountVffsVolumeResponse struct {
 78073  }
 78074  
 78075  type UnmountVmfsVolume UnmountVmfsVolumeRequestType
 78076  
 78077  func init() {
 78078  	t["UnmountVmfsVolume"] = reflect.TypeOf((*UnmountVmfsVolume)(nil)).Elem()
 78079  }
 78080  
 78081  // The parameters of `HostStorageSystem.UnmountVmfsVolumeEx_Task`.
 78082  type UnmountVmfsVolumeExRequestType struct {
 78083  	This ManagedObjectReference `xml:"_this" json:"-"`
 78084  	// each element specifies the UUID of a VMFS volume to be unmounted.
 78085  	VmfsUuid []string `xml:"vmfsUuid" json:"vmfsUuid"`
 78086  }
 78087  
 78088  func init() {
 78089  	t["UnmountVmfsVolumeExRequestType"] = reflect.TypeOf((*UnmountVmfsVolumeExRequestType)(nil)).Elem()
 78090  }
 78091  
 78092  type UnmountVmfsVolumeEx_Task UnmountVmfsVolumeExRequestType
 78093  
 78094  func init() {
 78095  	t["UnmountVmfsVolumeEx_Task"] = reflect.TypeOf((*UnmountVmfsVolumeEx_Task)(nil)).Elem()
 78096  }
 78097  
 78098  type UnmountVmfsVolumeEx_TaskResponse struct {
 78099  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 78100  }
 78101  
 78102  // The parameters of `HostStorageSystem.UnmountVmfsVolume`.
 78103  type UnmountVmfsVolumeRequestType struct {
 78104  	This     ManagedObjectReference `xml:"_this" json:"-"`
 78105  	VmfsUuid string                 `xml:"vmfsUuid" json:"vmfsUuid"`
 78106  }
 78107  
 78108  func init() {
 78109  	t["UnmountVmfsVolumeRequestType"] = reflect.TypeOf((*UnmountVmfsVolumeRequestType)(nil)).Elem()
 78110  }
 78111  
 78112  type UnmountVmfsVolumeResponse struct {
 78113  }
 78114  
 78115  // A UnrecognizedHost is thrown if the VirtualCenter server fails to
 78116  // validate the identity of the host using host-key.
 78117  //
 78118  // If a reconnect is attempted on a host and if the host-key of the host
 78119  // has changed since the last successful connection attempt,
 78120  // (might be changed by another instance of VirtualCenter), VirtualCenter
 78121  // server will fail to recognize the host.
 78122  type UnrecognizedHost struct {
 78123  	VimFault
 78124  
 78125  	// Host in the VirtualCenter inventory which failed the identity
 78126  	// validation.
 78127  	HostName string `xml:"hostName" json:"hostName"`
 78128  }
 78129  
 78130  func init() {
 78131  	t["UnrecognizedHost"] = reflect.TypeOf((*UnrecognizedHost)(nil)).Elem()
 78132  	minAPIVersionForType["UnrecognizedHost"] = "2.5"
 78133  }
 78134  
 78135  type UnrecognizedHostFault UnrecognizedHost
 78136  
 78137  func init() {
 78138  	t["UnrecognizedHostFault"] = reflect.TypeOf((*UnrecognizedHostFault)(nil)).Elem()
 78139  }
 78140  
 78141  type UnregisterAndDestroyRequestType struct {
 78142  	This ManagedObjectReference `xml:"_this" json:"-"`
 78143  }
 78144  
 78145  func init() {
 78146  	t["UnregisterAndDestroyRequestType"] = reflect.TypeOf((*UnregisterAndDestroyRequestType)(nil)).Elem()
 78147  }
 78148  
 78149  type UnregisterAndDestroy_Task UnregisterAndDestroyRequestType
 78150  
 78151  func init() {
 78152  	t["UnregisterAndDestroy_Task"] = reflect.TypeOf((*UnregisterAndDestroy_Task)(nil)).Elem()
 78153  }
 78154  
 78155  type UnregisterAndDestroy_TaskResponse struct {
 78156  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 78157  }
 78158  
 78159  type UnregisterExtension UnregisterExtensionRequestType
 78160  
 78161  func init() {
 78162  	t["UnregisterExtension"] = reflect.TypeOf((*UnregisterExtension)(nil)).Elem()
 78163  }
 78164  
 78165  // The parameters of `ExtensionManager.UnregisterExtension`.
 78166  type UnregisterExtensionRequestType struct {
 78167  	This ManagedObjectReference `xml:"_this" json:"-"`
 78168  	// Unique name of extension to unregister.
 78169  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 78170  }
 78171  
 78172  func init() {
 78173  	t["UnregisterExtensionRequestType"] = reflect.TypeOf((*UnregisterExtensionRequestType)(nil)).Elem()
 78174  }
 78175  
 78176  type UnregisterExtensionResponse struct {
 78177  }
 78178  
 78179  type UnregisterHealthUpdateProvider UnregisterHealthUpdateProviderRequestType
 78180  
 78181  func init() {
 78182  	t["UnregisterHealthUpdateProvider"] = reflect.TypeOf((*UnregisterHealthUpdateProvider)(nil)).Elem()
 78183  }
 78184  
 78185  // The parameters of `HealthUpdateManager.UnregisterHealthUpdateProvider`.
 78186  type UnregisterHealthUpdateProviderRequestType struct {
 78187  	This ManagedObjectReference `xml:"_this" json:"-"`
 78188  	// The provider id.
 78189  	ProviderId string `xml:"providerId" json:"providerId"`
 78190  }
 78191  
 78192  func init() {
 78193  	t["UnregisterHealthUpdateProviderRequestType"] = reflect.TypeOf((*UnregisterHealthUpdateProviderRequestType)(nil)).Elem()
 78194  }
 78195  
 78196  type UnregisterHealthUpdateProviderResponse struct {
 78197  }
 78198  
 78199  type UnregisterKmsCluster UnregisterKmsClusterRequestType
 78200  
 78201  func init() {
 78202  	t["UnregisterKmsCluster"] = reflect.TypeOf((*UnregisterKmsCluster)(nil)).Elem()
 78203  }
 78204  
 78205  // The parameters of `CryptoManagerKmip.UnregisterKmsCluster`.
 78206  type UnregisterKmsClusterRequestType struct {
 78207  	This ManagedObjectReference `xml:"_this" json:"-"`
 78208  	// \[in\] KMS cluster ID to unregister.
 78209  	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
 78210  }
 78211  
 78212  func init() {
 78213  	t["UnregisterKmsClusterRequestType"] = reflect.TypeOf((*UnregisterKmsClusterRequestType)(nil)).Elem()
 78214  }
 78215  
 78216  type UnregisterKmsClusterResponse struct {
 78217  }
 78218  
 78219  type UnregisterVM UnregisterVMRequestType
 78220  
 78221  func init() {
 78222  	t["UnregisterVM"] = reflect.TypeOf((*UnregisterVM)(nil)).Elem()
 78223  }
 78224  
 78225  type UnregisterVMRequestType struct {
 78226  	This ManagedObjectReference `xml:"_this" json:"-"`
 78227  }
 78228  
 78229  func init() {
 78230  	t["UnregisterVMRequestType"] = reflect.TypeOf((*UnregisterVMRequestType)(nil)).Elem()
 78231  }
 78232  
 78233  type UnregisterVMResponse struct {
 78234  }
 78235  
 78236  // The compute resource and virtual machine configurations for swapfile
 78237  // placement would require the virtual machine swapfile to change location for
 78238  // this VMotion; however the host does not support this.
 78239  type UnsharedSwapVMotionNotSupported struct {
 78240  	MigrationFeatureNotSupported
 78241  }
 78242  
 78243  func init() {
 78244  	t["UnsharedSwapVMotionNotSupported"] = reflect.TypeOf((*UnsharedSwapVMotionNotSupported)(nil)).Elem()
 78245  	minAPIVersionForType["UnsharedSwapVMotionNotSupported"] = "2.5"
 78246  }
 78247  
 78248  type UnsharedSwapVMotionNotSupportedFault UnsharedSwapVMotionNotSupported
 78249  
 78250  func init() {
 78251  	t["UnsharedSwapVMotionNotSupportedFault"] = reflect.TypeOf((*UnsharedSwapVMotionNotSupportedFault)(nil)).Elem()
 78252  }
 78253  
 78254  // The virtual machine is not supported on the target datastore.
 78255  //
 78256  // This fault is
 78257  // thrown by provisioning operations when an attempt is made to create a virtual
 78258  // machine on an unsupported datastore (for example, creating a non-legacy
 78259  // virtual machine on a legacy datastore).
 78260  type UnsupportedDatastore struct {
 78261  	VmConfigFault
 78262  
 78263  	// The invalid datastore for this virtual machine.
 78264  	//
 78265  	// Refers instance of `Datastore`.
 78266  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 78267  }
 78268  
 78269  func init() {
 78270  	t["UnsupportedDatastore"] = reflect.TypeOf((*UnsupportedDatastore)(nil)).Elem()
 78271  }
 78272  
 78273  type UnsupportedDatastoreFault BaseUnsupportedDatastore
 78274  
 78275  func init() {
 78276  	t["UnsupportedDatastoreFault"] = reflect.TypeOf((*UnsupportedDatastoreFault)(nil)).Elem()
 78277  }
 78278  
 78279  // The specified guest operating system is not supported on the host
 78280  // that is the target of the operation.
 78281  type UnsupportedGuest struct {
 78282  	InvalidVmConfig
 78283  
 78284  	// The guest OS ID for the unsupported guest.
 78285  	UnsupportedGuestOS string `xml:"unsupportedGuestOS" json:"unsupportedGuestOS"`
 78286  }
 78287  
 78288  func init() {
 78289  	t["UnsupportedGuest"] = reflect.TypeOf((*UnsupportedGuest)(nil)).Elem()
 78290  }
 78291  
 78292  type UnsupportedGuestFault UnsupportedGuest
 78293  
 78294  func init() {
 78295  	t["UnsupportedGuestFault"] = reflect.TypeOf((*UnsupportedGuestFault)(nil)).Elem()
 78296  }
 78297  
 78298  // This exception will be thrown if a client tries to connect with a unsupported version
 78299  // of the Vim API.
 78300  type UnsupportedVimApiVersion struct {
 78301  	VimFault
 78302  
 78303  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 78304  }
 78305  
 78306  func init() {
 78307  	t["UnsupportedVimApiVersion"] = reflect.TypeOf((*UnsupportedVimApiVersion)(nil)).Elem()
 78308  	minAPIVersionForType["UnsupportedVimApiVersion"] = "4.0"
 78309  }
 78310  
 78311  type UnsupportedVimApiVersionFault UnsupportedVimApiVersion
 78312  
 78313  func init() {
 78314  	t["UnsupportedVimApiVersionFault"] = reflect.TypeOf((*UnsupportedVimApiVersionFault)(nil)).Elem()
 78315  }
 78316  
 78317  // ESX 3 Server products requires the .vmx file to be stored
 78318  // on NAS or VMFS3 storage.
 78319  //
 78320  // If attempting to power on a virtual
 78321  // machine with the .vmx file stored on the service console, this
 78322  // fault will be thrown.
 78323  type UnsupportedVmxLocation struct {
 78324  	VmConfigFault
 78325  }
 78326  
 78327  func init() {
 78328  	t["UnsupportedVmxLocation"] = reflect.TypeOf((*UnsupportedVmxLocation)(nil)).Elem()
 78329  }
 78330  
 78331  type UnsupportedVmxLocationFault UnsupportedVmxLocation
 78332  
 78333  func init() {
 78334  	t["UnsupportedVmxLocationFault"] = reflect.TypeOf((*UnsupportedVmxLocationFault)(nil)).Elem()
 78335  }
 78336  
 78337  // The unused disk blocks of the specified virtual disk have not been
 78338  // scrubbed on the file system.
 78339  //
 78340  // Typically, this fault is returned as part of a parent fault like
 78341  // `VmConfigIncompatibleForFaultTolerance`, indicating that the
 78342  // unused blocks of the virtual disk must be zeroed-out on the file system before
 78343  // before fault tolerance can be enabled on the associated virtual machine.
 78344  type UnusedVirtualDiskBlocksNotScrubbed struct {
 78345  	DeviceBackingNotSupported
 78346  }
 78347  
 78348  func init() {
 78349  	t["UnusedVirtualDiskBlocksNotScrubbed"] = reflect.TypeOf((*UnusedVirtualDiskBlocksNotScrubbed)(nil)).Elem()
 78350  	minAPIVersionForType["UnusedVirtualDiskBlocksNotScrubbed"] = "4.0"
 78351  }
 78352  
 78353  type UnusedVirtualDiskBlocksNotScrubbedFault UnusedVirtualDiskBlocksNotScrubbed
 78354  
 78355  func init() {
 78356  	t["UnusedVirtualDiskBlocksNotScrubbedFault"] = reflect.TypeOf((*UnusedVirtualDiskBlocksNotScrubbedFault)(nil)).Elem()
 78357  }
 78358  
 78359  // The parameters of `HostProfileManager.UpdateAnswerFile_Task`.
 78360  type UpdateAnswerFileRequestType struct {
 78361  	This ManagedObjectReference `xml:"_this" json:"-"`
 78362  	// Host with which the answer file is associated.
 78363  	//
 78364  	// Refers instance of `HostSystem`.
 78365  	Host ManagedObjectReference `xml:"host" json:"host"`
 78366  	// Host-specific configuration data. If the configuration
 78367  	// specification does not contain any host-specific user input
 78368  	// (<code>configSpec</code>.`AnswerFileOptionsCreateSpec.userInput`),
 78369  	// the method does not perform any operation on the answer file.
 78370  	ConfigSpec BaseAnswerFileCreateSpec `xml:"configSpec,typeattr" json:"configSpec"`
 78371  }
 78372  
 78373  func init() {
 78374  	t["UpdateAnswerFileRequestType"] = reflect.TypeOf((*UpdateAnswerFileRequestType)(nil)).Elem()
 78375  }
 78376  
 78377  type UpdateAnswerFile_Task UpdateAnswerFileRequestType
 78378  
 78379  func init() {
 78380  	t["UpdateAnswerFile_Task"] = reflect.TypeOf((*UpdateAnswerFile_Task)(nil)).Elem()
 78381  }
 78382  
 78383  type UpdateAnswerFile_TaskResponse struct {
 78384  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 78385  }
 78386  
 78387  type UpdateAssignableHardwareConfig UpdateAssignableHardwareConfigRequestType
 78388  
 78389  func init() {
 78390  	t["UpdateAssignableHardwareConfig"] = reflect.TypeOf((*UpdateAssignableHardwareConfig)(nil)).Elem()
 78391  }
 78392  
 78393  // The parameters of `HostAssignableHardwareManager.UpdateAssignableHardwareConfig`.
 78394  type UpdateAssignableHardwareConfigRequestType struct {
 78395  	This   ManagedObjectReference       `xml:"_this" json:"-"`
 78396  	Config HostAssignableHardwareConfig `xml:"config" json:"config"`
 78397  }
 78398  
 78399  func init() {
 78400  	t["UpdateAssignableHardwareConfigRequestType"] = reflect.TypeOf((*UpdateAssignableHardwareConfigRequestType)(nil)).Elem()
 78401  }
 78402  
 78403  type UpdateAssignableHardwareConfigResponse struct {
 78404  }
 78405  
 78406  type UpdateAssignedLicense UpdateAssignedLicenseRequestType
 78407  
 78408  func init() {
 78409  	t["UpdateAssignedLicense"] = reflect.TypeOf((*UpdateAssignedLicense)(nil)).Elem()
 78410  }
 78411  
 78412  // The parameters of `LicenseAssignmentManager.UpdateAssignedLicense`.
 78413  type UpdateAssignedLicenseRequestType struct {
 78414  	This ManagedObjectReference `xml:"_this" json:"-"`
 78415  	// ID of the entity. E.g. HostSystem.
 78416  	Entity string `xml:"entity" json:"entity"`
 78417  	// A license.
 78418  	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
 78419  	// Display name for the entity
 78420  	EntityDisplayName string `xml:"entityDisplayName,omitempty" json:"entityDisplayName,omitempty"`
 78421  }
 78422  
 78423  func init() {
 78424  	t["UpdateAssignedLicenseRequestType"] = reflect.TypeOf((*UpdateAssignedLicenseRequestType)(nil)).Elem()
 78425  }
 78426  
 78427  type UpdateAssignedLicenseResponse struct {
 78428  	Returnval LicenseManagerLicenseInfo `xml:"returnval" json:"returnval"`
 78429  }
 78430  
 78431  type UpdateAuthorizationRole UpdateAuthorizationRoleRequestType
 78432  
 78433  func init() {
 78434  	t["UpdateAuthorizationRole"] = reflect.TypeOf((*UpdateAuthorizationRole)(nil)).Elem()
 78435  }
 78436  
 78437  // The parameters of `AuthorizationManager.UpdateAuthorizationRole`.
 78438  type UpdateAuthorizationRoleRequestType struct {
 78439  	This ManagedObjectReference `xml:"_this" json:"-"`
 78440  	// The ID of the role that is updated.
 78441  	RoleId int32 `xml:"roleId" json:"roleId"`
 78442  	// The new name for the role.
 78443  	NewName string `xml:"newName" json:"newName"`
 78444  	// The new set of privileges to assign to the role.
 78445  	PrivIds []string `xml:"privIds,omitempty" json:"privIds,omitempty"`
 78446  }
 78447  
 78448  func init() {
 78449  	t["UpdateAuthorizationRoleRequestType"] = reflect.TypeOf((*UpdateAuthorizationRoleRequestType)(nil)).Elem()
 78450  }
 78451  
 78452  type UpdateAuthorizationRoleResponse struct {
 78453  }
 78454  
 78455  type UpdateBootDevice UpdateBootDeviceRequestType
 78456  
 78457  func init() {
 78458  	t["UpdateBootDevice"] = reflect.TypeOf((*UpdateBootDevice)(nil)).Elem()
 78459  }
 78460  
 78461  // The parameters of `HostBootDeviceSystem.UpdateBootDevice`.
 78462  type UpdateBootDeviceRequestType struct {
 78463  	This ManagedObjectReference `xml:"_this" json:"-"`
 78464  	// The `HostBootDevice.key` of the
 78465  	// `HostBootDevice` from which the host will boot.
 78466  	Key string `xml:"key" json:"key"`
 78467  }
 78468  
 78469  func init() {
 78470  	t["UpdateBootDeviceRequestType"] = reflect.TypeOf((*UpdateBootDeviceRequestType)(nil)).Elem()
 78471  }
 78472  
 78473  type UpdateBootDeviceResponse struct {
 78474  }
 78475  
 78476  type UpdateChildResourceConfiguration UpdateChildResourceConfigurationRequestType
 78477  
 78478  func init() {
 78479  	t["UpdateChildResourceConfiguration"] = reflect.TypeOf((*UpdateChildResourceConfiguration)(nil)).Elem()
 78480  }
 78481  
 78482  // The parameters of `ResourcePool.UpdateChildResourceConfiguration`.
 78483  type UpdateChildResourceConfigurationRequestType struct {
 78484  	This ManagedObjectReference `xml:"_this" json:"-"`
 78485  	Spec []ResourceConfigSpec   `xml:"spec" json:"spec"`
 78486  }
 78487  
 78488  func init() {
 78489  	t["UpdateChildResourceConfigurationRequestType"] = reflect.TypeOf((*UpdateChildResourceConfigurationRequestType)(nil)).Elem()
 78490  }
 78491  
 78492  type UpdateChildResourceConfigurationResponse struct {
 78493  }
 78494  
 78495  type UpdateClusterProfile UpdateClusterProfileRequestType
 78496  
 78497  func init() {
 78498  	t["UpdateClusterProfile"] = reflect.TypeOf((*UpdateClusterProfile)(nil)).Elem()
 78499  }
 78500  
 78501  // The parameters of `ClusterProfile.UpdateClusterProfile`.
 78502  type UpdateClusterProfileRequestType struct {
 78503  	This ManagedObjectReference `xml:"_this" json:"-"`
 78504  	// Specification which describes the changes.
 78505  	Config BaseClusterProfileConfigSpec `xml:"config,typeattr" json:"config"`
 78506  }
 78507  
 78508  func init() {
 78509  	t["UpdateClusterProfileRequestType"] = reflect.TypeOf((*UpdateClusterProfileRequestType)(nil)).Elem()
 78510  }
 78511  
 78512  type UpdateClusterProfileResponse struct {
 78513  }
 78514  
 78515  type UpdateConfig UpdateConfigRequestType
 78516  
 78517  func init() {
 78518  	t["UpdateConfig"] = reflect.TypeOf((*UpdateConfig)(nil)).Elem()
 78519  }
 78520  
 78521  // The parameters of `ResourcePool.UpdateConfig`.
 78522  type UpdateConfigRequestType struct {
 78523  	This ManagedObjectReference `xml:"_this" json:"-"`
 78524  	// If set, then the new name of the resource pool.
 78525  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 78526  	// If set, then the new resource allocation for this
 78527  	// resource pool.
 78528  	Config *ResourceConfigSpec `xml:"config,omitempty" json:"config,omitempty"`
 78529  }
 78530  
 78531  func init() {
 78532  	t["UpdateConfigRequestType"] = reflect.TypeOf((*UpdateConfigRequestType)(nil)).Elem()
 78533  }
 78534  
 78535  type UpdateConfigResponse struct {
 78536  }
 78537  
 78538  type UpdateConsoleIpRouteConfig UpdateConsoleIpRouteConfigRequestType
 78539  
 78540  func init() {
 78541  	t["UpdateConsoleIpRouteConfig"] = reflect.TypeOf((*UpdateConsoleIpRouteConfig)(nil)).Elem()
 78542  }
 78543  
 78544  // The parameters of `HostNetworkSystem.UpdateConsoleIpRouteConfig`.
 78545  type UpdateConsoleIpRouteConfigRequestType struct {
 78546  	This   ManagedObjectReference `xml:"_this" json:"-"`
 78547  	Config BaseHostIpRouteConfig  `xml:"config,typeattr" json:"config"`
 78548  }
 78549  
 78550  func init() {
 78551  	t["UpdateConsoleIpRouteConfigRequestType"] = reflect.TypeOf((*UpdateConsoleIpRouteConfigRequestType)(nil)).Elem()
 78552  }
 78553  
 78554  type UpdateConsoleIpRouteConfigResponse struct {
 78555  }
 78556  
 78557  type UpdateCounterLevelMapping UpdateCounterLevelMappingRequestType
 78558  
 78559  func init() {
 78560  	t["UpdateCounterLevelMapping"] = reflect.TypeOf((*UpdateCounterLevelMapping)(nil)).Elem()
 78561  }
 78562  
 78563  // The parameters of `PerformanceManager.UpdateCounterLevelMapping`.
 78564  type UpdateCounterLevelMappingRequestType struct {
 78565  	This ManagedObjectReference `xml:"_this" json:"-"`
 78566  	// An array of `PerformanceManagerCounterLevelMapping` objects. The
 78567  	// levels for the counters passed in are changed to the passed in values. If
 78568  	// the optional aggregateLevel field is left unset then only the
 78569  	// perDeviceLevel is configured. If the optional perDeviceLevel is left
 78570  	// unset then only the aggregateLevel is configured. If there are multiple
 78571  	// entries in the passed in array for the same counterId being updated then
 78572  	// the last entry containing the counterId takes effect.
 78573  	CounterLevelMap []PerformanceManagerCounterLevelMapping `xml:"counterLevelMap" json:"counterLevelMap"`
 78574  }
 78575  
 78576  func init() {
 78577  	t["UpdateCounterLevelMappingRequestType"] = reflect.TypeOf((*UpdateCounterLevelMappingRequestType)(nil)).Elem()
 78578  }
 78579  
 78580  type UpdateCounterLevelMappingResponse struct {
 78581  }
 78582  
 78583  // The parameters of `DistributedVirtualSwitch.UpdateDVSHealthCheckConfig_Task`.
 78584  type UpdateDVSHealthCheckConfigRequestType struct {
 78585  	This ManagedObjectReference `xml:"_this" json:"-"`
 78586  	// The health check configuration.
 78587  	HealthCheckConfig []BaseDVSHealthCheckConfig `xml:"healthCheckConfig,typeattr" json:"healthCheckConfig"`
 78588  }
 78589  
 78590  func init() {
 78591  	t["UpdateDVSHealthCheckConfigRequestType"] = reflect.TypeOf((*UpdateDVSHealthCheckConfigRequestType)(nil)).Elem()
 78592  }
 78593  
 78594  type UpdateDVSHealthCheckConfig_Task UpdateDVSHealthCheckConfigRequestType
 78595  
 78596  func init() {
 78597  	t["UpdateDVSHealthCheckConfig_Task"] = reflect.TypeOf((*UpdateDVSHealthCheckConfig_Task)(nil)).Elem()
 78598  }
 78599  
 78600  type UpdateDVSHealthCheckConfig_TaskResponse struct {
 78601  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 78602  }
 78603  
 78604  // The parameters of `VmwareDistributedVirtualSwitch.UpdateDVSLacpGroupConfig_Task`.
 78605  type UpdateDVSLacpGroupConfigRequestType struct {
 78606  	This ManagedObjectReference `xml:"_this" json:"-"`
 78607  	// The Link Aggregation Control Protocol groups to be configured.
 78608  	LacpGroupSpec []VMwareDvsLacpGroupSpec `xml:"lacpGroupSpec" json:"lacpGroupSpec"`
 78609  }
 78610  
 78611  func init() {
 78612  	t["UpdateDVSLacpGroupConfigRequestType"] = reflect.TypeOf((*UpdateDVSLacpGroupConfigRequestType)(nil)).Elem()
 78613  }
 78614  
 78615  type UpdateDVSLacpGroupConfig_Task UpdateDVSLacpGroupConfigRequestType
 78616  
 78617  func init() {
 78618  	t["UpdateDVSLacpGroupConfig_Task"] = reflect.TypeOf((*UpdateDVSLacpGroupConfig_Task)(nil)).Elem()
 78619  }
 78620  
 78621  type UpdateDVSLacpGroupConfig_TaskResponse struct {
 78622  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 78623  }
 78624  
 78625  type UpdateDateTime UpdateDateTimeRequestType
 78626  
 78627  func init() {
 78628  	t["UpdateDateTime"] = reflect.TypeOf((*UpdateDateTime)(nil)).Elem()
 78629  }
 78630  
 78631  type UpdateDateTimeConfig UpdateDateTimeConfigRequestType
 78632  
 78633  func init() {
 78634  	t["UpdateDateTimeConfig"] = reflect.TypeOf((*UpdateDateTimeConfig)(nil)).Elem()
 78635  }
 78636  
 78637  // The parameters of `HostDateTimeSystem.UpdateDateTimeConfig`.
 78638  type UpdateDateTimeConfigRequestType struct {
 78639  	This ManagedObjectReference `xml:"_this" json:"-"`
 78640  	// The new DateTime configuration information.
 78641  	Config HostDateTimeConfig `xml:"config" json:"config"`
 78642  }
 78643  
 78644  func init() {
 78645  	t["UpdateDateTimeConfigRequestType"] = reflect.TypeOf((*UpdateDateTimeConfigRequestType)(nil)).Elem()
 78646  }
 78647  
 78648  type UpdateDateTimeConfigResponse struct {
 78649  }
 78650  
 78651  // The parameters of `HostDateTimeSystem.UpdateDateTime`.
 78652  type UpdateDateTimeRequestType struct {
 78653  	This ManagedObjectReference `xml:"_this" json:"-"`
 78654  	// DateTime to update the host to.
 78655  	DateTime time.Time `xml:"dateTime" json:"dateTime"`
 78656  }
 78657  
 78658  func init() {
 78659  	t["UpdateDateTimeRequestType"] = reflect.TypeOf((*UpdateDateTimeRequestType)(nil)).Elem()
 78660  }
 78661  
 78662  type UpdateDateTimeResponse struct {
 78663  }
 78664  
 78665  type UpdateDefaultPolicy UpdateDefaultPolicyRequestType
 78666  
 78667  func init() {
 78668  	t["UpdateDefaultPolicy"] = reflect.TypeOf((*UpdateDefaultPolicy)(nil)).Elem()
 78669  }
 78670  
 78671  // The parameters of `HostFirewallSystem.UpdateDefaultPolicy`.
 78672  type UpdateDefaultPolicyRequestType struct {
 78673  	This          ManagedObjectReference    `xml:"_this" json:"-"`
 78674  	DefaultPolicy HostFirewallDefaultPolicy `xml:"defaultPolicy" json:"defaultPolicy"`
 78675  }
 78676  
 78677  func init() {
 78678  	t["UpdateDefaultPolicyRequestType"] = reflect.TypeOf((*UpdateDefaultPolicyRequestType)(nil)).Elem()
 78679  }
 78680  
 78681  type UpdateDefaultPolicyResponse struct {
 78682  }
 78683  
 78684  type UpdateDiskPartitions UpdateDiskPartitionsRequestType
 78685  
 78686  func init() {
 78687  	t["UpdateDiskPartitions"] = reflect.TypeOf((*UpdateDiskPartitions)(nil)).Elem()
 78688  }
 78689  
 78690  // The parameters of `HostStorageSystem.UpdateDiskPartitions`.
 78691  type UpdateDiskPartitionsRequestType struct {
 78692  	This ManagedObjectReference `xml:"_this" json:"-"`
 78693  	// The name of the device path for the specific disk.
 78694  	DevicePath string `xml:"devicePath" json:"devicePath"`
 78695  	// A data object that describes the disk partition table
 78696  	// specification used to configure the partitions on a disk.
 78697  	Spec HostDiskPartitionSpec `xml:"spec" json:"spec"`
 78698  }
 78699  
 78700  func init() {
 78701  	t["UpdateDiskPartitionsRequestType"] = reflect.TypeOf((*UpdateDiskPartitionsRequestType)(nil)).Elem()
 78702  }
 78703  
 78704  type UpdateDiskPartitionsResponse struct {
 78705  }
 78706  
 78707  type UpdateDnsConfig UpdateDnsConfigRequestType
 78708  
 78709  func init() {
 78710  	t["UpdateDnsConfig"] = reflect.TypeOf((*UpdateDnsConfig)(nil)).Elem()
 78711  }
 78712  
 78713  // The parameters of `HostNetworkSystem.UpdateDnsConfig`.
 78714  type UpdateDnsConfigRequestType struct {
 78715  	This   ManagedObjectReference `xml:"_this" json:"-"`
 78716  	Config BaseHostDnsConfig      `xml:"config,typeattr" json:"config"`
 78717  }
 78718  
 78719  func init() {
 78720  	t["UpdateDnsConfigRequestType"] = reflect.TypeOf((*UpdateDnsConfigRequestType)(nil)).Elem()
 78721  }
 78722  
 78723  type UpdateDnsConfigResponse struct {
 78724  }
 78725  
 78726  type UpdateDvsCapability UpdateDvsCapabilityRequestType
 78727  
 78728  func init() {
 78729  	t["UpdateDvsCapability"] = reflect.TypeOf((*UpdateDvsCapability)(nil)).Elem()
 78730  }
 78731  
 78732  // The parameters of `DistributedVirtualSwitch.UpdateDvsCapability`.
 78733  type UpdateDvsCapabilityRequestType struct {
 78734  	This ManagedObjectReference `xml:"_this" json:"-"`
 78735  	// The capability of the switch.
 78736  	Capability DVSCapability `xml:"capability" json:"capability"`
 78737  }
 78738  
 78739  func init() {
 78740  	t["UpdateDvsCapabilityRequestType"] = reflect.TypeOf((*UpdateDvsCapabilityRequestType)(nil)).Elem()
 78741  }
 78742  
 78743  type UpdateDvsCapabilityResponse struct {
 78744  }
 78745  
 78746  type UpdateExtension UpdateExtensionRequestType
 78747  
 78748  func init() {
 78749  	t["UpdateExtension"] = reflect.TypeOf((*UpdateExtension)(nil)).Elem()
 78750  }
 78751  
 78752  // The parameters of `ExtensionManager.UpdateExtension`.
 78753  type UpdateExtensionRequestType struct {
 78754  	This ManagedObjectReference `xml:"_this" json:"-"`
 78755  	// Updated extension description.
 78756  	Extension Extension `xml:"extension" json:"extension"`
 78757  }
 78758  
 78759  func init() {
 78760  	t["UpdateExtensionRequestType"] = reflect.TypeOf((*UpdateExtensionRequestType)(nil)).Elem()
 78761  }
 78762  
 78763  type UpdateExtensionResponse struct {
 78764  }
 78765  
 78766  type UpdateFlags UpdateFlagsRequestType
 78767  
 78768  func init() {
 78769  	t["UpdateFlags"] = reflect.TypeOf((*UpdateFlags)(nil)).Elem()
 78770  }
 78771  
 78772  // The parameters of `HostSystem.UpdateFlags`.
 78773  type UpdateFlagsRequestType struct {
 78774  	This     ManagedObjectReference `xml:"_this" json:"-"`
 78775  	FlagInfo HostFlagInfo           `xml:"flagInfo" json:"flagInfo"`
 78776  }
 78777  
 78778  func init() {
 78779  	t["UpdateFlagsRequestType"] = reflect.TypeOf((*UpdateFlagsRequestType)(nil)).Elem()
 78780  }
 78781  
 78782  type UpdateFlagsResponse struct {
 78783  }
 78784  
 78785  type UpdateGraphicsConfig UpdateGraphicsConfigRequestType
 78786  
 78787  func init() {
 78788  	t["UpdateGraphicsConfig"] = reflect.TypeOf((*UpdateGraphicsConfig)(nil)).Elem()
 78789  }
 78790  
 78791  // The parameters of `HostGraphicsManager.UpdateGraphicsConfig`.
 78792  type UpdateGraphicsConfigRequestType struct {
 78793  	This   ManagedObjectReference `xml:"_this" json:"-"`
 78794  	Config HostGraphicsConfig     `xml:"config" json:"config"`
 78795  }
 78796  
 78797  func init() {
 78798  	t["UpdateGraphicsConfigRequestType"] = reflect.TypeOf((*UpdateGraphicsConfigRequestType)(nil)).Elem()
 78799  }
 78800  
 78801  type UpdateGraphicsConfigResponse struct {
 78802  }
 78803  
 78804  type UpdateHostImageAcceptanceLevel UpdateHostImageAcceptanceLevelRequestType
 78805  
 78806  func init() {
 78807  	t["UpdateHostImageAcceptanceLevel"] = reflect.TypeOf((*UpdateHostImageAcceptanceLevel)(nil)).Elem()
 78808  }
 78809  
 78810  // The parameters of `HostImageConfigManager.UpdateHostImageAcceptanceLevel`.
 78811  type UpdateHostImageAcceptanceLevelRequestType struct {
 78812  	This ManagedObjectReference `xml:"_this" json:"-"`
 78813  	// the new AcceptanceLevel to set.
 78814  	NewAcceptanceLevel string `xml:"newAcceptanceLevel" json:"newAcceptanceLevel"`
 78815  }
 78816  
 78817  func init() {
 78818  	t["UpdateHostImageAcceptanceLevelRequestType"] = reflect.TypeOf((*UpdateHostImageAcceptanceLevelRequestType)(nil)).Elem()
 78819  }
 78820  
 78821  type UpdateHostImageAcceptanceLevelResponse struct {
 78822  }
 78823  
 78824  type UpdateHostProfile UpdateHostProfileRequestType
 78825  
 78826  func init() {
 78827  	t["UpdateHostProfile"] = reflect.TypeOf((*UpdateHostProfile)(nil)).Elem()
 78828  }
 78829  
 78830  // The parameters of `HostProfile.UpdateHostProfile`.
 78831  type UpdateHostProfileRequestType struct {
 78832  	This ManagedObjectReference `xml:"_this" json:"-"`
 78833  	// Specification containing the new data.
 78834  	Config BaseHostProfileConfigSpec `xml:"config,typeattr" json:"config"`
 78835  }
 78836  
 78837  func init() {
 78838  	t["UpdateHostProfileRequestType"] = reflect.TypeOf((*UpdateHostProfileRequestType)(nil)).Elem()
 78839  }
 78840  
 78841  type UpdateHostProfileResponse struct {
 78842  }
 78843  
 78844  type UpdateHostSpecification UpdateHostSpecificationRequestType
 78845  
 78846  func init() {
 78847  	t["UpdateHostSpecification"] = reflect.TypeOf((*UpdateHostSpecification)(nil)).Elem()
 78848  }
 78849  
 78850  // The parameters of `HostSpecificationManager.UpdateHostSpecification`.
 78851  type UpdateHostSpecificationRequestType struct {
 78852  	This ManagedObjectReference `xml:"_this" json:"-"`
 78853  	// The host whose specification will be updated.
 78854  	//
 78855  	// Refers instance of `HostSystem`.
 78856  	Host ManagedObjectReference `xml:"host" json:"host"`
 78857  	// The new host specification to be updated with.
 78858  	HostSpec HostSpecification `xml:"hostSpec" json:"hostSpec"`
 78859  }
 78860  
 78861  func init() {
 78862  	t["UpdateHostSpecificationRequestType"] = reflect.TypeOf((*UpdateHostSpecificationRequestType)(nil)).Elem()
 78863  }
 78864  
 78865  type UpdateHostSpecificationResponse struct {
 78866  }
 78867  
 78868  type UpdateHostSubSpecification UpdateHostSubSpecificationRequestType
 78869  
 78870  func init() {
 78871  	t["UpdateHostSubSpecification"] = reflect.TypeOf((*UpdateHostSubSpecification)(nil)).Elem()
 78872  }
 78873  
 78874  // The parameters of `HostSpecificationManager.UpdateHostSubSpecification`.
 78875  type UpdateHostSubSpecificationRequestType struct {
 78876  	This ManagedObjectReference `xml:"_this" json:"-"`
 78877  	// The host whose specification will be updated.
 78878  	//
 78879  	// Refers instance of `HostSystem`.
 78880  	Host ManagedObjectReference `xml:"host" json:"host"`
 78881  	// The data object for the new host sub specification.
 78882  	HostSubSpec HostSubSpecification `xml:"hostSubSpec" json:"hostSubSpec"`
 78883  }
 78884  
 78885  func init() {
 78886  	t["UpdateHostSubSpecificationRequestType"] = reflect.TypeOf((*UpdateHostSubSpecificationRequestType)(nil)).Elem()
 78887  }
 78888  
 78889  type UpdateHostSubSpecificationResponse struct {
 78890  }
 78891  
 78892  type UpdateHppMultipathLunPolicy UpdateHppMultipathLunPolicyRequestType
 78893  
 78894  func init() {
 78895  	t["UpdateHppMultipathLunPolicy"] = reflect.TypeOf((*UpdateHppMultipathLunPolicy)(nil)).Elem()
 78896  }
 78897  
 78898  // The parameters of `HostStorageSystem.UpdateHppMultipathLunPolicy`.
 78899  type UpdateHppMultipathLunPolicyRequestType struct {
 78900  	This ManagedObjectReference `xml:"_this" json:"-"`
 78901  	// The logical unit ID
 78902  	LunId string `xml:"lunId" json:"lunId"`
 78903  	// A data object that describes a path selection policy and
 78904  	// its configuration for the logical unit.
 78905  	Policy HostMultipathInfoHppLogicalUnitPolicy `xml:"policy" json:"policy"`
 78906  }
 78907  
 78908  func init() {
 78909  	t["UpdateHppMultipathLunPolicyRequestType"] = reflect.TypeOf((*UpdateHppMultipathLunPolicyRequestType)(nil)).Elem()
 78910  }
 78911  
 78912  type UpdateHppMultipathLunPolicyResponse struct {
 78913  }
 78914  
 78915  type UpdateInternetScsiAdvancedOptions UpdateInternetScsiAdvancedOptionsRequestType
 78916  
 78917  func init() {
 78918  	t["UpdateInternetScsiAdvancedOptions"] = reflect.TypeOf((*UpdateInternetScsiAdvancedOptions)(nil)).Elem()
 78919  }
 78920  
 78921  // The parameters of `HostStorageSystem.UpdateInternetScsiAdvancedOptions`.
 78922  type UpdateInternetScsiAdvancedOptionsRequestType struct {
 78923  	This ManagedObjectReference `xml:"_this" json:"-"`
 78924  	// The device of the Internet SCSI HBA adapter.
 78925  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
 78926  	// The set the targets to configure. If not provided,
 78927  	// the settings will be applied to the host bus adapter itself.
 78928  	TargetSet *HostInternetScsiHbaTargetSet `xml:"targetSet,omitempty" json:"targetSet,omitempty"`
 78929  	// The list of options to set.
 78930  	Options []HostInternetScsiHbaParamValue `xml:"options" json:"options"`
 78931  }
 78932  
 78933  func init() {
 78934  	t["UpdateInternetScsiAdvancedOptionsRequestType"] = reflect.TypeOf((*UpdateInternetScsiAdvancedOptionsRequestType)(nil)).Elem()
 78935  }
 78936  
 78937  type UpdateInternetScsiAdvancedOptionsResponse struct {
 78938  }
 78939  
 78940  type UpdateInternetScsiAlias UpdateInternetScsiAliasRequestType
 78941  
 78942  func init() {
 78943  	t["UpdateInternetScsiAlias"] = reflect.TypeOf((*UpdateInternetScsiAlias)(nil)).Elem()
 78944  }
 78945  
 78946  // The parameters of `HostStorageSystem.UpdateInternetScsiAlias`.
 78947  type UpdateInternetScsiAliasRequestType struct {
 78948  	This ManagedObjectReference `xml:"_this" json:"-"`
 78949  	// The device of the Internet SCSI HBA adapter.
 78950  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
 78951  	// The new value for the alias of the adapter.
 78952  	IScsiAlias string `xml:"iScsiAlias" json:"iScsiAlias"`
 78953  }
 78954  
 78955  func init() {
 78956  	t["UpdateInternetScsiAliasRequestType"] = reflect.TypeOf((*UpdateInternetScsiAliasRequestType)(nil)).Elem()
 78957  }
 78958  
 78959  type UpdateInternetScsiAliasResponse struct {
 78960  }
 78961  
 78962  type UpdateInternetScsiAuthenticationProperties UpdateInternetScsiAuthenticationPropertiesRequestType
 78963  
 78964  func init() {
 78965  	t["UpdateInternetScsiAuthenticationProperties"] = reflect.TypeOf((*UpdateInternetScsiAuthenticationProperties)(nil)).Elem()
 78966  }
 78967  
 78968  // The parameters of `HostStorageSystem.UpdateInternetScsiAuthenticationProperties`.
 78969  type UpdateInternetScsiAuthenticationPropertiesRequestType struct {
 78970  	This ManagedObjectReference `xml:"_this" json:"-"`
 78971  	// The device of the Internet SCSI HBA adapter.
 78972  	// associated with the target.
 78973  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
 78974  	// The data object that represents
 78975  	// the authentication settings to set.
 78976  	AuthenticationProperties HostInternetScsiHbaAuthenticationProperties `xml:"authenticationProperties" json:"authenticationProperties"`
 78977  	// The set the targets to configure. Optional,
 78978  	// when obmitted will configura the authentication properties
 78979  	// for the adapter instead.
 78980  	TargetSet *HostInternetScsiHbaTargetSet `xml:"targetSet,omitempty" json:"targetSet,omitempty" vim:"4.0"`
 78981  }
 78982  
 78983  func init() {
 78984  	t["UpdateInternetScsiAuthenticationPropertiesRequestType"] = reflect.TypeOf((*UpdateInternetScsiAuthenticationPropertiesRequestType)(nil)).Elem()
 78985  }
 78986  
 78987  type UpdateInternetScsiAuthenticationPropertiesResponse struct {
 78988  }
 78989  
 78990  type UpdateInternetScsiDigestProperties UpdateInternetScsiDigestPropertiesRequestType
 78991  
 78992  func init() {
 78993  	t["UpdateInternetScsiDigestProperties"] = reflect.TypeOf((*UpdateInternetScsiDigestProperties)(nil)).Elem()
 78994  }
 78995  
 78996  // The parameters of `HostStorageSystem.UpdateInternetScsiDigestProperties`.
 78997  type UpdateInternetScsiDigestPropertiesRequestType struct {
 78998  	This ManagedObjectReference `xml:"_this" json:"-"`
 78999  	// The device of the Internet SCSI HBA adapter.
 79000  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
 79001  	// The set the targets to configure. If not provided,
 79002  	// the settings will be applied to the host bus adapter itself.
 79003  	TargetSet *HostInternetScsiHbaTargetSet `xml:"targetSet,omitempty" json:"targetSet,omitempty"`
 79004  	// The data object that represents the digest
 79005  	// settings to set.
 79006  	DigestProperties HostInternetScsiHbaDigestProperties `xml:"digestProperties" json:"digestProperties"`
 79007  }
 79008  
 79009  func init() {
 79010  	t["UpdateInternetScsiDigestPropertiesRequestType"] = reflect.TypeOf((*UpdateInternetScsiDigestPropertiesRequestType)(nil)).Elem()
 79011  }
 79012  
 79013  type UpdateInternetScsiDigestPropertiesResponse struct {
 79014  }
 79015  
 79016  type UpdateInternetScsiDiscoveryProperties UpdateInternetScsiDiscoveryPropertiesRequestType
 79017  
 79018  func init() {
 79019  	t["UpdateInternetScsiDiscoveryProperties"] = reflect.TypeOf((*UpdateInternetScsiDiscoveryProperties)(nil)).Elem()
 79020  }
 79021  
 79022  // The parameters of `HostStorageSystem.UpdateInternetScsiDiscoveryProperties`.
 79023  type UpdateInternetScsiDiscoveryPropertiesRequestType struct {
 79024  	This ManagedObjectReference `xml:"_this" json:"-"`
 79025  	// The device of the Internet SCSI HBA adapter.
 79026  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
 79027  	// The discovery settings for this host bus adapter.
 79028  	DiscoveryProperties HostInternetScsiHbaDiscoveryProperties `xml:"discoveryProperties" json:"discoveryProperties"`
 79029  }
 79030  
 79031  func init() {
 79032  	t["UpdateInternetScsiDiscoveryPropertiesRequestType"] = reflect.TypeOf((*UpdateInternetScsiDiscoveryPropertiesRequestType)(nil)).Elem()
 79033  }
 79034  
 79035  type UpdateInternetScsiDiscoveryPropertiesResponse struct {
 79036  }
 79037  
 79038  type UpdateInternetScsiIPProperties UpdateInternetScsiIPPropertiesRequestType
 79039  
 79040  func init() {
 79041  	t["UpdateInternetScsiIPProperties"] = reflect.TypeOf((*UpdateInternetScsiIPProperties)(nil)).Elem()
 79042  }
 79043  
 79044  // The parameters of `HostStorageSystem.UpdateInternetScsiIPProperties`.
 79045  type UpdateInternetScsiIPPropertiesRequestType struct {
 79046  	This ManagedObjectReference `xml:"_this" json:"-"`
 79047  	// The device of the Internet SCSI HBA adapter.
 79048  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
 79049  	// A data object representing the IP properties
 79050  	// for the host bus adapter
 79051  	IpProperties HostInternetScsiHbaIPProperties `xml:"ipProperties" json:"ipProperties"`
 79052  }
 79053  
 79054  func init() {
 79055  	t["UpdateInternetScsiIPPropertiesRequestType"] = reflect.TypeOf((*UpdateInternetScsiIPPropertiesRequestType)(nil)).Elem()
 79056  }
 79057  
 79058  type UpdateInternetScsiIPPropertiesResponse struct {
 79059  }
 79060  
 79061  type UpdateInternetScsiName UpdateInternetScsiNameRequestType
 79062  
 79063  func init() {
 79064  	t["UpdateInternetScsiName"] = reflect.TypeOf((*UpdateInternetScsiName)(nil)).Elem()
 79065  }
 79066  
 79067  // The parameters of `HostStorageSystem.UpdateInternetScsiName`.
 79068  type UpdateInternetScsiNameRequestType struct {
 79069  	This ManagedObjectReference `xml:"_this" json:"-"`
 79070  	// The current name of the Internet SCSI HBA adapter.
 79071  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
 79072  	// The new name for the Internet SCSI HBA adapter
 79073  	IScsiName string `xml:"iScsiName" json:"iScsiName"`
 79074  }
 79075  
 79076  func init() {
 79077  	t["UpdateInternetScsiNameRequestType"] = reflect.TypeOf((*UpdateInternetScsiNameRequestType)(nil)).Elem()
 79078  }
 79079  
 79080  type UpdateInternetScsiNameResponse struct {
 79081  }
 79082  
 79083  type UpdateIpConfig UpdateIpConfigRequestType
 79084  
 79085  func init() {
 79086  	t["UpdateIpConfig"] = reflect.TypeOf((*UpdateIpConfig)(nil)).Elem()
 79087  }
 79088  
 79089  // The parameters of `HostVMotionSystem.UpdateIpConfig`.
 79090  type UpdateIpConfigRequestType struct {
 79091  	This     ManagedObjectReference `xml:"_this" json:"-"`
 79092  	IpConfig HostIpConfig           `xml:"ipConfig" json:"ipConfig"`
 79093  }
 79094  
 79095  func init() {
 79096  	t["UpdateIpConfigRequestType"] = reflect.TypeOf((*UpdateIpConfigRequestType)(nil)).Elem()
 79097  }
 79098  
 79099  type UpdateIpConfigResponse struct {
 79100  }
 79101  
 79102  type UpdateIpPool UpdateIpPoolRequestType
 79103  
 79104  func init() {
 79105  	t["UpdateIpPool"] = reflect.TypeOf((*UpdateIpPool)(nil)).Elem()
 79106  }
 79107  
 79108  // The parameters of `IpPoolManager.UpdateIpPool`.
 79109  type UpdateIpPoolRequestType struct {
 79110  	This ManagedObjectReference `xml:"_this" json:"-"`
 79111  	// The datacenter on which to look up the pool.
 79112  	//
 79113  	// Required privileges: Datacenter.IpPoolConfig
 79114  	//
 79115  	// Refers instance of `Datacenter`.
 79116  	Dc ManagedObjectReference `xml:"dc" json:"dc"`
 79117  	// The IP pool to update on the server
 79118  	Pool IpPool `xml:"pool" json:"pool"`
 79119  }
 79120  
 79121  func init() {
 79122  	t["UpdateIpPoolRequestType"] = reflect.TypeOf((*UpdateIpPoolRequestType)(nil)).Elem()
 79123  }
 79124  
 79125  type UpdateIpPoolResponse struct {
 79126  }
 79127  
 79128  type UpdateIpRouteConfig UpdateIpRouteConfigRequestType
 79129  
 79130  func init() {
 79131  	t["UpdateIpRouteConfig"] = reflect.TypeOf((*UpdateIpRouteConfig)(nil)).Elem()
 79132  }
 79133  
 79134  // The parameters of `HostNetworkSystem.UpdateIpRouteConfig`.
 79135  type UpdateIpRouteConfigRequestType struct {
 79136  	This   ManagedObjectReference `xml:"_this" json:"-"`
 79137  	Config BaseHostIpRouteConfig  `xml:"config,typeattr" json:"config"`
 79138  }
 79139  
 79140  func init() {
 79141  	t["UpdateIpRouteConfigRequestType"] = reflect.TypeOf((*UpdateIpRouteConfigRequestType)(nil)).Elem()
 79142  }
 79143  
 79144  type UpdateIpRouteConfigResponse struct {
 79145  }
 79146  
 79147  type UpdateIpRouteTableConfig UpdateIpRouteTableConfigRequestType
 79148  
 79149  func init() {
 79150  	t["UpdateIpRouteTableConfig"] = reflect.TypeOf((*UpdateIpRouteTableConfig)(nil)).Elem()
 79151  }
 79152  
 79153  // The parameters of `HostNetworkSystem.UpdateIpRouteTableConfig`.
 79154  type UpdateIpRouteTableConfigRequestType struct {
 79155  	This   ManagedObjectReference `xml:"_this" json:"-"`
 79156  	Config HostIpRouteTableConfig `xml:"config" json:"config"`
 79157  }
 79158  
 79159  func init() {
 79160  	t["UpdateIpRouteTableConfigRequestType"] = reflect.TypeOf((*UpdateIpRouteTableConfigRequestType)(nil)).Elem()
 79161  }
 79162  
 79163  type UpdateIpRouteTableConfigResponse struct {
 79164  }
 79165  
 79166  type UpdateIpmi UpdateIpmiRequestType
 79167  
 79168  func init() {
 79169  	t["UpdateIpmi"] = reflect.TypeOf((*UpdateIpmi)(nil)).Elem()
 79170  }
 79171  
 79172  // The parameters of `HostSystem.UpdateIpmi`.
 79173  type UpdateIpmiRequestType struct {
 79174  	This     ManagedObjectReference `xml:"_this" json:"-"`
 79175  	IpmiInfo HostIpmiInfo           `xml:"ipmiInfo" json:"ipmiInfo"`
 79176  }
 79177  
 79178  func init() {
 79179  	t["UpdateIpmiRequestType"] = reflect.TypeOf((*UpdateIpmiRequestType)(nil)).Elem()
 79180  }
 79181  
 79182  type UpdateIpmiResponse struct {
 79183  }
 79184  
 79185  type UpdateKmipServer UpdateKmipServerRequestType
 79186  
 79187  func init() {
 79188  	t["UpdateKmipServer"] = reflect.TypeOf((*UpdateKmipServer)(nil)).Elem()
 79189  }
 79190  
 79191  // The parameters of `CryptoManagerKmip.UpdateKmipServer`.
 79192  type UpdateKmipServerRequestType struct {
 79193  	This ManagedObjectReference `xml:"_this" json:"-"`
 79194  	// \[in\] KMIP server connection information.
 79195  	Server KmipServerSpec `xml:"server" json:"server"`
 79196  }
 79197  
 79198  func init() {
 79199  	t["UpdateKmipServerRequestType"] = reflect.TypeOf((*UpdateKmipServerRequestType)(nil)).Elem()
 79200  }
 79201  
 79202  type UpdateKmipServerResponse struct {
 79203  }
 79204  
 79205  type UpdateKmsSignedCsrClientCert UpdateKmsSignedCsrClientCertRequestType
 79206  
 79207  func init() {
 79208  	t["UpdateKmsSignedCsrClientCert"] = reflect.TypeOf((*UpdateKmsSignedCsrClientCert)(nil)).Elem()
 79209  }
 79210  
 79211  // The parameters of `CryptoManagerKmip.UpdateKmsSignedCsrClientCert`.
 79212  type UpdateKmsSignedCsrClientCertRequestType struct {
 79213  	This ManagedObjectReference `xml:"_this" json:"-"`
 79214  	// \[in\] KMIP cluster.
 79215  	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
 79216  	// \[in\] Client certificate.
 79217  	Certificate string `xml:"certificate" json:"certificate"`
 79218  }
 79219  
 79220  func init() {
 79221  	t["UpdateKmsSignedCsrClientCertRequestType"] = reflect.TypeOf((*UpdateKmsSignedCsrClientCertRequestType)(nil)).Elem()
 79222  }
 79223  
 79224  type UpdateKmsSignedCsrClientCertResponse struct {
 79225  }
 79226  
 79227  type UpdateLicense UpdateLicenseRequestType
 79228  
 79229  func init() {
 79230  	t["UpdateLicense"] = reflect.TypeOf((*UpdateLicense)(nil)).Elem()
 79231  }
 79232  
 79233  type UpdateLicenseLabel UpdateLicenseLabelRequestType
 79234  
 79235  func init() {
 79236  	t["UpdateLicenseLabel"] = reflect.TypeOf((*UpdateLicenseLabel)(nil)).Elem()
 79237  }
 79238  
 79239  // The parameters of `LicenseManager.UpdateLicenseLabel`.
 79240  type UpdateLicenseLabelRequestType struct {
 79241  	This ManagedObjectReference `xml:"_this" json:"-"`
 79242  	// A license.
 79243  	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
 79244  	// A label key.
 79245  	LabelKey string `xml:"labelKey" json:"labelKey"`
 79246  	// Value for the label.
 79247  	LabelValue string `xml:"labelValue" json:"labelValue"`
 79248  }
 79249  
 79250  func init() {
 79251  	t["UpdateLicenseLabelRequestType"] = reflect.TypeOf((*UpdateLicenseLabelRequestType)(nil)).Elem()
 79252  }
 79253  
 79254  type UpdateLicenseLabelResponse struct {
 79255  }
 79256  
 79257  // The parameters of `LicenseManager.UpdateLicense`.
 79258  type UpdateLicenseRequestType struct {
 79259  	This ManagedObjectReference `xml:"_this" json:"-"`
 79260  	// A license. E.g. a serial license.
 79261  	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
 79262  	// array of key-value labels.
 79263  	Labels []KeyValue `xml:"labels,omitempty" json:"labels,omitempty"`
 79264  }
 79265  
 79266  func init() {
 79267  	t["UpdateLicenseRequestType"] = reflect.TypeOf((*UpdateLicenseRequestType)(nil)).Elem()
 79268  }
 79269  
 79270  type UpdateLicenseResponse struct {
 79271  	Returnval LicenseManagerLicenseInfo `xml:"returnval" json:"returnval"`
 79272  }
 79273  
 79274  type UpdateLinkedChildren UpdateLinkedChildrenRequestType
 79275  
 79276  func init() {
 79277  	t["UpdateLinkedChildren"] = reflect.TypeOf((*UpdateLinkedChildren)(nil)).Elem()
 79278  }
 79279  
 79280  // The parameters of `VirtualApp.UpdateLinkedChildren`.
 79281  type UpdateLinkedChildrenRequestType struct {
 79282  	This ManagedObjectReference `xml:"_this" json:"-"`
 79283  	// a set of LinkInfo objects that either add a new link
 79284  	// or modify an exisiting link.
 79285  	AddChangeSet []VirtualAppLinkInfo `xml:"addChangeSet,omitempty" json:"addChangeSet,omitempty"`
 79286  	// a set of entities that should no longer link to this vApp.
 79287  	//
 79288  	// Refers instances of `ManagedEntity`.
 79289  	RemoveSet []ManagedObjectReference `xml:"removeSet,omitempty" json:"removeSet,omitempty"`
 79290  }
 79291  
 79292  func init() {
 79293  	t["UpdateLinkedChildrenRequestType"] = reflect.TypeOf((*UpdateLinkedChildrenRequestType)(nil)).Elem()
 79294  }
 79295  
 79296  type UpdateLinkedChildrenResponse struct {
 79297  }
 79298  
 79299  type UpdateLocalSwapDatastore UpdateLocalSwapDatastoreRequestType
 79300  
 79301  func init() {
 79302  	t["UpdateLocalSwapDatastore"] = reflect.TypeOf((*UpdateLocalSwapDatastore)(nil)).Elem()
 79303  }
 79304  
 79305  // The parameters of `HostDatastoreSystem.UpdateLocalSwapDatastore`.
 79306  type UpdateLocalSwapDatastoreRequestType struct {
 79307  	This ManagedObjectReference `xml:"_this" json:"-"`
 79308  	// The selected datastore. If this argument is unset, then
 79309  	// the `localSwapDatastore`
 79310  	// property becomes unset. Otherwise, the host must have read/write
 79311  	// access to the indicated datastore.
 79312  	//
 79313  	// Refers instance of `Datastore`.
 79314  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 79315  }
 79316  
 79317  func init() {
 79318  	t["UpdateLocalSwapDatastoreRequestType"] = reflect.TypeOf((*UpdateLocalSwapDatastoreRequestType)(nil)).Elem()
 79319  }
 79320  
 79321  type UpdateLocalSwapDatastoreResponse struct {
 79322  }
 79323  
 79324  type UpdateLockdownExceptions UpdateLockdownExceptionsRequestType
 79325  
 79326  func init() {
 79327  	t["UpdateLockdownExceptions"] = reflect.TypeOf((*UpdateLockdownExceptions)(nil)).Elem()
 79328  }
 79329  
 79330  // The parameters of `HostAccessManager.UpdateLockdownExceptions`.
 79331  type UpdateLockdownExceptionsRequestType struct {
 79332  	This ManagedObjectReference `xml:"_this" json:"-"`
 79333  	// the new list of lockdown mode exceptions.
 79334  	Users []string `xml:"users,omitempty" json:"users,omitempty"`
 79335  }
 79336  
 79337  func init() {
 79338  	t["UpdateLockdownExceptionsRequestType"] = reflect.TypeOf((*UpdateLockdownExceptionsRequestType)(nil)).Elem()
 79339  }
 79340  
 79341  type UpdateLockdownExceptionsResponse struct {
 79342  }
 79343  
 79344  type UpdateModuleOptionString UpdateModuleOptionStringRequestType
 79345  
 79346  func init() {
 79347  	t["UpdateModuleOptionString"] = reflect.TypeOf((*UpdateModuleOptionString)(nil)).Elem()
 79348  }
 79349  
 79350  // The parameters of `HostKernelModuleSystem.UpdateModuleOptionString`.
 79351  type UpdateModuleOptionStringRequestType struct {
 79352  	This ManagedObjectReference `xml:"_this" json:"-"`
 79353  	// Module name.
 79354  	Name string `xml:"name" json:"name"`
 79355  	// Option string to be passed to the kernel module at
 79356  	// load time.
 79357  	Options string `xml:"options" json:"options"`
 79358  }
 79359  
 79360  func init() {
 79361  	t["UpdateModuleOptionStringRequestType"] = reflect.TypeOf((*UpdateModuleOptionStringRequestType)(nil)).Elem()
 79362  }
 79363  
 79364  type UpdateModuleOptionStringResponse struct {
 79365  }
 79366  
 79367  type UpdateNetworkConfig UpdateNetworkConfigRequestType
 79368  
 79369  func init() {
 79370  	t["UpdateNetworkConfig"] = reflect.TypeOf((*UpdateNetworkConfig)(nil)).Elem()
 79371  }
 79372  
 79373  // The parameters of `HostNetworkSystem.UpdateNetworkConfig`.
 79374  type UpdateNetworkConfigRequestType struct {
 79375  	This       ManagedObjectReference `xml:"_this" json:"-"`
 79376  	Config     HostNetworkConfig      `xml:"config" json:"config"`
 79377  	ChangeMode string                 `xml:"changeMode" json:"changeMode"`
 79378  }
 79379  
 79380  func init() {
 79381  	t["UpdateNetworkConfigRequestType"] = reflect.TypeOf((*UpdateNetworkConfigRequestType)(nil)).Elem()
 79382  }
 79383  
 79384  type UpdateNetworkConfigResponse struct {
 79385  	Returnval HostNetworkConfigResult `xml:"returnval" json:"returnval"`
 79386  }
 79387  
 79388  type UpdateNetworkResourcePool UpdateNetworkResourcePoolRequestType
 79389  
 79390  func init() {
 79391  	t["UpdateNetworkResourcePool"] = reflect.TypeOf((*UpdateNetworkResourcePool)(nil)).Elem()
 79392  }
 79393  
 79394  // The parameters of `DistributedVirtualSwitch.UpdateNetworkResourcePool`.
 79395  type UpdateNetworkResourcePoolRequestType struct {
 79396  	This ManagedObjectReference `xml:"_this" json:"-"`
 79397  	// The network resource pool configuration specification.
 79398  	ConfigSpec []DVSNetworkResourcePoolConfigSpec `xml:"configSpec" json:"configSpec"`
 79399  }
 79400  
 79401  func init() {
 79402  	t["UpdateNetworkResourcePoolRequestType"] = reflect.TypeOf((*UpdateNetworkResourcePoolRequestType)(nil)).Elem()
 79403  }
 79404  
 79405  type UpdateNetworkResourcePoolResponse struct {
 79406  }
 79407  
 79408  type UpdateOptions UpdateOptionsRequestType
 79409  
 79410  func init() {
 79411  	t["UpdateOptions"] = reflect.TypeOf((*UpdateOptions)(nil)).Elem()
 79412  }
 79413  
 79414  // The parameters of `OptionManager.UpdateOptions`.
 79415  type UpdateOptionsRequestType struct {
 79416  	This         ManagedObjectReference `xml:"_this" json:"-"`
 79417  	ChangedValue []BaseOptionValue      `xml:"changedValue,typeattr" json:"changedValue"`
 79418  }
 79419  
 79420  func init() {
 79421  	t["UpdateOptionsRequestType"] = reflect.TypeOf((*UpdateOptionsRequestType)(nil)).Elem()
 79422  }
 79423  
 79424  type UpdateOptionsResponse struct {
 79425  }
 79426  
 79427  type UpdatePassthruConfig UpdatePassthruConfigRequestType
 79428  
 79429  func init() {
 79430  	t["UpdatePassthruConfig"] = reflect.TypeOf((*UpdatePassthruConfig)(nil)).Elem()
 79431  }
 79432  
 79433  // The parameters of `HostPciPassthruSystem.UpdatePassthruConfig`.
 79434  type UpdatePassthruConfigRequestType struct {
 79435  	This ManagedObjectReference `xml:"_this" json:"-"`
 79436  	// The new PciPassthru configuration information.
 79437  	Config []BaseHostPciPassthruConfig `xml:"config,typeattr" json:"config"`
 79438  }
 79439  
 79440  func init() {
 79441  	t["UpdatePassthruConfigRequestType"] = reflect.TypeOf((*UpdatePassthruConfigRequestType)(nil)).Elem()
 79442  }
 79443  
 79444  type UpdatePassthruConfigResponse struct {
 79445  }
 79446  
 79447  type UpdatePerfInterval UpdatePerfIntervalRequestType
 79448  
 79449  func init() {
 79450  	t["UpdatePerfInterval"] = reflect.TypeOf((*UpdatePerfInterval)(nil)).Elem()
 79451  }
 79452  
 79453  // The parameters of `PerformanceManager.UpdatePerfInterval`.
 79454  type UpdatePerfIntervalRequestType struct {
 79455  	This ManagedObjectReference `xml:"_this" json:"-"`
 79456  	// The *historical interval* being modified, a
 79457  	// complete data object comprising values for `PerfInterval.enabled`, *interval ID*,
 79458  	// `PerfInterval.length` of time to maintain statistics for this
 79459  	// interval in the database, `PerfInterval.level`, `PerfInterval.name`, and `PerfInterval.samplingPeriod`
 79460  	// properties.
 79461  	Interval PerfInterval `xml:"interval" json:"interval"`
 79462  }
 79463  
 79464  func init() {
 79465  	t["UpdatePerfIntervalRequestType"] = reflect.TypeOf((*UpdatePerfIntervalRequestType)(nil)).Elem()
 79466  }
 79467  
 79468  type UpdatePerfIntervalResponse struct {
 79469  }
 79470  
 79471  type UpdatePhysicalNicLinkSpeed UpdatePhysicalNicLinkSpeedRequestType
 79472  
 79473  func init() {
 79474  	t["UpdatePhysicalNicLinkSpeed"] = reflect.TypeOf((*UpdatePhysicalNicLinkSpeed)(nil)).Elem()
 79475  }
 79476  
 79477  // The parameters of `HostNetworkSystem.UpdatePhysicalNicLinkSpeed`.
 79478  type UpdatePhysicalNicLinkSpeedRequestType struct {
 79479  	This      ManagedObjectReference `xml:"_this" json:"-"`
 79480  	Device    string                 `xml:"device" json:"device"`
 79481  	LinkSpeed *PhysicalNicLinkInfo   `xml:"linkSpeed,omitempty" json:"linkSpeed,omitempty"`
 79482  }
 79483  
 79484  func init() {
 79485  	t["UpdatePhysicalNicLinkSpeedRequestType"] = reflect.TypeOf((*UpdatePhysicalNicLinkSpeedRequestType)(nil)).Elem()
 79486  }
 79487  
 79488  type UpdatePhysicalNicLinkSpeedResponse struct {
 79489  }
 79490  
 79491  type UpdatePortGroup UpdatePortGroupRequestType
 79492  
 79493  func init() {
 79494  	t["UpdatePortGroup"] = reflect.TypeOf((*UpdatePortGroup)(nil)).Elem()
 79495  }
 79496  
 79497  // The parameters of `HostNetworkSystem.UpdatePortGroup`.
 79498  type UpdatePortGroupRequestType struct {
 79499  	This    ManagedObjectReference `xml:"_this" json:"-"`
 79500  	PgName  string                 `xml:"pgName" json:"pgName"`
 79501  	Portgrp HostPortGroupSpec      `xml:"portgrp" json:"portgrp"`
 79502  }
 79503  
 79504  func init() {
 79505  	t["UpdatePortGroupRequestType"] = reflect.TypeOf((*UpdatePortGroupRequestType)(nil)).Elem()
 79506  }
 79507  
 79508  type UpdatePortGroupResponse struct {
 79509  }
 79510  
 79511  // The parameters of `HostSystem.UpdateProductLockerLocation_Task`.
 79512  type UpdateProductLockerLocationRequestType struct {
 79513  	This ManagedObjectReference `xml:"_this" json:"-"`
 79514  	// The absolute path for the VMware Tools repository
 79515  	// on the host. It should have "/vmfs/volumes/" prefix and
 79516  	// it should be a valid existing path, or it could be
 79517  	// empty to restore to default value.
 79518  	Path string `xml:"path" json:"path"`
 79519  }
 79520  
 79521  func init() {
 79522  	t["UpdateProductLockerLocationRequestType"] = reflect.TypeOf((*UpdateProductLockerLocationRequestType)(nil)).Elem()
 79523  }
 79524  
 79525  type UpdateProductLockerLocation_Task UpdateProductLockerLocationRequestType
 79526  
 79527  func init() {
 79528  	t["UpdateProductLockerLocation_Task"] = reflect.TypeOf((*UpdateProductLockerLocation_Task)(nil)).Elem()
 79529  }
 79530  
 79531  type UpdateProductLockerLocation_TaskResponse struct {
 79532  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 79533  }
 79534  
 79535  type UpdateProgress UpdateProgressRequestType
 79536  
 79537  func init() {
 79538  	t["UpdateProgress"] = reflect.TypeOf((*UpdateProgress)(nil)).Elem()
 79539  }
 79540  
 79541  // The parameters of `Task.UpdateProgress`.
 79542  type UpdateProgressRequestType struct {
 79543  	This ManagedObjectReference `xml:"_this" json:"-"`
 79544  	// Percentage to set for this task
 79545  	PercentDone int32 `xml:"percentDone" json:"percentDone"`
 79546  }
 79547  
 79548  func init() {
 79549  	t["UpdateProgressRequestType"] = reflect.TypeOf((*UpdateProgressRequestType)(nil)).Elem()
 79550  }
 79551  
 79552  type UpdateProgressResponse struct {
 79553  }
 79554  
 79555  type UpdateReferenceHost UpdateReferenceHostRequestType
 79556  
 79557  func init() {
 79558  	t["UpdateReferenceHost"] = reflect.TypeOf((*UpdateReferenceHost)(nil)).Elem()
 79559  }
 79560  
 79561  // The parameters of `HostProfile.UpdateReferenceHost`.
 79562  type UpdateReferenceHostRequestType struct {
 79563  	This ManagedObjectReference `xml:"_this" json:"-"`
 79564  	// Reference host to use. If unset, the `HostProfile.referenceHost`
 79565  	// property is cleared.
 79566  	//
 79567  	// Refers instance of `HostSystem`.
 79568  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 79569  }
 79570  
 79571  func init() {
 79572  	t["UpdateReferenceHostRequestType"] = reflect.TypeOf((*UpdateReferenceHostRequestType)(nil)).Elem()
 79573  }
 79574  
 79575  type UpdateReferenceHostResponse struct {
 79576  }
 79577  
 79578  type UpdateRuleset UpdateRulesetRequestType
 79579  
 79580  func init() {
 79581  	t["UpdateRuleset"] = reflect.TypeOf((*UpdateRuleset)(nil)).Elem()
 79582  }
 79583  
 79584  // The parameters of `HostFirewallSystem.UpdateRuleset`.
 79585  type UpdateRulesetRequestType struct {
 79586  	This ManagedObjectReference         `xml:"_this" json:"-"`
 79587  	Id   string                         `xml:"id" json:"id"`
 79588  	Spec HostFirewallRulesetRulesetSpec `xml:"spec" json:"spec"`
 79589  }
 79590  
 79591  func init() {
 79592  	t["UpdateRulesetRequestType"] = reflect.TypeOf((*UpdateRulesetRequestType)(nil)).Elem()
 79593  }
 79594  
 79595  type UpdateRulesetResponse struct {
 79596  }
 79597  
 79598  type UpdateScsiLunDisplayName UpdateScsiLunDisplayNameRequestType
 79599  
 79600  func init() {
 79601  	t["UpdateScsiLunDisplayName"] = reflect.TypeOf((*UpdateScsiLunDisplayName)(nil)).Elem()
 79602  }
 79603  
 79604  // The parameters of `HostStorageSystem.UpdateScsiLunDisplayName`.
 79605  type UpdateScsiLunDisplayNameRequestType struct {
 79606  	This ManagedObjectReference `xml:"_this" json:"-"`
 79607  	// The uuid of the ScsiLun to update.
 79608  	LunUuid string `xml:"lunUuid" json:"lunUuid"`
 79609  	// The new name to assign to the ScsiLun object.
 79610  	DisplayName string `xml:"displayName" json:"displayName"`
 79611  }
 79612  
 79613  func init() {
 79614  	t["UpdateScsiLunDisplayNameRequestType"] = reflect.TypeOf((*UpdateScsiLunDisplayNameRequestType)(nil)).Elem()
 79615  }
 79616  
 79617  type UpdateScsiLunDisplayNameResponse struct {
 79618  }
 79619  
 79620  type UpdateSelfSignedClientCert UpdateSelfSignedClientCertRequestType
 79621  
 79622  func init() {
 79623  	t["UpdateSelfSignedClientCert"] = reflect.TypeOf((*UpdateSelfSignedClientCert)(nil)).Elem()
 79624  }
 79625  
 79626  // The parameters of `CryptoManagerKmip.UpdateSelfSignedClientCert`.
 79627  type UpdateSelfSignedClientCertRequestType struct {
 79628  	This ManagedObjectReference `xml:"_this" json:"-"`
 79629  	// \[in\] KMIP cluster.
 79630  	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
 79631  	// \[in\] Client certificate.
 79632  	Certificate string `xml:"certificate" json:"certificate"`
 79633  }
 79634  
 79635  func init() {
 79636  	t["UpdateSelfSignedClientCertRequestType"] = reflect.TypeOf((*UpdateSelfSignedClientCertRequestType)(nil)).Elem()
 79637  }
 79638  
 79639  type UpdateSelfSignedClientCertResponse struct {
 79640  }
 79641  
 79642  type UpdateServiceConsoleVirtualNic UpdateServiceConsoleVirtualNicRequestType
 79643  
 79644  func init() {
 79645  	t["UpdateServiceConsoleVirtualNic"] = reflect.TypeOf((*UpdateServiceConsoleVirtualNic)(nil)).Elem()
 79646  }
 79647  
 79648  // The parameters of `HostNetworkSystem.UpdateServiceConsoleVirtualNic`.
 79649  type UpdateServiceConsoleVirtualNicRequestType struct {
 79650  	This   ManagedObjectReference `xml:"_this" json:"-"`
 79651  	Device string                 `xml:"device" json:"device"`
 79652  	Nic    HostVirtualNicSpec     `xml:"nic" json:"nic"`
 79653  }
 79654  
 79655  func init() {
 79656  	t["UpdateServiceConsoleVirtualNicRequestType"] = reflect.TypeOf((*UpdateServiceConsoleVirtualNicRequestType)(nil)).Elem()
 79657  }
 79658  
 79659  type UpdateServiceConsoleVirtualNicResponse struct {
 79660  }
 79661  
 79662  type UpdateServiceMessage UpdateServiceMessageRequestType
 79663  
 79664  func init() {
 79665  	t["UpdateServiceMessage"] = reflect.TypeOf((*UpdateServiceMessage)(nil)).Elem()
 79666  }
 79667  
 79668  // The parameters of `SessionManager.UpdateServiceMessage`.
 79669  type UpdateServiceMessageRequestType struct {
 79670  	This ManagedObjectReference `xml:"_this" json:"-"`
 79671  	// The message to send. Newline characters may be included.
 79672  	Message string `xml:"message" json:"message"`
 79673  }
 79674  
 79675  func init() {
 79676  	t["UpdateServiceMessageRequestType"] = reflect.TypeOf((*UpdateServiceMessageRequestType)(nil)).Elem()
 79677  }
 79678  
 79679  type UpdateServiceMessageResponse struct {
 79680  }
 79681  
 79682  type UpdateServicePolicy UpdateServicePolicyRequestType
 79683  
 79684  func init() {
 79685  	t["UpdateServicePolicy"] = reflect.TypeOf((*UpdateServicePolicy)(nil)).Elem()
 79686  }
 79687  
 79688  // The parameters of `HostServiceSystem.UpdateServicePolicy`.
 79689  type UpdateServicePolicyRequestType struct {
 79690  	This ManagedObjectReference `xml:"_this" json:"-"`
 79691  	// Service identifier
 79692  	// (`HostServiceSystem.serviceInfo*.*HostServiceInfo.service*.*HostService.key`).
 79693  	Id string `xml:"id" json:"id"`
 79694  	// Specifies the condition for service activation.
 79695  	// Use one of the `HostServicePolicy_enum` values.
 79696  	Policy string `xml:"policy" json:"policy"`
 79697  }
 79698  
 79699  func init() {
 79700  	t["UpdateServicePolicyRequestType"] = reflect.TypeOf((*UpdateServicePolicyRequestType)(nil)).Elem()
 79701  }
 79702  
 79703  type UpdateServicePolicyResponse struct {
 79704  }
 79705  
 79706  // A set of updates that represent the changes since a prior call to `PropertyCollector.CheckForUpdates`, `PropertyCollector.WaitForUpdates`, or `PropertyCollector.WaitForUpdatesEx`.
 79707  type UpdateSet struct {
 79708  	DynamicData
 79709  
 79710  	// New data version to pass in the next call to `PropertyCollector.CheckForUpdates`,
 79711  	// `PropertyCollector.WaitForUpdates`, or `PropertyCollector.WaitForUpdatesEx`.
 79712  	//
 79713  	// These versions,
 79714  	// although they are opaque, are strongly ordered in the sense that passing
 79715  	// a version to `PropertyCollector.WaitForUpdates`, `PropertyCollector.CheckForUpdates` or
 79716  	// `PropertyCollector.WaitForUpdatesEx` requests updates that reflect changes in the
 79717  	// objects selected by the Filter that happened after the specified version.
 79718  	Version string `xml:"version" json:"version"`
 79719  	// Set of managed object updates detected by specific filters.
 79720  	//
 79721  	// Updates
 79722  	// are reported in sets. Each set is associated with a reference to a
 79723  	// filter that detected the updates in the set.
 79724  	FilterSet []PropertyFilterUpdate `xml:"filterSet,omitempty" json:"filterSet,omitempty"`
 79725  	// If true, this `UpdateSet` contains results
 79726  	// from a suspended change calculation, which places restrictions on the
 79727  	// use of version.
 79728  	//
 79729  	// The `PropertyCollector` may suspend a calculation due to server
 79730  	// policy or if the total number of `ObjectUpdate` entries summed across every `PropertyFilterUpdate` reached the maximum specified in
 79731  	// `WaitOptions.maxObjectUpdates`. The client
 79732  	// can pass the "truncated data version" to `PropertyCollector.WaitForUpdatesEx` to
 79733  	// resume the update calculation, which will start on the filter where it
 79734  	// left off. A truncated data version cannot be used more than once and
 79735  	// may not be passed to `PropertyCollector.CheckForUpdates` or `PropertyCollector.WaitForUpdates`. `UpdateSet.truncated` will
 79736  	// never be true in an `UpdateSet` returned from
 79737  	// `PropertyCollector.CheckForUpdates` or `PropertyCollector.WaitForUpdates`.
 79738  	//
 79739  	// If false, this `UpdateSet` contains a
 79740  	// complete change calculation or the last part of a series of suspended
 79741  	// 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
 79742  	// to recover a change sequence after a transient failure on a previous
 79743  	// call.
 79744  	Truncated *bool `xml:"truncated" json:"truncated,omitempty" vim:"4.1"`
 79745  }
 79746  
 79747  func init() {
 79748  	t["UpdateSet"] = reflect.TypeOf((*UpdateSet)(nil)).Elem()
 79749  }
 79750  
 79751  type UpdateSoftwareInternetScsiEnabled UpdateSoftwareInternetScsiEnabledRequestType
 79752  
 79753  func init() {
 79754  	t["UpdateSoftwareInternetScsiEnabled"] = reflect.TypeOf((*UpdateSoftwareInternetScsiEnabled)(nil)).Elem()
 79755  }
 79756  
 79757  // The parameters of `HostStorageSystem.UpdateSoftwareInternetScsiEnabled`.
 79758  type UpdateSoftwareInternetScsiEnabledRequestType struct {
 79759  	This ManagedObjectReference `xml:"_this" json:"-"`
 79760  	// True to enable the iSCSI; false to disable it
 79761  	Enabled bool `xml:"enabled" json:"enabled"`
 79762  }
 79763  
 79764  func init() {
 79765  	t["UpdateSoftwareInternetScsiEnabledRequestType"] = reflect.TypeOf((*UpdateSoftwareInternetScsiEnabledRequestType)(nil)).Elem()
 79766  }
 79767  
 79768  type UpdateSoftwareInternetScsiEnabledResponse struct {
 79769  }
 79770  
 79771  type UpdateSystemResources UpdateSystemResourcesRequestType
 79772  
 79773  func init() {
 79774  	t["UpdateSystemResources"] = reflect.TypeOf((*UpdateSystemResources)(nil)).Elem()
 79775  }
 79776  
 79777  // The parameters of `HostSystem.UpdateSystemResources`.
 79778  type UpdateSystemResourcesRequestType struct {
 79779  	This         ManagedObjectReference `xml:"_this" json:"-"`
 79780  	ResourceInfo HostSystemResourceInfo `xml:"resourceInfo" json:"resourceInfo"`
 79781  }
 79782  
 79783  func init() {
 79784  	t["UpdateSystemResourcesRequestType"] = reflect.TypeOf((*UpdateSystemResourcesRequestType)(nil)).Elem()
 79785  }
 79786  
 79787  type UpdateSystemResourcesResponse struct {
 79788  }
 79789  
 79790  type UpdateSystemSwapConfiguration UpdateSystemSwapConfigurationRequestType
 79791  
 79792  func init() {
 79793  	t["UpdateSystemSwapConfiguration"] = reflect.TypeOf((*UpdateSystemSwapConfiguration)(nil)).Elem()
 79794  }
 79795  
 79796  // The parameters of `HostSystem.UpdateSystemSwapConfiguration`.
 79797  type UpdateSystemSwapConfigurationRequestType struct {
 79798  	This ManagedObjectReference `xml:"_this" json:"-"`
 79799  	// Contains a list of system swap options that
 79800  	// configure the system swap functionality.
 79801  	SysSwapConfig HostSystemSwapConfiguration `xml:"sysSwapConfig" json:"sysSwapConfig"`
 79802  }
 79803  
 79804  func init() {
 79805  	t["UpdateSystemSwapConfigurationRequestType"] = reflect.TypeOf((*UpdateSystemSwapConfigurationRequestType)(nil)).Elem()
 79806  }
 79807  
 79808  type UpdateSystemSwapConfigurationResponse struct {
 79809  }
 79810  
 79811  type UpdateSystemUsers UpdateSystemUsersRequestType
 79812  
 79813  func init() {
 79814  	t["UpdateSystemUsers"] = reflect.TypeOf((*UpdateSystemUsers)(nil)).Elem()
 79815  }
 79816  
 79817  // The parameters of `HostAccessManager.UpdateSystemUsers`.
 79818  type UpdateSystemUsersRequestType struct {
 79819  	This ManagedObjectReference `xml:"_this" json:"-"`
 79820  	// the new list of local system users.
 79821  	Users []string `xml:"users,omitempty" json:"users,omitempty"`
 79822  }
 79823  
 79824  func init() {
 79825  	t["UpdateSystemUsersRequestType"] = reflect.TypeOf((*UpdateSystemUsersRequestType)(nil)).Elem()
 79826  }
 79827  
 79828  type UpdateSystemUsersResponse struct {
 79829  }
 79830  
 79831  type UpdateUser UpdateUserRequestType
 79832  
 79833  func init() {
 79834  	t["UpdateUser"] = reflect.TypeOf((*UpdateUser)(nil)).Elem()
 79835  }
 79836  
 79837  // The parameters of `HostLocalAccountManager.UpdateUser`.
 79838  type UpdateUserRequestType struct {
 79839  	This ManagedObjectReference `xml:"_this" json:"-"`
 79840  	// Specification of user being updated.
 79841  	User BaseHostAccountSpec `xml:"user,typeattr" json:"user"`
 79842  }
 79843  
 79844  func init() {
 79845  	t["UpdateUserRequestType"] = reflect.TypeOf((*UpdateUserRequestType)(nil)).Elem()
 79846  }
 79847  
 79848  type UpdateUserResponse struct {
 79849  }
 79850  
 79851  type UpdateVAppConfig UpdateVAppConfigRequestType
 79852  
 79853  func init() {
 79854  	t["UpdateVAppConfig"] = reflect.TypeOf((*UpdateVAppConfig)(nil)).Elem()
 79855  }
 79856  
 79857  // The parameters of `VirtualApp.UpdateVAppConfig`.
 79858  type UpdateVAppConfigRequestType struct {
 79859  	This ManagedObjectReference `xml:"_this" json:"-"`
 79860  	// contains the updates to the current configuration. Any set element,
 79861  	// is changed. All values in the spec that is left unset, will not be
 79862  	// modified.
 79863  	Spec VAppConfigSpec `xml:"spec" json:"spec"`
 79864  }
 79865  
 79866  func init() {
 79867  	t["UpdateVAppConfigRequestType"] = reflect.TypeOf((*UpdateVAppConfigRequestType)(nil)).Elem()
 79868  }
 79869  
 79870  type UpdateVAppConfigResponse struct {
 79871  }
 79872  
 79873  // The parameters of `VcenterVStorageObjectManager.UpdateVStorageInfrastructureObjectPolicy_Task`.
 79874  type UpdateVStorageInfrastructureObjectPolicyRequestType struct {
 79875  	This ManagedObjectReference `xml:"_this" json:"-"`
 79876  	// specification to assign a SPBM policy to virtual storage
 79877  	// infrastructure object.
 79878  	Spec VslmInfrastructureObjectPolicySpec `xml:"spec" json:"spec"`
 79879  }
 79880  
 79881  func init() {
 79882  	t["UpdateVStorageInfrastructureObjectPolicyRequestType"] = reflect.TypeOf((*UpdateVStorageInfrastructureObjectPolicyRequestType)(nil)).Elem()
 79883  }
 79884  
 79885  type UpdateVStorageInfrastructureObjectPolicy_Task UpdateVStorageInfrastructureObjectPolicyRequestType
 79886  
 79887  func init() {
 79888  	t["UpdateVStorageInfrastructureObjectPolicy_Task"] = reflect.TypeOf((*UpdateVStorageInfrastructureObjectPolicy_Task)(nil)).Elem()
 79889  }
 79890  
 79891  type UpdateVStorageInfrastructureObjectPolicy_TaskResponse struct {
 79892  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 79893  }
 79894  
 79895  // The parameters of `VcenterVStorageObjectManager.UpdateVStorageObjectCrypto_Task`.
 79896  type UpdateVStorageObjectCryptoRequestType struct {
 79897  	This ManagedObjectReference `xml:"_this" json:"-"`
 79898  	// The ID of the virtual storage object.
 79899  	Id ID `xml:"id" json:"id"`
 79900  	// The datastore where the virtual storage object is
 79901  	// located.
 79902  	//
 79903  	// Refers instance of `Datastore`.
 79904  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 79905  	// New profile requirement on the virtual storage object.
 79906  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 79907  	// The crypto information of each disk on the chain.
 79908  	DisksCrypto *DiskCryptoSpec `xml:"disksCrypto,omitempty" json:"disksCrypto,omitempty"`
 79909  }
 79910  
 79911  func init() {
 79912  	t["UpdateVStorageObjectCryptoRequestType"] = reflect.TypeOf((*UpdateVStorageObjectCryptoRequestType)(nil)).Elem()
 79913  }
 79914  
 79915  type UpdateVStorageObjectCrypto_Task UpdateVStorageObjectCryptoRequestType
 79916  
 79917  func init() {
 79918  	t["UpdateVStorageObjectCrypto_Task"] = reflect.TypeOf((*UpdateVStorageObjectCrypto_Task)(nil)).Elem()
 79919  }
 79920  
 79921  type UpdateVStorageObjectCrypto_TaskResponse struct {
 79922  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 79923  }
 79924  
 79925  // The parameters of `VcenterVStorageObjectManager.UpdateVStorageObjectPolicy_Task`.
 79926  type UpdateVStorageObjectPolicyRequestType struct {
 79927  	This ManagedObjectReference `xml:"_this" json:"-"`
 79928  	// The ID of the virtual storage object.
 79929  	Id ID `xml:"id" json:"id"`
 79930  	// The datastore where the virtual storage object is
 79931  	// located.
 79932  	//
 79933  	// Refers instance of `Datastore`.
 79934  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 79935  	// New profile requirement on the virtual storage object.
 79936  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 79937  }
 79938  
 79939  func init() {
 79940  	t["UpdateVStorageObjectPolicyRequestType"] = reflect.TypeOf((*UpdateVStorageObjectPolicyRequestType)(nil)).Elem()
 79941  }
 79942  
 79943  type UpdateVStorageObjectPolicy_Task UpdateVStorageObjectPolicyRequestType
 79944  
 79945  func init() {
 79946  	t["UpdateVStorageObjectPolicy_Task"] = reflect.TypeOf((*UpdateVStorageObjectPolicy_Task)(nil)).Elem()
 79947  }
 79948  
 79949  type UpdateVStorageObjectPolicy_TaskResponse struct {
 79950  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 79951  }
 79952  
 79953  // The parameters of `Datastore.UpdateVVolVirtualMachineFiles_Task`.
 79954  type UpdateVVolVirtualMachineFilesRequestType struct {
 79955  	This ManagedObjectReference `xml:"_this" json:"-"`
 79956  	// Mapping of source to target storage container
 79957  	// as well as source to target VVol IDs.
 79958  	FailoverPair []DatastoreVVolContainerFailoverPair `xml:"failoverPair,omitempty" json:"failoverPair,omitempty"`
 79959  }
 79960  
 79961  func init() {
 79962  	t["UpdateVVolVirtualMachineFilesRequestType"] = reflect.TypeOf((*UpdateVVolVirtualMachineFilesRequestType)(nil)).Elem()
 79963  }
 79964  
 79965  type UpdateVVolVirtualMachineFiles_Task UpdateVVolVirtualMachineFilesRequestType
 79966  
 79967  func init() {
 79968  	t["UpdateVVolVirtualMachineFiles_Task"] = reflect.TypeOf((*UpdateVVolVirtualMachineFiles_Task)(nil)).Elem()
 79969  }
 79970  
 79971  type UpdateVVolVirtualMachineFiles_TaskResponse struct {
 79972  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 79973  }
 79974  
 79975  // The parameters of `Datastore.UpdateVirtualMachineFiles_Task`.
 79976  type UpdateVirtualMachineFilesRequestType struct {
 79977  	This ManagedObjectReference `xml:"_this" json:"-"`
 79978  	// Old mount path to datastore mapping.
 79979  	MountPathDatastoreMapping []DatastoreMountPathDatastorePair `xml:"mountPathDatastoreMapping" json:"mountPathDatastoreMapping"`
 79980  }
 79981  
 79982  func init() {
 79983  	t["UpdateVirtualMachineFilesRequestType"] = reflect.TypeOf((*UpdateVirtualMachineFilesRequestType)(nil)).Elem()
 79984  }
 79985  
 79986  // UpdateVirtualMachineFilesResult is the result returned
 79987  // to the `Datastore.UpdateVirtualMachineFiles_Task` method.
 79988  type UpdateVirtualMachineFilesResult struct {
 79989  	DynamicData
 79990  
 79991  	// The list of virtual machines files the server has attempted
 79992  	// to update but failed to update.
 79993  	FailedVmFile []UpdateVirtualMachineFilesResultFailedVmFileInfo `xml:"failedVmFile,omitempty" json:"failedVmFile,omitempty"`
 79994  }
 79995  
 79996  func init() {
 79997  	t["UpdateVirtualMachineFilesResult"] = reflect.TypeOf((*UpdateVirtualMachineFilesResult)(nil)).Elem()
 79998  	minAPIVersionForType["UpdateVirtualMachineFilesResult"] = "4.1"
 79999  }
 80000  
 80001  type UpdateVirtualMachineFilesResultFailedVmFileInfo struct {
 80002  	DynamicData
 80003  
 80004  	// The file path
 80005  	VmFile string `xml:"vmFile" json:"vmFile"`
 80006  	// The reason why the update failed.
 80007  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 80008  }
 80009  
 80010  func init() {
 80011  	t["UpdateVirtualMachineFilesResultFailedVmFileInfo"] = reflect.TypeOf((*UpdateVirtualMachineFilesResultFailedVmFileInfo)(nil)).Elem()
 80012  }
 80013  
 80014  type UpdateVirtualMachineFiles_Task UpdateVirtualMachineFilesRequestType
 80015  
 80016  func init() {
 80017  	t["UpdateVirtualMachineFiles_Task"] = reflect.TypeOf((*UpdateVirtualMachineFiles_Task)(nil)).Elem()
 80018  }
 80019  
 80020  type UpdateVirtualMachineFiles_TaskResponse struct {
 80021  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 80022  }
 80023  
 80024  type UpdateVirtualNic UpdateVirtualNicRequestType
 80025  
 80026  func init() {
 80027  	t["UpdateVirtualNic"] = reflect.TypeOf((*UpdateVirtualNic)(nil)).Elem()
 80028  }
 80029  
 80030  // The parameters of `HostNetworkSystem.UpdateVirtualNic`.
 80031  type UpdateVirtualNicRequestType struct {
 80032  	This   ManagedObjectReference `xml:"_this" json:"-"`
 80033  	Device string                 `xml:"device" json:"device"`
 80034  	Nic    HostVirtualNicSpec     `xml:"nic" json:"nic"`
 80035  }
 80036  
 80037  func init() {
 80038  	t["UpdateVirtualNicRequestType"] = reflect.TypeOf((*UpdateVirtualNicRequestType)(nil)).Elem()
 80039  }
 80040  
 80041  type UpdateVirtualNicResponse struct {
 80042  }
 80043  
 80044  type UpdateVirtualSwitch UpdateVirtualSwitchRequestType
 80045  
 80046  func init() {
 80047  	t["UpdateVirtualSwitch"] = reflect.TypeOf((*UpdateVirtualSwitch)(nil)).Elem()
 80048  }
 80049  
 80050  // The parameters of `HostNetworkSystem.UpdateVirtualSwitch`.
 80051  type UpdateVirtualSwitchRequestType struct {
 80052  	This        ManagedObjectReference `xml:"_this" json:"-"`
 80053  	VswitchName string                 `xml:"vswitchName" json:"vswitchName"`
 80054  	Spec        HostVirtualSwitchSpec  `xml:"spec" json:"spec"`
 80055  }
 80056  
 80057  func init() {
 80058  	t["UpdateVirtualSwitchRequestType"] = reflect.TypeOf((*UpdateVirtualSwitchRequestType)(nil)).Elem()
 80059  }
 80060  
 80061  type UpdateVirtualSwitchResponse struct {
 80062  }
 80063  
 80064  type UpdateVmfsUnmapBandwidth UpdateVmfsUnmapBandwidthRequestType
 80065  
 80066  func init() {
 80067  	t["UpdateVmfsUnmapBandwidth"] = reflect.TypeOf((*UpdateVmfsUnmapBandwidth)(nil)).Elem()
 80068  }
 80069  
 80070  // The parameters of `HostStorageSystem.UpdateVmfsUnmapBandwidth`.
 80071  type UpdateVmfsUnmapBandwidthRequestType struct {
 80072  	This ManagedObjectReference `xml:"_this" json:"-"`
 80073  	// The VMFS UUID.
 80074  	VmfsUuid string `xml:"vmfsUuid" json:"vmfsUuid"`
 80075  	// Unmap bandwidth specification. See
 80076  	// `VmfsUnmapBandwidthSpec`
 80077  	UnmapBandwidthSpec VmfsUnmapBandwidthSpec `xml:"unmapBandwidthSpec" json:"unmapBandwidthSpec"`
 80078  }
 80079  
 80080  func init() {
 80081  	t["UpdateVmfsUnmapBandwidthRequestType"] = reflect.TypeOf((*UpdateVmfsUnmapBandwidthRequestType)(nil)).Elem()
 80082  }
 80083  
 80084  type UpdateVmfsUnmapBandwidthResponse struct {
 80085  }
 80086  
 80087  type UpdateVmfsUnmapPriority UpdateVmfsUnmapPriorityRequestType
 80088  
 80089  func init() {
 80090  	t["UpdateVmfsUnmapPriority"] = reflect.TypeOf((*UpdateVmfsUnmapPriority)(nil)).Elem()
 80091  }
 80092  
 80093  // The parameters of `HostStorageSystem.UpdateVmfsUnmapPriority`.
 80094  type UpdateVmfsUnmapPriorityRequestType struct {
 80095  	This ManagedObjectReference `xml:"_this" json:"-"`
 80096  	// The VMFS UUID.
 80097  	VmfsUuid string `xml:"vmfsUuid" json:"vmfsUuid"`
 80098  	// Unmap priority. The supported values are defined in
 80099  	// `HostVmfsVolumeUnmapPriority_enum`.
 80100  	UnmapPriority string `xml:"unmapPriority" json:"unmapPriority"`
 80101  }
 80102  
 80103  func init() {
 80104  	t["UpdateVmfsUnmapPriorityRequestType"] = reflect.TypeOf((*UpdateVmfsUnmapPriorityRequestType)(nil)).Elem()
 80105  }
 80106  
 80107  type UpdateVmfsUnmapPriorityResponse struct {
 80108  }
 80109  
 80110  // The parameters of `HostVsanSystem.UpdateVsan_Task`.
 80111  type UpdateVsanRequestType struct {
 80112  	This ManagedObjectReference `xml:"_this" json:"-"`
 80113  	// host configuration settings to use for the VSAN service.
 80114  	Config VsanHostConfigInfo `xml:"config" json:"config"`
 80115  }
 80116  
 80117  func init() {
 80118  	t["UpdateVsanRequestType"] = reflect.TypeOf((*UpdateVsanRequestType)(nil)).Elem()
 80119  }
 80120  
 80121  type UpdateVsan_Task UpdateVsanRequestType
 80122  
 80123  func init() {
 80124  	t["UpdateVsan_Task"] = reflect.TypeOf((*UpdateVsan_Task)(nil)).Elem()
 80125  }
 80126  
 80127  type UpdateVsan_TaskResponse struct {
 80128  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 80129  }
 80130  
 80131  // This event records that the agent has been patched and will be
 80132  // restarted.
 80133  type UpdatedAgentBeingRestartedEvent struct {
 80134  	HostEvent
 80135  }
 80136  
 80137  func init() {
 80138  	t["UpdatedAgentBeingRestartedEvent"] = reflect.TypeOf((*UpdatedAgentBeingRestartedEvent)(nil)).Elem()
 80139  	minAPIVersionForType["UpdatedAgentBeingRestartedEvent"] = "2.5"
 80140  }
 80141  
 80142  // These event types represent events converted from VirtualCenter 1.x.
 80143  //
 80144  // All upgraded events are converted to string values.
 80145  type UpgradeEvent struct {
 80146  	Event
 80147  
 80148  	// The formatted message from the upgrade.
 80149  	Message string `xml:"message" json:"message"`
 80150  }
 80151  
 80152  func init() {
 80153  	t["UpgradeEvent"] = reflect.TypeOf((*UpgradeEvent)(nil)).Elem()
 80154  }
 80155  
 80156  // The parameters of `IoFilterManager.UpgradeIoFilter_Task`.
 80157  type UpgradeIoFilterRequestType struct {
 80158  	This ManagedObjectReference `xml:"_this" json:"-"`
 80159  	// The filter to be upgraded.
 80160  	FilterId string `xml:"filterId" json:"filterId"`
 80161  	// The compute resource that the filter is installed on.
 80162  	// "compRes" must be a cluster.
 80163  	//
 80164  	// Refers instance of `ComputeResource`.
 80165  	CompRes ManagedObjectReference `xml:"compRes" json:"compRes"`
 80166  	// The URL that points to the new IO Filter VIB package.
 80167  	VibUrl string `xml:"vibUrl" json:"vibUrl"`
 80168  }
 80169  
 80170  func init() {
 80171  	t["UpgradeIoFilterRequestType"] = reflect.TypeOf((*UpgradeIoFilterRequestType)(nil)).Elem()
 80172  }
 80173  
 80174  type UpgradeIoFilter_Task UpgradeIoFilterRequestType
 80175  
 80176  func init() {
 80177  	t["UpgradeIoFilter_Task"] = reflect.TypeOf((*UpgradeIoFilter_Task)(nil)).Elem()
 80178  }
 80179  
 80180  type UpgradeIoFilter_TaskResponse struct {
 80181  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 80182  }
 80183  
 80184  // The parameters of `VirtualMachine.UpgradeTools_Task`.
 80185  type UpgradeToolsRequestType struct {
 80186  	This ManagedObjectReference `xml:"_this" json:"-"`
 80187  	// Command line options passed to the installer to modify
 80188  	// the installation procedure for tools.
 80189  	InstallerOptions string `xml:"installerOptions,omitempty" json:"installerOptions,omitempty"`
 80190  }
 80191  
 80192  func init() {
 80193  	t["UpgradeToolsRequestType"] = reflect.TypeOf((*UpgradeToolsRequestType)(nil)).Elem()
 80194  }
 80195  
 80196  type UpgradeTools_Task UpgradeToolsRequestType
 80197  
 80198  func init() {
 80199  	t["UpgradeTools_Task"] = reflect.TypeOf((*UpgradeTools_Task)(nil)).Elem()
 80200  }
 80201  
 80202  type UpgradeTools_TaskResponse struct {
 80203  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 80204  }
 80205  
 80206  // The parameters of `VirtualMachine.UpgradeVM_Task`.
 80207  type UpgradeVMRequestType struct {
 80208  	This ManagedObjectReference `xml:"_this" json:"-"`
 80209  	// If specified, upgrade to that specified version. If not specified,
 80210  	// upgrade to the most current virtual hardware supported on the host.
 80211  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 80212  }
 80213  
 80214  func init() {
 80215  	t["UpgradeVMRequestType"] = reflect.TypeOf((*UpgradeVMRequestType)(nil)).Elem()
 80216  }
 80217  
 80218  type UpgradeVM_Task UpgradeVMRequestType
 80219  
 80220  func init() {
 80221  	t["UpgradeVM_Task"] = reflect.TypeOf((*UpgradeVM_Task)(nil)).Elem()
 80222  }
 80223  
 80224  type UpgradeVM_TaskResponse struct {
 80225  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 80226  }
 80227  
 80228  type UpgradeVmLayout UpgradeVmLayoutRequestType
 80229  
 80230  func init() {
 80231  	t["UpgradeVmLayout"] = reflect.TypeOf((*UpgradeVmLayout)(nil)).Elem()
 80232  }
 80233  
 80234  type UpgradeVmLayoutRequestType struct {
 80235  	This ManagedObjectReference `xml:"_this" json:"-"`
 80236  }
 80237  
 80238  func init() {
 80239  	t["UpgradeVmLayoutRequestType"] = reflect.TypeOf((*UpgradeVmLayoutRequestType)(nil)).Elem()
 80240  }
 80241  
 80242  type UpgradeVmLayoutResponse struct {
 80243  }
 80244  
 80245  type UpgradeVmfs UpgradeVmfsRequestType
 80246  
 80247  func init() {
 80248  	t["UpgradeVmfs"] = reflect.TypeOf((*UpgradeVmfs)(nil)).Elem()
 80249  }
 80250  
 80251  // The parameters of `HostStorageSystem.UpgradeVmfs`.
 80252  type UpgradeVmfsRequestType struct {
 80253  	This ManagedObjectReference `xml:"_this" json:"-"`
 80254  	// The path of the VMFS.
 80255  	VmfsPath string `xml:"vmfsPath" json:"vmfsPath"`
 80256  }
 80257  
 80258  func init() {
 80259  	t["UpgradeVmfsRequestType"] = reflect.TypeOf((*UpgradeVmfsRequestType)(nil)).Elem()
 80260  }
 80261  
 80262  type UpgradeVmfsResponse struct {
 80263  }
 80264  
 80265  type UpgradeVsanObjects UpgradeVsanObjectsRequestType
 80266  
 80267  func init() {
 80268  	t["UpgradeVsanObjects"] = reflect.TypeOf((*UpgradeVsanObjects)(nil)).Elem()
 80269  }
 80270  
 80271  // The parameters of `HostVsanInternalSystem.UpgradeVsanObjects`.
 80272  type UpgradeVsanObjectsRequestType struct {
 80273  	This ManagedObjectReference `xml:"_this" json:"-"`
 80274  	// The array of objects' UUID which will be upgraded.
 80275  	Uuids []string `xml:"uuids" json:"uuids"`
 80276  	// The new version will be applied to objects.
 80277  	NewVersion int32 `xml:"newVersion" json:"newVersion"`
 80278  }
 80279  
 80280  func init() {
 80281  	t["UpgradeVsanObjectsRequestType"] = reflect.TypeOf((*UpgradeVsanObjectsRequestType)(nil)).Elem()
 80282  }
 80283  
 80284  type UpgradeVsanObjectsResponse struct {
 80285  	Returnval []HostVsanInternalSystemVsanObjectOperationResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 80286  }
 80287  
 80288  // Mtu health check status of an uplink port is changed, and in the latest mtu health check,
 80289  // not all the vlans' MTU setting on physical switch allows vSphere Distributed Switch
 80290  // max MTU size packets passing.
 80291  type UplinkPortMtuNotSupportEvent struct {
 80292  	DvsHealthStatusChangeEvent
 80293  }
 80294  
 80295  func init() {
 80296  	t["UplinkPortMtuNotSupportEvent"] = reflect.TypeOf((*UplinkPortMtuNotSupportEvent)(nil)).Elem()
 80297  	minAPIVersionForType["UplinkPortMtuNotSupportEvent"] = "5.1"
 80298  }
 80299  
 80300  // Mtu health check status of an uplink port is changed, and in the latest mtu health check,
 80301  // all the vlans' MTU setting on physical switch allows vSphere Distributed Switch
 80302  // max MTU size packets passing.
 80303  type UplinkPortMtuSupportEvent struct {
 80304  	DvsHealthStatusChangeEvent
 80305  }
 80306  
 80307  func init() {
 80308  	t["UplinkPortMtuSupportEvent"] = reflect.TypeOf((*UplinkPortMtuSupportEvent)(nil)).Elem()
 80309  	minAPIVersionForType["UplinkPortMtuSupportEvent"] = "5.1"
 80310  }
 80311  
 80312  // Vlans health check status of an uplink port is changed, and in the latest vlan health check,
 80313  // all the vlans are trunked by the physical switch connected to the uplink port.
 80314  type UplinkPortVlanTrunkedEvent struct {
 80315  	DvsHealthStatusChangeEvent
 80316  }
 80317  
 80318  func init() {
 80319  	t["UplinkPortVlanTrunkedEvent"] = reflect.TypeOf((*UplinkPortVlanTrunkedEvent)(nil)).Elem()
 80320  	minAPIVersionForType["UplinkPortVlanTrunkedEvent"] = "5.1"
 80321  }
 80322  
 80323  // Vlans health check status of an uplink port is changed, and in the latest vlan health check,
 80324  // not all the vlans are trunked by the physical switch connected to the uplink port.
 80325  type UplinkPortVlanUntrunkedEvent struct {
 80326  	DvsHealthStatusChangeEvent
 80327  }
 80328  
 80329  func init() {
 80330  	t["UplinkPortVlanUntrunkedEvent"] = reflect.TypeOf((*UplinkPortVlanUntrunkedEvent)(nil)).Elem()
 80331  	minAPIVersionForType["UplinkPortVlanUntrunkedEvent"] = "5.1"
 80332  }
 80333  
 80334  type UploadClientCert UploadClientCertRequestType
 80335  
 80336  func init() {
 80337  	t["UploadClientCert"] = reflect.TypeOf((*UploadClientCert)(nil)).Elem()
 80338  }
 80339  
 80340  // The parameters of `CryptoManagerKmip.UploadClientCert`.
 80341  type UploadClientCertRequestType struct {
 80342  	This ManagedObjectReference `xml:"_this" json:"-"`
 80343  	// \[in\] KMIP cluster.
 80344  	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
 80345  	// \[in\] Client certificate.
 80346  	Certificate string `xml:"certificate" json:"certificate"`
 80347  	// \[in\] Private key.
 80348  	PrivateKey string `xml:"privateKey" json:"privateKey"`
 80349  }
 80350  
 80351  func init() {
 80352  	t["UploadClientCertRequestType"] = reflect.TypeOf((*UploadClientCertRequestType)(nil)).Elem()
 80353  }
 80354  
 80355  type UploadClientCertResponse struct {
 80356  }
 80357  
 80358  type UploadKmipServerCert UploadKmipServerCertRequestType
 80359  
 80360  func init() {
 80361  	t["UploadKmipServerCert"] = reflect.TypeOf((*UploadKmipServerCert)(nil)).Elem()
 80362  }
 80363  
 80364  // The parameters of `CryptoManagerKmip.UploadKmipServerCert`.
 80365  type UploadKmipServerCertRequestType struct {
 80366  	This ManagedObjectReference `xml:"_this" json:"-"`
 80367  	// \[in\] KMIP cluster.
 80368  	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
 80369  	// \[in\] Server certificate in PEM encoding.
 80370  	Certificate string `xml:"certificate" json:"certificate"`
 80371  }
 80372  
 80373  func init() {
 80374  	t["UploadKmipServerCertRequestType"] = reflect.TypeOf((*UploadKmipServerCertRequestType)(nil)).Elem()
 80375  }
 80376  
 80377  type UploadKmipServerCertResponse struct {
 80378  }
 80379  
 80380  // This data object contains information about which USB HID codes
 80381  // to send to the Virtual Machine's keyboard.
 80382  type UsbScanCodeSpec struct {
 80383  	DynamicData
 80384  
 80385  	KeyEvents []UsbScanCodeSpecKeyEvent `xml:"keyEvents" json:"keyEvents"`
 80386  }
 80387  
 80388  func init() {
 80389  	t["UsbScanCodeSpec"] = reflect.TypeOf((*UsbScanCodeSpec)(nil)).Elem()
 80390  	minAPIVersionForType["UsbScanCodeSpec"] = "6.5"
 80391  }
 80392  
 80393  type UsbScanCodeSpecKeyEvent struct {
 80394  	DynamicData
 80395  
 80396  	// USB HID code of the event
 80397  	UsbHidCode int32 `xml:"usbHidCode" json:"usbHidCode"`
 80398  	// Modifiers to apply to the USB HID code
 80399  	Modifiers *UsbScanCodeSpecModifierType `xml:"modifiers,omitempty" json:"modifiers,omitempty"`
 80400  }
 80401  
 80402  func init() {
 80403  	t["UsbScanCodeSpecKeyEvent"] = reflect.TypeOf((*UsbScanCodeSpecKeyEvent)(nil)).Elem()
 80404  }
 80405  
 80406  // The types of key modifiers to apply to each code.
 80407  type UsbScanCodeSpecModifierType struct {
 80408  	DynamicData
 80409  
 80410  	// Left control key
 80411  	LeftControl *bool `xml:"leftControl" json:"leftControl,omitempty"`
 80412  	// Left shift key
 80413  	LeftShift *bool `xml:"leftShift" json:"leftShift,omitempty"`
 80414  	// Left alt key
 80415  	LeftAlt *bool `xml:"leftAlt" json:"leftAlt,omitempty"`
 80416  	// Left gui key
 80417  	LeftGui *bool `xml:"leftGui" json:"leftGui,omitempty"`
 80418  	// Right control key
 80419  	RightControl *bool `xml:"rightControl" json:"rightControl,omitempty"`
 80420  	// Right shift key
 80421  	RightShift *bool `xml:"rightShift" json:"rightShift,omitempty"`
 80422  	// Right alt key
 80423  	RightAlt *bool `xml:"rightAlt" json:"rightAlt,omitempty"`
 80424  	// Right gui key
 80425  	RightGui *bool `xml:"rightGui" json:"rightGui,omitempty"`
 80426  }
 80427  
 80428  func init() {
 80429  	t["UsbScanCodeSpecModifierType"] = reflect.TypeOf((*UsbScanCodeSpecModifierType)(nil)).Elem()
 80430  	minAPIVersionForType["UsbScanCodeSpecModifierType"] = "6.5"
 80431  }
 80432  
 80433  // This event records that a user account membership was added to a group.
 80434  type UserAssignedToGroup struct {
 80435  	HostEvent
 80436  
 80437  	UserLogin string `xml:"userLogin" json:"userLogin"`
 80438  	Group     string `xml:"group" json:"group"`
 80439  }
 80440  
 80441  func init() {
 80442  	t["UserAssignedToGroup"] = reflect.TypeOf((*UserAssignedToGroup)(nil)).Elem()
 80443  }
 80444  
 80445  // The `UserGroupProfile` data object represents a user group.
 80446  //
 80447  // Use the `ApplyProfile.policy` list for access to configuration data
 80448  // for the user group profile. Use the `ApplyProfile.property` list for access
 80449  // to subprofile configuration data, if any.
 80450  type UserGroupProfile struct {
 80451  	ApplyProfile
 80452  
 80453  	// Linkable identifier.
 80454  	Key string `xml:"key" json:"key"`
 80455  }
 80456  
 80457  func init() {
 80458  	t["UserGroupProfile"] = reflect.TypeOf((*UserGroupProfile)(nil)).Elem()
 80459  	minAPIVersionForType["UserGroupProfile"] = "4.0"
 80460  }
 80461  
 80462  // The `UserInputRequiredParameterMetadata` data object represents policy option metadata
 80463  // information for configuration data.
 80464  //
 80465  // The Profile Engine saves configuration
 80466  // data from the user input options in the host `AnswerFile`.
 80467  // See the `HostProfile.ExecuteHostProfile` and
 80468  // `HostProfileManager.ApplyHostConfig_Task` methods.
 80469  type UserInputRequiredParameterMetadata struct {
 80470  	ProfilePolicyOptionMetadata
 80471  
 80472  	// Metadata for user input options.
 80473  	UserInputParameter []ProfileParameterMetadata `xml:"userInputParameter,omitempty" json:"userInputParameter,omitempty"`
 80474  }
 80475  
 80476  func init() {
 80477  	t["UserInputRequiredParameterMetadata"] = reflect.TypeOf((*UserInputRequiredParameterMetadata)(nil)).Elem()
 80478  	minAPIVersionForType["UserInputRequiredParameterMetadata"] = "4.0"
 80479  }
 80480  
 80481  // This event records a user logon.
 80482  type UserLoginSessionEvent struct {
 80483  	SessionEvent
 80484  
 80485  	// The IP address of the peer that initiated the connection.
 80486  	//
 80487  	// This may
 80488  	// be the client that originated the session, or it may be an intervening
 80489  	// proxy if the binding uses a protocol that supports proxies, such as HTTP.
 80490  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 80491  	// The user agent or application
 80492  	UserAgent string `xml:"userAgent,omitempty" json:"userAgent,omitempty" vim:"5.1"`
 80493  	// The locale of the session.
 80494  	Locale string `xml:"locale" json:"locale"`
 80495  	// The unique identifier for the session.
 80496  	SessionId string `xml:"sessionId" json:"sessionId"`
 80497  }
 80498  
 80499  func init() {
 80500  	t["UserLoginSessionEvent"] = reflect.TypeOf((*UserLoginSessionEvent)(nil)).Elem()
 80501  }
 80502  
 80503  // This event records a user logoff, disconnection, or session timeout.
 80504  type UserLogoutSessionEvent struct {
 80505  	SessionEvent
 80506  
 80507  	// The IP address of client
 80508  	IpAddress string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty" vim:"5.1"`
 80509  	// The user agent or application
 80510  	UserAgent string `xml:"userAgent,omitempty" json:"userAgent,omitempty" vim:"5.1"`
 80511  	// Number of API invocations made by the session
 80512  	CallCount int64 `xml:"callCount,omitempty" json:"callCount,omitempty" vim:"5.1"`
 80513  	// The unique identifier for the session.
 80514  	SessionId string `xml:"sessionId,omitempty" json:"sessionId,omitempty" vim:"5.1"`
 80515  	// Timestamp when the user logged on for this session.
 80516  	LoginTime *time.Time `xml:"loginTime" json:"loginTime,omitempty" vim:"5.1"`
 80517  }
 80518  
 80519  func init() {
 80520  	t["UserLogoutSessionEvent"] = reflect.TypeOf((*UserLogoutSessionEvent)(nil)).Elem()
 80521  }
 80522  
 80523  // Thrown when the request refers to a user or group name that could not
 80524  // be resolved.
 80525  type UserNotFound struct {
 80526  	VimFault
 80527  
 80528  	// Principal value that failed lookup.
 80529  	Principal string `xml:"principal" json:"principal"`
 80530  	// Flag to indicate whether or not the lookup was unsuccessful.
 80531  	//
 80532  	// A false value indicates that the user does not exist in the directory. A true
 80533  	// value indicates that the directory could not be contacted, possibly due to a
 80534  	// network error.
 80535  	Unresolved bool `xml:"unresolved" json:"unresolved"`
 80536  }
 80537  
 80538  func init() {
 80539  	t["UserNotFound"] = reflect.TypeOf((*UserNotFound)(nil)).Elem()
 80540  }
 80541  
 80542  type UserNotFoundFault UserNotFound
 80543  
 80544  func init() {
 80545  	t["UserNotFoundFault"] = reflect.TypeOf((*UserNotFoundFault)(nil)).Elem()
 80546  }
 80547  
 80548  // This event records that a user password changed.
 80549  type UserPasswordChanged struct {
 80550  	HostEvent
 80551  
 80552  	UserLogin string `xml:"userLogin" json:"userLogin"`
 80553  }
 80554  
 80555  func init() {
 80556  	t["UserPasswordChanged"] = reflect.TypeOf((*UserPasswordChanged)(nil)).Elem()
 80557  }
 80558  
 80559  // This class is used to provide the list of effective privileges
 80560  // set on a given managed entity for a user.
 80561  type UserPrivilegeResult struct {
 80562  	DynamicData
 80563  
 80564  	// The entity on which privileges are retrieved.
 80565  	//
 80566  	// Refers instance of `ManagedEntity`.
 80567  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 80568  	// A list of privileges set on the entity.
 80569  	Privileges []string `xml:"privileges,omitempty" json:"privileges,omitempty"`
 80570  }
 80571  
 80572  func init() {
 80573  	t["UserPrivilegeResult"] = reflect.TypeOf((*UserPrivilegeResult)(nil)).Elem()
 80574  	minAPIVersionForType["UserPrivilegeResult"] = "6.5"
 80575  }
 80576  
 80577  // The `UserProfile` data object represents a user.
 80578  //
 80579  // Use the `ApplyProfile.policy` list for access to configuration data
 80580  // for the user profile. Use the `ApplyProfile.property` list for access
 80581  // to subprofile configuration data, if any.
 80582  type UserProfile struct {
 80583  	ApplyProfile
 80584  
 80585  	// Linkable identifier.
 80586  	Key string `xml:"key" json:"key"`
 80587  }
 80588  
 80589  func init() {
 80590  	t["UserProfile"] = reflect.TypeOf((*UserProfile)(nil)).Elem()
 80591  	minAPIVersionForType["UserProfile"] = "4.0"
 80592  }
 80593  
 80594  // When searching for users, the search results in
 80595  // some additional information.
 80596  //
 80597  // This object describes
 80598  // the additional information.
 80599  type UserSearchResult struct {
 80600  	DynamicData
 80601  
 80602  	// Login name of a user or the name of a group.
 80603  	//
 80604  	// This key is
 80605  	// the user within the searched domain.
 80606  	Principal string `xml:"principal" json:"principal"`
 80607  	// Full name of the user found by the search, or the description
 80608  	// of a group, if available.
 80609  	FullName string `xml:"fullName,omitempty" json:"fullName,omitempty"`
 80610  	// If this is true, then the result is a group.
 80611  	//
 80612  	// If this is false, then the
 80613  	// result is a user.
 80614  	Group bool `xml:"group" json:"group"`
 80615  }
 80616  
 80617  func init() {
 80618  	t["UserSearchResult"] = reflect.TypeOf((*UserSearchResult)(nil)).Elem()
 80619  }
 80620  
 80621  // Information about a current user session.
 80622  type UserSession struct {
 80623  	DynamicData
 80624  
 80625  	// A unique identifier for this session,
 80626  	// also known as the session ID.
 80627  	Key string `xml:"key" json:"key"`
 80628  	// The user name represented by this session.
 80629  	UserName string `xml:"userName" json:"userName"`
 80630  	// The full name of the user, if available.
 80631  	FullName string `xml:"fullName" json:"fullName"`
 80632  	// Timestamp when the user last logged on to the server.
 80633  	LoginTime time.Time `xml:"loginTime" json:"loginTime"`
 80634  	// Timestamp when the user last executed a command.
 80635  	LastActiveTime time.Time `xml:"lastActiveTime" json:"lastActiveTime"`
 80636  	// The locale for the session used for data formatting and preferred for messages.
 80637  	Locale string `xml:"locale" json:"locale"`
 80638  	// The locale used for messages for the session.
 80639  	//
 80640  	// If there are no localized messages for the user-specified locale, then
 80641  	// the server determines this locale.
 80642  	MessageLocale string `xml:"messageLocale" json:"messageLocale"`
 80643  	// Whether or not this session belongs to a VC Extension.
 80644  	ExtensionSession *bool `xml:"extensionSession" json:"extensionSession,omitempty" vim:"5.0"`
 80645  	// The client identity.
 80646  	//
 80647  	// It could be IP address, or pipe name depended
 80648  	// on client binding
 80649  	IpAddress string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty" vim:"5.1"`
 80650  	// The name of user agent or application
 80651  	UserAgent string `xml:"userAgent,omitempty" json:"userAgent,omitempty" vim:"5.1"`
 80652  	// Number of API invocations since the session started
 80653  	CallCount int64 `xml:"callCount,omitempty" json:"callCount,omitempty" vim:"5.1"`
 80654  }
 80655  
 80656  func init() {
 80657  	t["UserSession"] = reflect.TypeOf((*UserSession)(nil)).Elem()
 80658  }
 80659  
 80660  // This event records that a user account membership was removed from a group.
 80661  type UserUnassignedFromGroup struct {
 80662  	HostEvent
 80663  
 80664  	UserLogin string `xml:"userLogin" json:"userLogin"`
 80665  	Group     string `xml:"group" json:"group"`
 80666  }
 80667  
 80668  func init() {
 80669  	t["UserUnassignedFromGroup"] = reflect.TypeOf((*UserUnassignedFromGroup)(nil)).Elem()
 80670  }
 80671  
 80672  // This event is a general user event from upgrade.
 80673  type UserUpgradeEvent struct {
 80674  	UpgradeEvent
 80675  }
 80676  
 80677  func init() {
 80678  	t["UserUpgradeEvent"] = reflect.TypeOf((*UserUpgradeEvent)(nil)).Elem()
 80679  }
 80680  
 80681  // Represent Storage Array
 80682  type VASAStorageArray struct {
 80683  	DynamicData
 80684  
 80685  	// Name
 80686  	Name string `xml:"name" json:"name"`
 80687  	// Unique identifier
 80688  	Uuid string `xml:"uuid" json:"uuid"`
 80689  	// Vendor Id
 80690  	VendorId string `xml:"vendorId" json:"vendorId"`
 80691  	// Model Id
 80692  	ModelId string `xml:"modelId" json:"modelId"`
 80693  	// Transport information to address the array's discovery
 80694  	// service.
 80695  	DiscoverySvcInfo []VASAStorageArrayDiscoverySvcInfo `xml:"discoverySvcInfo,omitempty" json:"discoverySvcInfo,omitempty" vim:"8.0.0.0"`
 80696  }
 80697  
 80698  func init() {
 80699  	t["VASAStorageArray"] = reflect.TypeOf((*VASAStorageArray)(nil)).Elem()
 80700  	minAPIVersionForType["VASAStorageArray"] = "6.0"
 80701  }
 80702  
 80703  // Discovery service information of the array with FC
 80704  // transport.
 80705  type VASAStorageArrayDiscoveryFcTransport struct {
 80706  	DynamicData
 80707  
 80708  	// Node-WWN (World Wide Name) represented in hexadecimal format.
 80709  	NodeWwn string `xml:"nodeWwn" json:"nodeWwn"`
 80710  	// Port-WWN (World Wide Name) represented in hexadecimal format.
 80711  	PortWwn string `xml:"portWwn" json:"portWwn"`
 80712  }
 80713  
 80714  func init() {
 80715  	t["VASAStorageArrayDiscoveryFcTransport"] = reflect.TypeOf((*VASAStorageArrayDiscoveryFcTransport)(nil)).Elem()
 80716  	minAPIVersionForType["VASAStorageArrayDiscoveryFcTransport"] = "8.0.0.0"
 80717  }
 80718  
 80719  // Discovery service information of the array with IP
 80720  // transport.
 80721  type VASAStorageArrayDiscoveryIpTransport struct {
 80722  	DynamicData
 80723  
 80724  	// IP address (IPv4/v6) of the RDMA/TCP target port.
 80725  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 80726  	// Port number.
 80727  	//
 80728  	// Defaults to port 8009 (TCP) and RoCEv2
 80729  	// port 4420 (UDP).
 80730  	PortNumber string `xml:"portNumber,omitempty" json:"portNumber,omitempty"`
 80731  }
 80732  
 80733  func init() {
 80734  	t["VASAStorageArrayDiscoveryIpTransport"] = reflect.TypeOf((*VASAStorageArrayDiscoveryIpTransport)(nil)).Elem()
 80735  	minAPIVersionForType["VASAStorageArrayDiscoveryIpTransport"] = "8.0.0.0"
 80736  }
 80737  
 80738  // Discovery service information of storage array.
 80739  type VASAStorageArrayDiscoverySvcInfo struct {
 80740  	DynamicData
 80741  
 80742  	// Port type, string as defined in `VASAStorageArrayBlockEnum_enum`.
 80743  	PortType string `xml:"portType" json:"portType"`
 80744  	// Well-known NQN of discovery service.
 80745  	SvcNqn string `xml:"svcNqn" json:"svcNqn"`
 80746  	// IP transport discovery information.
 80747  	//
 80748  	// Must be specified if
 80749  	// the discovery service is IP-based.
 80750  	IpInfo *VASAStorageArrayDiscoveryIpTransport `xml:"ipInfo,omitempty" json:"ipInfo,omitempty"`
 80751  	// FC transport discovery information.
 80752  	//
 80753  	// Must be specified if
 80754  	// the discovery service is FC-based.
 80755  	FcInfo *VASAStorageArrayDiscoveryFcTransport `xml:"fcInfo,omitempty" json:"fcInfo,omitempty"`
 80756  }
 80757  
 80758  func init() {
 80759  	t["VASAStorageArrayDiscoverySvcInfo"] = reflect.TypeOf((*VASAStorageArrayDiscoverySvcInfo)(nil)).Elem()
 80760  	minAPIVersionForType["VASAStorageArrayDiscoverySvcInfo"] = "8.0.0.0"
 80761  }
 80762  
 80763  // Specification for a vApp cloning operation.
 80764  type VAppCloneSpec struct {
 80765  	DynamicData
 80766  
 80767  	// Location where the destination vApp must be stored
 80768  	//
 80769  	// Refers instance of `Datastore`.
 80770  	Location ManagedObjectReference `xml:"location" json:"location"`
 80771  	// The target host for the virtual machines.
 80772  	//
 80773  	// This is often not a required
 80774  	// parameter. If not specified, the behavior is as follows:
 80775  	//     - If the target pool represents a stand-alone host, that host is used.
 80776  	//     - If the target pool represents a DRS-enabled cluster, a host selected
 80777  	//       by DRS is used.
 80778  	//     - If the target pool represents a cluster without DRS enabled or a
 80779  	//       DRS-enabled cluster in manual mode, an InvalidArgument exception is
 80780  	//       thrown.
 80781  	//
 80782  	// Refers instance of `HostSystem`.
 80783  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 80784  	// The resource configuration for the vApp.
 80785  	ResourceSpec *ResourceConfigSpec `xml:"resourceSpec,omitempty" json:"resourceSpec,omitempty"`
 80786  	// The VM Folder to associate the vApp with
 80787  	//
 80788  	// Refers instance of `Folder`.
 80789  	VmFolder *ManagedObjectReference `xml:"vmFolder,omitempty" json:"vmFolder,omitempty"`
 80790  	// Network mappings.
 80791  	//
 80792  	// See `VAppCloneSpecNetworkMappingPair`.
 80793  	NetworkMapping []VAppCloneSpecNetworkMappingPair `xml:"networkMapping,omitempty" json:"networkMapping,omitempty"`
 80794  	// A set of property values to override.
 80795  	Property []KeyValue `xml:"property,omitempty" json:"property,omitempty"`
 80796  	// The resource configuration for the cloned vApp.
 80797  	ResourceMapping []VAppCloneSpecResourceMap `xml:"resourceMapping,omitempty" json:"resourceMapping,omitempty" vim:"4.1"`
 80798  	// Specify how the VMs in the vApp should be provisioned.
 80799  	Provisioning string `xml:"provisioning,omitempty" json:"provisioning,omitempty" vim:"4.1"`
 80800  }
 80801  
 80802  func init() {
 80803  	t["VAppCloneSpec"] = reflect.TypeOf((*VAppCloneSpec)(nil)).Elem()
 80804  	minAPIVersionForType["VAppCloneSpec"] = "4.0"
 80805  }
 80806  
 80807  // Maps one network to another as part of the clone process.
 80808  //
 80809  // Instances of this class are used in the field `VAppCloneSpec.networkMapping`
 80810  type VAppCloneSpecNetworkMappingPair struct {
 80811  	DynamicData
 80812  
 80813  	// The source network
 80814  	//
 80815  	// Refers instance of `Network`.
 80816  	Source ManagedObjectReference `xml:"source" json:"source"`
 80817  	// The destination network
 80818  	//
 80819  	// Refers instance of `Network`.
 80820  	Destination ManagedObjectReference `xml:"destination" json:"destination"`
 80821  }
 80822  
 80823  func init() {
 80824  	t["VAppCloneSpecNetworkMappingPair"] = reflect.TypeOf((*VAppCloneSpecNetworkMappingPair)(nil)).Elem()
 80825  	minAPIVersionForType["VAppCloneSpecNetworkMappingPair"] = "4.0"
 80826  }
 80827  
 80828  // Maps source child entities to destination resource pools
 80829  // and resource settings.
 80830  //
 80831  // If a mapping is not specified,
 80832  // a child is copied as a direct child of the parent.
 80833  type VAppCloneSpecResourceMap struct {
 80834  	DynamicData
 80835  
 80836  	// Source entity
 80837  	//
 80838  	// Refers instance of `ManagedEntity`.
 80839  	Source ManagedObjectReference `xml:"source" json:"source"`
 80840  	// Resource pool to use for the cloned entity of source.
 80841  	//
 80842  	// This must specify a
 80843  	// resource pool that is not part of the vApp. If this is specified, a linked
 80844  	// child (as opposed to a direct child) is created for the vApp.
 80845  	//
 80846  	// Refers instance of `ResourcePool`.
 80847  	Parent *ManagedObjectReference `xml:"parent,omitempty" json:"parent,omitempty"`
 80848  	// An optional resource configuration for the cloned entity of the source.
 80849  	//
 80850  	// If
 80851  	// not specified, the same resource configuration as the source is used.
 80852  	ResourceSpec *ResourceConfigSpec `xml:"resourceSpec,omitempty" json:"resourceSpec,omitempty"`
 80853  	// A client can optionally specify a datastore in the resource map to
 80854  	// override the default datastore location set in `VAppCloneSpecResourceMap.location` field.
 80855  	//
 80856  	// This
 80857  	// enables cloning to different compute resources that do not have shared
 80858  	// datastores.
 80859  	//
 80860  	// Refers instance of `Datastore`.
 80861  	Location *ManagedObjectReference `xml:"location,omitempty" json:"location,omitempty"`
 80862  }
 80863  
 80864  func init() {
 80865  	t["VAppCloneSpecResourceMap"] = reflect.TypeOf((*VAppCloneSpecResourceMap)(nil)).Elem()
 80866  	minAPIVersionForType["VAppCloneSpecResourceMap"] = "4.1"
 80867  }
 80868  
 80869  // Base for configuration / environment issues that can be thrown when powering on or
 80870  // changing the configuration of a vApp.
 80871  type VAppConfigFault struct {
 80872  	VimFault
 80873  }
 80874  
 80875  func init() {
 80876  	t["VAppConfigFault"] = reflect.TypeOf((*VAppConfigFault)(nil)).Elem()
 80877  	minAPIVersionForType["VAppConfigFault"] = "4.0"
 80878  }
 80879  
 80880  type VAppConfigFaultFault BaseVAppConfigFault
 80881  
 80882  func init() {
 80883  	t["VAppConfigFaultFault"] = reflect.TypeOf((*VAppConfigFaultFault)(nil)).Elem()
 80884  }
 80885  
 80886  // Configuration of a vApp container.
 80887  type VAppConfigInfo struct {
 80888  	VmConfigInfo
 80889  
 80890  	// Configuration of sub-entities (virtual machine or vApp).
 80891  	EntityConfig []VAppEntityConfigInfo `xml:"entityConfig,omitempty" json:"entityConfig,omitempty"`
 80892  	// Description for the vApp.
 80893  	Annotation string `xml:"annotation" json:"annotation"`
 80894  	// vCenter-specific 128-bit UUID of a vApp, represented as a hexademical
 80895  	// string.
 80896  	//
 80897  	// This identifier is used by vCenter to uniquely identify all
 80898  	// vApp instances.
 80899  	InstanceUuid string `xml:"instanceUuid,omitempty" json:"instanceUuid,omitempty" vim:"4.1"`
 80900  	// Specifies that this vApp is managed by a VC Extension.
 80901  	//
 80902  	// See the
 80903  	// `managedBy` property in the
 80904  	// VAppConfigSpec for more details.
 80905  	ManagedBy *ManagedByInfo `xml:"managedBy,omitempty" json:"managedBy,omitempty" vim:"5.0"`
 80906  }
 80907  
 80908  func init() {
 80909  	t["VAppConfigInfo"] = reflect.TypeOf((*VAppConfigInfo)(nil)).Elem()
 80910  	minAPIVersionForType["VAppConfigInfo"] = "4.0"
 80911  }
 80912  
 80913  // Configuration of a vApp
 80914  type VAppConfigSpec struct {
 80915  	VmConfigSpec
 80916  
 80917  	// Configuration of sub-entities (virtual machine or vApp container).
 80918  	//
 80919  	// Reconfigure privilege: See EntityConfigInfo
 80920  	EntityConfig []VAppEntityConfigInfo `xml:"entityConfig,omitempty" json:"entityConfig,omitempty"`
 80921  	// Description for the vApp.
 80922  	//
 80923  	// Reconfigure privilege: VApp.Rename.
 80924  	Annotation string `xml:"annotation,omitempty" json:"annotation,omitempty"`
 80925  	// vCenter-specific 128-bit UUID of a vApp, represented as a hexadecimal
 80926  	// string.
 80927  	//
 80928  	// This identifier is used by vCenter to uniquely identify all
 80929  	// vApp instances in the Virtual Infrastructure environment.
 80930  	//
 80931  	// Normally, this property is not set by a client, allowing the
 80932  	// Virtual Infrastructure environment to assign or change it when
 80933  	// VirtualCenter detects an identifier conflict between vApps.
 80934  	//
 80935  	// Reconfigure privilege: VApp.ApplicationConfig
 80936  	InstanceUuid string `xml:"instanceUuid,omitempty" json:"instanceUuid,omitempty" vim:"4.1"`
 80937  	// Specifies that this vApp is managed by a VC Extension.
 80938  	//
 80939  	// This information is primarily used in the Client to show a custom icon for
 80940  	// managed vApps, and a description of the function of the vApp. If no extension
 80941  	// can be found with the extension key in the `managedBy`
 80942  	// object, or the type is not found in the
 80943  	// `managedEntityInfo` list of the
 80944  	// extension, the default vApp icon is used, and no description is shown.
 80945  	//
 80946  	// Reconfigure privilege: VApp.ApplicationConfig
 80947  	ManagedBy *ManagedByInfo `xml:"managedBy,omitempty" json:"managedBy,omitempty" vim:"5.0"`
 80948  }
 80949  
 80950  func init() {
 80951  	t["VAppConfigSpec"] = reflect.TypeOf((*VAppConfigSpec)(nil)).Elem()
 80952  	minAPIVersionForType["VAppConfigSpec"] = "4.0"
 80953  }
 80954  
 80955  // This object type describes the behavior of an entity (virtual machine or
 80956  // sub-vApp container) in a vApp container.
 80957  //
 80958  // The auto-start/auto-stop configurations control the behavior of the
 80959  // start/stop vApp operations.
 80960  //
 80961  // An virtual machine entity can be configured to wait for a period of time before
 80962  // starting or to wait to receive a successful heartbeat from a virtual machine
 80963  // before starting the next virtual machine in the sequence.
 80964  //   - For a power-on operation, if waitForHeartbeat is true, then the power-on
 80965  //     sequence continues after the the first heartbeat has been received. If
 80966  //     waitingForGuest is false, the system waits for the specified delay and
 80967  //     then continues the power-on sequence.
 80968  //   - For a power-off operation, if delay is non-zero, the requested power-off
 80969  //     action is invoked (powerOff, suspend, guestShutdown) on the virtual
 80970  //     machine and the system waits until the number of seconds specified in the
 80971  //     delay have passed.
 80972  //
 80973  // If startAction and stopAction for an entity are both set to none, that
 80974  // entity does not participate in the sequence.
 80975  //
 80976  // The start/stop delay and waitingForGuest is not used if the entity is a
 80977  // vApp container. For a vApp the only value values for startAction is none
 80978  // or powerOn, and the valid values for stopAction is none or powerOff.
 80979  type VAppEntityConfigInfo struct {
 80980  	DynamicData
 80981  
 80982  	// Entity to power on or power off.
 80983  	//
 80984  	// This can be a virtual machine or a vApp.
 80985  	//
 80986  	// Refers instance of `ManagedEntity`.
 80987  	Key *ManagedObjectReference `xml:"key,omitempty" json:"key,omitempty"`
 80988  	// Tag for entity.
 80989  	//
 80990  	// Reconfigure privilege: VApp.ApplicationConfig
 80991  	Tag string `xml:"tag,omitempty" json:"tag,omitempty"`
 80992  	// Specifies the start order for this entity.
 80993  	//
 80994  	// Entities are started from lower
 80995  	// numbers to higher-numbers and reverse on shutdown. Multiple entities with the
 80996  	// same start-order can be started in parallel and the order is unspecified. This
 80997  	// value must be 0 or higher.
 80998  	//
 80999  	// Reconfigure privilege: VApp.ApplicationConfig
 81000  	StartOrder int32 `xml:"startOrder,omitempty" json:"startOrder,omitempty"`
 81001  	// Delay in seconds before continuing with the next entity in the order of entities
 81002  	// to be started.
 81003  	//
 81004  	// Reconfigure privilege: VApp.ApplicationConfig
 81005  	StartDelay int32 `xml:"startDelay,omitempty" json:"startDelay,omitempty"`
 81006  	// Determines if the virtual machine should start after receiving a heartbeat,
 81007  	// from the guest.
 81008  	//
 81009  	// When a virtual machine is next in the start
 81010  	// order, the system either waits a specified period of time for a virtual
 81011  	// machine to power on or it waits until it receives a successful heartbeat from a
 81012  	// powered on virtual machine. By default, this is set to false.
 81013  	//
 81014  	// This property has no effect for vApps.
 81015  	//
 81016  	// Reconfigure privilege: VApp.ApplicationConfig
 81017  	WaitingForGuest *bool `xml:"waitingForGuest" json:"waitingForGuest,omitempty"`
 81018  	// How to start the entity.
 81019  	//
 81020  	// Valid settings are none or powerOn. If set to none, then
 81021  	// the entity does not participate in auto-start.
 81022  	//
 81023  	// Reconfigure privilege: VApp.ApplicationConfig
 81024  	StartAction string `xml:"startAction,omitempty" json:"startAction,omitempty"`
 81025  	// Delay in seconds before continuing with the next entity in the order
 81026  	// sequence.
 81027  	//
 81028  	// This is only used if the stopAction is guestShutdown.
 81029  	//
 81030  	// Reconfigure privilege: VApp.ApplicationConfig
 81031  	StopDelay int32 `xml:"stopDelay,omitempty" json:"stopDelay,omitempty"`
 81032  	// Defines the stop action for the entity.
 81033  	//
 81034  	// Can be set to none, powerOff,
 81035  	// guestShutdown, or suspend. If set to none, then the entity does not participate in
 81036  	// auto-stop.
 81037  	//
 81038  	// Reconfigure privilege: VApp.ApplicationConfig
 81039  	StopAction string `xml:"stopAction,omitempty" json:"stopAction,omitempty"`
 81040  	// Deprecated as of vSphere API 5.1.
 81041  	//
 81042  	// Whether the entity should be removed, when this vApp is removed.
 81043  	//
 81044  	// This is only set for linked children.
 81045  	//
 81046  	// Reconfigure privilege: VApp.ApplicationConfig
 81047  	DestroyWithParent *bool `xml:"destroyWithParent" json:"destroyWithParent,omitempty" vim:"4.1"`
 81048  }
 81049  
 81050  func init() {
 81051  	t["VAppEntityConfigInfo"] = reflect.TypeOf((*VAppEntityConfigInfo)(nil)).Elem()
 81052  	minAPIVersionForType["VAppEntityConfigInfo"] = "4.0"
 81053  }
 81054  
 81055  // The IPAssignmentInfo class specifies how the guest software gets
 81056  // configured with IP addresses, including protocol type (IPv4 or IPv6)
 81057  // and the life-time of those IP addresses.
 81058  //
 81059  // A vApp/virtual machine can either use DHCP to acquire an IP
 81060  // configuration, or it can acquire its IP configuration through the
 81061  // use of the vSphere platform using the OVF environment's properties.
 81062  // The latter is a known as OVF-environment-assigned IP configuration.
 81063  //
 81064  // Guest software can be constructed to support DHCP , OVF assigned
 81065  // IP configuration, or both. The supportedAssignmentScheme property
 81066  // lists the supported schemes. This is typically specified by the author
 81067  // of a vApp.
 81068  //
 81069  // The deployer / operator of a vApp, specifies what IP allocation
 81070  // policy should be used:
 81071  //   - Using DHCP, if the vApp and deployed network supports it
 81072  //   - Transient Assignment, if the vApp supports OVF-assigned IP
 81073  //     configuration and the network has an IP range configured.
 81074  //   - Fixed Assignment, if the vApp supports OVF-assigned IP
 81075  //     configuration.
 81076  //   - Fixed Allocated, if the vApp supports OVF-assigned IP
 81077  //     configuration and the network has an IP range configured.
 81078  //
 81079  // Transient and fixed assignment differs in the life time of the IP
 81080  // allocation. For transient, IP addresses are automatically assigned on
 81081  // power-on and released on power-off. For fixed, the IP
 81082  // addresses are explicitly specified by the deployer and does not change
 81083  // between a power-on/power-off.
 81084  // Fixed allocated is a hybrid of transient and fixed assignment. IP
 81085  // addresses are allocated at first power-on and remain allocated on power-off.
 81086  //
 81087  // The IPAssignment settings are global to a deployment. Thus, if a vApp or
 81088  // virtual machine is part of another vApp, then the settings are ignored,
 81089  // and the ones for the top-most vApp container is used.
 81090  type VAppIPAssignmentInfo struct {
 81091  	DynamicData
 81092  
 81093  	// Specifies the IP allocation schemes supported by the guest software.
 81094  	//
 81095  	// When updating this field, an empty array will be interpreted as no changes.
 81096  	// An array of the form \[""\] will clear all settings. Otherwise, the supplied
 81097  	// value will overwrite the current setting.
 81098  	//
 81099  	// Reconfigure privilege: VApp.ApplicationConfig
 81100  	SupportedAllocationScheme []string `xml:"supportedAllocationScheme,omitempty" json:"supportedAllocationScheme,omitempty"`
 81101  	// Specifies how IP allocation should be managed by the VI platform.
 81102  	//
 81103  	// This is
 81104  	// typically specified by the deployer. The set of valid options for the policy
 81105  	// is based on the capabilities of the vApp software, as specified by the
 81106  	// supportedAllocationSchemes property.
 81107  	//
 81108  	// Reconfigure privilege: VApp.InstanceConfig
 81109  	IpAllocationPolicy string `xml:"ipAllocationPolicy,omitempty" json:"ipAllocationPolicy,omitempty"`
 81110  	// Specifies the IP protocols supported by the guest software.
 81111  	//
 81112  	// When updating this field, an empty array will be interpreted as no changes.
 81113  	// An array of the form \[""\] will clear all settings. Otherwise, the supplied
 81114  	// value will overwrite the current setting.
 81115  	//
 81116  	// Reconfigure privilege: VApp.ApplicationConfig
 81117  	SupportedIpProtocol []string `xml:"supportedIpProtocol,omitempty" json:"supportedIpProtocol,omitempty"`
 81118  	// Specifies the chosen IP protocol for this deployment.
 81119  	//
 81120  	// This must be one of the
 81121  	// values in the supportedIpProtocol field.
 81122  	//
 81123  	// Reconfigure privilege: VApp.InstanceConfig
 81124  	IpProtocol string `xml:"ipProtocol,omitempty" json:"ipProtocol,omitempty"`
 81125  }
 81126  
 81127  func init() {
 81128  	t["VAppIPAssignmentInfo"] = reflect.TypeOf((*VAppIPAssignmentInfo)(nil)).Elem()
 81129  	minAPIVersionForType["VAppIPAssignmentInfo"] = "4.0"
 81130  }
 81131  
 81132  // A virtual machine in a vApp cannot be powered on unless the
 81133  // parent vApp is running.
 81134  type VAppNotRunning struct {
 81135  	VmConfigFault
 81136  }
 81137  
 81138  func init() {
 81139  	t["VAppNotRunning"] = reflect.TypeOf((*VAppNotRunning)(nil)).Elem()
 81140  	minAPIVersionForType["VAppNotRunning"] = "4.0"
 81141  }
 81142  
 81143  type VAppNotRunningFault VAppNotRunning
 81144  
 81145  func init() {
 81146  	t["VAppNotRunningFault"] = reflect.TypeOf((*VAppNotRunningFault)(nil)).Elem()
 81147  }
 81148  
 81149  // This fault is thrown when an operation is attempted on a target where
 81150  // a vApp operation is already in progress.
 81151  //
 81152  // E.g. when trying to move a
 81153  // virtual machine from a vApp that is being powered on.
 81154  type VAppOperationInProgress struct {
 81155  	RuntimeFault
 81156  }
 81157  
 81158  func init() {
 81159  	t["VAppOperationInProgress"] = reflect.TypeOf((*VAppOperationInProgress)(nil)).Elem()
 81160  	minAPIVersionForType["VAppOperationInProgress"] = "5.0"
 81161  }
 81162  
 81163  type VAppOperationInProgressFault VAppOperationInProgress
 81164  
 81165  func init() {
 81166  	t["VAppOperationInProgressFault"] = reflect.TypeOf((*VAppOperationInProgressFault)(nil)).Elem()
 81167  }
 81168  
 81169  // The OvfSection encapsulates uninterpreted meta-data sections in
 81170  // an OVF descriptor.
 81171  //
 81172  // When an OVF package is imported, non-required /
 81173  // non-interpreted sections will be stored as OvfSection object. During
 81174  // the creation of an OVF package, these sections will be placed in the
 81175  // OVF descriptor.
 81176  type VAppOvfSectionInfo struct {
 81177  	DynamicData
 81178  
 81179  	// A unique key to identify a section.
 81180  	Key int32 `xml:"key,omitempty" json:"key,omitempty"`
 81181  	// The namespace for the value in xsi:type attribute.
 81182  	Namespace string `xml:"namespace,omitempty" json:"namespace,omitempty"`
 81183  	// The value of the xsi:type attribute not including the namespace prefix.
 81184  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 81185  	// Whether this is a global envelope section
 81186  	AtEnvelopeLevel *bool `xml:"atEnvelopeLevel" json:"atEnvelopeLevel,omitempty"`
 81187  	// The XML fragment including the top-level &lt;Section...&gt; element.
 81188  	//
 81189  	// The
 81190  	// fragment is self-contained will all required namespace definitions.
 81191  	Contents string `xml:"contents,omitempty" json:"contents,omitempty"`
 81192  }
 81193  
 81194  func init() {
 81195  	t["VAppOvfSectionInfo"] = reflect.TypeOf((*VAppOvfSectionInfo)(nil)).Elem()
 81196  	minAPIVersionForType["VAppOvfSectionInfo"] = "4.0"
 81197  }
 81198  
 81199  // An incremental update to the OvfSection list.
 81200  type VAppOvfSectionSpec struct {
 81201  	ArrayUpdateSpec
 81202  
 81203  	Info *VAppOvfSectionInfo `xml:"info,omitempty" json:"info,omitempty"`
 81204  }
 81205  
 81206  func init() {
 81207  	t["VAppOvfSectionSpec"] = reflect.TypeOf((*VAppOvfSectionSpec)(nil)).Elem()
 81208  	minAPIVersionForType["VAppOvfSectionSpec"] = "4.0"
 81209  }
 81210  
 81211  // Information that describes what product a vApp contains, for example,
 81212  // the software that is installed in the contained virtual machines.
 81213  type VAppProductInfo struct {
 81214  	DynamicData
 81215  
 81216  	// A unique key for the product section
 81217  	Key int32 `xml:"key" json:"key"`
 81218  	// Class name for this attribute.
 81219  	//
 81220  	// Valid values for classId:
 81221  	// Any string except any white-space characters.
 81222  	ClassId string `xml:"classId,omitempty" json:"classId,omitempty"`
 81223  	// Class name for this attribute.
 81224  	//
 81225  	// Valid values for instanceId:
 81226  	// Any string except any white-space characters.
 81227  	InstanceId string `xml:"instanceId,omitempty" json:"instanceId,omitempty"`
 81228  	// Name of the product.
 81229  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 81230  	// Vendor of the product.
 81231  	Vendor string `xml:"vendor,omitempty" json:"vendor,omitempty"`
 81232  	// Short version of the product, for example, 1.0.
 81233  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 81234  	// Full-version of the product, for example, 1.0-build 12323.
 81235  	FullVersion string `xml:"fullVersion,omitempty" json:"fullVersion,omitempty"`
 81236  	// URL to vendor homepage.
 81237  	VendorUrl string `xml:"vendorUrl,omitempty" json:"vendorUrl,omitempty"`
 81238  	// URL to product homepage.
 81239  	ProductUrl string `xml:"productUrl,omitempty" json:"productUrl,omitempty"`
 81240  	// URL to entry-point for application.
 81241  	//
 81242  	// This is often specified using
 81243  	// a macro, for example, http://${app.ip}/, where app.ip is a defined property
 81244  	// on the virtual machine or vApp container.
 81245  	AppUrl string `xml:"appUrl,omitempty" json:"appUrl,omitempty"`
 81246  }
 81247  
 81248  func init() {
 81249  	t["VAppProductInfo"] = reflect.TypeOf((*VAppProductInfo)(nil)).Elem()
 81250  	minAPIVersionForType["VAppProductInfo"] = "4.0"
 81251  }
 81252  
 81253  // An incremental update to the Product information list.
 81254  type VAppProductSpec struct {
 81255  	ArrayUpdateSpec
 81256  
 81257  	Info *VAppProductInfo `xml:"info,omitempty" json:"info,omitempty"`
 81258  }
 81259  
 81260  func init() {
 81261  	t["VAppProductSpec"] = reflect.TypeOf((*VAppProductSpec)(nil)).Elem()
 81262  	minAPIVersionForType["VAppProductSpec"] = "4.0"
 81263  }
 81264  
 81265  // The base fault for all vApp property configuration issues
 81266  type VAppPropertyFault struct {
 81267  	VmConfigFault
 81268  
 81269  	// The fully-qualified id of the property, including instance and class
 81270  	// identifiers.
 81271  	Id string `xml:"id" json:"id"`
 81272  	// The user-readable category
 81273  	Category string `xml:"category" json:"category"`
 81274  	// The user-readable label
 81275  	Label string `xml:"label" json:"label"`
 81276  	// The type specified for the property
 81277  	Type string `xml:"type" json:"type"`
 81278  	// The value of the property
 81279  	Value string `xml:"value" json:"value"`
 81280  }
 81281  
 81282  func init() {
 81283  	t["VAppPropertyFault"] = reflect.TypeOf((*VAppPropertyFault)(nil)).Elem()
 81284  	minAPIVersionForType["VAppPropertyFault"] = "4.0"
 81285  }
 81286  
 81287  type VAppPropertyFaultFault BaseVAppPropertyFault
 81288  
 81289  func init() {
 81290  	t["VAppPropertyFaultFault"] = reflect.TypeOf((*VAppPropertyFaultFault)(nil)).Elem()
 81291  }
 81292  
 81293  // A vApp Property description, including deployment values
 81294  type VAppPropertyInfo struct {
 81295  	DynamicData
 81296  
 81297  	// A unique integer key for the property.
 81298  	Key int32 `xml:"key" json:"key"`
 81299  	// class name for this property
 81300  	//
 81301  	// Valid values for classId:
 81302  	// Any string except any white-space characters
 81303  	//
 81304  	// Reconfigure privilege: VApp.ApplicationConfig
 81305  	ClassId string `xml:"classId,omitempty" json:"classId,omitempty"`
 81306  	// class name for this property
 81307  	//
 81308  	// Valid values for instanceId:
 81309  	// Any string except any white-space characters
 81310  	//
 81311  	// Reconfigure privilege: VApp.ApplicationConfig
 81312  	InstanceId string `xml:"instanceId,omitempty" json:"instanceId,omitempty"`
 81313  	// Name of property.
 81314  	//
 81315  	// In the OVF environment, the property is listed as
 81316  	// \[classId.\]id\[.instanceId\]. The \[classId.\]name\[.instanceId\] must be unique.
 81317  	//
 81318  	// This field cannot be empty for a property. Thus, it must be specified at creation
 81319  	// and cannot be set to the empty string.
 81320  	//
 81321  	// Valid values for id:
 81322  	// Any string except any white-space characters
 81323  	//
 81324  	// Reconfigure privilege: VApp.ApplicationConfig
 81325  	Id string `xml:"id,omitempty" json:"id,omitempty"`
 81326  	// A user-visible description the category the property belongs to.
 81327  	//
 81328  	// Reconfigure privilege: VApp.ApplicationConfig
 81329  	Category string `xml:"category,omitempty" json:"category,omitempty"`
 81330  	// The display name for the property.
 81331  	//
 81332  	// Reconfigure privilege: VApp.ApplicationConfig
 81333  	Label string `xml:"label,omitempty" json:"label,omitempty"`
 81334  	// Describes the valid format of the property.
 81335  	//
 81336  	// A type must be one of:
 81337  	//     - string : A generic string. Max length 65535 (64k).
 81338  	//     - string(x..) : A string with minimum character length x.
 81339  	//     - string(..y) : A string with maximum character length y.
 81340  	//     - string(x..y) : A string with minimum character length x and maximum
 81341  	//       character length y.
 81342  	//     - string\["choice1", "choice2", "choice3"\] : A set of choices. " inside a choice
 81343  	//       must be either \\" or ' e.g "start\\"middle\\"end" or "start'middle'end" and
 81344  	//       a \\ inside a string choice must be encoded as \\\\ e.g. "start\\\\end".
 81345  	//     - int : An integer value. Is semantically equivalent to
 81346  	//       int(-2147483648..2147483647) e.g. signed int32.
 81347  	//     - int(x..y): An integer value with a minimum size x and a maximum size y.
 81348  	//       For example int(0..255) is a number between 0 and 255 both incl. This is
 81349  	//       also a way to specify that the number must be a uint8. There is always a lower
 81350  	//       and lower bound. Max number of digits is 100 including any sign. If exported to OVF the
 81351  	//       value will be truncated to max of uint64 or int64.
 81352  	//     - real : IEEE 8-byte floating-point value.
 81353  	//     - real(x..y) : IEEE 8-byte floating-point value with a minimum size x and a
 81354  	//       maximum size y. For example real(-1.5..1.5) must be a number between -1.5 and 1.5.
 81355  	//       Because of the nature of float some conversions can truncate the value.
 81356  	//       Real must be encoded according to CIM:
 81357  	//       RealValue = \[ "+" | "-" } \*decimalDigit "." 1\*decimalDigit
 81358  	//       \[ ("e" | "E" ) \[ "+" | "-" \] 1\*decimalDigit \] \]
 81359  	//     - boolean : A boolean. The value can be True or False
 81360  	//     - password : A generic string. Max length 65535 (64k).
 81361  	//     - password(x..) : A string with minimum character length x.
 81362  	//     - password(..y) : A string with maximum character length y.
 81363  	//     - password(x..y) : A string with minimum character length x and maximum
 81364  	//       character length y.
 81365  	//     - ip : An IPv4 address in dot-decimal notation or an IPv6 address in
 81366  	//       colon-hexadecimal notation.
 81367  	//     - ip:network : An IP address in dot-notation (IPv4) and colon-hexadecimal (IPv6)
 81368  	//       on a particular network. The behavior of this type depends on the
 81369  	//       ipAllocationPolicy. See below.
 81370  	//     - expression: The default value specifies an expression that is calculated
 81371  	//       by the system.
 81372  	//
 81373  	// For properties of type 'password', the value field and default value field will
 81374  	// always be returned as an empty string when queried. Thus, it is a write-only property.
 81375  	// Typically, a client application will also render these as a text field with hidden
 81376  	// text and double prompting.
 81377  	//
 81378  	// An expression follows the general patterns of either ${arg} or ${cmd:arg}. The
 81379  	// list of supported expressions are listed below:
 81380  	//     - ${&lt;name&gt;} : This expression evaluates to the same value as the named
 81381  	//       property in the parent vApp. A parent vApp is the
 81382  	//       first vApp in the ancestry chain (resource pools are
 81383  	//       skipped). If no parent vApp exists or the property is
 81384  	//       not defined on the parent vApp, the expression
 81385  	//       evaluates to the empty value.
 81386  	//     - ${subnet:&lt;network&gt;} : The subnet value of the given network.
 81387  	//     - ${netmask:&lt;network&gt;} : The netmask value of the given network.
 81388  	//     - ${gateway:&lt;network&gt;} : The gateway value of the given network.
 81389  	//     - ${autoIp:&lt;network&gt;} : An auto-assigned network address on the given
 81390  	//       network
 81391  	//     - ${net:&lt;network&gt;} : The name of the network
 81392  	//     - ${domainName:&lt;network&gt;} : The DNS domain name, e.g., vmware.com, of
 81393  	//       the given network.
 81394  	//     - ${searchPath:&lt;network&gt;} : The DNS search path, e.g.,
 81395  	//       eng.vmware.com;vmware.com, of the given
 81396  	//       network.
 81397  	//     - ${hostPrefix:&lt;network&gt;}: The host prefix on a given network, e.g.,
 81398  	//       "voe-"
 81399  	//     - ${dns:network}: A comma-separated string of configured network addresses
 81400  	//     - ${httpProxy:network}: The hostname:port for a proxy on the network
 81401  	//     - ${vimIp:} : The IP address of the VIM API provider server. This would
 81402  	//       typical be an ESX Server or VirtualCenter Server.
 81403  	//
 81404  	// A vApp will fail to start if any of the properties cannot be computed. For
 81405  	// example, if a property reference a gateway on a network, for which is has not
 81406  	// been specified. The value of the computed computation is assigned to the 'value'
 81407  	// field upon start of the vApp or virtual machine. The value is cleared once
 81408  	// the vApp or virtual machine is not-running.
 81409  	//
 81410  	// The system provides three ways of specifying IP addresses:
 81411  	//     - ip,
 81412  	//     - ip:network type,
 81413  	//     - ${ip:network} expression.
 81414  	//
 81415  	// The _ip_ types are typically used to specify an IP addressed to an
 81416  	// external system. Thus, these are not used by a virtual ethernet adapter
 81417  	// within the guest itself. Both the ip:network expression and the ${ip:network}
 81418  	// expression are intended as a way to obtain an IP address for a virtual machine
 81419  	// in a vApp.
 81420  	//
 81421  	// The behavior of ip:network type is controlled by the ipAssignPolicy, as
 81422  	// described in the following table:
 81423  	// <table>
 81424  	// <tr>
 81425  	// <td>`*Policy*`</td>
 81426  	// <td>ip:&lt;network&gt; type</td>
 81427  	// </tr>
 81428  	// <tr>
 81429  	// <td>DHCP</td>
 81430  	// <td>The user is not prompted to enter a value. The variable is set to the
 81431  	// empty string during power-on, and later updated with the IP value reported
 81432  	// by the guest software.
 81433  	// </td>
 81434  	// </tr>
 81435  	// <tr>
 81436  	// <td>Transient</td>
 81437  	// <td>The user is not prompted to enter a value. An IP address is allocated by
 81438  	// the platform and is assigned to the variable which is available to the
 81439  	// guest. The IP address is released at power-off.</td>
 81440  	// </tr>
 81441  	// <tr>
 81442  	// <td>Fixed</td>
 81443  	// <td>The user is prompted to enter a value. This value is available to the
 81444  	// guest.</td>
 81445  	// </tr>
 81446  	// <tr>
 81447  	// <td>Fixed Allocated</td>
 81448  	// <td>The user is not prompted to enter a value. An IP address is allocated by
 81449  	// the platform and is assigned to the variable which is available to the
 81450  	// guest. The IP address remains allocated at power-off, and are only
 81451  	// released if the property is deleted or the vApp is destroyed.</td>
 81452  	// </tr>
 81453  	// </table>
 81454  	//
 81455  	// Reconfigure privilege: VApp.ApplicationConfig
 81456  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 81457  	// Contains extra configuration data depending on the property type.
 81458  	//
 81459  	// For types that
 81460  	// refer to network names the type reference is the managed object reference
 81461  	// of the network.
 81462  	TypeReference string `xml:"typeReference,omitempty" json:"typeReference,omitempty" vim:"5.1"`
 81463  	// Whether the property is user-configurable or a system property.
 81464  	//
 81465  	// This is not used
 81466  	// if the type is expression.
 81467  	//
 81468  	// Reconfigure privilege: VApp.ApplicationConfig
 81469  	UserConfigurable *bool `xml:"userConfigurable" json:"userConfigurable,omitempty"`
 81470  	// This either contains the default value of a field (used if value is empty
 81471  	// string), or the expression if the type is "expression".
 81472  	//
 81473  	// See comment for the
 81474  	DefaultValue string `xml:"defaultValue,omitempty" json:"defaultValue,omitempty"`
 81475  	// The value of the field at deployment time.
 81476  	//
 81477  	// For expressions, this will contain
 81478  	// the value that has been computed.
 81479  	//
 81480  	// Reconfigure privilege: VApp.InstanceConfig
 81481  	Value string `xml:"value,omitempty" json:"value,omitempty"`
 81482  	// A description of the field.
 81483  	//
 81484  	// Reconfigure privilege: VApp.ApplicationConfig
 81485  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 81486  }
 81487  
 81488  func init() {
 81489  	t["VAppPropertyInfo"] = reflect.TypeOf((*VAppPropertyInfo)(nil)).Elem()
 81490  	minAPIVersionForType["VAppPropertyInfo"] = "4.0"
 81491  }
 81492  
 81493  // An incremental update to the Property list.
 81494  type VAppPropertySpec struct {
 81495  	ArrayUpdateSpec
 81496  
 81497  	Info *VAppPropertyInfo `xml:"info,omitempty" json:"info,omitempty"`
 81498  }
 81499  
 81500  func init() {
 81501  	t["VAppPropertySpec"] = reflect.TypeOf((*VAppPropertySpec)(nil)).Elem()
 81502  	minAPIVersionForType["VAppPropertySpec"] = "4.0"
 81503  }
 81504  
 81505  // A specialized TaskInProgress when an operation is performed
 81506  // on a VM and it is failed due to a vApp-level operation
 81507  // is in progress.
 81508  //
 81509  // For example, while the power-on sequence is
 81510  // executed on a vApp, individual power-on's of child VMs are
 81511  // failed.
 81512  type VAppTaskInProgress struct {
 81513  	TaskInProgress
 81514  }
 81515  
 81516  func init() {
 81517  	t["VAppTaskInProgress"] = reflect.TypeOf((*VAppTaskInProgress)(nil)).Elem()
 81518  	minAPIVersionForType["VAppTaskInProgress"] = "4.0"
 81519  }
 81520  
 81521  type VAppTaskInProgressFault VAppTaskInProgress
 81522  
 81523  func init() {
 81524  	t["VAppTaskInProgressFault"] = reflect.TypeOf((*VAppTaskInProgressFault)(nil)).Elem()
 81525  }
 81526  
 81527  // The parameters of `VcenterVStorageObjectManager.VCenterUpdateVStorageObjectMetadataEx_Task`.
 81528  type VCenterUpdateVStorageObjectMetadataExRequestType struct {
 81529  	This ManagedObjectReference `xml:"_this" json:"-"`
 81530  	// The ID of the virtual storage object.
 81531  	Id ID `xml:"id" json:"id"`
 81532  	// The datastore to query for the virtual storage objects.
 81533  	//
 81534  	// Refers instance of `Datastore`.
 81535  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 81536  	// array of key/value strings. (keys must be unique
 81537  	// within the list)
 81538  	Metadata []KeyValue `xml:"metadata,omitempty" json:"metadata,omitempty"`
 81539  	// array of keys need to be deleted
 81540  	DeleteKeys []string `xml:"deleteKeys,omitempty" json:"deleteKeys,omitempty"`
 81541  }
 81542  
 81543  func init() {
 81544  	t["VCenterUpdateVStorageObjectMetadataExRequestType"] = reflect.TypeOf((*VCenterUpdateVStorageObjectMetadataExRequestType)(nil)).Elem()
 81545  }
 81546  
 81547  type VCenterUpdateVStorageObjectMetadataEx_Task VCenterUpdateVStorageObjectMetadataExRequestType
 81548  
 81549  func init() {
 81550  	t["VCenterUpdateVStorageObjectMetadataEx_Task"] = reflect.TypeOf((*VCenterUpdateVStorageObjectMetadataEx_Task)(nil)).Elem()
 81551  }
 81552  
 81553  type VCenterUpdateVStorageObjectMetadataEx_TaskResponse struct {
 81554  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 81555  }
 81556  
 81557  // VFlash cache hot-configuration on a VMDK is not supported.
 81558  type VFlashCacheHotConfigNotSupported struct {
 81559  	VmConfigFault
 81560  }
 81561  
 81562  func init() {
 81563  	t["VFlashCacheHotConfigNotSupported"] = reflect.TypeOf((*VFlashCacheHotConfigNotSupported)(nil)).Elem()
 81564  	minAPIVersionForType["VFlashCacheHotConfigNotSupported"] = "6.0"
 81565  }
 81566  
 81567  type VFlashCacheHotConfigNotSupportedFault VFlashCacheHotConfigNotSupported
 81568  
 81569  func init() {
 81570  	t["VFlashCacheHotConfigNotSupportedFault"] = reflect.TypeOf((*VFlashCacheHotConfigNotSupportedFault)(nil)).Elem()
 81571  }
 81572  
 81573  // vFlash module is not supported due to its configuration is not
 81574  // supported by the host.
 81575  type VFlashModuleNotSupported struct {
 81576  	VmConfigFault
 81577  
 81578  	// VM name
 81579  	VmName string `xml:"vmName" json:"vmName"`
 81580  	// The vFlash module name.
 81581  	ModuleName string `xml:"moduleName" json:"moduleName"`
 81582  	// Message of reason.
 81583  	Reason string `xml:"reason" json:"reason"`
 81584  	// Host name
 81585  	HostName string `xml:"hostName" json:"hostName"`
 81586  }
 81587  
 81588  func init() {
 81589  	t["VFlashModuleNotSupported"] = reflect.TypeOf((*VFlashModuleNotSupported)(nil)).Elem()
 81590  	minAPIVersionForType["VFlashModuleNotSupported"] = "5.5"
 81591  }
 81592  
 81593  type VFlashModuleNotSupportedFault VFlashModuleNotSupported
 81594  
 81595  func init() {
 81596  	t["VFlashModuleNotSupportedFault"] = reflect.TypeOf((*VFlashModuleNotSupportedFault)(nil)).Elem()
 81597  }
 81598  
 81599  // The vFlash module version of the vFlash cache asscociated with the
 81600  // virtual disk of a VM is not compatible with the supported versions of
 81601  // the specified vFlash module on the host.
 81602  type VFlashModuleVersionIncompatible struct {
 81603  	VimFault
 81604  
 81605  	// The vFlash module name.
 81606  	ModuleName string `xml:"moduleName" json:"moduleName"`
 81607  	// The VM request module version.
 81608  	VmRequestModuleVersion string `xml:"vmRequestModuleVersion" json:"vmRequestModuleVersion"`
 81609  	// The minimum supported version of the specified module on the host.
 81610  	HostMinSupportedVerson string `xml:"hostMinSupportedVerson" json:"hostMinSupportedVerson"`
 81611  	// The verson of the specified module on the host.
 81612  	HostModuleVersion string `xml:"hostModuleVersion" json:"hostModuleVersion"`
 81613  }
 81614  
 81615  func init() {
 81616  	t["VFlashModuleVersionIncompatible"] = reflect.TypeOf((*VFlashModuleVersionIncompatible)(nil)).Elem()
 81617  	minAPIVersionForType["VFlashModuleVersionIncompatible"] = "5.5"
 81618  }
 81619  
 81620  type VFlashModuleVersionIncompatibleFault VFlashModuleVersionIncompatible
 81621  
 81622  func init() {
 81623  	t["VFlashModuleVersionIncompatibleFault"] = reflect.TypeOf((*VFlashModuleVersionIncompatibleFault)(nil)).Elem()
 81624  }
 81625  
 81626  // This event records when a VMFS datastore is created.
 81627  type VMFSDatastoreCreatedEvent struct {
 81628  	HostEvent
 81629  
 81630  	// The associated datastore.
 81631  	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
 81632  	// Url of the associated datastore.
 81633  	DatastoreUrl string `xml:"datastoreUrl,omitempty" json:"datastoreUrl,omitempty" vim:"6.5"`
 81634  }
 81635  
 81636  func init() {
 81637  	t["VMFSDatastoreCreatedEvent"] = reflect.TypeOf((*VMFSDatastoreCreatedEvent)(nil)).Elem()
 81638  }
 81639  
 81640  // This event records when a datastore is expanded.
 81641  type VMFSDatastoreExpandedEvent struct {
 81642  	HostEvent
 81643  
 81644  	// The associated datastore.
 81645  	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
 81646  }
 81647  
 81648  func init() {
 81649  	t["VMFSDatastoreExpandedEvent"] = reflect.TypeOf((*VMFSDatastoreExpandedEvent)(nil)).Elem()
 81650  	minAPIVersionForType["VMFSDatastoreExpandedEvent"] = "4.0"
 81651  }
 81652  
 81653  // This event records when a datastore is extended.
 81654  type VMFSDatastoreExtendedEvent struct {
 81655  	HostEvent
 81656  
 81657  	// The associated datastore.
 81658  	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
 81659  }
 81660  
 81661  func init() {
 81662  	t["VMFSDatastoreExtendedEvent"] = reflect.TypeOf((*VMFSDatastoreExtendedEvent)(nil)).Elem()
 81663  	minAPIVersionForType["VMFSDatastoreExtendedEvent"] = "4.0"
 81664  }
 81665  
 81666  // The virtual machine is configured to use a VMI ROM, which is not
 81667  // supported on the host.
 81668  type VMINotSupported struct {
 81669  	DeviceNotSupported
 81670  }
 81671  
 81672  func init() {
 81673  	t["VMINotSupported"] = reflect.TypeOf((*VMINotSupported)(nil)).Elem()
 81674  	minAPIVersionForType["VMINotSupported"] = "2.5"
 81675  }
 81676  
 81677  type VMINotSupportedFault VMINotSupported
 81678  
 81679  func init() {
 81680  	t["VMINotSupportedFault"] = reflect.TypeOf((*VMINotSupportedFault)(nil)).Elem()
 81681  }
 81682  
 81683  // The virtual machine is using a conflict DVPort, which is a temporary port created
 81684  // to avoid conflict with another port.
 81685  //
 81686  // Conflict DVPort cannot be moved.
 81687  type VMOnConflictDVPort struct {
 81688  	CannotAccessNetwork
 81689  }
 81690  
 81691  func init() {
 81692  	t["VMOnConflictDVPort"] = reflect.TypeOf((*VMOnConflictDVPort)(nil)).Elem()
 81693  	minAPIVersionForType["VMOnConflictDVPort"] = "4.0"
 81694  }
 81695  
 81696  type VMOnConflictDVPortFault VMOnConflictDVPort
 81697  
 81698  func init() {
 81699  	t["VMOnConflictDVPortFault"] = reflect.TypeOf((*VMOnConflictDVPortFault)(nil)).Elem()
 81700  }
 81701  
 81702  // The virtual machine is using a "virtual intranet", a virtual network
 81703  // that exists only within a single host.
 81704  //
 81705  // If returned as part of a migration check, this
 81706  // is an error if the virtual machine is currently connected to the network and a
 81707  // warning otherwise.
 81708  type VMOnVirtualIntranet struct {
 81709  	CannotAccessNetwork
 81710  }
 81711  
 81712  func init() {
 81713  	t["VMOnVirtualIntranet"] = reflect.TypeOf((*VMOnVirtualIntranet)(nil)).Elem()
 81714  }
 81715  
 81716  type VMOnVirtualIntranetFault VMOnVirtualIntranet
 81717  
 81718  func init() {
 81719  	t["VMOnVirtualIntranetFault"] = reflect.TypeOf((*VMOnVirtualIntranetFault)(nil)).Elem()
 81720  }
 81721  
 81722  // An operation on a powered-on virtual machine requests a change of
 81723  // networks, but the host does not have that capability.
 81724  type VMotionAcrossNetworkNotSupported struct {
 81725  	MigrationFeatureNotSupported
 81726  }
 81727  
 81728  func init() {
 81729  	t["VMotionAcrossNetworkNotSupported"] = reflect.TypeOf((*VMotionAcrossNetworkNotSupported)(nil)).Elem()
 81730  	minAPIVersionForType["VMotionAcrossNetworkNotSupported"] = "5.5"
 81731  }
 81732  
 81733  type VMotionAcrossNetworkNotSupportedFault VMotionAcrossNetworkNotSupported
 81734  
 81735  func init() {
 81736  	t["VMotionAcrossNetworkNotSupportedFault"] = reflect.TypeOf((*VMotionAcrossNetworkNotSupportedFault)(nil)).Elem()
 81737  }
 81738  
 81739  // A VMotion interface has a problem.
 81740  //
 81741  // This may be an error or warning depending
 81742  // on the specific fault subclass. This is an error or warning only when
 81743  // migrating a powered-on virtual machine.
 81744  type VMotionInterfaceIssue struct {
 81745  	MigrationFault
 81746  
 81747  	// Whether this error is for the source host.
 81748  	AtSourceHost bool `xml:"atSourceHost" json:"atSourceHost"`
 81749  	// The name of the host with the bad interface.
 81750  	FailedHost string `xml:"failedHost" json:"failedHost"`
 81751  	// The host with the bad interface.
 81752  	//
 81753  	// Refers instance of `HostSystem`.
 81754  	FailedHostEntity *ManagedObjectReference `xml:"failedHostEntity,omitempty" json:"failedHostEntity,omitempty" vim:"2.5"`
 81755  }
 81756  
 81757  func init() {
 81758  	t["VMotionInterfaceIssue"] = reflect.TypeOf((*VMotionInterfaceIssue)(nil)).Elem()
 81759  }
 81760  
 81761  type VMotionInterfaceIssueFault BaseVMotionInterfaceIssue
 81762  
 81763  func init() {
 81764  	t["VMotionInterfaceIssueFault"] = reflect.TypeOf((*VMotionInterfaceIssueFault)(nil)).Elem()
 81765  }
 81766  
 81767  // This event records an expired VMotion license.
 81768  type VMotionLicenseExpiredEvent struct {
 81769  	LicenseEvent
 81770  }
 81771  
 81772  func init() {
 81773  	t["VMotionLicenseExpiredEvent"] = reflect.TypeOf((*VMotionLicenseExpiredEvent)(nil)).Elem()
 81774  }
 81775  
 81776  // The VMotion interface does not have the recommended capacity to support
 81777  // VMotion.
 81778  //
 81779  // VMotion is supported on links that have a speed of at least 1000
 81780  // Mbps and are full duplex. This is a warning for migrating powered-on virtual
 81781  // machines.
 81782  type VMotionLinkCapacityLow struct {
 81783  	VMotionInterfaceIssue
 81784  
 81785  	// Name of the network being used for the VMotion interface.
 81786  	Network string `xml:"network" json:"network"`
 81787  }
 81788  
 81789  func init() {
 81790  	t["VMotionLinkCapacityLow"] = reflect.TypeOf((*VMotionLinkCapacityLow)(nil)).Elem()
 81791  }
 81792  
 81793  type VMotionLinkCapacityLowFault VMotionLinkCapacityLow
 81794  
 81795  func init() {
 81796  	t["VMotionLinkCapacityLowFault"] = reflect.TypeOf((*VMotionLinkCapacityLowFault)(nil)).Elem()
 81797  }
 81798  
 81799  // The VMotion interface does not have any operational physical links
 81800  // associated with it.
 81801  //
 81802  // This is an error for migrating powered-on virtual
 81803  // machines.
 81804  type VMotionLinkDown struct {
 81805  	VMotionInterfaceIssue
 81806  
 81807  	// Name of the network being used for the VMotion interface.
 81808  	Network string `xml:"network" json:"network"`
 81809  }
 81810  
 81811  func init() {
 81812  	t["VMotionLinkDown"] = reflect.TypeOf((*VMotionLinkDown)(nil)).Elem()
 81813  }
 81814  
 81815  type VMotionLinkDownFault VMotionLinkDown
 81816  
 81817  func init() {
 81818  	t["VMotionLinkDownFault"] = reflect.TypeOf((*VMotionLinkDownFault)(nil)).Elem()
 81819  }
 81820  
 81821  // A VMotion interface is not configured (or is misconfigured) on
 81822  // either the source or destination host.
 81823  //
 81824  // This is an error only
 81825  // when migrating a powered-on virtual machine.
 81826  type VMotionNotConfigured struct {
 81827  	VMotionInterfaceIssue
 81828  }
 81829  
 81830  func init() {
 81831  	t["VMotionNotConfigured"] = reflect.TypeOf((*VMotionNotConfigured)(nil)).Elem()
 81832  }
 81833  
 81834  type VMotionNotConfiguredFault VMotionNotConfigured
 81835  
 81836  func init() {
 81837  	t["VMotionNotConfiguredFault"] = reflect.TypeOf((*VMotionNotConfiguredFault)(nil)).Elem()
 81838  }
 81839  
 81840  // VMotion is not licensed on a source or destination host.
 81841  //
 81842  // It must be licensed on both
 81843  // hosts.
 81844  type VMotionNotLicensed struct {
 81845  	VMotionInterfaceIssue
 81846  }
 81847  
 81848  func init() {
 81849  	t["VMotionNotLicensed"] = reflect.TypeOf((*VMotionNotLicensed)(nil)).Elem()
 81850  }
 81851  
 81852  type VMotionNotLicensedFault VMotionNotLicensed
 81853  
 81854  func init() {
 81855  	t["VMotionNotLicensedFault"] = reflect.TypeOf((*VMotionNotLicensedFault)(nil)).Elem()
 81856  }
 81857  
 81858  // The source or the destination host does not support VMotion.
 81859  //
 81860  // This is an
 81861  // error only when migrating a powered-on virtual machine.
 81862  type VMotionNotSupported struct {
 81863  	VMotionInterfaceIssue
 81864  }
 81865  
 81866  func init() {
 81867  	t["VMotionNotSupported"] = reflect.TypeOf((*VMotionNotSupported)(nil)).Elem()
 81868  }
 81869  
 81870  type VMotionNotSupportedFault VMotionNotSupported
 81871  
 81872  func init() {
 81873  	t["VMotionNotSupportedFault"] = reflect.TypeOf((*VMotionNotSupportedFault)(nil)).Elem()
 81874  }
 81875  
 81876  // VMotion protocol version incompatibility prevents VMotion from the
 81877  // virtual machine's current host to the requested destination host.
 81878  //
 81879  // (VMotion in the other direction may or may not be supported.)
 81880  type VMotionProtocolIncompatible struct {
 81881  	MigrationFault
 81882  }
 81883  
 81884  func init() {
 81885  	t["VMotionProtocolIncompatible"] = reflect.TypeOf((*VMotionProtocolIncompatible)(nil)).Elem()
 81886  }
 81887  
 81888  type VMotionProtocolIncompatibleFault VMotionProtocolIncompatible
 81889  
 81890  func init() {
 81891  	t["VMotionProtocolIncompatibleFault"] = reflect.TypeOf((*VMotionProtocolIncompatibleFault)(nil)).Elem()
 81892  }
 81893  
 81894  // This class defines the VMware specific configuration for
 81895  // DistributedVirtualSwitch.
 81896  type VMwareDVSConfigInfo struct {
 81897  	DVSConfigInfo
 81898  
 81899  	// The Distributed Port Mirroring sessions in the switch.
 81900  	VspanSession []VMwareVspanSession `xml:"vspanSession,omitempty" json:"vspanSession,omitempty" vim:"5.0"`
 81901  	// The PVLAN configured in the switch.
 81902  	PvlanConfig []VMwareDVSPvlanMapEntry `xml:"pvlanConfig,omitempty" json:"pvlanConfig,omitempty"`
 81903  	// The maximum MTU in the switch.
 81904  	MaxMtu int32 `xml:"maxMtu" json:"maxMtu"`
 81905  	// See `LinkDiscoveryProtocolConfig`.
 81906  	LinkDiscoveryProtocolConfig *LinkDiscoveryProtocolConfig `xml:"linkDiscoveryProtocolConfig,omitempty" json:"linkDiscoveryProtocolConfig,omitempty"`
 81907  	// Configuration for ipfix monitoring of the switch traffic.
 81908  	//
 81909  	// This must be
 81910  	// set before ipfix monitoring can be enabled for the switch, or for any
 81911  	// portgroup or port of the switch.
 81912  	//
 81913  	// See also `VMwareDVSPortSetting.ipfixEnabled`.
 81914  	IpfixConfig *VMwareIpfixConfig `xml:"ipfixConfig,omitempty" json:"ipfixConfig,omitempty" vim:"5.0"`
 81915  	// The Link Aggregation Control Protocol groups in the switch.
 81916  	LacpGroupConfig []VMwareDvsLacpGroupConfig `xml:"lacpGroupConfig,omitempty" json:"lacpGroupConfig,omitempty" vim:"5.5"`
 81917  	// The Link Aggregation Control Protocol group version in the switch.
 81918  	//
 81919  	// See `VMwareDvsLacpApiVersion_enum` for valid values.
 81920  	LacpApiVersion string `xml:"lacpApiVersion,omitempty" json:"lacpApiVersion,omitempty" vim:"5.5"`
 81921  	// The Multicast Filtering mode in the switch.
 81922  	//
 81923  	// See `VMwareDvsMulticastFilteringMode_enum` for valid values.
 81924  	MulticastFilteringMode string `xml:"multicastFilteringMode,omitempty" json:"multicastFilteringMode,omitempty" vim:"6.0"`
 81925  	// Indicate the ID of NetworkOffloadSpec used in the switch.
 81926  	//
 81927  	// ID "None" means that network offload is not allowed in the switch.
 81928  	NetworkOffloadSpecId string `xml:"networkOffloadSpecId,omitempty" json:"networkOffloadSpecId,omitempty" vim:"8.0.0.1"`
 81929  }
 81930  
 81931  func init() {
 81932  	t["VMwareDVSConfigInfo"] = reflect.TypeOf((*VMwareDVSConfigInfo)(nil)).Elem()
 81933  	minAPIVersionForType["VMwareDVSConfigInfo"] = "4.0"
 81934  }
 81935  
 81936  // This class defines the VMware specific configuration for
 81937  // DistributedVirtualSwitch.
 81938  type VMwareDVSConfigSpec struct {
 81939  	DVSConfigSpec
 81940  
 81941  	// The PVLAN configuration specification.
 81942  	//
 81943  	// A `VMwareDVSPvlanMapEntry`
 81944  	// that has the same value for
 81945  	// `VMwareDVSPvlanMapEntry.primaryVlanId` and
 81946  	// `VMwareDVSPvlanMapEntry.secondaryVlanId`
 81947  	// is referred to as a primary PVLAN entry.
 81948  	// Otherwise, the `VMwareDVSPvlanMapEntry`
 81949  	// is referred to as a secondary PVLAN entry.
 81950  	//
 81951  	// The `VMwareDVSPvlanMapEntry.pvlanType`
 81952  	// of a primary PVLAN entry must be
 81953  	// `promiscuous`.
 81954  	// A secondary PVLAN entry can have a
 81955  	// `VMwareDVSPvlanMapEntry.pvlanType`
 81956  	// of either
 81957  	// `community` or
 81958  	// `isolated`.
 81959  	//
 81960  	// Primary PVLAN entries must be explicitly added.
 81961  	// If there is no primary PVLAN entry corresponding to the
 81962  	// `VMwareDVSPvlanMapEntry.primaryVlanId`
 81963  	// of a secondary PVLAN entry, a fault is thrown.
 81964  	//
 81965  	// While deleting a primary PVLAN entry, any associated secondary PVLAN
 81966  	// entries must be explicitly deleted.
 81967  	PvlanConfigSpec []VMwareDVSPvlanConfigSpec `xml:"pvlanConfigSpec,omitempty" json:"pvlanConfigSpec,omitempty"`
 81968  	// The Distributed Port Mirroring configuration specification.
 81969  	//
 81970  	// The VSPAN
 81971  	// sessions in the array cannot be of the same key.
 81972  	VspanConfigSpec []VMwareDVSVspanConfigSpec `xml:"vspanConfigSpec,omitempty" json:"vspanConfigSpec,omitempty" vim:"5.0"`
 81973  	// The maximum MTU in the switch.
 81974  	MaxMtu int32 `xml:"maxMtu,omitempty" json:"maxMtu,omitempty"`
 81975  	// See `LinkDiscoveryProtocolConfig`.
 81976  	LinkDiscoveryProtocolConfig *LinkDiscoveryProtocolConfig `xml:"linkDiscoveryProtocolConfig,omitempty" json:"linkDiscoveryProtocolConfig,omitempty"`
 81977  	// Configuration for ipfix monitoring of the switch traffic.
 81978  	//
 81979  	// This must be
 81980  	// set before ipfix monitoring can be enabled for the switch, or for any
 81981  	// portgroup or port of the switch.
 81982  	//
 81983  	// See also `VMwareDVSPortSetting.ipfixEnabled`.
 81984  	IpfixConfig *VMwareIpfixConfig `xml:"ipfixConfig,omitempty" json:"ipfixConfig,omitempty" vim:"5.0"`
 81985  	// The Link Aggregation Control Protocol group version in the switch.
 81986  	//
 81987  	// See `VMwareDvsLacpApiVersion_enum` for valid values.
 81988  	LacpApiVersion string `xml:"lacpApiVersion,omitempty" json:"lacpApiVersion,omitempty" vim:"5.5"`
 81989  	// The Multicast Filtering mode in the switch.
 81990  	//
 81991  	// See `VMwareDvsMulticastFilteringMode_enum` for valid values.
 81992  	MulticastFilteringMode string `xml:"multicastFilteringMode,omitempty" json:"multicastFilteringMode,omitempty" vim:"6.0"`
 81993  	// Indicate the ID of NetworkOffloadSpec used in the switch.
 81994  	//
 81995  	// Unset it when network offload is not allowed when creating a switch.
 81996  	// Use ID "None" to change network offload from allowed to not allowed.
 81997  	NetworkOffloadSpecId string `xml:"networkOffloadSpecId,omitempty" json:"networkOffloadSpecId,omitempty" vim:"8.0.0.1"`
 81998  }
 81999  
 82000  func init() {
 82001  	t["VMwareDVSConfigSpec"] = reflect.TypeOf((*VMwareDVSConfigSpec)(nil)).Elem()
 82002  	minAPIVersionForType["VMwareDVSConfigSpec"] = "4.0"
 82003  }
 82004  
 82005  // Indicators of support for version-specific DVS features that are only
 82006  // available on a VMware-class switch.
 82007  type VMwareDVSFeatureCapability struct {
 82008  	DVSFeatureCapability
 82009  
 82010  	// Flag to indicate whether vspan(DVMirror) is supported on the
 82011  	// vSphere Distributed Switch.
 82012  	//
 82013  	// Distributed Port Mirroring is supported in vSphere Distributed Switch Version 5.0 or later.
 82014  	VspanSupported *bool `xml:"vspanSupported" json:"vspanSupported,omitempty" vim:"5.0"`
 82015  	// Flag to indicate whether LLDP(Link Layer Discovery Protocol) is supported on the
 82016  	// vSphere Distributed Switch.
 82017  	//
 82018  	// LLDP is supported in vSphere Distributed Switch Version 5.0 or later.
 82019  	LldpSupported *bool `xml:"lldpSupported" json:"lldpSupported,omitempty" vim:"5.0"`
 82020  	// Deprecated as of vSphere API 6.0, use `VMwareDvsIpfixCapability`.
 82021  	//
 82022  	// Flag to indicate whether IPFIX(NetFlow) is supported on the
 82023  	// vSphere Distributed Switch.
 82024  	//
 82025  	// IPFIX is supported in vSphere Distributed Switch Version 5.0 or later.
 82026  	IpfixSupported *bool `xml:"ipfixSupported" json:"ipfixSupported,omitempty" vim:"5.0"`
 82027  	// The support for version-specific IPFIX(NetFlow).
 82028  	IpfixCapability *VMwareDvsIpfixCapability `xml:"ipfixCapability,omitempty" json:"ipfixCapability,omitempty" vim:"6.0"`
 82029  	// Flag to indicate whether multicast snooping(IGMP/MLD Snooping)
 82030  	// is supported on the vSphere Distributed Switch.
 82031  	//
 82032  	// IGMP/MLD Snooping is supported in vSphere Distributed Switch Version 6.0 or later.
 82033  	MulticastSnoopingSupported *bool `xml:"multicastSnoopingSupported" json:"multicastSnoopingSupported,omitempty" vim:"6.0"`
 82034  	// The support for version-specific Distributed Port Mirroring sessions.
 82035  	VspanCapability *VMwareDVSVspanCapability `xml:"vspanCapability,omitempty" json:"vspanCapability,omitempty" vim:"5.1"`
 82036  	// The support for version-specific Link Aggregation Control Protocol.
 82037  	LacpCapability *VMwareDvsLacpCapability `xml:"lacpCapability,omitempty" json:"lacpCapability,omitempty" vim:"5.1"`
 82038  	// The support for version-specific DPU(SmartNic).
 82039  	DpuCapability *VMwareDvsDpuCapability `xml:"dpuCapability,omitempty" json:"dpuCapability,omitempty" vim:"8.0.0.1"`
 82040  	// Flag to indicate whether NSX is supported on the
 82041  	// vSphere Distributed Switch.
 82042  	//
 82043  	// NSX is supported in vSphere Distributed Switch Version 7.0 or later.
 82044  	NsxSupported *bool `xml:"nsxSupported" json:"nsxSupported,omitempty" vim:"7.0"`
 82045  	// The support for version-specific supported MTU.
 82046  	MtuCapability *VMwareDvsMtuCapability `xml:"mtuCapability,omitempty" json:"mtuCapability,omitempty" vim:"7.0.2.0"`
 82047  }
 82048  
 82049  func init() {
 82050  	t["VMwareDVSFeatureCapability"] = reflect.TypeOf((*VMwareDVSFeatureCapability)(nil)).Elem()
 82051  	minAPIVersionForType["VMwareDVSFeatureCapability"] = "4.1"
 82052  }
 82053  
 82054  // The feature capabilities of health check supported by the
 82055  // vSphere Distributed Switch
 82056  type VMwareDVSHealthCheckCapability struct {
 82057  	DVSHealthCheckCapability
 82058  
 82059  	// Flag to indicate whether vlan/mtu health check is supported on the
 82060  	// vSphere Distributed Switch.
 82061  	VlanMtuSupported bool `xml:"vlanMtuSupported" json:"vlanMtuSupported"`
 82062  	// Flag to indicate whether teaming health check is supported on the
 82063  	// vSphere Distributed Switch.
 82064  	TeamingSupported bool `xml:"teamingSupported" json:"teamingSupported"`
 82065  }
 82066  
 82067  func init() {
 82068  	t["VMwareDVSHealthCheckCapability"] = reflect.TypeOf((*VMwareDVSHealthCheckCapability)(nil)).Elem()
 82069  	minAPIVersionForType["VMwareDVSHealthCheckCapability"] = "5.1"
 82070  }
 82071  
 82072  // This class defines health check configuration for
 82073  // VMware vSphere Distributed Switch.
 82074  type VMwareDVSHealthCheckConfig struct {
 82075  	DVSHealthCheckConfig
 82076  }
 82077  
 82078  func init() {
 82079  	t["VMwareDVSHealthCheckConfig"] = reflect.TypeOf((*VMwareDVSHealthCheckConfig)(nil)).Elem()
 82080  	minAPIVersionForType["VMwareDVSHealthCheckConfig"] = "5.1"
 82081  }
 82082  
 82083  // This class defines MTU health check result of an uplink port
 82084  // in the VMware vSphered Distributed Switch.
 82085  type VMwareDVSMtuHealthCheckResult struct {
 82086  	HostMemberUplinkHealthCheckResult
 82087  
 82088  	// True if the MTU configured in the vSphere Distributed Switch is different from
 82089  	// the value configured in the Physical NIC, else false.
 82090  	//
 82091  	// If it is true,
 82092  	// MTU health check is stopped. In this case, `VMwareDVSMtuHealthCheckResult.vlanSupportSwitchMtu` and
 82093  	// `VMwareDVSMtuHealthCheckResult.vlanNotSupportSwitchMtu` will not have values.
 82094  	MtuMismatch bool `xml:"mtuMismatch" json:"mtuMismatch"`
 82095  	// The vlan's MTU setting on physical switch allows vSphere Distributed Switch
 82096  	// max MTU size packets passing.
 82097  	//
 82098  	// If the vlan is not a range, but a single Id,
 82099  	// both start and end have the same value with the single vlan Id.
 82100  	VlanSupportSwitchMtu []NumericRange `xml:"vlanSupportSwitchMtu,omitempty" json:"vlanSupportSwitchMtu,omitempty"`
 82101  	// The vlan's MTU setting on physical switch does not allow
 82102  	// vSphere Distributed Switch max MTU size packets passing.
 82103  	//
 82104  	// If the vlan is not a range, but a single Id,
 82105  	// both start and end have the same value with the single vlan Id.
 82106  	VlanNotSupportSwitchMtu []NumericRange `xml:"vlanNotSupportSwitchMtu,omitempty" json:"vlanNotSupportSwitchMtu,omitempty"`
 82107  }
 82108  
 82109  func init() {
 82110  	t["VMwareDVSMtuHealthCheckResult"] = reflect.TypeOf((*VMwareDVSMtuHealthCheckResult)(nil)).Elem()
 82111  	minAPIVersionForType["VMwareDVSMtuHealthCheckResult"] = "5.1"
 82112  }
 82113  
 82114  // This class defines the VMware specific configuration for
 82115  // DistributedVirtualPort.
 82116  type VMwareDVSPortSetting struct {
 82117  	DVPortSetting
 82118  
 82119  	// The VLAN Specification of the port.
 82120  	Vlan BaseVmwareDistributedVirtualSwitchVlanSpec `xml:"vlan,omitempty,typeattr" json:"vlan,omitempty"`
 82121  	// Deprecated as of vSphere API 5.0.
 82122  	//
 82123  	// The Quality Of Service tagging of the port.
 82124  	QosTag *IntPolicy `xml:"qosTag,omitempty" json:"qosTag,omitempty"`
 82125  	// The uplink teaming policy.
 82126  	//
 82127  	// This property is ignored for uplink
 82128  	// ports.
 82129  	UplinkTeamingPolicy *VmwareUplinkPortTeamingPolicy `xml:"uplinkTeamingPolicy,omitempty" json:"uplinkTeamingPolicy,omitempty"`
 82130  	// Deprecated as of vSphere API 6.7, use
 82131  	// `DVSMacManagementPolicy`
 82132  	// instead to specify the security policy.
 82133  	//
 82134  	// The security policy.
 82135  	SecurityPolicy *DVSSecurityPolicy `xml:"securityPolicy,omitempty" json:"securityPolicy,omitempty"`
 82136  	// True if ipfix monitoring is enabled.
 82137  	//
 82138  	// To successfully enable ipfix
 82139  	// monitoring, the switch must have an assigned
 82140  	// *IP address*
 82141  	// and an appropriately populated
 82142  	// *ipfix configuration*
 82143  	// that specifies a collector IP address and port.
 82144  	IpfixEnabled *BoolPolicy `xml:"ipfixEnabled,omitempty" json:"ipfixEnabled,omitempty" vim:"5.0"`
 82145  	// If true, a copy of packets sent to the switch will always be forwarded to
 82146  	// an uplink in addition to the regular packet forwarded done by the switch.
 82147  	TxUplink *BoolPolicy `xml:"txUplink,omitempty" json:"txUplink,omitempty"`
 82148  	// Deprecated as of vSphere API 5.5, use
 82149  	// `VmwareDistributedVirtualSwitch.UpdateDVSLacpGroupConfig_Task` and
 82150  	// `VMwareDVSConfigInfo.lacpGroupConfig`
 82151  	// instead.
 82152  	//
 82153  	// Link Aggregation Control Protocol policy.
 82154  	//
 82155  	// This policy is ignored on non-uplink portgroups.
 82156  	// Setting this policy at port level is not supported.
 82157  	LacpPolicy *VMwareUplinkLacpPolicy `xml:"lacpPolicy,omitempty" json:"lacpPolicy,omitempty" vim:"5.1"`
 82158  	// The MAC learning policy.
 82159  	MacManagementPolicy *DVSMacManagementPolicy `xml:"macManagementPolicy,omitempty" json:"macManagementPolicy,omitempty" vim:"6.7"`
 82160  	// The VNI number of overlay logical switch, which is used by
 82161  	// NSX portgroup.
 82162  	VNI *IntPolicy `xml:"VNI,omitempty" json:"VNI,omitempty" vim:"7.0"`
 82163  }
 82164  
 82165  func init() {
 82166  	t["VMwareDVSPortSetting"] = reflect.TypeOf((*VMwareDVSPortSetting)(nil)).Elem()
 82167  	minAPIVersionForType["VMwareDVSPortSetting"] = "4.0"
 82168  }
 82169  
 82170  // This class defines the VMware specific configuration for
 82171  // DistributedVirtualPort.
 82172  type VMwareDVSPortgroupPolicy struct {
 82173  	DVPortgroupPolicy
 82174  
 82175  	// Allow the setting of
 82176  	// `VmwareDistributedVirtualSwitchVlanIdSpec.vlanId`, trunk
 82177  	// `VmwareDistributedVirtualSwitchTrunkVlanSpec.vlanId`, or
 82178  	// `VmwareDistributedVirtualSwitchPvlanSpec.pvlanId`
 82179  	// for an individual port to override the setting in
 82180  	// `DVPortgroupConfigInfo.defaultPortConfig` of
 82181  	// a portgroup.
 82182  	VlanOverrideAllowed bool `xml:"vlanOverrideAllowed" json:"vlanOverrideAllowed"`
 82183  	// Allow the setting of
 82184  	// `VMwareDVSPortSetting.uplinkTeamingPolicy`
 82185  	// for an individual port to override the setting in
 82186  	// `DVPortgroupConfigInfo.defaultPortConfig` of
 82187  	// a portgroup.
 82188  	UplinkTeamingOverrideAllowed bool `xml:"uplinkTeamingOverrideAllowed" json:"uplinkTeamingOverrideAllowed"`
 82189  	// Deprecated as of vSphere API 6.7.1, use
 82190  	// `VMwareDVSPortgroupPolicy.macManagementOverrideAllowed` instead.
 82191  	//
 82192  	// Allow the setting of
 82193  	// `VMwareDVSPortSetting.securityPolicy`
 82194  	// for an individual port to override the setting in
 82195  	// `DVPortgroupConfigInfo.defaultPortConfig` of
 82196  	// a portgroup.
 82197  	SecurityPolicyOverrideAllowed bool `xml:"securityPolicyOverrideAllowed" json:"securityPolicyOverrideAllowed"`
 82198  	// Allow the setting of
 82199  	// `VMwareDVSPortSetting.ipfixEnabled`
 82200  	// for an individual port to override the setting in
 82201  	// `DVPortgroupConfigInfo.defaultPortConfig` of
 82202  	// a portgroup.
 82203  	IpfixOverrideAllowed *bool `xml:"ipfixOverrideAllowed" json:"ipfixOverrideAllowed,omitempty" vim:"5.0"`
 82204  	// Allow the setting of
 82205  	// `VMwareDVSPortSetting.macManagementPolicy`
 82206  	// for an individual port to override the setting in
 82207  	// `DVPortgroupConfigInfo.defaultPortConfig` of
 82208  	// a portgroup.
 82209  	MacManagementOverrideAllowed *bool `xml:"macManagementOverrideAllowed" json:"macManagementOverrideAllowed,omitempty" vim:"6.7.1"`
 82210  }
 82211  
 82212  func init() {
 82213  	t["VMwareDVSPortgroupPolicy"] = reflect.TypeOf((*VMwareDVSPortgroupPolicy)(nil)).Elem()
 82214  	minAPIVersionForType["VMwareDVSPortgroupPolicy"] = "4.0"
 82215  }
 82216  
 82217  // This class defines the configuration of a PVLAN map entry
 82218  type VMwareDVSPvlanConfigSpec struct {
 82219  	DynamicData
 82220  
 82221  	// The PVLAN entry to be added or removed.
 82222  	PvlanEntry VMwareDVSPvlanMapEntry `xml:"pvlanEntry" json:"pvlanEntry"`
 82223  	// Operation type.
 82224  	//
 82225  	// See
 82226  	// `ConfigSpecOperation_enum` for valid values,
 82227  	// except for the "edit" value, which is not supported.
 82228  	Operation string `xml:"operation" json:"operation"`
 82229  }
 82230  
 82231  func init() {
 82232  	t["VMwareDVSPvlanConfigSpec"] = reflect.TypeOf((*VMwareDVSPvlanConfigSpec)(nil)).Elem()
 82233  	minAPIVersionForType["VMwareDVSPvlanConfigSpec"] = "4.0"
 82234  }
 82235  
 82236  // The class represents a PVLAN id.
 82237  type VMwareDVSPvlanMapEntry struct {
 82238  	DynamicData
 82239  
 82240  	// The primary VLAN ID.
 82241  	//
 82242  	// The VLAN IDs of 0 and 4095 are reserved
 82243  	// and cannot be used in this property.
 82244  	PrimaryVlanId int32 `xml:"primaryVlanId" json:"primaryVlanId"`
 82245  	// The secondary VLAN ID.
 82246  	//
 82247  	// The VLAN IDs of 0 and 4095 are reserved
 82248  	// and cannot be used in this property.
 82249  	SecondaryVlanId int32 `xml:"secondaryVlanId" json:"secondaryVlanId"`
 82250  	// The type of PVLAN.
 82251  	//
 82252  	// See `VmwareDistributedVirtualSwitchPvlanPortType_enum`
 82253  	// for valid values.
 82254  	PvlanType string `xml:"pvlanType" json:"pvlanType"`
 82255  }
 82256  
 82257  func init() {
 82258  	t["VMwareDVSPvlanMapEntry"] = reflect.TypeOf((*VMwareDVSPvlanMapEntry)(nil)).Elem()
 82259  	minAPIVersionForType["VMwareDVSPvlanMapEntry"] = "4.0"
 82260  }
 82261  
 82262  // This class defines the teaming health check configuration.
 82263  //
 82264  // Teaming health check is used to check whether the teaming policy configuration
 82265  // of the vSphere Distributed Switch matches the physical switch.
 82266  type VMwareDVSTeamingHealthCheckConfig struct {
 82267  	VMwareDVSHealthCheckConfig
 82268  }
 82269  
 82270  func init() {
 82271  	t["VMwareDVSTeamingHealthCheckConfig"] = reflect.TypeOf((*VMwareDVSTeamingHealthCheckConfig)(nil)).Elem()
 82272  	minAPIVersionForType["VMwareDVSTeamingHealthCheckConfig"] = "5.1"
 82273  }
 82274  
 82275  // This class defines teaming health check result of a host that
 82276  // joined the VMware vSphered Distributed Switch.
 82277  type VMwareDVSTeamingHealthCheckResult struct {
 82278  	HostMemberHealthCheckResult
 82279  
 82280  	// Teaming check status.
 82281  	//
 82282  	// See `VMwareDVSTeamingMatchStatus_enum`
 82283  	// for valid values.
 82284  	TeamingStatus string `xml:"teamingStatus" json:"teamingStatus"`
 82285  }
 82286  
 82287  func init() {
 82288  	t["VMwareDVSTeamingHealthCheckResult"] = reflect.TypeOf((*VMwareDVSTeamingHealthCheckResult)(nil)).Elem()
 82289  	minAPIVersionForType["VMwareDVSTeamingHealthCheckResult"] = "5.1"
 82290  }
 82291  
 82292  // This class defines Vlan health check result of an uplink port
 82293  // in the VMware vSphered Distributed Switch.
 82294  type VMwareDVSVlanHealthCheckResult struct {
 82295  	HostMemberUplinkHealthCheckResult
 82296  
 82297  	// The vlans which are trunked by the physical switch connected to the uplink port.
 82298  	//
 82299  	// If the vlan is not a range, but a single Id,
 82300  	// both start and end have the same value with the single vlan Id.
 82301  	TrunkedVlan []NumericRange `xml:"trunkedVlan,omitempty" json:"trunkedVlan,omitempty"`
 82302  	// The vlans which are not trunked by the physical switch connected to the uplink port.
 82303  	//
 82304  	// If the vlan is not a range, but a single Id,
 82305  	// both start and end have the same value with the single vlan Id.
 82306  	UntrunkedVlan []NumericRange `xml:"untrunkedVlan,omitempty" json:"untrunkedVlan,omitempty"`
 82307  }
 82308  
 82309  func init() {
 82310  	t["VMwareDVSVlanHealthCheckResult"] = reflect.TypeOf((*VMwareDVSVlanHealthCheckResult)(nil)).Elem()
 82311  	minAPIVersionForType["VMwareDVSVlanHealthCheckResult"] = "5.1"
 82312  }
 82313  
 82314  // This class defines the vlan and mtu health check configuration.
 82315  //
 82316  // Vlan health check is used to check whether vlans are trunked by the physical
 82317  // switch connected to the uplink ports.
 82318  // MTU health check is used to verify current MTU setting workable on all uplink ports of
 82319  // the vSphere Distributed Switch.
 82320  type VMwareDVSVlanMtuHealthCheckConfig struct {
 82321  	VMwareDVSHealthCheckConfig
 82322  }
 82323  
 82324  func init() {
 82325  	t["VMwareDVSVlanMtuHealthCheckConfig"] = reflect.TypeOf((*VMwareDVSVlanMtuHealthCheckConfig)(nil)).Elem()
 82326  	minAPIVersionForType["VMwareDVSVlanMtuHealthCheckConfig"] = "5.1"
 82327  }
 82328  
 82329  // Indicators of support for version-specific Distributed Port Mirroring sessions.
 82330  type VMwareDVSVspanCapability struct {
 82331  	DynamicData
 82332  
 82333  	// Flag to indicate whether mixed dest mirror session is supported on the
 82334  	// vSphere Distributed Switch.
 82335  	MixedDestSupported bool `xml:"mixedDestSupported" json:"mixedDestSupported"`
 82336  	// Flag to indicate whether dvport mirror session is supported on the
 82337  	// vSphere Distributed Switch.
 82338  	DvportSupported bool `xml:"dvportSupported" json:"dvportSupported"`
 82339  	// Flag to indicate whether remote mirror source session is supported on the
 82340  	// vSphere Distributed Switch.
 82341  	RemoteSourceSupported bool `xml:"remoteSourceSupported" json:"remoteSourceSupported"`
 82342  	// Flag to indicate whether remote mirror destination session is supported on the
 82343  	// vSphere Distributed Switch.
 82344  	RemoteDestSupported bool `xml:"remoteDestSupported" json:"remoteDestSupported"`
 82345  	// Flag to indicate whether encapsulated remote mirror source session is supported on the
 82346  	// vSphere Distributed Switch.
 82347  	EncapRemoteSourceSupported bool `xml:"encapRemoteSourceSupported" json:"encapRemoteSourceSupported"`
 82348  	// Flag to indicate whether ERSPAN protocol encapsulation is supported
 82349  	// on the vSphere Distributed Switch.
 82350  	ErspanProtocolSupported *bool `xml:"erspanProtocolSupported" json:"erspanProtocolSupported,omitempty" vim:"6.5"`
 82351  	// Flag to indicate whether dvport mirror can be configured to use a
 82352  	// dedicated network stack instance.
 82353  	MirrorNetstackSupported *bool `xml:"mirrorNetstackSupported" json:"mirrorNetstackSupported,omitempty" vim:"6.7"`
 82354  }
 82355  
 82356  func init() {
 82357  	t["VMwareDVSVspanCapability"] = reflect.TypeOf((*VMwareDVSVspanCapability)(nil)).Elem()
 82358  	minAPIVersionForType["VMwareDVSVspanCapability"] = "5.1"
 82359  }
 82360  
 82361  // This class defines the configuration of a Distributed Port Mirroring session.
 82362  //
 82363  // A Distributed Port Mirroring session
 82364  type VMwareDVSVspanConfigSpec struct {
 82365  	DynamicData
 82366  
 82367  	// The Distributed Port Mirroring session to be reconfigured.
 82368  	VspanSession VMwareVspanSession `xml:"vspanSession" json:"vspanSession"`
 82369  	// Operation type, see
 82370  	// `ConfigSpecOperation_enum` for valid values.
 82371  	Operation string `xml:"operation" json:"operation"`
 82372  }
 82373  
 82374  func init() {
 82375  	t["VMwareDVSVspanConfigSpec"] = reflect.TypeOf((*VMwareDVSVspanConfigSpec)(nil)).Elem()
 82376  	minAPIVersionForType["VMwareDVSVspanConfigSpec"] = "5.0"
 82377  }
 82378  
 82379  // The feature capabilities of Dpu Features supported by the
 82380  // vSphere Distributed Switch.
 82381  type VMwareDvsDpuCapability struct {
 82382  	DynamicData
 82383  
 82384  	// Flag to indicate whether network offloading is supported on the
 82385  	// vSphere Distributed Switch.
 82386  	NetworkOffloadSupported *bool `xml:"networkOffloadSupported" json:"networkOffloadSupported,omitempty"`
 82387  }
 82388  
 82389  func init() {
 82390  	t["VMwareDvsDpuCapability"] = reflect.TypeOf((*VMwareDvsDpuCapability)(nil)).Elem()
 82391  	minAPIVersionForType["VMwareDvsDpuCapability"] = "8.0.0.1"
 82392  }
 82393  
 82394  // The feature capabilities of Ipfix supported by the vSphere Distributed Switch.
 82395  type VMwareDvsIpfixCapability struct {
 82396  	DynamicData
 82397  
 82398  	// Flag to indicate whether IPFIX(NetFlow) is supported on the
 82399  	// vSphere Distributed Switch.
 82400  	//
 82401  	// IPFIX is supported in vSphere Distributed Switch Version 5.0 or later.
 82402  	IpfixSupported *bool `xml:"ipfixSupported" json:"ipfixSupported,omitempty"`
 82403  	// Flag to indicate whether IPv6 for IPFIX(NetFlow) is supported on the
 82404  	// vSphere Distributed Switch.
 82405  	//
 82406  	// IPv6 for IPFIX is supported in vSphere Distributed Switch Version 6.0 or later.
 82407  	Ipv6ForIpfixSupported *bool `xml:"ipv6ForIpfixSupported" json:"ipv6ForIpfixSupported,omitempty"`
 82408  	// Flag to indicate whether Observation Domain Id for IPFIX is supported
 82409  	// on the vSphere Distributed Switch.
 82410  	//
 82411  	// Observation Domain Id is supported in vSphere Distributed Switch Version 6.0 or later.
 82412  	ObservationDomainIdSupported *bool `xml:"observationDomainIdSupported" json:"observationDomainIdSupported,omitempty"`
 82413  }
 82414  
 82415  func init() {
 82416  	t["VMwareDvsIpfixCapability"] = reflect.TypeOf((*VMwareDvsIpfixCapability)(nil)).Elem()
 82417  	minAPIVersionForType["VMwareDvsIpfixCapability"] = "6.0"
 82418  }
 82419  
 82420  // The feature capabilities of Link Aggregation Control Protocol supported by the
 82421  // vSphere Distributed Switch.
 82422  type VMwareDvsLacpCapability struct {
 82423  	DynamicData
 82424  
 82425  	// Flag to indicate whether Link Aggregation Control Protocol is supported on the
 82426  	// vSphere Distributed Switch.
 82427  	LacpSupported *bool `xml:"lacpSupported" json:"lacpSupported,omitempty"`
 82428  	// Flag to indicate whether the vSphere Distributed Switch supports more
 82429  	// than one Link Aggregation Control Protocol group to be configured.
 82430  	//
 82431  	// It is suppported in vSphere Distributed Switch Version 5.5 or later.
 82432  	MultiLacpGroupSupported *bool `xml:"multiLacpGroupSupported" json:"multiLacpGroupSupported,omitempty" vim:"5.5"`
 82433  	// Flag to indicate whether LACP Fast Mode is supported on the
 82434  	// vSphere Distributed Switch.
 82435  	//
 82436  	// LACP Fast Mode is supported in vSphere Distributed Switch Version 7.0 or later.
 82437  	LacpFastModeSupported *bool `xml:"lacpFastModeSupported" json:"lacpFastModeSupported,omitempty" vim:"7.0.2.0"`
 82438  }
 82439  
 82440  func init() {
 82441  	t["VMwareDvsLacpCapability"] = reflect.TypeOf((*VMwareDvsLacpCapability)(nil)).Elem()
 82442  	minAPIVersionForType["VMwareDvsLacpCapability"] = "5.1"
 82443  }
 82444  
 82445  // This class defines VMware specific multiple IEEE 802.3ad
 82446  // Dynamic Link Aggregation Control Protocol groups.
 82447  type VMwareDvsLacpGroupConfig struct {
 82448  	DynamicData
 82449  
 82450  	// The generated key as the identifier for the Link Aggregation group.
 82451  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 82452  	// The display name.
 82453  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 82454  	// The mode of Link Aggregation Control Protocol.
 82455  	//
 82456  	// See `VMwareUplinkLacpMode_enum` for valid values.
 82457  	Mode string `xml:"mode,omitempty" json:"mode,omitempty"`
 82458  	// The number of uplink ports.
 82459  	UplinkNum int32 `xml:"uplinkNum,omitempty" json:"uplinkNum,omitempty"`
 82460  	// Load balance policy.
 82461  	//
 82462  	// See `VMwareDvsLacpLoadBalanceAlgorithm_enum` for valid values.
 82463  	LoadbalanceAlgorithm string `xml:"loadbalanceAlgorithm,omitempty" json:"loadbalanceAlgorithm,omitempty"`
 82464  	// The VLAN Specification of the Uplink Ports in the Link Aggregation group.
 82465  	Vlan *VMwareDvsLagVlanConfig `xml:"vlan,omitempty" json:"vlan,omitempty"`
 82466  	// Ipfix configuration of the Link Aggregation
 82467  	// Control Protocol group.
 82468  	Ipfix *VMwareDvsLagIpfixConfig `xml:"ipfix,omitempty" json:"ipfix,omitempty"`
 82469  	// Names for the Uplink Ports in the group.
 82470  	//
 82471  	// This property is ignored in an update operation.
 82472  	UplinkName []string `xml:"uplinkName,omitempty" json:"uplinkName,omitempty"`
 82473  	// Keys for the Uplink Ports in the group.
 82474  	//
 82475  	// This property is ignored in an update operation.
 82476  	UplinkPortKey []string `xml:"uplinkPortKey,omitempty" json:"uplinkPortKey,omitempty"`
 82477  	// The timeout mode of LACP group.
 82478  	//
 82479  	// See `VMwareUplinkLacpTimeoutMode_enum` for valid values.
 82480  	TimeoutMode string `xml:"timeoutMode,omitempty" json:"timeoutMode,omitempty" vim:"7.0.2.0"`
 82481  }
 82482  
 82483  func init() {
 82484  	t["VMwareDvsLacpGroupConfig"] = reflect.TypeOf((*VMwareDvsLacpGroupConfig)(nil)).Elem()
 82485  	minAPIVersionForType["VMwareDvsLacpGroupConfig"] = "5.5"
 82486  }
 82487  
 82488  // This class defines the configuration of a Link Aggregation
 82489  // Control Protocol group.
 82490  type VMwareDvsLacpGroupSpec struct {
 82491  	DynamicData
 82492  
 82493  	// The Link Aggregation Control Protocol group to be configured.
 82494  	LacpGroupConfig VMwareDvsLacpGroupConfig `xml:"lacpGroupConfig" json:"lacpGroupConfig"`
 82495  	// Operation type, see
 82496  	// `ConfigSpecOperation_enum` for valid values.
 82497  	Operation string `xml:"operation" json:"operation"`
 82498  }
 82499  
 82500  func init() {
 82501  	t["VMwareDvsLacpGroupSpec"] = reflect.TypeOf((*VMwareDvsLacpGroupSpec)(nil)).Elem()
 82502  	minAPIVersionForType["VMwareDvsLacpGroupSpec"] = "5.5"
 82503  }
 82504  
 82505  // This class defines the ipfix configuration of the Link Aggregation
 82506  // Control Protocol group.
 82507  type VMwareDvsLagIpfixConfig struct {
 82508  	DynamicData
 82509  
 82510  	// True if ipfix monitoring is enabled in the Link Aggregation Control Protocol group.
 82511  	//
 82512  	// If set, this property will override the ipfix configuration of Uplink Ports
 82513  	// in the Link Aggregation Control Protocol group.
 82514  	// Thus they are no longer inheriting ipfix configuration from their Uplink Port Group.
 82515  	// Setting this property would require
 82516  	// `VMwareDVSPortgroupPolicy.ipfixOverrideAllowed`
 82517  	// of all the Uplink Port Groups to be true,
 82518  	// otherwise ConflictingConfiguration fault will be raised.
 82519  	IpfixEnabled *bool `xml:"ipfixEnabled" json:"ipfixEnabled,omitempty"`
 82520  }
 82521  
 82522  func init() {
 82523  	t["VMwareDvsLagIpfixConfig"] = reflect.TypeOf((*VMwareDvsLagIpfixConfig)(nil)).Elem()
 82524  	minAPIVersionForType["VMwareDvsLagIpfixConfig"] = "5.5"
 82525  }
 82526  
 82527  // This class defines the vlan configuration of the Link Aggregation
 82528  // Control Protocol group.
 82529  type VMwareDvsLagVlanConfig struct {
 82530  	DynamicData
 82531  
 82532  	// The VlanId range for the Uplink Ports in the Link Aggregation
 82533  	// Control Protocol group.
 82534  	//
 82535  	// The valid VlanId range is from 0 to 4094. Overlapping ranges are allowed.
 82536  	// If set, this property will override the VLAN configuration of Uplink Ports
 82537  	// in the Link Aggregation Control Protocol group.
 82538  	// Thus they are no longer inheriting VLAN configuration from their Uplink Port Group.
 82539  	// Setting this property would require
 82540  	// `VMwareDVSPortgroupPolicy.vlanOverrideAllowed`
 82541  	// of all the Uplink Port Groups to be true,
 82542  	// otherwise ConflictingConfiguration fault will be raised.
 82543  	VlanId []NumericRange `xml:"vlanId,omitempty" json:"vlanId,omitempty"`
 82544  }
 82545  
 82546  func init() {
 82547  	t["VMwareDvsLagVlanConfig"] = reflect.TypeOf((*VMwareDvsLagVlanConfig)(nil)).Elem()
 82548  	minAPIVersionForType["VMwareDvsLagVlanConfig"] = "5.5"
 82549  }
 82550  
 82551  // Indicators of support for version-specific supported MTU.
 82552  type VMwareDvsMtuCapability struct {
 82553  	DynamicData
 82554  
 82555  	// Minimum supported MTU on VDS.
 82556  	MinMtuSupported int32 `xml:"minMtuSupported" json:"minMtuSupported"`
 82557  	// Maximum supported MTU on VDS.
 82558  	MaxMtuSupported int32 `xml:"maxMtuSupported" json:"maxMtuSupported"`
 82559  }
 82560  
 82561  func init() {
 82562  	t["VMwareDvsMtuCapability"] = reflect.TypeOf((*VMwareDvsMtuCapability)(nil)).Elem()
 82563  	minAPIVersionForType["VMwareDvsMtuCapability"] = "7.0.2.0"
 82564  }
 82565  
 82566  // Configuration for IPFIX monitoring of distributed virtual switch traffic.
 82567  //
 82568  // IPFIX monitoring must be enabled to use this capability. See
 82569  // `VMwareDVSPortSetting*.*VMwareDVSPortSetting.ipfixEnabled`.
 82570  type VMwareIpfixConfig struct {
 82571  	DynamicData
 82572  
 82573  	// IP address for the ipfix collector, using IPv4 or IPv6.
 82574  	//
 82575  	// IPv6 is supported in vSphere Distributed Switch Version 6.0 or later.
 82576  	// This must be set before ipfix monitoring can be enabled for the
 82577  	// switch, or for any portgroup or port of the switch.
 82578  	CollectorIpAddress string `xml:"collectorIpAddress,omitempty" json:"collectorIpAddress,omitempty"`
 82579  	// Port for the ipfix collector.
 82580  	//
 82581  	// This must be set before ipfix monitoring
 82582  	// can be enabled for the switch, or for any portgroup or port of the
 82583  	// switch. Legal value range is 0-65535.
 82584  	CollectorPort int32 `xml:"collectorPort,omitempty" json:"collectorPort,omitempty"`
 82585  	// Observation Domain Id for the ipfix collector.
 82586  	//
 82587  	// Observation Domain Id is supported
 82588  	// in vSphere Distributed Switch Version 6.0 or later.
 82589  	// Legal value range is 0-((2^32)-1)
 82590  	ObservationDomainId int64 `xml:"observationDomainId,omitempty" json:"observationDomainId,omitempty" vim:"6.0"`
 82591  	// The number of seconds after which "active" flows are forced to be
 82592  	// exported to the collector.
 82593  	//
 82594  	// Legal value range is 60-3600. Default: 60.
 82595  	ActiveFlowTimeout int32 `xml:"activeFlowTimeout" json:"activeFlowTimeout"`
 82596  	// The number of seconds after which "idle" flows are forced to be
 82597  	// exported to the collector.
 82598  	//
 82599  	// Legal value range is 10-600. Default: 15.
 82600  	IdleFlowTimeout int32 `xml:"idleFlowTimeout" json:"idleFlowTimeout"`
 82601  	// The ratio of total number of packets to the number of packets
 82602  	// analyzed.
 82603  	//
 82604  	// Set to 0 to disable sampling. Legal value range is 0-16384.
 82605  	// Default: 4096.
 82606  	SamplingRate int32 `xml:"samplingRate" json:"samplingRate"`
 82607  	// Whether to limit analysis to traffic that has both source and
 82608  	// destination served by the same host.
 82609  	//
 82610  	// Default: false.
 82611  	InternalFlowsOnly bool `xml:"internalFlowsOnly" json:"internalFlowsOnly"`
 82612  }
 82613  
 82614  func init() {
 82615  	t["VMwareIpfixConfig"] = reflect.TypeOf((*VMwareIpfixConfig)(nil)).Elem()
 82616  	minAPIVersionForType["VMwareIpfixConfig"] = "5.0"
 82617  }
 82618  
 82619  // Deprecated as of vSphere API 5.5.
 82620  //
 82621  // This class defines VMware specific Link Aggregation Control Protocol
 82622  // policy.
 82623  type VMwareUplinkLacpPolicy struct {
 82624  	InheritablePolicy
 82625  
 82626  	// The flag to indicate whether or not
 82627  	// Link Aggregation Control Protocol is enabled.
 82628  	//
 82629  	// It can be set to true if the value of
 82630  	// `VMwareDVSConfigInfo.lacpApiVersion`
 82631  	// is `singleLag`,
 82632  	// else an exception ConflictingConfiguration will be thrown.
 82633  	Enable *BoolPolicy `xml:"enable,omitempty" json:"enable,omitempty"`
 82634  	// The mode of Link Aggregation Control Protocol.
 82635  	//
 82636  	// See `VMwareUplinkLacpMode_enum` for valid values.
 82637  	Mode *StringPolicy `xml:"mode,omitempty" json:"mode,omitempty"`
 82638  }
 82639  
 82640  func init() {
 82641  	t["VMwareUplinkLacpPolicy"] = reflect.TypeOf((*VMwareUplinkLacpPolicy)(nil)).Elem()
 82642  	minAPIVersionForType["VMwareUplinkLacpPolicy"] = "5.1"
 82643  }
 82644  
 82645  // This data object type describes uplink port ordering policy for a
 82646  // distributed virtual port.
 82647  //
 82648  // A uplink port can be in the active
 82649  // list, the standby list, or neither. It cannot be in both lists.
 82650  type VMwareUplinkPortOrderPolicy struct {
 82651  	InheritablePolicy
 82652  
 82653  	// List of active uplink ports used for load balancing.
 82654  	ActiveUplinkPort []string `xml:"activeUplinkPort,omitempty" json:"activeUplinkPort,omitempty"`
 82655  	// Standby uplink ports used for failover.
 82656  	StandbyUplinkPort []string `xml:"standbyUplinkPort,omitempty" json:"standbyUplinkPort,omitempty"`
 82657  }
 82658  
 82659  func init() {
 82660  	t["VMwareUplinkPortOrderPolicy"] = reflect.TypeOf((*VMwareUplinkPortOrderPolicy)(nil)).Elem()
 82661  	minAPIVersionForType["VMwareUplinkPortOrderPolicy"] = "4.0"
 82662  }
 82663  
 82664  // This class defines the ports, uplink ports name, vlans and IP addresses participating in a
 82665  // Distributed Port Mirroring session.
 82666  //
 82667  // See `VMwareVspanSession`.
 82668  type VMwareVspanPort struct {
 82669  	DynamicData
 82670  
 82671  	// Individual ports to participate in the Distributed Port Mirroring session.
 82672  	PortKey []string `xml:"portKey,omitempty" json:"portKey,omitempty"`
 82673  	// Uplink ports used as destination ports to participate in the Distributed Port Mirroring session.
 82674  	//
 82675  	// A fault will be raised if uplinkPortName is used as source ports
 82676  	// in any Distributed Port Mirroring session.
 82677  	UplinkPortName []string `xml:"uplinkPortName,omitempty" json:"uplinkPortName,omitempty"`
 82678  	// Wild card specification for source ports participating in the Distributed Port Mirroring session.
 82679  	//
 82680  	// See `DistributedVirtualSwitchPortConnecteeConnecteeType_enum` for valid values.
 82681  	// Any port that has a connectee of the specified type has its receive traffic
 82682  	// mirrored. A fault will be raised if wildcards are specified as destination
 82683  	// ports or source ports mirroring traffic on the transmit side.
 82684  	// It is to be not used.
 82685  	WildcardPortConnecteeType []string `xml:"wildcardPortConnecteeType,omitempty" json:"wildcardPortConnecteeType,omitempty"`
 82686  	// Vlan Ids for ingress source of Remote Mirror destination
 82687  	// session.
 82688  	Vlans []int32 `xml:"vlans,omitempty" json:"vlans,omitempty" vim:"5.1"`
 82689  	// IP address for the destination of encapsulated remote mirror source session,
 82690  	// IPv4 address is specified using dotted decimal notation.
 82691  	//
 82692  	// For example, "192.0.2.1".
 82693  	// IPv6 addresses are 128-bit addresses represented as eight fields
 82694  	// of up to four hexadecimal digits.
 82695  	// A colon separates each field (:). For example,
 82696  	// 2001:DB8:101::230:6eff:fe04:d9ff.
 82697  	IpAddress []string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty" vim:"5.1"`
 82698  }
 82699  
 82700  func init() {
 82701  	t["VMwareVspanPort"] = reflect.TypeOf((*VMwareVspanPort)(nil)).Elem()
 82702  	minAPIVersionForType["VMwareVspanPort"] = "5.0"
 82703  }
 82704  
 82705  // The `VMwareVspanSession` data object
 82706  // defines the configuration of a VLAN Services and Protocols for Advanced Networks
 82707  // (VSPAN) session.
 82708  //
 82709  // You use a VSPAN session for the following operations:
 82710  //   - To mirror network traffic (inbound/outbound) from a set of source
 82711  //     entities to a set of destination entities.
 82712  //   - To assist in troubleshooting.
 82713  //   - As input for security and other network analysis appliances.
 82714  //
 82715  // The type of entities that you can specify as source or destination is determined
 82716  // by the session type. You can use uplink distributed virtual ports only for
 82717  // mixed destination mirror VSPAN sessions (mixedDestMirror).
 82718  // For all sessions except mixedDestMirror sessions, you cannot
 82719  // use uplink distributed virtual ports as destination ports.
 82720  // sessionType is required for vSphere Distributed Switch 5.1 and later,
 82721  // ignored for prior version if set.
 82722  // <table>
 82723  // <thead>
 82724  // <tr>
 82725  // <th>Session Type</th>
 82726  // <th>Source</th>
 82727  // <th>Destination </th>
 82728  // </tr>
 82729  // </thead>
 82730  // <tbody>
 82731  // <tr>
 82732  // <td>mixedDestMirror</td>
 82733  // <td>Distributed Ports</td>
 82734  // <td>Distributed Ports + Uplink Ports Name</td>
 82735  // </tr>
 82736  // <tr>
 82737  // <td>dvPortMirror</td>
 82738  // <td>Distributed Ports</td>
 82739  // <td>Distributed Ports</td>
 82740  // </tr>
 82741  // <tr>
 82742  // <td>remoteMirrorSource</td>
 82743  // <td>Distributed Ports</td>
 82744  // <td>Uplink Ports Name</td>
 82745  // </tr>
 82746  // <tr>
 82747  // <td>remoteMirrorDest</td>
 82748  // <td>VLAN</td>
 82749  // <td>Distributed Ports</td>
 82750  // </tr>
 82751  // <tr>
 82752  // <td>encapRemoteMirrorSource</td>
 82753  // <td>Distributed Ports</td>
 82754  // <td>IP address</td>
 82755  // </tr>
 82756  // </tbody>
 82757  // </table>
 82758  type VMwareVspanSession struct {
 82759  	DynamicData
 82760  
 82761  	// The generated key as the identifier for the session.
 82762  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 82763  	// The display name.
 82764  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 82765  	// The description for the session.
 82766  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 82767  	// Whether the session is enabled.
 82768  	Enabled bool `xml:"enabled" json:"enabled"`
 82769  	// Source ports for which transmitted packets are mirrored.
 82770  	SourcePortTransmitted *VMwareVspanPort `xml:"sourcePortTransmitted,omitempty" json:"sourcePortTransmitted,omitempty"`
 82771  	// Source ports for which received packets are mirrored.
 82772  	SourcePortReceived *VMwareVspanPort `xml:"sourcePortReceived,omitempty" json:"sourcePortReceived,omitempty"`
 82773  	// Destination ports that received the mirrored packets.
 82774  	//
 82775  	// You cannot use wild card ports as destination ports. If `VMwareVspanPort.wildcardPortConnecteeType`
 82776  	// is set in the value, the reconfigure
 82777  	// operation will raise a fault. Also any port designated in the value of
 82778  	// this property can not match the wild card source port in any of the
 82779  	// Distributed Port Mirroring session.
 82780  	DestinationPort *VMwareVspanPort `xml:"destinationPort,omitempty" json:"destinationPort,omitempty"`
 82781  	// VLAN ID used to encapsulate the mirrored traffic.
 82782  	EncapsulationVlanId int32 `xml:"encapsulationVlanId,omitempty" json:"encapsulationVlanId,omitempty"`
 82783  	// Whether to strip the original VLAN tag.
 82784  	//
 82785  	// if false, the original VLAN tag
 82786  	// will be preserved on the mirrored traffic. If `VMwareVspanSession.encapsulationVlanId`
 82787  	// has been set and this property is false, the frames will be double tagged
 82788  	// with the original VLAN ID as the inner tag.
 82789  	StripOriginalVlan bool `xml:"stripOriginalVlan" json:"stripOriginalVlan"`
 82790  	// An integer that describes how much of each frame to mirror.
 82791  	//
 82792  	// If unset, all
 82793  	// of the frame would be mirrored. Setting this property to a smaller value
 82794  	// is useful when the consumer will look only at the headers.
 82795  	// The value cannot be less than 60.
 82796  	MirroredPacketLength int32 `xml:"mirroredPacketLength,omitempty" json:"mirroredPacketLength,omitempty"`
 82797  	// Whether or not destination ports can send and receive "normal" traffic.
 82798  	//
 82799  	// Setting this to false will make mirror ports be used solely for mirroring
 82800  	// and not double as normal access ports.
 82801  	NormalTrafficAllowed bool `xml:"normalTrafficAllowed" json:"normalTrafficAllowed"`
 82802  	// Type of the session.
 82803  	//
 82804  	// See
 82805  	// `VMwareDVSVspanSessionType_enum`
 82806  	// for valid values.
 82807  	// Default value is mixedDestMirror if unspecified in a VSPAN create operation.
 82808  	SessionType string `xml:"sessionType,omitempty" json:"sessionType,omitempty" vim:"5.1"`
 82809  	// Sampling rate of the session.
 82810  	//
 82811  	// If its value is n, one of every n
 82812  	// packets is mirrored.
 82813  	// Valid values are between 1 to 65535, and default value is 1.
 82814  	SamplingRate int32 `xml:"samplingRate,omitempty" json:"samplingRate,omitempty" vim:"5.1"`
 82815  	// Encapsulation type of the session.
 82816  	//
 82817  	// See
 82818  	// `VMwareDVSVspanSessionEncapType_enum`
 82819  	// for valid values.
 82820  	// Default value is encapProtocolGRE if unspecified in a
 82821  	// VSPAN create operation.
 82822  	EncapType string `xml:"encapType,omitempty" json:"encapType,omitempty" vim:"6.5"`
 82823  	// ERSPAN ID of the session.
 82824  	//
 82825  	// Valid values are between 0 to 0x3ff, and default value is 0.
 82826  	// This value is applicable only if encaptType is
 82827  	// `erspan2` or
 82828  	// `erspan3`
 82829  	ErspanId int32 `xml:"erspanId,omitempty" json:"erspanId,omitempty" vim:"6.5"`
 82830  	// Class of Service of the monitored frame.
 82831  	//
 82832  	// Valid values are between 0 to 7, and default value is 0.
 82833  	// This value is applicable only if encaptType is
 82834  	// `erspan2` or
 82835  	// `erspan3`
 82836  	ErspanCOS int32 `xml:"erspanCOS,omitempty" json:"erspanCOS,omitempty" vim:"6.5"`
 82837  	// Timestamp Granularity.
 82838  	//
 82839  	// If the value is false, timestamp-granularity will be microsecond.
 82840  	// Otherwise the timestamp-granularity will be nanosecond
 82841  	// This value is applicable only if encaptType is
 82842  	// `erspan3`
 82843  	ErspanGraNanosec *bool `xml:"erspanGraNanosec" json:"erspanGraNanosec,omitempty" vim:"6.5"`
 82844  	// Netstack instance of the session.
 82845  	Netstack string `xml:"netstack,omitempty" json:"netstack,omitempty" vim:"6.7"`
 82846  }
 82847  
 82848  func init() {
 82849  	t["VMwareVspanSession"] = reflect.TypeOf((*VMwareVspanSession)(nil)).Elem()
 82850  	minAPIVersionForType["VMwareVspanSession"] = "5.0"
 82851  }
 82852  
 82853  // This data object type describes a virtual storage object.
 82854  type VStorageObject struct {
 82855  	DynamicData
 82856  
 82857  	// Virtual storage object configuration
 82858  	Config VStorageObjectConfigInfo `xml:"config" json:"config"`
 82859  }
 82860  
 82861  func init() {
 82862  	t["VStorageObject"] = reflect.TypeOf((*VStorageObject)(nil)).Elem()
 82863  	minAPIVersionForType["VStorageObject"] = "6.5"
 82864  }
 82865  
 82866  // This data object is a key-value pair whose key is the virtual storage
 82867  // object id, and value is the vm association information.
 82868  type VStorageObjectAssociations struct {
 82869  	DynamicData
 82870  
 82871  	// ID of this virtual storage object.
 82872  	Id ID `xml:"id" json:"id"`
 82873  	// Array of vm associations related to the virtual storage object.
 82874  	VmDiskAssociations []VStorageObjectAssociationsVmDiskAssociations `xml:"vmDiskAssociations,omitempty" json:"vmDiskAssociations,omitempty"`
 82875  	// Received error while generating associations.
 82876  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 82877  }
 82878  
 82879  func init() {
 82880  	t["VStorageObjectAssociations"] = reflect.TypeOf((*VStorageObjectAssociations)(nil)).Elem()
 82881  	minAPIVersionForType["VStorageObjectAssociations"] = "6.7"
 82882  }
 82883  
 82884  // This data object contains infomation of a VM Disk associations.
 82885  type VStorageObjectAssociationsVmDiskAssociations struct {
 82886  	DynamicData
 82887  
 82888  	// ID of the virtual machine.
 82889  	VmId string `xml:"vmId" json:"vmId"`
 82890  	// Device key of the disk attached to the VM.
 82891  	DiskKey int32 `xml:"diskKey" json:"diskKey"`
 82892  }
 82893  
 82894  func init() {
 82895  	t["VStorageObjectAssociationsVmDiskAssociations"] = reflect.TypeOf((*VStorageObjectAssociationsVmDiskAssociations)(nil)).Elem()
 82896  	minAPIVersionForType["VStorageObjectAssociationsVmDiskAssociations"] = "6.7"
 82897  }
 82898  
 82899  // Data object specifies Virtual storage object configuration
 82900  type VStorageObjectConfigInfo struct {
 82901  	BaseConfigInfo
 82902  
 82903  	// The descriptor version of this object
 82904  	DescriptorVersion int32 `xml:"descriptorVersion,omitempty" json:"descriptorVersion,omitempty" vim:"8.0.1.0"`
 82905  	// The size in MB of this object.
 82906  	CapacityInMB int64 `xml:"capacityInMB" json:"capacityInMB"`
 82907  	// Consumption type of this object.
 82908  	//
 82909  	// See also `VStorageObjectConsumptionType_enum`.
 82910  	ConsumptionType []string `xml:"consumptionType,omitempty" json:"consumptionType,omitempty"`
 82911  	// IDs of the consumer objects which consume this vstorage object.
 82912  	//
 82913  	// For a virtual disk, this can be VM ID(s).
 82914  	ConsumerId []ID `xml:"consumerId,omitempty" json:"consumerId,omitempty"`
 82915  }
 82916  
 82917  func init() {
 82918  	t["VStorageObjectConfigInfo"] = reflect.TypeOf((*VStorageObjectConfigInfo)(nil)).Elem()
 82919  	minAPIVersionForType["VStorageObjectConfigInfo"] = "6.5"
 82920  }
 82921  
 82922  // The parameters of `VStorageObjectManagerBase.VStorageObjectCreateSnapshotEx_Task`.
 82923  type VStorageObjectCreateSnapshotExRequestType struct {
 82924  	This ManagedObjectReference `xml:"_this" json:"-"`
 82925  	// The ID of the virtual storage object.
 82926  	Id ID `xml:"id" json:"id"`
 82927  	// The datastore where the source virtual storage object
 82928  	// is located.
 82929  	//
 82930  	// Refers instance of `Datastore`.
 82931  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 82932  	// A short description to be associated with the snapshot.
 82933  	Description string `xml:"description" json:"description"`
 82934  }
 82935  
 82936  func init() {
 82937  	t["VStorageObjectCreateSnapshotExRequestType"] = reflect.TypeOf((*VStorageObjectCreateSnapshotExRequestType)(nil)).Elem()
 82938  }
 82939  
 82940  type VStorageObjectCreateSnapshotEx_Task VStorageObjectCreateSnapshotExRequestType
 82941  
 82942  func init() {
 82943  	t["VStorageObjectCreateSnapshotEx_Task"] = reflect.TypeOf((*VStorageObjectCreateSnapshotEx_Task)(nil)).Elem()
 82944  }
 82945  
 82946  type VStorageObjectCreateSnapshotEx_TaskResponse struct {
 82947  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 82948  }
 82949  
 82950  // The parameters of `VcenterVStorageObjectManager.VStorageObjectCreateSnapshot_Task`.
 82951  type VStorageObjectCreateSnapshotRequestType struct {
 82952  	This ManagedObjectReference `xml:"_this" json:"-"`
 82953  	// The ID of the virtual storage object.
 82954  	Id ID `xml:"id" json:"id"`
 82955  	// The datastore where the source virtual storage object
 82956  	// is located.
 82957  	//
 82958  	// Refers instance of `Datastore`.
 82959  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 82960  	// A short description to be associated with the snapshot.
 82961  	Description string `xml:"description" json:"description"`
 82962  }
 82963  
 82964  func init() {
 82965  	t["VStorageObjectCreateSnapshotRequestType"] = reflect.TypeOf((*VStorageObjectCreateSnapshotRequestType)(nil)).Elem()
 82966  }
 82967  
 82968  type VStorageObjectCreateSnapshot_Task VStorageObjectCreateSnapshotRequestType
 82969  
 82970  func init() {
 82971  	t["VStorageObjectCreateSnapshot_Task"] = reflect.TypeOf((*VStorageObjectCreateSnapshot_Task)(nil)).Elem()
 82972  }
 82973  
 82974  type VStorageObjectCreateSnapshot_TaskResponse struct {
 82975  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 82976  }
 82977  
 82978  // The parameters of `VStorageObjectManagerBase.VStorageObjectDeleteSnapshotEx_Task`.
 82979  type VStorageObjectDeleteSnapshotExRequestType struct {
 82980  	This ManagedObjectReference `xml:"_this" json:"-"`
 82981  	// The ID of the virtual storage object.
 82982  	Id ID `xml:"id" json:"id"`
 82983  	// The datastore where the source virtual storage object
 82984  	// is located.
 82985  	//
 82986  	// Refers instance of `Datastore`.
 82987  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 82988  	// The ID of the snapshot of a virtual storage object.
 82989  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 82990  }
 82991  
 82992  func init() {
 82993  	t["VStorageObjectDeleteSnapshotExRequestType"] = reflect.TypeOf((*VStorageObjectDeleteSnapshotExRequestType)(nil)).Elem()
 82994  }
 82995  
 82996  type VStorageObjectDeleteSnapshotEx_Task VStorageObjectDeleteSnapshotExRequestType
 82997  
 82998  func init() {
 82999  	t["VStorageObjectDeleteSnapshotEx_Task"] = reflect.TypeOf((*VStorageObjectDeleteSnapshotEx_Task)(nil)).Elem()
 83000  }
 83001  
 83002  type VStorageObjectDeleteSnapshotEx_TaskResponse struct {
 83003  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 83004  }
 83005  
 83006  // The parameters of `VStorageObjectManagerBase.VStorageObjectExtendDiskEx_Task`.
 83007  type VStorageObjectExtendDiskExRequestType struct {
 83008  	This ManagedObjectReference `xml:"_this" json:"-"`
 83009  	// The ID of the virtual disk to be extended.
 83010  	Id ID `xml:"id" json:"id"`
 83011  	// The datastore where the virtual disk is located.
 83012  	//
 83013  	// Refers instance of `Datastore`.
 83014  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 83015  	// The new capacity of the virtual disk in MB.
 83016  	NewCapacityInMB int64 `xml:"newCapacityInMB" json:"newCapacityInMB"`
 83017  }
 83018  
 83019  func init() {
 83020  	t["VStorageObjectExtendDiskExRequestType"] = reflect.TypeOf((*VStorageObjectExtendDiskExRequestType)(nil)).Elem()
 83021  }
 83022  
 83023  type VStorageObjectExtendDiskEx_Task VStorageObjectExtendDiskExRequestType
 83024  
 83025  func init() {
 83026  	t["VStorageObjectExtendDiskEx_Task"] = reflect.TypeOf((*VStorageObjectExtendDiskEx_Task)(nil)).Elem()
 83027  }
 83028  
 83029  type VStorageObjectExtendDiskEx_TaskResponse struct {
 83030  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 83031  }
 83032  
 83033  // This data object type contains ID and VClock details of a virtual disk snapshot.
 83034  type VStorageObjectSnapshot struct {
 83035  	DynamicData
 83036  
 83037  	// ID of this snapshot object.
 83038  	Id ID `xml:"id" json:"id"`
 83039  	// VClock associated with the FCD when the operation completes.
 83040  	Vclock VslmVClockInfo `xml:"vclock" json:"vclock"`
 83041  }
 83042  
 83043  func init() {
 83044  	t["VStorageObjectSnapshot"] = reflect.TypeOf((*VStorageObjectSnapshot)(nil)).Elem()
 83045  	minAPIVersionForType["VStorageObjectSnapshot"] = "8.0.2.0"
 83046  }
 83047  
 83048  // This data object type provides details of a vstorage object snapshot
 83049  type VStorageObjectSnapshotDetails struct {
 83050  	DynamicData
 83051  
 83052  	// Path of the snaphost object
 83053  	Path string `xml:"path,omitempty" json:"path,omitempty"`
 83054  	// Changed block tracking ID of the snapshot
 83055  	ChangedBlockTrackingId string `xml:"changedBlockTrackingId,omitempty" json:"changedBlockTrackingId,omitempty"`
 83056  }
 83057  
 83058  func init() {
 83059  	t["VStorageObjectSnapshotDetails"] = reflect.TypeOf((*VStorageObjectSnapshotDetails)(nil)).Elem()
 83060  	minAPIVersionForType["VStorageObjectSnapshotDetails"] = "6.7"
 83061  }
 83062  
 83063  // This data object type contains the brief information of a
 83064  // virtual storage snapshot.
 83065  type VStorageObjectSnapshotInfo struct {
 83066  	DynamicData
 83067  
 83068  	// An array of snapshots
 83069  	Snapshots []VStorageObjectSnapshotInfoVStorageObjectSnapshot `xml:"snapshots,omitempty" json:"snapshots,omitempty"`
 83070  }
 83071  
 83072  func init() {
 83073  	t["VStorageObjectSnapshotInfo"] = reflect.TypeOf((*VStorageObjectSnapshotInfo)(nil)).Elem()
 83074  	minAPIVersionForType["VStorageObjectSnapshotInfo"] = "6.7"
 83075  }
 83076  
 83077  type VStorageObjectSnapshotInfoVStorageObjectSnapshot struct {
 83078  	DynamicData
 83079  
 83080  	// ID of the snapshot object.
 83081  	Id *ID `xml:"id,omitempty" json:"id,omitempty"`
 83082  	// Backing object ID
 83083  	BackingObjectId string `xml:"backingObjectId,omitempty" json:"backingObjectId,omitempty"`
 83084  	// The date and time this object was created.
 83085  	CreateTime time.Time `xml:"createTime" json:"createTime"`
 83086  	// Short description of the snapshot
 83087  	Description string `xml:"description" json:"description"`
 83088  }
 83089  
 83090  func init() {
 83091  	t["VStorageObjectSnapshotInfoVStorageObjectSnapshot"] = reflect.TypeOf((*VStorageObjectSnapshotInfoVStorageObjectSnapshot)(nil)).Elem()
 83092  }
 83093  
 83094  // Contains information of a virtual storage object state.
 83095  //
 83096  // NOTE: The information obtained with this object is dynamic and it could
 83097  // change during the lifetime of the object. For performance purposes some
 83098  // of the data may not reflect the immediate state of the object, also there
 83099  // is not guarantee that it will be provided.
 83100  type VStorageObjectStateInfo struct {
 83101  	DynamicData
 83102  
 83103  	// If set this flag indicates that the object currently is part of
 83104  	// provisioning operation or the last operation has not finished gracefully.
 83105  	//
 83106  	// There are maintenance procedures that are working on resolving that
 83107  	// tentative state. Note that this might result in the object to be removed.
 83108  	Tentative *bool `xml:"tentative" json:"tentative,omitempty"`
 83109  }
 83110  
 83111  func init() {
 83112  	t["VStorageObjectStateInfo"] = reflect.TypeOf((*VStorageObjectStateInfo)(nil)).Elem()
 83113  	minAPIVersionForType["VStorageObjectStateInfo"] = "6.5"
 83114  }
 83115  
 83116  type VVolHostPE struct {
 83117  	DynamicData
 83118  
 83119  	// The host associated with this volume.
 83120  	//
 83121  	// Refers instance of `HostSystem`.
 83122  	Key ManagedObjectReference `xml:"key" json:"key"`
 83123  	// Host-specific information about the ProtocolEndpoint.
 83124  	ProtocolEndpoint []HostProtocolEndpoint `xml:"protocolEndpoint" json:"protocolEndpoint"`
 83125  }
 83126  
 83127  func init() {
 83128  	t["VVolHostPE"] = reflect.TypeOf((*VVolHostPE)(nil)).Elem()
 83129  }
 83130  
 83131  // VVolVmConfigFileUpdateResult is the result returned
 83132  // by the `Datastore.UpdateVVolVirtualMachineFiles_Task` method.
 83133  type VVolVmConfigFileUpdateResult struct {
 83134  	DynamicData
 83135  
 83136  	// Mapping of target config VVol IDs to the target virtual machine
 83137  	// config file paths which are successfully updated.
 83138  	SucceededVmConfigFile []KeyValue `xml:"succeededVmConfigFile,omitempty" json:"succeededVmConfigFile,omitempty"`
 83139  	// The list of virtual machines config files the server has attempted,
 83140  	// but failed to update.
 83141  	FailedVmConfigFile []VVolVmConfigFileUpdateResultFailedVmConfigFileInfo `xml:"failedVmConfigFile,omitempty" json:"failedVmConfigFile,omitempty"`
 83142  }
 83143  
 83144  func init() {
 83145  	t["VVolVmConfigFileUpdateResult"] = reflect.TypeOf((*VVolVmConfigFileUpdateResult)(nil)).Elem()
 83146  	minAPIVersionForType["VVolVmConfigFileUpdateResult"] = "6.5"
 83147  }
 83148  
 83149  // Information of the failed update on the virtual machine config
 83150  // file.
 83151  type VVolVmConfigFileUpdateResultFailedVmConfigFileInfo struct {
 83152  	DynamicData
 83153  
 83154  	// The target virtual machine config VVol ID
 83155  	TargetConfigVVolId string `xml:"targetConfigVVolId" json:"targetConfigVVolId"`
 83156  	// Datastore path for the virtual machine that failed to recover
 83157  	DsPath string `xml:"dsPath,omitempty" json:"dsPath,omitempty" vim:"7.0"`
 83158  	// The reason why the update failed.
 83159  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 83160  }
 83161  
 83162  func init() {
 83163  	t["VVolVmConfigFileUpdateResultFailedVmConfigFileInfo"] = reflect.TypeOf((*VVolVmConfigFileUpdateResultFailedVmConfigFileInfo)(nil)).Elem()
 83164  	minAPIVersionForType["VVolVmConfigFileUpdateResultFailedVmConfigFileInfo"] = "6.5"
 83165  }
 83166  
 83167  type ValidateCredentialsInGuest ValidateCredentialsInGuestRequestType
 83168  
 83169  func init() {
 83170  	t["ValidateCredentialsInGuest"] = reflect.TypeOf((*ValidateCredentialsInGuest)(nil)).Elem()
 83171  }
 83172  
 83173  // The parameters of `GuestAuthManager.ValidateCredentialsInGuest`.
 83174  type ValidateCredentialsInGuestRequestType struct {
 83175  	This ManagedObjectReference `xml:"_this" json:"-"`
 83176  	// MoRef of the VM to perform the operation on.
 83177  	//
 83178  	// Required privileges: VirtualMachine.GuestOperations.Query
 83179  	//
 83180  	// Refers instance of `VirtualMachine`.
 83181  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 83182  	// The guest authentication data. See
 83183  	// `GuestAuthentication`.
 83184  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 83185  }
 83186  
 83187  func init() {
 83188  	t["ValidateCredentialsInGuestRequestType"] = reflect.TypeOf((*ValidateCredentialsInGuestRequestType)(nil)).Elem()
 83189  }
 83190  
 83191  type ValidateCredentialsInGuestResponse struct {
 83192  }
 83193  
 83194  type ValidateHCIConfiguration ValidateHCIConfigurationRequestType
 83195  
 83196  func init() {
 83197  	t["ValidateHCIConfiguration"] = reflect.TypeOf((*ValidateHCIConfiguration)(nil)).Elem()
 83198  }
 83199  
 83200  // The parameters of `ClusterComputeResource.ValidateHCIConfiguration`.
 83201  type ValidateHCIConfigurationRequestType struct {
 83202  	This ManagedObjectReference `xml:"_this" json:"-"`
 83203  	// The `ClusterComputeResourceHCIConfigSpec`
 83204  	// to be used for validating the hosts. If not specified, the
 83205  	// existing `ClusterComputeResourceHCIConfigInfo` of the
 83206  	// cluster will be used.
 83207  	// Note:- This param must be omitted for post-configure validation.
 83208  	HciConfigSpec *ClusterComputeResourceHCIConfigSpec `xml:"hciConfigSpec,omitempty" json:"hciConfigSpec,omitempty"`
 83209  	// The set of hosts to be validated. If not specified, the set
 83210  	// of existing hosts in the cluster will be used.
 83211  	// Note:- This param must be omitted for post-configure validation.
 83212  	//
 83213  	// Refers instances of `HostSystem`.
 83214  	Hosts []ManagedObjectReference `xml:"hosts,omitempty" json:"hosts,omitempty"`
 83215  }
 83216  
 83217  func init() {
 83218  	t["ValidateHCIConfigurationRequestType"] = reflect.TypeOf((*ValidateHCIConfigurationRequestType)(nil)).Elem()
 83219  }
 83220  
 83221  type ValidateHCIConfigurationResponse struct {
 83222  	Returnval []BaseClusterComputeResourceValidationResultBase `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 83223  }
 83224  
 83225  type ValidateHost ValidateHostRequestType
 83226  
 83227  func init() {
 83228  	t["ValidateHost"] = reflect.TypeOf((*ValidateHost)(nil)).Elem()
 83229  }
 83230  
 83231  // The parameters of `HostProfileManager.ValidateHostProfileComposition_Task`.
 83232  type ValidateHostProfileCompositionRequestType struct {
 83233  	This ManagedObjectReference `xml:"_this" json:"-"`
 83234  	// The source host profile of the configurations for
 83235  	// composition.
 83236  	//
 83237  	// Refers instance of `Profile`.
 83238  	Source ManagedObjectReference `xml:"source" json:"source"`
 83239  	// The array of target host profiles that the configurations
 83240  	// composite into.
 83241  	//
 83242  	// Refers instances of `Profile`.
 83243  	Targets []ManagedObjectReference `xml:"targets,omitempty" json:"targets,omitempty"`
 83244  	// A `HostApplyProfile` object
 83245  	// contains the sub profiles that will be merged from the source to
 83246  	// the target host profiles, and all the ancestors of these sub
 83247  	// profiles. For singleton sub profile, it will be added into a
 83248  	// target host profile if it doesn't exist in the target; otherwise,
 83249  	// it replaces the one in the target.
 83250  	// The member variable
 83251  	// `ApplyProfile.toBeMerged` of these sub profiles
 83252  	// should have a value of <code>true</code>. The member variables
 83253  	// `ApplyProfile.toBeMerged`
 83254  	// `ApplyProfile.toReplaceWith`,
 83255  	// `ApplyProfile.toBeDeleted`
 83256  	// of the ancestors should have a value of <code>false</code>.
 83257  	ToBeMerged *HostApplyProfile `xml:"toBeMerged,omitempty" json:"toBeMerged,omitempty"`
 83258  	// A `HostApplyProfile` object
 83259  	// contains the sub profiles that will be used to replace the array
 83260  	// in the target host profiles, and all the ancestors of these sub
 83261  	// profiles.
 83262  	// Similar to above except that the member variable
 83263  	// `ApplyProfile.toReplaceWith`
 83264  	// is turned on.
 83265  	ToReplaceWith *HostApplyProfile `xml:"toReplaceWith,omitempty" json:"toReplaceWith,omitempty"`
 83266  	// A `HostApplyProfile` object
 83267  	// contains the sub profiles that will be deleted from the source
 83268  	// `*and*` the target host profiles, and all the ancestors of
 83269  	// these sub profiles.
 83270  	// Similar to above except that the member variable
 83271  	// `ApplyProfile.toBeDeleted`
 83272  	// is turned on.
 83273  	ToBeDeleted *HostApplyProfile `xml:"toBeDeleted,omitempty" json:"toBeDeleted,omitempty"`
 83274  	// A `HostApplyProfile`
 83275  	// object contains the sub profiles that the member variable
 83276  	// `ApplyProfile.enabled` will be copied from the
 83277  	// source host profile to all the target host profiles, and all the
 83278  	// ancestors of these sub profiles.
 83279  	// The member variable
 83280  	// `ApplyProfile.copyEnableStatus`
 83281  	// of these sub profiles is turned on. The member variable
 83282  	// `ApplyProfile.copyEnableStatus` of the
 83283  	// `ApplyProfile.copyEnableStatus` of the
 83284  	// ancestors should have a value of <code>false</code>.
 83285  	EnableStatusToBeCopied *HostApplyProfile `xml:"enableStatusToBeCopied,omitempty" json:"enableStatusToBeCopied,omitempty"`
 83286  	// Indicates that the validation result for each target
 83287  	// don't contain the source-target difference.
 83288  	ErrorOnly *bool `xml:"errorOnly" json:"errorOnly,omitempty"`
 83289  }
 83290  
 83291  func init() {
 83292  	t["ValidateHostProfileCompositionRequestType"] = reflect.TypeOf((*ValidateHostProfileCompositionRequestType)(nil)).Elem()
 83293  }
 83294  
 83295  type ValidateHostProfileComposition_Task ValidateHostProfileCompositionRequestType
 83296  
 83297  func init() {
 83298  	t["ValidateHostProfileComposition_Task"] = reflect.TypeOf((*ValidateHostProfileComposition_Task)(nil)).Elem()
 83299  }
 83300  
 83301  type ValidateHostProfileComposition_TaskResponse struct {
 83302  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 83303  }
 83304  
 83305  // The parameters of `OvfManager.ValidateHost`.
 83306  type ValidateHostRequestType struct {
 83307  	This ManagedObjectReference `xml:"_this" json:"-"`
 83308  	// The OVF descriptor to examine.
 83309  	OvfDescriptor string `xml:"ovfDescriptor" json:"ovfDescriptor"`
 83310  	// The host to validate against.
 83311  	//
 83312  	// Refers instance of `HostSystem`.
 83313  	Host ManagedObjectReference `xml:"host" json:"host"`
 83314  	// Additional parameters for validateHost, wrapped in a ValidateHostParams
 83315  	// instance.
 83316  	Vhp OvfValidateHostParams `xml:"vhp" json:"vhp"`
 83317  }
 83318  
 83319  func init() {
 83320  	t["ValidateHostRequestType"] = reflect.TypeOf((*ValidateHostRequestType)(nil)).Elem()
 83321  }
 83322  
 83323  type ValidateHostResponse struct {
 83324  	Returnval OvfValidateHostResult `xml:"returnval" json:"returnval"`
 83325  }
 83326  
 83327  type ValidateMigration ValidateMigrationRequestType
 83328  
 83329  func init() {
 83330  	t["ValidateMigration"] = reflect.TypeOf((*ValidateMigration)(nil)).Elem()
 83331  }
 83332  
 83333  // The parameters of `ServiceInstance.ValidateMigration`.
 83334  type ValidateMigrationRequestType struct {
 83335  	This ManagedObjectReference `xml:"_this" json:"-"`
 83336  	// The set of virtual machines intended for migration.
 83337  	//
 83338  	// Refers instances of `VirtualMachine`.
 83339  	Vm []ManagedObjectReference `xml:"vm" json:"vm"`
 83340  	// The power state that the virtual machines must have. If
 83341  	// this argument is not set, each virtual machine is evaluated
 83342  	// according to its current power state.
 83343  	State VirtualMachinePowerState `xml:"state,omitempty" json:"state,omitempty"`
 83344  	// The set of tests to run. If this argument is not set, all
 83345  	// tests will be run.
 83346  	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
 83347  	// The target resource pool for the virtual machines. If the
 83348  	// pool parameter is left unset, the target pool for each particular
 83349  	// virtual machine's migration will be that virtual machine's current
 83350  	// pool. If the virtual machine is a template then either this
 83351  	// parameter or the host parameter must be set; additionally if
 83352  	// resource tests are requested then this parameter is required.
 83353  	//
 83354  	// Refers instance of `ResourcePool`.
 83355  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
 83356  	// The target host on which the virtual machines will run. The host
 83357  	// parameter may be left unset if the compute resource associated with
 83358  	// the target pool represents a stand-alone host or a DRS-enabled
 83359  	// cluster. In the former case the stand-alone host is used as the
 83360  	// target host. In the latter case, each connected host in the cluster
 83361  	// that is not in maintenance mode is tested as a target host.
 83362  	// If the virtual machine is a template then either this
 83363  	// parameter or the pool parameter must be set.
 83364  	//
 83365  	// Refers instance of `HostSystem`.
 83366  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 83367  }
 83368  
 83369  func init() {
 83370  	t["ValidateMigrationRequestType"] = reflect.TypeOf((*ValidateMigrationRequestType)(nil)).Elem()
 83371  }
 83372  
 83373  type ValidateMigrationResponse struct {
 83374  	Returnval []BaseEvent `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 83375  }
 83376  
 83377  type ValidateStoragePodConfig ValidateStoragePodConfigRequestType
 83378  
 83379  func init() {
 83380  	t["ValidateStoragePodConfig"] = reflect.TypeOf((*ValidateStoragePodConfig)(nil)).Elem()
 83381  }
 83382  
 83383  // The parameters of `StorageResourceManager.ValidateStoragePodConfig`.
 83384  type ValidateStoragePodConfigRequestType struct {
 83385  	This ManagedObjectReference `xml:"_this" json:"-"`
 83386  	// The storage pod.
 83387  	//
 83388  	// Refers instance of `StoragePod`.
 83389  	Pod ManagedObjectReference `xml:"pod" json:"pod"`
 83390  	// A set of storage Drs configuration changes to apply to
 83391  	// the storage pod.
 83392  	Spec StorageDrsConfigSpec `xml:"spec" json:"spec"`
 83393  }
 83394  
 83395  func init() {
 83396  	t["ValidateStoragePodConfigRequestType"] = reflect.TypeOf((*ValidateStoragePodConfigRequestType)(nil)).Elem()
 83397  }
 83398  
 83399  type ValidateStoragePodConfigResponse struct {
 83400  	Returnval *LocalizedMethodFault `xml:"returnval,omitempty" json:"returnval,omitempty"`
 83401  }
 83402  
 83403  // Represents a VASA provider and its related datastores.
 83404  type VasaProviderContainerSpec struct {
 83405  	DynamicData
 83406  
 83407  	// VASA Providers that manage this volume
 83408  	VasaProviderInfo []VimVasaProviderInfo `xml:"vasaProviderInfo,omitempty" json:"vasaProviderInfo,omitempty"`
 83409  	// Vendor specified Storage Container ID
 83410  	ScId string `xml:"scId" json:"scId"`
 83411  	// Indicates whether the container got deleted
 83412  	Deleted bool `xml:"deleted" json:"deleted"`
 83413  }
 83414  
 83415  func init() {
 83416  	t["VasaProviderContainerSpec"] = reflect.TypeOf((*VasaProviderContainerSpec)(nil)).Elem()
 83417  	minAPIVersionForType["VasaProviderContainerSpec"] = "6.0"
 83418  }
 83419  
 83420  // This event records when the VirtualCenter agent on a host failed to uninstall.
 83421  type VcAgentUninstallFailedEvent struct {
 83422  	HostEvent
 83423  
 83424  	// The reason why the uninstall failed, if known.
 83425  	//
 83426  	// See `AgentInstallFailedReason_enum`
 83427  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 83428  }
 83429  
 83430  func init() {
 83431  	t["VcAgentUninstallFailedEvent"] = reflect.TypeOf((*VcAgentUninstallFailedEvent)(nil)).Elem()
 83432  	minAPIVersionForType["VcAgentUninstallFailedEvent"] = "4.0"
 83433  }
 83434  
 83435  // This event records when the VirtualCenter agent on a host is uninstalled.
 83436  type VcAgentUninstalledEvent struct {
 83437  	HostEvent
 83438  }
 83439  
 83440  func init() {
 83441  	t["VcAgentUninstalledEvent"] = reflect.TypeOf((*VcAgentUninstalledEvent)(nil)).Elem()
 83442  	minAPIVersionForType["VcAgentUninstalledEvent"] = "4.0"
 83443  }
 83444  
 83445  // This event records when the VirtualCenter agent on a host failed to upgrade.
 83446  type VcAgentUpgradeFailedEvent struct {
 83447  	HostEvent
 83448  
 83449  	// The reason why the upgrade failed, if known.
 83450  	//
 83451  	// See `AgentInstallFailedReason_enum`
 83452  	Reason string `xml:"reason,omitempty" json:"reason,omitempty" vim:"4.0"`
 83453  }
 83454  
 83455  func init() {
 83456  	t["VcAgentUpgradeFailedEvent"] = reflect.TypeOf((*VcAgentUpgradeFailedEvent)(nil)).Elem()
 83457  }
 83458  
 83459  // This event records when the VirtualCenter agent on a host upgraded.
 83460  type VcAgentUpgradedEvent struct {
 83461  	HostEvent
 83462  }
 83463  
 83464  func init() {
 83465  	t["VcAgentUpgradedEvent"] = reflect.TypeOf((*VcAgentUpgradedEvent)(nil)).Elem()
 83466  }
 83467  
 83468  // The VchaClusterConfigInfo class contains
 83469  // configuration information of the three nodes of a VCHA
 83470  // Cluster.
 83471  type VchaClusterConfigInfo struct {
 83472  	DynamicData
 83473  
 83474  	// Node configuration information for the VCHA Cluster
 83475  	FailoverNodeInfo1 *FailoverNodeInfo `xml:"failoverNodeInfo1,omitempty" json:"failoverNodeInfo1,omitempty"`
 83476  	// Node configuration information for the VCHA Cluster
 83477  	FailoverNodeInfo2 *FailoverNodeInfo `xml:"failoverNodeInfo2,omitempty" json:"failoverNodeInfo2,omitempty"`
 83478  	// Node configuration information for the VCHA Cluster
 83479  	WitnessNodeInfo *WitnessNodeInfo `xml:"witnessNodeInfo,omitempty" json:"witnessNodeInfo,omitempty"`
 83480  	// Current state of VCHA Cluster.
 83481  	//
 83482  	// `VchaState_enum` lists all
 83483  	// possible states.
 83484  	// If the state is invalid or notConfigured, the other fields in this
 83485  	// object will be unset.
 83486  	State string `xml:"state" json:"state"`
 83487  }
 83488  
 83489  func init() {
 83490  	t["VchaClusterConfigInfo"] = reflect.TypeOf((*VchaClusterConfigInfo)(nil)).Elem()
 83491  	minAPIVersionForType["VchaClusterConfigInfo"] = "6.5"
 83492  }
 83493  
 83494  // The VchaClusterConfigSpec class contains IP addresses of
 83495  // Passive and Witness nodes to configure and form the VCHA Cluster.
 83496  //
 83497  // Passive and Witness nodes are assumed to be pre-configured
 83498  // to allow access to them over the specified IP addresses.
 83499  // Active Node IP address is not required as it is retrieved from
 83500  // the already configured interface on VCHA Cluster network.
 83501  type VchaClusterConfigSpec struct {
 83502  	DynamicData
 83503  
 83504  	// IP Address of Passive node in the VCHA Cluster network.
 83505  	PassiveIp string `xml:"passiveIp" json:"passiveIp"`
 83506  	// IP Address of Witness node in the VCHA Cluster network.
 83507  	WitnessIp string `xml:"witnessIp" json:"witnessIp"`
 83508  }
 83509  
 83510  func init() {
 83511  	t["VchaClusterConfigSpec"] = reflect.TypeOf((*VchaClusterConfigSpec)(nil)).Elem()
 83512  	minAPIVersionForType["VchaClusterConfigSpec"] = "6.5"
 83513  }
 83514  
 83515  // The VchaClusterDeploymentSpec class contains
 83516  // deployment information for creating and configuring a VCHA Cluster.
 83517  type VchaClusterDeploymentSpec struct {
 83518  	DynamicData
 83519  
 83520  	// Deployment spec for the Passive node
 83521  	PassiveDeploymentSpec PassiveNodeDeploymentSpec `xml:"passiveDeploymentSpec" json:"passiveDeploymentSpec"`
 83522  	// Deployment spec for the Witness node
 83523  	WitnessDeploymentSpec BaseNodeDeploymentSpec `xml:"witnessDeploymentSpec,typeattr" json:"witnessDeploymentSpec"`
 83524  	// Active vCenter Server specification required to deploy
 83525  	// VCHA Cluster.
 83526  	ActiveVcSpec SourceNodeSpec `xml:"activeVcSpec" json:"activeVcSpec"`
 83527  	// The Cluster network config spec allows creation and configuration of
 83528  	// the second Network adapter of the Active or Source VCenter.
 83529  	//
 83530  	// The second network adapter is used for communication between
 83531  	// the nodes of a VCHA cluster.
 83532  	ActiveVcNetworkConfig *ClusterNetworkConfigSpec `xml:"activeVcNetworkConfig,omitempty" json:"activeVcNetworkConfig,omitempty"`
 83533  }
 83534  
 83535  func init() {
 83536  	t["VchaClusterDeploymentSpec"] = reflect.TypeOf((*VchaClusterDeploymentSpec)(nil)).Elem()
 83537  	minAPIVersionForType["VchaClusterDeploymentSpec"] = "6.5"
 83538  }
 83539  
 83540  // The VchaClusterHealth class describes the overall
 83541  // VCHA Cluster health.
 83542  //
 83543  // Health information include the last known runtime
 83544  // information about the VCHA Cluster along with health messages and any
 83545  // additional information applicable to the current VCHA Cluster health.
 83546  // If the cluster state is healthy, there will not be any health messages
 83547  // or additional information provided.
 83548  type VchaClusterHealth struct {
 83549  	DynamicData
 83550  
 83551  	// Runtime information of the VCHA Cluster
 83552  	RuntimeInfo VchaClusterRuntimeInfo `xml:"runtimeInfo" json:"runtimeInfo"`
 83553  	// A collection of Messages describing the reason for a non-healthy
 83554  	// Cluster.
 83555  	HealthMessages []LocalizableMessage `xml:"healthMessages,omitempty" json:"healthMessages,omitempty"`
 83556  	// A collection of additional information regarding the health messages.
 83557  	AdditionalInformation []LocalizableMessage `xml:"additionalInformation,omitempty" json:"additionalInformation,omitempty"`
 83558  }
 83559  
 83560  func init() {
 83561  	t["VchaClusterHealth"] = reflect.TypeOf((*VchaClusterHealth)(nil)).Elem()
 83562  	minAPIVersionForType["VchaClusterHealth"] = "6.5"
 83563  }
 83564  
 83565  // The VchaClusterNetworkSpec class contains network
 83566  // configuration information for a VCHA Cluster.
 83567  type VchaClusterNetworkSpec struct {
 83568  	DynamicData
 83569  
 83570  	// Network spec for the Witness node.
 83571  	WitnessNetworkSpec BaseNodeNetworkSpec `xml:"witnessNetworkSpec,typeattr" json:"witnessNetworkSpec"`
 83572  	// Network spec for the Passive node.
 83573  	PassiveNetworkSpec PassiveNodeNetworkSpec `xml:"passiveNetworkSpec" json:"passiveNetworkSpec"`
 83574  }
 83575  
 83576  func init() {
 83577  	t["VchaClusterNetworkSpec"] = reflect.TypeOf((*VchaClusterNetworkSpec)(nil)).Elem()
 83578  	minAPIVersionForType["VchaClusterNetworkSpec"] = "6.5"
 83579  }
 83580  
 83581  // The VchaClusterRuntimeInfo class describes the
 83582  // runtime information of a VCHA Cluster.
 83583  //
 83584  // This includes the last known
 83585  // state of the cluster and last known states of each node.
 83586  type VchaClusterRuntimeInfo struct {
 83587  	DynamicData
 83588  
 83589  	// Last known state of the VCHA Cluster.
 83590  	//
 83591  	// `VchaClusterState` lists all possible states.
 83592  	ClusterState string `xml:"clusterState" json:"clusterState"`
 83593  	// Runtime information for each node in the VCHA Cluster.
 83594  	NodeInfo []VchaNodeRuntimeInfo `xml:"nodeInfo,omitempty" json:"nodeInfo,omitempty"`
 83595  	// Operational mode of the VCHA Cluster.
 83596  	//
 83597  	// `VchaClusterMode`
 83598  	// lists all possible modes.
 83599  	ClusterMode string `xml:"clusterMode" json:"clusterMode"`
 83600  }
 83601  
 83602  func init() {
 83603  	t["VchaClusterRuntimeInfo"] = reflect.TypeOf((*VchaClusterRuntimeInfo)(nil)).Elem()
 83604  	minAPIVersionForType["VchaClusterRuntimeInfo"] = "6.5"
 83605  }
 83606  
 83607  // The VchaNodeRuntimeInfo class describes a node's
 83608  // runtime information in a VCHA Cluster.
 83609  type VchaNodeRuntimeInfo struct {
 83610  	DynamicData
 83611  
 83612  	// Last known state of the node.
 83613  	//
 83614  	// `VchaNodeState`
 83615  	// lists all possible states.
 83616  	NodeState string `xml:"nodeState" json:"nodeState"`
 83617  	// Last known role of the node.
 83618  	//
 83619  	// `VchaNodeRole`
 83620  	// lists all possible roles.
 83621  	NodeRole string `xml:"nodeRole" json:"nodeRole"`
 83622  	// IP address for the node in the replication network.
 83623  	NodeIp string `xml:"nodeIp" json:"nodeIp"`
 83624  }
 83625  
 83626  func init() {
 83627  	t["VchaNodeRuntimeInfo"] = reflect.TypeOf((*VchaNodeRuntimeInfo)(nil)).Elem()
 83628  	minAPIVersionForType["VchaNodeRuntimeInfo"] = "6.5"
 83629  }
 83630  
 83631  // Password for the Vim account user on the host has been changed.
 83632  //
 83633  // This is an account created by VirtualCenter and used to manage the host.
 83634  type VimAccountPasswordChangedEvent struct {
 83635  	HostEvent
 83636  }
 83637  
 83638  func init() {
 83639  	t["VimAccountPasswordChangedEvent"] = reflect.TypeOf((*VimAccountPasswordChangedEvent)(nil)).Elem()
 83640  	minAPIVersionForType["VimAccountPasswordChangedEvent"] = "2.5"
 83641  }
 83642  
 83643  // The common base type for all virtual infrastructure management
 83644  // exceptions.
 83645  type VimFault struct {
 83646  	MethodFault
 83647  }
 83648  
 83649  func init() {
 83650  	t["VimFault"] = reflect.TypeOf((*VimFault)(nil)).Elem()
 83651  }
 83652  
 83653  type VimFaultFault BaseVimFault
 83654  
 83655  func init() {
 83656  	t["VimFaultFault"] = reflect.TypeOf((*VimFaultFault)(nil)).Elem()
 83657  }
 83658  
 83659  // Data object representing VASA Provider.
 83660  type VimVasaProvider struct {
 83661  	DynamicData
 83662  
 83663  	// Provider UID.
 83664  	//
 83665  	// This is populated with namespace prefixed to providerId,
 83666  	// which uniquely identifies a VASA Provider. Both namespace and providerId
 83667  	// are sourced from Vasa Provider and available within SMS. This field
 83668  	// helps in preventing a regeneration of duplicate VASA Provider within
 83669  	// vvold when a user attempts to register the same VP using different names
 83670  	// or alternative urls.
 83671  	Uid string `xml:"uid,omitempty" json:"uid,omitempty" vim:"6.7"`
 83672  	// VASA Provider URL.
 83673  	//
 83674  	// In VirtualHost based MultiVC setup,
 83675  	// this is set to default virtual host's URL.
 83676  	Url string `xml:"url" json:"url"`
 83677  	// Name
 83678  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 83679  	// Self-signed certificate of VASA provider.
 83680  	//
 83681  	// In VirtualHost based MultiVC setup,
 83682  	// this is set to default virtual host's self-signed certificate.
 83683  	SelfSignedCertificate string `xml:"selfSignedCertificate,omitempty" json:"selfSignedCertificate,omitempty"`
 83684  	// Virtual host configuration for VASA Provider when it supports MultiVC
 83685  	// through VirtualHosts.
 83686  	VhostConfig *VimVasaProviderVirtualHostConfig `xml:"vhostConfig,omitempty" json:"vhostConfig,omitempty" vim:"8.0.1.0"`
 83687  	// SMS supported VASA provider versionId.
 83688  	//
 83689  	// i-e if versionX corresponds to VASA version supported
 83690  	// by SMS, then X needs to be set here.
 83691  	// versionX corresponds to SMS supported VASA versions are, 1.0-&gt;version1, 1.5-&gt;version2,
 83692  	// 2.0-&gt;version3, 3.0-&gt;version4, 3.5-&gt;version5, 4.0-&gt;version6, 5.0-&gt;version7, etc.
 83693  	// For example: If SMS is connecting to VASA 5.0, the this field should be set to 7.
 83694  	VersionId int32 `xml:"versionId,omitempty" json:"versionId,omitempty" vim:"8.0.1.0"`
 83695  }
 83696  
 83697  func init() {
 83698  	t["VimVasaProvider"] = reflect.TypeOf((*VimVasaProvider)(nil)).Elem()
 83699  	minAPIVersionForType["VimVasaProvider"] = "6.0"
 83700  }
 83701  
 83702  // Data object representing VASA Provider information.
 83703  type VimVasaProviderInfo struct {
 83704  	DynamicData
 83705  
 83706  	// Vasa provider
 83707  	Provider VimVasaProvider `xml:"provider" json:"provider"`
 83708  	// Per-array State
 83709  	ArrayState []VimVasaProviderStatePerArray `xml:"arrayState,omitempty" json:"arrayState,omitempty"`
 83710  }
 83711  
 83712  func init() {
 83713  	t["VimVasaProviderInfo"] = reflect.TypeOf((*VimVasaProviderInfo)(nil)).Elem()
 83714  	minAPIVersionForType["VimVasaProviderInfo"] = "6.0"
 83715  }
 83716  
 83717  // Per Storage Array VP status.
 83718  type VimVasaProviderStatePerArray struct {
 83719  	DynamicData
 83720  
 83721  	// Priority of the provider for the given array
 83722  	Priority int32 `xml:"priority" json:"priority"`
 83723  	// Storage Array object Id
 83724  	ArrayId string `xml:"arrayId" json:"arrayId"`
 83725  	// Indicates whether a VASA Provider (`VimVasaProvider.url`) is active
 83726  	// for the specified storage array.
 83727  	Active bool `xml:"active" json:"active"`
 83728  }
 83729  
 83730  func init() {
 83731  	t["VimVasaProviderStatePerArray"] = reflect.TypeOf((*VimVasaProviderStatePerArray)(nil)).Elem()
 83732  	minAPIVersionForType["VimVasaProviderStatePerArray"] = "6.0"
 83733  }
 83734  
 83735  // Holds VirtualHost configuration information when VASA 5.0 or greater VVOL VASA Provider
 83736  // supports MultiVC through VirtualHosts.
 83737  type VimVasaProviderVirtualHostConfig struct {
 83738  	DynamicData
 83739  
 83740  	// Virtual Host FQDN on VASA Provider.
 83741  	//
 83742  	// If set, it's
 83743  	// used as SNI hostname in outgoing VASA Provider connection.
 83744  	VhostName string `xml:"vhostName,omitempty" json:"vhostName,omitempty"`
 83745  	// IP address where Virtual Host is running
 83746  	ServiceHost string `xml:"serviceHost" json:"serviceHost"`
 83747  	// Dedicated port for the virtual host.
 83748  	//
 83749  	// If not specified, default VirtualHost port is used to
 83750  	// communicate with VASA Provider.
 83751  	ServicePort int32 `xml:"servicePort,omitempty" json:"servicePort,omitempty"`
 83752  }
 83753  
 83754  func init() {
 83755  	t["VimVasaProviderVirtualHostConfig"] = reflect.TypeOf((*VimVasaProviderVirtualHostConfig)(nil)).Elem()
 83756  	minAPIVersionForType["VimVasaProviderVirtualHostConfig"] = "8.0.1.0"
 83757  }
 83758  
 83759  // The VirtualAHCIController data object type represents
 83760  // an AHCI SATA controller in a virtual machine.
 83761  type VirtualAHCIController struct {
 83762  	VirtualSATAController
 83763  }
 83764  
 83765  func init() {
 83766  	t["VirtualAHCIController"] = reflect.TypeOf((*VirtualAHCIController)(nil)).Elem()
 83767  	minAPIVersionForType["VirtualAHCIController"] = "5.5"
 83768  }
 83769  
 83770  // VirtualAHCIControllerOption is the data object that contains
 83771  // the options for an AHCI SATA controller.
 83772  type VirtualAHCIControllerOption struct {
 83773  	VirtualSATAControllerOption
 83774  }
 83775  
 83776  func init() {
 83777  	t["VirtualAHCIControllerOption"] = reflect.TypeOf((*VirtualAHCIControllerOption)(nil)).Elem()
 83778  	minAPIVersionForType["VirtualAHCIControllerOption"] = "5.5"
 83779  }
 83780  
 83781  // A VAppImportSpec is used by `ResourcePool.importVApp` when importing vApps (single VM or multi-VM).
 83782  //
 83783  // It provides all information needed to import a `VirtualApp`.
 83784  //
 83785  // See also `ImportSpec`.
 83786  type VirtualAppImportSpec struct {
 83787  	ImportSpec
 83788  
 83789  	// The name of the vApp
 83790  	Name string `xml:"name" json:"name"`
 83791  	// vApp configuration
 83792  	VAppConfigSpec VAppConfigSpec `xml:"vAppConfigSpec" json:"vAppConfigSpec"`
 83793  	// Resource pool specification.
 83794  	//
 83795  	// If resourcePoolSpec.entity is specified, that resource pool is used as the parent
 83796  	// resource pool and the vApp will be made a linked child to the parent vApp. This
 83797  	// field is ignored for the root node in an ImportSpec tree.
 83798  	// Use of resourcePoolSpec.entity for creating linked children is deprecated as of
 83799  	// vSphere API 5.1.
 83800  	ResourcePoolSpec ResourceConfigSpec `xml:"resourcePoolSpec" json:"resourcePoolSpec"`
 83801  	// Contains a list of children (`VirtualMachine`s and
 83802  	// `VirtualApp`s).
 83803  	Child []BaseImportSpec `xml:"child,omitempty,typeattr" json:"child,omitempty"`
 83804  }
 83805  
 83806  func init() {
 83807  	t["VirtualAppImportSpec"] = reflect.TypeOf((*VirtualAppImportSpec)(nil)).Elem()
 83808  	minAPIVersionForType["VirtualAppImportSpec"] = "4.0"
 83809  }
 83810  
 83811  // Deprecated as of vSphere API 5.1.
 83812  //
 83813  // Linked child information.
 83814  type VirtualAppLinkInfo struct {
 83815  	DynamicData
 83816  
 83817  	// The key contains a reference to the entity that is linked to this vApp
 83818  	//
 83819  	// Refers instance of `ManagedEntity`.
 83820  	Key ManagedObjectReference `xml:"key" json:"key"`
 83821  	// Whether the entity should be removed, when this vApp is removed
 83822  	DestroyWithParent *bool `xml:"destroyWithParent" json:"destroyWithParent,omitempty"`
 83823  }
 83824  
 83825  func init() {
 83826  	t["VirtualAppLinkInfo"] = reflect.TypeOf((*VirtualAppLinkInfo)(nil)).Elem()
 83827  	minAPIVersionForType["VirtualAppLinkInfo"] = "4.1"
 83828  }
 83829  
 83830  // This data object type encapsulates a typical set of resource
 83831  // pool information that is useful for list views and summary pages.
 83832  type VirtualAppSummary struct {
 83833  	ResourcePoolSummary
 83834  
 83835  	// Product information.
 83836  	//
 83837  	// References to properties in the URLs are expanded.
 83838  	Product *VAppProductInfo `xml:"product,omitempty" json:"product,omitempty"`
 83839  	// Whether the vApp is running
 83840  	VAppState VirtualAppVAppState `xml:"vAppState,omitempty" json:"vAppState,omitempty"`
 83841  	// Whether a vApp is suspended, in the process of being suspended, or in the
 83842  	// process of being resumed.
 83843  	//
 83844  	// A stopped vApp is marked as suspended
 83845  	// under the following conditions:
 83846  	//     - All child virtual machines are either suspended or powered-off.
 83847  	//     - There is at least one suspended virtual machine for which the
 83848  	//       stop action is not "suspend".
 83849  	//
 83850  	// If the vAppState property is "stopped", the value is set to true if the vApp is
 83851  	// suspended (according the the above definition).
 83852  	//
 83853  	// If the vAppState property is "stopping" or "starting" and the suspend flag is set to
 83854  	// true, then the vApp is either in the process of being suspended or resumed
 83855  	// from a suspended state, respectively.
 83856  	//
 83857  	// If the vAppState property is "started", then the suspend flag is set to false.
 83858  	Suspended *bool `xml:"suspended" json:"suspended,omitempty" vim:"4.1"`
 83859  	// Whether one or more VMs in this vApp require a reboot to finish
 83860  	// installation.
 83861  	InstallBootRequired *bool `xml:"installBootRequired" json:"installBootRequired,omitempty"`
 83862  	// vCenter-specific UUID of the vApp
 83863  	InstanceUuid string `xml:"instanceUuid,omitempty" json:"instanceUuid,omitempty" vim:"4.1"`
 83864  }
 83865  
 83866  func init() {
 83867  	t["VirtualAppSummary"] = reflect.TypeOf((*VirtualAppSummary)(nil)).Elem()
 83868  	minAPIVersionForType["VirtualAppSummary"] = "4.0"
 83869  }
 83870  
 83871  // VirtualBusLogicController is the data object that represents
 83872  // a BusLogic SCSI controller.
 83873  type VirtualBusLogicController struct {
 83874  	VirtualSCSIController
 83875  }
 83876  
 83877  func init() {
 83878  	t["VirtualBusLogicController"] = reflect.TypeOf((*VirtualBusLogicController)(nil)).Elem()
 83879  }
 83880  
 83881  // This data object contains
 83882  // the options for a BusLogic SCSI controller.
 83883  type VirtualBusLogicControllerOption struct {
 83884  	VirtualSCSIControllerOption
 83885  }
 83886  
 83887  func init() {
 83888  	t["VirtualBusLogicControllerOption"] = reflect.TypeOf((*VirtualBusLogicControllerOption)(nil)).Elem()
 83889  }
 83890  
 83891  // The VirtualCdrom data object type describes the configuration of a CD-ROM device
 83892  // in a virtual machine.
 83893  type VirtualCdrom struct {
 83894  	VirtualDevice
 83895  }
 83896  
 83897  func init() {
 83898  	t["VirtualCdrom"] = reflect.TypeOf((*VirtualCdrom)(nil)).Elem()
 83899  }
 83900  
 83901  // The VirtualCdrom.AtapiBackingInfo data object type
 83902  // represents an ATAPI device backing for a virtual CD-ROM.
 83903  type VirtualCdromAtapiBackingInfo struct {
 83904  	VirtualDeviceDeviceBackingInfo
 83905  }
 83906  
 83907  func init() {
 83908  	t["VirtualCdromAtapiBackingInfo"] = reflect.TypeOf((*VirtualCdromAtapiBackingInfo)(nil)).Elem()
 83909  }
 83910  
 83911  // The VirtualCdromOption.AtapiBackingOption data object type
 83912  // contains the options for the ATAPI CD-ROM device backing.
 83913  type VirtualCdromAtapiBackingOption struct {
 83914  	VirtualDeviceDeviceBackingOption
 83915  }
 83916  
 83917  func init() {
 83918  	t["VirtualCdromAtapiBackingOption"] = reflect.TypeOf((*VirtualCdromAtapiBackingOption)(nil)).Elem()
 83919  }
 83920  
 83921  // The VirtualCdrom.IsoBackingInfo data class represents
 83922  // an ISO backing for a virtual CD-ROM.
 83923  type VirtualCdromIsoBackingInfo struct {
 83924  	VirtualDeviceFileBackingInfo
 83925  }
 83926  
 83927  func init() {
 83928  	t["VirtualCdromIsoBackingInfo"] = reflect.TypeOf((*VirtualCdromIsoBackingInfo)(nil)).Elem()
 83929  }
 83930  
 83931  // The VirtualCdromOption.IsoBackingOption data object type contains
 83932  // the options for an ISO image backing.
 83933  type VirtualCdromIsoBackingOption struct {
 83934  	VirtualDeviceFileBackingOption
 83935  }
 83936  
 83937  func init() {
 83938  	t["VirtualCdromIsoBackingOption"] = reflect.TypeOf((*VirtualCdromIsoBackingOption)(nil)).Elem()
 83939  }
 83940  
 83941  // The VirtualCdromOption data object type contains the options for the
 83942  // virtual CD-ROM class.
 83943  type VirtualCdromOption struct {
 83944  	VirtualDeviceOption
 83945  }
 83946  
 83947  func init() {
 83948  	t["VirtualCdromOption"] = reflect.TypeOf((*VirtualCdromOption)(nil)).Elem()
 83949  }
 83950  
 83951  // The VirtualCdrom.PassthroughBackingInfo data class
 83952  // represents a device pass-through backing for a
 83953  // virtual CD-ROM.
 83954  type VirtualCdromPassthroughBackingInfo struct {
 83955  	VirtualDeviceDeviceBackingInfo
 83956  
 83957  	// Flag to indicate whether or not the virtual machine has
 83958  	// exclusive CD-ROM device access.
 83959  	Exclusive bool `xml:"exclusive" json:"exclusive"`
 83960  }
 83961  
 83962  func init() {
 83963  	t["VirtualCdromPassthroughBackingInfo"] = reflect.TypeOf((*VirtualCdromPassthroughBackingInfo)(nil)).Elem()
 83964  }
 83965  
 83966  // The VirtualCdromOption.PassthroughBackingOption data object type
 83967  // contains the options for a pass-through CD-ROM device backing.
 83968  type VirtualCdromPassthroughBackingOption struct {
 83969  	VirtualDeviceDeviceBackingOption
 83970  
 83971  	// Flag to indicate whether or not exclusive CD-ROM device access is supported.
 83972  	Exclusive BoolOption `xml:"exclusive" json:"exclusive"`
 83973  }
 83974  
 83975  func init() {
 83976  	t["VirtualCdromPassthroughBackingOption"] = reflect.TypeOf((*VirtualCdromPassthroughBackingOption)(nil)).Elem()
 83977  }
 83978  
 83979  // The VirtualCdrom.RemoteAtapiBackingInfo data class
 83980  // represents a remote ATAPI device backing for a virtual CD-ROM.
 83981  type VirtualCdromRemoteAtapiBackingInfo struct {
 83982  	VirtualDeviceRemoteDeviceBackingInfo
 83983  }
 83984  
 83985  func init() {
 83986  	t["VirtualCdromRemoteAtapiBackingInfo"] = reflect.TypeOf((*VirtualCdromRemoteAtapiBackingInfo)(nil)).Elem()
 83987  }
 83988  
 83989  // The VirtualCdromOption.RemoteAtapiBackingOption data object type
 83990  // contains the options for the remote ATAPI CD-ROM device backing.
 83991  //
 83992  // Note that the server cannot present a list of valid remote backing devices
 83993  // because it is unable to scan remote hosts.
 83994  type VirtualCdromRemoteAtapiBackingOption struct {
 83995  	VirtualDeviceDeviceBackingOption
 83996  }
 83997  
 83998  func init() {
 83999  	t["VirtualCdromRemoteAtapiBackingOption"] = reflect.TypeOf((*VirtualCdromRemoteAtapiBackingOption)(nil)).Elem()
 84000  }
 84001  
 84002  // The VirtualCdrom.RemotePassthroughBackingInfo data object type
 84003  // contains the information to specify a remote pass-through device
 84004  // backing of a virtual CD-ROM.
 84005  type VirtualCdromRemotePassthroughBackingInfo struct {
 84006  	VirtualDeviceRemoteDeviceBackingInfo
 84007  
 84008  	// Flag to indicate whether or not the virtual machine
 84009  	// has exclusive access to the CD-ROM device.
 84010  	Exclusive bool `xml:"exclusive" json:"exclusive"`
 84011  }
 84012  
 84013  func init() {
 84014  	t["VirtualCdromRemotePassthroughBackingInfo"] = reflect.TypeOf((*VirtualCdromRemotePassthroughBackingInfo)(nil)).Elem()
 84015  }
 84016  
 84017  // The VirtualCdromOption.RemotePassthroughBackingOption data object type
 84018  // contains the options for a remote pass-through CD-ROM device backing.
 84019  //
 84020  // Note that the server cannot present a list of valid remote backing devices
 84021  // because it is unable to scan remote hosts.
 84022  type VirtualCdromRemotePassthroughBackingOption struct {
 84023  	VirtualDeviceRemoteDeviceBackingOption
 84024  
 84025  	// Flag to indicate whether or not exclusive CD-ROM device access is supported.
 84026  	Exclusive BoolOption `xml:"exclusive" json:"exclusive"`
 84027  }
 84028  
 84029  func init() {
 84030  	t["VirtualCdromRemotePassthroughBackingOption"] = reflect.TypeOf((*VirtualCdromRemotePassthroughBackingOption)(nil)).Elem()
 84031  }
 84032  
 84033  // VirtualController is the base data object type for a device controller in
 84034  // a virtual machine.
 84035  //
 84036  // VirtualController extends
 84037  // `VirtualDevice` to inherit
 84038  // general information about a controller (such as name and description), and to allow
 84039  // controllers to appear in a generic list of virtual devices.
 84040  type VirtualController struct {
 84041  	VirtualDevice
 84042  
 84043  	// Bus number associated with this controller.
 84044  	BusNumber int32 `xml:"busNumber" json:"busNumber"`
 84045  	// List of devices currently controlled by this controller.
 84046  	//
 84047  	// Each entry contains the `VirtualDevice.key` property of the
 84048  	// corresponding device object.
 84049  	Device []int32 `xml:"device,omitempty" json:"device,omitempty"`
 84050  }
 84051  
 84052  func init() {
 84053  	t["VirtualController"] = reflect.TypeOf((*VirtualController)(nil)).Elem()
 84054  }
 84055  
 84056  // The VirtualControllerOption data object type contains information about
 84057  // a virtual controller type.
 84058  type VirtualControllerOption struct {
 84059  	VirtualDeviceOption
 84060  
 84061  	// The minimum and maximum number of devices this controller can control
 84062  	// at run time.
 84063  	Devices IntOption `xml:"devices" json:"devices"`
 84064  	// Array of supported device options for this controller.
 84065  	SupportedDevice []string `xml:"supportedDevice,omitempty" json:"supportedDevice,omitempty"`
 84066  }
 84067  
 84068  func init() {
 84069  	t["VirtualControllerOption"] = reflect.TypeOf((*VirtualControllerOption)(nil)).Elem()
 84070  }
 84071  
 84072  // VirtualDevice is the base data object type for devices in a virtual machine.
 84073  //
 84074  // This type contains enough information about a virtual device to allow clients
 84075  // to display devices they do not recognize. For example, a client with an
 84076  // older version than the server to which it connects may see a device
 84077  // without knowing what it is.
 84078  type VirtualDevice struct {
 84079  	DynamicData
 84080  
 84081  	// A unique key that distinguishes this device from other
 84082  	// devices in the same virtual machine.
 84083  	//
 84084  	// Keys are immutable but may be
 84085  	// recycled; that is, a key does not change as long as the device is
 84086  	// associated with a particular virtual machine. However, once a device is
 84087  	// removed, its key may be used when another device is added.
 84088  	//
 84089  	// This property is not read-only, but the client cannot control its value.
 84090  	// Persistent device keys are always assigned and managed by the server, which
 84091  	// guarantees that all devices will have non-negative key values.
 84092  	//
 84093  	// When adding new devices, it may be necessary for a client to assign keys
 84094  	// temporarily in order to associate controllers with devices in
 84095  	// configuring a virtual machine. However, the server does not allow a
 84096  	// client to reassign a device key, and the server may assign a different
 84097  	// value from the one passed during configuration. Clients should ensure
 84098  	// that existing device keys are not reused as temporary key values for the
 84099  	// new device to be added (for example, by using unique negative integers as
 84100  	// temporary keys).
 84101  	//
 84102  	// When editing or deleting a device, clients must use the server-provided key
 84103  	// to refer to an existing device.
 84104  	Key int32 `xml:"key" json:"key"`
 84105  	// Provides a label and summary information for the device.
 84106  	DeviceInfo BaseDescription `xml:"deviceInfo,omitempty,typeattr" json:"deviceInfo,omitempty"`
 84107  	// Information about the backing of this virtual device presented
 84108  	// in the context of the virtual machine's environment.
 84109  	//
 84110  	// Not all devices are required to have backing information.
 84111  	//
 84112  	// See also `VirtualMachineConfigOption`.
 84113  	Backing BaseVirtualDeviceBackingInfo `xml:"backing,omitempty,typeattr" json:"backing,omitempty"`
 84114  	// Provides information about restrictions on removing this device while
 84115  	// a virtual machine is running.
 84116  	//
 84117  	// If the device is not removable, then
 84118  	// this property is null.
 84119  	Connectable *VirtualDeviceConnectInfo `xml:"connectable,omitempty" json:"connectable,omitempty"`
 84120  	// Information about the bus slot of a device in a virtual machine.
 84121  	SlotInfo BaseVirtualDeviceBusSlotInfo `xml:"slotInfo,omitempty,typeattr" json:"slotInfo,omitempty" vim:"5.1"`
 84122  	// Object key for the controller object for this device.
 84123  	//
 84124  	// This property contains the key property value of the controller device
 84125  	// object.
 84126  	ControllerKey int32 `xml:"controllerKey,omitempty" json:"controllerKey,omitempty"`
 84127  	// The unit number of this device on its controller.
 84128  	//
 84129  	// This property is null if
 84130  	// the controller property is null (for example, when the device is not
 84131  	// attached to a specific controller object).
 84132  	//
 84133  	// Normally, two devices on the same controller
 84134  	// may not be assigned the same unit number. If
 84135  	// multiple devices could exist on a controller,
 84136  	// then unit number has to be specified to
 84137  	// configure respective devices.
 84138  	UnitNumber *int32 `xml:"unitNumber" json:"unitNumber,omitempty"`
 84139  	// The virtual NUMA node.
 84140  	//
 84141  	// A negative number means there is no
 84142  	// affinity for the device. A positive number is a vNUMA node.
 84143  	// An unset value of numaNode is status-quo during Reconfigure time.
 84144  	// If numaNode is unset during ConfigInfo, then it means there is no
 84145  	// affinity for the device.
 84146  	NumaNode int32 `xml:"numaNode,omitempty" json:"numaNode,omitempty" vim:"8.0.0.1"`
 84147  	// Information about device group device is part of.
 84148  	//
 84149  	// Devices in the device group cannot be added/removed individually,
 84150  	// whole group has to be added/removed at once. Value can be set
 84151  	// during device add, it cannot be modified later.
 84152  	DeviceGroupInfo *VirtualDeviceDeviceGroupInfo `xml:"deviceGroupInfo,omitempty" json:"deviceGroupInfo,omitempty" vim:"8.0.0.1"`
 84153  }
 84154  
 84155  func init() {
 84156  	t["VirtualDevice"] = reflect.TypeOf((*VirtualDevice)(nil)).Elem()
 84157  }
 84158  
 84159  // <code>`VirtualDeviceBackingInfo`</code> is a base data object type
 84160  // for information about the backing of a device in a virtual machine.
 84161  //
 84162  // This base type does not define any properties. It is used as a namespace
 84163  // for general-purpose subtypes. Specific devices are represented by subtypes
 84164  // which define properties for device-specific backing information.
 84165  type VirtualDeviceBackingInfo struct {
 84166  	DynamicData
 84167  }
 84168  
 84169  func init() {
 84170  	t["VirtualDeviceBackingInfo"] = reflect.TypeOf((*VirtualDeviceBackingInfo)(nil)).Elem()
 84171  }
 84172  
 84173  // The `VirtualDeviceBackingOption` data class
 84174  // defines options for device-specific virtual backing objects.
 84175  type VirtualDeviceBackingOption struct {
 84176  	DynamicData
 84177  
 84178  	// The name of the class the client should use to instantiate backing
 84179  	// for the virtual device.
 84180  	Type string `xml:"type" json:"type"`
 84181  }
 84182  
 84183  func init() {
 84184  	t["VirtualDeviceBackingOption"] = reflect.TypeOf((*VirtualDeviceBackingOption)(nil)).Elem()
 84185  }
 84186  
 84187  // <code>`VirtualDeviceBusSlotInfo`</code> is a base data object type
 84188  // for information about device connection to its bus.
 84189  //
 84190  // This base type does not
 84191  // define any properties. It is used as a namespace for general-purpose subtypes.
 84192  // Specific devices types are represented by subtypes which define properties for
 84193  // device-specific backing information.
 84194  type VirtualDeviceBusSlotInfo struct {
 84195  	DynamicData
 84196  }
 84197  
 84198  func init() {
 84199  	t["VirtualDeviceBusSlotInfo"] = reflect.TypeOf((*VirtualDeviceBusSlotInfo)(nil)).Elem()
 84200  	minAPIVersionForType["VirtualDeviceBusSlotInfo"] = "5.1"
 84201  }
 84202  
 84203  // The `VirtualDeviceBusSlotOption` data class
 84204  // defines options for device-specific bus slot objects.
 84205  type VirtualDeviceBusSlotOption struct {
 84206  	DynamicData
 84207  
 84208  	// The name of the class the client should use to instantiate bus slot
 84209  	// object for the virtual device.
 84210  	Type string `xml:"type" json:"type"`
 84211  }
 84212  
 84213  func init() {
 84214  	t["VirtualDeviceBusSlotOption"] = reflect.TypeOf((*VirtualDeviceBusSlotOption)(nil)).Elem()
 84215  	minAPIVersionForType["VirtualDeviceBusSlotOption"] = "5.1"
 84216  }
 84217  
 84218  // The VirtualDeviceSpec data object type encapsulates change
 84219  // specifications for an individual virtual device.
 84220  //
 84221  // The virtual
 84222  // device being added or modified must be fully specified.
 84223  type VirtualDeviceConfigSpec struct {
 84224  	DynamicData
 84225  
 84226  	// Type of operation being performed on the specified virtual device.
 84227  	//
 84228  	// If no operation is specified, the spec. is ignored.
 84229  	Operation VirtualDeviceConfigSpecOperation `xml:"operation,omitempty" json:"operation,omitempty"`
 84230  	// Type of operation being performed on the backing
 84231  	// of the specified virtual device.
 84232  	//
 84233  	// If no file operation is specified in the VirtualDeviceSpec,
 84234  	// then any backing filenames in the
 84235  	// `VirtualDevice`
 84236  	// must refer to files that already exist.
 84237  	// The "replace" and "delete" values for this property are only
 84238  	// applicable to virtual disk backing files.
 84239  	FileOperation VirtualDeviceConfigSpecFileOperation `xml:"fileOperation,omitempty" json:"fileOperation,omitempty"`
 84240  	// Device specification, with all necessary properties set.
 84241  	Device BaseVirtualDevice `xml:"device,typeattr" json:"device"`
 84242  	// Virtual Device Profile requirement.
 84243  	//
 84244  	// Profiles are solution specifics.
 84245  	// Storage Profile Based Management(SPBM) is a vSphere server extension.
 84246  	// The API users who want to provision VMs using Storage Profiles, need to
 84247  	// interact with SPBM service.
 84248  	// This is an optional parameter and if user doesn't specify profile,
 84249  	// the default behavior will apply.
 84250  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty" vim:"5.5"`
 84251  	// BackingInfo configuration options.
 84252  	//
 84253  	// Each BackingSpec corresponds to a BackingInfo object. The member
 84254  	// `VirtualDeviceConfigSpec.backing` refers to the
 84255  	// `VirtualDeviceConfigSpec.device*.*VirtualDevice.backing`.
 84256  	Backing *VirtualDeviceConfigSpecBackingSpec `xml:"backing,omitempty" json:"backing,omitempty" vim:"6.5"`
 84257  	// List of independent filters `VirtualMachineIndependentFilterSpec`
 84258  	// to configure on the virtual device.
 84259  	FilterSpec []BaseVirtualMachineBaseIndependentFilterSpec `xml:"filterSpec,omitempty,typeattr" json:"filterSpec,omitempty" vim:"7.0.2.1"`
 84260  	// The change mode of the device.
 84261  	//
 84262  	// The values of the mode will be one of `VirtualDeviceConfigSpecChangeMode_enum` enumerations.
 84263  	// On unset, default to 'fail'.
 84264  	ChangeMode string `xml:"changeMode,omitempty" json:"changeMode,omitempty" vim:"8.0.0.1"`
 84265  }
 84266  
 84267  func init() {
 84268  	t["VirtualDeviceConfigSpec"] = reflect.TypeOf((*VirtualDeviceConfigSpec)(nil)).Elem()
 84269  }
 84270  
 84271  // <code>`VirtualDeviceConfigSpecBackingSpec`</code> is a data object
 84272  // type for information about configuration of the backing of a device
 84273  // in a virtual machine.
 84274  //
 84275  // The member `VirtualDeviceConfigSpecBackingSpec.parent` refers the parent in the chain of
 84276  // `VirtualDeviceBackingInfo` objects.
 84277  type VirtualDeviceConfigSpecBackingSpec struct {
 84278  	DynamicData
 84279  
 84280  	Parent *VirtualDeviceConfigSpecBackingSpec `xml:"parent,omitempty" json:"parent,omitempty"`
 84281  	Crypto BaseCryptoSpec                      `xml:"crypto,omitempty,typeattr" json:"crypto,omitempty"`
 84282  }
 84283  
 84284  func init() {
 84285  	t["VirtualDeviceConfigSpecBackingSpec"] = reflect.TypeOf((*VirtualDeviceConfigSpecBackingSpec)(nil)).Elem()
 84286  	minAPIVersionForType["VirtualDeviceConfigSpecBackingSpec"] = "6.5"
 84287  }
 84288  
 84289  // The <code>`VirtualDeviceConnectInfo`</code> data object type
 84290  // contains information about connectable virtual devices.
 84291  type VirtualDeviceConnectInfo struct {
 84292  	DynamicData
 84293  
 84294  	// Specifies whether the virtual machine should override the
 84295  	// virtual device connection state upon the completion of a
 84296  	// migration.
 84297  	//
 84298  	// At this time, this property is only applicable to instant
 84299  	// clone operations, and will be ignored for other migration
 84300  	// types. The property is also only valid with
 84301  	// VirtualEthernetCards, and any attempt to set this property
 84302  	// on an unsupported device will result in an error.
 84303  	// This property will persist only until the virtual machine
 84304  	// undergoes a supported migration, at which point it will be
 84305  	// consumed and unset on the destination virtual machine,
 84306  	// preventing the property from affecting future migrations.
 84307  	// The migration's success is not dependent on whether the device
 84308  	// reaches the desired connection state.
 84309  	// The set of possible values are described in
 84310  	// `VirtualDeviceConnectInfoMigrateConnectOp_enum`.
 84311  	MigrateConnect string `xml:"migrateConnect,omitempty" json:"migrateConnect,omitempty" vim:"6.7"`
 84312  	// Specifies whether or not to connect the device
 84313  	// when the virtual machine starts.
 84314  	StartConnected bool `xml:"startConnected" json:"startConnected"`
 84315  	// Enables guest control over whether the connectable device is
 84316  	// connected.
 84317  	AllowGuestControl bool `xml:"allowGuestControl" json:"allowGuestControl"`
 84318  	// Indicates whether the device is currently connected.
 84319  	//
 84320  	// Valid only while the virtual machine is running.
 84321  	Connected bool `xml:"connected" json:"connected"`
 84322  	// Indicates the current status of the connectable device.
 84323  	//
 84324  	// Valid only while the
 84325  	// virtual machine is running. The set of possible values is described in
 84326  	// `VirtualDeviceConnectInfoStatus_enum`
 84327  	Status string `xml:"status,omitempty" json:"status,omitempty" vim:"4.0"`
 84328  }
 84329  
 84330  func init() {
 84331  	t["VirtualDeviceConnectInfo"] = reflect.TypeOf((*VirtualDeviceConnectInfo)(nil)).Elem()
 84332  }
 84333  
 84334  // The ConnectOption data object type contains information about options for
 84335  // connectable virtual devices.
 84336  type VirtualDeviceConnectOption struct {
 84337  	DynamicData
 84338  
 84339  	// Flag to indicate whether or not the device supports
 84340  	// the startConnected feature.
 84341  	StartConnected BoolOption `xml:"startConnected" json:"startConnected"`
 84342  	// Flag to indicate whether or not the device can be
 84343  	// connected and disconnected from within the guest operating system.
 84344  	AllowGuestControl BoolOption `xml:"allowGuestControl" json:"allowGuestControl"`
 84345  }
 84346  
 84347  func init() {
 84348  	t["VirtualDeviceConnectOption"] = reflect.TypeOf((*VirtualDeviceConnectOption)(nil)).Elem()
 84349  }
 84350  
 84351  // The <code>`VirtualDeviceDeviceBackingInfo`</code> data object type
 84352  // defines information about a host device or resource that backs a device
 84353  // in a virtual machine.
 84354  type VirtualDeviceDeviceBackingInfo struct {
 84355  	VirtualDeviceBackingInfo
 84356  
 84357  	// The name of the device on the host system.
 84358  	DeviceName string `xml:"deviceName" json:"deviceName"`
 84359  	// Indicates whether the device should be auto detected
 84360  	// instead of directly specified.
 84361  	//
 84362  	// If this value is set to TRUE,
 84363  	// deviceName is ignored.
 84364  	UseAutoDetect *bool `xml:"useAutoDetect" json:"useAutoDetect,omitempty" vim:"2.5"`
 84365  }
 84366  
 84367  func init() {
 84368  	t["VirtualDeviceDeviceBackingInfo"] = reflect.TypeOf((*VirtualDeviceDeviceBackingInfo)(nil)).Elem()
 84369  }
 84370  
 84371  // The DeviceBackingOption data class contains device-specific backing options.
 84372  type VirtualDeviceDeviceBackingOption struct {
 84373  	VirtualDeviceBackingOption
 84374  
 84375  	// Flag to indicate whether the specific instance of this device can
 84376  	// be auto-detected on the host instead of having to specify a
 84377  	// particular physical device.
 84378  	AutoDetectAvailable BoolOption `xml:"autoDetectAvailable" json:"autoDetectAvailable" vim:"2.5"`
 84379  }
 84380  
 84381  func init() {
 84382  	t["VirtualDeviceDeviceBackingOption"] = reflect.TypeOf((*VirtualDeviceDeviceBackingOption)(nil)).Elem()
 84383  }
 84384  
 84385  // <code>`VirtualDeviceDeviceGroupInfo`</code> contains information
 84386  // about the device group device is assigned to.
 84387  type VirtualDeviceDeviceGroupInfo struct {
 84388  	DynamicData
 84389  
 84390  	// Device group instance key from
 84391  	// <code>`VirtualMachineVirtualDeviceGroupsDeviceGroup`</code>.
 84392  	GroupInstanceKey int32 `xml:"groupInstanceKey" json:"groupInstanceKey"`
 84393  	// Device sequence in the group.
 84394  	//
 84395  	// Small unique positive integer obtained
 84396  	// from <code>`VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo.device`</code>
 84397  	// template.
 84398  	SequenceId int32 `xml:"sequenceId" json:"sequenceId"`
 84399  }
 84400  
 84401  func init() {
 84402  	t["VirtualDeviceDeviceGroupInfo"] = reflect.TypeOf((*VirtualDeviceDeviceGroupInfo)(nil)).Elem()
 84403  	minAPIVersionForType["VirtualDeviceDeviceGroupInfo"] = "8.0.0.1"
 84404  }
 84405  
 84406  // <code>`VirtualDeviceFileBackingInfo`</code> is a data object type
 84407  // for information about file backing for a device in a virtual machine.
 84408  type VirtualDeviceFileBackingInfo struct {
 84409  	VirtualDeviceBackingInfo
 84410  
 84411  	// Filename for the host file used in this backing.
 84412  	FileName string `xml:"fileName" json:"fileName"`
 84413  	// Reference to the datastore managed object where this file is stored.
 84414  	//
 84415  	// If the file is not located on a datastore, then this reference is null.
 84416  	// This is not used for configuration.
 84417  	//
 84418  	// Refers instance of `Datastore`.
 84419  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 84420  	// Backing object's durable and unmutable identifier.
 84421  	//
 84422  	// Each backing object has a unique identifier which is not settable.
 84423  	BackingObjectId string `xml:"backingObjectId,omitempty" json:"backingObjectId,omitempty" vim:"5.5"`
 84424  }
 84425  
 84426  func init() {
 84427  	t["VirtualDeviceFileBackingInfo"] = reflect.TypeOf((*VirtualDeviceFileBackingInfo)(nil)).Elem()
 84428  }
 84429  
 84430  // The FileBackingOption data class contains file-specific backing options.
 84431  type VirtualDeviceFileBackingOption struct {
 84432  	VirtualDeviceBackingOption
 84433  
 84434  	// Valid filename extension for the filename.
 84435  	//
 84436  	// If no extensions are present, any file extension is acceptable.
 84437  	FileNameExtensions *ChoiceOption `xml:"fileNameExtensions,omitempty" json:"fileNameExtensions,omitempty"`
 84438  }
 84439  
 84440  func init() {
 84441  	t["VirtualDeviceFileBackingOption"] = reflect.TypeOf((*VirtualDeviceFileBackingOption)(nil)).Elem()
 84442  }
 84443  
 84444  // The VirtualDeviceOption data object type contains information about
 84445  // a virtual device type, the options for configuring the virtual device,
 84446  // and the relationship between this virtual device and other devices.
 84447  //
 84448  // The vSphere API groups device configurations that are mutually exclusive
 84449  // into different configuration objects; each of these configuration objects
 84450  // may define subtypes for virtual device backing options
 84451  // that are independent of the virtual device.
 84452  // Backing-dependent options should appear in a subtype of
 84453  // `VirtualDeviceBackingOption`.
 84454  type VirtualDeviceOption struct {
 84455  	DynamicData
 84456  
 84457  	// The name of the run-time class the client should instantiate
 84458  	// to create a run-time instance of this device.
 84459  	Type string `xml:"type" json:"type"`
 84460  	// If the device is connectable, then the connectOption
 84461  	// describes the connect options and defaults.
 84462  	ConnectOption *VirtualDeviceConnectOption `xml:"connectOption,omitempty" json:"connectOption,omitempty"`
 84463  	// If the device can use a bus slot configuration, then the busSlotOption
 84464  	// describes the bus slot options.
 84465  	BusSlotOption *VirtualDeviceBusSlotOption `xml:"busSlotOption,omitempty" json:"busSlotOption,omitempty" vim:"5.1"`
 84466  	// Data object type that denotes the controller option object that is
 84467  	// valid for controlling this device.
 84468  	ControllerType string `xml:"controllerType,omitempty" json:"controllerType,omitempty"`
 84469  	// Flag to indicate whether or not this device will be auto-assigned a controller
 84470  	// if one is required.
 84471  	//
 84472  	// If this is true, then a client need not explicitly create
 84473  	// the controller that this device will plug into.
 84474  	AutoAssignController *BoolOption `xml:"autoAssignController,omitempty" json:"autoAssignController,omitempty"`
 84475  	// A list of backing options that can be used to map the virtual
 84476  	// device to the host.
 84477  	//
 84478  	// The list is optional, since some devices exist only within
 84479  	// the virtual machine; for example, a VirtualController.
 84480  	BackingOption []BaseVirtualDeviceBackingOption `xml:"backingOption,omitempty,typeattr" json:"backingOption,omitempty"`
 84481  	// Index into the backingOption list, indicating the default backing.
 84482  	DefaultBackingOptionIndex int32 `xml:"defaultBackingOptionIndex,omitempty" json:"defaultBackingOptionIndex,omitempty"`
 84483  	// List of property names enforced by a licensing restriction
 84484  	// of the underlying product.
 84485  	//
 84486  	// For example, a limit that is not
 84487  	// derived based on the product or hardware features; the
 84488  	// property name "numCPU".
 84489  	LicensingLimit []string `xml:"licensingLimit,omitempty" json:"licensingLimit,omitempty"`
 84490  	// Indicates whether this device is deprecated.
 84491  	//
 84492  	// Hence, if set the device
 84493  	// cannot be used when creating a new virtual machine or be added to an existing
 84494  	// virtual machine. However, the device is still supported by the platform.
 84495  	Deprecated bool `xml:"deprecated" json:"deprecated"`
 84496  	// Indicates if this type of device can be hot-added to the virtual machine
 84497  	// via a reconfigure operation when the virtual machine is powered on.
 84498  	PlugAndPlay bool `xml:"plugAndPlay" json:"plugAndPlay"`
 84499  	// Indicates if this type of device can be hot-removed from the virtual machine
 84500  	// via a reconfigure operation when the virtual machine is powered on.
 84501  	HotRemoveSupported *bool `xml:"hotRemoveSupported" json:"hotRemoveSupported,omitempty" vim:"2.5 U2"`
 84502  	NumaSupported      *bool `xml:"numaSupported" json:"numaSupported,omitempty"`
 84503  }
 84504  
 84505  func init() {
 84506  	t["VirtualDeviceOption"] = reflect.TypeOf((*VirtualDeviceOption)(nil)).Elem()
 84507  }
 84508  
 84509  // The <code>`VirtualDevicePciBusSlotInfo`</code> data object type
 84510  // defines information about a pci bus slot of pci device in a virtual machine.
 84511  type VirtualDevicePciBusSlotInfo struct {
 84512  	VirtualDeviceBusSlotInfo
 84513  
 84514  	// The pci slot number of the virtual device.
 84515  	//
 84516  	// The pci slot number assignment should generally be left to the system.
 84517  	// If assigned a value, and the value is invalid or duplicated, it will
 84518  	// automatically be reassigned. This will not cause an error.
 84519  	//
 84520  	// Generally, the PCI slot numbers should never be specified in an
 84521  	// Reconfigure operation, and only in a CreateVM operation if i) they
 84522  	// are specified for all devices, and ii) the numbers have been
 84523  	// determined by looking at an existing VM configuration of similar
 84524  	// hardware version. In other words, when the virtual hardware configuration
 84525  	// is duplicated.
 84526  	PciSlotNumber int32 `xml:"pciSlotNumber" json:"pciSlotNumber"`
 84527  }
 84528  
 84529  func init() {
 84530  	t["VirtualDevicePciBusSlotInfo"] = reflect.TypeOf((*VirtualDevicePciBusSlotInfo)(nil)).Elem()
 84531  	minAPIVersionForType["VirtualDevicePciBusSlotInfo"] = "5.1"
 84532  }
 84533  
 84534  // The <code>`VirtualDevicePipeBackingInfo`</code> data object type
 84535  // defines information for using a named pipe as backing for a device
 84536  // in a virtual machine.
 84537  type VirtualDevicePipeBackingInfo struct {
 84538  	VirtualDeviceBackingInfo
 84539  
 84540  	// Pipe name for the host pipe associated with this backing.
 84541  	PipeName string `xml:"pipeName" json:"pipeName"`
 84542  }
 84543  
 84544  func init() {
 84545  	t["VirtualDevicePipeBackingInfo"] = reflect.TypeOf((*VirtualDevicePipeBackingInfo)(nil)).Elem()
 84546  }
 84547  
 84548  // The <code>`VirtualDevicePipeBackingOption`</code> data object type contains options
 84549  // specific to pipe backings.
 84550  type VirtualDevicePipeBackingOption struct {
 84551  	VirtualDeviceBackingOption
 84552  }
 84553  
 84554  func init() {
 84555  	t["VirtualDevicePipeBackingOption"] = reflect.TypeOf((*VirtualDevicePipeBackingOption)(nil)).Elem()
 84556  }
 84557  
 84558  // <code>`VirtualDeviceRemoteDeviceBackingInfo`</code> is a data object type
 84559  // for information
 84560  // about a remote device backing used by a device in a virtual machine.
 84561  //
 84562  // The primary difference between a remote device backing and a
 84563  // local device backing is that the VirtualCenter server cannot provide a list
 84564  // of remote host devices available for this virtual device backing.
 84565  type VirtualDeviceRemoteDeviceBackingInfo struct {
 84566  	VirtualDeviceBackingInfo
 84567  
 84568  	// The name of the device on the remote system.
 84569  	DeviceName string `xml:"deviceName" json:"deviceName"`
 84570  	// Indicates whether the device should be auto detected
 84571  	// instead of directly specified.
 84572  	//
 84573  	// If this value is set to TRUE,
 84574  	// <code>deviceName</code> is ignored.
 84575  	UseAutoDetect *bool `xml:"useAutoDetect" json:"useAutoDetect,omitempty" vim:"2.5"`
 84576  }
 84577  
 84578  func init() {
 84579  	t["VirtualDeviceRemoteDeviceBackingInfo"] = reflect.TypeOf((*VirtualDeviceRemoteDeviceBackingInfo)(nil)).Elem()
 84580  }
 84581  
 84582  // VirtualDeviceOption.RemoteDeviceBackingOption describes the options
 84583  // for a remote device backing.
 84584  //
 84585  // The primary difference
 84586  // between a remote device backing and a local device backing is that
 84587  // the VirtualCenter server cannot provide a list of remote host devices
 84588  // available for this virtual device backing.
 84589  type VirtualDeviceRemoteDeviceBackingOption struct {
 84590  	VirtualDeviceBackingOption
 84591  
 84592  	// Flag to indicate whether the specific instance of this device can
 84593  	// be auto-detected on the host instead of having to specify a
 84594  	// particular physical device.
 84595  	AutoDetectAvailable BoolOption `xml:"autoDetectAvailable" json:"autoDetectAvailable" vim:"2.5"`
 84596  }
 84597  
 84598  func init() {
 84599  	t["VirtualDeviceRemoteDeviceBackingOption"] = reflect.TypeOf((*VirtualDeviceRemoteDeviceBackingOption)(nil)).Elem()
 84600  }
 84601  
 84602  // The <code>`VirtualDeviceURIBackingInfo`</code> data object type
 84603  // defines information for using a network socket as backing for a virtual device.
 84604  type VirtualDeviceURIBackingInfo struct {
 84605  	VirtualDeviceBackingInfo
 84606  
 84607  	// Identifies the local host or a system on the network,
 84608  	// depending on the value of <code>`VirtualDeviceURIBackingInfo.direction`</code>.
 84609  	//     - If you use the virtual machine as a server, the URI identifies
 84610  	//       the host on which the virtual machine runs. In this case,
 84611  	//       the host name part of the URI should be empty, or it should
 84612  	//       specify the address of the local host.
 84613  	//     - If you use the virtual machine as a client, the URI identifies
 84614  	//       the remote system on the network.
 84615  	ServiceURI string `xml:"serviceURI" json:"serviceURI"`
 84616  	// The direction of the connection.
 84617  	//
 84618  	// For possible values see
 84619  	// `VirtualDeviceURIBackingOptionDirection_enum`
 84620  	Direction string `xml:"direction" json:"direction"`
 84621  	// Identifies a proxy service that provides network access to the
 84622  	// <code>`VirtualDeviceURIBackingInfo.serviceURI`</code>.
 84623  	//
 84624  	// If you specify a proxy URI, the virtual machine initiates
 84625  	// a connection with the proxy service and forwards the
 84626  	// `VirtualDeviceURIBackingInfo.serviceURI` and `VirtualDeviceURIBackingInfo.direction` to the proxy.
 84627  	ProxyURI string `xml:"proxyURI,omitempty" json:"proxyURI,omitempty"`
 84628  }
 84629  
 84630  func init() {
 84631  	t["VirtualDeviceURIBackingInfo"] = reflect.TypeOf((*VirtualDeviceURIBackingInfo)(nil)).Elem()
 84632  	minAPIVersionForType["VirtualDeviceURIBackingInfo"] = "4.1"
 84633  }
 84634  
 84635  // The `VirtualDeviceURIBackingOption` data object type describes network communication
 84636  // options for virtual devices.
 84637  //
 84638  // When establishing a connection with a remote system on the network,
 84639  // the virtual machine can act as a server or a client.
 84640  // When the virtual machine acts as a server, it accepts a connection.
 84641  // When the virtual machine acts as a client, it initiates the connection.
 84642  type VirtualDeviceURIBackingOption struct {
 84643  	VirtualDeviceBackingOption
 84644  
 84645  	// List of possible directions.
 84646  	//
 84647  	// Valid directions are:
 84648  	//     - `server`
 84649  	//     - `client`
 84650  	Directions ChoiceOption `xml:"directions" json:"directions"`
 84651  }
 84652  
 84653  func init() {
 84654  	t["VirtualDeviceURIBackingOption"] = reflect.TypeOf((*VirtualDeviceURIBackingOption)(nil)).Elem()
 84655  	minAPIVersionForType["VirtualDeviceURIBackingOption"] = "4.1"
 84656  }
 84657  
 84658  // This data object type contains information about a disk in a virtual machine.
 84659  //
 84660  // The virtual disk backing object types describe the different virtual disk backings
 84661  // available.
 84662  // The disk format version in each case describes
 84663  // the version of the format that is used.
 84664  //
 84665  // Supported virtual disk backings:
 84666  // <dl>
 84667  // <dt>Sparse disk format, version 1 and 2</dt>
 84668  // <dd>The virtual disk backing grows when needed.
 84669  // Supported only for VMware Server.</dd>
 84670  // <dt>Flat disk format, version 1 and 2</dt>
 84671  // <dd>The virtual disk backing is preallocated.
 84672  // Version 1 is supported only for VMware Server.</dd>
 84673  // <dt>Space efficient sparse disk format</dt>
 84674  // <dd>The virtual disk backing grows on demand and
 84675  // incorporates additional space optimizations.</dd>
 84676  // <dt>Raw disk format, version 2</dt>
 84677  // <dd>The virtual disk backing uses a full physical disk drive
 84678  // to back the virtual disk. Supported only for VMware Server.</dd>
 84679  // <dt>Partitioned raw disk format, version 2</dt>
 84680  // <dd>The virtual disk backing uses one or more partitions on a
 84681  // physical disk drive to back a virtual disk. Supported only for VMware Server.</dd>
 84682  // <dt>Raw disk mapping, version 1</dt>
 84683  // <dd>The virtual disk backing uses a raw device mapping to back the virtual disk.
 84684  // Supported for ESX Server 2.5 and 3.x.</dd>
 84685  // </dl>
 84686  type VirtualDisk struct {
 84687  	VirtualDevice
 84688  
 84689  	// Deprecated as of vSphere API 5.5, use `VirtualDisk.capacityInBytes`.
 84690  	//
 84691  	// Capacity of this virtual disk in kilobytes.
 84692  	//
 84693  	// Information might be lost when actual disk size is rounded off to kilobytes.
 84694  	// If the disk is on a Virtual Volume datastore the disk size must be a multiple
 84695  	// of a megabyte.
 84696  	CapacityInKB int64 `xml:"capacityInKB" json:"capacityInKB"`
 84697  	// Capacity of this virtual disk in bytes.
 84698  	//
 84699  	// Server will always populate this property. Clients must initialize it when
 84700  	// creating a new non -RDM disk or in case they want to change the current
 84701  	// capacity of an existing virtual disk, but can omit it otherwise.
 84702  	// If the disk is on a Virtual Volume datastore the disk size must be a multiple
 84703  	// of a megabyte.
 84704  	CapacityInBytes int64 `xml:"capacityInBytes,omitempty" json:"capacityInBytes,omitempty" vim:"5.5"`
 84705  	// Deprecated as of vSphere API 4.1, use
 84706  	// `StorageIOAllocationInfo.shares`.
 84707  	//
 84708  	// Disk shares, used for resource scheduling.
 84709  	Shares *SharesInfo `xml:"shares,omitempty" json:"shares,omitempty"`
 84710  	// Deprecated as of vSphere API 6.5, use.
 84711  	//
 84712  	// Resource allocation for storage I/O.
 84713  	StorageIOAllocation *StorageIOAllocationInfo `xml:"storageIOAllocation,omitempty" json:"storageIOAllocation,omitempty" vim:"4.1"`
 84714  	// Deprecated as of vSphere API 6.5, use `VirtualDisk.vDiskId`.
 84715  	//
 84716  	// Virtual disk durable and unmutable identifier.
 84717  	//
 84718  	// Virtual disk has a UUID field but that can be set through
 84719  	// VirtualDiskManager APIs.
 84720  	// This identifier is a universally unique identifier which is not settable.
 84721  	// VirtualDisk can remain in existence even if it is not associated with VM.
 84722  	DiskObjectId string `xml:"diskObjectId,omitempty" json:"diskObjectId,omitempty" vim:"5.5"`
 84723  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 84724  	// end of availability.
 84725  	//
 84726  	// vFlash cache configuration supported on this virtual disk.
 84727  	VFlashCacheConfigInfo *VirtualDiskVFlashCacheConfigInfo `xml:"vFlashCacheConfigInfo,omitempty" json:"vFlashCacheConfigInfo,omitempty" vim:"5.5"`
 84728  	// IDs of the IO Filters associated with the virtual disk.
 84729  	//
 84730  	// See `IoFilterInfo.id`. This information
 84731  	// is provided when retrieving configuration information for
 84732  	// an existing virtual machine. The client cannot modify this information
 84733  	// on a virtual machine.
 84734  	Iofilter []string `xml:"iofilter,omitempty" json:"iofilter,omitempty" vim:"6.0"`
 84735  	// ID of the virtual disk object as the first class entity.
 84736  	//
 84737  	// See `ID`
 84738  	// The ID is a universally unique identifier for the disk lifecycle,
 84739  	// even if the virtual disk is not associated with VM.
 84740  	VDiskId *ID `xml:"vDiskId,omitempty" json:"vDiskId,omitempty" vim:"6.5"`
 84741  	// Disk descriptor version of the virtual disk.
 84742  	VDiskVersion int32 `xml:"vDiskVersion,omitempty" json:"vDiskVersion,omitempty" vim:"8.0.1.0"`
 84743  	// Indicates whether a disk with
 84744  	// `VirtualDiskFlatVer2BackingInfo` backing is a linked
 84745  	// clone from an unmanaged delta disk and hence the
 84746  	// `VirtualDiskFlatVer2BackingInfo.parent` chain to
 84747  	// this delta disk will not be available.
 84748  	NativeUnmanagedLinkedClone *bool `xml:"nativeUnmanagedLinkedClone" json:"nativeUnmanagedLinkedClone,omitempty" vim:"6.7"`
 84749  	// The IDs of the independent filters associated with the virtual disk.
 84750  	//
 84751  	// This information is provided when retrieving configuration information for
 84752  	// an existing virtual machine. The client cannot modify this information on
 84753  	// a virtual machine.
 84754  	IndependentFilters []BaseVirtualMachineBaseIndependentFilterSpec `xml:"independentFilters,omitempty,typeattr" json:"independentFilters,omitempty" vim:"7.0.2.1"`
 84755  	// Flag to indicate whether a disk should be presented to the guest
 84756  	// in read-only mode (limited by choice of adapter).
 84757  	GuestReadOnly *bool `xml:"guestReadOnly" json:"guestReadOnly,omitempty" vim:"8.0.2.0"`
 84758  }
 84759  
 84760  func init() {
 84761  	t["VirtualDisk"] = reflect.TypeOf((*VirtualDisk)(nil)).Elem()
 84762  }
 84763  
 84764  // Pod-wide anit-affinity rule for virtual disks.
 84765  //
 84766  // The set of virtual disks should
 84767  // be placed on different datastores.
 84768  type VirtualDiskAntiAffinityRuleSpec struct {
 84769  	ClusterRuleInfo
 84770  
 84771  	// The list of virtual disks.
 84772  	DiskId []int32 `xml:"diskId" json:"diskId"`
 84773  }
 84774  
 84775  func init() {
 84776  	t["VirtualDiskAntiAffinityRuleSpec"] = reflect.TypeOf((*VirtualDiskAntiAffinityRuleSpec)(nil)).Elem()
 84777  	minAPIVersionForType["VirtualDiskAntiAffinityRuleSpec"] = "5.0"
 84778  }
 84779  
 84780  // The disk blocks of the specified virtual disk have not been fully
 84781  // provisioned on the file system.
 84782  //
 84783  // Typically, this fault is returned as part of a parent fault like
 84784  // `VmConfigIncompatibleForFaultTolerance`, indicating that the
 84785  // disk blocks of the virtual disk must be fully provisioned on the file system
 84786  // before fault tolerance can be enabled on the associated virtual machine.
 84787  type VirtualDiskBlocksNotFullyProvisioned struct {
 84788  	DeviceBackingNotSupported
 84789  }
 84790  
 84791  func init() {
 84792  	t["VirtualDiskBlocksNotFullyProvisioned"] = reflect.TypeOf((*VirtualDiskBlocksNotFullyProvisioned)(nil)).Elem()
 84793  	minAPIVersionForType["VirtualDiskBlocksNotFullyProvisioned"] = "4.0"
 84794  }
 84795  
 84796  type VirtualDiskBlocksNotFullyProvisionedFault VirtualDiskBlocksNotFullyProvisioned
 84797  
 84798  func init() {
 84799  	t["VirtualDiskBlocksNotFullyProvisionedFault"] = reflect.TypeOf((*VirtualDiskBlocksNotFullyProvisionedFault)(nil)).Elem()
 84800  }
 84801  
 84802  // The VirtualDiskSpec data object type encapsulates change
 84803  // specifications for an individual virtual disk device.
 84804  //
 84805  // The virtual
 84806  // disk being added or modified must be fully specified.
 84807  type VirtualDiskConfigSpec struct {
 84808  	VirtualDeviceConfigSpec
 84809  
 84810  	// Manner in which to move the virtual disk to the target datastore.
 84811  	//
 84812  	// The set of possible values is described in
 84813  	// `VirtualMachineRelocateDiskMoveOptions_enum`.
 84814  	//
 84815  	// This property can only be set if `HostCapability.deltaDiskBackingsSupported` is true.
 84816  	//
 84817  	// If left unset then `moveAllDiskBackingsAndDisallowSharing`
 84818  	// is assumed.
 84819  	DiskMoveType string `xml:"diskMoveType,omitempty" json:"diskMoveType,omitempty" vim:"6.0"`
 84820  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 84821  	// end of availability.
 84822  	//
 84823  	// Manner in which to transfer the cache associated with the virtual disk to the
 84824  	// target host.
 84825  	//
 84826  	// If left unset then migrate is used when virtual flash resource on the source host
 84827  	// is accessible and when the backing vFlash module version is compatible with the
 84828  	// specific vFalsh module on the target host; otherwise flush is used for write back
 84829  	// cache, or a no-op for write through cache. This setting can avoid VM migration failure
 84830  	// due to incompatibility.
 84831  	// If true then migrate is always used. VM migration may fail if the backing vFlash module
 84832  	// version is incompatible with the module on the target host.
 84833  	// If false then flush is used for write back cache. It is a no-op for write through
 84834  	// cache. This setting can avoid VM migration failure due to incompatibility, but cache
 84835  	// files have to be rebuilt on the target host.
 84836  	// Default is unset.
 84837  	//
 84838  	// See also `HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption`.
 84839  	MigrateCache *bool `xml:"migrateCache" json:"migrateCache,omitempty"`
 84840  }
 84841  
 84842  func init() {
 84843  	t["VirtualDiskConfigSpec"] = reflect.TypeOf((*VirtualDiskConfigSpec)(nil)).Elem()
 84844  	minAPIVersionForType["VirtualDiskConfigSpec"] = "5.5"
 84845  }
 84846  
 84847  // Delta disk format supported for each datastore type.
 84848  type VirtualDiskDeltaDiskFormatsSupported struct {
 84849  	DynamicData
 84850  
 84851  	// Datastore type name
 84852  	DatastoreType string `xml:"datastoreType" json:"datastoreType"`
 84853  	// Delta disk formats supported.
 84854  	//
 84855  	// Valid values are:
 84856  	//     - `redoLogFormat`
 84857  	//     - `nativeFormat`
 84858  	DeltaDiskFormat ChoiceOption `xml:"deltaDiskFormat" json:"deltaDiskFormat"`
 84859  }
 84860  
 84861  func init() {
 84862  	t["VirtualDiskDeltaDiskFormatsSupported"] = reflect.TypeOf((*VirtualDiskDeltaDiskFormatsSupported)(nil)).Elem()
 84863  	minAPIVersionForType["VirtualDiskDeltaDiskFormatsSupported"] = "5.1"
 84864  }
 84865  
 84866  // This data object type contains information about backing a virtual disk by
 84867  // using a virtual disk file on the host, in the flat file format used by
 84868  // GSX Server 2.x.
 84869  //
 84870  // Flat disks are allocated when created, unlike sparse disks, which
 84871  // grow as needed.
 84872  type VirtualDiskFlatVer1BackingInfo struct {
 84873  	VirtualDeviceFileBackingInfo
 84874  
 84875  	// The disk persistence mode.
 84876  	//
 84877  	// Valid modes are:
 84878  	//     - `persistent`
 84879  	//     - `nonpersistent`
 84880  	//     - `undoable`
 84881  	//
 84882  	// See also `VirtualDiskMode_enum`.
 84883  	DiskMode string `xml:"diskMode" json:"diskMode"`
 84884  	// Flag to indicate the type of virtual disk file: split or monolithic.
 84885  	//
 84886  	// If true, the virtual disk is stored in multiple files, each 2GB.
 84887  	Split *bool `xml:"split" json:"split,omitempty"`
 84888  	// Flag to indicate whether writes should go directly to the file system
 84889  	// or should be buffered.
 84890  	WriteThrough *bool `xml:"writeThrough" json:"writeThrough,omitempty"`
 84891  	// Content ID of the virtual disk file, if available.
 84892  	//
 84893  	// A content ID indicates the logical contents of the disk backing and its parents.
 84894  	//
 84895  	// This property is only guaranteed to be up to date if this disk backing is not
 84896  	// currently being written to by any virtual machine.
 84897  	//
 84898  	// The only supported operation is comparing if two content IDs are equal or not.
 84899  	// The guarantee provided by the content ID is that if two disk backings have the
 84900  	// same content ID and are not currently being written to, then reads issued from
 84901  	// the guest operating system to those disk backings will return the same data.
 84902  	ContentId string `xml:"contentId,omitempty" json:"contentId,omitempty" vim:"4.0"`
 84903  	// The parent of this virtual disk file, if this is a delta disk backing.
 84904  	//
 84905  	// This will be unset if this is not a delta disk backing.
 84906  	//
 84907  	// A delta disk backing is a way to preserve a virtual disk backing
 84908  	// at some point in time. A delta disk backing is a file backing which in
 84909  	// turn points to the original virtual disk backing (the parent). After a delta
 84910  	// disk backing is added, all writes go to the delta disk backing. All reads
 84911  	// first try the delta disk backing and then try the parent backing if needed.
 84912  	//
 84913  	// A delta disk backing can be added to a disk either implicitly during
 84914  	// snapshot operations, or explicitly during create or reconfigure of the virtual
 84915  	// machine.
 84916  	//
 84917  	// Note that the type of the backing is consistent throughout the chain; any new
 84918  	// delta disk backing which is added is of the same type as the original disk .
 84919  	// Also note that since the parent backing is not being written to,
 84920  	// it is possible that the parent backing may be shared among multiple
 84921  	// disks belonging to multiple virtual machines.
 84922  	//
 84923  	// During virtual machine `creation` and
 84924  	// `reconfiguration` this property is
 84925  	// only checked if the `VirtualDeviceConfigSpec` specifies
 84926  	// an *add operation* with a
 84927  	// *create file operation*.
 84928  	// In this case, a new delta disk backing is created which points to the parent
 84929  	// disk backing. Only the `fileName`
 84930  	// property is important; all other properties will be ignored. The parent backing
 84931  	// is assumed to exist and will not be recursively created.
 84932  	//
 84933  	// This property may only be set if
 84934  	// `deltaDiskBackingsSupported`
 84935  	// is true.
 84936  	Parent *VirtualDiskFlatVer1BackingInfo `xml:"parent,omitempty" json:"parent,omitempty" vim:"4.0"`
 84937  }
 84938  
 84939  func init() {
 84940  	t["VirtualDiskFlatVer1BackingInfo"] = reflect.TypeOf((*VirtualDiskFlatVer1BackingInfo)(nil)).Elem()
 84941  }
 84942  
 84943  // This data object type contains the available options when backing a virtual disk
 84944  // using a host file with the flat file format from GSX Server 2.x.
 84945  //
 84946  // Flat disks are pre-allocated, whereas sparse disks are grown as needed.
 84947  type VirtualDiskFlatVer1BackingOption struct {
 84948  	VirtualDeviceFileBackingOption
 84949  
 84950  	// The disk mode.
 84951  	//
 84952  	// Valid disk modes are:
 84953  	//     - `persistent`
 84954  	//     - `nonpersistent`
 84955  	//     - `undoable`
 84956  	//     - `independent_persistent`
 84957  	//     - `independent_nonpersistent`
 84958  	//     - `append`
 84959  	//
 84960  	// See also `VirtualDiskMode_enum`.
 84961  	DiskMode ChoiceOption `xml:"diskMode" json:"diskMode"`
 84962  	// Flag to indicate whether or not the host supports
 84963  	// allowing the client to select whether or not a disk
 84964  	// should be split.
 84965  	Split BoolOption `xml:"split" json:"split"`
 84966  	// Flag to indicate whether or not the host supports
 84967  	// allowing the client to select "writethrough" as a mode for
 84968  	// virtual disks.
 84969  	//
 84970  	// Typically, this is available only for GSX Server Linux hosts.
 84971  	WriteThrough BoolOption `xml:"writeThrough" json:"writeThrough"`
 84972  	// Flag to indicate whether this backing can have its size changed.
 84973  	Growable bool `xml:"growable" json:"growable"`
 84974  }
 84975  
 84976  func init() {
 84977  	t["VirtualDiskFlatVer1BackingOption"] = reflect.TypeOf((*VirtualDiskFlatVer1BackingOption)(nil)).Elem()
 84978  }
 84979  
 84980  // This data object type contains information about backing a virtual disk using a
 84981  // virtual disk file on the host, in the flat file format used by VMware Server,
 84982  // ESX Server 2.x, and ESX Server 3.x.
 84983  //
 84984  // Flat disks are allocated when created, unlike sparse disks, which
 84985  // grow as needed.
 84986  type VirtualDiskFlatVer2BackingInfo struct {
 84987  	VirtualDeviceFileBackingInfo
 84988  
 84989  	// The disk persistence mode.
 84990  	//
 84991  	// Valid modes are:
 84992  	//     - `persistent`
 84993  	//     - `independent_persistent`
 84994  	//     - `independent_nonpersistent`
 84995  	//     - `nonpersistent`
 84996  	//     - `undoable`
 84997  	//     - `append`
 84998  	//
 84999  	// See also `VirtualDiskMode_enum`.
 85000  	DiskMode string `xml:"diskMode" json:"diskMode"`
 85001  	// Flag to indicate the type of virtual disk file: split or monolithic.
 85002  	//
 85003  	// If true, the virtual disk is stored in multiple files, each 2GB.
 85004  	// On ESX this property is ignored when creating new disks or
 85005  	// editing existing disks. This property is always false for disks
 85006  	// created on ESX.
 85007  	// When an existing split disk such as those created by VMware
 85008  	// Server is added to a virtual machine on ESX, the property will
 85009  	// be set to true when retrieved from `VirtualMachineConfigInfo`.
 85010  	Split *bool `xml:"split" json:"split,omitempty"`
 85011  	// Flag to indicate whether writes should go directly to the file system
 85012  	// or should be buffered.
 85013  	WriteThrough *bool `xml:"writeThrough" json:"writeThrough,omitempty"`
 85014  	// Flag to indicate to the underlying filesystem, whether the
 85015  	// virtual disk backing file should be allocated lazily (using
 85016  	// thin provisioning). This flag is only used for file systems
 85017  	// that support configuring the provisioning policy on a per file
 85018  	// basis, such as VMFS3.
 85019  	//
 85020  	// When specified as part of a `VirtualMachineConfigSpec`, this
 85021  	// property applies only when creating a new virtual disk; it is
 85022  	// ignored when editing an existing virtual disk.
 85023  	//
 85024  	// see `DatastoreCapability.perFileThinProvisioningSupported`
 85025  	ThinProvisioned *bool `xml:"thinProvisioned" json:"thinProvisioned,omitempty"`
 85026  	// Flag to indicate to the underlying filesystem whether the
 85027  	// virtual disk backing file should be scrubbed completely at
 85028  	// this time.
 85029  	//
 85030  	// Virtual disks on some filesystems like VMFS3 are zeroed-out
 85031  	// lazily so that disk creation time doesn't take too long.
 85032  	// However, clustering applications and features like
 85033  	// Fault Tolerance require that the virtual disk be
 85034  	// completely scrubbed. This setting allows controlling the
 85035  	// scrubbing policy on a per-disk basis.
 85036  	//
 85037  	// If this flag is unset or set to false when creating a new disk,
 85038  	// the disk scrubbing policy will be decided by the filesystem. If
 85039  	// this flag is unset or set to false when editing an existing disk,
 85040  	// it is ignored.
 85041  	// When returned as part of a `VirtualMachineConfigInfo`, this
 85042  	// property may be unset if its value is unknown.
 85043  	EagerlyScrub *bool `xml:"eagerlyScrub" json:"eagerlyScrub,omitempty" vim:"4.0"`
 85044  	// Disk UUID for the virtual disk, if available.
 85045  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty" vim:"2.5"`
 85046  	// Content ID of the virtual disk file, if available.
 85047  	//
 85048  	// A content ID indicates the logical contents of the disk backing and its parents.
 85049  	//
 85050  	// This property is only guaranteed to be up to date if this disk backing is not
 85051  	// currently being written to by any virtual machine.
 85052  	//
 85053  	// The only supported operation is comparing if two content IDs are equal or not.
 85054  	// The guarantee provided by the content ID is that if two disk backings have the
 85055  	// same content ID and are not currently being written to, then reads issued from
 85056  	// the guest operating system to those disk backings will return the same data.
 85057  	ContentId string `xml:"contentId,omitempty" json:"contentId,omitempty" vim:"4.0"`
 85058  	// The change ID of the virtual disk for the corresponding
 85059  	// snapshot or virtual machine.
 85060  	//
 85061  	// This can be used to track
 85062  	// incremental changes to a virtual disk. See
 85063  	// `VirtualMachine.QueryChangedDiskAreas`.
 85064  	ChangeId string `xml:"changeId,omitempty" json:"changeId,omitempty" vim:"4.0"`
 85065  	// The parent of this virtual disk file, if this is a delta disk backing.
 85066  	//
 85067  	// This will be unset if this is not a delta disk backing.
 85068  	//
 85069  	// A delta disk backing is a way to preserve a virtual disk backing
 85070  	// at some point in time. A delta disk backing is a file backing which in
 85071  	// turn points to the original virtual disk backing (the parent). After a delta
 85072  	// disk backing is added, all writes go to the delta disk backing. All reads
 85073  	// first try the delta disk backing and then try the parent backing if needed.
 85074  	//
 85075  	// A delta disk backing can be added to a disk either implicitly during
 85076  	// snapshot operations, or explicitly during create or reconfigure of the virtual
 85077  	// machine.
 85078  	//
 85079  	// Note that the type of the backing is consistent throughout the chain; any new
 85080  	// delta disk backing which is added is of the same type as the original disk .
 85081  	// Also note that since the parent backing is not being written to,
 85082  	// it is possible that the parent backing may be shared among multiple
 85083  	// disks belonging to multiple virtual machines.
 85084  	//
 85085  	// During virtual machine `creation` and
 85086  	// `reconfiguration` this property is
 85087  	// only checked if the `VirtualDeviceConfigSpec` specifies
 85088  	// an *add operation* with a
 85089  	// *create file operation*.
 85090  	// In this case, a new delta disk backing is created which points to the parent
 85091  	// disk backing. Only the `fileName`
 85092  	// property is important; all other properties will be ignored. The parent backing
 85093  	// is assumed to exist and will not be recursively created.
 85094  	//
 85095  	// This property may only be set if
 85096  	// `deltaDiskBackingsSupported`
 85097  	// is true.
 85098  	Parent *VirtualDiskFlatVer2BackingInfo `xml:"parent,omitempty" json:"parent,omitempty" vim:"4.0"`
 85099  	// The format of the delta disk.
 85100  	//
 85101  	// This field is valid only for a delta disk.
 85102  	//
 85103  	// See `DeltaDiskFormat` for the
 85104  	// supported formats. If not specified, the default value used is
 85105  	// `redoLogFormat`.
 85106  	//
 85107  	// If `nativeFormat`
 85108  	// is specified and the datastore does not support this format or the parent is
 85109  	// on a different datastore,
 85110  	// `DeltaDiskFormatNotSupported` is
 85111  	// thrown.
 85112  	//
 85113  	// vSphere server does not support relocation of virtual machines with
 85114  	// `nativeFormat`.
 85115  	// An exception is thrown for such requests.
 85116  	DeltaDiskFormat string `xml:"deltaDiskFormat,omitempty" json:"deltaDiskFormat,omitempty" vim:"5.0"`
 85117  	// Indicates whether the disk backing has digest file enabled.
 85118  	DigestEnabled *bool `xml:"digestEnabled" json:"digestEnabled,omitempty" vim:"5.0"`
 85119  	// Grain size in kB for a delta disk of format type seSparseFormat.
 85120  	//
 85121  	// The default
 85122  	// size is 4 kB.
 85123  	// This setting is used to specify the grain size of
 85124  	// `Flex-SE` delta disks
 85125  	// when the base disk is of type FlatVer2BackingInfo.
 85126  	// The `DeltaDiskFormat` must also
 85127  	// be set to seSparseFormat.
 85128  	DeltaGrainSize int32 `xml:"deltaGrainSize,omitempty" json:"deltaGrainSize,omitempty" vim:"5.1"`
 85129  	// The delta disk format variant, if applicable.
 85130  	//
 85131  	// This field is valid only for a delta disk and may specify more detailed
 85132  	// information for the delta disk format specified in
 85133  	// `deltaDiskFormat`.
 85134  	//
 85135  	// If `redoLogFormat` is
 85136  	// specified for the
 85137  	// `deltaDiskFormat`,
 85138  	// see `DeltaDiskFormatVariant` for the
 85139  	// supported formats. If this is not specified for
 85140  	// `redoLogFormat`,
 85141  	// the default value used is
 85142  	// `vmfsSparseVariant`.
 85143  	//
 85144  	// For other delta disk formats, this currently remains unspecified.
 85145  	DeltaDiskFormatVariant string `xml:"deltaDiskFormatVariant,omitempty" json:"deltaDiskFormatVariant,omitempty" vim:"6.0"`
 85146  	// The sharing mode of the virtual disk.
 85147  	//
 85148  	// See `VirtualDiskSharing_enum`. The default value is
 85149  	// no sharing.
 85150  	Sharing string `xml:"sharing,omitempty" json:"sharing,omitempty" vim:"6.0"`
 85151  	// Virtual Disk Backing encryption options.
 85152  	//
 85153  	// On modification operations the value is ignored, use the specification
 85154  	// `VirtualDeviceConfigSpecBackingSpec.crypto` in
 85155  	// `VirtualDeviceConfigSpec.backing`.
 85156  	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty" vim:"6.5"`
 85157  }
 85158  
 85159  func init() {
 85160  	t["VirtualDiskFlatVer2BackingInfo"] = reflect.TypeOf((*VirtualDiskFlatVer2BackingInfo)(nil)).Elem()
 85161  }
 85162  
 85163  // This data object type contains the available options when backing a virtual
 85164  // disk using a host file with the flat file format used in VMware Server and
 85165  // in ESX Server 2.x and greater.
 85166  //
 85167  // Flat disks are pre-allocated, whereas sparse disks are grown as needed.
 85168  type VirtualDiskFlatVer2BackingOption struct {
 85169  	VirtualDeviceFileBackingOption
 85170  
 85171  	// The disk mode.
 85172  	//
 85173  	// Valid disk modes are:
 85174  	//     - `persistent`
 85175  	//     - `independent_persistent`
 85176  	//     - `independent_nonpersistent`
 85177  	//
 85178  	// See also `VirtualDiskMode_enum`.
 85179  	DiskMode ChoiceOption `xml:"diskMode" json:"diskMode"`
 85180  	// Flag to indicate whether or not the host supports
 85181  	// allowing the client to select whether or not a disk
 85182  	// should be split.
 85183  	Split BoolOption `xml:"split" json:"split"`
 85184  	// Flag to indicate whether or not the host supports
 85185  	// allowing the client to select "writethrough" as a mode for
 85186  	// virtual disks.
 85187  	//
 85188  	// Typically, this is available only for VMware Server Linux hosts.
 85189  	WriteThrough BoolOption `xml:"writeThrough" json:"writeThrough"`
 85190  	// Indicates whether or not this disk backing can be
 85191  	// extended to larger sizes through a reconfigure operation.
 85192  	//
 85193  	// If set to true, reconfiguring this virtual disk
 85194  	// with a `VirtualDisk.capacityInKB` value greater
 85195  	// than its current value will grow the disk to the newly specified size.
 85196  	Growable bool `xml:"growable" json:"growable"`
 85197  	// Indicates whether or not this disk backing can be
 85198  	// extended to larger sizes through a reconfigure operation while
 85199  	// the virtual machine is powered on.
 85200  	//
 85201  	// If set to true, reconfiguring this virtual disk
 85202  	// with a `VirtualDisk.capacityInKB` value greater
 85203  	// than its current value will grow the disk to the newly specified size
 85204  	// while the virtual machine is powered on.
 85205  	HotGrowable bool `xml:"hotGrowable" json:"hotGrowable" vim:"2.5"`
 85206  	// Flag to indicate whether this backing supports disk UUID property.
 85207  	Uuid bool `xml:"uuid" json:"uuid" vim:"2.5"`
 85208  	// Flag to indicate if this backing supports thin-provisioned disks.
 85209  	//
 85210  	// When creating a thin-provisioned disk (or converting an existing disk to
 85211  	// to a thin-provisioned one), both the target datastore and the
 85212  	// host accessing it must support thin-provisioning. This flag indicates only
 85213  	// the host capability. See `DatastoreCapability.perFileThinProvisioningSupported`
 85214  	// for datastore capability.
 85215  	ThinProvisioned *BoolOption `xml:"thinProvisioned,omitempty" json:"thinProvisioned,omitempty" vim:"4.0"`
 85216  	// Flag to indicate if this backing supports eager scrubbing.
 85217  	EagerlyScrub *BoolOption `xml:"eagerlyScrub,omitempty" json:"eagerlyScrub,omitempty" vim:"4.0"`
 85218  	// Deprecated as of vSphere API 5.1, please use
 85219  	// `VirtualDiskFlatVer2BackingOption.deltaDiskFormatsSupported`.
 85220  	//
 85221  	// Delta disk formats supported.
 85222  	//
 85223  	// Valid values are:
 85224  	//     - `redoLogFormat`
 85225  	//     - `nativeFormat`
 85226  	DeltaDiskFormat *ChoiceOption `xml:"deltaDiskFormat,omitempty" json:"deltaDiskFormat,omitempty" vim:"5.0"`
 85227  	// Delta disk formats supported for each datastore type.
 85228  	DeltaDiskFormatsSupported []VirtualDiskDeltaDiskFormatsSupported `xml:"deltaDiskFormatsSupported,omitempty" json:"deltaDiskFormatsSupported,omitempty" vim:"5.1"`
 85229  }
 85230  
 85231  func init() {
 85232  	t["VirtualDiskFlatVer2BackingOption"] = reflect.TypeOf((*VirtualDiskFlatVer2BackingOption)(nil)).Elem()
 85233  }
 85234  
 85235  // Identifier for a virtual disk.
 85236  type VirtualDiskId struct {
 85237  	DynamicData
 85238  
 85239  	// Virtual machine reference.
 85240  	//
 85241  	// Refers instance of `VirtualMachine`.
 85242  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 85243  	// Device ID `VirtualDevice.key` of the virtual disk.
 85244  	DiskId int32 `xml:"diskId" json:"diskId"`
 85245  }
 85246  
 85247  func init() {
 85248  	t["VirtualDiskId"] = reflect.TypeOf((*VirtualDiskId)(nil)).Elem()
 85249  	minAPIVersionForType["VirtualDiskId"] = "5.0"
 85250  }
 85251  
 85252  // This data object type contains information about backing a virtual disk
 85253  // using non-volatile memory technologies (persistent memory).
 85254  //
 85255  // Supported for ESX Server 6.5 and later.
 85256  type VirtualDiskLocalPMemBackingInfo struct {
 85257  	VirtualDeviceFileBackingInfo
 85258  
 85259  	// The disk persistence mode.
 85260  	//
 85261  	// See also `VirtualDiskMode_enum`.
 85262  	DiskMode string `xml:"diskMode" json:"diskMode"`
 85263  	// Disk UUID for the virtual disk, if available.
 85264  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 85265  	// Persistent memory volume UUID - UUID which associates this
 85266  	// virtual disk with a specific host.
 85267  	//
 85268  	// This is read only property.
 85269  	//
 85270  	// See also `HostPersistentMemoryInfo.volumeUUID`.
 85271  	VolumeUUID string `xml:"volumeUUID,omitempty" json:"volumeUUID,omitempty"`
 85272  	// Content ID of the virtual disk file, if available.
 85273  	//
 85274  	// A content ID indicates the logical contents of the disk backing and
 85275  	// its parents.
 85276  	//
 85277  	// This property is only guaranteed to be up to date if this disk backing
 85278  	// is not currently being written to by any virtual machine.
 85279  	//
 85280  	// The only supported operation is comparing if two content IDs are equal
 85281  	// or not. The guarantee provided by the content ID is that if two disk
 85282  	// backings have the same content ID and are not currently being written
 85283  	// to, then reads issued from the guest operating system to those disk
 85284  	// backings will return the same data.
 85285  	ContentId string `xml:"contentId,omitempty" json:"contentId,omitempty"`
 85286  }
 85287  
 85288  func init() {
 85289  	t["VirtualDiskLocalPMemBackingInfo"] = reflect.TypeOf((*VirtualDiskLocalPMemBackingInfo)(nil)).Elem()
 85290  	minAPIVersionForType["VirtualDiskLocalPMemBackingInfo"] = "6.7"
 85291  }
 85292  
 85293  // This data object type contains the available options when backing
 85294  // a virtualdisk using persistent memory.
 85295  type VirtualDiskLocalPMemBackingOption struct {
 85296  	VirtualDeviceFileBackingOption
 85297  
 85298  	// The disk mode.
 85299  	//
 85300  	// See also `VirtualDiskMode_enum`.
 85301  	DiskMode ChoiceOption `xml:"diskMode" json:"diskMode"`
 85302  	// Indicates whether or not this disk backing can be
 85303  	// extended to larger sizes through a reconfigure operation.
 85304  	//
 85305  	// If set to true, reconfiguring this virtual disk
 85306  	// with a `VirtualDisk.capacityInKB` value greater
 85307  	// than its current value will grow the disk to the newly specified size.
 85308  	Growable bool `xml:"growable" json:"growable"`
 85309  	// Indicates whether or not this disk backing can be
 85310  	// extended to larger sizes through a reconfigure operation while
 85311  	// the virtual machine is powered on.
 85312  	//
 85313  	// If set to true, reconfiguring this virtual disk
 85314  	// with a `VirtualDisk.capacityInKB` value greater
 85315  	// than its current value will grow the disk to the newly specified size
 85316  	// while the virtual machine is powered on.
 85317  	HotGrowable bool `xml:"hotGrowable" json:"hotGrowable"`
 85318  	// Flag to indicate whether this backing supports disk UUID property.
 85319  	Uuid bool `xml:"uuid" json:"uuid"`
 85320  }
 85321  
 85322  func init() {
 85323  	t["VirtualDiskLocalPMemBackingOption"] = reflect.TypeOf((*VirtualDiskLocalPMemBackingOption)(nil)).Elem()
 85324  	minAPIVersionForType["VirtualDiskLocalPMemBackingOption"] = "6.7"
 85325  }
 85326  
 85327  // The disk mode of the specified virtual disk is not supported.
 85328  //
 85329  // Typically, this fault is returned as part of a parent fault like
 85330  // `VmConfigIncompatibleForFaultTolerance`, indicating that the
 85331  // virtual disk's mode needs to be changed before fault tolerance can be
 85332  // enabled on the associated virtual machine.
 85333  type VirtualDiskModeNotSupported struct {
 85334  	DeviceNotSupported
 85335  
 85336  	// Disk mode that is not supported
 85337  	Mode string `xml:"mode" json:"mode"`
 85338  }
 85339  
 85340  func init() {
 85341  	t["VirtualDiskModeNotSupported"] = reflect.TypeOf((*VirtualDiskModeNotSupported)(nil)).Elem()
 85342  	minAPIVersionForType["VirtualDiskModeNotSupported"] = "4.1"
 85343  }
 85344  
 85345  type VirtualDiskModeNotSupportedFault VirtualDiskModeNotSupported
 85346  
 85347  func init() {
 85348  	t["VirtualDiskModeNotSupportedFault"] = reflect.TypeOf((*VirtualDiskModeNotSupportedFault)(nil)).Elem()
 85349  }
 85350  
 85351  // The VirtualDiskOption data class contains the options for the
 85352  // virtual disk data object type.
 85353  type VirtualDiskOption struct {
 85354  	VirtualDeviceOption
 85355  
 85356  	// Minimum, maximum, and default capacity of the disk.
 85357  	CapacityInKB LongOption `xml:"capacityInKB" json:"capacityInKB"`
 85358  	// Minimum, maximum, and default values for Storage I/O allocation.
 85359  	//
 85360  	// See also `StorageIOAllocationInfo`.
 85361  	IoAllocationOption *StorageIOAllocationOption `xml:"ioAllocationOption,omitempty" json:"ioAllocationOption,omitempty" vim:"4.1"`
 85362  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 85363  	// end of availability.
 85364  	//
 85365  	// vFlash cache configuration on the disk.
 85366  	VFlashCacheConfigOption *VirtualDiskOptionVFlashCacheConfigOption `xml:"vFlashCacheConfigOption,omitempty" json:"vFlashCacheConfigOption,omitempty" vim:"5.5"`
 85367  }
 85368  
 85369  func init() {
 85370  	t["VirtualDiskOption"] = reflect.TypeOf((*VirtualDiskOption)(nil)).Elem()
 85371  }
 85372  
 85373  // Deprecated since vSphere 7.0 because vFlash Read Cache
 85374  // end of availability.
 85375  //
 85376  // Options for vFlash cache configuration.
 85377  type VirtualDiskOptionVFlashCacheConfigOption struct {
 85378  	DynamicData
 85379  
 85380  	// Cache data consistency type.
 85381  	//
 85382  	// See `VirtualDiskVFlashCacheConfigInfoCacheConsistencyType_enum`
 85383  	CacheConsistencyType ChoiceOption `xml:"cacheConsistencyType" json:"cacheConsistencyType"`
 85384  	// Cache mode
 85385  	// See `VirtualDiskVFlashCacheConfigInfoCacheMode_enum`
 85386  	CacheMode ChoiceOption `xml:"cacheMode" json:"cacheMode"`
 85387  	// Cache reservation
 85388  	ReservationInMB LongOption `xml:"reservationInMB" json:"reservationInMB"`
 85389  	// Cache block size
 85390  	BlockSizeInKB LongOption `xml:"blockSizeInKB" json:"blockSizeInKB"`
 85391  }
 85392  
 85393  func init() {
 85394  	t["VirtualDiskOptionVFlashCacheConfigOption"] = reflect.TypeOf((*VirtualDiskOptionVFlashCacheConfigOption)(nil)).Elem()
 85395  	minAPIVersionForType["VirtualDiskOptionVFlashCacheConfigOption"] = "5.5"
 85396  }
 85397  
 85398  // This data object type contains information about backing a virtual disk
 85399  // using one or more partitions on a physical disk device.
 85400  //
 85401  // This type of
 85402  // backing is supported for VMware Server.
 85403  type VirtualDiskPartitionedRawDiskVer2BackingInfo struct {
 85404  	VirtualDiskRawDiskVer2BackingInfo
 85405  
 85406  	// Array of partition indexes.
 85407  	//
 85408  	// This array identifies the
 85409  	// partitions that are used on the physical disk drive.
 85410  	Partition []int32 `xml:"partition" json:"partition"`
 85411  }
 85412  
 85413  func init() {
 85414  	t["VirtualDiskPartitionedRawDiskVer2BackingInfo"] = reflect.TypeOf((*VirtualDiskPartitionedRawDiskVer2BackingInfo)(nil)).Elem()
 85415  }
 85416  
 85417  // The VirtualDiskOption.PartitionedRawDiskVer2BackingOption object
 85418  // type contains the available options when backing a virtual disk
 85419  // using one or more partitions on a physical disk device.
 85420  //
 85421  // This
 85422  // backing is supported in VMware Server.
 85423  type VirtualDiskPartitionedRawDiskVer2BackingOption struct {
 85424  	VirtualDiskRawDiskVer2BackingOption
 85425  }
 85426  
 85427  func init() {
 85428  	t["VirtualDiskPartitionedRawDiskVer2BackingOption"] = reflect.TypeOf((*VirtualDiskPartitionedRawDiskVer2BackingOption)(nil)).Elem()
 85429  }
 85430  
 85431  // This data object type contains information about backing a virtual disk using a
 85432  // raw device mapping.
 85433  //
 85434  // Supported for ESX Server 2.5 and 3.x.
 85435  type VirtualDiskRawDiskMappingVer1BackingInfo struct {
 85436  	VirtualDeviceFileBackingInfo
 85437  
 85438  	// Unique identifier of the LUN accessed by the raw disk mapping.
 85439  	LunUuid string `xml:"lunUuid,omitempty" json:"lunUuid,omitempty"`
 85440  	// The host-specific device the LUN is being accessed through.
 85441  	//
 85442  	// If the
 85443  	// target LUN is not available on the host then it is empty. For example, this
 85444  	// could happen if it has accidentally been masked out.
 85445  	DeviceName string `xml:"deviceName,omitempty" json:"deviceName,omitempty"`
 85446  	// The compatibility mode of the raw disk mapping (RDM).
 85447  	//
 85448  	// This must be specified
 85449  	// when a new virtual disk with an RDM backing is created. On subsequent virtual
 85450  	// machine reconfigurations, this property should be handled as follows,
 85451  	// depending on the version of the host:
 85452  	//
 85453  	// On ESX Server 2.5, the compatibility mode of an RDM backing is a
 85454  	// characteristic of the virtual machine's configuration. When reconfiguring
 85455  	// a virtual machine that currently uses a virtual disk backed by an RDM,
 85456  	// the compatibility mode of that backing may be modified. When reconfiguring a
 85457  	// virtual machine to add an existing virtual disk backed by an RDM, the
 85458  	// compatibility mode of that backing may be specified. If left unspecified it
 85459  	// defaults to "physicalMode".
 85460  	//
 85461  	// On ESX Server 3.x, the compatibility mode of an RDM backing is a
 85462  	// characteristic of the RDM itself. Once the RDM is created, its compatibility
 85463  	// mode cannot be changed by reconfiguring the virtual machine. When
 85464  	// reconfiguring a virtual machine to add an existing virtual disk backed by an
 85465  	// RDM, the compatibility mode of that backing must be left unspecified.
 85466  	//
 85467  	// See also `VirtualDiskCompatibilityMode_enum`.
 85468  	CompatibilityMode string `xml:"compatibilityMode,omitempty" json:"compatibilityMode,omitempty"`
 85469  	// The disk mode.
 85470  	//
 85471  	// Valid values are:
 85472  	//     - `persistent`
 85473  	//     - `independent_persistent`
 85474  	//     - `independent_nonpersistent`
 85475  	//     - `nonpersistent`
 85476  	//     - `undoable`
 85477  	//     - `append`
 85478  	//
 85479  	// Disk modes are only supported when the raw disk mapping is using virtual
 85480  	// compatibility mode.
 85481  	//
 85482  	// See also `VirtualDiskMode_enum`.
 85483  	DiskMode string `xml:"diskMode,omitempty" json:"diskMode,omitempty"`
 85484  	// Disk UUID for the virtual disk, if available.
 85485  	//
 85486  	// Disk UUID is not available if
 85487  	// the raw disk mapping is in physical compatibility mode.
 85488  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty" vim:"2.5"`
 85489  	// Content ID of the virtual disk file, if available.
 85490  	//
 85491  	// A content ID indicates the logical contents of the disk backing and its parents.
 85492  	//
 85493  	// This property is only guaranteed to be up to date if this disk backing is not
 85494  	// currently being written to by any virtual machine.
 85495  	//
 85496  	// The only supported operation is comparing if two content IDs are equal or not.
 85497  	// The guarantee provided by the content ID is that if two disk backings have the
 85498  	// same content ID and are not currently being written to, then reads issued from
 85499  	// the guest operating system to those disk backings will return the same data.
 85500  	ContentId string `xml:"contentId,omitempty" json:"contentId,omitempty" vim:"4.0"`
 85501  	// The change ID of the virtual disk for the corresponding
 85502  	// snapshot or virtual machine.
 85503  	//
 85504  	// This can be used to track
 85505  	// incremental changes to a virtual disk. See
 85506  	// `VirtualMachine.QueryChangedDiskAreas`.
 85507  	ChangeId string `xml:"changeId,omitempty" json:"changeId,omitempty" vim:"4.0"`
 85508  	// The parent of this virtual disk file, if this is a delta disk backing.
 85509  	//
 85510  	// This will be unset if this is not a delta disk backing.
 85511  	//
 85512  	// A delta disk backing is a way to preserve a virtual disk backing
 85513  	// at some point in time. A delta disk backing is a file backing which in
 85514  	// turn points to the original virtual disk backing (the parent). After a delta
 85515  	// disk backing is added, all writes go to the delta disk backing. All reads
 85516  	// first try the delta disk backing and then try the parent backing if needed.
 85517  	//
 85518  	// A delta disk backing can be added to a disk either implicitly during
 85519  	// snapshot operations, or explicitly during create or reconfigure of the virtual
 85520  	// machine.
 85521  	//
 85522  	// Note that the type of the backing is consistent throughout the chain; any new
 85523  	// delta disk backing which is added is of the same type as the original disk .
 85524  	// Also note that since the parent backing is not being written to,
 85525  	// it is possible that the parent backing may be shared among multiple
 85526  	// disks belonging to multiple virtual machines.
 85527  	//
 85528  	// During virtual machine `creation` and
 85529  	// `reconfiguration` this property is
 85530  	// only checked if the `VirtualDeviceConfigSpec` specifies
 85531  	// an *add operation* with a
 85532  	// *create file operation*.
 85533  	// In this case, a new delta disk backing is created which points to the parent
 85534  	// disk backing. Only the `fileName`
 85535  	// property is important; all other properties will be ignored. The parent backing
 85536  	// is assumed to exist and will not be recursively created.
 85537  	//
 85538  	// Only raw disk mappings in *virtual compatibility mode* can have parents.
 85539  	//
 85540  	// This property may only be set if
 85541  	// `deltaDiskBackingsSupported`
 85542  	// is true.
 85543  	Parent *VirtualDiskRawDiskMappingVer1BackingInfo `xml:"parent,omitempty" json:"parent,omitempty" vim:"4.0"`
 85544  	// The format of the delta disk.
 85545  	//
 85546  	// This field is valid only for a delta disk.
 85547  	//
 85548  	// See `DeltaDiskFormat` for the
 85549  	// supported formats. The default value used for VM with hardware
 85550  	// version 8 and lower is
 85551  	// `redoLogFormat`.
 85552  	// The default value used for VM with hardware
 85553  	// version 9 and higher is
 85554  	// `seSparseFormat`.
 85555  	//
 85556  	// `nativeFormat` is not
 85557  	// supported for bask disk of type RawDiskMappingVer1BackingInfo.
 85558  	DeltaDiskFormat string `xml:"deltaDiskFormat,omitempty" json:"deltaDiskFormat,omitempty" vim:"6.7"`
 85559  	// Grain size in kB for a delta disk of format type seSparseFormat.
 85560  	//
 85561  	// The default
 85562  	// size is 4 kB.
 85563  	// The grain size of
 85564  	// `Flex-SE` delta disks
 85565  	// when the base disk is of type RawDiskMappingVer1BackingInfo.
 85566  	// The `DeltaDiskFormat` must also
 85567  	// be set to seSparseFormat.
 85568  	DeltaGrainSize int32 `xml:"deltaGrainSize,omitempty" json:"deltaGrainSize,omitempty" vim:"6.7"`
 85569  	// The sharing mode of the virtual disk.
 85570  	//
 85571  	// See `VirtualDiskSharing_enum`. The default value is
 85572  	// no sharing.
 85573  	Sharing string `xml:"sharing,omitempty" json:"sharing,omitempty" vim:"6.0"`
 85574  }
 85575  
 85576  func init() {
 85577  	t["VirtualDiskRawDiskMappingVer1BackingInfo"] = reflect.TypeOf((*VirtualDiskRawDiskMappingVer1BackingInfo)(nil)).Elem()
 85578  }
 85579  
 85580  // The VirtualDiskOption.RawDiskMappingVer1BackingOption object type
 85581  // contains the available options when backing a virtual disk using
 85582  // a raw device mapping on ESX Server 2.5 or 3.x.
 85583  type VirtualDiskRawDiskMappingVer1BackingOption struct {
 85584  	VirtualDeviceDeviceBackingOption
 85585  
 85586  	// Valid extensions for the filename of the optional
 85587  	// raw disk mapping descriptor file.
 85588  	//
 85589  	// This is present only for ESX Server 3.x and greater hosts.
 85590  	DescriptorFileNameExtensions *ChoiceOption `xml:"descriptorFileNameExtensions,omitempty" json:"descriptorFileNameExtensions,omitempty"`
 85591  	// The supported raw disk mapping compatibility modes.
 85592  	//
 85593  	// See also `VirtualDiskCompatibilityMode_enum`.
 85594  	CompatibilityMode ChoiceOption `xml:"compatibilityMode" json:"compatibilityMode"`
 85595  	// The disk mode.
 85596  	//
 85597  	// Valid values are:
 85598  	//     - `persistent`
 85599  	//     - `independent_persistent`
 85600  	//     - `independent_nonpersistent`
 85601  	//
 85602  	// See also `VirtualDiskMode_enum`.
 85603  	DiskMode ChoiceOption `xml:"diskMode" json:"diskMode"`
 85604  	// Flag to indicate whether this backing supports disk UUID property.
 85605  	Uuid bool `xml:"uuid" json:"uuid" vim:"2.5"`
 85606  }
 85607  
 85608  func init() {
 85609  	t["VirtualDiskRawDiskMappingVer1BackingOption"] = reflect.TypeOf((*VirtualDiskRawDiskMappingVer1BackingOption)(nil)).Elem()
 85610  }
 85611  
 85612  // This data object type contains information about backing a virtual disk by
 85613  // using a host device, as used by VMware Server.
 85614  type VirtualDiskRawDiskVer2BackingInfo struct {
 85615  	VirtualDeviceDeviceBackingInfo
 85616  
 85617  	// The name of the raw disk descriptor file.
 85618  	DescriptorFileName string `xml:"descriptorFileName" json:"descriptorFileName"`
 85619  	// Disk UUID for the virtual disk, if available.
 85620  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty" vim:"2.5"`
 85621  	// The change ID of the virtual disk for the corresponding
 85622  	// snapshot or virtual machine.
 85623  	//
 85624  	// This can be used to track
 85625  	// incremental changes to a virtual disk. See
 85626  	// `VirtualMachine.QueryChangedDiskAreas`.
 85627  	ChangeId string `xml:"changeId,omitempty" json:"changeId,omitempty" vim:"4.0"`
 85628  	// The sharing mode of the virtual disk.
 85629  	//
 85630  	// See `VirtualDiskSharing_enum`. The default value is
 85631  	// no sharing.
 85632  	Sharing string `xml:"sharing,omitempty" json:"sharing,omitempty" vim:"6.0"`
 85633  }
 85634  
 85635  func init() {
 85636  	t["VirtualDiskRawDiskVer2BackingInfo"] = reflect.TypeOf((*VirtualDiskRawDiskVer2BackingInfo)(nil)).Elem()
 85637  }
 85638  
 85639  // The VirtualDiskOption.RawDiskVer2BackingOption object type
 85640  // contains the available options when backing a virtual disk
 85641  // using a host device on VMware Server.
 85642  type VirtualDiskRawDiskVer2BackingOption struct {
 85643  	VirtualDeviceDeviceBackingOption
 85644  
 85645  	// Valid extensions for the filename of the raw disk descriptor
 85646  	// file.
 85647  	DescriptorFileNameExtensions ChoiceOption `xml:"descriptorFileNameExtensions" json:"descriptorFileNameExtensions"`
 85648  	// Flag to indicate whether this backing supports disk UUID property.
 85649  	Uuid bool `xml:"uuid" json:"uuid" vim:"2.5"`
 85650  }
 85651  
 85652  func init() {
 85653  	t["VirtualDiskRawDiskVer2BackingOption"] = reflect.TypeOf((*VirtualDiskRawDiskVer2BackingOption)(nil)).Elem()
 85654  }
 85655  
 85656  // The set of virtual disks that are currently disabled
 85657  type VirtualDiskRuleSpec struct {
 85658  	ClusterRuleInfo
 85659  
 85660  	// Type of the virtual disks rule.
 85661  	//
 85662  	// The set of possible values are described
 85663  	// in `VirtualDiskRuleSpecRuleType_enum`
 85664  	DiskRuleType string `xml:"diskRuleType" json:"diskRuleType"`
 85665  	// The list of virtual disks for this rule.
 85666  	DiskId []int32 `xml:"diskId,omitempty" json:"diskId,omitempty"`
 85667  }
 85668  
 85669  func init() {
 85670  	t["VirtualDiskRuleSpec"] = reflect.TypeOf((*VirtualDiskRuleSpec)(nil)).Elem()
 85671  	minAPIVersionForType["VirtualDiskRuleSpec"] = "6.7"
 85672  }
 85673  
 85674  // Backing type for virtual disks that use the space efficient
 85675  // sparse format.
 85676  //
 85677  // Space for space efficient sparse disks is allocated on
 85678  // demand and optimizations are applied to achieve additional
 85679  // space savings. The effective space usage of such a disk can
 85680  // be obtained from `VirtualMachineFileLayoutEx`.
 85681  type VirtualDiskSeSparseBackingInfo struct {
 85682  	VirtualDeviceFileBackingInfo
 85683  
 85684  	// The disk persistence mode.
 85685  	//
 85686  	// Valid modes are:
 85687  	//     - `persistent`
 85688  	//     - `independent_persistent`
 85689  	//     - `independent_nonpersistent`
 85690  	//     - `nonpersistent`
 85691  	//     - `undoable`
 85692  	//     - `append`
 85693  	//
 85694  	// See also `VirtualDiskMode_enum`.
 85695  	DiskMode string `xml:"diskMode" json:"diskMode"`
 85696  	// Flag to indicate whether writes should go directly to the file system
 85697  	// or should be buffered.
 85698  	WriteThrough *bool `xml:"writeThrough" json:"writeThrough,omitempty"`
 85699  	// Disk UUID for the virtual disk, if available.
 85700  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 85701  	// Content ID of the virtual disk file, if available.
 85702  	//
 85703  	// A content ID indicates the logical contents of the disk backing and its parents.
 85704  	//
 85705  	// This property is only guaranteed to be up to date if this disk backing is not
 85706  	// currently being written to by any virtual machine.
 85707  	//
 85708  	// The only supported operation is comparing if two content IDs are equal or not.
 85709  	// The guarantee provided by the content ID is that if two disk backings have the
 85710  	// same content ID and are not currently being written to, then reads issued from
 85711  	// the guest operating system to those disk backings will return the same data.
 85712  	ContentId string `xml:"contentId,omitempty" json:"contentId,omitempty"`
 85713  	// The change ID of the virtual disk for the corresponding
 85714  	// snapshot or virtual machine.
 85715  	//
 85716  	// This can be used to track
 85717  	// incremental changes to a virtual disk. See `VirtualMachine.QueryChangedDiskAreas`.
 85718  	ChangeId string `xml:"changeId,omitempty" json:"changeId,omitempty"`
 85719  	// The parent of this virtual disk file, if this is a delta disk backing.
 85720  	//
 85721  	// This will be unset if this is not a delta disk backing.
 85722  	//
 85723  	// A delta disk backing is a way to preserve a virtual disk backing
 85724  	// at some point in time. A delta disk backing is a file backing which in
 85725  	// turn points to the original virtual disk backing (the parent). After a delta
 85726  	// disk backing is added, all writes go to the delta disk backing. All reads
 85727  	// first try the delta disk backing and then try the parent backing if needed.
 85728  	//
 85729  	// A delta disk backing can be added to a disk either implicitly during
 85730  	// snapshot operations, or explicitly during create or reconfigure of the virtual
 85731  	// machine.
 85732  	//
 85733  	// Note that the type of the backing is consistent throughout the chain; any new
 85734  	// delta disk backing which is added is of the same type as the original disk .
 85735  	// Also note that since the parent backing is not being written to,
 85736  	// it is possible that the parent backing may be shared among multiple
 85737  	// disks belonging to multiple virtual machines.
 85738  	//
 85739  	// During virtual machine `creation` and
 85740  	// `reconfiguration` this property is
 85741  	// only checked if the `VirtualDeviceConfigSpec` specifies
 85742  	// an *add operation* with a
 85743  	// *create file operation*.
 85744  	// In this case, a new delta disk backing is created which points to the parent
 85745  	// disk backing. Only the `fileName`
 85746  	// property is important; all other properties will be ignored. The parent backing
 85747  	// is assumed to exist and will not be recursively created.
 85748  	//
 85749  	// This property may only be set if
 85750  	// `deltaDiskBackingsSupported`
 85751  	// is true.
 85752  	Parent *VirtualDiskSeSparseBackingInfo `xml:"parent,omitempty" json:"parent,omitempty"`
 85753  	// The format of the delta disk.
 85754  	//
 85755  	// This field is valid only for a delta disk.
 85756  	//
 85757  	// See `DeltaDiskFormat` for the
 85758  	// supported formats. If not specified, the default value used is
 85759  	// `redoLogFormat`.
 85760  	DeltaDiskFormat string `xml:"deltaDiskFormat,omitempty" json:"deltaDiskFormat,omitempty"`
 85761  	// Indicates whether the disk backing has digest file enabled.
 85762  	DigestEnabled *bool `xml:"digestEnabled" json:"digestEnabled,omitempty"`
 85763  	// Specify the grain size in kB.
 85764  	//
 85765  	// The default size is 4 kB.
 85766  	GrainSize int32 `xml:"grainSize,omitempty" json:"grainSize,omitempty"`
 85767  	// Virtual Disk Backing encryption options.
 85768  	//
 85769  	// On modification operations the value is ignored, use the specification
 85770  	// `VirtualDeviceConfigSpecBackingSpec.crypto` in
 85771  	// `VirtualDeviceConfigSpec.backing`.
 85772  	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty" vim:"6.5"`
 85773  }
 85774  
 85775  func init() {
 85776  	t["VirtualDiskSeSparseBackingInfo"] = reflect.TypeOf((*VirtualDiskSeSparseBackingInfo)(nil)).Elem()
 85777  	minAPIVersionForType["VirtualDiskSeSparseBackingInfo"] = "5.1"
 85778  }
 85779  
 85780  // Backing options for virtual disks that use the space
 85781  // efficient sparse format.
 85782  //
 85783  // Space for Flex-SE disks is allocated on demand and
 85784  // optimizations are applied to achieve additional
 85785  // space savings.
 85786  type VirtualDiskSeSparseBackingOption struct {
 85787  	VirtualDeviceFileBackingOption
 85788  
 85789  	// The disk mode.
 85790  	//
 85791  	// Valid disk modes are:
 85792  	//     - `persistent`
 85793  	//     - `independent_persistent`
 85794  	//     - `independent_nonpersistent`
 85795  	//
 85796  	// See also `VirtualDiskMode_enum`.
 85797  	DiskMode ChoiceOption `xml:"diskMode" json:"diskMode"`
 85798  	// Flag to indicate whether or not the host supports
 85799  	// allowing the client to select "writethrough" as a mode for
 85800  	// virtual disks.
 85801  	//
 85802  	// Typically, this is available only for VMware Server Linux hosts.
 85803  	WriteThrough BoolOption `xml:"writeThrough" json:"writeThrough"`
 85804  	// Indicates whether or not this disk backing can be
 85805  	// extended to larger sizes through a reconfigure operation.
 85806  	//
 85807  	// If set to true, reconfiguring this virtual disk
 85808  	// with a `VirtualDisk.capacityInKB` value greater
 85809  	// than its current value will grow the disk to the newly specified size.
 85810  	Growable bool `xml:"growable" json:"growable"`
 85811  	// Indicates whether or not this disk backing can be
 85812  	// extended to larger sizes through a reconfigure operation while
 85813  	// the virtual machine is powered on.
 85814  	//
 85815  	// If set to true, reconfiguring this virtual disk
 85816  	// with a `VirtualDisk.capacityInKB` value greater
 85817  	// than its current value will grow the disk to the newly specified size
 85818  	// while the virtual machine is powered on.
 85819  	HotGrowable bool `xml:"hotGrowable" json:"hotGrowable"`
 85820  	// Flag to indicate whether this backing supports disk UUID property.
 85821  	Uuid bool `xml:"uuid" json:"uuid"`
 85822  	// Delta disk formats supported for each datastore type.
 85823  	DeltaDiskFormatsSupported []VirtualDiskDeltaDiskFormatsSupported `xml:"deltaDiskFormatsSupported" json:"deltaDiskFormatsSupported"`
 85824  }
 85825  
 85826  func init() {
 85827  	t["VirtualDiskSeSparseBackingOption"] = reflect.TypeOf((*VirtualDiskSeSparseBackingOption)(nil)).Elem()
 85828  	minAPIVersionForType["VirtualDiskSeSparseBackingOption"] = "5.1"
 85829  }
 85830  
 85831  // This data object type contains information about backing a virtual disk by
 85832  // using a virtual disk file on the host, in the sparse disk format used by
 85833  // GSX Server 2.x.
 85834  type VirtualDiskSparseVer1BackingInfo struct {
 85835  	VirtualDeviceFileBackingInfo
 85836  
 85837  	// The disk persistence mode.
 85838  	//
 85839  	// Valid values are:
 85840  	//     - `persistent`
 85841  	//     - `nonpersistent`
 85842  	//     - `undoable`
 85843  	//     - `independent_persistent`
 85844  	//     - `independent_nonpersistent`
 85845  	//     - `append`
 85846  	//
 85847  	// See also `VirtualDiskMode_enum`.
 85848  	DiskMode string `xml:"diskMode" json:"diskMode"`
 85849  	// Flag to indicate the type of virtual disk file: split or monolithic.
 85850  	//
 85851  	// If true, the virtual disk is stored in multiple files, each 2GB.
 85852  	Split *bool `xml:"split" json:"split,omitempty"`
 85853  	// Flag to indicate whether writes should go directly to the file system
 85854  	// or should be buffered.
 85855  	WriteThrough *bool `xml:"writeThrough" json:"writeThrough,omitempty"`
 85856  	// The space in use for this sparse disk.
 85857  	//
 85858  	// This information is provided
 85859  	// when retrieving configuration information for an existing virtual
 85860  	// machine. The client cannot modify this information using reconfigure
 85861  	// on a virtual machine.
 85862  	SpaceUsedInKB int64 `xml:"spaceUsedInKB,omitempty" json:"spaceUsedInKB,omitempty"`
 85863  	// Content ID of the virtual disk file, if available.
 85864  	//
 85865  	// A content ID indicates the logical contents of the disk backing and its parents.
 85866  	//
 85867  	// This property is only guaranteed to be up to date if this disk backing is not
 85868  	// currently being written to by any virtual machine.
 85869  	//
 85870  	// The only supported operation is comparing if two content IDs are equal or not.
 85871  	// The guarantee provided by the content ID is that if two disk backings have the
 85872  	// same content ID and are not currently being written to, then reads issued from
 85873  	// the guest operating system to those disk backings will return the same data.
 85874  	ContentId string `xml:"contentId,omitempty" json:"contentId,omitempty" vim:"4.0"`
 85875  	// The parent of this virtual disk file, if this is a delta disk backing.
 85876  	//
 85877  	// This will be unset if this is not a delta disk backing.
 85878  	//
 85879  	// A delta disk backing is a way to preserve a virtual disk backing
 85880  	// at some point in time. A delta disk backing is a file backing which in
 85881  	// turn points to the original virtual disk backing (the parent). After a delta
 85882  	// disk backing is added, all writes go to the delta disk backing. All reads
 85883  	// first try the delta disk backing and then try the parent backing if needed.
 85884  	//
 85885  	// A delta disk backing can be added to a disk either implicitly during
 85886  	// snapshot operations, or explicitly during create or reconfigure of the virtual
 85887  	// machine.
 85888  	//
 85889  	// Note that the type of the backing is consistent throughout the chain; any new
 85890  	// delta disk backing which is added is of the same type as the original disk .
 85891  	// Also note that since the parent backing is not being written to,
 85892  	// it is possible that the parent backing may be shared among multiple
 85893  	// disks belonging to multiple virtual machines.
 85894  	//
 85895  	// During virtual machine `creation` and
 85896  	// `reconfiguration` this property is
 85897  	// only checked if the `VirtualDeviceConfigSpec` specifies
 85898  	// an *add operation* with a
 85899  	// *create file operation*.
 85900  	// In this case, a new delta disk backing is created which points to the parent
 85901  	// disk backing. Only the `fileName`
 85902  	// property is important; all other properties will be ignored. The parent backing
 85903  	// is assumed to exist and will not be recursively created.
 85904  	//
 85905  	// This property may only be set if
 85906  	// `deltaDiskBackingsSupported`
 85907  	// is true.
 85908  	Parent *VirtualDiskSparseVer1BackingInfo `xml:"parent,omitempty" json:"parent,omitempty" vim:"4.0"`
 85909  }
 85910  
 85911  func init() {
 85912  	t["VirtualDiskSparseVer1BackingInfo"] = reflect.TypeOf((*VirtualDiskSparseVer1BackingInfo)(nil)).Elem()
 85913  }
 85914  
 85915  // This data object type contains the available options when backing a virtual
 85916  // disk using a host file with the sparse file format from GSX Server 2.x.
 85917  type VirtualDiskSparseVer1BackingOption struct {
 85918  	VirtualDeviceFileBackingOption
 85919  
 85920  	// The disk mode.
 85921  	//
 85922  	// Valid disk modes are:
 85923  	//     - `persistent`
 85924  	//     - `nonpersistent`
 85925  	//     - `undoable`
 85926  	//     - `independent_persistent`
 85927  	//     - `independent_nonpersistent`
 85928  	//     - `append`
 85929  	//
 85930  	// See also `VirtualDiskMode_enum`.
 85931  	DiskModes ChoiceOption `xml:"diskModes" json:"diskModes"`
 85932  	// Flag to indicate whether or not the host supports
 85933  	// allowing the client to select whether or not a sparse disk
 85934  	// should be split.
 85935  	Split BoolOption `xml:"split" json:"split"`
 85936  	// Flag to indicate whether or not the host supports
 85937  	// allowing the client to select "writethrough" as a mode for
 85938  	// virtual disks.
 85939  	//
 85940  	// Typically, this is available only for VMware Server Linux hosts.
 85941  	WriteThrough BoolOption `xml:"writeThrough" json:"writeThrough"`
 85942  	// Flag to indicate whether this backing can have its size changed.
 85943  	Growable bool `xml:"growable" json:"growable"`
 85944  }
 85945  
 85946  func init() {
 85947  	t["VirtualDiskSparseVer1BackingOption"] = reflect.TypeOf((*VirtualDiskSparseVer1BackingOption)(nil)).Elem()
 85948  }
 85949  
 85950  // This data object type contains information about backing a virtual disk by
 85951  // using a virtual disk file on the host, in the sparse disk format used by
 85952  // VMware Server.
 85953  type VirtualDiskSparseVer2BackingInfo struct {
 85954  	VirtualDeviceFileBackingInfo
 85955  
 85956  	// The disk persistence mode.
 85957  	//
 85958  	// Valid modes are:
 85959  	//     - `persistent`
 85960  	//     - `independent_persistent`
 85961  	//     - `independent_nonpersistent`
 85962  	//
 85963  	// See also `VirtualDiskMode_enum`.
 85964  	DiskMode string `xml:"diskMode" json:"diskMode"`
 85965  	// Flag to indicate the type of virtual disk file: split or monolithic.
 85966  	//
 85967  	// If true, the virtual disk is stored in multiple files, each 2GB.
 85968  	Split *bool `xml:"split" json:"split,omitempty"`
 85969  	// Flag to indicate whether writes should go directly to the file system
 85970  	// or should be buffered.
 85971  	WriteThrough *bool `xml:"writeThrough" json:"writeThrough,omitempty"`
 85972  	// The space in use for this sparse disk.
 85973  	//
 85974  	// This information is provided
 85975  	// when retrieving configuration information for an exisiting virtual
 85976  	// machine. The client cannot modify this information using reconfigure
 85977  	// on a virtual machine.
 85978  	SpaceUsedInKB int64 `xml:"spaceUsedInKB,omitempty" json:"spaceUsedInKB,omitempty"`
 85979  	// Disk UUID for the virtual disk, if available.
 85980  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty" vim:"2.5"`
 85981  	// Content ID of the virtual disk file, if available.
 85982  	//
 85983  	// A content ID indicates the logical contents of the disk backing and its parents.
 85984  	//
 85985  	// This property is only guaranteed to be up to date if this disk backing is not
 85986  	// currently being written to by any virtual machine.
 85987  	//
 85988  	// The only supported operation is comparing if two content IDs are equal or not.
 85989  	// The guarantee provided by the content ID is that if two disk backings have the
 85990  	// same content ID and are not currently being written to, then reads issued from
 85991  	// the guest operating system to those disk backings will return the same data.
 85992  	ContentId string `xml:"contentId,omitempty" json:"contentId,omitempty" vim:"4.0"`
 85993  	// The change ID of the virtual disk for the corresponding
 85994  	// snapshot or virtual machine.
 85995  	//
 85996  	// This can be used to track
 85997  	// incremental changes to a virtual disk. See
 85998  	// `VirtualMachine.QueryChangedDiskAreas`.
 85999  	ChangeId string `xml:"changeId,omitempty" json:"changeId,omitempty" vim:"4.0"`
 86000  	// The parent of this virtual disk file, if this is a delta disk backing.
 86001  	//
 86002  	// This will be unset if this is not a delta disk backing.
 86003  	//
 86004  	// A delta disk backing is a way to preserve a virtual disk backing
 86005  	// at some point in time. A delta disk backing is a file backing which in
 86006  	// turn points to the original virtual disk backing (the parent). After a delta
 86007  	// disk backing is added, all writes go to the delta disk backing. All reads
 86008  	// first try the delta disk backing and then try the parent backing if needed.
 86009  	//
 86010  	// A delta disk backing can be added to a disk either implicitly during
 86011  	// snapshot operations, or explicitly during create or reconfigure of the virtual
 86012  	// machine.
 86013  	//
 86014  	// Note that the type of the backing is consistent throughout the chain; any new
 86015  	// delta disk backing which is added is of the same type as the original disk .
 86016  	// Also note that since the parent backing is not being written to,
 86017  	// it is possible that the parent backing may be shared among multiple
 86018  	// disks belonging to multiple virtual machines.
 86019  	//
 86020  	// During virtual machine `creation` and
 86021  	// `reconfiguration` this property is
 86022  	// only checked if the `VirtualDeviceConfigSpec` specifies
 86023  	// an *add operation* with a
 86024  	// *create file operation*.
 86025  	// In this case, a new delta disk backing is created which points to the parent
 86026  	// disk backing. Only the `fileName`
 86027  	// property is important; all other properties will be ignored. The parent backing
 86028  	// is assumed to exist and will not be recursively created.
 86029  	//
 86030  	// This property may only be set if
 86031  	// `deltaDiskBackingsSupported`
 86032  	// is true.
 86033  	Parent *VirtualDiskSparseVer2BackingInfo `xml:"parent,omitempty" json:"parent,omitempty" vim:"4.0"`
 86034  	// Virtual Disk Backing encryption options.
 86035  	//
 86036  	// On modification operations the value is ignored, use the specification
 86037  	// `VirtualDeviceConfigSpecBackingSpec.crypto` in
 86038  	// `VirtualDeviceConfigSpec.backing`.
 86039  	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty" vim:"6.5"`
 86040  }
 86041  
 86042  func init() {
 86043  	t["VirtualDiskSparseVer2BackingInfo"] = reflect.TypeOf((*VirtualDiskSparseVer2BackingInfo)(nil)).Elem()
 86044  }
 86045  
 86046  // This data object type contains the options available when backing a virtual
 86047  // disk using a host file with the sparse file format from VMware Server.
 86048  type VirtualDiskSparseVer2BackingOption struct {
 86049  	VirtualDeviceFileBackingOption
 86050  
 86051  	// The disk mode.
 86052  	//
 86053  	// Valid disk modes are:
 86054  	//     - `persistent`
 86055  	//     - `nonpersistent`
 86056  	//     - `undoable`
 86057  	//     - `independent_persistent`
 86058  	//     - `independent_nonpersistent`
 86059  	//     - `append`
 86060  	//
 86061  	// See also `VirtualDiskMode_enum`.
 86062  	DiskMode ChoiceOption `xml:"diskMode" json:"diskMode"`
 86063  	// Flag to indicate whether or not the host supports
 86064  	// allowing the client to select whether or not a sparse disk
 86065  	// should be split.
 86066  	Split BoolOption `xml:"split" json:"split"`
 86067  	// Flag to indicate whether or not the host supports
 86068  	// allowing the client to select "writethrough" as a mode for
 86069  	// virtual disks.
 86070  	//
 86071  	// Typically, this is available only for VMware Server Linux hosts.
 86072  	WriteThrough BoolOption `xml:"writeThrough" json:"writeThrough"`
 86073  	// Indicates whether or not this disk backing can be
 86074  	// extended to larger sizes through a reconfigure operation.
 86075  	//
 86076  	// If set to true, reconfiguring this virtual disk
 86077  	// with a `VirtualDisk.capacityInKB` value greater
 86078  	// than its current value will grow the disk to the newly specified size.
 86079  	Growable bool `xml:"growable" json:"growable"`
 86080  	// Indicates whether or not this disk backing can be
 86081  	// extended to larger sizes through a reconfigure operation while
 86082  	// the virtual machine is powered on.
 86083  	//
 86084  	// If set to true, reconfiguring this virtual disk
 86085  	// with a `VirtualDisk.capacityInKB` value greater
 86086  	// than its current value will grow the disk to the newly specified size
 86087  	// while the virtual machine is powered on.
 86088  	HotGrowable bool `xml:"hotGrowable" json:"hotGrowable" vim:"2.5"`
 86089  	// Flag to indicate whether this backing supports disk UUID property.
 86090  	Uuid bool `xml:"uuid" json:"uuid" vim:"2.5"`
 86091  }
 86092  
 86093  func init() {
 86094  	t["VirtualDiskSparseVer2BackingOption"] = reflect.TypeOf((*VirtualDiskSparseVer2BackingOption)(nil)).Elem()
 86095  }
 86096  
 86097  // Specification used to create or clone a virtual disk
 86098  type VirtualDiskSpec struct {
 86099  	DynamicData
 86100  
 86101  	// The type of the new virtual disk.
 86102  	//
 86103  	// See also `VirtualDiskType_enum`.
 86104  	DiskType string `xml:"diskType" json:"diskType"`
 86105  	// The type of the virtual disk adapter for the new virtual disk.
 86106  	//
 86107  	// See also `VirtualDiskAdapterType_enum`.
 86108  	AdapterType string `xml:"adapterType" json:"adapterType"`
 86109  }
 86110  
 86111  func init() {
 86112  	t["VirtualDiskSpec"] = reflect.TypeOf((*VirtualDiskSpec)(nil)).Elem()
 86113  	minAPIVersionForType["VirtualDiskSpec"] = "2.5"
 86114  }
 86115  
 86116  // Data object describes the vFlash cache configuration on this virtual disk.
 86117  type VirtualDiskVFlashCacheConfigInfo struct {
 86118  	DynamicData
 86119  
 86120  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 86121  	// end of availability.
 86122  	//
 86123  	// Name of vFlash module which manages the cache.
 86124  	//
 86125  	// If not specified, default setting
 86126  	// `HostVFlashManagerVFlashCacheConfigSpec.defaultVFlashModule`
 86127  	// will be used.
 86128  	VFlashModule string `xml:"vFlashModule,omitempty" json:"vFlashModule,omitempty"`
 86129  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 86130  	// end of availability.
 86131  	//
 86132  	// Amount of vFlash resource that is guaranteed available to the cache.
 86133  	//
 86134  	// If not specified,
 86135  	// default reservation will be used.
 86136  	ReservationInMB int64 `xml:"reservationInMB,omitempty" json:"reservationInMB,omitempty"`
 86137  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 86138  	// end of availability.
 86139  	//
 86140  	// Cache data consistency types after a crash.
 86141  	//
 86142  	// See `VirtualDiskVFlashCacheConfigInfoCacheConsistencyType_enum`
 86143  	// for supported types. If not specified, the default value used is
 86144  	// `strong`
 86145  	CacheConsistencyType string `xml:"cacheConsistencyType,omitempty" json:"cacheConsistencyType,omitempty"`
 86146  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 86147  	// end of availability.
 86148  	//
 86149  	// Cache modes.
 86150  	//
 86151  	// See `VirtualDiskVFlashCacheConfigInfoCacheMode_enum`
 86152  	// for supported modes. If not specified, the default value used is
 86153  	// `write_thru`.
 86154  	CacheMode string `xml:"cacheMode,omitempty" json:"cacheMode,omitempty"`
 86155  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 86156  	// end of availability.
 86157  	//
 86158  	// Cache block size.
 86159  	//
 86160  	// This parameter allows the user to control how much
 86161  	// data gets cached on a single access to the VMDK. Max block size is 1MB.
 86162  	// Default is 4KB.
 86163  	BlockSizeInKB int64 `xml:"blockSizeInKB,omitempty" json:"blockSizeInKB,omitempty"`
 86164  }
 86165  
 86166  func init() {
 86167  	t["VirtualDiskVFlashCacheConfigInfo"] = reflect.TypeOf((*VirtualDiskVFlashCacheConfigInfo)(nil)).Elem()
 86168  	minAPIVersionForType["VirtualDiskVFlashCacheConfigInfo"] = "5.5"
 86169  }
 86170  
 86171  // The VirtualE1000 data object type represents an instance
 86172  // of the E1000 virtual Ethernet adapter attached to a virtual machine.
 86173  type VirtualE1000 struct {
 86174  	VirtualEthernetCard
 86175  }
 86176  
 86177  func init() {
 86178  	t["VirtualE1000"] = reflect.TypeOf((*VirtualE1000)(nil)).Elem()
 86179  }
 86180  
 86181  // The VirtualE1000 option data object type contains the options for the
 86182  // `VirtualE1000` data object type.
 86183  type VirtualE1000Option struct {
 86184  	VirtualEthernetCardOption
 86185  }
 86186  
 86187  func init() {
 86188  	t["VirtualE1000Option"] = reflect.TypeOf((*VirtualE1000Option)(nil)).Elem()
 86189  }
 86190  
 86191  // The VirtualE1000e data object type represents an instance
 86192  // of the E1000e virtual Ethernet adapter attached to a virtual machine.
 86193  type VirtualE1000e struct {
 86194  	VirtualEthernetCard
 86195  }
 86196  
 86197  func init() {
 86198  	t["VirtualE1000e"] = reflect.TypeOf((*VirtualE1000e)(nil)).Elem()
 86199  	minAPIVersionForType["VirtualE1000e"] = "5.0"
 86200  }
 86201  
 86202  // The VirtualE1000e option data object type contains the options for the
 86203  // `VirtualE1000e` data object type.
 86204  type VirtualE1000eOption struct {
 86205  	VirtualEthernetCardOption
 86206  }
 86207  
 86208  func init() {
 86209  	t["VirtualE1000eOption"] = reflect.TypeOf((*VirtualE1000eOption)(nil)).Elem()
 86210  	minAPIVersionForType["VirtualE1000eOption"] = "5.0"
 86211  }
 86212  
 86213  // The VirtualEnsoniq1371 data object type represents an Ensoniq 1371
 86214  // sound card in a virtual machine.
 86215  type VirtualEnsoniq1371 struct {
 86216  	VirtualSoundCard
 86217  }
 86218  
 86219  func init() {
 86220  	t["VirtualEnsoniq1371"] = reflect.TypeOf((*VirtualEnsoniq1371)(nil)).Elem()
 86221  }
 86222  
 86223  // The VirtualEnsoniq1371Option data object type contains the options for the
 86224  // virtual Ensoniq 1371 sound card.
 86225  type VirtualEnsoniq1371Option struct {
 86226  	VirtualSoundCardOption
 86227  }
 86228  
 86229  func init() {
 86230  	t["VirtualEnsoniq1371Option"] = reflect.TypeOf((*VirtualEnsoniq1371Option)(nil)).Elem()
 86231  }
 86232  
 86233  // The `VirtualEthernetCard` data object contains the properties
 86234  // of an Ethernet adapter attached to a virtual machine.
 86235  type VirtualEthernetCard struct {
 86236  	VirtualDevice
 86237  
 86238  	// MAC address type.
 86239  	//
 86240  	// Valid values for address type are:
 86241  	// <dl>
 86242  	// <dt>Manual</dt>
 86243  	// <dd>Statically assigned MAC address.</dd>
 86244  	// <dt>Generated</dt>
 86245  	// <dd>Automatically generated MAC address.</dd>
 86246  	// <dt>Assigned</dt>
 86247  	// <dd>MAC address assigned by VirtualCenter.</dd>
 86248  	// </dl>
 86249  	AddressType string `xml:"addressType,omitempty" json:"addressType,omitempty"`
 86250  	// MAC address assigned to the virtual network adapter.
 86251  	//
 86252  	// Clients can
 86253  	// set this property to any of the allowed address types. The server might
 86254  	// override the specified value for "Generated" or "Assigned" if it does not
 86255  	// fall in the right ranges or is determined to be a duplicate.
 86256  	MacAddress string `xml:"macAddress,omitempty" json:"macAddress,omitempty"`
 86257  	// Indicates whether wake-on-LAN is enabled on this virtual network adapter.
 86258  	//
 86259  	// Clients
 86260  	// can set this property to selectively enable or disable wake-on-LAN.
 86261  	WakeOnLanEnabled *bool `xml:"wakeOnLanEnabled" json:"wakeOnLanEnabled,omitempty"`
 86262  	// Resource requirements of the virtual network adapter
 86263  	ResourceAllocation *VirtualEthernetCardResourceAllocation `xml:"resourceAllocation,omitempty" json:"resourceAllocation,omitempty" vim:"6.0"`
 86264  	// An ID assigned to the virtual network adapter by external management plane or
 86265  	// controller.
 86266  	//
 86267  	// The value and format of this property is determined by external
 86268  	// management plane or controller, and vSphere doesn't do any validation. It's
 86269  	// also up to external management plane or controller to set, unset or maintain
 86270  	// this property. Setting this property with an empty string value will unset the
 86271  	// property.
 86272  	ExternalId string `xml:"externalId,omitempty" json:"externalId,omitempty" vim:"6.0"`
 86273  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 86274  	// there is no replacement.
 86275  	//
 86276  	// Indicates whether UPT(Universal Pass-through) compatibility is enabled
 86277  	// on this network adapter.
 86278  	//
 86279  	// UPT is only compatible for Vmxnet3 adapter.
 86280  	// Clients can set this property enabled or disabled if ethernet
 86281  	// virtual device is Vmxnet3.
 86282  	UptCompatibilityEnabled *bool `xml:"uptCompatibilityEnabled" json:"uptCompatibilityEnabled,omitempty" vim:"6.0"`
 86283  }
 86284  
 86285  func init() {
 86286  	t["VirtualEthernetCard"] = reflect.TypeOf((*VirtualEthernetCard)(nil)).Elem()
 86287  }
 86288  
 86289  // This data object type contains the options for using a distributed
 86290  // virtual port virtual network card backing data object type.
 86291  type VirtualEthernetCardDVPortBackingOption struct {
 86292  	VirtualDeviceBackingOption
 86293  }
 86294  
 86295  func init() {
 86296  	t["VirtualEthernetCardDVPortBackingOption"] = reflect.TypeOf((*VirtualEthernetCardDVPortBackingOption)(nil)).Elem()
 86297  	minAPIVersionForType["VirtualEthernetCardDVPortBackingOption"] = "4.0"
 86298  }
 86299  
 86300  // The `VirtualEthernetCardDistributedVirtualPortBackingInfo`
 86301  // data object defines backing for a virtual Ethernet card that connects
 86302  // to a distributed virtual switch port or portgroup.
 86303  type VirtualEthernetCardDistributedVirtualPortBackingInfo struct {
 86304  	VirtualDeviceBackingInfo
 86305  
 86306  	// `DistributedVirtualPort` or `DistributedVirtualPortgroup`
 86307  	// connection.
 86308  	//
 86309  	// To specify a port connection, set the
 86310  	// `DistributedVirtualSwitchPortConnection.portKey` property.
 86311  	// To specify a portgroup connection, set the
 86312  	// `DistributedVirtualSwitchPortConnection.portgroupKey` property.
 86313  	//
 86314  	// This property will be unset during Virtual Machine or template cloning
 86315  	// operation unless it's set to a `DistributedVirtualSwitchPortConnection`
 86316  	// object and the portgroup is a late binding portgroup.
 86317  	Port DistributedVirtualSwitchPortConnection `xml:"port" json:"port"`
 86318  }
 86319  
 86320  func init() {
 86321  	t["VirtualEthernetCardDistributedVirtualPortBackingInfo"] = reflect.TypeOf((*VirtualEthernetCardDistributedVirtualPortBackingInfo)(nil)).Elem()
 86322  	minAPIVersionForType["VirtualEthernetCardDistributedVirtualPortBackingInfo"] = "4.0"
 86323  }
 86324  
 86325  // The `VirtualEthernetCardLegacyNetworkBackingInfo` data object
 86326  // provides legacy backing for a virtual Ethernet card.
 86327  type VirtualEthernetCardLegacyNetworkBackingInfo struct {
 86328  	VirtualDeviceDeviceBackingInfo
 86329  }
 86330  
 86331  func init() {
 86332  	t["VirtualEthernetCardLegacyNetworkBackingInfo"] = reflect.TypeOf((*VirtualEthernetCardLegacyNetworkBackingInfo)(nil)).Elem()
 86333  }
 86334  
 86335  // This data object type contains the options
 86336  // for using a legacy virtual network card backing data object type.
 86337  type VirtualEthernetCardLegacyNetworkBackingOption struct {
 86338  	VirtualDeviceDeviceBackingOption
 86339  }
 86340  
 86341  func init() {
 86342  	t["VirtualEthernetCardLegacyNetworkBackingOption"] = reflect.TypeOf((*VirtualEthernetCardLegacyNetworkBackingOption)(nil)).Elem()
 86343  }
 86344  
 86345  // The `VirtualEthernetCardNetworkBackingInfo` data object
 86346  // defines network backing for a virtual Ethernet card.
 86347  type VirtualEthernetCardNetworkBackingInfo struct {
 86348  	VirtualDeviceDeviceBackingInfo
 86349  
 86350  	// Reference to the network managed object to which this backing applies.
 86351  	//
 86352  	// This is not used during configuration.
 86353  	//
 86354  	// Refers instance of `Network`.
 86355  	Network *ManagedObjectReference `xml:"network,omitempty" json:"network,omitempty"`
 86356  	// Deprecated as of vSphere API 4.0, this property is not supported.
 86357  	// &nbsp;.
 86358  	//
 86359  	// &nbsp;
 86360  	InPassthroughMode *bool `xml:"inPassthroughMode" json:"inPassthroughMode,omitempty" vim:"2.5 U2"`
 86361  }
 86362  
 86363  func init() {
 86364  	t["VirtualEthernetCardNetworkBackingInfo"] = reflect.TypeOf((*VirtualEthernetCardNetworkBackingInfo)(nil)).Elem()
 86365  }
 86366  
 86367  // This data object type contains the options for
 86368  // the virtual network card backing data object type.
 86369  type VirtualEthernetCardNetworkBackingOption struct {
 86370  	VirtualDeviceDeviceBackingOption
 86371  }
 86372  
 86373  func init() {
 86374  	t["VirtualEthernetCardNetworkBackingOption"] = reflect.TypeOf((*VirtualEthernetCardNetworkBackingOption)(nil)).Elem()
 86375  }
 86376  
 86377  // The virtual machine's virtual ethernet card is not supported.
 86378  type VirtualEthernetCardNotSupported struct {
 86379  	DeviceNotSupported
 86380  }
 86381  
 86382  func init() {
 86383  	t["VirtualEthernetCardNotSupported"] = reflect.TypeOf((*VirtualEthernetCardNotSupported)(nil)).Elem()
 86384  	minAPIVersionForType["VirtualEthernetCardNotSupported"] = "2.5"
 86385  }
 86386  
 86387  type VirtualEthernetCardNotSupportedFault VirtualEthernetCardNotSupported
 86388  
 86389  func init() {
 86390  	t["VirtualEthernetCardNotSupportedFault"] = reflect.TypeOf((*VirtualEthernetCardNotSupportedFault)(nil)).Elem()
 86391  }
 86392  
 86393  // This class defines backing for a virtual Ethernet card that connects
 86394  // to an opaque network.
 86395  type VirtualEthernetCardOpaqueNetworkBackingInfo struct {
 86396  	VirtualDeviceBackingInfo
 86397  
 86398  	// The opaque network ID
 86399  	OpaqueNetworkId string `xml:"opaqueNetworkId" json:"opaqueNetworkId"`
 86400  	// The opaque network type
 86401  	OpaqueNetworkType string `xml:"opaqueNetworkType" json:"opaqueNetworkType"`
 86402  }
 86403  
 86404  func init() {
 86405  	t["VirtualEthernetCardOpaqueNetworkBackingInfo"] = reflect.TypeOf((*VirtualEthernetCardOpaqueNetworkBackingInfo)(nil)).Elem()
 86406  	minAPIVersionForType["VirtualEthernetCardOpaqueNetworkBackingInfo"] = "5.5"
 86407  }
 86408  
 86409  // This data object type contains the options for
 86410  // the virtual network card backing data object type.
 86411  type VirtualEthernetCardOpaqueNetworkBackingOption struct {
 86412  	VirtualDeviceBackingOption
 86413  }
 86414  
 86415  func init() {
 86416  	t["VirtualEthernetCardOpaqueNetworkBackingOption"] = reflect.TypeOf((*VirtualEthernetCardOpaqueNetworkBackingOption)(nil)).Elem()
 86417  	minAPIVersionForType["VirtualEthernetCardOpaqueNetworkBackingOption"] = "5.5"
 86418  }
 86419  
 86420  // This data object type contains the options for the
 86421  // virtual ethernet card data object type.
 86422  type VirtualEthernetCardOption struct {
 86423  	VirtualDeviceOption
 86424  
 86425  	// The valid Organizational Unique Identifiers (OUIs)
 86426  	// supported by this virtual Ethernet card.
 86427  	//
 86428  	// <dl>
 86429  	// <dt>Supported OUIs for statically assigned MAC addresses:</dt>
 86430  	// <dd>"00:50:56"</dd>
 86431  	// </dl>
 86432  	SupportedOUI ChoiceOption `xml:"supportedOUI" json:"supportedOUI"`
 86433  	// The supported MAC address types.
 86434  	MacType ChoiceOption `xml:"macType" json:"macType"`
 86435  	// Flag to indicate whether or not wake-on-LAN is settable on this device.
 86436  	WakeOnLanEnabled BoolOption `xml:"wakeOnLanEnabled" json:"wakeOnLanEnabled"`
 86437  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 86438  	// there is no replacement.
 86439  	//
 86440  	// Flag to indicate whether VMDirectPath Gen 2 is available on this device.
 86441  	VmDirectPathGen2Supported *bool `xml:"vmDirectPathGen2Supported" json:"vmDirectPathGen2Supported,omitempty" vim:"4.1"`
 86442  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 86443  	// there is no replacement.
 86444  	//
 86445  	// Flag to indicate whether Universal Pass-through(UPT) is settable on this device.
 86446  	UptCompatibilityEnabled *BoolOption `xml:"uptCompatibilityEnabled,omitempty" json:"uptCompatibilityEnabled,omitempty" vim:"6.0"`
 86447  }
 86448  
 86449  func init() {
 86450  	t["VirtualEthernetCardOption"] = reflect.TypeOf((*VirtualEthernetCardOption)(nil)).Elem()
 86451  }
 86452  
 86453  // This class specifies the network resource requirement.
 86454  type VirtualEthernetCardResourceAllocation struct {
 86455  	DynamicData
 86456  
 86457  	// Amount of network bandwidth that is guaranteed to the
 86458  	// virtual network adapter.
 86459  	//
 86460  	// If utilization is less than reservation, the resource can be used by
 86461  	// other virtual network adapters. Reservation is not allowed to exceed the
 86462  	// value of `VirtualEthernetCardResourceAllocation.limit` if
 86463  	// `VirtualEthernetCardResourceAllocation.limit` is set.
 86464  	// Units in Mbits/sec.
 86465  	Reservation *int64 `xml:"reservation" json:"reservation,omitempty"`
 86466  	// Network share.
 86467  	//
 86468  	// The value is used as a relative weight in
 86469  	// competing for shared bandwidth, in case of resource contention.
 86470  	Share SharesInfo `xml:"share" json:"share"`
 86471  	// The bandwidth limit for the virtual network adapter.
 86472  	//
 86473  	// The utilization of the virtual network adapter will not
 86474  	// exceed this limit, even if there are available resources.
 86475  	// To clear the value of this property and revert it to unset,
 86476  	// set the vaule to "-1" in an update operation.
 86477  	// Units in Mbits/sec.
 86478  	Limit *int64 `xml:"limit" json:"limit,omitempty"`
 86479  }
 86480  
 86481  func init() {
 86482  	t["VirtualEthernetCardResourceAllocation"] = reflect.TypeOf((*VirtualEthernetCardResourceAllocation)(nil)).Elem()
 86483  	minAPIVersionForType["VirtualEthernetCardResourceAllocation"] = "6.0"
 86484  }
 86485  
 86486  // The VirtualFloppy data object type contains information about a floppy drive
 86487  // in a virtual machine.
 86488  type VirtualFloppy struct {
 86489  	VirtualDevice
 86490  }
 86491  
 86492  func init() {
 86493  	t["VirtualFloppy"] = reflect.TypeOf((*VirtualFloppy)(nil)).Elem()
 86494  }
 86495  
 86496  // The data object type for device backing of a virtual floppy drive.
 86497  type VirtualFloppyDeviceBackingInfo struct {
 86498  	VirtualDeviceDeviceBackingInfo
 86499  }
 86500  
 86501  func init() {
 86502  	t["VirtualFloppyDeviceBackingInfo"] = reflect.TypeOf((*VirtualFloppyDeviceBackingInfo)(nil)).Elem()
 86503  }
 86504  
 86505  // The DeviceBackingOption data object type contains the options
 86506  // for the floppy device backing type.
 86507  type VirtualFloppyDeviceBackingOption struct {
 86508  	VirtualDeviceDeviceBackingOption
 86509  }
 86510  
 86511  func init() {
 86512  	t["VirtualFloppyDeviceBackingOption"] = reflect.TypeOf((*VirtualFloppyDeviceBackingOption)(nil)).Elem()
 86513  }
 86514  
 86515  // The data object type for file image backing of a virtual floppy drive.
 86516  type VirtualFloppyImageBackingInfo struct {
 86517  	VirtualDeviceFileBackingInfo
 86518  }
 86519  
 86520  func init() {
 86521  	t["VirtualFloppyImageBackingInfo"] = reflect.TypeOf((*VirtualFloppyImageBackingInfo)(nil)).Elem()
 86522  }
 86523  
 86524  // The ImageBackingOption data object type contains the options
 86525  // for the floppy image backing type.
 86526  type VirtualFloppyImageBackingOption struct {
 86527  	VirtualDeviceFileBackingOption
 86528  }
 86529  
 86530  func init() {
 86531  	t["VirtualFloppyImageBackingOption"] = reflect.TypeOf((*VirtualFloppyImageBackingOption)(nil)).Elem()
 86532  }
 86533  
 86534  // The VirtualFloppyOption data class contains the options for the
 86535  // virtual floppy data object type.
 86536  type VirtualFloppyOption struct {
 86537  	VirtualDeviceOption
 86538  }
 86539  
 86540  func init() {
 86541  	t["VirtualFloppyOption"] = reflect.TypeOf((*VirtualFloppyOption)(nil)).Elem()
 86542  }
 86543  
 86544  // The data object type for remote device backing of a virtual floppy drive.
 86545  type VirtualFloppyRemoteDeviceBackingInfo struct {
 86546  	VirtualDeviceRemoteDeviceBackingInfo
 86547  }
 86548  
 86549  func init() {
 86550  	t["VirtualFloppyRemoteDeviceBackingInfo"] = reflect.TypeOf((*VirtualFloppyRemoteDeviceBackingInfo)(nil)).Elem()
 86551  }
 86552  
 86553  // The RemoteDeviceBackingOption data object type contains the options
 86554  // for the floppy remote device backing type.
 86555  type VirtualFloppyRemoteDeviceBackingOption struct {
 86556  	VirtualDeviceRemoteDeviceBackingOption
 86557  }
 86558  
 86559  func init() {
 86560  	t["VirtualFloppyRemoteDeviceBackingOption"] = reflect.TypeOf((*VirtualFloppyRemoteDeviceBackingOption)(nil)).Elem()
 86561  }
 86562  
 86563  // The VirtualHardware data object type contains the complete configuration
 86564  // of the hardware in a virtual machine.
 86565  type VirtualHardware struct {
 86566  	DynamicData
 86567  
 86568  	// Number of virtual CPUs present in this virtual machine.
 86569  	NumCPU int32 `xml:"numCPU" json:"numCPU"`
 86570  	// Number of cores used to distribute virtual CPUs among sockets
 86571  	// in this virtual machine.
 86572  	//
 86573  	// This field should be ignored for powered off VM with
 86574  	// autoCoresPerSocket equals TRUE, because the virtual socket size
 86575  	// will be assigned during power-on.
 86576  	// This field could be unset for releases prior to 7.0 U3, and it
 86577  	// implies numCoresPerSocket is 1.
 86578  	// In other cases, this field represents the actual virtual socket
 86579  	// size seen by the virtual machine.
 86580  	NumCoresPerSocket int32 `xml:"numCoresPerSocket,omitempty" json:"numCoresPerSocket,omitempty" vim:"5.0"`
 86581  	// Cores per socket is automatically determined.
 86582  	AutoCoresPerSocket *bool `xml:"autoCoresPerSocket" json:"autoCoresPerSocket,omitempty" vim:"8.0.0.1"`
 86583  	// Memory size, in MB.
 86584  	MemoryMB int32 `xml:"memoryMB" json:"memoryMB"`
 86585  	// Does this virtual machine have Virtual Intel I/O Controller Hub 7
 86586  	VirtualICH7MPresent *bool `xml:"virtualICH7MPresent" json:"virtualICH7MPresent,omitempty" vim:"5.0"`
 86587  	// Does this virtual machine have System Management Controller
 86588  	VirtualSMCPresent *bool `xml:"virtualSMCPresent" json:"virtualSMCPresent,omitempty" vim:"5.0"`
 86589  	// The set of virtual devices belonging to the virtual machine.
 86590  	//
 86591  	// This list is unordered.
 86592  	Device []BaseVirtualDevice `xml:"device,omitempty,typeattr" json:"device,omitempty"`
 86593  	// One of motherboardLayout choices.
 86594  	//
 86595  	// Default is i440bxHostBridge. See
 86596  	// `VirtualHardware.motherboardLayout`
 86597  	MotherboardLayout string `xml:"motherboardLayout,omitempty" json:"motherboardLayout,omitempty" vim:"8.0.0.1"`
 86598  	// Number of SMT (Simultaneous multithreading) threads.
 86599  	//
 86600  	// If unset, then system defaults are in use.
 86601  	SimultaneousThreads int32 `xml:"simultaneousThreads,omitempty" json:"simultaneousThreads,omitempty" vim:"8.0.0.1"`
 86602  }
 86603  
 86604  func init() {
 86605  	t["VirtualHardware"] = reflect.TypeOf((*VirtualHardware)(nil)).Elem()
 86606  }
 86607  
 86608  // There is a problem with the compatibility between the intended execution host
 86609  // and the virtual machine.
 86610  //
 86611  // This may be an error or warning depending on
 86612  // the specific fault subclass.
 86613  type VirtualHardwareCompatibilityIssue struct {
 86614  	VmConfigFault
 86615  }
 86616  
 86617  func init() {
 86618  	t["VirtualHardwareCompatibilityIssue"] = reflect.TypeOf((*VirtualHardwareCompatibilityIssue)(nil)).Elem()
 86619  }
 86620  
 86621  type VirtualHardwareCompatibilityIssueFault BaseVirtualHardwareCompatibilityIssue
 86622  
 86623  func init() {
 86624  	t["VirtualHardwareCompatibilityIssueFault"] = reflect.TypeOf((*VirtualHardwareCompatibilityIssueFault)(nil)).Elem()
 86625  }
 86626  
 86627  // The VirtualHardwareOption data object contains the options available
 86628  // for all virtual devices.
 86629  type VirtualHardwareOption struct {
 86630  	DynamicData
 86631  
 86632  	// The virtual hardware version.
 86633  	HwVersion int32 `xml:"hwVersion" json:"hwVersion"`
 86634  	// Array of virtual device options valid for this virtual
 86635  	// machine configuration.
 86636  	//
 86637  	// The list is unordered.
 86638  	VirtualDeviceOption []BaseVirtualDeviceOption `xml:"virtualDeviceOption,typeattr" json:"virtualDeviceOption"`
 86639  	// Whether the set of virtual devices can be changed, e.g., can devices
 86640  	// be added or removed.
 86641  	//
 86642  	// This does not preclude changing devices.
 86643  	DeviceListReadonly bool `xml:"deviceListReadonly" json:"deviceListReadonly"`
 86644  	// List of acceptable values for the number of CPUs supported by this
 86645  	// `ConfigOption`.
 86646  	//
 86647  	// This is usually superceded by the information available in the
 86648  	// guest operating system descriptors.
 86649  	// The guest operating system descriptor describes a maximum CPU
 86650  	// count, but the acceptable values are still constrained to the
 86651  	// set specified here. The default value is stored at index 0 in the list.
 86652  	NumCPU []int32 `xml:"numCPU" json:"numCPU"`
 86653  	// The minimum, maximum and default number of cores per socket that
 86654  	// can be used when distributing virtual CPUs.
 86655  	NumCoresPerSocket *IntOption `xml:"numCoresPerSocket,omitempty" json:"numCoresPerSocket,omitempty" vim:"5.0"`
 86656  	// Whether auto cores per socket is supported.
 86657  	AutoCoresPerSocket *BoolOption `xml:"autoCoresPerSocket,omitempty" json:"autoCoresPerSocket,omitempty" vim:"8.0.0.1"`
 86658  	// Can the number of virtual CPUs be changed
 86659  	NumCpuReadonly bool `xml:"numCpuReadonly" json:"numCpuReadonly"`
 86660  	// The minimum, maximum, and default memory options, in MB, per virtual machine,
 86661  	// for this VirtualHardwareOption.
 86662  	//
 86663  	// These
 86664  	// values are typically overruled by the supported and recommended
 86665  	// values specified in the `GuestOsDescriptor` class.
 86666  	MemoryMB LongOption `xml:"memoryMB" json:"memoryMB"`
 86667  	// The minimum, maximum, and default number of PCI controllers for
 86668  	// this virtual machine configuration.
 86669  	NumPCIControllers IntOption `xml:"numPCIControllers" json:"numPCIControllers"`
 86670  	// The minimum, maximum, and default number of IDE controllers for
 86671  	// this virtual machine configuration.
 86672  	//
 86673  	// Note: SCSI controllers sit
 86674  	// on the PCI controller so their options (minimum, maximum, and default values)
 86675  	// are contained inside the
 86676  	// `VirtualPCIControllerOption`
 86677  	// class.
 86678  	NumIDEControllers IntOption `xml:"numIDEControllers" json:"numIDEControllers"`
 86679  	// The minimum, maximum, and default number of USB controllers for
 86680  	// this virtual machine configuration.
 86681  	NumUSBControllers IntOption `xml:"numUSBControllers" json:"numUSBControllers"`
 86682  	// The minimum, maximum, and default number of XHCI (USB 3.0) controllers for
 86683  	// this virtual machine configuration.
 86684  	NumUSBXHCIControllers *IntOption `xml:"numUSBXHCIControllers,omitempty" json:"numUSBXHCIControllers,omitempty" vim:"5.0"`
 86685  	// The minimum, maximum, and default number of SIO controllers for
 86686  	// this virtual machine configuration.
 86687  	NumSIOControllers IntOption `xml:"numSIOControllers" json:"numSIOControllers"`
 86688  	// The minimum, maximum, and default number of PS2 controllers for
 86689  	// this virtual machine configuration.
 86690  	NumPS2Controllers IntOption `xml:"numPS2Controllers" json:"numPS2Controllers"`
 86691  	// List of propery names which limits are given be a licensing
 86692  	// restriction of the underlying product, e.g., a limit that is
 86693  	// not derived based on the product or hardware features.
 86694  	//
 86695  	// For example, the property name "numCPU"
 86696  	LicensingLimit []string `xml:"licensingLimit,omitempty" json:"licensingLimit,omitempty"`
 86697  	// The minimum, maximum and default number of NPIV WorldWideNode names
 86698  	// supported for this virtual machine configuration.
 86699  	NumSupportedWwnPorts *IntOption `xml:"numSupportedWwnPorts,omitempty" json:"numSupportedWwnPorts,omitempty" vim:"4.0"`
 86700  	// The minimum, maximum and default number of NPIV WorldWidePort names
 86701  	// supported for this virtual machine configuration.
 86702  	NumSupportedWwnNodes *IntOption `xml:"numSupportedWwnNodes,omitempty" json:"numSupportedWwnNodes,omitempty" vim:"4.0"`
 86703  	// Default value and value range for `ResourceConfigOption`
 86704  	ResourceConfigOption *ResourceConfigOption `xml:"resourceConfigOption,omitempty" json:"resourceConfigOption,omitempty" vim:"4.1"`
 86705  	// The minimum, maximum and default number of virtual NVDIMM controllers
 86706  	// for this virtual machine configuration.
 86707  	NumNVDIMMControllers *IntOption `xml:"numNVDIMMControllers,omitempty" json:"numNVDIMMControllers,omitempty" vim:"6.7"`
 86708  	// The minimum, maximum, and default number of virtual TPMs.
 86709  	NumTPMDevices *IntOption `xml:"numTPMDevices,omitempty" json:"numTPMDevices,omitempty" vim:"6.7"`
 86710  	// The minimum, maximum, and default number of virtual watchdog timers.
 86711  	NumWDTDevices *IntOption `xml:"numWDTDevices,omitempty" json:"numWDTDevices,omitempty" vim:"7.0"`
 86712  	// The minimum, maximum and default number of PrecisionClock devices.
 86713  	NumPrecisionClockDevices *IntOption `xml:"numPrecisionClockDevices,omitempty" json:"numPrecisionClockDevices,omitempty" vim:"7.0"`
 86714  	// The minimum, maximum and default value of Intel's Secure Guard Extensions
 86715  	// Enclave Page Cache (EPC) memory.
 86716  	EpcMemoryMB *LongOption `xml:"epcMemoryMB,omitempty" json:"epcMemoryMB,omitempty" vim:"7.0"`
 86717  	// Empty for HWv17 &amp; older, \["efi"\] for HWv18.
 86718  	AcpiHostBridgesFirmware []string `xml:"acpiHostBridgesFirmware,omitempty" json:"acpiHostBridgesFirmware,omitempty" vim:"8.0.0.1"`
 86719  	// The minimum, maximum and default number of CPU simultaneous threads.
 86720  	NumCpuSimultaneousThreads *IntOption `xml:"numCpuSimultaneousThreads,omitempty" json:"numCpuSimultaneousThreads,omitempty" vim:"8.0.0.1"`
 86721  	// The minimum, maximum and default number of NUMA nodes.
 86722  	NumNumaNodes *IntOption `xml:"numNumaNodes,omitempty" json:"numNumaNodes,omitempty" vim:"8.0.0.1"`
 86723  	// Maximum number of device groups.
 86724  	NumDeviceGroups *IntOption `xml:"numDeviceGroups,omitempty" json:"numDeviceGroups,omitempty" vim:"8.0.0.1"`
 86725  	// Supported device group types.
 86726  	DeviceGroupTypes []string `xml:"deviceGroupTypes,omitempty" json:"deviceGroupTypes,omitempty" vim:"8.0.0.1"`
 86727  }
 86728  
 86729  func init() {
 86730  	t["VirtualHardwareOption"] = reflect.TypeOf((*VirtualHardwareOption)(nil)).Elem()
 86731  }
 86732  
 86733  // The virtual machine's virtual hardware version is not supported on the host.
 86734  type VirtualHardwareVersionNotSupported struct {
 86735  	VirtualHardwareCompatibilityIssue
 86736  
 86737  	HostName string `xml:"hostName" json:"hostName"`
 86738  	// The host.
 86739  	//
 86740  	// Refers instance of `HostSystem`.
 86741  	Host ManagedObjectReference `xml:"host" json:"host" vim:"2.5"`
 86742  }
 86743  
 86744  func init() {
 86745  	t["VirtualHardwareVersionNotSupported"] = reflect.TypeOf((*VirtualHardwareVersionNotSupported)(nil)).Elem()
 86746  }
 86747  
 86748  type VirtualHardwareVersionNotSupportedFault VirtualHardwareVersionNotSupported
 86749  
 86750  func init() {
 86751  	t["VirtualHardwareVersionNotSupportedFault"] = reflect.TypeOf((*VirtualHardwareVersionNotSupportedFault)(nil)).Elem()
 86752  }
 86753  
 86754  // The VirtualHdAudioCard data object type represents a HD Audio
 86755  // sound card in a virtual machine.
 86756  type VirtualHdAudioCard struct {
 86757  	VirtualSoundCard
 86758  }
 86759  
 86760  func init() {
 86761  	t["VirtualHdAudioCard"] = reflect.TypeOf((*VirtualHdAudioCard)(nil)).Elem()
 86762  	minAPIVersionForType["VirtualHdAudioCard"] = "5.0"
 86763  }
 86764  
 86765  // The VirtualHdAudioCardOption data object type contains the options for a
 86766  // virtual HD Audio sound card.
 86767  type VirtualHdAudioCardOption struct {
 86768  	VirtualSoundCardOption
 86769  }
 86770  
 86771  func init() {
 86772  	t["VirtualHdAudioCardOption"] = reflect.TypeOf((*VirtualHdAudioCardOption)(nil)).Elem()
 86773  	minAPIVersionForType["VirtualHdAudioCardOption"] = "5.0"
 86774  }
 86775  
 86776  // The VirtualIDEController data object type specifies a virtual IDE controller.
 86777  type VirtualIDEController struct {
 86778  	VirtualController
 86779  }
 86780  
 86781  func init() {
 86782  	t["VirtualIDEController"] = reflect.TypeOf((*VirtualIDEController)(nil)).Elem()
 86783  }
 86784  
 86785  // The VirtualIDEControllerOption data object type contains the options
 86786  // for a virtual IDE controller.
 86787  type VirtualIDEControllerOption struct {
 86788  	VirtualControllerOption
 86789  
 86790  	// The minimum, maximum, and default number of IDE VirtualDisk instances you can
 86791  	// have, at any given time, in the IDE controller.
 86792  	//
 86793  	// The number is further constrained
 86794  	// by the number of available slots in the virtual IDE controller.
 86795  	NumIDEDisks IntOption `xml:"numIDEDisks" json:"numIDEDisks"`
 86796  	// The minimum, maximum, and default number of IDE VirtualCdrom instances you can
 86797  	// have, at any given time, in the IDE controller.
 86798  	//
 86799  	// The number is further constrained
 86800  	// by the number of available slots in the virtual IDE controller.
 86801  	NumIDECdroms IntOption `xml:"numIDECdroms" json:"numIDECdroms"`
 86802  }
 86803  
 86804  func init() {
 86805  	t["VirtualIDEControllerOption"] = reflect.TypeOf((*VirtualIDEControllerOption)(nil)).Elem()
 86806  }
 86807  
 86808  // This data object type contains information about
 86809  // the keyboard on a virtual machine.
 86810  type VirtualKeyboard struct {
 86811  	VirtualDevice
 86812  }
 86813  
 86814  func init() {
 86815  	t["VirtualKeyboard"] = reflect.TypeOf((*VirtualKeyboard)(nil)).Elem()
 86816  }
 86817  
 86818  // The VirtualKeyboardOption data object type contains the options for the
 86819  // virtual keyboard class.
 86820  type VirtualKeyboardOption struct {
 86821  	VirtualDeviceOption
 86822  }
 86823  
 86824  func init() {
 86825  	t["VirtualKeyboardOption"] = reflect.TypeOf((*VirtualKeyboardOption)(nil)).Elem()
 86826  }
 86827  
 86828  // VirtualLsiLogicController is the data object that represents
 86829  // a LSI Logic SCSI controller.
 86830  type VirtualLsiLogicController struct {
 86831  	VirtualSCSIController
 86832  }
 86833  
 86834  func init() {
 86835  	t["VirtualLsiLogicController"] = reflect.TypeOf((*VirtualLsiLogicController)(nil)).Elem()
 86836  }
 86837  
 86838  // VirtualLsiLogicControllerOption is the data object that contains
 86839  // the options for a LSI Logic SCSI controller.
 86840  type VirtualLsiLogicControllerOption struct {
 86841  	VirtualSCSIControllerOption
 86842  }
 86843  
 86844  func init() {
 86845  	t["VirtualLsiLogicControllerOption"] = reflect.TypeOf((*VirtualLsiLogicControllerOption)(nil)).Elem()
 86846  }
 86847  
 86848  // VirtualLsiLogicSASController is the data object that represents
 86849  // a LSI Logic SAS SCSI controller.
 86850  type VirtualLsiLogicSASController struct {
 86851  	VirtualSCSIController
 86852  }
 86853  
 86854  func init() {
 86855  	t["VirtualLsiLogicSASController"] = reflect.TypeOf((*VirtualLsiLogicSASController)(nil)).Elem()
 86856  	minAPIVersionForType["VirtualLsiLogicSASController"] = "2.5 U2"
 86857  }
 86858  
 86859  // VirtualLsiLogicSASControllerOption is the data object that contains
 86860  // the options for a LSI Logic SAS SCSI controller.
 86861  type VirtualLsiLogicSASControllerOption struct {
 86862  	VirtualSCSIControllerOption
 86863  }
 86864  
 86865  func init() {
 86866  	t["VirtualLsiLogicSASControllerOption"] = reflect.TypeOf((*VirtualLsiLogicSASControllerOption)(nil)).Elem()
 86867  	minAPIVersionForType["VirtualLsiLogicSASControllerOption"] = "2.5 U2"
 86868  }
 86869  
 86870  // Specification of scheduling affinity.
 86871  //
 86872  // Scheduling affinity is used for explicitly specifying which
 86873  // processors or NUMA nodes may be used by a virtual machine.
 86874  type VirtualMachineAffinityInfo struct {
 86875  	DynamicData
 86876  
 86877  	// List of nodes (processors for CPU, NUMA nodes for memory) that
 86878  	// may be used by the virtual machine.
 86879  	//
 86880  	// If the array is empty when
 86881  	// modifying the affinity setting, then any existing affinity is removed.
 86882  	AffinitySet []int32 `xml:"affinitySet" json:"affinitySet"`
 86883  }
 86884  
 86885  func init() {
 86886  	t["VirtualMachineAffinityInfo"] = reflect.TypeOf((*VirtualMachineAffinityInfo)(nil)).Elem()
 86887  }
 86888  
 86889  // The BaseIndependentFilterSpec is base class for two different types
 86890  // of independent filter specs `VirtualMachineIndependentFilterSpec`
 86891  // and `VirtualMachineEmptyIndependentFilterSpec` which are used to specify
 86892  // independent filters to be attached/removed on VMs virtual disk.
 86893  type VirtualMachineBaseIndependentFilterSpec struct {
 86894  	DynamicData
 86895  }
 86896  
 86897  func init() {
 86898  	t["VirtualMachineBaseIndependentFilterSpec"] = reflect.TypeOf((*VirtualMachineBaseIndependentFilterSpec)(nil)).Elem()
 86899  	minAPIVersionForType["VirtualMachineBaseIndependentFilterSpec"] = "7.0.2.1"
 86900  }
 86901  
 86902  // The `VirtualMachineBootOptions` data object defines the boot-time
 86903  // behavior of a virtual machine.
 86904  //
 86905  // You can use the delay options to specify a time interval
 86906  // during which you can enter the virtual machine BIOS setup.
 86907  // These options provide a solution for the situation that occurs
 86908  // when the console attaches to the virtual machine after
 86909  // the boot sequence has passed the BIOS setup entry point.
 86910  type VirtualMachineBootOptions struct {
 86911  	DynamicData
 86912  
 86913  	// Delay in milliseconds before starting the boot sequence.
 86914  	//
 86915  	// The boot delay specifies a time interval between virtual machine
 86916  	// power on or restart and the beginning of the boot sequence.
 86917  	BootDelay int64 `xml:"bootDelay,omitempty" json:"bootDelay,omitempty"`
 86918  	// If set to <code>true</code>, the virtual machine
 86919  	// automatically enters BIOS setup the next time it boots.
 86920  	//
 86921  	// The virtual machine resets this flag to <code>false</code>
 86922  	// so that subsequent boots proceed normally.
 86923  	EnterBIOSSetup *bool `xml:"enterBIOSSetup" json:"enterBIOSSetup,omitempty"`
 86924  	// If set to <code>true</code>, the virtual machine's firmware will
 86925  	// perform signature checks of any EFI images loaded during startup, and
 86926  	// will refuse to start any images which do not pass those signature
 86927  	// checks.
 86928  	//
 86929  	// When creating a new VM:
 86930  	// \- If vim.vm.FlagInfo.vbsEnabled is set to <code>true</code>,
 86931  	// and this flag is set to <code>false</code> error is returned.
 86932  	// \- If this flag is unset and vim.vm.FlagInfo.vbsEnabled is set to
 86933  	// <code>true</code>, the value of this flag is set to <code>true</code>.
 86934  	EfiSecureBootEnabled *bool `xml:"efiSecureBootEnabled" json:"efiSecureBootEnabled,omitempty" vim:"6.5"`
 86935  	// If set to <code>true</code>, a virtual machine that fails
 86936  	// to boot will try again after the `VirtualMachineBootOptions.bootRetryDelay`
 86937  	// time period has expired.
 86938  	//
 86939  	// When <code>false</code>,
 86940  	// the virtual machine waits indefinitely for you to initiate
 86941  	// boot retry.
 86942  	BootRetryEnabled *bool `xml:"bootRetryEnabled" json:"bootRetryEnabled,omitempty" vim:"4.1"`
 86943  	// Delay in milliseconds before a boot retry.
 86944  	//
 86945  	// The boot retry delay
 86946  	// specifies a time interval between virtual machine boot failure
 86947  	// and the subsequent attempt to boot again. The virtual machine
 86948  	// uses this value only if `VirtualMachineBootOptions.bootRetryEnabled` is true.
 86949  	BootRetryDelay int64 `xml:"bootRetryDelay,omitempty" json:"bootRetryDelay,omitempty" vim:"4.1"`
 86950  	// Boot order.
 86951  	//
 86952  	// Listed devices are used for booting. After list
 86953  	// is exhausted, default BIOS boot device algorithm is used for
 86954  	// booting.
 86955  	// Note that order of the entries in the list is important:
 86956  	// device listed first is used for boot first, if that one
 86957  	// fails second entry is used, and so on.
 86958  	// Platform may have some internal limit on the number of devices
 86959  	// it supports. If bootable device is not reached before platform's
 86960  	// limit is hit, boot will fail. At least single entry is supported
 86961  	// by all products supporting boot order settings.
 86962  	BootOrder []BaseVirtualMachineBootOptionsBootableDevice `xml:"bootOrder,omitempty,typeattr" json:"bootOrder,omitempty" vim:"5.0"`
 86963  	// Protocol to attempt during PXE network boot or NetBoot.
 86964  	//
 86965  	// See also `VirtualMachineBootOptionsNetworkBootProtocolType_enum`.
 86966  	NetworkBootProtocol string `xml:"networkBootProtocol,omitempty" json:"networkBootProtocol,omitempty" vim:"6.0"`
 86967  }
 86968  
 86969  func init() {
 86970  	t["VirtualMachineBootOptions"] = reflect.TypeOf((*VirtualMachineBootOptions)(nil)).Elem()
 86971  	minAPIVersionForType["VirtualMachineBootOptions"] = "2.5"
 86972  }
 86973  
 86974  // Bootable CDROM.
 86975  //
 86976  // First CDROM with bootable media found is used.
 86977  type VirtualMachineBootOptionsBootableCdromDevice struct {
 86978  	VirtualMachineBootOptionsBootableDevice
 86979  }
 86980  
 86981  func init() {
 86982  	t["VirtualMachineBootOptionsBootableCdromDevice"] = reflect.TypeOf((*VirtualMachineBootOptionsBootableCdromDevice)(nil)).Elem()
 86983  	minAPIVersionForType["VirtualMachineBootOptionsBootableCdromDevice"] = "5.0"
 86984  }
 86985  
 86986  // Bootable device.
 86987  type VirtualMachineBootOptionsBootableDevice struct {
 86988  	DynamicData
 86989  }
 86990  
 86991  func init() {
 86992  	t["VirtualMachineBootOptionsBootableDevice"] = reflect.TypeOf((*VirtualMachineBootOptionsBootableDevice)(nil)).Elem()
 86993  	minAPIVersionForType["VirtualMachineBootOptionsBootableDevice"] = "5.0"
 86994  }
 86995  
 86996  // Bootable disk.
 86997  type VirtualMachineBootOptionsBootableDiskDevice struct {
 86998  	VirtualMachineBootOptionsBootableDevice
 86999  
 87000  	// `Key`
 87001  	// property of the bootable harddisk.
 87002  	DeviceKey int32 `xml:"deviceKey" json:"deviceKey"`
 87003  }
 87004  
 87005  func init() {
 87006  	t["VirtualMachineBootOptionsBootableDiskDevice"] = reflect.TypeOf((*VirtualMachineBootOptionsBootableDiskDevice)(nil)).Elem()
 87007  	minAPIVersionForType["VirtualMachineBootOptionsBootableDiskDevice"] = "5.0"
 87008  }
 87009  
 87010  // Bootable ethernet adapter.
 87011  //
 87012  // PXE boot is attempted from the device.
 87013  type VirtualMachineBootOptionsBootableEthernetDevice struct {
 87014  	VirtualMachineBootOptionsBootableDevice
 87015  
 87016  	// `Key`
 87017  	// property of the bootable ethernet adapter.
 87018  	DeviceKey int32 `xml:"deviceKey" json:"deviceKey"`
 87019  }
 87020  
 87021  func init() {
 87022  	t["VirtualMachineBootOptionsBootableEthernetDevice"] = reflect.TypeOf((*VirtualMachineBootOptionsBootableEthernetDevice)(nil)).Elem()
 87023  	minAPIVersionForType["VirtualMachineBootOptionsBootableEthernetDevice"] = "5.0"
 87024  }
 87025  
 87026  // Bootable floppy disk.
 87027  type VirtualMachineBootOptionsBootableFloppyDevice struct {
 87028  	VirtualMachineBootOptionsBootableDevice
 87029  }
 87030  
 87031  func init() {
 87032  	t["VirtualMachineBootOptionsBootableFloppyDevice"] = reflect.TypeOf((*VirtualMachineBootOptionsBootableFloppyDevice)(nil)).Elem()
 87033  	minAPIVersionForType["VirtualMachineBootOptionsBootableFloppyDevice"] = "5.0"
 87034  }
 87035  
 87036  // This data object type contains information about the
 87037  // operation/capabilities of a virtual machine
 87038  type VirtualMachineCapability struct {
 87039  	DynamicData
 87040  
 87041  	// Indicates whether or not a virtual machine supports snapshot operations.
 87042  	SnapshotOperationsSupported bool `xml:"snapshotOperationsSupported" json:"snapshotOperationsSupported"`
 87043  	// Indicates whether or not a virtual machine supports multiple snapshots.
 87044  	//
 87045  	// This value is not set when the virtual machine is unavailable, for instance,
 87046  	// when it is being created or deleted.
 87047  	MultipleSnapshotsSupported bool `xml:"multipleSnapshotsSupported" json:"multipleSnapshotsSupported"`
 87048  	// Indicates whether or not a virtual machine supports snapshot config.
 87049  	SnapshotConfigSupported bool `xml:"snapshotConfigSupported" json:"snapshotConfigSupported"`
 87050  	// Indicates whether or not a virtual machine supports snapshot operations in
 87051  	// poweredOff state.
 87052  	//
 87053  	// This flag doesn't affect vim.VirtualMachine.GetSnapshot,
 87054  	// which is always supported.
 87055  	PoweredOffSnapshotsSupported bool `xml:"poweredOffSnapshotsSupported" json:"poweredOffSnapshotsSupported"`
 87056  	// Indicates whether or not a virtual machine supports memory snapshots.
 87057  	MemorySnapshotsSupported bool `xml:"memorySnapshotsSupported" json:"memorySnapshotsSupported"`
 87058  	// Indicates whether or not a virtual machine supports reverting to a snapshot.
 87059  	RevertToSnapshotSupported bool `xml:"revertToSnapshotSupported" json:"revertToSnapshotSupported"`
 87060  	// Indicates whether or not a virtual machine supports quiesced snapshots.
 87061  	QuiescedSnapshotsSupported bool `xml:"quiescedSnapshotsSupported" json:"quiescedSnapshotsSupported"`
 87062  	// Deprecated as of vSphere API 4.0. The value returned from the server is
 87063  	// always false.
 87064  	//
 87065  	// Indicates whether or not snapshots can be disabled.
 87066  	DisableSnapshotsSupported bool `xml:"disableSnapshotsSupported" json:"disableSnapshotsSupported" vim:"2.5"`
 87067  	// Indicates whether or not the snapshot tree can be locked.
 87068  	LockSnapshotsSupported bool `xml:"lockSnapshotsSupported" json:"lockSnapshotsSupported" vim:"2.5"`
 87069  	// Indicates whether console preferences can be set for this virtual machine.
 87070  	ConsolePreferencesSupported bool `xml:"consolePreferencesSupported" json:"consolePreferencesSupported"`
 87071  	// Indicates whether CPU feature requirements masks can be set for this
 87072  	// virtual machine.
 87073  	//
 87074  	// Masking for hardware version 9 and newer virtual
 87075  	// machines is controlled by `VirtualMachineCapability.featureRequirementSupported`.
 87076  	CpuFeatureMaskSupported bool `xml:"cpuFeatureMaskSupported" json:"cpuFeatureMaskSupported"`
 87077  	// Indicates whether or not a virtual machine supports ACPI S1 settings management.
 87078  	S1AcpiManagementSupported bool `xml:"s1AcpiManagementSupported" json:"s1AcpiManagementSupported"`
 87079  	// Indicates whether of not this virtual machine supports
 87080  	// setting the screen resolution of the console window.
 87081  	//
 87082  	// This capability depends on the guest operating system
 87083  	// configured for this virtual machine.
 87084  	SettingScreenResolutionSupported bool `xml:"settingScreenResolutionSupported" json:"settingScreenResolutionSupported"`
 87085  	// Supports tools auto-update.
 87086  	ToolsAutoUpdateSupported bool `xml:"toolsAutoUpdateSupported" json:"toolsAutoUpdateSupported"`
 87087  	// Supports virtual machine NPIV WWN.
 87088  	VmNpivWwnSupported bool `xml:"vmNpivWwnSupported" json:"vmNpivWwnSupported" vim:"2.5"`
 87089  	// Supports assigning NPIV WWN to virtual machines that don't have RDM disks.
 87090  	NpivWwnOnNonRdmVmSupported bool `xml:"npivWwnOnNonRdmVmSupported" json:"npivWwnOnNonRdmVmSupported" vim:"2.5"`
 87091  	// Indicates whether the NPIV disabling operation is supported the virtual machine.
 87092  	VmNpivWwnDisableSupported *bool `xml:"vmNpivWwnDisableSupported" json:"vmNpivWwnDisableSupported,omitempty" vim:"4.0"`
 87093  	// Indicates whether the update of NPIV WWNs are supported on the virtual machine.
 87094  	VmNpivWwnUpdateSupported *bool `xml:"vmNpivWwnUpdateSupported" json:"vmNpivWwnUpdateSupported,omitempty" vim:"4.0"`
 87095  	// Flag indicating whether the virtual machine has a configurable
 87096  	// *swapfile placement policy*.
 87097  	SwapPlacementSupported bool `xml:"swapPlacementSupported" json:"swapPlacementSupported" vim:"2.5"`
 87098  	// Indicates whether asking tools to sync time with the host is supported.
 87099  	ToolsSyncTimeSupported bool `xml:"toolsSyncTimeSupported" json:"toolsSyncTimeSupported" vim:"2.5"`
 87100  	// Indicates whether or not the use of nested page table hardware support
 87101  	// can be explicitly set.
 87102  	VirtualMmuUsageSupported bool `xml:"virtualMmuUsageSupported" json:"virtualMmuUsageSupported" vim:"2.5"`
 87103  	// Indicates whether resource settings for disks can be
 87104  	// applied to this virtual machine.
 87105  	DiskSharesSupported bool `xml:"diskSharesSupported" json:"diskSharesSupported" vim:"2.5"`
 87106  	// Indicates whether boot options can be configured
 87107  	// for this virtual machine.
 87108  	BootOptionsSupported bool `xml:"bootOptionsSupported" json:"bootOptionsSupported" vim:"2.5"`
 87109  	// Indicates whether automatic boot retry can be
 87110  	// configured for this virtual machine.
 87111  	BootRetryOptionsSupported *bool `xml:"bootRetryOptionsSupported" json:"bootRetryOptionsSupported,omitempty" vim:"4.1"`
 87112  	// Flag indicating whether the video ram size of this virtual machine
 87113  	// can be configured.
 87114  	SettingVideoRamSizeSupported bool `xml:"settingVideoRamSizeSupported" json:"settingVideoRamSizeSupported" vim:"2.5"`
 87115  	// Indicates whether of not this virtual machine supports
 87116  	// setting the display topology of the console window.
 87117  	//
 87118  	// This capability depends on the guest operating system
 87119  	// configured for this virtual machine.
 87120  	SettingDisplayTopologySupported *bool `xml:"settingDisplayTopologySupported" json:"settingDisplayTopologySupported,omitempty" vim:"2.5 U2"`
 87121  	// Deprecated as of vSphere API 6.0.
 87122  	//
 87123  	// Indicates whether record and replay functionality is supported on this
 87124  	// virtual machine.
 87125  	RecordReplaySupported *bool `xml:"recordReplaySupported" json:"recordReplaySupported,omitempty" vim:"4.0"`
 87126  	// Indicates that change tracking is supported for virtual disks of this
 87127  	// virtual machine.
 87128  	//
 87129  	// However, even if change tracking is supported, it might
 87130  	// not be available for all disks of the virtual machine. For example,
 87131  	// passthru raw disk mappings or disks backed by any Ver1BackingInfo cannot
 87132  	// be tracked.
 87133  	ChangeTrackingSupported *bool `xml:"changeTrackingSupported" json:"changeTrackingSupported,omitempty" vim:"4.0"`
 87134  	// Indicates whether multiple virtual cores per socket is supported on this VM.
 87135  	MultipleCoresPerSocketSupported *bool `xml:"multipleCoresPerSocketSupported" json:"multipleCoresPerSocketSupported,omitempty" vim:"5.0"`
 87136  	// Indicates that host based replication is supported on this virtual
 87137  	// machine.
 87138  	//
 87139  	// However, even if host based replication is supported,
 87140  	// it might not be available for all disk types. For example, passthru
 87141  	// raw disk mappings can not be replicated.
 87142  	HostBasedReplicationSupported *bool `xml:"hostBasedReplicationSupported" json:"hostBasedReplicationSupported,omitempty" vim:"5.0"`
 87143  	// Indicates whether features like guest OS auto-lock and MKS connection
 87144  	// controls are supported for this virtual machine.
 87145  	GuestAutoLockSupported *bool `xml:"guestAutoLockSupported" json:"guestAutoLockSupported,omitempty" vim:"5.0"`
 87146  	// Indicates whether
 87147  	// `memoryReservationLockedToMax`
 87148  	// may be set to true for this virtual machine.
 87149  	MemoryReservationLockSupported *bool `xml:"memoryReservationLockSupported" json:"memoryReservationLockSupported,omitempty" vim:"5.0"`
 87150  	// Indicates whether featureRequirement feature is supported.
 87151  	FeatureRequirementSupported *bool `xml:"featureRequirementSupported" json:"featureRequirementSupported,omitempty" vim:"5.1"`
 87152  	// Indicates whether a monitor type change is supported while this virtual
 87153  	// machine is in the poweredOn state.
 87154  	PoweredOnMonitorTypeChangeSupported *bool `xml:"poweredOnMonitorTypeChangeSupported" json:"poweredOnMonitorTypeChangeSupported,omitempty" vim:"5.1"`
 87155  	// Indicates whether this virtual machine supports the Flex-SE
 87156  	// (space-efficient, sparse) format for virtual disks.
 87157  	SeSparseDiskSupported *bool `xml:"seSparseDiskSupported" json:"seSparseDiskSupported,omitempty" vim:"5.1"`
 87158  	// Indicates whether this virtual machine supports nested hardware-assisted
 87159  	// virtualization.
 87160  	NestedHVSupported *bool `xml:"nestedHVSupported" json:"nestedHVSupported,omitempty" vim:"5.1"`
 87161  	// Indicates whether this virtual machine supports virtualized CPU performance
 87162  	// counters.
 87163  	VPMCSupported *bool `xml:"vPMCSupported" json:"vPMCSupported,omitempty" vim:"5.1"`
 87164  	// Indicates whether secureBoot is supported for this virtual machine.
 87165  	SecureBootSupported *bool `xml:"secureBootSupported" json:"secureBootSupported,omitempty" vim:"6.5"`
 87166  	// Indicates whether this virtual machine supports Per-VM EVC mode.
 87167  	PerVmEvcSupported *bool `xml:"perVmEvcSupported" json:"perVmEvcSupported,omitempty" vim:"6.7"`
 87168  	// Indicates that `VirtualMachineFlagInfo.virtualMmuUsage` is
 87169  	// ignored by this virtual machine, always operating as if "on" was selected.
 87170  	VirtualMmuUsageIgnored *bool `xml:"virtualMmuUsageIgnored" json:"virtualMmuUsageIgnored,omitempty" vim:"6.7"`
 87171  	// Indicates that `VirtualMachineFlagInfo.virtualExecUsage` is
 87172  	// ignored by this virtual machine, always operating as if "hvOn" was selected.
 87173  	VirtualExecUsageIgnored *bool `xml:"virtualExecUsageIgnored" json:"virtualExecUsageIgnored,omitempty" vim:"6.7"`
 87174  	// Indicates whether this virtual machine supports creating disk-only snapshots
 87175  	// in suspended state.
 87176  	//
 87177  	// If this capability is not set, the snapshot of a
 87178  	// virtual machine in suspended state will always include memory.
 87179  	DiskOnlySnapshotOnSuspendedVMSupported *bool `xml:"diskOnlySnapshotOnSuspendedVMSupported" json:"diskOnlySnapshotOnSuspendedVMSupported,omitempty" vim:"6.7"`
 87180  	// Indicates whether this virtual machine supports suspending to memory.
 87181  	SuspendToMemorySupported *bool `xml:"suspendToMemorySupported" json:"suspendToMemorySupported,omitempty" vim:"7.0.2.0"`
 87182  	// Indicates support for allowing or disallowing all tools time
 87183  	// sync with host.
 87184  	ToolsSyncTimeAllowSupported *bool `xml:"toolsSyncTimeAllowSupported" json:"toolsSyncTimeAllowSupported,omitempty" vim:"7.0.1.0"`
 87185  	// Indicates support for AMD-SEV (Secure Encrypted Virtualization).
 87186  	//
 87187  	// SEV is
 87188  	// supported when set to true, and unsupported otherwise.
 87189  	SevSupported *bool `xml:"sevSupported" json:"sevSupported,omitempty" vim:"7.0.1.0"`
 87190  	// Indicates support for failover to a dfferent host on VM's with pmem.
 87191  	//
 87192  	// Failover is supported when set to true, and unsupported otherwise.
 87193  	PmemFailoverSupported *bool `xml:"pmemFailoverSupported" json:"pmemFailoverSupported,omitempty" vim:"7.0.2.0"`
 87194  	// Whether the VM supports requiring SGX remote attestation.
 87195  	RequireSgxAttestationSupported *bool `xml:"requireSgxAttestationSupported" json:"requireSgxAttestationSupported,omitempty" vim:"8.0.0.1"`
 87196  	// Indicates support for change mode on virtual disks
 87197  	ChangeModeDisksSupported *bool `xml:"changeModeDisksSupported" json:"changeModeDisksSupported,omitempty" vim:"8.0.0.1"`
 87198  	// Indicates support for Vendor Device Groups
 87199  	VendorDeviceGroupSupported *bool `xml:"vendorDeviceGroupSupported" json:"vendorDeviceGroupSupported,omitempty" vim:"8.0.1.0"`
 87200  }
 87201  
 87202  func init() {
 87203  	t["VirtualMachineCapability"] = reflect.TypeOf((*VirtualMachineCapability)(nil)).Elem()
 87204  }
 87205  
 87206  // CdromInfo class contains information about a physical CD-ROM drive on the host.
 87207  type VirtualMachineCdromInfo struct {
 87208  	VirtualMachineTargetInfo
 87209  
 87210  	// Description of the physical device.
 87211  	//
 87212  	// This is set only by the server.
 87213  	Description string `xml:"description,omitempty" json:"description,omitempty" vim:"6.5"`
 87214  }
 87215  
 87216  func init() {
 87217  	t["VirtualMachineCdromInfo"] = reflect.TypeOf((*VirtualMachineCdromInfo)(nil)).Elem()
 87218  }
 87219  
 87220  // Describes a single certificate thumbprint that can be used to verify
 87221  // the identity of the host before connecting to a running virtual machine.
 87222  type VirtualMachineCertThumbprint struct {
 87223  	DynamicData
 87224  
 87225  	// The thumbprint of the certificate of the host to which we are
 87226  	// connecting.
 87227  	Thumbprint string `xml:"thumbprint" json:"thumbprint"`
 87228  	// The hash algorithm used to generate the thumbprint.
 87229  	//
 87230  	// `VirtualMachineCertThumbprintHashAlgorithm_enum` lists the set of supported values.
 87231  	HashAlgorithm string `xml:"hashAlgorithm,omitempty" json:"hashAlgorithm,omitempty"`
 87232  }
 87233  
 87234  func init() {
 87235  	t["VirtualMachineCertThumbprint"] = reflect.TypeOf((*VirtualMachineCertThumbprint)(nil)).Elem()
 87236  	minAPIVersionForType["VirtualMachineCertThumbprint"] = "7.0.3.1"
 87237  }
 87238  
 87239  // Specification for a virtual machine cloning operation.
 87240  type VirtualMachineCloneSpec struct {
 87241  	DynamicData
 87242  
 87243  	// A type of RelocateSpec that specifies the location of resources the
 87244  	// newly cloned virtual machine will use.
 87245  	//
 87246  	// The location specifies:
 87247  	//     - A datastore where the virtual machine will be located on physical
 87248  	//       storage.
 87249  	//       This is always provided because it indicates where the newly
 87250  	//       created clone will be copied.
 87251  	//     - a resource pool and optionally a host. The resource pool
 87252  	//       determines what compute resources will be available to the clone
 87253  	//       and the host indicates which machine will host the clone.
 87254  	Location VirtualMachineRelocateSpec `xml:"location" json:"location"`
 87255  	// Specifies whether or not the new virtual machine should be marked as a
 87256  	// template.
 87257  	Template bool `xml:"template" json:"template"`
 87258  	// An optional specification of changes to the virtual hardware.
 87259  	//
 87260  	// For example, this can be used to, (but not limited to) reconfigure the
 87261  	// networks the virtual switches are hooked up to in the cloned virtual
 87262  	// machine.
 87263  	// Use `VirtualMachineRelocateSpec.deviceChange` in
 87264  	// `VirtualMachineCloneSpec.location`
 87265  	// for specifying any virtual device changes for disks and networks.
 87266  	Config *VirtualMachineConfigSpec `xml:"config,omitempty" json:"config,omitempty"`
 87267  	// An optional guest operating system customization specification.
 87268  	//
 87269  	// This value is ignored if a template is being created.
 87270  	Customization *CustomizationSpec `xml:"customization,omitempty" json:"customization,omitempty"`
 87271  	// Specifies whether or not the new VirtualMachine should be powered on
 87272  	// after creation.
 87273  	//
 87274  	// As part of a customization, this flag is normally set
 87275  	// to true, since the first power-on operation completes the customization
 87276  	// process. This flag is ignored if a template is being created.
 87277  	PowerOn bool `xml:"powerOn" json:"powerOn"`
 87278  	// Snapshot reference from which to base the clone.
 87279  	//
 87280  	// If this parameter is set, the clone is based off of the snapshot
 87281  	// point. This means that the newly created virtual machine will
 87282  	// have the same configuration as the virtual machine at the time
 87283  	// the snapshot was taken.
 87284  	//
 87285  	// If this property is not set then the clone is based off of the
 87286  	// virtual machine's current configuration.
 87287  	//
 87288  	// Setting this is only supported if the host this virtual machine
 87289  	// is currently residing on
 87290  	// *supports cloning from a snapshot point*. Such support does not need to
 87291  	// exist on the destination host for the clone.
 87292  	//
 87293  	// Setting this is only supported if the virtual machine supports
 87294  	// reporting snapshot configuration information. See `VirtualMachineCapability.snapshotConfigSupported`. Such support does not need
 87295  	// to exist on the destination host for the clone.
 87296  	//
 87297  	// Refers instance of `VirtualMachineSnapshot`.
 87298  	Snapshot *ManagedObjectReference `xml:"snapshot,omitempty" json:"snapshot,omitempty" vim:"4.0"`
 87299  	// Flag indicating whether to retain a copy of the source virtual machine's
 87300  	// memory state in the clone.
 87301  	//
 87302  	// Retaining the memory state during
 87303  	// clone results in a clone in suspended state with all network adapters
 87304  	// removed to avoid network conflicts, except those with a
 87305  	// VirtualEthernetCard.addressType of "manual".
 87306  	// Users of this flag should take special care so that, when adding a network
 87307  	// adapter back to the clone, the VM is not resumed on the same VM network
 87308  	// as the source VM, or else MAC address conflicts could occur.
 87309  	// When cloning between two hosts with different CPUs outside an EVC cluster,
 87310  	// users of this flag should be aware that vCenter does not verify
 87311  	// CPU compatibility between the clone's memory state and the target host
 87312  	// prior to the clone operation, so the clone may fail to resume
 87313  	// until it is migrated to a host with a compatible CPU.
 87314  	//
 87315  	// This flag is ignored if the snapshot parameter is unset. This flag
 87316  	// only applies for a snapshot taken on a running or suspended
 87317  	// virtual machine with the 'memory' parameter set to true, because otherwise
 87318  	// the snapshot has no memory state. This flag defaults to false.
 87319  	Memory *bool `xml:"memory" json:"memory,omitempty" vim:"5.5"`
 87320  	// Provisioning policy for virtual TPM devices during VM clone operations.
 87321  	//
 87322  	// The list of supported values is defined in `VirtualMachineCloneSpecTpmProvisionPolicy_enum`.
 87323  	//
 87324  	// If unset - a globally defined policy is used, which by default is set to
 87325  	// 'copy'.
 87326  	TpmProvisionPolicy string `xml:"tpmProvisionPolicy,omitempty" json:"tpmProvisionPolicy,omitempty" vim:"8.0.0.1"`
 87327  }
 87328  
 87329  func init() {
 87330  	t["VirtualMachineCloneSpec"] = reflect.TypeOf((*VirtualMachineCloneSpec)(nil)).Elem()
 87331  }
 87332  
 87333  // The ConfigInfo data object type encapsulates the configuration settings and
 87334  // virtual hardware for a virtual machine.
 87335  //
 87336  // This type holds all the information
 87337  // that is present in the .vmx configuration file for the virtual machine.
 87338  type VirtualMachineConfigInfo struct {
 87339  	DynamicData
 87340  
 87341  	// The changeVersion is a unique identifier for a given version
 87342  	// of the configuration.
 87343  	//
 87344  	// Each change to the configuration
 87345  	// updates this value. This is typically implemented as an ever
 87346  	// increasing count or a time-stamp. However, a client should
 87347  	// always treat this as an opaque string.
 87348  	ChangeVersion string `xml:"changeVersion" json:"changeVersion"`
 87349  	// Last time a virtual machine's configuration was modified.
 87350  	Modified time.Time `xml:"modified" json:"modified"`
 87351  	// Display name of the virtual machine.
 87352  	//
 87353  	// Any / (slash), \\ (backslash), character used in this
 87354  	// name element is escaped. Similarly, any % (percent) character used in
 87355  	// this name element is escaped, unless it is used to start an escape
 87356  	// sequence. A slash is escaped as %2F or %2f. A backslash is escaped as %5C or
 87357  	// %5c, and a percent is escaped as %25.
 87358  	Name string `xml:"name" json:"name"`
 87359  	// This is the full name of the guest operating system for the virtual machine.
 87360  	//
 87361  	// For example: Windows 2000 Professional.
 87362  	//
 87363  	// See also `VirtualMachineConfigInfo.alternateGuestName`.
 87364  	GuestFullName string `xml:"guestFullName" json:"guestFullName"`
 87365  	// The version string for this virtual machine.
 87366  	Version string `xml:"version" json:"version"`
 87367  	// 128-bit SMBIOS UUID of a virtual machine represented as a hexadecimal string
 87368  	// in "12345678-abcd-1234-cdef-123456789abc" format.
 87369  	Uuid string `xml:"uuid" json:"uuid"`
 87370  	// Time the virtual machine's configuration was created.
 87371  	CreateDate *time.Time `xml:"createDate" json:"createDate,omitempty" vim:"6.7"`
 87372  	// VirtualCenter-specific 128-bit UUID of a virtual machine, represented
 87373  	// as a hexademical string.
 87374  	//
 87375  	// This identifier is used by VirtualCenter to
 87376  	// uniquely identify all virtual machine instances, including those that
 87377  	// may share the same SMBIOS UUID.
 87378  	InstanceUuid string `xml:"instanceUuid,omitempty" json:"instanceUuid,omitempty" vim:"4.0"`
 87379  	// A 64-bit node WWN (World Wide Name).
 87380  	//
 87381  	// These WWNs are paired with the
 87382  	// `VirtualMachineConfigInfo.npivPortWorldWideName` to be used by the NPIV VPORTs instantiated for the
 87383  	// virtual machine on the physical HBAs of the host. A pair of node and port WWNs
 87384  	// serves as a unique identifier in accessing a LUN, so that it can be monitored or
 87385  	// controlled by the storage administrator.
 87386  	//
 87387  	// If this property contains a single node WWN, the same node WWN is used to pair
 87388  	// with all port WWNs listed in `VirtualMachineConfigInfo.npivPortWorldWideName`. If this property or
 87389  	// `VirtualMachineConfigInfo.npivPortWorldWideName` is empty or unset, NPIV WWN is disabled for the
 87390  	// virtual machine.
 87391  	NpivNodeWorldWideName []int64 `xml:"npivNodeWorldWideName,omitempty" json:"npivNodeWorldWideName,omitempty" vim:"2.5"`
 87392  	// A 64-bit port WWN (World Wide Name).
 87393  	//
 87394  	// For detail description on WWN, see
 87395  	// `VirtualMachineConfigInfo.npivNodeWorldWideName`.
 87396  	NpivPortWorldWideName []int64 `xml:"npivPortWorldWideName,omitempty" json:"npivPortWorldWideName,omitempty" vim:"2.5"`
 87397  	// The source that provides/generates the assigned WWNs.
 87398  	//
 87399  	// See also `VirtualMachineConfigInfoNpivWwnType_enum`.
 87400  	NpivWorldWideNameType string `xml:"npivWorldWideNameType,omitempty" json:"npivWorldWideNameType,omitempty" vim:"2.5"`
 87401  	// The NPIV node WWNs to be extended from the original list of WWN nummbers.
 87402  	//
 87403  	// This
 87404  	// property should be set to desired number which is an aggregate of existing
 87405  	// plus new numbers. Desired Node WWNs should always be greater than the existing
 87406  	// number of node WWNs
 87407  	NpivDesiredNodeWwns int16 `xml:"npivDesiredNodeWwns,omitempty" json:"npivDesiredNodeWwns,omitempty" vim:"4.0"`
 87408  	// The NPIV port WWNs to be extended from the original list of WWN nummbers.
 87409  	//
 87410  	// This
 87411  	// property should be set to desired number which is an aggregate of existing
 87412  	// plus new numbers. Desired Node WWNs should always be greater than the existing
 87413  	// number of port WWNs
 87414  	NpivDesiredPortWwns int16 `xml:"npivDesiredPortWwns,omitempty" json:"npivDesiredPortWwns,omitempty" vim:"4.0"`
 87415  	// This property is used to enable or disable the NPIV capability on a desired
 87416  	// virtual machine on a temporary basis.
 87417  	//
 87418  	// When this property is set NPIV Vport
 87419  	// will not be instantiated by the VMX process of the Virtual Machine. When this
 87420  	// property is set port WWNs and node WWNs in the VM configuration are preserved.
 87421  	NpivTemporaryDisabled *bool `xml:"npivTemporaryDisabled" json:"npivTemporaryDisabled,omitempty" vim:"4.0"`
 87422  	// This property is used to check whether the NPIV can be enabled on the Virtual
 87423  	// machine with non-rdm disks in the configuration, so this is potentially not
 87424  	// enabling npiv on vmfs disks.
 87425  	//
 87426  	// Also this property is used to check whether RDM
 87427  	// is required to generate WWNs for a virtual machine.
 87428  	NpivOnNonRdmDisks *bool `xml:"npivOnNonRdmDisks" json:"npivOnNonRdmDisks,omitempty" vim:"4.0"`
 87429  	// Hash incorporating the virtual machine's config file location
 87430  	// and the UUID of the host assigned to run the virtual machine.
 87431  	LocationId string `xml:"locationId,omitempty" json:"locationId,omitempty"`
 87432  	// Flag indicating whether or not a virtual machine is a template.
 87433  	Template bool `xml:"template" json:"template"`
 87434  	// Guest operating system configured on a virtual machine.
 87435  	//
 87436  	// This is a guest identifier that can be used to access the
 87437  	// `GuestOsDescriptor`
 87438  	// list for information about default configuration.
 87439  	// For more information on possible values, see
 87440  	// `VirtualMachineGuestOsIdentifier`.
 87441  	GuestId string `xml:"guestId" json:"guestId"`
 87442  	// Used as display name for the operating system if guestId is `other`
 87443  	// or `other-64`.
 87444  	//
 87445  	// See also `VirtualMachineConfigInfo.guestFullName`.
 87446  	AlternateGuestName string `xml:"alternateGuestName" json:"alternateGuestName" vim:"2.5"`
 87447  	// Description for the virtual machine.
 87448  	Annotation string `xml:"annotation,omitempty" json:"annotation,omitempty"`
 87449  	// Information about the files associated with a virtual machine.
 87450  	//
 87451  	// This information does not include files for specific virtual disks or
 87452  	// snapshots.
 87453  	Files VirtualMachineFileInfo `xml:"files" json:"files"`
 87454  	// Configuration of VMware Tools running in the guest operating system.
 87455  	Tools *ToolsConfigInfo `xml:"tools,omitempty" json:"tools,omitempty"`
 87456  	// Additional flags for a virtual machine.
 87457  	Flags VirtualMachineFlagInfo `xml:"flags" json:"flags"`
 87458  	// Legacy console viewer preferences when doing power operations.
 87459  	ConsolePreferences *VirtualMachineConsolePreferences `xml:"consolePreferences,omitempty" json:"consolePreferences,omitempty"`
 87460  	// Configuration of default power operations.
 87461  	DefaultPowerOps VirtualMachineDefaultPowerOpInfo `xml:"defaultPowerOps" json:"defaultPowerOps"`
 87462  	// Whether the next reboot will result in a power off.
 87463  	RebootPowerOff *bool `xml:"rebootPowerOff" json:"rebootPowerOff,omitempty" vim:"8.0.0.1"`
 87464  	// Processor, memory, and virtual devices for a virtual machine.
 87465  	Hardware VirtualHardware `xml:"hardware" json:"hardware"`
 87466  	// Vcpu configuration.
 87467  	//
 87468  	// The <code>vcpuConfig</code> array is indexed
 87469  	// by vcpu number.
 87470  	VcpuConfig []VirtualMachineVcpuConfig `xml:"vcpuConfig,omitempty" json:"vcpuConfig,omitempty" vim:"7.0"`
 87471  	// Resource limits for CPU.
 87472  	CpuAllocation *ResourceAllocationInfo `xml:"cpuAllocation,omitempty" json:"cpuAllocation,omitempty"`
 87473  	// Resource limits for memory.
 87474  	MemoryAllocation *ResourceAllocationInfo `xml:"memoryAllocation,omitempty" json:"memoryAllocation,omitempty"`
 87475  	// The latency-sensitivity of the virtual machine.
 87476  	LatencySensitivity *LatencySensitivity `xml:"latencySensitivity,omitempty" json:"latencySensitivity,omitempty" vim:"5.1"`
 87477  	// Whether memory can be added while this virtual machine is running.
 87478  	MemoryHotAddEnabled *bool `xml:"memoryHotAddEnabled" json:"memoryHotAddEnabled,omitempty" vim:"2.5 U2"`
 87479  	// Whether virtual processors can be added while this
 87480  	// virtual machine is running.
 87481  	CpuHotAddEnabled *bool `xml:"cpuHotAddEnabled" json:"cpuHotAddEnabled,omitempty" vim:"2.5 U2"`
 87482  	// Whether virtual processors can be removed while this
 87483  	// virtual machine is running.
 87484  	CpuHotRemoveEnabled *bool `xml:"cpuHotRemoveEnabled" json:"cpuHotRemoveEnabled,omitempty" vim:"2.5 U2"`
 87485  	// The maximum amount of memory, in MB, than can be added to a
 87486  	// running virtual machine.
 87487  	//
 87488  	// This value is determined by the
 87489  	// virtual machine and is specified only if
 87490  	// `VirtualMachineConfigInfo.memoryHotAddEnabled`
 87491  	// is set to true.
 87492  	HotPlugMemoryLimit int64 `xml:"hotPlugMemoryLimit,omitempty" json:"hotPlugMemoryLimit,omitempty" vim:"2.5 U2"`
 87493  	// Memory, in MB that can be added to a running virtual machine
 87494  	// must be in increments of this value and needs be a
 87495  	// multiple of this value.
 87496  	//
 87497  	// This value is determined by the virtual machine and is specified
 87498  	// only if `VirtualMachineConfigSpec.memoryHotAddEnabled`
 87499  	// has been set to true.
 87500  	HotPlugMemoryIncrementSize int64 `xml:"hotPlugMemoryIncrementSize,omitempty" json:"hotPlugMemoryIncrementSize,omitempty" vim:"2.5 U2"`
 87501  	// Affinity settings for CPU.
 87502  	CpuAffinity *VirtualMachineAffinityInfo `xml:"cpuAffinity,omitempty" json:"cpuAffinity,omitempty"`
 87503  	// Deprecated since vSphere 6.0.
 87504  	//
 87505  	// Affinity settings for memory.
 87506  	MemoryAffinity *VirtualMachineAffinityInfo `xml:"memoryAffinity,omitempty" json:"memoryAffinity,omitempty"`
 87507  	// Deprecated from vSphere 5.5, shaping policy on VM is not supported.
 87508  	//
 87509  	// Resource limits for network.
 87510  	NetworkShaper *VirtualMachineNetworkShaperInfo `xml:"networkShaper,omitempty" json:"networkShaper,omitempty"`
 87511  	// Additional configuration information for the virtual machine.
 87512  	ExtraConfig []BaseOptionValue `xml:"extraConfig,omitempty,typeattr" json:"extraConfig,omitempty"`
 87513  	// Specifies CPU feature compatibility masks that override the
 87514  	// defaults from the `GuestOsDescriptor`
 87515  	// of the virtual machine's guest OS.
 87516  	//
 87517  	// As of vSphere API 6.5 `FeatureMask`
 87518  	// is the recommended method for masking virtual machines with
 87519  	// hardware version 9 and above (newer). They can be viewed via
 87520  	// `featureMask`.
 87521  	CpuFeatureMask []HostCpuIdInfo `xml:"cpuFeatureMask,omitempty" json:"cpuFeatureMask,omitempty"`
 87522  	// Enumerates the set of datastores that this virtual machine is
 87523  	// stored on, as well as the URL identification for each of these.
 87524  	//
 87525  	// Changes to datastores do not generate property updates on this
 87526  	// property. However, when this property is retrieved it returns the
 87527  	// current datastore information.
 87528  	DatastoreUrl []VirtualMachineConfigInfoDatastoreUrlPair `xml:"datastoreUrl,omitempty" json:"datastoreUrl,omitempty"`
 87529  	// Virtual machine swapfile placement policy.
 87530  	//
 87531  	// This will be unset if the
 87532  	// virtual machine's
 87533  	// `swapPlacementSupported`
 87534  	// capability is false. If swapPlacementSupported is true, the default
 87535  	// policy is "inherit".
 87536  	//
 87537  	// See also `VirtualMachineConfigInfoSwapPlacementType_enum`.
 87538  	SwapPlacement string `xml:"swapPlacement,omitempty" json:"swapPlacement,omitempty" vim:"2.5"`
 87539  	// Configuration options for the boot behavior of the virtual machine.
 87540  	BootOptions *VirtualMachineBootOptions `xml:"bootOptions,omitempty" json:"bootOptions,omitempty" vim:"2.5"`
 87541  	// Fault Tolerance settings for this virtual machine.
 87542  	FtInfo BaseFaultToleranceConfigInfo `xml:"ftInfo,omitempty,typeattr" json:"ftInfo,omitempty" vim:"4.0"`
 87543  	// vSphere Replication settings for this virtual machine.
 87544  	//
 87545  	// Note this may become deprecated in the future releases. We discourage
 87546  	// any unnecessary dependency on this field.
 87547  	RepConfig *ReplicationConfigSpec `xml:"repConfig,omitempty" json:"repConfig,omitempty" vim:"6.0"`
 87548  	// vApp meta-data for the virtual machine
 87549  	VAppConfig BaseVmConfigInfo `xml:"vAppConfig,omitempty,typeattr" json:"vAppConfig,omitempty" vim:"4.0"`
 87550  	// Indicates whether user-configured virtual asserts will be
 87551  	// triggered during virtual machine replay.
 87552  	VAssertsEnabled *bool `xml:"vAssertsEnabled" json:"vAssertsEnabled,omitempty" vim:"4.0"`
 87553  	// Indicates whether changed block tracking for this VM's disks
 87554  	// is active.
 87555  	ChangeTrackingEnabled *bool `xml:"changeTrackingEnabled" json:"changeTrackingEnabled,omitempty" vim:"4.0"`
 87556  	// Information about firmware type for this Virtual Machine.
 87557  	//
 87558  	// Possible values are described in
 87559  	// `GuestOsDescriptorFirmwareType_enum`
 87560  	// When creating a new VM:
 87561  	// \- If vim.vm.FlagInfo.vbsEnabled is set to <code>true</code> and
 87562  	// this property is set to <code>bios</code>, error is returned.
 87563  	// \- If this property is unset and vim.vm.FlagInfo.vbsEnabled is set
 87564  	// to <code>true</code>, this property is set to <code>efi</code>.
 87565  	Firmware string `xml:"firmware,omitempty" json:"firmware,omitempty" vim:"5.0"`
 87566  	// Indicates the maximum number of active remote display connections
 87567  	// that the virtual machine will support.
 87568  	MaxMksConnections int32 `xml:"maxMksConnections,omitempty" json:"maxMksConnections,omitempty" vim:"5.0"`
 87569  	// Indicates whether the guest operating system will logout any active
 87570  	// sessions whenever there are no remote display connections open to
 87571  	// the virtual machine.
 87572  	GuestAutoLockEnabled *bool `xml:"guestAutoLockEnabled" json:"guestAutoLockEnabled,omitempty" vim:"5.0"`
 87573  	// Specifies that this VM is managed by a VC Extension.
 87574  	//
 87575  	// See the
 87576  	// `managedBy` property in the ConfigSpec
 87577  	// for more details.
 87578  	ManagedBy *ManagedByInfo `xml:"managedBy,omitempty" json:"managedBy,omitempty" vim:"5.0"`
 87579  	// If set true, memory resource reservation for this virtual machine will always be
 87580  	// equal to the virtual machine's memory size; increases in memory size will be
 87581  	// rejected when a corresponding reservation increase is not possible.
 87582  	MemoryReservationLockedToMax *bool `xml:"memoryReservationLockedToMax" json:"memoryReservationLockedToMax,omitempty" vim:"5.0"`
 87583  	// Set of values to be used only to perform admission control when
 87584  	// determining if a host has sufficient resources for the virtual
 87585  	// machine to power on.
 87586  	InitialOverhead *VirtualMachineConfigInfoOverheadInfo `xml:"initialOverhead,omitempty" json:"initialOverhead,omitempty" vim:"5.0"`
 87587  	// Indicates whether this VM is configured to use nested
 87588  	// hardware-assisted virtualization.
 87589  	NestedHVEnabled *bool `xml:"nestedHVEnabled" json:"nestedHVEnabled,omitempty" vim:"5.1"`
 87590  	// Indicates whether this VM have vurtual CPU performance counters
 87591  	// enabled.
 87592  	VPMCEnabled *bool `xml:"vPMCEnabled" json:"vPMCEnabled,omitempty" vim:"5.1"`
 87593  	// Configuration of scheduled hardware upgrades and result from last
 87594  	// attempt to run scheduled hardware upgrade.
 87595  	//
 87596  	// See also `ScheduledHardwareUpgradeInfo`.
 87597  	ScheduledHardwareUpgradeInfo *ScheduledHardwareUpgradeInfo `xml:"scheduledHardwareUpgradeInfo,omitempty" json:"scheduledHardwareUpgradeInfo,omitempty" vim:"5.1"`
 87598  	// Fork configuration of this virtual machines.
 87599  	//
 87600  	// If unset, this virtual machine
 87601  	// is not configured for fork.
 87602  	//
 87603  	// See also `VirtualMachineForkConfigInfo`.
 87604  	ForkConfigInfo *VirtualMachineForkConfigInfo `xml:"forkConfigInfo,omitempty" json:"forkConfigInfo,omitempty" vim:"6.0"`
 87605  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 87606  	// end of availability.
 87607  	//
 87608  	// Specifies the total vFlash resource reservation for the vFlash caches associated
 87609  	// with this VM's virtual disks, in bytes.
 87610  	//
 87611  	// This reservation must be allocated to power on the VM.
 87612  	// See `VirtualMachineRuntimeInfo.vFlashCacheAllocation` for allocated
 87613  	// reservation when VM is powered on.
 87614  	VFlashCacheReservation int64 `xml:"vFlashCacheReservation,omitempty" json:"vFlashCacheReservation,omitempty" vim:"5.5"`
 87615  	// A checksum of vmx config file.
 87616  	VmxConfigChecksum []byte `xml:"vmxConfigChecksum,omitempty" json:"vmxConfigChecksum,omitempty" vim:"6.0"`
 87617  	// Whether to allow tunneling of clients from the guest VM into the
 87618  	// common message bus on the host network.
 87619  	MessageBusTunnelEnabled *bool `xml:"messageBusTunnelEnabled" json:"messageBusTunnelEnabled,omitempty" vim:"6.0"`
 87620  	// Virtual Machine Object Identifier.
 87621  	//
 87622  	// With Object-based Storage systems, Virtual Machine home directory
 87623  	// is backed by an object.
 87624  	// This identifier will be set only if VM directory resided on
 87625  	// object-based storage systems.
 87626  	VmStorageObjectId string `xml:"vmStorageObjectId,omitempty" json:"vmStorageObjectId,omitempty" vim:"6.0"`
 87627  	// Virtual Machine Swap Object Identifier.
 87628  	//
 87629  	// With Object-based Storage systems, VM's Swap is backed by an object.
 87630  	// This identifier will be set only if VM swap resided on
 87631  	// object-based storage systems.
 87632  	SwapStorageObjectId string `xml:"swapStorageObjectId,omitempty" json:"swapStorageObjectId,omitempty" vim:"6.0"`
 87633  	// Virtual Machine cryptographic options.
 87634  	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty" vim:"6.5"`
 87635  	// Guest integrity platform configuration
 87636  	GuestIntegrityInfo *VirtualMachineGuestIntegrityInfo `xml:"guestIntegrityInfo,omitempty" json:"guestIntegrityInfo,omitempty" vim:"6.5"`
 87637  	// An enum describing whether encrypted vMotion is required for this VM.
 87638  	//
 87639  	// See `VirtualMachineConfigSpecEncryptedVMotionModes_enum` for allowed values.
 87640  	// This defaults to opportunistic for a regular VM, and will be set to
 87641  	// required for an encrypted VM.
 87642  	MigrateEncryption string `xml:"migrateEncryption,omitempty" json:"migrateEncryption,omitempty" vim:"6.5"`
 87643  	// Configuration of SGX, Software Guard Extensions for the VM.
 87644  	SgxInfo *VirtualMachineSgxInfo `xml:"sgxInfo,omitempty" json:"sgxInfo,omitempty" vim:"7.0"`
 87645  	// Content Library Item info.
 87646  	ContentLibItemInfo *VirtualMachineContentLibraryItemInfo `xml:"contentLibItemInfo,omitempty" json:"contentLibItemInfo,omitempty" vim:"7.0"`
 87647  	// An enum describing whether encrypted Fault Tolerance is required for this
 87648  	// VM.
 87649  	//
 87650  	// See `VirtualMachineConfigSpecEncryptedFtModes_enum` for allowed values.
 87651  	// \- This defaults to opportunistic for a regular VM, and will be set to
 87652  	// required for an encrypted VM.
 87653  	// \- If this property is unset, the mode of encrypted Fault Tolerance
 87654  	// will be set to opportunistic.
 87655  	FtEncryptionMode string `xml:"ftEncryptionMode,omitempty" json:"ftEncryptionMode,omitempty" vim:"7.0.2.0"`
 87656  	// GMM configuration
 87657  	GuestMonitoringModeInfo *VirtualMachineGuestMonitoringModeInfo `xml:"guestMonitoringModeInfo,omitempty" json:"guestMonitoringModeInfo,omitempty" vim:"7.0"`
 87658  	// SEV (Secure Encrypted Virtualization) enabled or not.
 87659  	//
 87660  	// SEV is enabled
 87661  	// when set to true, and disabled otherwise.
 87662  	SevEnabled *bool `xml:"sevEnabled" json:"sevEnabled,omitempty" vim:"7.0.1.0"`
 87663  	// vNUMA info.
 87664  	NumaInfo *VirtualMachineVirtualNumaInfo `xml:"numaInfo,omitempty" json:"numaInfo,omitempty" vim:"8.0.0.1"`
 87665  	// Property to indicate PMem HA failover configuration.
 87666  	//
 87667  	// \- When set to TRUE, VMs configured to use PMem
 87668  	// will be failed over to other hosts by HA, but the data
 87669  	// in NVDIMM is not persistent.
 87670  	// \- When set to FALSE, VMs configured to use PMem will not
 87671  	// be failed over to other hosts by HA.
 87672  	// Property is currently only applicable to VMs with NVDimms and
 87673  	// will fail to set True if vPMem disks are present.
 87674  	PmemFailoverEnabled *bool `xml:"pmemFailoverEnabled" json:"pmemFailoverEnabled,omitempty" vim:"7.0.2.0"`
 87675  	// Indicates whether VMXStats Collection is enabled/disabled.
 87676  	//
 87677  	// \- If TRUE, VMXStats is enabled for the VM and a scoreboard
 87678  	// file is created to store stats for various VMX components.
 87679  	// \- If FALSE, VMXStats is disabled for the VM and there is
 87680  	// no scoreboard file created.
 87681  	VmxStatsCollectionEnabled *bool `xml:"vmxStatsCollectionEnabled" json:"vmxStatsCollectionEnabled,omitempty" vim:"7.0.3.1"`
 87682  	// Indicates whether operation notification to applications is
 87683  	// enabled/disabled.
 87684  	//
 87685  	// \- When set to TRUE, application running inside the VM will be
 87686  	// notified of operations for which they have registered.
 87687  	// \- If unset or FALSE, new applications are not allowed to register
 87688  	// for notifications and RPCs will no longer be supported from
 87689  	// already registered applications.
 87690  	VmOpNotificationToAppEnabled *bool `xml:"vmOpNotificationToAppEnabled" json:"vmOpNotificationToAppEnabled,omitempty" vim:"7.0.3.0"`
 87691  	// Operation notification timeout in seconds.
 87692  	//
 87693  	// \- Specifies the maximum time the application can take to
 87694  	// prepare for the operation after its been notified. This value is used
 87695  	// only if `VirtualMachineConfigInfo.vmOpNotificationToAppEnabled` is set to TRUE.
 87696  	// \- If `VirtualMachineConfigInfo.vmOpNotificationTimeout` is unset, then it defaults to
 87697  	// cluster/host timeout.
 87698  	VmOpNotificationTimeout int64 `xml:"vmOpNotificationTimeout,omitempty" json:"vmOpNotificationTimeout,omitempty" vim:"8.0.0.1"`
 87699  	// Status of the device swap operation.
 87700  	DeviceSwap *VirtualMachineVirtualDeviceSwap `xml:"deviceSwap,omitempty" json:"deviceSwap,omitempty" vim:"8.0.0.1"`
 87701  	// Virtual persistent memory info.
 87702  	Pmem *VirtualMachineVirtualPMem `xml:"pmem,omitempty" json:"pmem,omitempty" vim:"7.0.3.0"`
 87703  	// Assignable hardware device groups.
 87704  	DeviceGroups *VirtualMachineVirtualDeviceGroups `xml:"deviceGroups,omitempty" json:"deviceGroups,omitempty" vim:"8.0.0.1"`
 87705  	// Indicates whether support to add and remove fixed passthrough
 87706  	// devices when the VM is running is enabled.
 87707  	//
 87708  	// When the virtual machine is powered on, this indicates if
 87709  	// support for hot adding and removing fixed passthrough devices
 87710  	// was enabled prior to power on. Otherwise, it indicates whether
 87711  	// it will be enabled when the VM is powered on.
 87712  	// NOTE: When setting this to true, the memory reservation should
 87713  	// be equal to the guest memory size or the option to reserve all
 87714  	// guest memory should be selected. If unset, the current value is
 87715  	// left unchanged.
 87716  	FixedPassthruHotPlugEnabled *bool `xml:"fixedPassthruHotPlugEnabled" json:"fixedPassthruHotPlugEnabled,omitempty" vim:"8.0.1.0"`
 87717  }
 87718  
 87719  func init() {
 87720  	t["VirtualMachineConfigInfo"] = reflect.TypeOf((*VirtualMachineConfigInfo)(nil)).Elem()
 87721  }
 87722  
 87723  // Contains the name of a datastore, and its local file path on the host
 87724  // currently affiliated with this virtual machine.
 87725  type VirtualMachineConfigInfoDatastoreUrlPair struct {
 87726  	DynamicData
 87727  
 87728  	Name string `xml:"name" json:"name"`
 87729  	Url  string `xml:"url" json:"url"`
 87730  }
 87731  
 87732  func init() {
 87733  	t["VirtualMachineConfigInfoDatastoreUrlPair"] = reflect.TypeOf((*VirtualMachineConfigInfoDatastoreUrlPair)(nil)).Elem()
 87734  }
 87735  
 87736  // Information about virtualization overhead required to power on the
 87737  // virtual machine on the registered host.
 87738  type VirtualMachineConfigInfoOverheadInfo struct {
 87739  	DynamicData
 87740  
 87741  	// Memory overhead required for virtual machine to be powered on (in bytes).
 87742  	InitialMemoryReservation int64 `xml:"initialMemoryReservation,omitempty" json:"initialMemoryReservation,omitempty"`
 87743  	// Disk space required for virtual machine to be powered on (in bytes).
 87744  	//
 87745  	// This space is used by virtualization infrastructure to swap out
 87746  	// virtual machine process memory. Location of the file is specified by
 87747  	// sched.swap.vmxSwapDir virtual machinge advanced config option or
 87748  	// in case it is not specified - current virtual machine home directory
 87749  	// is being used.
 87750  	InitialSwapReservation int64 `xml:"initialSwapReservation,omitempty" json:"initialSwapReservation,omitempty"`
 87751  }
 87752  
 87753  func init() {
 87754  	t["VirtualMachineConfigInfoOverheadInfo"] = reflect.TypeOf((*VirtualMachineConfigInfoOverheadInfo)(nil)).Elem()
 87755  	minAPIVersionForType["VirtualMachineConfigInfoOverheadInfo"] = "5.0"
 87756  }
 87757  
 87758  // This configuration data object type contains information about the execution
 87759  // environment for a virtual machine.
 87760  //
 87761  // This includes information about which features are
 87762  // supported, such as:
 87763  //   - Which guest operating systems are supported.
 87764  //   - How devices are emulated. For example, that a CD-ROM drive can be emulated
 87765  //     with a file or that a serial port can be emulated with a pipe.
 87766  //
 87767  // VirtualCenter can provide a broader environment than any single physical host. This
 87768  // is a departure from traditional virtualization approaches, which rely on the host
 87769  // system to define the environment for virtual machines. This data object describes
 87770  // environment capabilities and is used by VirtualCenter to choose hosts on which to run
 87771  // virtual machines.
 87772  type VirtualMachineConfigOption struct {
 87773  	DynamicData
 87774  
 87775  	// The version corresponding to this configOption.
 87776  	Version string `xml:"version" json:"version"`
 87777  	// A description string for this configOption.
 87778  	Description string `xml:"description" json:"description"`
 87779  	// List of supported guest operating systems.
 87780  	//
 87781  	// The choice of guest operating system may limit the set of valid devices.
 87782  	// For example, you cannot select Vmxnet with all guest operating systems.
 87783  	GuestOSDescriptor []GuestOsDescriptor `xml:"guestOSDescriptor" json:"guestOSDescriptor"`
 87784  	// Index into guestOsDescriptor array denoting the default guest
 87785  	// operating system.
 87786  	GuestOSDefaultIndex int32 `xml:"guestOSDefaultIndex" json:"guestOSDefaultIndex"`
 87787  	// Processor, memory, and virtual device options for a virtual machine.
 87788  	HardwareOptions VirtualHardwareOption `xml:"hardwareOptions" json:"hardwareOptions"`
 87789  	// Capabilities supported by a virtual machine.
 87790  	Capabilities VirtualMachineCapability `xml:"capabilities" json:"capabilities"`
 87791  	// The datastore options for this virtual machine.
 87792  	Datastore DatastoreOption `xml:"datastore" json:"datastore"`
 87793  	// The list of virtual devices that are created on a virtual machine by default.
 87794  	//
 87795  	// Clients should not create these devices.
 87796  	DefaultDevice []BaseVirtualDevice `xml:"defaultDevice,omitempty,typeattr" json:"defaultDevice,omitempty"`
 87797  	// The monitor types supported by a host.
 87798  	//
 87799  	// The acceptable monitor types
 87800  	// are enumerated by `VirtualMachineFlagInfoMonitorType_enum`.
 87801  	SupportedMonitorType []string `xml:"supportedMonitorType" json:"supportedMonitorType" vim:"2.5"`
 87802  	// Specifies the supported property transports that are
 87803  	// available for the OVF environment
 87804  	SupportedOvfEnvironmentTransport []string `xml:"supportedOvfEnvironmentTransport,omitempty" json:"supportedOvfEnvironmentTransport,omitempty" vim:"4.0"`
 87805  	// Specifies the supported transports for the OVF
 87806  	// installation phase.
 87807  	SupportedOvfInstallTransport []string `xml:"supportedOvfInstallTransport,omitempty" json:"supportedOvfInstallTransport,omitempty" vim:"4.0"`
 87808  	// The relations between the properties of the virtual
 87809  	// machine config spec.
 87810  	PropertyRelations []VirtualMachinePropertyRelation `xml:"propertyRelations,omitempty" json:"propertyRelations,omitempty" vim:"6.7"`
 87811  }
 87812  
 87813  func init() {
 87814  	t["VirtualMachineConfigOption"] = reflect.TypeOf((*VirtualMachineConfigOption)(nil)).Elem()
 87815  }
 87816  
 87817  // Contains the definition of a unique key that can be used to
 87818  // retrieve a configOption object.
 87819  type VirtualMachineConfigOptionDescriptor struct {
 87820  	DynamicData
 87821  
 87822  	// A unique key used to identify a configOption object in this
 87823  	// `EnvironmentBrowser`.
 87824  	Key string `xml:"key" json:"key"`
 87825  	// A description of the configOption object.
 87826  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 87827  	// List of hosts to which this descriptor applies.
 87828  	//
 87829  	// List of hosts is not set when descriptor is returned
 87830  	// from `Datacenter.queryDatacenterConfigOptionDescriptor`.
 87831  	//
 87832  	// Refers instances of `HostSystem`.
 87833  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 87834  	// Indicates whether the associated set of configuration options
 87835  	// can be used for virtual machine creation on a given host or
 87836  	// cluster.
 87837  	CreateSupported *bool `xml:"createSupported" json:"createSupported,omitempty" vim:"2.5 U2"`
 87838  	// Indicates whether the associated set of virtual machine
 87839  	// configuration options is the default one for a given host or
 87840  	// cluster.
 87841  	//
 87842  	// Latest version is marked as default unless
 87843  	// other version is specified via
 87844  	// `ComputeResourceConfigInfo.defaultHardwareVersionKey`
 87845  	// or `DatacenterConfigInfo.defaultHardwareVersionKey`.
 87846  	// If this setting is TRUE, virtual machine creates will use the
 87847  	// associated set of configuration options, unless a config version is
 87848  	// explicitly specified in the `ConfigSpec`.
 87849  	DefaultConfigOption *bool `xml:"defaultConfigOption" json:"defaultConfigOption,omitempty" vim:"2.5 U2"`
 87850  	// Indicates whether the associated set of configuration options
 87851  	// can be used to power on a virtual machine on a given host or
 87852  	// cluster.
 87853  	RunSupported *bool `xml:"runSupported" json:"runSupported,omitempty" vim:"5.1"`
 87854  	// Indicates whether the associated set of configuration options
 87855  	// can be used as a virtual hardware upgrade target.
 87856  	UpgradeSupported *bool `xml:"upgradeSupported" json:"upgradeSupported,omitempty" vim:"5.1"`
 87857  }
 87858  
 87859  func init() {
 87860  	t["VirtualMachineConfigOptionDescriptor"] = reflect.TypeOf((*VirtualMachineConfigOptionDescriptor)(nil)).Elem()
 87861  }
 87862  
 87863  // This data object type encapsulates configuration settings
 87864  // when creating or reconfiguring a virtual machine.
 87865  //
 87866  // To support incremental changes,
 87867  // these properties are all optional. If an optional property is unset,
 87868  // or any nested optional property is unset, the property will not
 87869  // be changed unless 'unset' is a valid value for the property. To determine
 87870  // whether 'unset' is a valid value for a particular property, refer to
 87871  // the documentation for that property.
 87872  type VirtualMachineConfigSpec struct {
 87873  	DynamicData
 87874  
 87875  	// If specified, the changes are only applied if the current changeVersion matches
 87876  	// the specified changeVersion.
 87877  	//
 87878  	// This field can be used to guard against updates that
 87879  	// have happened between when configInfo is read and when it is applied.
 87880  	//
 87881  	// For more information about how configurations are uniquely identified, see
 87882  	// `VirtualMachineConfigInfo.changeVersion`.
 87883  	ChangeVersion string `xml:"changeVersion,omitempty" json:"changeVersion,omitempty"`
 87884  	// Display name of the virtual machine.
 87885  	//
 87886  	// Any % (percent) character used in this name parameter must be escaped, unless it
 87887  	// is used to start an escape sequence. Clients may also escape any other characters
 87888  	// in this name parameter. Snapshots of virtual machines that have spaces in their
 87889  	// names and are associated with ESX 2.x servers are not supported. Therefore, if you
 87890  	// want the option to take snapshots of this virtual machine and you are associating
 87891  	// it with an ESX 2.x server, do not use spaces in the name.
 87892  	//
 87893  	// Reconfigure privilege: VirtualMachine.Config.Rename
 87894  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 87895  	// The version string for this virtual machine.
 87896  	//
 87897  	// This is used only while
 87898  	// creating a new virtual machine, and can be updated by invoking
 87899  	// `VirtualMachine.UpgradeVM_Task` for this virtual
 87900  	// machine.
 87901  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 87902  	// Creation date of a virtual machine represented in DateTime format.
 87903  	//
 87904  	// This property is populated by the vCenter Server with the date
 87905  	// and time of creation of the virtual machine. Values provided by the
 87906  	// client will be ignored.
 87907  	//
 87908  	// Reconfigure privilege: VirtualMachine.Config.Settings
 87909  	CreateDate *time.Time `xml:"createDate" json:"createDate,omitempty" vim:"6.7"`
 87910  	// 128-bit SMBIOS UUID of a virtual machine represented as a hexadecimal string
 87911  	// in "12345678-abcd-1234-cdef-123456789abc" format.
 87912  	//
 87913  	// Normally, this property is not set by a client, allowing the
 87914  	// Virtual Infrastructure environment to assign a UUID when
 87915  	// the virtual machine is created. However, in some rare cases,
 87916  	// such as a manual copy of a virtual machine, it may be necessary
 87917  	// to set this property.
 87918  	//
 87919  	// Reconfigure privilege: VirtualMachine.Config.Settings
 87920  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 87921  	// VirtualCenter-specific 128-bit UUID of a virtual machine, represented
 87922  	// as a hexadecimal string.
 87923  	//
 87924  	// This identifier is used by VirtalCenter
 87925  	// to uniquely identify all virtual machine instances in the Virtual
 87926  	// Infrastructure environment, including those that may share the same
 87927  	// SMBIOS UUID.
 87928  	//
 87929  	// Normally, this property is not set by a client, allowing the
 87930  	// Virtual Infrastructure environment to assign or change it when
 87931  	// VirtualCenter detects an identifier conflict between virtual
 87932  	// machines. This identifier can be modified even when a virtual
 87933  	// machine is powered on. Clients can specify that vCenter Server
 87934  	// reassign a new identifier by a providing an empty string. Reassigning
 87935  	// the identifer is not allowed for Fault Tolerance virtual machines.
 87936  	//
 87937  	// Reconfigure privilege: VirtualMachine.Config.Settings
 87938  	InstanceUuid string `xml:"instanceUuid,omitempty" json:"instanceUuid,omitempty" vim:"4.0"`
 87939  	// The NPIV node WWN to be assigned to a virtual machine.
 87940  	//
 87941  	// This property should only
 87942  	// be used or set when the value of `VirtualMachineConfigSpec.npivWorldWideNameOp` property is "set".
 87943  	// Otherwise, an `InvalidVmConfig` fault will be thrown. If the
 87944  	// specified node WWN is currently being used by another virtual machine, a
 87945  	// `VmWwnConflict` fault will be thrown.
 87946  	//
 87947  	// For detail description on WWN, see `VirtualMachineConfigInfo.npivNodeWorldWideName`.
 87948  	//
 87949  	// Reconfigure privilege: VirtualMachine.Config.Settings.
 87950  	NpivNodeWorldWideName []int64 `xml:"npivNodeWorldWideName,omitempty" json:"npivNodeWorldWideName,omitempty" vim:"2.5"`
 87951  	// The NPIV port WWN to be assigned to a virtual machine.
 87952  	//
 87953  	// This property should only
 87954  	// be used or set when the value of `VirtualMachineConfigSpec.npivWorldWideNameOp` property is "set".
 87955  	// Otherwise, an `InvalidVmConfig` fault will be thrown. If the
 87956  	// specified port WWN is currently being used by another virtual machine, a
 87957  	// `VmWwnConflict` fault will be thrown.
 87958  	//
 87959  	// For detail description on WWN, see `VirtualMachineConfigInfo.npivPortWorldWideName`.
 87960  	//
 87961  	// Reconfigure privilege: VirtualMachine.Config.Settings.
 87962  	NpivPortWorldWideName []int64 `xml:"npivPortWorldWideName,omitempty" json:"npivPortWorldWideName,omitempty" vim:"2.5"`
 87963  	// This property is used internally in the communication between the
 87964  	// VirtualCenter server and ESX Server to indicate the source for
 87965  	// `VirtualMachineConfigSpec.npivNodeWorldWideName` and
 87966  	// `VirtualMachineConfigSpec.npivPortWorldWideName` when `VirtualMachineConfigSpec.npivWorldWideNameOp` is "set".
 87967  	//
 87968  	// This property should only be set by the VirtualCenter server.
 87969  	//
 87970  	// If this property is set in a call to a VirtualCenter server,
 87971  	// an `InvalidVmConfig` fault will always be thrown. In a
 87972  	// call to an ESX Server host, an `InvalidVmConfig`
 87973  	// fault will be thrown if the value of `VirtualMachineConfigSpec.npivWorldWideNameOp` is not set to
 87974  	// "set".
 87975  	//
 87976  	// Reconfigure privilege: VirtualMachine.Config.Settings.
 87977  	NpivWorldWideNameType string `xml:"npivWorldWideNameType,omitempty" json:"npivWorldWideNameType,omitempty" vim:"2.5"`
 87978  	// The NPIV node WWNs to be extended from the original list of WWN nummbers.
 87979  	//
 87980  	// This
 87981  	// property should be set to desired number which is an aggregate of existing
 87982  	// plus new numbers. Desired Node WWNs should always be greater than the existing
 87983  	// number of node WWNs
 87984  	NpivDesiredNodeWwns int16 `xml:"npivDesiredNodeWwns,omitempty" json:"npivDesiredNodeWwns,omitempty" vim:"4.0"`
 87985  	// The NPIV port WWNs to be extended from the original list of WWN nummbers.
 87986  	//
 87987  	// This
 87988  	// property should be set to desired number which is an aggregate of existing
 87989  	// plus new numbers. Desired Node WWNs should always be greater than the existing
 87990  	// number of port WWNs
 87991  	NpivDesiredPortWwns int16 `xml:"npivDesiredPortWwns,omitempty" json:"npivDesiredPortWwns,omitempty" vim:"4.0"`
 87992  	// This property is used to enable or disable the NPIV capability on a desired
 87993  	// virtual machine on a temporary basis.
 87994  	//
 87995  	// When this property is set NPIV Vport
 87996  	// will not be instantiated by the VMX process of the Virtual Machine. When this
 87997  	// property is set port WWNs and node WWNs in the VM configuration are preserved.
 87998  	//
 87999  	// Reconfigure privilege: VirtualMachine.Config.Settings.
 88000  	NpivTemporaryDisabled *bool `xml:"npivTemporaryDisabled" json:"npivTemporaryDisabled,omitempty" vim:"4.0"`
 88001  	// This property is used to check whether the NPIV can be enabled on the Virtual
 88002  	// machine with non-rdm disks in the configuration, so this is potentially not
 88003  	// enabling npiv on vmfs disks.
 88004  	//
 88005  	// Also this property is used to check whether RDM
 88006  	// is required to generate WWNs for a virtual machine.
 88007  	NpivOnNonRdmDisks *bool `xml:"npivOnNonRdmDisks" json:"npivOnNonRdmDisks,omitempty" vim:"4.0"`
 88008  	// The flag to indicate what type of NPIV WWN operation is going to be performed
 88009  	// on the virtual machine.
 88010  	//
 88011  	// If unset, it indicates no change to existing NPIV WWN
 88012  	// assignment (or not assigned) in the virtual machine.
 88013  	//
 88014  	// Reconfigure privilege: VirtualMachine.Config.Settings.
 88015  	//
 88016  	// See also `VirtualMachineConfigSpecNpivWwnOp_enum`.
 88017  	NpivWorldWideNameOp string `xml:"npivWorldWideNameOp,omitempty" json:"npivWorldWideNameOp,omitempty" vim:"2.5"`
 88018  	// 128-bit hash based on the virtual machine's configuration file location
 88019  	// and the UUID of the host assigned to run the virtual machine.
 88020  	//
 88021  	// Normally, this property is not set by a client, allowing the
 88022  	// Virtual Infrastructure environment to assign a location ID when
 88023  	// the virtual machine is created. However, if the virtual machine's
 88024  	// configuration file has been manually moved, it may be desirable to clear this
 88025  	// property, setting it to an empty string, so the property is regenerated.
 88026  	//
 88027  	// Reconfigure privilege: VirtualMachine.Config.Settings
 88028  	LocationId string `xml:"locationId,omitempty" json:"locationId,omitempty"`
 88029  	// Short guest operating system identifier.
 88030  	//
 88031  	// Reconfigure privilege: VirtualMachine.Config.Settings
 88032  	GuestId string `xml:"guestId,omitempty" json:"guestId,omitempty"`
 88033  	// Full name for guest, if guestId is specified as `other`
 88034  	// or `other-64`.
 88035  	//
 88036  	// Reconfigure privilege: VirtualMachine.Config.Settings
 88037  	AlternateGuestName string `xml:"alternateGuestName,omitempty" json:"alternateGuestName,omitempty" vim:"2.5"`
 88038  	// User-provided description of the virtual machine.
 88039  	//
 88040  	// Because this property
 88041  	// is optional in the virtual machine configuration, it is necessary
 88042  	// to pass an explicit empty string in a ConfigSpec object to remove an annotation
 88043  	// that is already present in the `VirtualMachineConfigInfo`
 88044  	// for a virtual machine.
 88045  	//
 88046  	// Reconfigure privilege: VirtualMachine.Config.Rename
 88047  	Annotation string `xml:"annotation,omitempty" json:"annotation,omitempty"`
 88048  	// Information about virtual machine files.
 88049  	//
 88050  	// Reconfigure privilege: VirtualMachine.Config.Settings
 88051  	Files *VirtualMachineFileInfo `xml:"files,omitempty" json:"files,omitempty"`
 88052  	// Configuration of VMware Tools running in the guest operating system.
 88053  	//
 88054  	// Reconfigure privilege: VirtualMachine.Config.Settings
 88055  	Tools *ToolsConfigInfo `xml:"tools,omitempty" json:"tools,omitempty"`
 88056  	// Additional flags for a virtual machine.
 88057  	//
 88058  	// Reconfigure privilege: VirtualMachine.Config.Settings
 88059  	Flags *VirtualMachineFlagInfo `xml:"flags,omitempty" json:"flags,omitempty"`
 88060  	// Legacy console viewer preferences that are used with power operations.
 88061  	//
 88062  	// For
 88063  	// example, power on.
 88064  	//
 88065  	// Reconfigure privilege: VirtualMachine.Config.Settings
 88066  	ConsolePreferences *VirtualMachineConsolePreferences `xml:"consolePreferences,omitempty" json:"consolePreferences,omitempty"`
 88067  	// Configuration for default power operations.
 88068  	//
 88069  	// Reconfigure privilege: VirtualMachine.Config.Settings
 88070  	PowerOpInfo *VirtualMachineDefaultPowerOpInfo `xml:"powerOpInfo,omitempty" json:"powerOpInfo,omitempty"`
 88071  	// Whether the next reboot will result in a power off.
 88072  	//
 88073  	// Reconfigure privilege: VirtualMachine.Config.Settings
 88074  	RebootPowerOff *bool `xml:"rebootPowerOff" json:"rebootPowerOff,omitempty" vim:"8.0.0.1"`
 88075  	// Number of virtual processors in a virtual machine.
 88076  	//
 88077  	// Reconfigure privilege: VirtualMachine.Config.CpuCount
 88078  	NumCPUs int32 `xml:"numCPUs,omitempty" json:"numCPUs,omitempty"`
 88079  	// Vcpu configuration.
 88080  	//
 88081  	// The <code>vcpuConfig</code> array is indexed
 88082  	// by vcpu number.
 88083  	VcpuConfig []VirtualMachineVcpuConfig `xml:"vcpuConfig,omitempty" json:"vcpuConfig,omitempty" vim:"7.0"`
 88084  	// Number of cores among which to distribute
 88085  	// CPUs in this virtual machine.
 88086  	//
 88087  	// Set "numCoresPerSocket" with a non-zero value
 88088  	// to manually configure coresPerSocket size.
 88089  	// Set "numCoresPerSocket" with zero to remove any manual size
 88090  	// if present, and use default coresPerSocket behavior.
 88091  	// Leave "numCoresPerSocket" unset to continue with existing
 88092  	// configuration (either manual or default).
 88093  	NumCoresPerSocket int32 `xml:"numCoresPerSocket,omitempty" json:"numCoresPerSocket,omitempty" vim:"5.0"`
 88094  	// Size of a virtual machine's memory, in MB.
 88095  	//
 88096  	// Reconfigure privilege: VirtualMachine.Config.Memory
 88097  	MemoryMB int64 `xml:"memoryMB,omitempty" json:"memoryMB,omitempty"`
 88098  	// Indicates whether or not memory can be added to the virtual
 88099  	// machine while it is running.
 88100  	//
 88101  	// This attribute can only be set when the virtual machine is
 88102  	// powered-off.
 88103  	//
 88104  	// Reconfigure privilege: VirtualMachine.Config.Memory
 88105  	MemoryHotAddEnabled *bool `xml:"memoryHotAddEnabled" json:"memoryHotAddEnabled,omitempty" vim:"2.5 U2"`
 88106  	// Indicates whether or not virtual processors can be added to
 88107  	// the virtual machine while it is running.
 88108  	//
 88109  	// This attribute can only be set when the virtual machine is
 88110  	// powered-off.
 88111  	//
 88112  	// Reconfigure privilege: VirtualMachine.Config.CpuCount
 88113  	CpuHotAddEnabled *bool `xml:"cpuHotAddEnabled" json:"cpuHotAddEnabled,omitempty" vim:"2.5 U2"`
 88114  	// Indicates whether or not virtual processors can be removed
 88115  	// from the virtual machine while it is running.
 88116  	//
 88117  	// This attribute can only be set when the virtual machine is
 88118  	// powered-off.
 88119  	//
 88120  	// Reconfigure privilege: VirtualMachine.Config.CpuCount
 88121  	CpuHotRemoveEnabled *bool `xml:"cpuHotRemoveEnabled" json:"cpuHotRemoveEnabled,omitempty" vim:"2.5 U2"`
 88122  	// Does this virtual machine have Virtual Intel I/O Controller Hub 7
 88123  	VirtualICH7MPresent *bool `xml:"virtualICH7MPresent" json:"virtualICH7MPresent,omitempty" vim:"5.0"`
 88124  	// Does this virtual machine have System Management Controller
 88125  	VirtualSMCPresent *bool `xml:"virtualSMCPresent" json:"virtualSMCPresent,omitempty" vim:"5.0"`
 88126  	// Set of virtual devices being modified by the configuration operation.
 88127  	//
 88128  	// Reconfigure privileges:
 88129  	//     - VirtualMachine.Config.Resource if setting the "shares" property of
 88130  	//       a new or existing VirtualDisk device
 88131  	//     - VirtualMachine.Config.RawDevice if adding, removing, or modifying a
 88132  	//       raw device (also required when creating a virtual machine)
 88133  	//     - VirtualMachine.Config.HostUSBDevice if adding, removing, or
 88134  	//       modifying a VirtualUSB device backed by a host USB device (also
 88135  	//       required when creating a virtual machine).
 88136  	//     - VirtualMachine.Interact.DeviceConnection if setting the "connectable"
 88137  	//       property of a connectable device
 88138  	//     - VirtualMachine.Interact.SetCDMedia if setting the "backing" property
 88139  	//       of a VirtualCdrom device
 88140  	//     - VirtualMachine.Interact.SetFloppyMedia if setting the "backing" property
 88141  	//       of a VirtualFloppy device
 88142  	//     - VirtualMachine.Config.EditDevice if setting any property of a
 88143  	//       non-CDROM non-Floppy device
 88144  	//     - VirtualMachine.Config.AddExistingDisk if adding a VirtualDisk, and
 88145  	//       the fileOperation is unset (also required when creating a virtual machine)
 88146  	//     - VirtualMachine.Config.AddNewDisk if adding a VirtualDisk and the
 88147  	//       fileOperation is set (also required when creating a virtual machine)
 88148  	//     - VirtualMachine.Config.RemoveDisk if removing a VirtualDisk device
 88149  	//     - VirtualMachine.Config.AddRemoveDevice if adding or removing any
 88150  	//       device other than disk, raw, or USB device.
 88151  	//     - Network.Assign if if setting the "backing" property of a
 88152  	//       VirtualEthernetCard device.
 88153  	DeviceChange []BaseVirtualDeviceConfigSpec `xml:"deviceChange,omitempty,typeattr" json:"deviceChange,omitempty"`
 88154  	// Resource limits for CPU.
 88155  	//
 88156  	// Reconfigure privilege: VirtualMachine.Config.Resource
 88157  	CpuAllocation *ResourceAllocationInfo `xml:"cpuAllocation,omitempty" json:"cpuAllocation,omitempty"`
 88158  	// Resource limits for memory.
 88159  	//
 88160  	// Reconfigure privilege: VirtualMachine.Config.Resource
 88161  	MemoryAllocation *ResourceAllocationInfo `xml:"memoryAllocation,omitempty" json:"memoryAllocation,omitempty"`
 88162  	// The latency-sensitivity setting of the virtual machine.
 88163  	//
 88164  	// Reconfigure privilege: VirtualMachine.Config.Resource
 88165  	LatencySensitivity *LatencySensitivity `xml:"latencySensitivity,omitempty" json:"latencySensitivity,omitempty" vim:"5.1"`
 88166  	// Affinity settings for CPU.
 88167  	//
 88168  	// Reconfigure privilege: VirtualMachine.Config.Resource
 88169  	CpuAffinity *VirtualMachineAffinityInfo `xml:"cpuAffinity,omitempty" json:"cpuAffinity,omitempty"`
 88170  	// Deprecated since vSphere 6.0.
 88171  	//
 88172  	// Affinity settings for memory.
 88173  	//
 88174  	// Reconfigure privilege: VirtualMachine.Config.Resource
 88175  	MemoryAffinity *VirtualMachineAffinityInfo `xml:"memoryAffinity,omitempty" json:"memoryAffinity,omitempty"`
 88176  	// Deprecated from vSphere 5.5, shaping policy on VM is not supported.
 88177  	//
 88178  	// Resource limits for network.
 88179  	//
 88180  	// Reconfigure privilege: VirtualMachine.Config.Resource
 88181  	NetworkShaper *VirtualMachineNetworkShaperInfo `xml:"networkShaper,omitempty" json:"networkShaper,omitempty"`
 88182  	// Specifies the CPU feature compatibility masks.
 88183  	//
 88184  	// Reconfigure privilege: VirtualMachine.Config.Settings
 88185  	// As of vSphere API 6.5 `FeatureMask`
 88186  	// is the recommended method for masking virtual machines with
 88187  	// hardware version 9 and above (newer).
 88188  	CpuFeatureMask []VirtualMachineCpuIdInfoSpec `xml:"cpuFeatureMask,omitempty" json:"cpuFeatureMask,omitempty"`
 88189  	// Additional configuration information for the virtual machine.
 88190  	//
 88191  	// This describes a set of modifications to the additional options. If the key is
 88192  	// already present, it will be reset with the new value provided. Otherwise, a new
 88193  	// option is added. Keys with empty values will be removed.
 88194  	//
 88195  	// Configuration keys that would conflict with parameters that are explicitly
 88196  	// configurable through other fields in the ConfigSpec object are silently ignored.
 88197  	//
 88198  	// Reconfigure privilege: VirtualMachine.Config.AdvancedConfig
 88199  	// (also required when setting this property while creating a virtual machine)
 88200  	ExtraConfig []BaseOptionValue `xml:"extraConfig,omitempty,typeattr" json:"extraConfig,omitempty"`
 88201  	// Virtual machine swapfile placement policy.
 88202  	//
 88203  	// This may only be set if the
 88204  	// `swapPlacementSupported`
 88205  	// capability is true for this virtual machine. Any change to this policy
 88206  	// will take effect the next time the virtual machine powers on, resumes
 88207  	// from a suspended state, or migrates while powered on.
 88208  	//
 88209  	// Reconfigure privilege: VirtualMachine.Config.SwapPlacement
 88210  	// (also required when setting this property while creating a virtual machine)
 88211  	//
 88212  	// See also `VirtualMachineConfigInfoSwapPlacementType_enum`.
 88213  	SwapPlacement string `xml:"swapPlacement,omitempty" json:"swapPlacement,omitempty" vim:"2.5"`
 88214  	// Settings that control the boot behavior of the virtual
 88215  	// machine.
 88216  	//
 88217  	// These settings take effect during the next power-on
 88218  	// of the virtual machine.
 88219  	//
 88220  	// Reconfigure privilege: VirtualMachine.Config.Settings
 88221  	BootOptions *VirtualMachineBootOptions `xml:"bootOptions,omitempty" json:"bootOptions,omitempty" vim:"2.5"`
 88222  	// Configuration of vApp meta-data for a virtual machine
 88223  	VAppConfig BaseVmConfigSpec `xml:"vAppConfig,omitempty,typeattr" json:"vAppConfig,omitempty" vim:"4.0"`
 88224  	// Fault Tolerance settings for this virtual machine.
 88225  	FtInfo BaseFaultToleranceConfigInfo `xml:"ftInfo,omitempty,typeattr" json:"ftInfo,omitempty" vim:"4.0"`
 88226  	// vSphere Replication settings.
 88227  	//
 88228  	// Note this may become deprecated in the future releases. We
 88229  	// discourage any unnecessary dependency on this field.
 88230  	RepConfig *ReplicationConfigSpec `xml:"repConfig,omitempty" json:"repConfig,omitempty" vim:"6.0"`
 88231  	// Set to true, if the vApp configuration should be removed
 88232  	//
 88233  	// Reconfigure privilege: VApp.ApplicationConfig
 88234  	VAppConfigRemoved *bool `xml:"vAppConfigRemoved" json:"vAppConfigRemoved,omitempty" vim:"4.0"`
 88235  	// Indicates whether user-configured virtual asserts will be
 88236  	// triggered during virtual machine replay.
 88237  	//
 88238  	// This setting takes
 88239  	// effect during the next replay of the virtual machine.
 88240  	//
 88241  	// Enabling this functionality can potentially cause some
 88242  	// performance overhead during virtual machine execution.
 88243  	VAssertsEnabled *bool `xml:"vAssertsEnabled" json:"vAssertsEnabled,omitempty" vim:"4.0"`
 88244  	// Setting to control enabling/disabling changed block tracking for
 88245  	// the virtual disks of this VM.
 88246  	//
 88247  	// This may only be set if the
 88248  	// `changeTrackingSupported`
 88249  	// capability is true for this virtual machine. Any change to this property
 88250  	// will take effect the next time the virtual machine powers on, resumes
 88251  	// from a suspended state, performs a snapshot create/delete/revert operation
 88252  	// or migrates while powered on.
 88253  	//
 88254  	// Reconfigure privilege: VirtualMachine.Config.ChangeTracking
 88255  	// (also required when setting this property while creating a virtual machine)
 88256  	ChangeTrackingEnabled *bool `xml:"changeTrackingEnabled" json:"changeTrackingEnabled,omitempty" vim:"4.0"`
 88257  	// Set the desired firmware type for this Virtual Machine.
 88258  	//
 88259  	// Possible values are described in
 88260  	// `GuestOsDescriptorFirmwareType_enum`
 88261  	Firmware string `xml:"firmware,omitempty" json:"firmware,omitempty" vim:"5.0"`
 88262  	// If set, this setting limits the maximum number of active remote
 88263  	// display connections that the virtual machine will support to
 88264  	// the specified value.
 88265  	//
 88266  	// Reconfigure privilege: VirtualMachine.Config.MksControl
 88267  	MaxMksConnections int32 `xml:"maxMksConnections,omitempty" json:"maxMksConnections,omitempty" vim:"5.0"`
 88268  	// If set to True, this causes the guest operating system to automatically
 88269  	// logout any active sessions whenever there are no remote display
 88270  	// connections open to the virtual machine.
 88271  	//
 88272  	// Reconfigure privilege: VirtualMachine.Config.MksControl
 88273  	GuestAutoLockEnabled *bool `xml:"guestAutoLockEnabled" json:"guestAutoLockEnabled,omitempty" vim:"5.0"`
 88274  	// Specifies that this VM is managed by a VC Extension.
 88275  	//
 88276  	// This information is primarily used in the Client to show a custom icon for
 88277  	// managed virtual machines, and a description of the function of the virtual
 88278  	// machine. If no extension can be found with the extension key in the
 88279  	// `managedBy` object, or the type is not found
 88280  	// in the `managedEntityInfo` list of the
 88281  	// extension, the default virtual machine icon is used, and no description is
 88282  	// shown.
 88283  	// To unset this field pass a `ManagedByInfo` object with an
 88284  	// empty `extensionKey`.
 88285  	//
 88286  	// Reconfigure privilege: VirtualMachine.Config.ManagedBy
 88287  	ManagedBy *ManagedByInfo `xml:"managedBy,omitempty" json:"managedBy,omitempty" vim:"5.0"`
 88288  	// If set true, memory resource reservation for this virtual machine will always be
 88289  	// equal to the virtual machine's memory size; increases in memory size will be
 88290  	// rejected when a corresponding reservation increase is not possible.
 88291  	//
 88292  	// This feature
 88293  	// may only be enabled if it is currently possible to reserve all of the virtual machine's memory.
 88294  	//
 88295  	// Reconfigure privilege: VirtualMachine.Config.Resource
 88296  	MemoryReservationLockedToMax *bool `xml:"memoryReservationLockedToMax" json:"memoryReservationLockedToMax,omitempty" vim:"5.0"`
 88297  	// Specifies that this VM will use nested hardware-assisted virtualization.
 88298  	//
 88299  	// When creating a new VM:
 88300  	// \- If vim.vm.FlagInfo.vbsEnabled is set to <code>true</code>,
 88301  	// and this flag is set to <code>false</code> error is returned.
 88302  	// \- If this flag is unset and vim.vm.FlagInfo.vbsEnabled is set to
 88303  	// <code>true</code>, the value of this flag is set to <code>true</code>.
 88304  	//
 88305  	// Reconfigure privilege: VirtualMachine.Config.Settings
 88306  	NestedHVEnabled *bool `xml:"nestedHVEnabled" json:"nestedHVEnabled,omitempty" vim:"5.1"`
 88307  	// Specifies that this VM will have virtual CPU performance counters
 88308  	// enabled.
 88309  	//
 88310  	// Reconfigure privilege: VirtualMachine.Config.Settings
 88311  	VPMCEnabled *bool `xml:"vPMCEnabled" json:"vPMCEnabled,omitempty" vim:"5.1"`
 88312  	// Configuration of scheduled hardware upgrades.
 88313  	//
 88314  	// Reconfigure privilege: VirtualMachine.Config.UpgradeVirtualHardware
 88315  	//
 88316  	// See also `ScheduledHardwareUpgradeInfo`.
 88317  	ScheduledHardwareUpgradeInfo *ScheduledHardwareUpgradeInfo `xml:"scheduledHardwareUpgradeInfo,omitempty" json:"scheduledHardwareUpgradeInfo,omitempty" vim:"5.1"`
 88318  	// Virtual Machine Profile requirement.
 88319  	//
 88320  	// Profiles are solution specific.
 88321  	// Profile Based Storage Management is a vSphere server extension.
 88322  	// API users who want to provision VMs using Storage Profiles, need to
 88323  	// interact with it.
 88324  	// This is an optional parameter and if user doesn't specify profile,
 88325  	// the default behavior will apply.
 88326  	VmProfile []BaseVirtualMachineProfileSpec `xml:"vmProfile,omitempty,typeattr" json:"vmProfile,omitempty" vim:"5.5"`
 88327  	// Whether to allow tunneling of clients from the guest VM into the
 88328  	// common message bus on the host network.
 88329  	MessageBusTunnelEnabled *bool `xml:"messageBusTunnelEnabled" json:"messageBusTunnelEnabled,omitempty" vim:"6.0"`
 88330  	// Virtual Machine cryptographic options.
 88331  	//
 88332  	// The cryptographic options are inherited to all disks of the VM.
 88333  	// The cryptographic options for a disk can be different by setting
 88334  	// its CryptoSpec.
 88335  	Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr" json:"crypto,omitempty" vim:"6.5"`
 88336  	// An enum describing whether encrypted vMotion is required for this VM.
 88337  	//
 88338  	// Supported values are listed in `VirtualMachineConfigSpecEncryptedVMotionModes_enum`.
 88339  	// This defaults to opportunistic for a regular VM, and will be set to
 88340  	// required for an encrypted VM.
 88341  	MigrateEncryption string `xml:"migrateEncryption,omitempty" json:"migrateEncryption,omitempty" vim:"6.5"`
 88342  	// Configuration of SGX, Software Guard Extensions for the VM.
 88343  	SgxInfo *VirtualMachineSgxInfo `xml:"sgxInfo,omitempty" json:"sgxInfo,omitempty" vim:"7.0"`
 88344  	// An enum describing whether encrypted Fault Tolerance is required
 88345  	// for this VM.
 88346  	//
 88347  	// Supported values are listed in `VirtualMachineConfigSpecEncryptedFtModes_enum`.
 88348  	// \- This defaults to opportunistic for a regular VM, and will be set to
 88349  	// required for an encrypted VM.
 88350  	// \- If this property is unset, the mode of encrypted Fault Tolerance
 88351  	// will be set to opportunistic.
 88352  	FtEncryptionMode string `xml:"ftEncryptionMode,omitempty" json:"ftEncryptionMode,omitempty" vim:"7.0.2.0"`
 88353  	// Configuration of GMM, Guest Monitoring Mode for the VM.
 88354  	GuestMonitoringModeInfo *VirtualMachineGuestMonitoringModeInfo `xml:"guestMonitoringModeInfo,omitempty" json:"guestMonitoringModeInfo,omitempty" vim:"7.0"`
 88355  	// SEV (Secure Encrypted Virtualization) enabled or not.
 88356  	//
 88357  	// SEV is enabled when
 88358  	// set to true, and disabled otherwise.
 88359  	SevEnabled *bool `xml:"sevEnabled" json:"sevEnabled,omitempty" vim:"7.0.1.0"`
 88360  	// Virtual NUMA information for this VM.
 88361  	VirtualNuma *VirtualMachineVirtualNuma `xml:"virtualNuma,omitempty" json:"virtualNuma,omitempty" vim:"8.0.0.1"`
 88362  	// One of motherboardLayout choices.
 88363  	//
 88364  	// Default is i440bxHostBridge. See
 88365  	// `VirtualHardware.motherboardLayout`
 88366  	MotherboardLayout string `xml:"motherboardLayout,omitempty" json:"motherboardLayout,omitempty" vim:"8.0.0.1"`
 88367  	// Property to enable/disable PMem HA failover.
 88368  	//
 88369  	// \- When set to TRUE, VMs configured to use PMem
 88370  	// will be failed over to other hosts by HA, but the data
 88371  	// in NVDIMM is not persistent.
 88372  	// \- When set to FALSE, VMs configured to use PMem will not
 88373  	// be failed over to other hosts by HA.
 88374  	// Property is currently only applicable to VMs with NVDimms and
 88375  	// will fail to set True if vPMem disks are present.
 88376  	PmemFailoverEnabled *bool `xml:"pmemFailoverEnabled" json:"pmemFailoverEnabled,omitempty" vim:"7.0.2.0"`
 88377  	// Property to enable/disable VMXStats Collection.
 88378  	//
 88379  	// \- Setting this property is only allowed when the VM is powered off
 88380  	// and will fail otherwise.
 88381  	// \- When set to TRUE, VMs will be configured to create a
 88382  	// scoreboard file to store certain stats for various VMX
 88383  	// components.
 88384  	VmxStatsCollectionEnabled *bool `xml:"vmxStatsCollectionEnabled" json:"vmxStatsCollectionEnabled,omitempty" vim:"7.0.3.1"`
 88385  	// Property to enable/disable operation notification to applications.
 88386  	//
 88387  	// \- When set to TRUE, application running inside the VM will be
 88388  	// notified of operations for which they have registered.
 88389  	// \- If unset defaults to FALSE, no notifications are sent to the
 88390  	// application.
 88391  	VmOpNotificationToAppEnabled *bool `xml:"vmOpNotificationToAppEnabled" json:"vmOpNotificationToAppEnabled,omitempty" vim:"7.0.3.0"`
 88392  	// Operation notification timeout in seconds.
 88393  	//
 88394  	// \- Specifies the maximum time duration the applications may take to
 88395  	// prepare for the operation after its been notified. This value is used
 88396  	// only if `VirtualMachineConfigSpec.vmOpNotificationToAppEnabled` is set to TRUE.
 88397  	// \- Timeout has to be a non-zero positive value for applications to
 88398  	// be able to register and get notifications.
 88399  	VmOpNotificationTimeout int64 `xml:"vmOpNotificationTimeout,omitempty" json:"vmOpNotificationTimeout,omitempty" vim:"8.0.0.1"`
 88400  	// Status of the device swap operation.
 88401  	DeviceSwap *VirtualMachineVirtualDeviceSwap `xml:"deviceSwap,omitempty" json:"deviceSwap,omitempty" vim:"8.0.0.1"`
 88402  	// Number of SMT (Simultaneous multithreading) threads.
 88403  	//
 88404  	// \- Set "simultaneousThreads" with a non-zero value to configure threads.
 88405  	// \- If unset, then use system defaults.
 88406  	SimultaneousThreads int32 `xml:"simultaneousThreads,omitempty" json:"simultaneousThreads,omitempty" vim:"8.0.0.1"`
 88407  	// Configuration for virtual persistent memory.
 88408  	Pmem *VirtualMachineVirtualPMem `xml:"pmem,omitempty" json:"pmem,omitempty" vim:"7.0.3.0"`
 88409  	// Assignable hardware device groups.
 88410  	DeviceGroups *VirtualMachineVirtualDeviceGroups `xml:"deviceGroups,omitempty" json:"deviceGroups,omitempty" vim:"8.0.0.1"`
 88411  	// Indicates whether support to add and remove fixed passthrough
 88412  	// devices when the VM is running should be enabled.
 88413  	//
 88414  	// This property can only be set when the VM is powered off. If set,
 88415  	// additional setup will be performed when the VM is powered on
 88416  	// so that hot adding and removing fixed passthrough devices will
 88417  	// be possible.
 88418  	// NOTE: When setting this to true, the memory reservation should
 88419  	// be equal to the guest memory size or the option to reserve all
 88420  	// guest memory should be selected. If unset, the current value
 88421  	// is left unchanged.
 88422  	FixedPassthruHotPlugEnabled *bool `xml:"fixedPassthruHotPlugEnabled" json:"fixedPassthruHotPlugEnabled,omitempty" vim:"8.0.1.0"`
 88423  }
 88424  
 88425  func init() {
 88426  	t["VirtualMachineConfigSpec"] = reflect.TypeOf((*VirtualMachineConfigSpec)(nil)).Elem()
 88427  }
 88428  
 88429  // A subset of virtual machine configuration.
 88430  type VirtualMachineConfigSummary struct {
 88431  	DynamicData
 88432  
 88433  	// Name of the virtual machine.
 88434  	Name string `xml:"name" json:"name"`
 88435  	// Flag to determine whether or not this virtual machine is a template.
 88436  	Template bool `xml:"template" json:"template"`
 88437  	// Path name to the configuration file for the virtual machine
 88438  	VmPathName string `xml:"vmPathName" json:"vmPathName"`
 88439  	// Memory size of the virtual machine, in megabytes.
 88440  	MemorySizeMB int32 `xml:"memorySizeMB,omitempty" json:"memorySizeMB,omitempty"`
 88441  	// Configured CPU reservation in MHz
 88442  	CpuReservation int32 `xml:"cpuReservation,omitempty" json:"cpuReservation,omitempty"`
 88443  	// Configured Memory reservation in MB
 88444  	MemoryReservation int32 `xml:"memoryReservation,omitempty" json:"memoryReservation,omitempty"`
 88445  	// Number of processors in the virtual machine.
 88446  	NumCpu int32 `xml:"numCpu,omitempty" json:"numCpu,omitempty"`
 88447  	// Number of virtual network adapters.
 88448  	NumEthernetCards int32 `xml:"numEthernetCards,omitempty" json:"numEthernetCards,omitempty"`
 88449  	// Number of virtual disks attached to the virtual machine.
 88450  	NumVirtualDisks int32 `xml:"numVirtualDisks,omitempty" json:"numVirtualDisks,omitempty"`
 88451  	// Virtual machine BIOS identification.
 88452  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 88453  	// VC-specific identifier of the virtual machine
 88454  	InstanceUuid string `xml:"instanceUuid,omitempty" json:"instanceUuid,omitempty" vim:"4.0"`
 88455  	// Guest operating system identifier (short name).
 88456  	GuestId string `xml:"guestId,omitempty" json:"guestId,omitempty"`
 88457  	// Guest operating system name configured on the virtual machine.
 88458  	GuestFullName string `xml:"guestFullName,omitempty" json:"guestFullName,omitempty"`
 88459  	// Description for the virtual machine.
 88460  	Annotation string `xml:"annotation,omitempty" json:"annotation,omitempty"`
 88461  	// Product information.
 88462  	//
 88463  	// References to properties in the URLs are expanded.
 88464  	Product *VAppProductInfo `xml:"product,omitempty" json:"product,omitempty" vim:"4.0"`
 88465  	// Whether the VM requires a reboot to finish installation.
 88466  	//
 88467  	// False if no vApp
 88468  	// meta-data is configured.
 88469  	InstallBootRequired *bool `xml:"installBootRequired" json:"installBootRequired,omitempty" vim:"4.0"`
 88470  	// Fault Tolerance settings for this virtual machine.
 88471  	//
 88472  	// This property will be populated only for fault tolerance virtual
 88473  	// machines and will be left unset for all other virtual machines.
 88474  	// See `FaultToleranceConfigInfo` for a description.
 88475  	FtInfo BaseFaultToleranceConfigInfo `xml:"ftInfo,omitempty,typeattr" json:"ftInfo,omitempty" vim:"4.0"`
 88476  	// Specifies that this VM is managed by a VC Extension.
 88477  	//
 88478  	// See the
 88479  	// `managedBy` property in the ConfigSpec
 88480  	// for more details.
 88481  	ManagedBy *ManagedByInfo `xml:"managedBy,omitempty" json:"managedBy,omitempty" vim:"5.0"`
 88482  	// Is TPM present in a VM?
 88483  	TpmPresent *bool `xml:"tpmPresent" json:"tpmPresent,omitempty" vim:"6.7"`
 88484  	// Number of VMIOP backed devices attached to the virtual machine.
 88485  	NumVmiopBackings int32 `xml:"numVmiopBackings,omitempty" json:"numVmiopBackings,omitempty" vim:"6.7"`
 88486  	// The hardware version string for this virtual machine.
 88487  	HwVersion string `xml:"hwVersion,omitempty" json:"hwVersion,omitempty" vim:"6.9.1"`
 88488  }
 88489  
 88490  func init() {
 88491  	t["VirtualMachineConfigSummary"] = reflect.TypeOf((*VirtualMachineConfigSummary)(nil)).Elem()
 88492  }
 88493  
 88494  // The `VirtualMachineConnection` object describes a connection to the virtual
 88495  // machine.
 88496  type VirtualMachineConnection struct {
 88497  	DynamicData
 88498  
 88499  	// The unique identifier associated with the connection.
 88500  	//
 88501  	// The label is a UTF-8 string which specifies a unique identifier for
 88502  	// a connection.
 88503  	Label string `xml:"label" json:"label"`
 88504  	// The client identifer.
 88505  	//
 88506  	// This identifier is a UTF-8 string which is semantically meaningful
 88507  	// for the connection. Examples of the client identifier are an IP
 88508  	// address (V4 or V6) with or without a port specification, a machine
 88509  	// name that requires a DNS lookup, or any other network oriented
 88510  	// identification scheme.
 88511  	Client string `xml:"client" json:"client"`
 88512  	// The name of the user authorizing the connection.
 88513  	//
 88514  	// This is used for auditing.
 88515  	UserName string `xml:"userName" json:"userName"`
 88516  }
 88517  
 88518  func init() {
 88519  	t["VirtualMachineConnection"] = reflect.TypeOf((*VirtualMachineConnection)(nil)).Elem()
 88520  	minAPIVersionForType["VirtualMachineConnection"] = "7.0.1.0"
 88521  }
 88522  
 88523  // Preferences for the legacy console application that affect the way it behaves during power
 88524  // operations on the virtual machine.
 88525  type VirtualMachineConsolePreferences struct {
 88526  	DynamicData
 88527  
 88528  	// Power on the virtual machine when it is opened in the console.
 88529  	PowerOnWhenOpened *bool `xml:"powerOnWhenOpened" json:"powerOnWhenOpened,omitempty"`
 88530  	// Enter full screen mode when this virtual machine is powered on.
 88531  	EnterFullScreenOnPowerOn *bool `xml:"enterFullScreenOnPowerOn" json:"enterFullScreenOnPowerOn,omitempty"`
 88532  	// Close the console application when the virtual machine is powered off
 88533  	// or suspended.
 88534  	CloseOnPowerOffOrSuspend *bool `xml:"closeOnPowerOffOrSuspend" json:"closeOnPowerOffOrSuspend,omitempty"`
 88535  }
 88536  
 88537  func init() {
 88538  	t["VirtualMachineConsolePreferences"] = reflect.TypeOf((*VirtualMachineConsolePreferences)(nil)).Elem()
 88539  }
 88540  
 88541  // Describes the content library item information
 88542  // associated with the virtual machine.
 88543  type VirtualMachineContentLibraryItemInfo struct {
 88544  	DynamicData
 88545  
 88546  	// The content library item UUID
 88547  	ContentLibraryItemUuid string `xml:"contentLibraryItemUuid" json:"contentLibraryItemUuid"`
 88548  	// The content library item version is determined and
 88549  	// managed by content library and this field stamps the version
 88550  	// provided by CL to the VM.
 88551  	ContentLibraryItemVersion string `xml:"contentLibraryItemVersion,omitempty" json:"contentLibraryItemVersion,omitempty"`
 88552  }
 88553  
 88554  func init() {
 88555  	t["VirtualMachineContentLibraryItemInfo"] = reflect.TypeOf((*VirtualMachineContentLibraryItemInfo)(nil)).Elem()
 88556  	minAPIVersionForType["VirtualMachineContentLibraryItemInfo"] = "7.0"
 88557  }
 88558  
 88559  // Wrapper class to support incremental updates of the cpuFeatureMask.
 88560  //
 88561  // As of vSphere API 6.5 `VirtualMachineConfigSpec.extraConfig` is the recommended method
 88562  // for setting the mask for a virtual machine with hardware version 9 and
 88563  // above (newer). They can be viewed via
 88564  // `featureMask`.
 88565  type VirtualMachineCpuIdInfoSpec struct {
 88566  	ArrayUpdateSpec
 88567  
 88568  	Info *HostCpuIdInfo `xml:"info,omitempty" json:"info,omitempty"`
 88569  }
 88570  
 88571  func init() {
 88572  	t["VirtualMachineCpuIdInfoSpec"] = reflect.TypeOf((*VirtualMachineCpuIdInfoSpec)(nil)).Elem()
 88573  }
 88574  
 88575  // DatastoreInfo describes a datastore that a virtual disk can be
 88576  // stored on.
 88577  type VirtualMachineDatastoreInfo struct {
 88578  	VirtualMachineTargetInfo
 88579  
 88580  	// Information about the datastore
 88581  	Datastore DatastoreSummary `xml:"datastore" json:"datastore"`
 88582  	// Information about the datastore capabilities
 88583  	Capability DatastoreCapability `xml:"capability" json:"capability"`
 88584  	// The maximum size of a file that can reside on this datastore.
 88585  	MaxFileSize int64 `xml:"maxFileSize" json:"maxFileSize"`
 88586  	// The maximum capacity of a virtual disk which can be created on this volume
 88587  	MaxVirtualDiskCapacity int64 `xml:"maxVirtualDiskCapacity,omitempty" json:"maxVirtualDiskCapacity,omitempty" vim:"5.5"`
 88588  	// Maximum raw device mapping size (physical compatibility)
 88589  	MaxPhysicalRDMFileSize int64 `xml:"maxPhysicalRDMFileSize,omitempty" json:"maxPhysicalRDMFileSize,omitempty" vim:"6.0"`
 88590  	// Maximum raw device mapping size (virtual compatibility)
 88591  	MaxVirtualRDMFileSize int64 `xml:"maxVirtualRDMFileSize,omitempty" json:"maxVirtualRDMFileSize,omitempty" vim:"6.0"`
 88592  	// Access mode for this datastore.
 88593  	//
 88594  	// This is either
 88595  	// readOnly or readWrite. A virtual disk needs to be
 88596  	// stored on readWrite datastore. ISOs can be read
 88597  	// from a readOnly datastore.
 88598  	//
 88599  	// See also `HostMountMode_enum`.
 88600  	Mode string `xml:"mode" json:"mode"`
 88601  	// Indicate the states of vStorage hardware acceleration
 88602  	// support for this datastore.
 88603  	//
 88604  	// In the case of a cluster compute resource, this property
 88605  	// is aggregated from the values reported by individual hosts
 88606  	// as follows:
 88607  	//     - If at least one host reports
 88608  	//       `vStorageSupported`,
 88609  	//       then it is set to
 88610  	//       `vStorageSupported`.
 88611  	//     - Else if at least one host reports
 88612  	//       `vStorageUnknown`,
 88613  	//       it is set to
 88614  	//       `vStorageUnknown`.
 88615  	//     - Else if at least one host reports
 88616  	//       `vStorageUnsupported`,
 88617  	//       it is set to
 88618  	//       `vStorageUnsupported`.
 88619  	//     - Else it is unset.
 88620  	//
 88621  	// See also `FileSystemMountInfoVStorageSupportStatus_enum`.
 88622  	VStorageSupport string `xml:"vStorageSupport,omitempty" json:"vStorageSupport,omitempty" vim:"5.0"`
 88623  }
 88624  
 88625  func init() {
 88626  	t["VirtualMachineDatastoreInfo"] = reflect.TypeOf((*VirtualMachineDatastoreInfo)(nil)).Elem()
 88627  }
 88628  
 88629  // This data object type describes a file system volume option for this
 88630  // virtual machine.
 88631  type VirtualMachineDatastoreVolumeOption struct {
 88632  	DynamicData
 88633  
 88634  	// The type name of the file system volume information object for this
 88635  	// option.
 88636  	//
 88637  	// See also `HostFileSystemVolumeInfo`.
 88638  	FileSystemType string `xml:"fileSystemType" json:"fileSystemType"`
 88639  	// The major version of the file system volume information for this
 88640  	// option.
 88641  	//
 88642  	// If not specified, all versions of this file system are included
 88643  	// in this option. Currently, this value is set only for VMFS volumes.
 88644  	MajorVersion int32 `xml:"majorVersion,omitempty" json:"majorVersion,omitempty"`
 88645  }
 88646  
 88647  func init() {
 88648  	t["VirtualMachineDatastoreVolumeOption"] = reflect.TypeOf((*VirtualMachineDatastoreVolumeOption)(nil)).Elem()
 88649  }
 88650  
 88651  // The DefaultPowerOpInfo data object type holds the configured defaults for the power
 88652  // operations on a virtual machine.
 88653  //
 88654  // The properties indicated whether to do a "soft"
 88655  // or guest initiated operation, or a "hard" operation.
 88656  type VirtualMachineDefaultPowerOpInfo struct {
 88657  	DynamicData
 88658  
 88659  	// Describes the default power off type for this virtual machine.
 88660  	//
 88661  	// The possible values are specified by the PowerOpType.
 88662  	//     - hard - Perform power off by using the PowerOff method.
 88663  	//     - soft - Perform power off by using the ShutdownGuest method.
 88664  	//     - preset - The preset value is specified in the defaultPowerOffType
 88665  	//       section.
 88666  	//
 88667  	// This setting is advisory and clients can choose to ignore it.
 88668  	PowerOffType string `xml:"powerOffType,omitempty" json:"powerOffType,omitempty"`
 88669  	// Describes the default suspend type for this virtual machine.
 88670  	//
 88671  	// The possible values are specified by the PowerOpType.
 88672  	//     - hard - Perform suspend by using the Suspend method.
 88673  	//     - soft - Perform suspend by using the StandbyGuest method.
 88674  	//     - preset - The preset value is specified in the defaultSuspendType
 88675  	//       section.
 88676  	//
 88677  	// This setting is advisory and clients can choose to ignore it.
 88678  	SuspendType string `xml:"suspendType,omitempty" json:"suspendType,omitempty"`
 88679  	// Describes the default reset type for this virtual machine.
 88680  	//
 88681  	// The possible values are specified by the PowerOpType.
 88682  	//     - hard - Perform reset by using the Reset method.
 88683  	//     - soft - Perform reset by using the RebootGuest method.
 88684  	//     - preset - The preset value is specified in the defaultResetType
 88685  	//       section.
 88686  	//
 88687  	// This setting is advisory and clients can choose to ignore it.
 88688  	ResetType string `xml:"resetType,omitempty" json:"resetType,omitempty"`
 88689  	// Default operation for power off: soft or hard
 88690  	DefaultPowerOffType string `xml:"defaultPowerOffType,omitempty" json:"defaultPowerOffType,omitempty"`
 88691  	// Default operation for suspend: soft or hard
 88692  	DefaultSuspendType string `xml:"defaultSuspendType,omitempty" json:"defaultSuspendType,omitempty"`
 88693  	// Default operation for reset: soft or hard
 88694  	DefaultResetType string `xml:"defaultResetType,omitempty" json:"defaultResetType,omitempty"`
 88695  	// Behavior of virtual machine when it receives the S1 ACPI call.
 88696  	StandbyAction string `xml:"standbyAction,omitempty" json:"standbyAction,omitempty"`
 88697  }
 88698  
 88699  func init() {
 88700  	t["VirtualMachineDefaultPowerOpInfo"] = reflect.TypeOf((*VirtualMachineDefaultPowerOpInfo)(nil)).Elem()
 88701  }
 88702  
 88703  // Used to indicate that the Default Storage Policy of the target datastore
 88704  // be used for a Virtual Machine Home or a Virtual Disk object.
 88705  //
 88706  // Neither the association nor the policy data is persisted in Virtual Machine
 88707  // configuration. This data is managed by an extension of Virtual Center
 88708  // (Storage Policy Based Management).
 88709  type VirtualMachineDefaultProfileSpec struct {
 88710  	VirtualMachineProfileSpec
 88711  }
 88712  
 88713  func init() {
 88714  	t["VirtualMachineDefaultProfileSpec"] = reflect.TypeOf((*VirtualMachineDefaultProfileSpec)(nil)).Elem()
 88715  	minAPIVersionForType["VirtualMachineDefaultProfileSpec"] = "6.0"
 88716  }
 88717  
 88718  // Policy specification that carries a pre-defined Storage Policy to be associated
 88719  // with a Virtual Machine Home or a Virtual Disk object.
 88720  //
 88721  // Such a pre-defined
 88722  // policy can be either be vSphere Storage Administrator defined or may come
 88723  // from a set of pre-defined policies from Storage Vendor.
 88724  //
 88725  // Neither the association nor the policy data is persisted in Virtual Machine
 88726  // configuration. This data is managed by the an extension of Virtual Center
 88727  // (Storage Policy Based Management).
 88728  type VirtualMachineDefinedProfileSpec struct {
 88729  	VirtualMachineProfileSpec
 88730  
 88731  	// Storage Policy Profile identification - Should be
 88732  	// pbm.profileId but for implementation reasons, could not be.
 88733  	ProfileId string `xml:"profileId" json:"profileId"`
 88734  	// Specification containing replication related parameters, sent to the Replication Data Service
 88735  	// provider.
 88736  	ReplicationSpec *ReplicationSpec `xml:"replicationSpec,omitempty" json:"replicationSpec,omitempty" vim:"6.5"`
 88737  	// Profile data sent to the Storage Backend by vSphere.
 88738  	//
 88739  	// This data is provided by the SPBM component of the vSphere platform.
 88740  	// This field should not be set by Virtual Center users.
 88741  	ProfileData *VirtualMachineProfileRawData `xml:"profileData,omitempty" json:"profileData,omitempty"`
 88742  	// Parameterized Storage Profiles
 88743  	// Extra configuration that is not expressed as a capability in the Profile
 88744  	// definition.
 88745  	ProfileParams []KeyValue `xml:"profileParams,omitempty" json:"profileParams,omitempty" vim:"6.7"`
 88746  }
 88747  
 88748  func init() {
 88749  	t["VirtualMachineDefinedProfileSpec"] = reflect.TypeOf((*VirtualMachineDefinedProfileSpec)(nil)).Elem()
 88750  	minAPIVersionForType["VirtualMachineDefinedProfileSpec"] = "5.5"
 88751  }
 88752  
 88753  // The DeviceRuntimeInfo data object type provides information about
 88754  // the execution state of a single virtual device.
 88755  type VirtualMachineDeviceRuntimeInfo struct {
 88756  	DynamicData
 88757  
 88758  	// The device runtime state.
 88759  	RuntimeState BaseVirtualMachineDeviceRuntimeInfoDeviceRuntimeState `xml:"runtimeState,typeattr" json:"runtimeState"`
 88760  	// The device key.
 88761  	Key int32 `xml:"key" json:"key"`
 88762  }
 88763  
 88764  func init() {
 88765  	t["VirtualMachineDeviceRuntimeInfo"] = reflect.TypeOf((*VirtualMachineDeviceRuntimeInfo)(nil)).Elem()
 88766  	minAPIVersionForType["VirtualMachineDeviceRuntimeInfo"] = "4.1"
 88767  }
 88768  
 88769  // Runtime state of a device.
 88770  //
 88771  // Subclassed for information that is specific
 88772  // to certain device types.
 88773  type VirtualMachineDeviceRuntimeInfoDeviceRuntimeState struct {
 88774  	DynamicData
 88775  }
 88776  
 88777  func init() {
 88778  	t["VirtualMachineDeviceRuntimeInfoDeviceRuntimeState"] = reflect.TypeOf((*VirtualMachineDeviceRuntimeInfoDeviceRuntimeState)(nil)).Elem()
 88779  	minAPIVersionForType["VirtualMachineDeviceRuntimeInfoDeviceRuntimeState"] = "4.1"
 88780  }
 88781  
 88782  // Runtime state of a virtual ethernet card device.
 88783  type VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState struct {
 88784  	VirtualMachineDeviceRuntimeInfoDeviceRuntimeState
 88785  
 88786  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
 88787  	// supported and there is no replacement.
 88788  	//
 88789  	// Flag to indicate whether VMDirectPath Gen 2 is active on this device.
 88790  	//
 88791  	// If false, the reason(s) for inactivity will be provided in one or
 88792  	// more of `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonVm`,
 88793  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonOther`,
 88794  	// and `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonExtended`.
 88795  	VmDirectPathGen2Active *bool `xml:"vmDirectPathGen2Active" json:"vmDirectPathGen2Active,omitempty"`
 88796  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
 88797  	// supported and there is no replacement.
 88798  	//
 88799  	// If `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2Active` is false, this array will be
 88800  	// populated with reasons for the inactivity that are related to virtual
 88801  	// machine state or configuration (chosen from
 88802  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm_enum`).
 88803  	//
 88804  	// Other reasons for
 88805  	// inactivity will be provided in
 88806  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonOther`. If there is a reason
 88807  	// for inactivity that cannot be described by the available constants,
 88808  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonExtended` will be populated
 88809  	// with an additional explanation provided by the platform.
 88810  	//
 88811  	// Note that this list of reasons is not guaranteed to be exhaustive.
 88812  	VmDirectPathGen2InactiveReasonVm []string `xml:"vmDirectPathGen2InactiveReasonVm,omitempty" json:"vmDirectPathGen2InactiveReasonVm,omitempty"`
 88813  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
 88814  	// supported and there is no replacement.
 88815  	//
 88816  	// If `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2Active` is false, this array will be
 88817  	// populated with reasons for the inactivity that are not related to
 88818  	// virtual machine state or configuration (chosen from
 88819  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther_enum`).
 88820  	//
 88821  	// Virtual machine
 88822  	// related reasons for inactivity will be provided in
 88823  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonVm`. If there is a reason
 88824  	// for inactivity that cannot be described by the available constants,
 88825  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonExtended` will be populated
 88826  	// with an additional explanation provided by the platform.
 88827  	//
 88828  	// Note that this list of reasons is not guaranteed to be exhaustive.
 88829  	//
 88830  	// See also `HostCapability.vmDirectPathGen2Supported`.
 88831  	VmDirectPathGen2InactiveReasonOther []string `xml:"vmDirectPathGen2InactiveReasonOther,omitempty" json:"vmDirectPathGen2InactiveReasonOther,omitempty"`
 88832  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
 88833  	// supported and there is no replacement.
 88834  	//
 88835  	// If `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2Active` is false, this property may
 88836  	// contain an explanation provided by the platform, beyond the reasons
 88837  	// (if any) enumerated in `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonVm`
 88838  	// and/or `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonOther`.
 88839  	VmDirectPathGen2InactiveReasonExtended string `xml:"vmDirectPathGen2InactiveReasonExtended,omitempty" json:"vmDirectPathGen2InactiveReasonExtended,omitempty"`
 88840  	// Flag to indicate whether UPTv2(Uniform Pass-through version 2) is active
 88841  	// on this device.
 88842  	//
 88843  	// If true, the network adapter works in the pass-through mode.
 88844  	// If false, the network adapter still has the network connectivity but
 88845  	// works in emulated mode and pass-through is not enabled.
 88846  	// The reason for inactivity is provided in `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2InactiveReasonVm`
 88847  	// and/or `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2InactiveReasonOther`.
 88848  	// This flag is unset if not applicable. It indicates network adapter is not a
 88849  	// vmxnet3 adapter or `VirtualVmxnet3.uptv2Enabled` of it
 88850  	// is not set to true.
 88851  	Uptv2Active *bool `xml:"uptv2Active" json:"uptv2Active,omitempty" vim:"8.0.0.1"`
 88852  	// When `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2Active` is false, this field will be
 88853  	// populated with reasons for the inactivity that are related to virtual
 88854  	// machine state or configuration (chosen from
 88855  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm_enum`).
 88856  	//
 88857  	// Other reasons for
 88858  	// inactivity will be provided in `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2InactiveReasonOther`.
 88859  	// This field will be unset if `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2Active` is true or unset.
 88860  	//
 88861  	// Note that this field of reasons is not guaranteed to be exhaustive.
 88862  	Uptv2InactiveReasonVm []string `xml:"uptv2InactiveReasonVm,omitempty" json:"uptv2InactiveReasonVm,omitempty" vim:"8.0.0.1"`
 88863  	// When `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2Active` is false, this field will be
 88864  	// populated with reasons for the inactivity that are not related to
 88865  	// virtual machine state or configuration (chosen from
 88866  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther_enum`).
 88867  	//
 88868  	// Virtual machine
 88869  	// related reasons for inactivity will be provided in
 88870  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2InactiveReasonVm`.
 88871  	// This field will be unset if `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2Active` is true or unset.
 88872  	//
 88873  	// Note that this field of reasons is not guaranteed to be exhaustive.
 88874  	Uptv2InactiveReasonOther []string `xml:"uptv2InactiveReasonOther,omitempty" json:"uptv2InactiveReasonOther,omitempty" vim:"8.0.0.1"`
 88875  	// The status indicating whether network reservation requirement is violated
 88876  	// or not on the virtual network adapter.
 88877  	//
 88878  	// See `ManagedEntityStatus_enum`
 88879  	// for possible values.
 88880  	//
 88881  	// `red` indicates that reservation specified on the virtual
 88882  	// network adapter is not being fulfilled. This can happen if the reservation requested is
 88883  	// greater than the available capacity reserved for virtual machine traffic on the host.
 88884  	//
 88885  	// `green` indicates that the reservation specified on the
 88886  	// virtual network adapter is being fulfilled.
 88887  	ReservationStatus string `xml:"reservationStatus,omitempty" json:"reservationStatus,omitempty" vim:"5.5"`
 88888  	// The status indicating the state of virtual network adapter's attachment
 88889  	// to an opaque network.
 88890  	//
 88891  	// See `ManagedEntityStatus_enum` for possible values.
 88892  	//
 88893  	// `red` indicates that the network adapter
 88894  	// is not yet successfully attached to opaque network. This can happen if
 88895  	// corresponding attachment port is missing in the kernel.
 88896  	//
 88897  	// `green` indicates that the network
 88898  	// adapater is successfully attached to opaque network.
 88899  	AttachmentStatus string `xml:"attachmentStatus,omitempty" json:"attachmentStatus,omitempty" vim:"6.7"`
 88900  	// These network adapter requirements must have equivalent capabilities
 88901  	// on the virtual switch in order to power on or migrate to the host.
 88902  	FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty" json:"featureRequirement,omitempty" vim:"6.7"`
 88903  }
 88904  
 88905  func init() {
 88906  	t["VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState"] = reflect.TypeOf((*VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState)(nil)).Elem()
 88907  	minAPIVersionForType["VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState"] = "4.1"
 88908  }
 88909  
 88910  // The DiskDeviceInfo class contains basic information about a specific disk hardware
 88911  // device.
 88912  type VirtualMachineDiskDeviceInfo struct {
 88913  	VirtualMachineTargetInfo
 88914  
 88915  	// Size of disk
 88916  	Capacity int64 `xml:"capacity,omitempty" json:"capacity,omitempty"`
 88917  	// List of known virtual machines using this physical disk as a backing
 88918  	//
 88919  	// Refers instances of `VirtualMachine`.
 88920  	Vm []ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 88921  }
 88922  
 88923  func init() {
 88924  	t["VirtualMachineDiskDeviceInfo"] = reflect.TypeOf((*VirtualMachineDiskDeviceInfo)(nil)).Elem()
 88925  }
 88926  
 88927  // This data object defines a two-dimensional, rectangular
 88928  // display area.
 88929  type VirtualMachineDisplayTopology struct {
 88930  	DynamicData
 88931  
 88932  	// The x co-ordinate defining the start of the display rectangle.
 88933  	X int32 `xml:"x" json:"x"`
 88934  	// The y co-ordinate defining the start of the display rectangle.
 88935  	Y int32 `xml:"y" json:"y"`
 88936  	// The width of the display rectangle.
 88937  	Width int32 `xml:"width" json:"width"`
 88938  	// The height of the display rectangle.
 88939  	Height int32 `xml:"height" json:"height"`
 88940  }
 88941  
 88942  func init() {
 88943  	t["VirtualMachineDisplayTopology"] = reflect.TypeOf((*VirtualMachineDisplayTopology)(nil)).Elem()
 88944  	minAPIVersionForType["VirtualMachineDisplayTopology"] = "2.5 U2"
 88945  }
 88946  
 88947  // Description of a Device Virtualization Extensions (DVX) device class.
 88948  type VirtualMachineDvxClassInfo struct {
 88949  	DynamicData
 88950  
 88951  	// DVX device class.
 88952  	DeviceClass BaseElementDescription `xml:"deviceClass,typeattr" json:"deviceClass"`
 88953  	// The label for the vendor name of this class.
 88954  	//
 88955  	// The value is defined by vendors of the DVX device class
 88956  	// as part of their localizable messages.
 88957  	VendorName string `xml:"vendorName" json:"vendorName"`
 88958  	// Indicates whether the devices of this class are SR-IOV NICs.
 88959  	SriovNic bool `xml:"sriovNic" json:"sriovNic"`
 88960  	// The configuration parameters for this DVX device class.
 88961  	ConfigParams []OptionDef `xml:"configParams,omitempty" json:"configParams,omitempty"`
 88962  }
 88963  
 88964  func init() {
 88965  	t["VirtualMachineDvxClassInfo"] = reflect.TypeOf((*VirtualMachineDvxClassInfo)(nil)).Elem()
 88966  	minAPIVersionForType["VirtualMachineDvxClassInfo"] = "8.0.0.1"
 88967  }
 88968  
 88969  // Description of a Dynamic DirectPath PCI device.
 88970  type VirtualMachineDynamicPassthroughInfo struct {
 88971  	VirtualMachineTargetInfo
 88972  
 88973  	// The vendor name of this PCI device.
 88974  	VendorName string `xml:"vendorName" json:"vendorName"`
 88975  	// The device name of this PCI device.
 88976  	DeviceName string `xml:"deviceName" json:"deviceName"`
 88977  	// The custom label attached to this PCI device.
 88978  	CustomLabel string `xml:"customLabel,omitempty" json:"customLabel,omitempty"`
 88979  	// PCI vendor ID for this device.
 88980  	VendorId int32 `xml:"vendorId" json:"vendorId"`
 88981  	// PCI device ID for this device.
 88982  	DeviceId int32 `xml:"deviceId" json:"deviceId"`
 88983  }
 88984  
 88985  func init() {
 88986  	t["VirtualMachineDynamicPassthroughInfo"] = reflect.TypeOf((*VirtualMachineDynamicPassthroughInfo)(nil)).Elem()
 88987  	minAPIVersionForType["VirtualMachineDynamicPassthroughInfo"] = "7.0"
 88988  }
 88989  
 88990  // The EmptyIndependentFilterSpec data object is used to specify empty independent
 88991  // filter spec.
 88992  //
 88993  // This obejct is passed during provisioning workflows to remove all
 88994  // attached independent filters.
 88995  type VirtualMachineEmptyIndependentFilterSpec struct {
 88996  	VirtualMachineBaseIndependentFilterSpec
 88997  }
 88998  
 88999  func init() {
 89000  	t["VirtualMachineEmptyIndependentFilterSpec"] = reflect.TypeOf((*VirtualMachineEmptyIndependentFilterSpec)(nil)).Elem()
 89001  	minAPIVersionForType["VirtualMachineEmptyIndependentFilterSpec"] = "7.0.2.1"
 89002  }
 89003  
 89004  // Specifies an empty Storage Policy for a Virtual Machine Home or a
 89005  // Virtual Disk object.
 89006  //
 89007  // The object is left without any profile association, and hence has no
 89008  // explicit policy driven requirements.
 89009  // This implies that object's policy driven SLAs are always met trivially.
 89010  type VirtualMachineEmptyProfileSpec struct {
 89011  	VirtualMachineProfileSpec
 89012  }
 89013  
 89014  func init() {
 89015  	t["VirtualMachineEmptyProfileSpec"] = reflect.TypeOf((*VirtualMachineEmptyProfileSpec)(nil)).Elem()
 89016  	minAPIVersionForType["VirtualMachineEmptyProfileSpec"] = "5.5"
 89017  }
 89018  
 89019  // Feature requirement contains a key, featureName and an opaque value
 89020  type VirtualMachineFeatureRequirement struct {
 89021  	DynamicData
 89022  
 89023  	// Accessor name to the feature requirement test
 89024  	Key string `xml:"key" json:"key"`
 89025  	// Name of the feature.
 89026  	//
 89027  	// Identical to the key.
 89028  	FeatureName string `xml:"featureName" json:"featureName"`
 89029  	// Opaque value for the feature operation.
 89030  	//
 89031  	// Operation is contained
 89032  	// in the value.
 89033  	Value string `xml:"value" json:"value"`
 89034  }
 89035  
 89036  func init() {
 89037  	t["VirtualMachineFeatureRequirement"] = reflect.TypeOf((*VirtualMachineFeatureRequirement)(nil)).Elem()
 89038  	minAPIVersionForType["VirtualMachineFeatureRequirement"] = "5.1"
 89039  }
 89040  
 89041  // The FileInfo data object type contains the locations of virtual machine
 89042  // files other than the virtual disk files.
 89043  //
 89044  // The configurable parameters
 89045  // are all in the FileInfo object.
 89046  //
 89047  // The object also contains a FileLayout object that returns a complete
 89048  // list of additional files that makes up the virtual machine
 89049  // configuration. This is a read-only structure and is returned when
 89050  // the configuration is read. This is ignored during configuration and
 89051  // can be left out.
 89052  type VirtualMachineFileInfo struct {
 89053  	DynamicData
 89054  
 89055  	// Path name to the configuration file for the virtual machine, e.g., the
 89056  	// .vmx file.
 89057  	//
 89058  	// This also implicitly defines the configuration directory.
 89059  	VmPathName string `xml:"vmPathName,omitempty" json:"vmPathName,omitempty"`
 89060  	// Path name of the directory that holds suspend and snapshot files
 89061  	// belonging to the virtual machine.
 89062  	//
 89063  	// Prior to vSphere 5.0, this
 89064  	// directory also holds snapshot redo files. Starting with vSphere 5.0,
 89065  	// the redo files will stay in the same directory as the snapshotted
 89066  	// disk, thus this directory will no longer hold the snapshot redo
 89067  	// files.
 89068  	//
 89069  	// This path name defaults to the same directory as the configuration
 89070  	// file.
 89071  	//
 89072  	// ESX Server requires this to indicate a VMFS volume or NAS volume
 89073  	// (for ESX Server 3).
 89074  	// In case the configuration file is not stored on VMFS or NAS, this
 89075  	// property must be set explicitly.
 89076  	SnapshotDirectory string `xml:"snapshotDirectory,omitempty" json:"snapshotDirectory,omitempty"`
 89077  	// Some products allow the suspend directory to be different than the
 89078  	// snapshot directory.
 89079  	//
 89080  	// On products where this is not possible, setting
 89081  	// of this property is ignored.
 89082  	SuspendDirectory string `xml:"suspendDirectory,omitempty" json:"suspendDirectory,omitempty"`
 89083  	// Directory to store the log files for the virtual machine.
 89084  	//
 89085  	// If not specified,
 89086  	// this defaults to the same directory as the configuration file,
 89087  	LogDirectory string `xml:"logDirectory,omitempty" json:"logDirectory,omitempty"`
 89088  	// Directory to store the fault tolerance meta data files for the
 89089  	// virtual machine.
 89090  	FtMetadataDirectory string `xml:"ftMetadataDirectory,omitempty" json:"ftMetadataDirectory,omitempty" vim:"6.0"`
 89091  }
 89092  
 89093  func init() {
 89094  	t["VirtualMachineFileInfo"] = reflect.TypeOf((*VirtualMachineFileInfo)(nil)).Elem()
 89095  }
 89096  
 89097  // Deprecated as of vSphere API 4.0, use `VirtualMachineFileLayoutEx` instead.
 89098  //
 89099  // Describes the set of files that makes up a virtual machine on disk.
 89100  //
 89101  // The
 89102  // file layout is broken into 4 major sections:
 89103  //   - Configuration: Files stored in the configuration directory
 89104  //   - Log: Files stored in the log directory
 89105  //   - Disk: Files stored relative to a disk configuration file
 89106  //   - Snapshot: Stored in the snapshot directory
 89107  //
 89108  // Often the same directory is used for configuration, log, disk and
 89109  // snapshots.
 89110  type VirtualMachineFileLayout struct {
 89111  	DynamicData
 89112  
 89113  	// A list of files that makes up the configuration of the virtual machine
 89114  	// (excluding the .vmx file, since that file is represented in the
 89115  	// FileInfo).
 89116  	//
 89117  	// These are relative paths from the configuration directory. A
 89118  	// slash is always used as a separator. This list will typically include the
 89119  	// NVRAM file, but could also include other meta-data files.
 89120  	ConfigFile []string `xml:"configFile,omitempty" json:"configFile,omitempty"`
 89121  	// A list of files stored in the virtual machine's log directory.
 89122  	//
 89123  	// These are
 89124  	// relative paths from the logDirectory. A slash is always used as a
 89125  	// separator.
 89126  	LogFile []string `xml:"logFile,omitempty" json:"logFile,omitempty"`
 89127  	// Files making up each virtual disk.
 89128  	Disk []VirtualMachineFileLayoutDiskLayout `xml:"disk,omitempty" json:"disk,omitempty"`
 89129  	// Files of each snapshot.
 89130  	Snapshot []VirtualMachineFileLayoutSnapshotLayout `xml:"snapshot,omitempty" json:"snapshot,omitempty"`
 89131  	// The swapfile specific to this virtual machine, if any.
 89132  	//
 89133  	// This is a
 89134  	// complete datastore path, not a relative path.
 89135  	SwapFile string `xml:"swapFile,omitempty" json:"swapFile,omitempty"`
 89136  }
 89137  
 89138  func init() {
 89139  	t["VirtualMachineFileLayout"] = reflect.TypeOf((*VirtualMachineFileLayout)(nil)).Elem()
 89140  }
 89141  
 89142  // Enumerats the set of files for each virtual disk.
 89143  type VirtualMachineFileLayoutDiskLayout struct {
 89144  	DynamicData
 89145  
 89146  	// Identification of the disk in `config`.
 89147  	Key int32 `xml:"key" json:"key"`
 89148  	// List of files that makes up the virtual disk.
 89149  	//
 89150  	// At least one entry
 89151  	// always exists in this array. The first entry is the main
 89152  	// descriptor of the virtual disk (the one used when adding the
 89153  	// disk to a virtual machine). These are complete datastore paths, not
 89154  	// relative paths.
 89155  	DiskFile []string `xml:"diskFile" json:"diskFile"`
 89156  }
 89157  
 89158  func init() {
 89159  	t["VirtualMachineFileLayoutDiskLayout"] = reflect.TypeOf((*VirtualMachineFileLayoutDiskLayout)(nil)).Elem()
 89160  }
 89161  
 89162  // Detailed description of files that make up a virtual machine on disk.
 89163  //
 89164  // The
 89165  // file layout is broken into 4 major sections:
 89166  //   - Configuration: Files stored in the configuration directory
 89167  //   - Log: Files stored in the log directory
 89168  //   - Disk: Files stored relative to a disk configuration file
 89169  //   - Snapshot: Stored in the snapshot directory
 89170  //
 89171  // Often the same directory is used for configuration, log, disk and
 89172  // snapshots.
 89173  type VirtualMachineFileLayoutEx struct {
 89174  	DynamicData
 89175  
 89176  	// Information about all the files that constitute the virtual machine
 89177  	// including configuration files, disks, swap file, suspend file, log files,
 89178  	// core files, memory file etc.
 89179  	//
 89180  	// `VirtualMachineFileLayoutExFileType_enum` lists the
 89181  	// different file-types that make a virtual machine.
 89182  	File []VirtualMachineFileLayoutExFileInfo `xml:"file,omitempty" json:"file,omitempty"`
 89183  	// Layout of each virtual disk attached to the virtual machine.
 89184  	//
 89185  	// For a virtual machine with snaphots, this property gives only those disks
 89186  	// that are attached to it at the current point of running.
 89187  	Disk []VirtualMachineFileLayoutExDiskLayout `xml:"disk,omitempty" json:"disk,omitempty"`
 89188  	// Layout of each snapshot of the virtual machine.
 89189  	Snapshot []VirtualMachineFileLayoutExSnapshotLayout `xml:"snapshot,omitempty" json:"snapshot,omitempty"`
 89190  	// Time when values in this structure were last updated.
 89191  	Timestamp time.Time `xml:"timestamp" json:"timestamp"`
 89192  }
 89193  
 89194  func init() {
 89195  	t["VirtualMachineFileLayoutEx"] = reflect.TypeOf((*VirtualMachineFileLayoutEx)(nil)).Elem()
 89196  	minAPIVersionForType["VirtualMachineFileLayoutEx"] = "4.0"
 89197  }
 89198  
 89199  // Layout of a virtual disk, including the base- and delta- disks.
 89200  //
 89201  // A virtual disk typically is made up of a chain of disk-units.
 89202  type VirtualMachineFileLayoutExDiskLayout struct {
 89203  	DynamicData
 89204  
 89205  	// Identifier for the virtual disk in `VirtualHardware.device`.
 89206  	Key int32 `xml:"key" json:"key"`
 89207  	// The disk-unit chain that makes up this virtual disk.
 89208  	Chain []VirtualMachineFileLayoutExDiskUnit `xml:"chain,omitempty" json:"chain,omitempty"`
 89209  }
 89210  
 89211  func init() {
 89212  	t["VirtualMachineFileLayoutExDiskLayout"] = reflect.TypeOf((*VirtualMachineFileLayoutExDiskLayout)(nil)).Elem()
 89213  	minAPIVersionForType["VirtualMachineFileLayoutExDiskLayout"] = "4.0"
 89214  }
 89215  
 89216  // Information about a single unit of a virtual disk, such as
 89217  // the base-disk or a delta-disk.
 89218  //
 89219  // A disk-unit consists of at least one descriptor
 89220  // file, and zero or more extent files.
 89221  //
 89222  // Sometimes, a disk-unit is also referred to as a _backing_.
 89223  type VirtualMachineFileLayoutExDiskUnit struct {
 89224  	DynamicData
 89225  
 89226  	// Array of keys of the files that make up the disk unit.
 89227  	//
 89228  	// Values here
 89229  	// correspond to property `VirtualMachineFileLayoutExFileInfo.key` in
 89230  	// `VirtualMachineFileLayoutEx.file`.
 89231  	//
 89232  	// At least one entry always exists in this array. Property
 89233  	// `VirtualMachineFileLayoutExFileInfo.type` of the referenced file
 89234  	// can be used to distinguish the disk descriptor (type `diskDescriptor`) from the extents.
 89235  	FileKey []int32 `xml:"fileKey" json:"fileKey"`
 89236  }
 89237  
 89238  func init() {
 89239  	t["VirtualMachineFileLayoutExDiskUnit"] = reflect.TypeOf((*VirtualMachineFileLayoutExDiskUnit)(nil)).Elem()
 89240  	minAPIVersionForType["VirtualMachineFileLayoutExDiskUnit"] = "4.0"
 89241  }
 89242  
 89243  // Basic information about a file.
 89244  type VirtualMachineFileLayoutExFileInfo struct {
 89245  	DynamicData
 89246  
 89247  	// Key to reference this file.
 89248  	Key int32 `xml:"key" json:"key"`
 89249  	// Name of the file, including the complete datastore path.
 89250  	Name string `xml:"name" json:"name"`
 89251  	// Type of the file.
 89252  	//
 89253  	// `VirtualMachineFileLayoutExFileType_enum` lists
 89254  	// all valid values.
 89255  	Type string `xml:"type" json:"type"`
 89256  	// Size of the file in bytes.
 89257  	Size int64 `xml:"size" json:"size"`
 89258  	// Size of the file in bytes corresponding to the file blocks
 89259  	// that were allocated uniquely.
 89260  	//
 89261  	// In other words, if the underlying
 89262  	// storage supports sharing of file blocks across disk files, the
 89263  	// property corresponds to the size of the file blocks that were
 89264  	// allocated only in context of this file, i.e. it does not include
 89265  	// shared blocks that were allocated in other files.
 89266  	// This property will be unset if the underlying implementation
 89267  	// is unable to compute this information. One example of this
 89268  	// is when the file resides on a NAS datastore whose underlying
 89269  	// storage doesn't support this metric. In some cases the field
 89270  	// might be set but the value could be over-estimated due to
 89271  	// the inability of the NAS based storage to provide an
 89272  	// accurate value.
 89273  	UniqueSize int64 `xml:"uniqueSize,omitempty" json:"uniqueSize,omitempty" vim:"5.1"`
 89274  	// Backing object's durable and unmutable identifier.
 89275  	//
 89276  	// Each backing object has a unique identifier which is not settable.
 89277  	// This property is applied to the file backed by a storage object,
 89278  	// such as vvol.
 89279  	BackingObjectId string `xml:"backingObjectId,omitempty" json:"backingObjectId,omitempty" vim:"6.0"`
 89280  	// Flag which indicates the accessibility of the file
 89281  	// when the file info object was created.
 89282  	Accessible *bool `xml:"accessible" json:"accessible,omitempty" vim:"6.0"`
 89283  }
 89284  
 89285  func init() {
 89286  	t["VirtualMachineFileLayoutExFileInfo"] = reflect.TypeOf((*VirtualMachineFileLayoutExFileInfo)(nil)).Elem()
 89287  	minAPIVersionForType["VirtualMachineFileLayoutExFileInfo"] = "4.0"
 89288  }
 89289  
 89290  // Layout of a snapshot.
 89291  type VirtualMachineFileLayoutExSnapshotLayout struct {
 89292  	DynamicData
 89293  
 89294  	// Reference to the snapshot.
 89295  	//
 89296  	// Refers instance of `VirtualMachineSnapshot`.
 89297  	Key ManagedObjectReference `xml:"key" json:"key"`
 89298  	// Key to the snapshot data file in `VirtualMachineFileLayoutEx.file`.
 89299  	DataKey int32 `xml:"dataKey" json:"dataKey"`
 89300  	// Key to the snapshot memory file in `VirtualMachineFileLayoutEx.file`.
 89301  	//
 89302  	// Powered off snapshots do not have a memory component and in some cases
 89303  	// the memory component is combined with the data component. When a memory
 89304  	// component does not exist, the value is initialized to -1.
 89305  	MemoryKey int32 `xml:"memoryKey,omitempty" json:"memoryKey,omitempty" vim:"6.0"`
 89306  	// Layout of each virtual disk of the virtual machine when the
 89307  	// snapshot was taken.
 89308  	Disk []VirtualMachineFileLayoutExDiskLayout `xml:"disk,omitempty" json:"disk,omitempty"`
 89309  }
 89310  
 89311  func init() {
 89312  	t["VirtualMachineFileLayoutExSnapshotLayout"] = reflect.TypeOf((*VirtualMachineFileLayoutExSnapshotLayout)(nil)).Elem()
 89313  	minAPIVersionForType["VirtualMachineFileLayoutExSnapshotLayout"] = "4.0"
 89314  }
 89315  
 89316  // Enumerates the set of files that make up a snapshot or redo-point
 89317  type VirtualMachineFileLayoutSnapshotLayout struct {
 89318  	DynamicData
 89319  
 89320  	// Identification of the snapshot
 89321  	//
 89322  	// Refers instance of `VirtualMachineSnapshot`.
 89323  	Key ManagedObjectReference `xml:"key" json:"key"`
 89324  	// A list of files that make up the snapshot state.
 89325  	//
 89326  	// These are relative
 89327  	// paths from the snapshotDirectory. A slash is always used as a
 89328  	// separator.
 89329  	SnapshotFile []string `xml:"snapshotFile" json:"snapshotFile"`
 89330  }
 89331  
 89332  func init() {
 89333  	t["VirtualMachineFileLayoutSnapshotLayout"] = reflect.TypeOf((*VirtualMachineFileLayoutSnapshotLayout)(nil)).Elem()
 89334  }
 89335  
 89336  // The FlagInfo data object type encapsulates the flag settings
 89337  // for a virtual machine.
 89338  //
 89339  // These properties are optional since the same structure
 89340  // is used to change the values during an edit or create operation.
 89341  type VirtualMachineFlagInfo struct {
 89342  	DynamicData
 89343  
 89344  	// Flag to turn off video acceleration for a virtual machine console window.
 89345  	DisableAcceleration *bool `xml:"disableAcceleration" json:"disableAcceleration,omitempty"`
 89346  	// Flag to enable logging for a virtual machine.
 89347  	EnableLogging *bool `xml:"enableLogging" json:"enableLogging,omitempty"`
 89348  	// Flag to specify whether or not to use TOE (TCP/IP Offloading).
 89349  	UseToe *bool `xml:"useToe" json:"useToe,omitempty"`
 89350  	// Deprecated as of VI API 2.5, use `VirtualMachineFlagInfo.monitorType`.
 89351  	//
 89352  	// Flag to specify whether or not to run in debug mode.
 89353  	RunWithDebugInfo *bool `xml:"runWithDebugInfo" json:"runWithDebugInfo,omitempty"`
 89354  	// vmx process type.
 89355  	//
 89356  	// See `VirtualMachineFlagInfoMonitorType_enum`
 89357  	// for possible values for this property.
 89358  	MonitorType string `xml:"monitorType,omitempty" json:"monitorType,omitempty" vim:"2.5"`
 89359  	// Deprecated as of vSphere API 6.7.
 89360  	//
 89361  	// Specifies how the VCPUs of a virtual machine are allowed to
 89362  	// share physical cores on a hyperthreaded system.
 89363  	//
 89364  	// Two VCPUs are
 89365  	// "sharing" a core if they are both running on logical CPUs of
 89366  	// the core at the same time.
 89367  	//
 89368  	// See also `VirtualMachineHtSharing_enum`.
 89369  	HtSharing string `xml:"htSharing,omitempty" json:"htSharing,omitempty"`
 89370  	// Deprecated as of vSphere API 4.0. The flag is ignored by the server.
 89371  	//
 89372  	// Flag to specify whether snapshots are disabled for this virtual
 89373  	// machine.
 89374  	SnapshotDisabled *bool `xml:"snapshotDisabled" json:"snapshotDisabled,omitempty" vim:"2.5"`
 89375  	// Flag to specify whether the snapshot tree is locked for this virtual machine.
 89376  	SnapshotLocked *bool `xml:"snapshotLocked" json:"snapshotLocked,omitempty" vim:"2.5"`
 89377  	// Indicates whether disk UUIDs are being used by this virtual machine.
 89378  	//
 89379  	// If this flag is set to false, disk UUIDs are not exposed to the guest.
 89380  	//
 89381  	// Since products before ESX 3.1 do not support disk UUIDs, moving virtual
 89382  	// machines from a platform that supports UUID to a platform that does
 89383  	// not support UUIDs could result in unspecified guest behavior. For
 89384  	// virtual machines where the ability to move to older platforms is
 89385  	// important, this flag should be set to false. If the value is unset,
 89386  	// the behavior 'false' will be used.
 89387  	DiskUuidEnabled *bool `xml:"diskUuidEnabled" json:"diskUuidEnabled,omitempty" vim:"2.5"`
 89388  	// Indicates whether or not the system will try to use nested page
 89389  	// table hardware support, if available.
 89390  	//
 89391  	// By default, VMware software will determine whether or not
 89392  	// to use nested page table hardware support based on various factors such
 89393  	// as the guest operating system type and the physical hardware.
 89394  	// Certain workloads can benefit from explicitly turning
 89395  	// nested page table hardware support on or off; this can be set using
 89396  	// nptUsage flag.
 89397  	// If the value is unset, the value will default to automatic.
 89398  	//
 89399  	// `VirtualMachineFlagInfoVirtualMmuUsage_enum` represents the set of
 89400  	// possible values.
 89401  	VirtualMmuUsage string `xml:"virtualMmuUsage,omitempty" json:"virtualMmuUsage,omitempty" vim:"2.5"`
 89402  	// Indicates whether or not the system will try to use Hardware
 89403  	// Virtualization (HV) support for instruction virtualization,
 89404  	// if available.
 89405  	//
 89406  	// By default, VMware software will determine whether or not
 89407  	// to use hardware virtualization support based on various factors such
 89408  	// as the guest operating system type and the physical hardware.
 89409  	// Certain workloads can benefit from explicitly turning
 89410  	// hardware virtualization support on or off.
 89411  	// If the value is unset, the value will default to hvAuto.
 89412  	//
 89413  	// `VirtualMachineFlagInfoVirtualExecUsage_enum` represents the set of
 89414  	// possible values.
 89415  	//
 89416  	// New processors can enable two hardware acceleration technologies
 89417  	// for virtualization, one for instruction virtualization and the
 89418  	// other for MMU virtualization. Intel names its hardware-assisted
 89419  	// instruction virtualization as VT, and its hardware-assisted
 89420  	// MMU virtualization as EPT. AMD calls them as AMD-V and RVI,
 89421  	// respectively. For details on these technologies, please refer
 89422  	// to documents from the processor vendors.
 89423  	//
 89424  	// `VirtualMachineFlagInfo.virtualExecUsage` controls instruction
 89425  	// virtualization; while `VirtualMachineFlagInfo.virtualMmuUsage`
 89426  	// controls MMU virtualization. "On" allows hardware acceleration,
 89427  	// while "off" only allows software solution.
 89428  	//
 89429  	// There are four meaningful combinations.
 89430  	//
 89431  	// (hvAuto, automatic) - The host chooses which feature to use.
 89432  	// (hvOn, on) - Use both VT/AMD-V and EPT/RVI.
 89433  	// (hvOn, off) - Use VT/AMD-V but do not use EPT/RVI.
 89434  	// (hvOff, off) - Do not use any of these hardware acceleration technologies.
 89435  	VirtualExecUsage string `xml:"virtualExecUsage,omitempty" json:"virtualExecUsage,omitempty" vim:"4.0"`
 89436  	// Specifies the power-off behavior for a virtual machine that has
 89437  	// a snapshot.
 89438  	//
 89439  	// If the value is unset, the behavior 'powerOff' will
 89440  	// be used.
 89441  	//
 89442  	// See also `VirtualMachinePowerOffBehavior_enum`.
 89443  	SnapshotPowerOffBehavior string `xml:"snapshotPowerOffBehavior,omitempty" json:"snapshotPowerOffBehavior,omitempty" vim:"2.5"`
 89444  	// Deprecated as of vSphere API 6.0.
 89445  	//
 89446  	// Flag to specify whether record and replay operations are
 89447  	// allowed for this virtual machine.
 89448  	//
 89449  	// If this flag is set to 'true', instruction virtualization
 89450  	// will use hardware virtualization (HV) support. I.e.,
 89451  	// virtualExecUsage will be set to 'hvOn'.
 89452  	// If this flag is set to 'false' for a virtual machine that
 89453  	// already has a recording, replay will be disallowed, though
 89454  	// the recording will be preserved.
 89455  	// If the value is unset, the behavior 'false' will be used.
 89456  	RecordReplayEnabled *bool `xml:"recordReplayEnabled" json:"recordReplayEnabled,omitempty" vim:"4.0"`
 89457  	// Indicates the type of fault tolerance type the virtual machine is
 89458  	// configured to use.
 89459  	//
 89460  	// `VirtualMachineFaultToleranceType_enum` represents the set of
 89461  	// possible values.
 89462  	FaultToleranceType string `xml:"faultToleranceType,omitempty" json:"faultToleranceType,omitempty" vim:"6.0"`
 89463  	// Flag to specify whether common CBRC digest cache is enabled for this
 89464  	// virtual machine.
 89465  	//
 89466  	// The common CBRC cache is shared between the hot added disks in the VM.
 89467  	// If this flag is set to 'true' the VM will allocate a commont digest
 89468  	// cache on power on.
 89469  	CbrcCacheEnabled *bool `xml:"cbrcCacheEnabled" json:"cbrcCacheEnabled,omitempty" vim:"6.5"`
 89470  	// Flag to specify if Intel Virtualization Technology for Directed I/O
 89471  	// is enabled for this virtual machine.
 89472  	//
 89473  	// When creating a new VM:
 89474  	// \- If vim.vm.FlagInfo.vbsEnabled is set to <code>true</code>,
 89475  	// and this flag is set to <code>false</code> error is returned.
 89476  	// \- If this flag is unset and vim.vm.FlagInfo.vbsEnabled is set to
 89477  	// <code>true</code>, the value of this flag is set to <code>true</code>.
 89478  	VvtdEnabled *bool `xml:"vvtdEnabled" json:"vvtdEnabled,omitempty" vim:"6.7"`
 89479  	// Flag to specify if Virtualization-based security
 89480  	// is enabled for this virtual machine.
 89481  	//
 89482  	// If set to <code>true</code> when creating a new VM, the following VM
 89483  	// properties might be modified automatically:
 89484  	// \- If vim.vm.FlagInfo.vvtdEnabled is not set to <code>false</code>,
 89485  	// it is set to <code>true</code>. Else error is returned.
 89486  	// \- If vim.vm.ConfigSpec.nestedHVEnabled is not set to <code>false</code>,
 89487  	// it is set to <code>true</code>. Else error is returned.
 89488  	// \- If vim.vm.BootOptions.efiSecureBootEnabled is not set to
 89489  	// <code>false</code>, it is set to <code>true</code>. Else error is
 89490  	// returned.
 89491  	// \- If vim.vm.firmware is not set to <code>bios</code>, it is set
 89492  	// to <code>efi</code>. Else error is returned.
 89493  	VbsEnabled *bool `xml:"vbsEnabled" json:"vbsEnabled,omitempty" vim:"6.7"`
 89494  }
 89495  
 89496  func init() {
 89497  	t["VirtualMachineFlagInfo"] = reflect.TypeOf((*VirtualMachineFlagInfo)(nil)).Elem()
 89498  }
 89499  
 89500  // FloppyInfo class contains information about a physical floppy
 89501  // drive on the host.
 89502  type VirtualMachineFloppyInfo struct {
 89503  	VirtualMachineTargetInfo
 89504  }
 89505  
 89506  func init() {
 89507  	t["VirtualMachineFloppyInfo"] = reflect.TypeOf((*VirtualMachineFloppyInfo)(nil)).Elem()
 89508  }
 89509  
 89510  // This data object describes the fork configuration of this
 89511  // virtual machine.
 89512  type VirtualMachineForkConfigInfo struct {
 89513  	DynamicData
 89514  
 89515  	// Flag to indicate whether this virtual machine is a parent enabled
 89516  	// virtual machine.
 89517  	//
 89518  	// If this vm is not a parent enabled vm this
 89519  	// property will be unset.
 89520  	// When set into the vim.vm.ConfigSpec this flag will be ignored.
 89521  	ParentEnabled *bool `xml:"parentEnabled" json:"parentEnabled,omitempty"`
 89522  	// The fork group ID identifies the parent group of which this child
 89523  	// VirtualMachine is a child.
 89524  	//
 89525  	// Applicable for child VirtualMachines only.
 89526  	ChildForkGroupId string `xml:"childForkGroupId,omitempty" json:"childForkGroupId,omitempty"`
 89527  	// The fork group ID identifies the parent group which this VirtualMachine
 89528  	// belongs to.
 89529  	//
 89530  	// Applicable for parent VirtualMachines only.
 89531  	ParentForkGroupId string `xml:"parentForkGroupId,omitempty" json:"parentForkGroupId,omitempty" vim:"6.5"`
 89532  	// The flag to indicate the fork child type.
 89533  	//
 89534  	// For a persistent child
 89535  	// virtual machine, once it is powered on, it will become a linked
 89536  	// clone of its parent and this flag will be set to 'none'.
 89537  	//
 89538  	// See also `VirtualMachineForkConfigInfoChildType_enum`.
 89539  	ChildType string `xml:"childType,omitempty" json:"childType,omitempty"`
 89540  }
 89541  
 89542  func init() {
 89543  	t["VirtualMachineForkConfigInfo"] = reflect.TypeOf((*VirtualMachineForkConfigInfo)(nil)).Elem()
 89544  	minAPIVersionForType["VirtualMachineForkConfigInfo"] = "6.0"
 89545  }
 89546  
 89547  // This data object describes the guest integrity platform configuration of
 89548  // this virtual machine.
 89549  type VirtualMachineGuestIntegrityInfo struct {
 89550  	DynamicData
 89551  
 89552  	// Flag to indicate whether guest integrity platform feature is enabled for
 89553  	// this virtual machine.
 89554  	//
 89555  	// Guest integrity adds capabilities in the virtual
 89556  	// platform to detect attacks on the guest OS kernel
 89557  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 89558  }
 89559  
 89560  func init() {
 89561  	t["VirtualMachineGuestIntegrityInfo"] = reflect.TypeOf((*VirtualMachineGuestIntegrityInfo)(nil)).Elem()
 89562  	minAPIVersionForType["VirtualMachineGuestIntegrityInfo"] = "6.5"
 89563  }
 89564  
 89565  // This data object describes the GMM (Guest Mode Monitoring) configuration
 89566  // of this virtual machine.
 89567  type VirtualMachineGuestMonitoringModeInfo struct {
 89568  	DynamicData
 89569  
 89570  	GmmFile      string `xml:"gmmFile,omitempty" json:"gmmFile,omitempty"`
 89571  	GmmAppliance string `xml:"gmmAppliance,omitempty" json:"gmmAppliance,omitempty"`
 89572  }
 89573  
 89574  func init() {
 89575  	t["VirtualMachineGuestMonitoringModeInfo"] = reflect.TypeOf((*VirtualMachineGuestMonitoringModeInfo)(nil)).Elem()
 89576  	minAPIVersionForType["VirtualMachineGuestMonitoringModeInfo"] = "7.0"
 89577  }
 89578  
 89579  // This data object type encapsulates configuration settings
 89580  // when creating a virtual machine quiesced snapshot.
 89581  type VirtualMachineGuestQuiesceSpec struct {
 89582  	DynamicData
 89583  
 89584  	// The property to indicate maximum time in minutes for snapshot operation
 89585  	// to be performed on the virtual machine.
 89586  	//
 89587  	// The timeout can not be less than 5 minutes or more than 240 minutes.
 89588  	Timeout int32 `xml:"timeout,omitempty" json:"timeout,omitempty"`
 89589  }
 89590  
 89591  func init() {
 89592  	t["VirtualMachineGuestQuiesceSpec"] = reflect.TypeOf((*VirtualMachineGuestQuiesceSpec)(nil)).Elem()
 89593  	minAPIVersionForType["VirtualMachineGuestQuiesceSpec"] = "6.5"
 89594  }
 89595  
 89596  // A subset of virtual machine guest information.
 89597  type VirtualMachineGuestSummary struct {
 89598  	DynamicData
 89599  
 89600  	// Guest operating system identifier (short name), if known.
 89601  	GuestId string `xml:"guestId,omitempty" json:"guestId,omitempty"`
 89602  	// Guest operating system name configured on the virtual machine.
 89603  	GuestFullName string `xml:"guestFullName,omitempty" json:"guestFullName,omitempty"`
 89604  	// Deprecated as of vSphere API 5.0 use `VirtualMachineGuestSummary.toolsVersionStatus2` and
 89605  	// `VirtualMachineGuestSummary.toolsRunningStatus`.
 89606  	//
 89607  	// Current status of VMware Tools in the guest operating system, if known.
 89608  	ToolsStatus VirtualMachineToolsStatus `xml:"toolsStatus,omitempty" json:"toolsStatus,omitempty"`
 89609  	// Deprecated as of vSphere API 5.0 use `VirtualMachineGuestSummary.toolsVersionStatus2`.
 89610  	//
 89611  	// Current version status of VMware Tools in the guest operating system,
 89612  	// if known.
 89613  	ToolsVersionStatus string `xml:"toolsVersionStatus,omitempty" json:"toolsVersionStatus,omitempty" vim:"4.0"`
 89614  	// Current version status of VMware Tools in the guest operating system,
 89615  	// if known.
 89616  	ToolsVersionStatus2 string `xml:"toolsVersionStatus2,omitempty" json:"toolsVersionStatus2,omitempty" vim:"5.0"`
 89617  	// Current running status of VMware Tools in the guest operating system,
 89618  	// if known.
 89619  	ToolsRunningStatus string `xml:"toolsRunningStatus,omitempty" json:"toolsRunningStatus,omitempty" vim:"4.0"`
 89620  	// Hostname of the guest operating system, if known.
 89621  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 89622  	// Primary IP address assigned to the guest operating system, if known.
 89623  	IpAddress string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 89624  	// The hardware version string for this virtual machine.
 89625  	HwVersion string `xml:"hwVersion,omitempty" json:"hwVersion,omitempty" vim:"6.9.1"`
 89626  }
 89627  
 89628  func init() {
 89629  	t["VirtualMachineGuestSummary"] = reflect.TypeOf((*VirtualMachineGuestSummary)(nil)).Elem()
 89630  }
 89631  
 89632  // The IdeDiskDeviceInfo class contains detailed information about a specific
 89633  // IDE disk hardware device.
 89634  //
 89635  // These devices are for the
 89636  // vim.vm.device.VirtualDisk.RawDiskVer2BackingInfo and
 89637  // vim.vm.device.VirtualDisk.PartitionedRawDiskVer2BackingInfo backings.
 89638  type VirtualMachineIdeDiskDeviceInfo struct {
 89639  	VirtualMachineDiskDeviceInfo
 89640  
 89641  	PartitionTable []VirtualMachineIdeDiskDevicePartitionInfo `xml:"partitionTable,omitempty" json:"partitionTable,omitempty"`
 89642  }
 89643  
 89644  func init() {
 89645  	t["VirtualMachineIdeDiskDeviceInfo"] = reflect.TypeOf((*VirtualMachineIdeDiskDeviceInfo)(nil)).Elem()
 89646  }
 89647  
 89648  // Describes the partition sizes
 89649  type VirtualMachineIdeDiskDevicePartitionInfo struct {
 89650  	DynamicData
 89651  
 89652  	// Identification of the partition
 89653  	Id int32 `xml:"id" json:"id"`
 89654  	// Size of partition
 89655  	Capacity int32 `xml:"capacity" json:"capacity"`
 89656  }
 89657  
 89658  func init() {
 89659  	t["VirtualMachineIdeDiskDevicePartitionInfo"] = reflect.TypeOf((*VirtualMachineIdeDiskDevicePartitionInfo)(nil)).Elem()
 89660  }
 89661  
 89662  // A VmImportSpec is used by `ResourcePool.importVApp` when importing entities.
 89663  //
 89664  // It provides all information needed to import a `VirtualMachine`. So far,
 89665  // this coincides with `VirtualMachineConfigSpec`.
 89666  //
 89667  // A VmImportSpec can be contained in a `VirtualAppImportSpec` as part of
 89668  // the ImportSpec for an entity.
 89669  //
 89670  // See also `ImportSpec`.
 89671  type VirtualMachineImportSpec struct {
 89672  	ImportSpec
 89673  
 89674  	// Configuration for the virtual machine.
 89675  	ConfigSpec VirtualMachineConfigSpec `xml:"configSpec" json:"configSpec"`
 89676  	// Deprecated as of vSphere API 5.1.
 89677  	//
 89678  	// If specified, this resource pool will be used as the parent resource pool and the
 89679  	// virtual machine will be made a linked child to the parent vApp.
 89680  	//
 89681  	// This field is ignored
 89682  	// for the root node in an ImportSpec tree.
 89683  	//
 89684  	// Refers instance of `ResourcePool`.
 89685  	ResPoolEntity *ManagedObjectReference `xml:"resPoolEntity,omitempty" json:"resPoolEntity,omitempty" vim:"4.1"`
 89686  }
 89687  
 89688  func init() {
 89689  	t["VirtualMachineImportSpec"] = reflect.TypeOf((*VirtualMachineImportSpec)(nil)).Elem()
 89690  	minAPIVersionForType["VirtualMachineImportSpec"] = "4.0"
 89691  }
 89692  
 89693  // The IndependentFilterSpec data object is used to specify the independent
 89694  // filters to be associated with virtual machine disks.
 89695  type VirtualMachineIndependentFilterSpec struct {
 89696  	VirtualMachineBaseIndependentFilterSpec
 89697  
 89698  	// Name/id of the IO filter.
 89699  	FilterName string `xml:"filterName" json:"filterName"`
 89700  	// IO filter class.
 89701  	FilterClass string `xml:"filterClass,omitempty" json:"filterClass,omitempty"`
 89702  	// Capabilities defined by the above filter.
 89703  	//
 89704  	// Basically this key value pair define the configurable properties
 89705  	// of the independent filters. Users can specify desired values.
 89706  	FilterCapabilities []KeyValue `xml:"filterCapabilities,omitempty" json:"filterCapabilities,omitempty"`
 89707  }
 89708  
 89709  func init() {
 89710  	t["VirtualMachineIndependentFilterSpec"] = reflect.TypeOf((*VirtualMachineIndependentFilterSpec)(nil)).Elem()
 89711  	minAPIVersionForType["VirtualMachineIndependentFilterSpec"] = "7.0.2.1"
 89712  }
 89713  
 89714  // Specification for creating an Instant Clone of a powered-on virtual machine.
 89715  type VirtualMachineInstantCloneSpec struct {
 89716  	DynamicData
 89717  
 89718  	// The name of the cloned virtual machine.
 89719  	Name string `xml:"name" json:"name"`
 89720  	// A type of `VirtualMachineRelocateSpec` that specifies the location of
 89721  	// resources the newly created virtual machine will use.
 89722  	//
 89723  	// The location might be empty or specify:
 89724  	//     - The folder where the virtual machine should be located. If not
 89725  	//       specified, the root VM folder of the source VM will be used.
 89726  	//     - A datastore where the InstantCloned virtual machine will be located
 89727  	//       on the physical storage.
 89728  	//     - A resource pool determines where compute resources will be
 89729  	//       available to the clone.
 89730  	//     - A device change specification. The only allowed device changes
 89731  	//       are edits of VirtualEthernetCard and filebacked Serial/Parallel
 89732  	//       ports.
 89733  	//
 89734  	// All other settings are NOT supported.
 89735  	Location VirtualMachineRelocateSpec `xml:"location" json:"location"`
 89736  	// A list of key value pairs that will be passed to the destination VM.
 89737  	//
 89738  	// These pairs should be used to provide user-defined customization to
 89739  	// differentiate the destination VM from the source VM. Values will be
 89740  	// queryable via destination VM's `VirtualMachineConfigInfo.extraConfig`.
 89741  	Config []BaseOptionValue `xml:"config,omitempty,typeattr" json:"config,omitempty"`
 89742  	// 128-bit SMBIOS UUID of a virtual machine represented as a hexadecimal string
 89743  	// in "12345678-abcd-1234-cdef-123456789abc" format.
 89744  	BiosUuid string `xml:"biosUuid,omitempty" json:"biosUuid,omitempty"`
 89745  }
 89746  
 89747  func init() {
 89748  	t["VirtualMachineInstantCloneSpec"] = reflect.TypeOf((*VirtualMachineInstantCloneSpec)(nil)).Elem()
 89749  	minAPIVersionForType["VirtualMachineInstantCloneSpec"] = "6.7"
 89750  }
 89751  
 89752  // The LegacyNetworkSwitchInfo data object type contains information about
 89753  // the legacy network switches available on the host.
 89754  //   - VMware Server - Options available for the "custom" NetworkBackingType.
 89755  //   - ESX Server - The "esxnet" NetworkBackingType.
 89756  type VirtualMachineLegacyNetworkSwitchInfo struct {
 89757  	DynamicData
 89758  
 89759  	// The name of the network switch.
 89760  	Name string `xml:"name" json:"name"`
 89761  }
 89762  
 89763  func init() {
 89764  	t["VirtualMachineLegacyNetworkSwitchInfo"] = reflect.TypeOf((*VirtualMachineLegacyNetworkSwitchInfo)(nil)).Elem()
 89765  }
 89766  
 89767  // The VirtualMachineReservationInfo data object type describes the
 89768  // amount of memory that is being reserved for virtual machines on
 89769  // the host, and how additional memory may be acquired.
 89770  type VirtualMachineMemoryReservationInfo struct {
 89771  	DynamicData
 89772  
 89773  	// The minimum amount of memory reserved for all running virtual machines,
 89774  	// in bytes.
 89775  	VirtualMachineMin int64 `xml:"virtualMachineMin" json:"virtualMachineMin"`
 89776  	// The maximum amount of memory reserved for all running virtual machines,
 89777  	// in bytes.
 89778  	VirtualMachineMax int64 `xml:"virtualMachineMax" json:"virtualMachineMax"`
 89779  	// The amount of memory reserved for all running virtual machines,
 89780  	// in bytes.
 89781  	VirtualMachineReserved int64 `xml:"virtualMachineReserved" json:"virtualMachineReserved"`
 89782  	// Policy for allocating additional memory for virtual machines.
 89783  	//
 89784  	// See also `VirtualMachineMemoryAllocationPolicy_enum`.
 89785  	AllocationPolicy string `xml:"allocationPolicy" json:"allocationPolicy"`
 89786  }
 89787  
 89788  func init() {
 89789  	t["VirtualMachineMemoryReservationInfo"] = reflect.TypeOf((*VirtualMachineMemoryReservationInfo)(nil)).Elem()
 89790  	minAPIVersionForType["VirtualMachineMemoryReservationInfo"] = "2.5"
 89791  }
 89792  
 89793  // The VirtualMachineReservationSpec data object specifies
 89794  // configurable parameters for virtual machine memory reservation.
 89795  type VirtualMachineMemoryReservationSpec struct {
 89796  	DynamicData
 89797  
 89798  	// The amount of memory reserved for all running virtual machines, in
 89799  	// bytes.
 89800  	VirtualMachineReserved int64 `xml:"virtualMachineReserved,omitempty" json:"virtualMachineReserved,omitempty"`
 89801  	// Policy for allocating additional memory for virtual machines.
 89802  	//
 89803  	// See also `VirtualMachineMemoryAllocationPolicy_enum`.
 89804  	AllocationPolicy string `xml:"allocationPolicy,omitempty" json:"allocationPolicy,omitempty"`
 89805  }
 89806  
 89807  func init() {
 89808  	t["VirtualMachineMemoryReservationSpec"] = reflect.TypeOf((*VirtualMachineMemoryReservationSpec)(nil)).Elem()
 89809  	minAPIVersionForType["VirtualMachineMemoryReservationSpec"] = "2.5"
 89810  }
 89811  
 89812  // Message data which is intended to be displayed according
 89813  // to the locale of a client.
 89814  //
 89815  // A `VirtualMachineMessage` contains both a formatted, localized version of the
 89816  // text and the data needed to perform localization in conjunction
 89817  // with localization catalogs.
 89818  //
 89819  // Clients of the VIM API may use
 89820  // `SessionManager*.*SessionManager.SetLocale`
 89821  // to cause the server to emit localized `VirtualMachineMessage.text`, or may perform
 89822  // client-side localization based on message catalogs provided by the
 89823  // `LocalizationManager`.
 89824  //
 89825  // Message variables are always integers, e.g. {1} and {2}, which are
 89826  // 1-based indexes into `VirtualMachineMessage.argument`.
 89827  //   - The corresponding argument may be a recursive lookup:
 89828  //   - `VirtualMachineMessage.argument` = \["button.cancel", "msg.revert"\]
 89829  //   - CATALOG(locmsg, `VirtualMachineMessage.id`) = "Select '{1}' to {2}"
 89830  //   - CATALOG(locmsg, button.cancel) = "Cancel"
 89831  //   - CATALOG(locmsg, msg.revert) = "revert"
 89832  //   - \==&gt; `VirtualMachineMessage.text` = "Select 'Cancel' to revert"
 89833  //   - If the recursive lookup fails, the argument is a plain string.
 89834  //   - `VirtualMachineMessage.argument` = \["127.0.0.1"\]
 89835  //   - CATALOG(locmsg, `VirtualMachineMessage.id`) = "IP address is {1}"
 89836  //   - \==&gt; `VirtualMachineMessage.text` "IP address is 127.0.0.1"
 89837  //
 89838  // See also `LocalizationManager`.
 89839  type VirtualMachineMessage struct {
 89840  	DynamicData
 89841  
 89842  	// A unique identifier for this particular message.
 89843  	//
 89844  	// This field is a key for looking up format strings in the locmsg
 89845  	// catalog.
 89846  	Id string `xml:"id" json:"id"`
 89847  	// Substitution arguments for variables in the localized message.
 89848  	//
 89849  	// Substitution variables in the format string identified by `VirtualMachineMessage.id`
 89850  	// are 1-based indexes into this array. Substitution variable {1}
 89851  	// corresponds to argument\[0\], etc.
 89852  	Argument []AnyType `xml:"argument,omitempty,typeattr" json:"argument,omitempty"`
 89853  	// Text in session locale.
 89854  	//
 89855  	// Use `SessionManager*.*SessionManager.SetLocale` to
 89856  	// change the session locale.
 89857  	Text string `xml:"text,omitempty" json:"text,omitempty" vim:"4.0"`
 89858  }
 89859  
 89860  func init() {
 89861  	t["VirtualMachineMessage"] = reflect.TypeOf((*VirtualMachineMessage)(nil)).Elem()
 89862  	minAPIVersionForType["VirtualMachineMessage"] = "2.5"
 89863  }
 89864  
 89865  // VmMetadata is a pair of VM ID and opaque metadata.
 89866  type VirtualMachineMetadataManagerVmMetadata struct {
 89867  	DynamicData
 89868  
 89869  	// Datastore URL-based ID for VM, for example,
 89870  	// "\[datastore1\] SomeVM/SomeVM.vmx".
 89871  	VmId string `xml:"vmId" json:"vmId"`
 89872  	// Opaque metadata for the VM identified by vmId.
 89873  	//
 89874  	// If no
 89875  	// value is supplied, the entry for this VM is removed.
 89876  	Metadata string `xml:"metadata,omitempty" json:"metadata,omitempty"`
 89877  }
 89878  
 89879  func init() {
 89880  	t["VirtualMachineMetadataManagerVmMetadata"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadata)(nil)).Elem()
 89881  	minAPIVersionForType["VirtualMachineMetadataManagerVmMetadata"] = "5.5"
 89882  }
 89883  
 89884  // VmMetadataInput specifies the operation and metadata for a
 89885  // specific VM.
 89886  type VirtualMachineMetadataManagerVmMetadataInput struct {
 89887  	DynamicData
 89888  
 89889  	// The input operation type.
 89890  	//
 89891  	// The values come from `VirtualMachineMetadataManagerVmMetadataOp_enum`
 89892  	Operation string `xml:"operation" json:"operation"`
 89893  	// the VM and optional metadata
 89894  	VmMetadata VirtualMachineMetadataManagerVmMetadata `xml:"vmMetadata" json:"vmMetadata"`
 89895  }
 89896  
 89897  func init() {
 89898  	t["VirtualMachineMetadataManagerVmMetadataInput"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadataInput)(nil)).Elem()
 89899  	minAPIVersionForType["VirtualMachineMetadataManagerVmMetadataInput"] = "5.5"
 89900  }
 89901  
 89902  // VmMetadataOwner defines the namespace for an owner
 89903  type VirtualMachineMetadataManagerVmMetadataOwner struct {
 89904  	DynamicData
 89905  
 89906  	// A string representing the owner.
 89907  	//
 89908  	// Valid values come
 89909  	// from `VirtualMachineMetadataManagerVmMetadataOwnerOwner_enum` for vSAN datastores. Otherwise, the
 89910  	// owner field is interpreted by the implementation based on
 89911  	// the datastore type.
 89912  	Name string `xml:"name" json:"name"`
 89913  }
 89914  
 89915  func init() {
 89916  	t["VirtualMachineMetadataManagerVmMetadataOwner"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadataOwner)(nil)).Elem()
 89917  	minAPIVersionForType["VirtualMachineMetadataManagerVmMetadataOwner"] = "5.5"
 89918  }
 89919  
 89920  // A list of VmMetadataResults are returned for successful and
 89921  // non-successful results of an update or retrieve operation.
 89922  //
 89923  // See also `VirtualMachineMetadataManager.UpdateMetadata`, `VirtualMachineMetadataManager.RetrieveMetadata`, `VirtualMachineMetadataManager.RetrieveAllMetadata`, `VirtualMachineMetadataManager.ClearMetadata`.
 89924  type VirtualMachineMetadataManagerVmMetadataResult struct {
 89925  	DynamicData
 89926  
 89927  	// The VM-specific metadata
 89928  	VmMetadata VirtualMachineMetadataManagerVmMetadata `xml:"vmMetadata" json:"vmMetadata"`
 89929  	// MethodFault set for errors in getting or setting
 89930  	// the VmMetadata.
 89931  	Error *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 89932  }
 89933  
 89934  func init() {
 89935  	t["VirtualMachineMetadataManagerVmMetadataResult"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadataResult)(nil)).Elem()
 89936  	minAPIVersionForType["VirtualMachineMetadataManagerVmMetadataResult"] = "5.5"
 89937  }
 89938  
 89939  // The `VirtualMachineMksConnection` object describes an MKS style connection
 89940  // to the virtual machine.
 89941  type VirtualMachineMksConnection struct {
 89942  	VirtualMachineConnection
 89943  }
 89944  
 89945  func init() {
 89946  	t["VirtualMachineMksConnection"] = reflect.TypeOf((*VirtualMachineMksConnection)(nil)).Elem()
 89947  	minAPIVersionForType["VirtualMachineMksConnection"] = "7.0.1.0"
 89948  }
 89949  
 89950  // Deprecated as of vSphere API 4.1, use `VirtualMachineTicket`
 89951  // instead.
 89952  //
 89953  // This data object contains the information needed to establish an MKS
 89954  // (mouse-keyboard-screen) connection to a running virtual machine.
 89955  type VirtualMachineMksTicket struct {
 89956  	DynamicData
 89957  
 89958  	// The ticket name.
 89959  	//
 89960  	// This is used as the username and password for the MKS
 89961  	// connection.
 89962  	Ticket string `xml:"ticket" json:"ticket"`
 89963  	// The name of the configuration file for the virtual machine.
 89964  	CfgFile string `xml:"cfgFile" json:"cfgFile"`
 89965  	// The host with which to establish a connection.
 89966  	//
 89967  	// If the host is not specified,
 89968  	// it is assumed that the requesting entity knows the appropriate host with which
 89969  	// to connect.
 89970  	Host string `xml:"host,omitempty" json:"host,omitempty"`
 89971  	// The port number to use.
 89972  	//
 89973  	// If the port is not specified,
 89974  	// it is assumed that the requesting entity knows the appropriate port to
 89975  	// use when making a new connection.
 89976  	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
 89977  	// The expected thumbprint of the SSL cert of the host to which
 89978  	// we are connecting.
 89979  	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty" vim:"2.5"`
 89980  }
 89981  
 89982  func init() {
 89983  	t["VirtualMachineMksTicket"] = reflect.TypeOf((*VirtualMachineMksTicket)(nil)).Elem()
 89984  }
 89985  
 89986  // NetworkInfo describes a network that a device backing
 89987  // can attached to.
 89988  type VirtualMachineNetworkInfo struct {
 89989  	VirtualMachineTargetInfo
 89990  
 89991  	// Information about the network
 89992  	Network BaseNetworkSummary `xml:"network,typeattr" json:"network"`
 89993  	// Key of parent vSwitch of the network
 89994  	Vswitch string `xml:"vswitch,omitempty" json:"vswitch,omitempty" vim:"6.5"`
 89995  }
 89996  
 89997  func init() {
 89998  	t["VirtualMachineNetworkInfo"] = reflect.TypeOf((*VirtualMachineNetworkInfo)(nil)).Elem()
 89999  }
 90000  
 90001  // Network traffic shaping specification.
 90002  //
 90003  // Traffic shaping is used to configure the network utilization
 90004  // characteristics of a virtual machine.
 90005  type VirtualMachineNetworkShaperInfo struct {
 90006  	DynamicData
 90007  
 90008  	// Is the shaper enabled?
 90009  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 90010  	// Peak bandwidth, in bits per second.
 90011  	PeakBps int64 `xml:"peakBps,omitempty" json:"peakBps,omitempty"`
 90012  	// Average bandwidth, in bits per second.
 90013  	AverageBps int64 `xml:"averageBps,omitempty" json:"averageBps,omitempty"`
 90014  	// Burst size, in bytes.
 90015  	BurstSize int64 `xml:"burstSize,omitempty" json:"burstSize,omitempty"`
 90016  }
 90017  
 90018  func init() {
 90019  	t["VirtualMachineNetworkShaperInfo"] = reflect.TypeOf((*VirtualMachineNetworkShaperInfo)(nil)).Elem()
 90020  }
 90021  
 90022  // ParallelInfo class contains information about a physical parallel
 90023  // drive on the host.
 90024  type VirtualMachineParallelInfo struct {
 90025  	VirtualMachineTargetInfo
 90026  }
 90027  
 90028  func init() {
 90029  	t["VirtualMachineParallelInfo"] = reflect.TypeOf((*VirtualMachineParallelInfo)(nil)).Elem()
 90030  }
 90031  
 90032  // Description of a generic PCI device that can be attached to a virtual machine.
 90033  type VirtualMachinePciPassthroughInfo struct {
 90034  	VirtualMachineTargetInfo
 90035  
 90036  	// Details of the PCI device, including vendor, class and
 90037  	// device identification information.
 90038  	PciDevice HostPciDevice `xml:"pciDevice" json:"pciDevice"`
 90039  	// The ID of the system the PCI device is attached to.
 90040  	SystemId string `xml:"systemId" json:"systemId"`
 90041  }
 90042  
 90043  func init() {
 90044  	t["VirtualMachinePciPassthroughInfo"] = reflect.TypeOf((*VirtualMachinePciPassthroughInfo)(nil)).Elem()
 90045  	minAPIVersionForType["VirtualMachinePciPassthroughInfo"] = "4.0"
 90046  }
 90047  
 90048  // Description of a gpu PCI device that can be shared with a virtual machine.
 90049  type VirtualMachinePciSharedGpuPassthroughInfo struct {
 90050  	VirtualMachineTargetInfo
 90051  
 90052  	// The VGPU corresponding to this GPU passthrough device.
 90053  	Vgpu string `xml:"vgpu" json:"vgpu"`
 90054  }
 90055  
 90056  func init() {
 90057  	t["VirtualMachinePciSharedGpuPassthroughInfo"] = reflect.TypeOf((*VirtualMachinePciSharedGpuPassthroughInfo)(nil)).Elem()
 90058  	minAPIVersionForType["VirtualMachinePciSharedGpuPassthroughInfo"] = "6.0"
 90059  }
 90060  
 90061  // The PrecisionClockInfo data object type describes available host
 90062  // clock resources, which can be used as backing reference for
 90063  // virtual precision clock devices.
 90064  type VirtualMachinePrecisionClockInfo struct {
 90065  	VirtualMachineTargetInfo
 90066  
 90067  	// The currrent host system clock synchronization protocol.
 90068  	//
 90069  	// Used for specifying protocol in
 90070  	// `VirtualPrecisionClockSystemClockBackingInfo`.
 90071  	SystemClockProtocol string `xml:"systemClockProtocol,omitempty" json:"systemClockProtocol,omitempty"`
 90072  }
 90073  
 90074  func init() {
 90075  	t["VirtualMachinePrecisionClockInfo"] = reflect.TypeOf((*VirtualMachinePrecisionClockInfo)(nil)).Elem()
 90076  	minAPIVersionForType["VirtualMachinePrecisionClockInfo"] = "7.0"
 90077  }
 90078  
 90079  // The `VirtualMachineProfileDetails` data object type provides details of the policy
 90080  // associated with a virtual machine and it's virtual disks.
 90081  type VirtualMachineProfileDetails struct {
 90082  	DynamicData
 90083  
 90084  	// Storage profile associated with Virtual Machine's home directory.
 90085  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 90086  	// An optional list that allows specifying details of the policy associated
 90087  	// with virutual disks.
 90088  	DiskProfileDetails []VirtualMachineProfileDetailsDiskProfileDetails `xml:"diskProfileDetails,omitempty" json:"diskProfileDetails,omitempty"`
 90089  }
 90090  
 90091  func init() {
 90092  	t["VirtualMachineProfileDetails"] = reflect.TypeOf((*VirtualMachineProfileDetails)(nil)).Elem()
 90093  	minAPIVersionForType["VirtualMachineProfileDetails"] = "6.7"
 90094  }
 90095  
 90096  // Details of the policies associated with Virtual Disks.
 90097  type VirtualMachineProfileDetailsDiskProfileDetails struct {
 90098  	DynamicData
 90099  
 90100  	// Virtual disk ID.
 90101  	DiskId int32 `xml:"diskId" json:"diskId"`
 90102  	// Storage profile associated with the Virtual Disk.
 90103  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 90104  }
 90105  
 90106  func init() {
 90107  	t["VirtualMachineProfileDetailsDiskProfileDetails"] = reflect.TypeOf((*VirtualMachineProfileDetailsDiskProfileDetails)(nil)).Elem()
 90108  	minAPIVersionForType["VirtualMachineProfileDetailsDiskProfileDetails"] = "6.7"
 90109  }
 90110  
 90111  // The extensible data object type encapsulates additional data specific
 90112  // to Virtual Machine and its devices.
 90113  //
 90114  // This data is provided by vSphere Extensions which are integral part
 90115  // of vSphere.
 90116  //
 90117  // The data is not persisted in Virtual Machine configuration file but is
 90118  // stored and managed by extensions.
 90119  //
 90120  // Storage Profile Based Management (SPBM) will be one of the consumers of
 90121  // this data structure. SPBM will provide detailed information about
 90122  // Virtual Machine storage requirements.
 90123  type VirtualMachineProfileRawData struct {
 90124  	DynamicData
 90125  
 90126  	// vSphere Extension Identifier
 90127  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 90128  	// Extension-specific additional data to be associated
 90129  	// with Virtual machine and its devices.
 90130  	ObjectData string `xml:"objectData,omitempty" json:"objectData,omitempty"`
 90131  }
 90132  
 90133  func init() {
 90134  	t["VirtualMachineProfileRawData"] = reflect.TypeOf((*VirtualMachineProfileRawData)(nil)).Elem()
 90135  	minAPIVersionForType["VirtualMachineProfileRawData"] = "5.5"
 90136  }
 90137  
 90138  // The ProfileSpec data object is used to specify the Storage Policy to be
 90139  // associated with a Virtual Machine Home or a Virtual Disk.
 90140  type VirtualMachineProfileSpec struct {
 90141  	DynamicData
 90142  }
 90143  
 90144  func init() {
 90145  	t["VirtualMachineProfileSpec"] = reflect.TypeOf((*VirtualMachineProfileSpec)(nil)).Elem()
 90146  	minAPIVersionForType["VirtualMachineProfileSpec"] = "5.5"
 90147  }
 90148  
 90149  // Data object which represents relations between a
 90150  // property and its target value and the required values
 90151  // of any other properties in the vm configuration so
 90152  // that the target value can be set.
 90153  type VirtualMachinePropertyRelation struct {
 90154  	DynamicData
 90155  
 90156  	// The target property and its value
 90157  	Key DynamicProperty `xml:"key" json:"key"`
 90158  	// The related properties and their values
 90159  	Relations []DynamicProperty `xml:"relations,omitempty" json:"relations,omitempty"`
 90160  }
 90161  
 90162  func init() {
 90163  	t["VirtualMachinePropertyRelation"] = reflect.TypeOf((*VirtualMachinePropertyRelation)(nil)).Elem()
 90164  	minAPIVersionForType["VirtualMachinePropertyRelation"] = "6.7"
 90165  }
 90166  
 90167  // This data object type describes the question that is currently
 90168  // blocking a virtual machine.
 90169  type VirtualMachineQuestionInfo struct {
 90170  	DynamicData
 90171  
 90172  	// Identifier with an opaque value that specifies the pending question.
 90173  	Id string `xml:"id" json:"id"`
 90174  	// Text that describes the pending question.
 90175  	Text string `xml:"text" json:"text"`
 90176  	// List of key-value pairs that specify possible answers.
 90177  	Choice ChoiceOption `xml:"choice" json:"choice"`
 90178  	// The message data for the individual messages that comprise the question.
 90179  	//
 90180  	// Only available on servers that support localization.
 90181  	Message []VirtualMachineMessage `xml:"message,omitempty" json:"message,omitempty" vim:"2.5"`
 90182  }
 90183  
 90184  func init() {
 90185  	t["VirtualMachineQuestionInfo"] = reflect.TypeOf((*VirtualMachineQuestionInfo)(nil)).Elem()
 90186  }
 90187  
 90188  // A set of statistics that are typically updated with near real-time regularity.
 90189  //
 90190  // This data object type does not support notification, for scalability reasons.
 90191  // Therefore, changes in QuickStats do not generate property collector updates. To
 90192  // monitor statistics values, use the statistics and alarms modules instead.
 90193  type VirtualMachineQuickStats struct {
 90194  	DynamicData
 90195  
 90196  	// Basic CPU performance statistics, in MHz.
 90197  	//
 90198  	// Valid while the virtual machine is running.
 90199  	OverallCpuUsage int32 `xml:"overallCpuUsage,omitempty" json:"overallCpuUsage,omitempty"`
 90200  	// Basic CPU performance statistics, in MHz.
 90201  	//
 90202  	// Valid while the virtual machine is running.
 90203  	OverallCpuDemand int32 `xml:"overallCpuDemand,omitempty" json:"overallCpuDemand,omitempty" vim:"4.0"`
 90204  	// Percentage of time that the virtual machine was ready, but could not
 90205  	// get scheduled to run on the physical CPU.
 90206  	//
 90207  	// Valid while the virtual machine is running.
 90208  	OverallCpuReadiness int32 `xml:"overallCpuReadiness,omitempty" json:"overallCpuReadiness,omitempty" vim:"7.0"`
 90209  	// Guest memory utilization statistics, in MB.
 90210  	//
 90211  	// This
 90212  	// is also known as active guest memory. The number
 90213  	// can be between 0 and the configured memory size of
 90214  	// the virtual machine. Valid while the virtual machine is
 90215  	// running.
 90216  	GuestMemoryUsage int32 `xml:"guestMemoryUsage,omitempty" json:"guestMemoryUsage,omitempty"`
 90217  	// Host memory utilization statistics, in MB.
 90218  	//
 90219  	// This
 90220  	// is also known as consumed host memory. This is between 0 and
 90221  	// the configured resource limit. Valid while the virtual machine is
 90222  	// running. This includes the overhead memory of the VM.
 90223  	HostMemoryUsage int32 `xml:"hostMemoryUsage,omitempty" json:"hostMemoryUsage,omitempty"`
 90224  	// Guest operating system heartbeat metric.
 90225  	//
 90226  	// See `VirtualMachine.guestHeartbeatStatus` for a description.
 90227  	GuestHeartbeatStatus ManagedEntityStatus `xml:"guestHeartbeatStatus" json:"guestHeartbeatStatus"`
 90228  	// This is the amount of CPU resource, in MHz, that this VM is entitled to, as
 90229  	// calculated by DRS.
 90230  	//
 90231  	// Valid only for a VM managed by DRS.
 90232  	DistributedCpuEntitlement int32 `xml:"distributedCpuEntitlement,omitempty" json:"distributedCpuEntitlement,omitempty"`
 90233  	// This is the amount of memory, in MB, that this VM is entitled to, as
 90234  	// calculated by DRS.
 90235  	//
 90236  	// Valid only for a VM managed by DRS.
 90237  	DistributedMemoryEntitlement int32 `xml:"distributedMemoryEntitlement,omitempty" json:"distributedMemoryEntitlement,omitempty"`
 90238  	// The static CPU resource entitlement for a virtual machine.
 90239  	//
 90240  	// This value is
 90241  	// calculated based on this virtual machine's resource reservations, shares
 90242  	// and limit, and doesn't take into account current usage. This is the worst
 90243  	// case CPU allocation for this virtual machine, that is, the amount of CPU
 90244  	// resource this virtual machine would receive if all virtual machines running
 90245  	// in the cluster went to maximum consumption. Units are MHz.
 90246  	StaticCpuEntitlement int32 `xml:"staticCpuEntitlement,omitempty" json:"staticCpuEntitlement,omitempty" vim:"4.0"`
 90247  	// The static memory resource entitlement for a virtual machine.
 90248  	//
 90249  	// This value is
 90250  	// calculated based on this virtual machine's resource reservations, shares
 90251  	// and limit, and doesn't take into account current usage. This is the worst
 90252  	// case memory allocation for this virtual machine, that is, the amount of
 90253  	// memory this virtual machine would receive if all virtual machines running
 90254  	// in the cluster went to maximum consumption. Units are MB.
 90255  	StaticMemoryEntitlement int32 `xml:"staticMemoryEntitlement,omitempty" json:"staticMemoryEntitlement,omitempty" vim:"4.0"`
 90256  	// Amount of host physical memory that is mapped for a virtual machine,
 90257  	// in MB.
 90258  	//
 90259  	// The number can be between 0 and the configured memory size of
 90260  	// the virtual machine. Valid while the virtual machine is running.
 90261  	GrantedMemory int32 `xml:"grantedMemory,omitempty" json:"grantedMemory,omitempty" vim:"7.0"`
 90262  	// The portion of memory, in MB, that is granted to this VM from non-shared
 90263  	// host memory.
 90264  	PrivateMemory int32 `xml:"privateMemory,omitempty" json:"privateMemory,omitempty" vim:"4.0"`
 90265  	// The portion of memory, in MB, that is granted to this VM from host memory
 90266  	// that is shared between VMs.
 90267  	SharedMemory int32 `xml:"sharedMemory,omitempty" json:"sharedMemory,omitempty" vim:"4.0"`
 90268  	// The portion of memory, in MB, that is granted to this VM from the host's swap
 90269  	// space.
 90270  	//
 90271  	// This is a sign that there is memory pressure on the host.
 90272  	SwappedMemory int32 `xml:"swappedMemory,omitempty" json:"swappedMemory,omitempty" vim:"4.0"`
 90273  	// The size of the balloon driver in the VM, in MB.
 90274  	//
 90275  	// The host will inflate the
 90276  	// balloon driver to reclaim physical memory from the VM. This is a sign that
 90277  	// there is memory pressure on the host.
 90278  	BalloonedMemory int32 `xml:"balloonedMemory,omitempty" json:"balloonedMemory,omitempty" vim:"4.0"`
 90279  	// The amount of consumed overhead memory, in MB, for this VM.
 90280  	ConsumedOverheadMemory int32 `xml:"consumedOverheadMemory,omitempty" json:"consumedOverheadMemory,omitempty" vim:"4.0"`
 90281  	// The network bandwidth used for logging between the
 90282  	// primary and secondary fault tolerance VMs.
 90283  	//
 90284  	// The unit is kilobytes per second.
 90285  	FtLogBandwidth int32 `xml:"ftLogBandwidth,omitempty" json:"ftLogBandwidth,omitempty" vim:"4.0"`
 90286  	// The amount of time in wallclock that the VCPU of the secondary fault
 90287  	// tolerance VM is behind the VCPU of the primary VM.
 90288  	//
 90289  	// The unit is millisecond.
 90290  	FtSecondaryLatency int32 `xml:"ftSecondaryLatency,omitempty" json:"ftSecondaryLatency,omitempty" vim:"4.0"`
 90291  	// The latency status of the fault tolerance VM.
 90292  	//
 90293  	// ftLatencyStatus is determined by the value of ftSecondaryLatency.
 90294  	// ftLatencyStatus is:
 90295  	// green, if ftSecondaryLatency is less than or equal to 2 seconds;
 90296  	// yellow, if ftSecondaryLatency is greater than 2 seconds,
 90297  	// and less than or equal to 6 seconds;
 90298  	// red, if ftSecondaryLatency is greater than 6 seconds;
 90299  	// gray, if ftSecondaryLatency is unknown.
 90300  	FtLatencyStatus ManagedEntityStatus `xml:"ftLatencyStatus,omitempty" json:"ftLatencyStatus,omitempty" vim:"4.0"`
 90301  	// The amount of compressed memory currently consumed by VM, in Kb.
 90302  	CompressedMemory int64 `xml:"compressedMemory,omitempty" json:"compressedMemory,omitempty" vim:"4.1"`
 90303  	// The system uptime of the VM in seconds.
 90304  	UptimeSeconds int32 `xml:"uptimeSeconds,omitempty" json:"uptimeSeconds,omitempty" vim:"4.1"`
 90305  	// The amount of memory swapped to fast disk device such as
 90306  	// SSD, in KB.
 90307  	SsdSwappedMemory int64 `xml:"ssdSwappedMemory,omitempty" json:"ssdSwappedMemory,omitempty" vim:"5.0"`
 90308  	// The amount of memory that was recently touched by the VM, in MB.
 90309  	ActiveMemory int32 `xml:"activeMemory,omitempty" json:"activeMemory,omitempty" vim:"7.0.3.0"`
 90310  	// Stats for each physical memory tier.
 90311  	//
 90312  	// A physical memory tier consists of one or
 90313  	// more logical memory tiers of the same `HostMemoryTierType_enum`. For
 90314  	// example, the logical tiers can be tier0 (DRAM), tier1 (DRAM), and tier2 (PMEM),
 90315  	// while the physical tiers are just DRAM and PMEM.
 90316  	MemoryTierStats []VirtualMachineQuickStatsMemoryTierStats `xml:"memoryTierStats,omitempty" json:"memoryTierStats,omitempty" vim:"7.0.3.0"`
 90317  }
 90318  
 90319  func init() {
 90320  	t["VirtualMachineQuickStats"] = reflect.TypeOf((*VirtualMachineQuickStats)(nil)).Elem()
 90321  }
 90322  
 90323  type VirtualMachineQuickStatsMemoryTierStats struct {
 90324  	DynamicData
 90325  
 90326  	// The memory tier type.
 90327  	//
 90328  	// See `HostMemoryTierType_enum` for supported
 90329  	// values.
 90330  	MemoryTierType string `xml:"memoryTierType" json:"memoryTierType"`
 90331  	// Memory access bandwidth usage for the reads of the VM on this tier in
 90332  	// MBps.
 90333  	ReadBandwidth int64 `xml:"readBandwidth" json:"readBandwidth"`
 90334  }
 90335  
 90336  func init() {
 90337  	t["VirtualMachineQuickStatsMemoryTierStats"] = reflect.TypeOf((*VirtualMachineQuickStatsMemoryTierStats)(nil)).Elem()
 90338  }
 90339  
 90340  // Specification for moving or copying a virtual machine to a different datastore
 90341  // or host.
 90342  type VirtualMachineRelocateSpec struct {
 90343  	DynamicData
 90344  
 90345  	// The service endpoint of vCenter where the virtual machine should be
 90346  	// located.
 90347  	//
 90348  	// If not specified, the current vCenter service is used. If the
 90349  	// virtual machine is relocated to a different vCenter service, the
 90350  	// destination host, pool, and datastore parameters have to be explicitly
 90351  	// specified by default when the task is submitted.
 90352  	Service *ServiceLocator `xml:"service,omitempty" json:"service,omitempty" vim:"6.0"`
 90353  	// The folder where the virtual machine should be located.
 90354  	//
 90355  	// If not specified,
 90356  	// the root VM folder of the destination datacenter will be used.
 90357  	//
 90358  	// Refers instance of `Folder`.
 90359  	Folder *ManagedObjectReference `xml:"folder,omitempty" json:"folder,omitempty" vim:"6.0"`
 90360  	// The datastore where the virtual machine should be located.
 90361  	//
 90362  	// If
 90363  	// not specified, the current datastore is used.
 90364  	//
 90365  	// Refers instance of `Datastore`.
 90366  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 90367  	// Manner in which to move the virtual disk to the *target datastore*.
 90368  	//
 90369  	// The set of possible values is described in
 90370  	// `VirtualMachineRelocateDiskMoveOptions_enum`.
 90371  	//
 90372  	// This property applies to all the disks which the virtual machine has,
 90373  	// but can be overridden on a per-disk basis using
 90374  	// `VirtualMachineRelocateSpecDiskLocator.diskMoveType` prior to vSphere
 90375  	// API 6.0 or using
 90376  	// `VirtualDiskConfigSpec.diskMoveType` in vSphere API
 90377  	// 6.0 and later.
 90378  	//
 90379  	// This property can only be set if
 90380  	// `HostCapability.deltaDiskBackingsSupported` is true.
 90381  	//
 90382  	// If left unset then
 90383  	// `moveAllDiskBackingsAndDisallowSharing`
 90384  	// is assumed.
 90385  	DiskMoveType string `xml:"diskMoveType,omitempty" json:"diskMoveType,omitempty" vim:"4.0"`
 90386  	// The resource pool to which this virtual machine should be attached.
 90387  	//     - For a relocate or clone operation to a virtual machine, if the
 90388  	//       argument is not supplied, the current resource pool of virtual
 90389  	//       machine is used.
 90390  	//     - For a clone operation from a template to a virtual machine,
 90391  	//       this argument is required.
 90392  	//     - If the virtual machine is relocated to a different vCenter service,
 90393  	//       and a resource pool is not specified, the destination host must be
 90394  	//       specified.
 90395  	//     - If a resource pool is specified, the virtual machine is powered
 90396  	//       on, and the target pool represents a cluster without DRS enabled,
 90397  	//       an InvalidArgument exception is thrown.
 90398  	//     - If the virtual machine is relocated to a different datacenter
 90399  	//       within the vCenter service, the resource pool has to be specified
 90400  	//       and cannot be unset.
 90401  	//
 90402  	// Refers instance of `ResourcePool`.
 90403  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
 90404  	// The target host for the virtual machine.
 90405  	//
 90406  	// If not specified,
 90407  	//     - if resource pool is not specified, current host is used.
 90408  	//     - if resource pool is specified, and the target pool represents
 90409  	//       a stand-alone host, the host is used.
 90410  	//     - if resource pool is specified, the virtual machine is powered on,
 90411  	//       and the target pool represents a DRS-enabled cluster, a host
 90412  	//       selected by DRS is used.
 90413  	//     - if resource pool is specified, the virtual machine is powered on,
 90414  	//       and the target pool represents a cluster without DRS enabled,
 90415  	//       an InvalidArgument exception is thrown.
 90416  	//     - if a resource pool is specified, the target pool represents a
 90417  	//       cluster, and this is a clone or the virtual machine is powered
 90418  	//       off, a random compatible host is chosen.
 90419  	//     - A destination host must be specified if the virtual machine is
 90420  	//       relocated to a different vCenter service, and a resource pool is
 90421  	//       not specified.
 90422  	//
 90423  	// Refers instance of `HostSystem`.
 90424  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 90425  	// An optional list that allows specifying the datastore location
 90426  	// for each virtual disk.
 90427  	Disk []VirtualMachineRelocateSpecDiskLocator `xml:"disk,omitempty" json:"disk,omitempty"`
 90428  	// Deprecated as of vSphere API 5.0. Use
 90429  	// `VirtualMachineRelocateSpecDiskLocator.diskBackingInfo` instead for
 90430  	// disk format conversions. This setting will be ignored for
 90431  	// disks with the above property set.
 90432  	//
 90433  	// Transformation to perform on the disks.
 90434  	//
 90435  	// The backend is free to ignore
 90436  	// this hint if it is not valid for the current operation. This can be
 90437  	// used by clients, for example, to create sparse disks for templates.
 90438  	//
 90439  	// See also `VirtualMachineRelocateTransformation_enum`.
 90440  	Transform VirtualMachineRelocateTransformation `xml:"transform,omitempty" json:"transform,omitempty"`
 90441  	// An optional list of virtual device specs that allow specifying the new
 90442  	// device locations for the relocate operation.
 90443  	//
 90444  	// The supported device changes are:
 90445  	//     - For `VirtualEthernetCard`, it has to be used
 90446  	//       in `VirtualDeviceConfigSpec.device` to specify the
 90447  	//       target network backing.
 90448  	//     - For `VirtualDisk`, it can be used to specify
 90449  	//       vFlash cache configuration, or the storage profile for destination
 90450  	//       disks. The storage profiles are used to either upgrade the virtual
 90451  	//       disk's storage to a persistent memory, or keep the virtual disk
 90452  	//       in persistent memory when moving the virtual machine's overall
 90453  	//       storage.
 90454  	//     - All other specification are ignored.
 90455  	DeviceChange []BaseVirtualDeviceConfigSpec `xml:"deviceChange,omitempty,typeattr" json:"deviceChange,omitempty" vim:"5.5"`
 90456  	// Storage profile requirement for Virtual Machine's home directory.
 90457  	//
 90458  	// Profiles are solution specific.
 90459  	// Storage Profile Based Management(SPBM) is a vSphere server extension.
 90460  	// The API users who want to provision VMs using Storage Profiles, need to
 90461  	// interact with SPBM.
 90462  	// This is an optional parameter and if user doesn't specify profile,
 90463  	// the default behavior will apply.
 90464  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty" vim:"5.5"`
 90465  	// Virtual Machine cryptographic options.
 90466  	//
 90467  	// Encryption requirement for the virtual machine's metadata
 90468  	// files (non-disk files).
 90469  	CryptoSpec BaseCryptoSpec `xml:"cryptoSpec,omitempty,typeattr" json:"cryptoSpec,omitempty" vim:"7.0"`
 90470  }
 90471  
 90472  func init() {
 90473  	t["VirtualMachineRelocateSpec"] = reflect.TypeOf((*VirtualMachineRelocateSpec)(nil)).Elem()
 90474  }
 90475  
 90476  // The DiskLocator data object type specifies a virtual disk device (by ID) and
 90477  // a datastore locator for the disk's storage.
 90478  type VirtualMachineRelocateSpecDiskLocator struct {
 90479  	DynamicData
 90480  
 90481  	// Device ID of the virtual disk.
 90482  	DiskId int32 `xml:"diskId" json:"diskId"`
 90483  	// Target datastore.
 90484  	//
 90485  	// Refers instance of `Datastore`.
 90486  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 90487  	// Manner in which to move the virtual disk to the *target datastore*.
 90488  	//
 90489  	// The set of possible values is described
 90490  	// in `VirtualMachineRelocateDiskMoveOptions_enum`.
 90491  	//
 90492  	// This property can only be set if `HostCapability.deltaDiskBackingsSupported` is true.
 90493  	//
 90494  	// If left unset then `moveAllDiskBackingsAndDisallowSharing`
 90495  	// is assumed.
 90496  	DiskMoveType string `xml:"diskMoveType,omitempty" json:"diskMoveType,omitempty" vim:"4.0"`
 90497  	// Backing information for the virtual disk at the destination.
 90498  	//
 90499  	// This can be used, for instance, to change the format of the
 90500  	// virtual disk. If the specified backing is invalid or not
 90501  	// supported at the destination, `InvalidDeviceBacking` is thrown. Specific property
 90502  	// changes may be ignored if they are not supported.
 90503  	//
 90504  	// Supported BackingInfo types and properties:
 90505  	//     - `VirtualDiskFlatVer2BackingInfo`
 90506  	//       - thinProvisioned
 90507  	//       - eagerlyScrub
 90508  	//     - `VirtualDiskSeSparseBackingInfo`
 90509  	//       (ESX 5.1 or later)
 90510  	DiskBackingInfo BaseVirtualDeviceBackingInfo `xml:"diskBackingInfo,omitempty,typeattr" json:"diskBackingInfo,omitempty" vim:"5.0"`
 90511  	// Virtual Disk Profile requirement.
 90512  	//
 90513  	// Profiles are solution specific.
 90514  	// Profile Based Storage Management is a vSphere server extension.
 90515  	// The API users who want to provision VMs using Storage Profiles, need to
 90516  	// interact with it.
 90517  	// This is an optional parameter and if user doesn't specify profile,
 90518  	// the default behavior will apply.
 90519  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty" vim:"5.5"`
 90520  	// Cryptographic option of the current disk.
 90521  	Backing *VirtualMachineRelocateSpecDiskLocatorBackingSpec `xml:"backing,omitempty" json:"backing,omitempty" vim:"7.0"`
 90522  	// List of independent filters `VirtualMachineIndependentFilterSpec`
 90523  	// to be configured on the virtual disk after the relocate.
 90524  	FilterSpec []BaseVirtualMachineBaseIndependentFilterSpec `xml:"filterSpec,omitempty,typeattr" json:"filterSpec,omitempty" vim:"7.0.2.1"`
 90525  }
 90526  
 90527  func init() {
 90528  	t["VirtualMachineRelocateSpecDiskLocator"] = reflect.TypeOf((*VirtualMachineRelocateSpecDiskLocator)(nil)).Elem()
 90529  }
 90530  
 90531  // <code>`VirtualMachineRelocateSpecDiskLocatorBackingSpec`</code> is a data
 90532  // object type for crytographic information about the backing of a
 90533  // device.
 90534  //
 90535  // The member `VirtualMachineRelocateSpecDiskLocatorBackingSpec.parent` refers the parent in the chain of
 90536  // `VirtualDeviceBackingInfo` objects.
 90537  type VirtualMachineRelocateSpecDiskLocatorBackingSpec struct {
 90538  	DynamicData
 90539  
 90540  	Parent *VirtualMachineRelocateSpecDiskLocatorBackingSpec `xml:"parent,omitempty" json:"parent,omitempty"`
 90541  	Crypto BaseCryptoSpec                                    `xml:"crypto,omitempty,typeattr" json:"crypto,omitempty"`
 90542  }
 90543  
 90544  func init() {
 90545  	t["VirtualMachineRelocateSpecDiskLocatorBackingSpec"] = reflect.TypeOf((*VirtualMachineRelocateSpecDiskLocatorBackingSpec)(nil)).Elem()
 90546  	minAPIVersionForType["VirtualMachineRelocateSpecDiskLocatorBackingSpec"] = "7.0"
 90547  }
 90548  
 90549  // The RuntimeInfo data object type provides information about
 90550  // the execution state and history of a virtual machine.
 90551  type VirtualMachineRuntimeInfo struct {
 90552  	DynamicData
 90553  
 90554  	// Per-device runtime info.
 90555  	//
 90556  	// This array will be empty if the host
 90557  	// software does not provide runtime info for any of the device
 90558  	// types currently in use by the virtual machine.
 90559  	// In releases after vSphere API 5.0, vSphere Servers might not
 90560  	// generate property collector update notifications for this property.
 90561  	// To obtain the latest value of the property, you can use
 90562  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 90563  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 90564  	// an empty string for the version parameter.
 90565  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 90566  	// contain values for this property when some other property on the DataObject changes.
 90567  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 90568  	// version parameter, the value for this property may not be current.
 90569  	Device []VirtualMachineDeviceRuntimeInfo `xml:"device,omitempty" json:"device,omitempty" vim:"4.1"`
 90570  	// The host that is responsible for running a virtual machine.
 90571  	//
 90572  	// This property is null if the virtual machine is not running and is
 90573  	// not assigned to run on a particular host.
 90574  	//
 90575  	// Refers instance of `HostSystem`.
 90576  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 90577  	// Indicates whether or not the virtual machine is available for management.
 90578  	ConnectionState VirtualMachineConnectionState `xml:"connectionState" json:"connectionState"`
 90579  	// The current power state of the virtual machine.
 90580  	PowerState VirtualMachinePowerState `xml:"powerState" json:"powerState"`
 90581  	// Represents if the vm is currently being failed over by FDM
 90582  	VmFailoverInProgress *bool `xml:"vmFailoverInProgress" json:"vmFailoverInProgress,omitempty" vim:"7.0.2.0"`
 90583  	// The fault tolerance state of the virtual machine.
 90584  	FaultToleranceState VirtualMachineFaultToleranceState `xml:"faultToleranceState,omitempty" json:"faultToleranceState,omitempty" vim:"4.0"`
 90585  	// The vSphere HA protection state for a virtual machine.
 90586  	//
 90587  	// Property
 90588  	// is unset if vSphere HA is not enabled.
 90589  	DasVmProtection *VirtualMachineRuntimeInfoDasProtectionState `xml:"dasVmProtection,omitempty" json:"dasVmProtection,omitempty" vim:"5.0"`
 90590  	// Flag to indicate whether or not the VMware Tools installer
 90591  	// is mounted as a CD-ROM.
 90592  	ToolsInstallerMounted bool `xml:"toolsInstallerMounted" json:"toolsInstallerMounted"`
 90593  	// The timestamp when the virtual machine was most recently suspended.
 90594  	//
 90595  	// This property is updated every time the virtual machine is suspended.
 90596  	SuspendTime *time.Time `xml:"suspendTime" json:"suspendTime,omitempty"`
 90597  	// The timestamp when the virtual machine was most recently powered on.
 90598  	//
 90599  	// This property is updated when the virtual machine is powered on
 90600  	// from the poweredOff state, and is cleared when the virtual machine is
 90601  	// powered off. This property is not updated when a virtual machine is resumed
 90602  	// from a suspended state.
 90603  	BootTime *time.Time `xml:"bootTime" json:"bootTime,omitempty"`
 90604  	// The total time the virtual machine has been suspended
 90605  	// since it was initially powered on.
 90606  	//
 90607  	// This time excludes the current period,
 90608  	// if the virtual machine is currently suspended. This property is updated
 90609  	// when the virtual machine resumes, and is reset to zero when the virtual machine
 90610  	// is powered off.
 90611  	SuspendInterval int64 `xml:"suspendInterval,omitempty" json:"suspendInterval,omitempty"`
 90612  	// The current question, if any, that is blocking the virtual machine's execution.
 90613  	Question *VirtualMachineQuestionInfo `xml:"question,omitempty" json:"question,omitempty"`
 90614  	// Deprecated as of vSphere API 4.1, use the `PerformanceManager`
 90615  	// memory overhead counter to get this value.
 90616  	//
 90617  	// The amount of memory resource (in bytes) that will be used by
 90618  	// the virtual machine above its guest memory requirements.
 90619  	//
 90620  	// This value is set if and only if the virtual machine is registered
 90621  	// on a host that supports memory resource allocation features.
 90622  	//
 90623  	// For powered off VMs, this is the minimum overhead required to
 90624  	// power on the VM on the registered host.
 90625  	//
 90626  	// For powered on VMs, this is the current overhead reservation, a
 90627  	// value which is almost always larger than the minimum overhead, and
 90628  	// which grows with time.
 90629  	//
 90630  	// See also `HostSystem.QueryMemoryOverheadEx`.
 90631  	MemoryOverhead int64 `xml:"memoryOverhead,omitempty" json:"memoryOverhead,omitempty"`
 90632  	// Current upper-bound on CPU usage.
 90633  	//
 90634  	// The upper-bound is based on the host
 90635  	// the virtual machine is current running on, as well as limits configured
 90636  	// on the virtual machine itself or any parent resource pool.
 90637  	// Valid while the virtual machine is running.
 90638  	// In releases after vSphere API 5.0, vSphere Servers might not
 90639  	// generate property collector update notifications for this property.
 90640  	// To obtain the latest value of the property, you can use
 90641  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 90642  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 90643  	// an empty string for the version parameter.
 90644  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 90645  	// contain values for this property when some other property on the DataObject changes.
 90646  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 90647  	// version parameter, the value for this property may not be current.
 90648  	MaxCpuUsage int32 `xml:"maxCpuUsage,omitempty" json:"maxCpuUsage,omitempty"`
 90649  	// Current upper-bound on memory usage.
 90650  	//
 90651  	// The upper-bound is based on memory
 90652  	// configuration of the virtual machine, as well as limits configured
 90653  	// on the virtual machine itself or any parent resource pool.
 90654  	// Valid while the virtual machine is running.
 90655  	// In releases after vSphere API 5.0, vSphere Servers might not
 90656  	// generate property collector update notifications for this property.
 90657  	// To obtain the latest value of the property, you can use
 90658  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 90659  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 90660  	// an empty string for the version parameter.
 90661  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 90662  	// contain values for this property when some other property on the DataObject changes.
 90663  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 90664  	// version parameter, the value for this property may not be current.
 90665  	MaxMemoryUsage int32 `xml:"maxMemoryUsage,omitempty" json:"maxMemoryUsage,omitempty"`
 90666  	// Number of active MKS connections to this virtual machine.
 90667  	NumMksConnections int32 `xml:"numMksConnections" json:"numMksConnections"`
 90668  	// Deprecated as of vSphere API 6.0.
 90669  	//
 90670  	// Record / replay state of this virtual machine.
 90671  	RecordReplayState VirtualMachineRecordReplayState `xml:"recordReplayState,omitempty" json:"recordReplayState,omitempty" vim:"4.0"`
 90672  	// For a powered off virtual machine, indicates whether the virtual
 90673  	// machine's last shutdown was an orderly power off or not.
 90674  	//
 90675  	// Unset if
 90676  	// the virtual machine is running or suspended.
 90677  	CleanPowerOff *bool `xml:"cleanPowerOff" json:"cleanPowerOff,omitempty" vim:"4.0"`
 90678  	// If set, indicates the reason the virtual machine needs a secondary.
 90679  	NeedSecondaryReason string `xml:"needSecondaryReason,omitempty" json:"needSecondaryReason,omitempty" vim:"4.0"`
 90680  	// This property indicates whether the guest has gone into one of the
 90681  	// s1, s2 or s3 standby modes, false indicates the guest is awake.
 90682  	OnlineStandby *bool `xml:"onlineStandby" json:"onlineStandby,omitempty" vim:"5.1"`
 90683  	// For a powered-on or suspended virtual machine in a cluster with Enhanced
 90684  	// VMotion Compatibility (EVC) enabled, this identifies the least-featured
 90685  	// EVC mode (among those for the appropriate CPU vendor) that could admit
 90686  	// the virtual machine.
 90687  	//
 90688  	// See `EVCMode`. Until vSphere 6.5, this
 90689  	// property will be unset if the virtual machine is powered off or is not in
 90690  	// an EVC cluster.
 90691  	//
 90692  	// This property may be used as a general indicator of the CPU feature
 90693  	// baseline currently in use by the virtual machine. However, the virtual
 90694  	// machine may be suppressing some of the features present in the CPU
 90695  	// feature baseline of the indicated mode, either explicitly (in the
 90696  	// virtual machine's configured
 90697  	// `cpuFeatureMask`) or implicitly
 90698  	// (in the default masks for the
 90699  	// `GuestOsDescriptor` appropriate for the
 90700  	// virtual machine's configured guest OS).
 90701  	MinRequiredEVCModeKey string `xml:"minRequiredEVCModeKey,omitempty" json:"minRequiredEVCModeKey,omitempty" vim:"4.1"`
 90702  	// Whether any disk of the virtual machine requires consolidation.
 90703  	//
 90704  	// This can happen for example when a snapshot is deleted but its
 90705  	// associated disk is not committed back to the base disk.
 90706  	// Use `VirtualMachine.ConsolidateVMDisks_Task` to consolidate if
 90707  	// needed.
 90708  	ConsolidationNeeded *bool `xml:"consolidationNeeded" json:"consolidationNeeded,omitempty" vim:"5.0"`
 90709  	// These requirements must have equivalent host capabilities
 90710  	// `HostConfigInfo.featureCapability` in order to power on.
 90711  	OfflineFeatureRequirement []VirtualMachineFeatureRequirement `xml:"offlineFeatureRequirement,omitempty" json:"offlineFeatureRequirement,omitempty" vim:"5.1"`
 90712  	// These requirements must have equivalent host capabilities
 90713  	// `HostConfigInfo.featureCapability` in order to power on,
 90714  	// resume, or migrate to the host.
 90715  	FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty" json:"featureRequirement,omitempty" vim:"5.1"`
 90716  	// The masks applied to an individual virtual machine as a result of its
 90717  	// configuration.
 90718  	FeatureMask []HostFeatureMask `xml:"featureMask,omitempty" json:"featureMask,omitempty" vim:"5.1"`
 90719  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 90720  	// end of availability.
 90721  	//
 90722  	// Specifies the total allocated vFlash resource for the vFlash caches associated with VM's
 90723  	// VMDKs when VM is powered on, in bytes.
 90724  	VFlashCacheAllocation int64 `xml:"vFlashCacheAllocation,omitempty" json:"vFlashCacheAllocation,omitempty" vim:"5.5"`
 90725  	// Whether the virtual machine is paused, or not.
 90726  	Paused *bool `xml:"paused" json:"paused,omitempty" vim:"6.0"`
 90727  	// Whether a snapshot operation is in progress in the background, or not.
 90728  	SnapshotInBackground *bool `xml:"snapshotInBackground" json:"snapshotInBackground,omitempty" vim:"6.0"`
 90729  	// This flag indicates whether a parent virtual machine is in a fork ready
 90730  	// state.
 90731  	//
 90732  	// A persistent instant clone child can be created only when this flag
 90733  	// is true. While a non-persistent instant clone child can be created
 90734  	// independent of this flag, it can only be powered on if this flag is true.
 90735  	QuiescedForkParent *bool `xml:"quiescedForkParent" json:"quiescedForkParent,omitempty" vim:"6.0"`
 90736  	// Whether the virtual machine is frozen for instant clone, or not.
 90737  	InstantCloneFrozen *bool `xml:"instantCloneFrozen" json:"instantCloneFrozen,omitempty" vim:"6.7"`
 90738  	// Encryption state of the virtual machine.
 90739  	//
 90740  	// Valid values are enumerated by the
 90741  	// `CryptoState` type.
 90742  	CryptoState string `xml:"cryptoState,omitempty" json:"cryptoState,omitempty" vim:"6.7"`
 90743  	// Whether the virtual machine is suspended to memory, or not.
 90744  	SuspendedToMemory *bool `xml:"suspendedToMemory" json:"suspendedToMemory,omitempty" vim:"7.0.2.0"`
 90745  	// Operation notification timeout in seconds.
 90746  	//
 90747  	// Specifies the maximum time duration the application may take to
 90748  	// prepare for the operation after it has been notified.
 90749  	// This property is set only for powered on VMs.
 90750  	OpNotificationTimeout int64 `xml:"opNotificationTimeout,omitempty" json:"opNotificationTimeout,omitempty" vim:"8.0.0.1"`
 90751  	// Indicates whether there is active IOMMU domain in the current VM.
 90752  	IommuActive *bool `xml:"iommuActive" json:"iommuActive,omitempty" vim:"8.0.1.0"`
 90753  }
 90754  
 90755  func init() {
 90756  	t["VirtualMachineRuntimeInfo"] = reflect.TypeOf((*VirtualMachineRuntimeInfo)(nil)).Elem()
 90757  }
 90758  
 90759  // The `VirtualMachineRuntimeInfoDasProtectionState` object describes the
 90760  // vSphere HA protection state of a virtual machine (VM).
 90761  type VirtualMachineRuntimeInfoDasProtectionState struct {
 90762  	DynamicData
 90763  
 90764  	// Whether vSphere HA is protecting a virtual machine (VM).
 90765  	//
 90766  	// If a
 90767  	// VM is protected, vSphere HA will enforce any availability
 90768  	// features that have been enabled for this VM. For
 90769  	// example, if the VM is running on a host
 90770  	// that fails and the VM is configured to be restarted on a failure,
 90771  	// then vSphere HA will attempt to restart the VM on another host.
 90772  	// Similarly, if you enable VM/Application Health Monitoring
 90773  	// for this VM, vSphere HA will monitor the heartbeats of the
 90774  	// VM and reset the VM when needed, as dictated by the configured
 90775  	// policy settings.
 90776  	DasProtected bool `xml:"dasProtected" json:"dasProtected"`
 90777  }
 90778  
 90779  func init() {
 90780  	t["VirtualMachineRuntimeInfoDasProtectionState"] = reflect.TypeOf((*VirtualMachineRuntimeInfoDasProtectionState)(nil)).Elem()
 90781  	minAPIVersionForType["VirtualMachineRuntimeInfoDasProtectionState"] = "5.0"
 90782  }
 90783  
 90784  // The ScsiDiskDeviceInfo class contains detailed information about a specific
 90785  // scsi disk hardware device.
 90786  //
 90787  // These devices are for the
 90788  // vim.vm.device.VirtualDisk.RawDiskMappingVer1BackingInfo.
 90789  type VirtualMachineScsiDiskDeviceInfo struct {
 90790  	VirtualMachineDiskDeviceInfo
 90791  
 90792  	// Detailed information about the disk.
 90793  	Disk *HostScsiDisk `xml:"disk,omitempty" json:"disk,omitempty"`
 90794  	// Transport identifier hint used to identify the device.
 90795  	//
 90796  	// To definitively
 90797  	// correlate this device with a host physical disk, use the disk property.
 90798  	// This identifier is intended as a hint to end users to identify the
 90799  	// disk device.
 90800  	TransportHint string `xml:"transportHint,omitempty" json:"transportHint,omitempty" vim:"4.0"`
 90801  	// LUN number hint used to identify the SCSI device.
 90802  	//
 90803  	// To definitively
 90804  	// correlate this device with a host physical disk, use the disk property.
 90805  	// This identifier is intended as a hint to end users to identify the
 90806  	// disk device.
 90807  	LunNumber int32 `xml:"lunNumber,omitempty" json:"lunNumber,omitempty" vim:"4.0"`
 90808  }
 90809  
 90810  func init() {
 90811  	t["VirtualMachineScsiDiskDeviceInfo"] = reflect.TypeOf((*VirtualMachineScsiDiskDeviceInfo)(nil)).Elem()
 90812  }
 90813  
 90814  // Description of a generic SCSI device, including information about
 90815  // the device ID.
 90816  type VirtualMachineScsiPassthroughInfo struct {
 90817  	VirtualMachineTargetInfo
 90818  
 90819  	// The class of the generic SCSI device.
 90820  	ScsiClass string `xml:"scsiClass" json:"scsiClass"`
 90821  	// The vendor name.
 90822  	Vendor string `xml:"vendor" json:"vendor"`
 90823  	// Unit number of the generic device on the physical host.
 90824  	PhysicalUnitNumber int32 `xml:"physicalUnitNumber" json:"physicalUnitNumber"`
 90825  }
 90826  
 90827  func init() {
 90828  	t["VirtualMachineScsiPassthroughInfo"] = reflect.TypeOf((*VirtualMachineScsiPassthroughInfo)(nil)).Elem()
 90829  }
 90830  
 90831  // SerialInfo class contains information about a physical serial
 90832  // drive on the host.
 90833  type VirtualMachineSerialInfo struct {
 90834  	VirtualMachineTargetInfo
 90835  }
 90836  
 90837  func init() {
 90838  	t["VirtualMachineSerialInfo"] = reflect.TypeOf((*VirtualMachineSerialInfo)(nil)).Elem()
 90839  }
 90840  
 90841  // This data object describes the virtual software guard extension (vSGX)
 90842  // configuration of this virtual machine.
 90843  type VirtualMachineSgxInfo struct {
 90844  	DynamicData
 90845  
 90846  	// Size of vEPC, in megabytes.
 90847  	EpcSize int64 `xml:"epcSize" json:"epcSize"`
 90848  	// FLC mode for the virtual machine.
 90849  	//
 90850  	// The set of possible values are
 90851  	// described in `VirtualMachineSgxInfoFlcModes_enum`. If no value is specified,
 90852  	// then "unlocked" will be used.
 90853  	FlcMode string `xml:"flcMode,omitempty" json:"flcMode,omitempty"`
 90854  	// Public key hash of the provider launch enclave.
 90855  	//
 90856  	// This is the SHA256
 90857  	// digest of the SIGSTRUCT.MODULUS(MR\_SIGNER) of the provider launch
 90858  	// enclave. This hash must only be provided when the launch enclave mode is
 90859  	// "locked", for the other cases the hash is ignored.
 90860  	LePubKeyHash string `xml:"lePubKeyHash,omitempty" json:"lePubKeyHash,omitempty"`
 90861  	// Indicates whether or not a virtual machine requires remote
 90862  	// attestation.
 90863  	RequireAttestation *bool `xml:"requireAttestation" json:"requireAttestation,omitempty" vim:"8.0.0.1"`
 90864  }
 90865  
 90866  func init() {
 90867  	t["VirtualMachineSgxInfo"] = reflect.TypeOf((*VirtualMachineSgxInfo)(nil)).Elem()
 90868  	minAPIVersionForType["VirtualMachineSgxInfo"] = "7.0"
 90869  }
 90870  
 90871  // Description of Intel Software Guard Extensions information.
 90872  type VirtualMachineSgxTargetInfo struct {
 90873  	VirtualMachineTargetInfo
 90874  
 90875  	// Maximum size, in bytes, of EPC available on the compute resource.
 90876  	MaxEpcSize int64 `xml:"maxEpcSize" json:"maxEpcSize"`
 90877  	// FLC modes available in the compute resource.
 90878  	//
 90879  	// The set of possible values
 90880  	// are described in `VirtualMachineSgxInfoFlcModes_enum`.
 90881  	FlcModes []string `xml:"flcModes,omitempty" json:"flcModes,omitempty"`
 90882  	// Public key hashes of the provider launch enclaves available in the
 90883  	// compute resource.
 90884  	LePubKeyHashes []string `xml:"lePubKeyHashes,omitempty" json:"lePubKeyHashes,omitempty"`
 90885  	// Whether the host/cluster supports requiring SGX remote attestation.
 90886  	RequireAttestationSupported *bool `xml:"requireAttestationSupported" json:"requireAttestationSupported,omitempty" vim:"8.0.0.1"`
 90887  }
 90888  
 90889  func init() {
 90890  	t["VirtualMachineSgxTargetInfo"] = reflect.TypeOf((*VirtualMachineSgxTargetInfo)(nil)).Elem()
 90891  	minAPIVersionForType["VirtualMachineSgxTargetInfo"] = "7.0"
 90892  }
 90893  
 90894  // The SnapshotInfo data object type provides all the information about the
 90895  // hierarchy of snapshots in a virtual machine.
 90896  type VirtualMachineSnapshotInfo struct {
 90897  	DynamicData
 90898  
 90899  	// Current snapshot of the virtual machine
 90900  	//
 90901  	// This property is set by calling
 90902  	// `Snapshot.revert` or
 90903  	// `VirtualMachine.createSnapshot`.
 90904  	// This property will be empty when the working snapshot is at the root
 90905  	// of the snapshot tree.
 90906  	//
 90907  	// Refers instance of `VirtualMachineSnapshot`.
 90908  	CurrentSnapshot *ManagedObjectReference `xml:"currentSnapshot,omitempty" json:"currentSnapshot,omitempty"`
 90909  	// Data for the entire set of snapshots for one virtual machine.
 90910  	RootSnapshotList []VirtualMachineSnapshotTree `xml:"rootSnapshotList" json:"rootSnapshotList"`
 90911  }
 90912  
 90913  func init() {
 90914  	t["VirtualMachineSnapshotInfo"] = reflect.TypeOf((*VirtualMachineSnapshotInfo)(nil)).Elem()
 90915  }
 90916  
 90917  // SnapshotTree encapsulates all the read-only data produced by the snapshot.
 90918  type VirtualMachineSnapshotTree struct {
 90919  	DynamicData
 90920  
 90921  	// The managed object for this snapshot.
 90922  	//
 90923  	// Refers instance of `VirtualMachineSnapshot`.
 90924  	Snapshot ManagedObjectReference `xml:"snapshot" json:"snapshot"`
 90925  	// The virtual machine for which the snapshot was taken.
 90926  	//
 90927  	// Refers instance of `VirtualMachine`.
 90928  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 90929  	// Name of the snapshot.
 90930  	Name string `xml:"name" json:"name"`
 90931  	// Description of the snapshot.
 90932  	Description string `xml:"description" json:"description"`
 90933  	// The unique identifier that distinguishes this snapshot from
 90934  	// other snapshots of the virtual machine.
 90935  	Id int32 `xml:"id,omitempty" json:"id,omitempty" vim:"4.0"`
 90936  	// The date and time the snapshot was taken.
 90937  	CreateTime time.Time `xml:"createTime" json:"createTime"`
 90938  	// The power state of the virtual machine when this snapshot was taken.
 90939  	State VirtualMachinePowerState `xml:"state" json:"state"`
 90940  	// Flag to indicate whether or not the snapshot was created with
 90941  	// the "quiesce" option, ensuring a consistent state of the file system.
 90942  	Quiesced bool `xml:"quiesced" json:"quiesced"`
 90943  	// The relative path from the snapshotDirectory pointing to the backup
 90944  	// manifest.
 90945  	//
 90946  	// Available for certain quiesced snapshots only.
 90947  	BackupManifest string `xml:"backupManifest,omitempty" json:"backupManifest,omitempty" vim:"2.5 U2"`
 90948  	// The snapshot data for all snapshots for which this snapshot is the parent.
 90949  	ChildSnapshotList []VirtualMachineSnapshotTree `xml:"childSnapshotList,omitempty" json:"childSnapshotList,omitempty"`
 90950  	// Deprecated as of vSphere API 6.0.
 90951  	//
 90952  	// Flag to indicate whether this snapshot is associated with a recording
 90953  	// session on the virtual machine that can be replayed.
 90954  	ReplaySupported *bool `xml:"replaySupported" json:"replaySupported,omitempty" vim:"4.0"`
 90955  }
 90956  
 90957  func init() {
 90958  	t["VirtualMachineSnapshotTree"] = reflect.TypeOf((*VirtualMachineSnapshotTree)(nil)).Elem()
 90959  }
 90960  
 90961  // SoundInfo class contains information about a physical sound
 90962  // card on the host.
 90963  type VirtualMachineSoundInfo struct {
 90964  	VirtualMachineTargetInfo
 90965  }
 90966  
 90967  func init() {
 90968  	t["VirtualMachineSoundInfo"] = reflect.TypeOf((*VirtualMachineSoundInfo)(nil)).Elem()
 90969  	minAPIVersionForType["VirtualMachineSoundInfo"] = "2.5"
 90970  }
 90971  
 90972  type VirtualMachineSriovDevicePoolInfo struct {
 90973  	DynamicData
 90974  
 90975  	// To be used for extending to other device types
 90976  	Key string `xml:"key" json:"key"`
 90977  }
 90978  
 90979  func init() {
 90980  	t["VirtualMachineSriovDevicePoolInfo"] = reflect.TypeOf((*VirtualMachineSriovDevicePoolInfo)(nil)).Elem()
 90981  }
 90982  
 90983  // Description of a SRIOV device that can be attached to a virtual machine.
 90984  type VirtualMachineSriovInfo struct {
 90985  	VirtualMachinePciPassthroughInfo
 90986  
 90987  	// Indicates whether corresponding PCI device is a virtual function
 90988  	// instantiated by a SR-IOV capable device.
 90989  	VirtualFunction bool `xml:"virtualFunction" json:"virtualFunction"`
 90990  	// The name of the physical nic that is represented by a SR-IOV
 90991  	// capable physical function.
 90992  	Pnic string `xml:"pnic,omitempty" json:"pnic,omitempty"`
 90993  	// SRIOV DevicePool information
 90994  	DevicePool BaseVirtualMachineSriovDevicePoolInfo `xml:"devicePool,omitempty,typeattr" json:"devicePool,omitempty" vim:"6.5"`
 90995  }
 90996  
 90997  func init() {
 90998  	t["VirtualMachineSriovInfo"] = reflect.TypeOf((*VirtualMachineSriovInfo)(nil)).Elem()
 90999  	minAPIVersionForType["VirtualMachineSriovInfo"] = "5.5"
 91000  }
 91001  
 91002  // This class is networking specific SR-IOV device pool info
 91003  type VirtualMachineSriovNetworkDevicePoolInfo struct {
 91004  	VirtualMachineSriovDevicePoolInfo
 91005  
 91006  	// vSwitch key
 91007  	SwitchKey string `xml:"switchKey,omitempty" json:"switchKey,omitempty"`
 91008  	// DVSwitch Uuid
 91009  	SwitchUuid string `xml:"switchUuid,omitempty" json:"switchUuid,omitempty"`
 91010  }
 91011  
 91012  func init() {
 91013  	t["VirtualMachineSriovNetworkDevicePoolInfo"] = reflect.TypeOf((*VirtualMachineSriovNetworkDevicePoolInfo)(nil)).Elem()
 91014  	minAPIVersionForType["VirtualMachineSriovNetworkDevicePoolInfo"] = "6.5"
 91015  }
 91016  
 91017  // Information about the amount of storage used by a virtual machine across
 91018  // datastores that it is located on.
 91019  type VirtualMachineStorageInfo struct {
 91020  	DynamicData
 91021  
 91022  	// Storage space used by this virtual machine on all datastores that it
 91023  	// is located on.
 91024  	//
 91025  	// Total storage space committed to this virtual machine across all datastores is
 91026  	// simply an aggregate of the property
 91027  	// `VirtualMachineUsageOnDatastore.committed`.
 91028  	//
 91029  	// See also `VirtualMachineStorageSummary.committed`.
 91030  	PerDatastoreUsage []VirtualMachineUsageOnDatastore `xml:"perDatastoreUsage,omitempty" json:"perDatastoreUsage,omitempty"`
 91031  	// Time when values in this structure were last updated.
 91032  	Timestamp time.Time `xml:"timestamp" json:"timestamp"`
 91033  }
 91034  
 91035  func init() {
 91036  	t["VirtualMachineStorageInfo"] = reflect.TypeOf((*VirtualMachineStorageInfo)(nil)).Elem()
 91037  	minAPIVersionForType["VirtualMachineStorageInfo"] = "4.0"
 91038  }
 91039  
 91040  // A subset of the storage information of this virtual machine.
 91041  //
 91042  // See `VirtualMachineStorageInfo` for a detailed storage break-up.
 91043  type VirtualMachineStorageSummary struct {
 91044  	DynamicData
 91045  
 91046  	// Total storage space, in bytes, committed to this virtual machine across
 91047  	// all datastores.
 91048  	//
 91049  	// Essentially an aggregate of the property
 91050  	// `VirtualMachineUsageOnDatastore.committed` across all
 91051  	// datastores that this virtual machine is located on.
 91052  	Committed int64 `xml:"committed" json:"committed"`
 91053  	// Additional storage space, in bytes, potentially used by this virtual machine
 91054  	// on all datastores.
 91055  	//
 91056  	// Essentially an aggregate of the property
 91057  	// `VirtualMachineUsageOnDatastore.uncommitted` across all
 91058  	// datastores that this virtual machine is located on.
 91059  	Uncommitted int64 `xml:"uncommitted" json:"uncommitted"`
 91060  	// Total storage space, in bytes, occupied by the virtual machine across
 91061  	// all datastores, that is not shared with any other virtual machine.
 91062  	Unshared int64 `xml:"unshared" json:"unshared"`
 91063  	// Time when values in this structure were last updated.
 91064  	Timestamp time.Time `xml:"timestamp" json:"timestamp"`
 91065  }
 91066  
 91067  func init() {
 91068  	t["VirtualMachineStorageSummary"] = reflect.TypeOf((*VirtualMachineStorageSummary)(nil)).Elem()
 91069  	minAPIVersionForType["VirtualMachineStorageSummary"] = "4.0"
 91070  }
 91071  
 91072  // The summary data object type encapsulates a typical set of virtual machine
 91073  // information that is useful for list views and summary pages.
 91074  //
 91075  // VirtualCenter can retrieve this information very efficiently,
 91076  // even for large sets of virtual machines.
 91077  type VirtualMachineSummary struct {
 91078  	DynamicData
 91079  
 91080  	// Reference to the virtual machine managed object.
 91081  	//
 91082  	// Refers instance of `VirtualMachine`.
 91083  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 91084  	// Runtime and state information of a running virtual machine.
 91085  	//
 91086  	// Most of this information is also available when a virtual machine is powered off.
 91087  	// In that case, it contains information from the last run, if available.
 91088  	Runtime VirtualMachineRuntimeInfo `xml:"runtime" json:"runtime"`
 91089  	// Guest operating system and VMware Tools information.
 91090  	//
 91091  	// See `VirtualMachine.guest` for more information.
 91092  	Guest *VirtualMachineGuestSummary `xml:"guest,omitempty" json:"guest,omitempty"`
 91093  	// Basic configuration information about the virtual machine.
 91094  	//
 91095  	// This information
 91096  	// is not available when the virtual machine is unavailable, for instance, when
 91097  	// it is being created or deleted.
 91098  	Config VirtualMachineConfigSummary `xml:"config" json:"config"`
 91099  	// Storage information of the virtual machine.
 91100  	//
 91101  	// It can be explicitly refreshed
 91102  	// with the `VirtualMachine.RefreshStorageInfo` operation.
 91103  	// In releases after vSphere API 5.0, vSphere Servers might not
 91104  	// generate property collector update notifications for this property.
 91105  	// To obtain the latest value of the property, you can use
 91106  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 91107  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 91108  	// an empty string for the version parameter.
 91109  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 91110  	// contain values for this property when some other property on the DataObject changes.
 91111  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 91112  	// version parameter, the value for this property may not be current.
 91113  	Storage *VirtualMachineStorageSummary `xml:"storage,omitempty" json:"storage,omitempty" vim:"4.0"`
 91114  	// A set of statistics that are typically updated with near real-time regularity.
 91115  	//
 91116  	// This data object type does not support notification, for scalability reasons.
 91117  	// Therefore, changes in QuickStats do not generate property collector updates. To
 91118  	// monitor statistics values, use the statistics and alarms modules instead.
 91119  	QuickStats VirtualMachineQuickStats `xml:"quickStats" json:"quickStats"`
 91120  	// Overall alarm status on this node.
 91121  	//
 91122  	// In releases after vSphere API 5.0, vSphere Servers might not
 91123  	// generate property collector update notifications for this property.
 91124  	// To obtain the latest value of the property, you can use
 91125  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 91126  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 91127  	// an empty string for the version parameter.
 91128  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 91129  	// contain values for this property when some other property on the DataObject changes.
 91130  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 91131  	// version parameter, the value for this property may not be current.
 91132  	OverallStatus ManagedEntityStatus `xml:"overallStatus" json:"overallStatus"`
 91133  	// Custom field values.
 91134  	CustomValue []BaseCustomFieldValue `xml:"customValue,omitempty,typeattr" json:"customValue,omitempty"`
 91135  }
 91136  
 91137  func init() {
 91138  	t["VirtualMachineSummary"] = reflect.TypeOf((*VirtualMachineSummary)(nil)).Elem()
 91139  }
 91140  
 91141  // The TargetInfo specified a value that can be used in the device backings to
 91142  // connect the virtual machine to a physical (or logical) host device.
 91143  type VirtualMachineTargetInfo struct {
 91144  	DynamicData
 91145  
 91146  	// The identification of the endpoint on the host.
 91147  	//
 91148  	// The format of this depends
 91149  	// on the kind of virtual device this endpoints is used for. For example,
 91150  	// for a VirtualEthernetCard this would be a networkname, and for a VirtualCDROM
 91151  	// it would be a device name.
 91152  	Name string `xml:"name" json:"name"`
 91153  	// List of configurations that this device is available for.
 91154  	//
 91155  	// This is only filled
 91156  	// out if more than one configuration is requested.
 91157  	ConfigurationTag []string `xml:"configurationTag,omitempty" json:"configurationTag,omitempty"`
 91158  }
 91159  
 91160  func init() {
 91161  	t["VirtualMachineTargetInfo"] = reflect.TypeOf((*VirtualMachineTargetInfo)(nil)).Elem()
 91162  }
 91163  
 91164  // This data object contains the information needed to establish a
 91165  // connection to a running virtual machine.
 91166  type VirtualMachineTicket struct {
 91167  	DynamicData
 91168  
 91169  	// The ticket name.
 91170  	//
 91171  	// This is used as the username and password for the MKS
 91172  	// connection.
 91173  	Ticket string `xml:"ticket" json:"ticket"`
 91174  	// The name of the configuration file for the virtual machine.
 91175  	CfgFile string `xml:"cfgFile" json:"cfgFile"`
 91176  	// The host with which to establish a connection.
 91177  	//
 91178  	// If the host is not specified,
 91179  	// it is assumed that the requesting entity knows the appropriate host with which
 91180  	// to connect.
 91181  	Host string `xml:"host,omitempty" json:"host,omitempty"`
 91182  	// The port number to use.
 91183  	//
 91184  	// If the port is not specified,
 91185  	// it is assumed that the requesting entity knows the appropriate port to
 91186  	// use when making a new connection.
 91187  	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
 91188  	// The expected SHA1 thumbprint of the SSL cert of the host to which we
 91189  	// are connecting.
 91190  	//
 91191  	// This field can be enabled or disabled on the host.
 91192  	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty"`
 91193  	// List of expected thumbprints of the certificate of the host to
 91194  	// which we are connecting.
 91195  	//
 91196  	// The list can be configured on the host
 91197  	// to include only certain hash types. The default configuration
 91198  	// includes all hash types that are considered secure. See vmware.com
 91199  	// for the current security standards.
 91200  	CertThumbprintList []VirtualMachineCertThumbprint `xml:"certThumbprintList,omitempty" json:"certThumbprintList,omitempty" vim:"7.0.3.1"`
 91201  	// Websocket URL.
 91202  	//
 91203  	// Some tickets are "websocket" tickets and are best expressed
 91204  	// as a URL.
 91205  	Url string `xml:"url,omitempty" json:"url,omitempty" vim:"7.0"`
 91206  }
 91207  
 91208  func init() {
 91209  	t["VirtualMachineTicket"] = reflect.TypeOf((*VirtualMachineTicket)(nil)).Elem()
 91210  	minAPIVersionForType["VirtualMachineTicket"] = "4.1"
 91211  }
 91212  
 91213  // Storage space used by this virtual machine on a particular datastore.
 91214  type VirtualMachineUsageOnDatastore struct {
 91215  	DynamicData
 91216  
 91217  	// Reference to datastore for which information is being provided.
 91218  	//
 91219  	// Refers instance of `Datastore`.
 91220  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 91221  	// Storage space, in bytes, on this datastore that is actually being used by
 91222  	// the virtual machine.
 91223  	//
 91224  	// It includes space actually occupied by disks, logs, snapshots,
 91225  	// configuration files etc. Files of the virtual machine which are present
 91226  	// on a different datastore (e.g. a virtual disk on another datastore) are not
 91227  	// included here. `VirtualMachineFileLayoutEx` provides a detailed
 91228  	// break-up of the committed space.
 91229  	Committed int64 `xml:"committed" json:"committed"`
 91230  	// Additional storage space, in bytes, potentially used by the virtual machine
 91231  	// on this datastore.
 91232  	//
 91233  	// Additional space may be needed for example when lazily allocated disks grow,
 91234  	// or storage for swap is allocated when powering on the virtual machine.
 91235  	//
 91236  	// If the virtual machine is running off delta disks (for example because
 91237  	// a snapshot was taken), then only the potential growth of the currently
 91238  	// used delta-disks is considered.
 91239  	Uncommitted int64 `xml:"uncommitted" json:"uncommitted"`
 91240  	// Storage space, in bytes, occupied by the virtual machine on this datastore
 91241  	// that is not shared with any other virtual machine.
 91242  	Unshared int64 `xml:"unshared" json:"unshared"`
 91243  }
 91244  
 91245  func init() {
 91246  	t["VirtualMachineUsageOnDatastore"] = reflect.TypeOf((*VirtualMachineUsageOnDatastore)(nil)).Elem()
 91247  	minAPIVersionForType["VirtualMachineUsageOnDatastore"] = "4.0"
 91248  }
 91249  
 91250  // This data object contains information about a physical USB device
 91251  // on the host.
 91252  type VirtualMachineUsbInfo struct {
 91253  	VirtualMachineTargetInfo
 91254  
 91255  	// A user visible name of the USB device.
 91256  	Description string `xml:"description" json:"description"`
 91257  	// The vendor ID of the USB device.
 91258  	Vendor int32 `xml:"vendor" json:"vendor"`
 91259  	// The product ID of the USB device.
 91260  	Product int32 `xml:"product" json:"product"`
 91261  	// An autoconnect pattern which describes the device's physical
 91262  	// path.
 91263  	//
 91264  	// This is the path to the specific port on the host where the
 91265  	// USB device is attached.
 91266  	PhysicalPath string `xml:"physicalPath" json:"physicalPath"`
 91267  	// The device class families.
 91268  	//
 91269  	// For possible values see
 91270  	// `VirtualMachineUsbInfoFamily_enum`
 91271  	Family []string `xml:"family,omitempty" json:"family,omitempty"`
 91272  	// The possible device speeds detected by server.
 91273  	//
 91274  	// For possible values see
 91275  	// `VirtualMachineUsbInfoSpeed_enum`
 91276  	Speed []string `xml:"speed,omitempty" json:"speed,omitempty"`
 91277  	// Summary information about the virtual machine that is currently
 91278  	// using this device, if any.
 91279  	Summary *VirtualMachineSummary `xml:"summary,omitempty" json:"summary,omitempty"`
 91280  }
 91281  
 91282  func init() {
 91283  	t["VirtualMachineUsbInfo"] = reflect.TypeOf((*VirtualMachineUsbInfo)(nil)).Elem()
 91284  	minAPIVersionForType["VirtualMachineUsbInfo"] = "2.5"
 91285  }
 91286  
 91287  // VFlashModuleInfo class contains information about a vFlash module
 91288  // on the host.
 91289  type VirtualMachineVFlashModuleInfo struct {
 91290  	VirtualMachineTargetInfo
 91291  
 91292  	// Information about the vFlash module
 91293  	VFlashModule HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption `xml:"vFlashModule" json:"vFlashModule"`
 91294  }
 91295  
 91296  func init() {
 91297  	t["VirtualMachineVFlashModuleInfo"] = reflect.TypeOf((*VirtualMachineVFlashModuleInfo)(nil)).Elem()
 91298  	minAPIVersionForType["VirtualMachineVFlashModuleInfo"] = "5.5"
 91299  }
 91300  
 91301  // The `VirtualMachineVMCIDevice` data object represents
 91302  // a virtual communication device that supports the VMCI
 91303  // (Virtual Machine Communication Interface).
 91304  //
 91305  // Each virtual machine has a VMCI device that handles
 91306  // interprocess socket-based communication.
 91307  // VMCI device information is available in the virtual machine
 91308  // hardware device list
 91309  // (`VirtualMachine*.*VirtualMachine.config*.*VirtualMachineConfigInfo.hardware*.*VirtualHardware.device`\[\]).
 91310  //
 91311  // An application running on a virtual machine uses the VMCI Sockets API
 91312  // for communication with other virtual machines on the same host
 91313  // (communication between virtual machines is not supported on vSphere
 91314  // 5.1 and later platforms as described for
 91315  // VirtualVMCIDevice.`VirtualMachineVMCIDevice.allowUnrestrictedCommunication`),
 91316  // or for communication with the host.
 91317  // For information about using the vSphere VMCI Sockets API,
 91318  // see the _VMCI Sockets Programming Guide_.
 91319  type VirtualMachineVMCIDevice struct {
 91320  	VirtualDevice
 91321  
 91322  	// Unique identifier for VMCI socket access to this virtual machine.
 91323  	//
 91324  	// Use this value to identify this virtual machine in calls to the
 91325  	// VMCI Sockets API. Applications running on other virtual machines on this
 91326  	// host will use this value to connect to this virtual machine.
 91327  	// You can cast this value to a 32-bit unsigned integer.
 91328  	//
 91329  	// The vSphere Server sets this value when a virtual machine
 91330  	// powers on. The Server may change this value after power
 91331  	// operations such as vMotion or restoring a virtual machine
 91332  	// from a snapshot. If you have saved a VMCI device identifier,
 91333  	// check to see if the value is still valid after power
 91334  	// operations.
 91335  	Id int64 `xml:"id,omitempty" json:"id,omitempty"`
 91336  	// Deprecated as of vSphere API 5.1. On vSphere 5.1 and later
 91337  	// platforms, the VMCI device does not support communication with
 91338  	// other virtual machines. Therefore, this property has no effect
 91339  	// on these platforms.
 91340  	//
 91341  	// Determines the extent of VMCI communication with this virtual
 91342  	// machine.
 91343  	//
 91344  	// Set this property to true to allow VMCI communication
 91345  	// with all virtual machines on the host and with trusted services.
 91346  	// Set this property to false to allow VMCI communication only
 91347  	// with trusted services such as the hypervisor on the host.
 91348  	//
 91349  	// If unset, communication is restricted to trusted services only.
 91350  	AllowUnrestrictedCommunication *bool `xml:"allowUnrestrictedCommunication" json:"allowUnrestrictedCommunication,omitempty"`
 91351  	// Determines if filtering of VMCI communication is enabled for this virtual
 91352  	// machine.
 91353  	//
 91354  	// Set this property to enable or disable filter rules as specified
 91355  	// in `VirtualMachineVMCIDevice.filterInfo`.
 91356  	FilterEnable *bool `xml:"filterEnable" json:"filterEnable,omitempty" vim:"6.0"`
 91357  	// Specify a `VirtualMachineVMCIDeviceFilterInfo` data object that controls the extent of
 91358  	// VMCI communication with this virtual machine.
 91359  	FilterInfo *VirtualMachineVMCIDeviceFilterInfo `xml:"filterInfo,omitempty" json:"filterInfo,omitempty" vim:"6.0"`
 91360  }
 91361  
 91362  func init() {
 91363  	t["VirtualMachineVMCIDevice"] = reflect.TypeOf((*VirtualMachineVMCIDevice)(nil)).Elem()
 91364  	minAPIVersionForType["VirtualMachineVMCIDevice"] = "2.5 U2"
 91365  }
 91366  
 91367  // The `VirtualMachineVMCIDeviceFilterInfo` data object contains an array of filters.
 91368  //
 91369  // To
 91370  // clear all existing filters, leave filters unset or specify an empty
 91371  // array.
 91372  type VirtualMachineVMCIDeviceFilterInfo struct {
 91373  	DynamicData
 91374  
 91375  	Filters []VirtualMachineVMCIDeviceFilterSpec `xml:"filters,omitempty" json:"filters,omitempty"`
 91376  }
 91377  
 91378  func init() {
 91379  	t["VirtualMachineVMCIDeviceFilterInfo"] = reflect.TypeOf((*VirtualMachineVMCIDeviceFilterInfo)(nil)).Elem()
 91380  	minAPIVersionForType["VirtualMachineVMCIDeviceFilterInfo"] = "6.0"
 91381  }
 91382  
 91383  // The `VirtualMachineVMCIDeviceFilterSpec` data object describes a filter based on protocol,
 91384  // direction and port or port-range.
 91385  type VirtualMachineVMCIDeviceFilterSpec struct {
 91386  	DynamicData
 91387  
 91388  	// Long value representing filter rank.
 91389  	//
 91390  	// This is the rank of this filter. Filters are guaranteed to be
 91391  	// processed in ascending rank order, that is, if rank1 &lt; rank2, then
 91392  	// rank1 is processed before rank2. The ranks within an array of
 91393  	// filters should be unique.
 91394  	Rank int64 `xml:"rank" json:"rank"`
 91395  	// String value from `VirtualMachineVMCIDeviceAction_enum` enum object.
 91396  	Action string `xml:"action" json:"action"`
 91397  	// String value from `VirtualMachineVMCIDeviceProtocol_enum` enum object
 91398  	Protocol string `xml:"protocol" json:"protocol"`
 91399  	// String value from `VirtualMachineVMCIDeviceDirection_enum` enum object.
 91400  	Direction string `xml:"direction" json:"direction"`
 91401  	// Long value representing the lower destination port boundary.
 91402  	//
 91403  	// If unset, the lower destination port boundary is default to the
 91404  	// lowest port number supported by the given protocol.
 91405  	//
 91406  	// To specify a single port, both lowerDstPortBoundary and
 91407  	// upperDstPortBoundary shall be set to the same value.
 91408  	LowerDstPortBoundary int64 `xml:"lowerDstPortBoundary,omitempty" json:"lowerDstPortBoundary,omitempty"`
 91409  	// Long value representing the upper destination port range.
 91410  	//
 91411  	// If unset, the upper destination port boundary is default to the
 91412  	// highest port number supported by the given protocol.
 91413  	//
 91414  	// To specify a single port, both lowerDstPortBoundary and
 91415  	// upperDstPortBoundary shall be set to the same value.
 91416  	UpperDstPortBoundary int64 `xml:"upperDstPortBoundary,omitempty" json:"upperDstPortBoundary,omitempty"`
 91417  }
 91418  
 91419  func init() {
 91420  	t["VirtualMachineVMCIDeviceFilterSpec"] = reflect.TypeOf((*VirtualMachineVMCIDeviceFilterSpec)(nil)).Elem()
 91421  	minAPIVersionForType["VirtualMachineVMCIDeviceFilterSpec"] = "6.0"
 91422  }
 91423  
 91424  // The `VirtualMachineVMCIDeviceOption` data object contains the options
 91425  // for the virtual VMCI device (`VirtualMachineVMCIDevice`).
 91426  type VirtualMachineVMCIDeviceOption struct {
 91427  	VirtualDeviceOption
 91428  
 91429  	// Indicates support for VMCI communication and specifies the default
 91430  	// operation.
 91431  	//
 91432  	// If `BoolOption.defaultValue` is set to true,
 91433  	// the virtual machine can participate in VMCI communication with all other
 91434  	// virtual machines on the host. Otherwise, VMCI communication will be
 91435  	// restricted to trusted services such as the hypervisor on the host.
 91436  	// On vSphere 5.1 and later platforms, the VMCI device does not support
 91437  	// communication with other virtual machines. Therefore, this property has
 91438  	// no effect on these platforms.
 91439  	AllowUnrestrictedCommunication BoolOption `xml:"allowUnrestrictedCommunication" json:"allowUnrestrictedCommunication"`
 91440  	// Filter specification options.
 91441  	FilterSpecOption *VirtualMachineVMCIDeviceOptionFilterSpecOption `xml:"filterSpecOption,omitempty" json:"filterSpecOption,omitempty" vim:"6.0"`
 91442  	// Indicates support for VMCI firewall filters and specifies the default
 91443  	// operation.
 91444  	//
 91445  	// If `BoolOption.supported` is set to true,
 91446  	// then firewall filtering can be used for this virtual machine to allow
 91447  	// or deny traffic over VMCI.
 91448  	FilterSupported *BoolOption `xml:"filterSupported,omitempty" json:"filterSupported,omitempty" vim:"6.0"`
 91449  }
 91450  
 91451  func init() {
 91452  	t["VirtualMachineVMCIDeviceOption"] = reflect.TypeOf((*VirtualMachineVMCIDeviceOption)(nil)).Elem()
 91453  	minAPIVersionForType["VirtualMachineVMCIDeviceOption"] = "2.5 U2"
 91454  }
 91455  
 91456  // Filter specification options.
 91457  //
 91458  // Indicates options for each filter
 91459  // specification, as defined by
 91460  // `VirtualMachineVMCIDeviceFilterSpec`.
 91461  type VirtualMachineVMCIDeviceOptionFilterSpecOption struct {
 91462  	DynamicData
 91463  
 91464  	// Available actions.
 91465  	Action ChoiceOption `xml:"action" json:"action"`
 91466  	// Available protocols.
 91467  	Protocol ChoiceOption `xml:"protocol" json:"protocol"`
 91468  	// Available directions.
 91469  	Direction ChoiceOption `xml:"direction" json:"direction"`
 91470  	// Minimum, maximum and default values for lower destination port
 91471  	// boundary.
 91472  	LowerDstPortBoundary LongOption `xml:"lowerDstPortBoundary" json:"lowerDstPortBoundary"`
 91473  	// Minimum, maximum and default values for upper destination port
 91474  	// boundary.
 91475  	UpperDstPortBoundary LongOption `xml:"upperDstPortBoundary" json:"upperDstPortBoundary"`
 91476  }
 91477  
 91478  func init() {
 91479  	t["VirtualMachineVMCIDeviceOptionFilterSpecOption"] = reflect.TypeOf((*VirtualMachineVMCIDeviceOptionFilterSpecOption)(nil)).Elem()
 91480  	minAPIVersionForType["VirtualMachineVMCIDeviceOptionFilterSpecOption"] = "6.0"
 91481  }
 91482  
 91483  // Deprecated as of vSphere API 6.0. On vSphere 6.0 and later
 91484  // platforms, the VMIROM device does not provide any functionality.
 91485  //
 91486  // The VirtualVMIROM data object type represents the ROM on the
 91487  // virtual machine's PCI bus that provides support for VMI.
 91488  type VirtualMachineVMIROM struct {
 91489  	VirtualDevice
 91490  }
 91491  
 91492  func init() {
 91493  	t["VirtualMachineVMIROM"] = reflect.TypeOf((*VirtualMachineVMIROM)(nil)).Elem()
 91494  	minAPIVersionForType["VirtualMachineVMIROM"] = "2.5"
 91495  }
 91496  
 91497  // Description of VMotion Stun Time.
 91498  type VirtualMachineVMotionStunTimeInfo struct {
 91499  	VirtualMachineTargetInfo
 91500  
 91501  	// Migration bandwidth in Mbps
 91502  	MigrationBW int64 `xml:"migrationBW" json:"migrationBW"`
 91503  	// Stun Time in seconds
 91504  	StunTime int64 `xml:"stunTime" json:"stunTime"`
 91505  }
 91506  
 91507  func init() {
 91508  	t["VirtualMachineVMotionStunTimeInfo"] = reflect.TypeOf((*VirtualMachineVMotionStunTimeInfo)(nil)).Elem()
 91509  	minAPIVersionForType["VirtualMachineVMotionStunTimeInfo"] = "8.0.2.0"
 91510  }
 91511  
 91512  // Vcpu configuration.
 91513  type VirtualMachineVcpuConfig struct {
 91514  	DynamicData
 91515  
 91516  	// Latency sensitivity specification for this vcpu.
 91517  	//
 91518  	// The latency sensitivity can be configured per-vcpu only when the VM
 91519  	// `latencySensitivity` is
 91520  	// configured to `high`
 91521  	// in the same ConfigSpec.
 91522  	// Setting `latencySensitivity`,
 91523  	// but not setting the vcpu's LatencySensitivity would apply the VM's
 91524  	// latency sensitivity level to all the vcpus of the VM.
 91525  	// The latency sensitivity of the vcpu should not exceed the
 91526  	// latency sensivity level of the VM.
 91527  	// The only allowed levels for vcpu Latency sensitivity
 91528  	// are `high` or
 91529  	// `normal`
 91530  	LatencySensitivity *LatencySensitivity `xml:"latencySensitivity,omitempty" json:"latencySensitivity,omitempty"`
 91531  }
 91532  
 91533  func init() {
 91534  	t["VirtualMachineVcpuConfig"] = reflect.TypeOf((*VirtualMachineVcpuConfig)(nil)).Elem()
 91535  	minAPIVersionForType["VirtualMachineVcpuConfig"] = "7.0"
 91536  }
 91537  
 91538  // Description of a PCI vendor device group device.
 91539  type VirtualMachineVendorDeviceGroupInfo struct {
 91540  	VirtualMachineTargetInfo
 91541  
 91542  	// Name of Vendor Device Group.
 91543  	DeviceGroupName string `xml:"deviceGroupName" json:"deviceGroupName"`
 91544  	// Description of Vendor Device Group.
 91545  	DeviceGroupDescription string `xml:"deviceGroupDescription,omitempty" json:"deviceGroupDescription,omitempty"`
 91546  	// Array describing component devices of this Vendor Device Group.
 91547  	//
 91548  	// There is one entry per componentDevice in the deviceGroupSpec.
 91549  	ComponentDeviceInfo []VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo `xml:"componentDeviceInfo,omitempty" json:"componentDeviceInfo,omitempty"`
 91550  }
 91551  
 91552  func init() {
 91553  	t["VirtualMachineVendorDeviceGroupInfo"] = reflect.TypeOf((*VirtualMachineVendorDeviceGroupInfo)(nil)).Elem()
 91554  	minAPIVersionForType["VirtualMachineVendorDeviceGroupInfo"] = "8.0.0.1"
 91555  }
 91556  
 91557  // Class describing a component device within this vendor device group.
 91558  type VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo struct {
 91559  	DynamicData
 91560  
 91561  	// Type of this component.
 91562  	//
 91563  	// See `VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType_enum` for supported types.
 91564  	Type string `xml:"type" json:"type"`
 91565  	// Name of component device vendor.
 91566  	VendorName string `xml:"vendorName" json:"vendorName"`
 91567  	// Name of component device.
 91568  	DeviceName string `xml:"deviceName" json:"deviceName"`
 91569  	// True if this device may be configured by user or UI.
 91570  	IsConfigurable bool `xml:"isConfigurable" json:"isConfigurable"`
 91571  	// VirtualDevice template for this device.
 91572  	Device BaseVirtualDevice `xml:"device,typeattr" json:"device"`
 91573  }
 91574  
 91575  func init() {
 91576  	t["VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo"] = reflect.TypeOf((*VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo)(nil)).Elem()
 91577  	minAPIVersionForType["VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo"] = "8.0.0.1"
 91578  }
 91579  
 91580  // Description of PCI vGPU device and its capabilities.
 91581  type VirtualMachineVgpuDeviceInfo struct {
 91582  	VirtualMachineTargetInfo
 91583  
 91584  	// The vGPU device name.
 91585  	DeviceName string `xml:"deviceName" json:"deviceName"`
 91586  	// A well-known unique identifier for the device.
 91587  	//
 91588  	// It concatenates the
 91589  	// 16-bit PCI vendor id in lower bits followed by 16-bit PCI device id.
 91590  	DeviceVendorId int64 `xml:"deviceVendorId" json:"deviceVendorId"`
 91591  	// The maximum framebuffer size in gibibytes.
 91592  	MaxFbSizeInGib int64 `xml:"maxFbSizeInGib" json:"maxFbSizeInGib"`
 91593  	// Indicate whether device is time-sliced capable.
 91594  	TimeSlicedCapable bool `xml:"timeSlicedCapable" json:"timeSlicedCapable"`
 91595  	// Indicate whether device is Multiple Instance GPU capable.
 91596  	MigCapable bool `xml:"migCapable" json:"migCapable"`
 91597  	// Indicate whether device is compute profile capable.
 91598  	ComputeProfileCapable bool `xml:"computeProfileCapable" json:"computeProfileCapable"`
 91599  	// Indicate whether device is quadro profile capable.
 91600  	QuadroProfileCapable bool `xml:"quadroProfileCapable" json:"quadroProfileCapable"`
 91601  }
 91602  
 91603  func init() {
 91604  	t["VirtualMachineVgpuDeviceInfo"] = reflect.TypeOf((*VirtualMachineVgpuDeviceInfo)(nil)).Elem()
 91605  	minAPIVersionForType["VirtualMachineVgpuDeviceInfo"] = "7.0.3.0"
 91606  }
 91607  
 91608  // Description of PCI vGPU profile and its attributes.
 91609  type VirtualMachineVgpuProfileInfo struct {
 91610  	VirtualMachineTargetInfo
 91611  
 91612  	// The vGPU profile name.
 91613  	ProfileName string `xml:"profileName" json:"profileName"`
 91614  	// A well-known unique identifier for the device that supports this
 91615  	// profile.
 91616  	//
 91617  	// It concatenates the 16-bit PCI vendor id in lower bits
 91618  	// followed by 16-bit PCI device id.
 91619  	DeviceVendorId int64 `xml:"deviceVendorId" json:"deviceVendorId"`
 91620  	// The profile framebuffer size in gibibytes.
 91621  	FbSizeInGib int64 `xml:"fbSizeInGib" json:"fbSizeInGib"`
 91622  	// Indicate how this profile is shared within device.
 91623  	ProfileSharing string `xml:"profileSharing" json:"profileSharing"`
 91624  	// Indicate class for this profile.
 91625  	ProfileClass string `xml:"profileClass" json:"profileClass"`
 91626  	// VMotion stun time information for this profile.
 91627  	StunTimeEstimates []VirtualMachineVMotionStunTimeInfo `xml:"stunTimeEstimates,omitempty" json:"stunTimeEstimates,omitempty" vim:"8.0.2.0"`
 91628  }
 91629  
 91630  func init() {
 91631  	t["VirtualMachineVgpuProfileInfo"] = reflect.TypeOf((*VirtualMachineVgpuProfileInfo)(nil)).Elem()
 91632  	minAPIVersionForType["VirtualMachineVgpuProfileInfo"] = "7.0.3.0"
 91633  }
 91634  
 91635  // The VirtualVideoCard data object type represents a video card in
 91636  // a virtual machine.
 91637  type VirtualMachineVideoCard struct {
 91638  	VirtualDevice
 91639  
 91640  	// The size of the framebuffer for a virtual machine.
 91641  	VideoRamSizeInKB int64 `xml:"videoRamSizeInKB,omitempty" json:"videoRamSizeInKB,omitempty"`
 91642  	// Indicates the number of supported monitors.
 91643  	//
 91644  	// The number of displays X the maximum resolution of each display is
 91645  	// bounded by the video RAM size of the virtual video card.
 91646  	// This property can only be updated when the virtual machine is
 91647  	// powered off.
 91648  	NumDisplays int32 `xml:"numDisplays,omitempty" json:"numDisplays,omitempty" vim:"2.5 U2"`
 91649  	// Flag to indicate whether the display settings of the host on which the
 91650  	// virtual machine is running should be used to automatically determine
 91651  	// the display settings of the virtual machine's video card.
 91652  	//
 91653  	// This setting takes effect at virtual machine power-on time. If this
 91654  	// value is set to TRUE, numDisplays will be ignored.
 91655  	UseAutoDetect *bool `xml:"useAutoDetect" json:"useAutoDetect,omitempty" vim:"2.5 U2"`
 91656  	// Flag to indicate whether the virtual video card supports 3D functions.
 91657  	//
 91658  	// This property can only be updated when the virtual machine is powered
 91659  	// off.
 91660  	Enable3DSupport *bool `xml:"enable3DSupport" json:"enable3DSupport,omitempty" vim:"2.5 U2"`
 91661  	// Indicate how the virtual video device renders 3D graphics.
 91662  	//
 91663  	// The virtual video device can use hardware acceleration and software
 91664  	// rendering. By default, VMware products determine whether or not to
 91665  	// use hardware acceleration based on the availability of physical graphics
 91666  	// devices. Certain workloads can benefit from explicitly specifying if
 91667  	// hardware acceleration is required. For example, 3D intensive workloads
 91668  	// may indicate to run on systems with graphics hardware.
 91669  	//
 91670  	// There are three settings.
 91671  	//
 91672  	// (automatic) - The virtual device chooses how to render 3D graphics (default).
 91673  	// (software) - The virtual device will use software rendering and
 91674  	// will not attempt to use hardware acceleration.
 91675  	// (hardware) - The virtual device will use hardware acceleration and
 91676  	// will not activate without it.
 91677  	Use3dRenderer string `xml:"use3dRenderer,omitempty" json:"use3dRenderer,omitempty" vim:"5.1"`
 91678  	// The size of graphics memory.
 91679  	//
 91680  	// If 3d support is enabled this setting gives the amount of guest memory
 91681  	// used for graphics resources.
 91682  	// This property can only be updated when the virtual machine is
 91683  	// powered off.
 91684  	GraphicsMemorySizeInKB int64 `xml:"graphicsMemorySizeInKB,omitempty" json:"graphicsMemorySizeInKB,omitempty" vim:"6.0"`
 91685  }
 91686  
 91687  func init() {
 91688  	t["VirtualMachineVideoCard"] = reflect.TypeOf((*VirtualMachineVideoCard)(nil)).Elem()
 91689  }
 91690  
 91691  // The VirtualDeviceGroups data object
 91692  // type contains information about the backing that maps the
 91693  // virtual device onto a physical device for a Vendor Device Group device.
 91694  //
 91695  // Vendor Device Groups allow third-parties to define collections of
 91696  // devices that must be allocated to a virtual machine as a unit.
 91697  // Typically, this is because the set of devices are related in
 91698  // a some way, e.g. a physical link connects the devices.
 91699  type VirtualMachineVirtualDeviceGroups struct {
 91700  	DynamicData
 91701  
 91702  	// Information about device groups used by this VM.
 91703  	//
 91704  	// When adding a group, all devices that form the group
 91705  	// must be added in the same request.
 91706  	// When removing group, also all devices participating
 91707  	// in the group must be removed.
 91708  	// Modifying existing device group membership is not allowed.
 91709  	DeviceGroup []BaseVirtualMachineVirtualDeviceGroupsDeviceGroup `xml:"deviceGroup,omitempty,typeattr" json:"deviceGroup,omitempty"`
 91710  }
 91711  
 91712  func init() {
 91713  	t["VirtualMachineVirtualDeviceGroups"] = reflect.TypeOf((*VirtualMachineVirtualDeviceGroups)(nil)).Elem()
 91714  	minAPIVersionForType["VirtualMachineVirtualDeviceGroups"] = "8.0.0.1"
 91715  }
 91716  
 91717  // Base device group type.
 91718  type VirtualMachineVirtualDeviceGroupsDeviceGroup struct {
 91719  	DynamicData
 91720  
 91721  	// Group instance key.
 91722  	//
 91723  	// Unique integer referencing
 91724  	// device group. During group creation client should
 91725  	// use a temporary negative number. Once group is
 91726  	// added to the virtual machine, server generates non-negative
 91727  	// integer that stays constant during group lifetime.
 91728  	// See `VirtualDevice.key` for details.
 91729  	GroupInstanceKey int32 `xml:"groupInstanceKey" json:"groupInstanceKey"`
 91730  	// Provides a label and summary information for the device.
 91731  	DeviceInfo BaseDescription `xml:"deviceInfo,omitempty,typeattr" json:"deviceInfo,omitempty"`
 91732  }
 91733  
 91734  func init() {
 91735  	t["VirtualMachineVirtualDeviceGroupsDeviceGroup"] = reflect.TypeOf((*VirtualMachineVirtualDeviceGroupsDeviceGroup)(nil)).Elem()
 91736  }
 91737  
 91738  // Vendor device group.
 91739  //
 91740  // These groups are defined in the
 91741  // <code>`VirtualMachineVendorDeviceGroupInfo`</code>.
 91742  // When this group is added, all devices that form the group
 91743  // must be added in the same request.
 91744  // Modification of membership in the group is not allowed,
 91745  // devices cannot be added or removed.
 91746  // When group is removed, all devices that form the group
 91747  // must be removed in the same request.
 91748  type VirtualMachineVirtualDeviceGroupsVendorDeviceGroup struct {
 91749  	VirtualMachineVirtualDeviceGroupsDeviceGroup
 91750  
 91751  	// The name of the vendor device group from
 91752  	// <code>`VirtualMachineVendorDeviceGroupInfo`</code>.
 91753  	DeviceGroupName string `xml:"deviceGroupName" json:"deviceGroupName"`
 91754  }
 91755  
 91756  func init() {
 91757  	t["VirtualMachineVirtualDeviceGroupsVendorDeviceGroup"] = reflect.TypeOf((*VirtualMachineVirtualDeviceGroupsVendorDeviceGroup)(nil)).Elem()
 91758  }
 91759  
 91760  // Device Swap: Report current status of device swap feature.
 91761  type VirtualMachineVirtualDeviceSwap struct {
 91762  	DynamicData
 91763  
 91764  	LsiToPvscsi *VirtualMachineVirtualDeviceSwapDeviceSwapInfo `xml:"lsiToPvscsi,omitempty" json:"lsiToPvscsi,omitempty"`
 91765  }
 91766  
 91767  func init() {
 91768  	t["VirtualMachineVirtualDeviceSwap"] = reflect.TypeOf((*VirtualMachineVirtualDeviceSwap)(nil)).Elem()
 91769  	minAPIVersionForType["VirtualMachineVirtualDeviceSwap"] = "8.0.0.1"
 91770  }
 91771  
 91772  // Information for the device swap operation.
 91773  type VirtualMachineVirtualDeviceSwapDeviceSwapInfo struct {
 91774  	DynamicData
 91775  
 91776  	// Is the swap operation enabled for this virtual machine.
 91777  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 91778  	// Is the swap operation applicable to this virtual machine?
 91779  	// Operation is applicable if it is enabled for the virtual
 91780  	// machine, for the host or cluster in which virtual machine
 91781  	// resides, operating system supports device swap, and
 91782  	// virtual machine has controllers that need to be replaced.
 91783  	//
 91784  	// This field is read-only and cannot be modified.
 91785  	Applicable *bool `xml:"applicable" json:"applicable,omitempty"`
 91786  	// Status of the operation.
 91787  	//
 91788  	// One of
 91789  	// `VirtualMachineVirtualDeviceSwapDeviceSwapStatus_enum`
 91790  	// This field is read-only and cannot be modified.
 91791  	Status string `xml:"status,omitempty" json:"status,omitempty"`
 91792  }
 91793  
 91794  func init() {
 91795  	t["VirtualMachineVirtualDeviceSwapDeviceSwapInfo"] = reflect.TypeOf((*VirtualMachineVirtualDeviceSwapDeviceSwapInfo)(nil)).Elem()
 91796  	minAPIVersionForType["VirtualMachineVirtualDeviceSwapDeviceSwapInfo"] = "8.0.0.1"
 91797  }
 91798  
 91799  // This data object describes the virtual NUMA configuration for
 91800  // this virtual machine and configured through ConfigSpec.
 91801  type VirtualMachineVirtualNuma struct {
 91802  	DynamicData
 91803  
 91804  	// Cores per vNUMA node for this VM.
 91805  	//
 91806  	// The number of vNUMA nodes is
 91807  	// calculated by total number of cores divided by corePerNumaNode.
 91808  	// If set to be zero, it clears any manual override and autosize
 91809  	// vNUMA node.
 91810  	// If set to be non zero, VM uses the value as vNUMA node size.
 91811  	// If unset, the VM continue to follow the behavior in last poweron.
 91812  	CoresPerNumaNode int32 `xml:"coresPerNumaNode,omitempty" json:"coresPerNumaNode,omitempty"`
 91813  	// Capability to expose virtual NUMA when CPU hotadd is enabled.
 91814  	//
 91815  	// If set to true, ESXi will consider exposing virtual NUMA to
 91816  	// the VM when CPU hotadd is enabled.
 91817  	// If set to false, ESXi will enforce the VM to have single
 91818  	// virtual NUMA node when CPU hotadd is enabled.
 91819  	// If unset, the VM continue to follow the behavior in last poweron.
 91820  	ExposeVnumaOnCpuHotadd *bool `xml:"exposeVnumaOnCpuHotadd" json:"exposeVnumaOnCpuHotadd,omitempty"`
 91821  }
 91822  
 91823  func init() {
 91824  	t["VirtualMachineVirtualNuma"] = reflect.TypeOf((*VirtualMachineVirtualNuma)(nil)).Elem()
 91825  	minAPIVersionForType["VirtualMachineVirtualNuma"] = "8.0.0.1"
 91826  }
 91827  
 91828  // vNUMA: This is read-only data for ConfigInfo since this portion is
 91829  // not configurable.
 91830  type VirtualMachineVirtualNumaInfo struct {
 91831  	DynamicData
 91832  
 91833  	// Cores per NUMA node.
 91834  	//
 91835  	// When this virtual machine is powered off and "autoCoresPerNumaNode"
 91836  	// is True, coresPerNumaNode will be assigned during power-on and this
 91837  	// field should be ignored.
 91838  	// In other cases, this field represents the virtual NUMA node size
 91839  	// seen by the guest.
 91840  	CoresPerNumaNode int32 `xml:"coresPerNumaNode,omitempty" json:"coresPerNumaNode,omitempty"`
 91841  	// Whether coresPerNode is determined automatically.
 91842  	AutoCoresPerNumaNode *bool `xml:"autoCoresPerNumaNode" json:"autoCoresPerNumaNode,omitempty"`
 91843  	// Whether virtual NUMA topology is exposed when CPU hotadd is
 91844  	// enabled.
 91845  	VnumaOnCpuHotaddExposed *bool `xml:"vnumaOnCpuHotaddExposed" json:"vnumaOnCpuHotaddExposed,omitempty"`
 91846  }
 91847  
 91848  func init() {
 91849  	t["VirtualMachineVirtualNumaInfo"] = reflect.TypeOf((*VirtualMachineVirtualNumaInfo)(nil)).Elem()
 91850  	minAPIVersionForType["VirtualMachineVirtualNumaInfo"] = "8.0.0.1"
 91851  }
 91852  
 91853  // Virtual Persistent Memory configuration for the VM.
 91854  type VirtualMachineVirtualPMem struct {
 91855  	DynamicData
 91856  
 91857  	// An enum describing behavior of NVDIMM devices when a VM snapshot is taken
 91858  	// and restored.
 91859  	//
 91860  	// If unset, taking a VM snapshot will fail when the VM is
 91861  	// configured with NVDIMMs. See `VirtualMachineVirtualPMemSnapshotMode_enum` for supported values.
 91862  	// The snapshot mode applies to all NVDIMMs configured for the VM.
 91863  	// Property is currently only applicable to VMs with virtual NVDIMMs and not
 91864  	// applicable to vPMem disks.
 91865  	// Setting this property will fail if the VM has existing snapshots.
 91866  	SnapshotMode string `xml:"snapshotMode,omitempty" json:"snapshotMode,omitempty"`
 91867  }
 91868  
 91869  func init() {
 91870  	t["VirtualMachineVirtualPMem"] = reflect.TypeOf((*VirtualMachineVirtualPMem)(nil)).Elem()
 91871  	minAPIVersionForType["VirtualMachineVirtualPMem"] = "7.0.3.0"
 91872  }
 91873  
 91874  // This data object type encapsulates configuration settings
 91875  // when creating a virtual machine quiesced snapshot.
 91876  type VirtualMachineWindowsQuiesceSpec struct {
 91877  	VirtualMachineGuestQuiesceSpec
 91878  
 91879  	// The property to indicate what type of VSS backup operation is going
 91880  	// to be performed on the virtual machine.
 91881  	//
 91882  	// See VSS\_BACKUP\_TYPE on MSDN:
 91883  	// https://msdn.microsoft.com/en-us/library/aa384679(v=vs.85).aspx
 91884  	VssBackupType int32 `xml:"vssBackupType,omitempty" json:"vssBackupType,omitempty"`
 91885  	// The property to indicate if a bootable system state during VSS backup
 91886  	// to be performed on the virtual machine.
 91887  	VssBootableSystemState *bool `xml:"vssBootableSystemState" json:"vssBootableSystemState,omitempty"`
 91888  	// The property to indicate if partial file support is enabled during VSS
 91889  	// backup to be performed on the virtual machine.
 91890  	VssPartialFileSupport *bool `xml:"vssPartialFileSupport" json:"vssPartialFileSupport,omitempty"`
 91891  	// The property to indicate what context of VSS backup operation to be
 91892  	// performed on the virtual machine.
 91893  	//
 91894  	// For the list of supported values,
 91895  	// see `VirtualMachineWindowsQuiesceSpecVssBackupContext_enum`
 91896  	VssBackupContext string `xml:"vssBackupContext,omitempty" json:"vssBackupContext,omitempty"`
 91897  }
 91898  
 91899  func init() {
 91900  	t["VirtualMachineWindowsQuiesceSpec"] = reflect.TypeOf((*VirtualMachineWindowsQuiesceSpec)(nil)).Elem()
 91901  	minAPIVersionForType["VirtualMachineWindowsQuiesceSpec"] = "6.5"
 91902  }
 91903  
 91904  // Data structure used by wipeDisk to return the amount of disk space that
 91905  // can be saved on an Flex-SE disk if a subsequent shrinkDisk API is invoked
 91906  // on that disk.
 91907  type VirtualMachineWipeResult struct {
 91908  	DynamicData
 91909  
 91910  	// The disk id for the disk that was wiped.
 91911  	DiskId int32 `xml:"diskId" json:"diskId"`
 91912  	// The amount of shrinkable disk space in kB.
 91913  	ShrinkableDiskSpace int64 `xml:"shrinkableDiskSpace" json:"shrinkableDiskSpace"`
 91914  }
 91915  
 91916  func init() {
 91917  	t["VirtualMachineWipeResult"] = reflect.TypeOf((*VirtualMachineWipeResult)(nil)).Elem()
 91918  	minAPIVersionForType["VirtualMachineWipeResult"] = "5.1"
 91919  }
 91920  
 91921  // The Virtual NVDIMM device.
 91922  type VirtualNVDIMM struct {
 91923  	VirtualDevice
 91924  
 91925  	// NVDIMM backing size in MiB.
 91926  	//
 91927  	// If backing is inaccessible, then
 91928  	// capacity is reported as 0.
 91929  	CapacityInMB int64 `xml:"capacityInMB" json:"capacityInMB"`
 91930  	// NVDIMM device's configured size in MiB.
 91931  	ConfiguredCapacityInMB int64 `xml:"configuredCapacityInMB,omitempty" json:"configuredCapacityInMB,omitempty" vim:"7.0.2.0"`
 91932  }
 91933  
 91934  func init() {
 91935  	t["VirtualNVDIMM"] = reflect.TypeOf((*VirtualNVDIMM)(nil)).Elem()
 91936  	minAPIVersionForType["VirtualNVDIMM"] = "6.7"
 91937  }
 91938  
 91939  // The <code>`VirtualNVDIMMBackingInfo`</code> data object type
 91940  // defines information about a resource that backs a device
 91941  // in a virtual machine.
 91942  type VirtualNVDIMMBackingInfo struct {
 91943  	VirtualDeviceFileBackingInfo
 91944  
 91945  	// Parent object in snapshot chain.
 91946  	Parent *VirtualNVDIMMBackingInfo `xml:"parent,omitempty" json:"parent,omitempty"`
 91947  	// The change ID of the virtual NVDIMM for the corresponding
 91948  	// snapshot of virtual machine.
 91949  	//
 91950  	// This can be used to track
 91951  	// incremental changes.
 91952  	// See `VirtualMachine.QueryChangedDiskAreas`.
 91953  	ChangeId string `xml:"changeId,omitempty" json:"changeId,omitempty"`
 91954  }
 91955  
 91956  func init() {
 91957  	t["VirtualNVDIMMBackingInfo"] = reflect.TypeOf((*VirtualNVDIMMBackingInfo)(nil)).Elem()
 91958  	minAPIVersionForType["VirtualNVDIMMBackingInfo"] = "6.7"
 91959  }
 91960  
 91961  // The Virtual NVDIMM controller.
 91962  type VirtualNVDIMMController struct {
 91963  	VirtualController
 91964  }
 91965  
 91966  func init() {
 91967  	t["VirtualNVDIMMController"] = reflect.TypeOf((*VirtualNVDIMMController)(nil)).Elem()
 91968  	minAPIVersionForType["VirtualNVDIMMController"] = "6.7"
 91969  }
 91970  
 91971  // VirtualNVDIMMControllerOption is the data object that contains
 91972  // the options for a virtual NVDIMM controller.
 91973  type VirtualNVDIMMControllerOption struct {
 91974  	VirtualControllerOption
 91975  
 91976  	// Minimum, maximum and default number of virtual NVDIMM controllers.
 91977  	NumNVDIMMControllers IntOption `xml:"numNVDIMMControllers" json:"numNVDIMMControllers"`
 91978  }
 91979  
 91980  func init() {
 91981  	t["VirtualNVDIMMControllerOption"] = reflect.TypeOf((*VirtualNVDIMMControllerOption)(nil)).Elem()
 91982  	minAPIVersionForType["VirtualNVDIMMControllerOption"] = "6.7"
 91983  }
 91984  
 91985  // The VirtualNVDIMMOption contains information about
 91986  // a virtual NVDIMM capacity limits and rules for
 91987  // capacity growth operations.
 91988  type VirtualNVDIMMOption struct {
 91989  	VirtualDeviceOption
 91990  
 91991  	// Minimum and maximum capacity in MB.
 91992  	CapacityInMB LongOption `xml:"capacityInMB" json:"capacityInMB"`
 91993  	// Option to show if device capacity growth is supported for
 91994  	// powered off VMs.
 91995  	Growable bool `xml:"growable" json:"growable"`
 91996  	// Option to show if device capacity growth is supported for
 91997  	// powered on VMs.
 91998  	HotGrowable bool `xml:"hotGrowable" json:"hotGrowable"`
 91999  	// Option to show capacity growth granularity if growth operation
 92000  	// is supported in MB.
 92001  	GranularityInMB int64 `xml:"granularityInMB" json:"granularityInMB"`
 92002  }
 92003  
 92004  func init() {
 92005  	t["VirtualNVDIMMOption"] = reflect.TypeOf((*VirtualNVDIMMOption)(nil)).Elem()
 92006  	minAPIVersionForType["VirtualNVDIMMOption"] = "6.7"
 92007  }
 92008  
 92009  // The Virtual NVME controller.
 92010  type VirtualNVMEController struct {
 92011  	VirtualController
 92012  
 92013  	// Mode for sharing the SCSI bus.
 92014  	//
 92015  	// The modes are physicalSharing,
 92016  	// and noSharing. See the
 92017  	// `Sharing`
 92018  	// data object type for an explanation of these modes.
 92019  	SharedBus string `xml:"sharedBus,omitempty" json:"sharedBus,omitempty" vim:"8.0.2.0"`
 92020  }
 92021  
 92022  func init() {
 92023  	t["VirtualNVMEController"] = reflect.TypeOf((*VirtualNVMEController)(nil)).Elem()
 92024  	minAPIVersionForType["VirtualNVMEController"] = "6.5"
 92025  }
 92026  
 92027  // VirtualNVMEControllerOption is the data object that contains
 92028  // the options for a virtual NVME controller.
 92029  type VirtualNVMEControllerOption struct {
 92030  	VirtualControllerOption
 92031  
 92032  	// Three properties (numNVMEDisks.min, numNVMEDisks.max, and
 92033  	// numNVMEDisks.defaultValue) define the minimum, maximum, and default
 92034  	// number of NVME VirtualDisk instances available at any given time in the
 92035  	// NVME controller.
 92036  	//
 92037  	// The number of NVME VirtualDisk instances is
 92038  	// also limited by the number of available namespaces in the NVME controller.
 92039  	NumNVMEDisks IntOption `xml:"numNVMEDisks" json:"numNVMEDisks"`
 92040  	// Supported shared bus modes.
 92041  	//
 92042  	// See `VirtualNVMEControllerSharing_enum` for the list of available modes.
 92043  	Sharing []string `xml:"sharing,omitempty" json:"sharing,omitempty" vim:"8.0.2.0"`
 92044  }
 92045  
 92046  func init() {
 92047  	t["VirtualNVMEControllerOption"] = reflect.TypeOf((*VirtualNVMEControllerOption)(nil)).Elem()
 92048  	minAPIVersionForType["VirtualNVMEControllerOption"] = "6.5"
 92049  }
 92050  
 92051  // The NetConfig data object type contains the networking
 92052  // configuration.
 92053  type VirtualNicManagerNetConfig struct {
 92054  	DynamicData
 92055  
 92056  	// The NicType of this NetConfig.
 92057  	NicType string `xml:"nicType" json:"nicType"`
 92058  	// Whether multiple nics can be selected for this nicType.
 92059  	MultiSelectAllowed bool `xml:"multiSelectAllowed" json:"multiSelectAllowed"`
 92060  	// List of VirtualNic objects that may be used.
 92061  	//
 92062  	// This will be a subset of the list of VirtualNics in
 92063  	// `HostNetworkInfo.vnic`.
 92064  	CandidateVnic []HostVirtualNic `xml:"candidateVnic,omitempty" json:"candidateVnic,omitempty"`
 92065  	// List of VirtualNic objects that are selected for use.
 92066  	SelectedVnic []string `xml:"selectedVnic,omitempty" json:"selectedVnic,omitempty"`
 92067  }
 92068  
 92069  func init() {
 92070  	t["VirtualNicManagerNetConfig"] = reflect.TypeOf((*VirtualNicManagerNetConfig)(nil)).Elem()
 92071  	minAPIVersionForType["VirtualNicManagerNetConfig"] = "4.0"
 92072  }
 92073  
 92074  // The VirtualPCIController data object type defines a virtual PCI
 92075  // controller.
 92076  type VirtualPCIController struct {
 92077  	VirtualController
 92078  }
 92079  
 92080  func init() {
 92081  	t["VirtualPCIController"] = reflect.TypeOf((*VirtualPCIController)(nil)).Elem()
 92082  }
 92083  
 92084  // This data object type contains the options
 92085  // for a virtual PCI Controller.
 92086  type VirtualPCIControllerOption struct {
 92087  	VirtualControllerOption
 92088  
 92089  	// Defines the minimum, maximum, and
 92090  	// default number of VirtualSCSIController instances available
 92091  	// at any given time in the PCI controller.
 92092  	//
 92093  	// The number of
 92094  	// VirtualSCSIController instances is also limited by the number of
 92095  	// available slots in the PCI controller.
 92096  	NumSCSIControllers IntOption `xml:"numSCSIControllers" json:"numSCSIControllers"`
 92097  	// Defines the minimum, maximum, and
 92098  	// default number of VirtualEthernetCard instances available,
 92099  	// at any given time, in the PCI controller.
 92100  	//
 92101  	// The number of
 92102  	// VirtualEthernetCard instances is also limited by the number of
 92103  	// available slots in the PCI controller.
 92104  	NumEthernetCards IntOption `xml:"numEthernetCards" json:"numEthernetCards"`
 92105  	// Defines the minimum, maximum, and default
 92106  	// number of VirtualVideoCard instances available,
 92107  	// at any given time, in the PCI controller.
 92108  	//
 92109  	// The number of
 92110  	// VirtualVideoCard instances is also limited by the number of
 92111  	// available slots in the PCI controller.
 92112  	NumVideoCards IntOption `xml:"numVideoCards" json:"numVideoCards"`
 92113  	// Defines the minimum, maximum, and default
 92114  	// number of VirtualSoundCard instances available,
 92115  	// at any given time, in the PCI controller.
 92116  	//
 92117  	// The number of
 92118  	// VirtualSoundCard instances is also limited by the number of
 92119  	// available slots in the PCI controller.
 92120  	NumSoundCards IntOption `xml:"numSoundCards" json:"numSoundCards"`
 92121  	// Defines the minimum, maximum, and default
 92122  	// number of VirtualVMIROM instances available,
 92123  	// at any given time, in the PCI controller.
 92124  	//
 92125  	// This is also limited
 92126  	// by the number of available slots in the PCI controller.
 92127  	NumVmiRoms IntOption `xml:"numVmiRoms" json:"numVmiRoms" vim:"2.5"`
 92128  	// Defines the minimum, maximum, and default
 92129  	// number of VirtualVMCIDevice instances available,
 92130  	// at any given time, in the PCI controller.
 92131  	//
 92132  	// This is also limited
 92133  	// by the number of available slots in the PCI controller.
 92134  	NumVmciDevices *IntOption `xml:"numVmciDevices,omitempty" json:"numVmciDevices,omitempty" vim:"2.5 U2"`
 92135  	// Defines the minimum, maximum, and default
 92136  	// number of VirtualPCIPassthrough instances available,
 92137  	// at any given time, in the PCI controller.
 92138  	//
 92139  	// This is also limited
 92140  	// by the number of available PCI Express slots in the PCI controller.
 92141  	NumPCIPassthroughDevices *IntOption `xml:"numPCIPassthroughDevices,omitempty" json:"numPCIPassthroughDevices,omitempty" vim:"2.5 U2"`
 92142  	// Defines the minimum, maximum, and default
 92143  	// number of VirtualLsiLogicSASController instances available,
 92144  	// at any given time, in the PCI controller.
 92145  	//
 92146  	// This is also limited
 92147  	// by the number of available PCI Express slots in the PCI controller
 92148  	// as well as the total number of supported SCSI controllers.
 92149  	NumSasSCSIControllers *IntOption `xml:"numSasSCSIControllers,omitempty" json:"numSasSCSIControllers,omitempty" vim:"2.5 U2"`
 92150  	// Defines the minimum, maximum, and default
 92151  	// number of VirtualVmxnet3 ethernet card instances available,
 92152  	// at any given time, in the PCI controller.
 92153  	//
 92154  	// This is also limited
 92155  	// by the number of available PCI Express slots in the PCI controller
 92156  	// as well as the total number of supported ethernet cards.
 92157  	NumVmxnet3EthernetCards *IntOption `xml:"numVmxnet3EthernetCards,omitempty" json:"numVmxnet3EthernetCards,omitempty" vim:"2.5 U2"`
 92158  	// Defines the minimum, maximum, and default
 92159  	// number of ParaVirtualScsiController instances available,
 92160  	// at any given time, in the PCI controller.
 92161  	//
 92162  	// This is also limited
 92163  	// by the number of available PCI Express slots in the PCI controller
 92164  	// as well as the total number of supported SCSI controllers.
 92165  	NumParaVirtualSCSIControllers *IntOption `xml:"numParaVirtualSCSIControllers,omitempty" json:"numParaVirtualSCSIControllers,omitempty" vim:"2.5 U2"`
 92166  	// Defines the minimum, maximum, and default
 92167  	// number of VirtualSATAController instances available,
 92168  	// at any given time, in the PCI controller.
 92169  	//
 92170  	// This is also limited
 92171  	// by the number of available PCI Express slots in the PCI controller
 92172  	// as well as the total number of supported SATA controllers.
 92173  	NumSATAControllers *IntOption `xml:"numSATAControllers,omitempty" json:"numSATAControllers,omitempty" vim:"5.5"`
 92174  	// Defines the minimum, maximum, and default
 92175  	// number of VirtualNVMEController instances available,
 92176  	// at any given time, in the PCI controller.
 92177  	//
 92178  	// This is also limited
 92179  	// by the number of available PCI Express slots in the PCI controller
 92180  	// as well as the total number of supported NVME controllers.
 92181  	NumNVMEControllers *IntOption `xml:"numNVMEControllers,omitempty" json:"numNVMEControllers,omitempty" vim:"6.5"`
 92182  	// Defines the minimum, maximum, and default
 92183  	// number of VirtualVmxnet3Vrdma ethernet card instances available,
 92184  	// at any given time, in the PCI controller.
 92185  	//
 92186  	// This is also limited
 92187  	// by the number of available PCI Express slots in the PCI controller
 92188  	// as well as the total number of supported ethernet cards.
 92189  	NumVmxnet3VrdmaEthernetCards *IntOption `xml:"numVmxnet3VrdmaEthernetCards,omitempty" json:"numVmxnet3VrdmaEthernetCards,omitempty" vim:"6.7"`
 92190  }
 92191  
 92192  func init() {
 92193  	t["VirtualPCIControllerOption"] = reflect.TypeOf((*VirtualPCIControllerOption)(nil)).Elem()
 92194  }
 92195  
 92196  // The VirtualPCIPassthrough data object type contains information about a
 92197  // PCI device on the virtual machine that is being backed by
 92198  // a generic PCI device on the host via passthrough.
 92199  type VirtualPCIPassthrough struct {
 92200  	VirtualDevice
 92201  }
 92202  
 92203  func init() {
 92204  	t["VirtualPCIPassthrough"] = reflect.TypeOf((*VirtualPCIPassthrough)(nil)).Elem()
 92205  	minAPIVersionForType["VirtualPCIPassthrough"] = "4.0"
 92206  }
 92207  
 92208  // A tuple of vendorId and deviceId indicating an allowed device
 92209  // for a Dynamic DirectPath device.
 92210  type VirtualPCIPassthroughAllowedDevice struct {
 92211  	DynamicData
 92212  
 92213  	// The vendor ID for this PCI device.
 92214  	//
 92215  	// You must use the vendor ID
 92216  	// retrieved from the vSphere host or cluster.
 92217  	VendorId int32 `xml:"vendorId" json:"vendorId"`
 92218  	// The device ID of this PCI device.
 92219  	//
 92220  	// You must use the device ID
 92221  	// retrieved from the vSphere host or cluster.
 92222  	DeviceId int32 `xml:"deviceId" json:"deviceId"`
 92223  	// The subVendor ID for this PCI device.
 92224  	//
 92225  	// If specified, you must use
 92226  	// the subVendor ID retrieved from the vSphere host or cluster.
 92227  	// Range of legal values is 0x0 to 0xFFFF.
 92228  	SubVendorId int32 `xml:"subVendorId,omitempty" json:"subVendorId,omitempty"`
 92229  	// The subDevice ID of this PCI device.
 92230  	//
 92231  	// If specified, you must use
 92232  	// the subDevice ID retrieved from the vSphere host or cluster.
 92233  	// Range of legal values is 0x0 to 0xFFFF.
 92234  	SubDeviceId int32 `xml:"subDeviceId,omitempty" json:"subDeviceId,omitempty"`
 92235  	// The revision ID of this PCI device.
 92236  	//
 92237  	// If specified, you must use
 92238  	// the revision ID retrieved from the vSphere host or cluster.
 92239  	// Range of legal values is 0x0 to 0xFF.
 92240  	RevisionId int16 `xml:"revisionId,omitempty" json:"revisionId,omitempty"`
 92241  }
 92242  
 92243  func init() {
 92244  	t["VirtualPCIPassthroughAllowedDevice"] = reflect.TypeOf((*VirtualPCIPassthroughAllowedDevice)(nil)).Elem()
 92245  	minAPIVersionForType["VirtualPCIPassthroughAllowedDevice"] = "7.0"
 92246  }
 92247  
 92248  // The VirtualPCIPassthrough.DeviceBackingInfo data object type
 92249  // contains information about the backing that maps the
 92250  // virtual device onto a physical device.
 92251  type VirtualPCIPassthroughDeviceBackingInfo struct {
 92252  	VirtualDeviceDeviceBackingInfo
 92253  
 92254  	// The name ID of this PCI, composed of "bus:slot.function".
 92255  	Id string `xml:"id" json:"id"`
 92256  	// The device ID of this PCI.
 92257  	//
 92258  	// You must use the device ID retrieved
 92259  	// from the vSphere host (`HostPciDevice`.deviceId), converted
 92260  	// as is to a string.
 92261  	DeviceId string `xml:"deviceId" json:"deviceId"`
 92262  	// The ID of the system the PCI device is attached to.
 92263  	SystemId string `xml:"systemId" json:"systemId"`
 92264  	// The vendor ID for this PCI device.
 92265  	//
 92266  	// You must use the vendor ID retrieved
 92267  	// from the vSphere host (`HostPciDevice`.vendorId).
 92268  	VendorId int16 `xml:"vendorId" json:"vendorId"`
 92269  }
 92270  
 92271  func init() {
 92272  	t["VirtualPCIPassthroughDeviceBackingInfo"] = reflect.TypeOf((*VirtualPCIPassthroughDeviceBackingInfo)(nil)).Elem()
 92273  	minAPIVersionForType["VirtualPCIPassthroughDeviceBackingInfo"] = "4.0"
 92274  }
 92275  
 92276  // This data object type describes the options for the
 92277  // `VirtualPCIPassthroughDeviceBackingInfo` data object type.
 92278  type VirtualPCIPassthroughDeviceBackingOption struct {
 92279  	VirtualDeviceDeviceBackingOption
 92280  }
 92281  
 92282  func init() {
 92283  	t["VirtualPCIPassthroughDeviceBackingOption"] = reflect.TypeOf((*VirtualPCIPassthroughDeviceBackingOption)(nil)).Elem()
 92284  	minAPIVersionForType["VirtualPCIPassthroughDeviceBackingOption"] = "4.0"
 92285  }
 92286  
 92287  // DVX Device specific information.
 92288  type VirtualPCIPassthroughDvxBackingInfo struct {
 92289  	VirtualDeviceBackingInfo
 92290  
 92291  	// The device class that backs this DVX device.
 92292  	//
 92293  	// During add operations, this value must be a non-empty string.
 92294  	// During edit operations, if this value is not set or is an empty
 92295  	// string, the current device class remains unchanged.
 92296  	DeviceClass string `xml:"deviceClass,omitempty" json:"deviceClass,omitempty"`
 92297  	// The configuration parameters for this device class.
 92298  	//
 92299  	// All required configuration parameters must be provided for both add
 92300  	// and edit operations. The provided configuration parameters replace
 92301  	// the previous ones. In particular, passing an empty array will unset
 92302  	// all existing configuration parameters.
 92303  	ConfigParams []BaseOptionValue `xml:"configParams,omitempty,typeattr" json:"configParams,omitempty"`
 92304  }
 92305  
 92306  func init() {
 92307  	t["VirtualPCIPassthroughDvxBackingInfo"] = reflect.TypeOf((*VirtualPCIPassthroughDvxBackingInfo)(nil)).Elem()
 92308  	minAPIVersionForType["VirtualPCIPassthroughDvxBackingInfo"] = "8.0.0.1"
 92309  }
 92310  
 92311  // Describes the options for
 92312  // `VirtualPCIPassthroughDvxBackingInfo`.
 92313  type VirtualPCIPassthroughDvxBackingOption struct {
 92314  	VirtualDeviceBackingOption
 92315  }
 92316  
 92317  func init() {
 92318  	t["VirtualPCIPassthroughDvxBackingOption"] = reflect.TypeOf((*VirtualPCIPassthroughDvxBackingOption)(nil)).Elem()
 92319  	minAPIVersionForType["VirtualPCIPassthroughDvxBackingOption"] = "8.0.0.1"
 92320  }
 92321  
 92322  // The VirtualPCIPassthrough.DynamicBackingInfo data object type
 92323  // contains information about the backing that maps the
 92324  // virtual device onto a physical device for a Dynamic DirectPath
 92325  // device.
 92326  type VirtualPCIPassthroughDynamicBackingInfo struct {
 92327  	VirtualDeviceDeviceBackingInfo
 92328  
 92329  	// The list of allowed devices for use with a Dynamic DirectPath
 92330  	// device.
 92331  	AllowedDevice []VirtualPCIPassthroughAllowedDevice `xml:"allowedDevice,omitempty" json:"allowedDevice,omitempty"`
 92332  	// An optional label.
 92333  	//
 92334  	// If set, the device must also have the same
 92335  	// customLabel attribute set.
 92336  	CustomLabel string `xml:"customLabel,omitempty" json:"customLabel,omitempty"`
 92337  	// The id of the device assigned when the VM is powered on.
 92338  	//
 92339  	// This value
 92340  	// is unset when the VM is powered off.
 92341  	AssignedId string `xml:"assignedId,omitempty" json:"assignedId,omitempty"`
 92342  }
 92343  
 92344  func init() {
 92345  	t["VirtualPCIPassthroughDynamicBackingInfo"] = reflect.TypeOf((*VirtualPCIPassthroughDynamicBackingInfo)(nil)).Elem()
 92346  	minAPIVersionForType["VirtualPCIPassthroughDynamicBackingInfo"] = "7.0"
 92347  }
 92348  
 92349  // This data object type describes the options for the
 92350  // `VirtualPCIPassthroughDynamicBackingInfo` data object type.
 92351  type VirtualPCIPassthroughDynamicBackingOption struct {
 92352  	VirtualDeviceDeviceBackingOption
 92353  }
 92354  
 92355  func init() {
 92356  	t["VirtualPCIPassthroughDynamicBackingOption"] = reflect.TypeOf((*VirtualPCIPassthroughDynamicBackingOption)(nil)).Elem()
 92357  	minAPIVersionForType["VirtualPCIPassthroughDynamicBackingOption"] = "7.0"
 92358  }
 92359  
 92360  // The VirtualPCIPassthroughOption data object type describes the options
 92361  // for the
 92362  // `VirtualPCIPassthrough`
 92363  // data object type.
 92364  type VirtualPCIPassthroughOption struct {
 92365  	VirtualDeviceOption
 92366  }
 92367  
 92368  func init() {
 92369  	t["VirtualPCIPassthroughOption"] = reflect.TypeOf((*VirtualPCIPassthroughOption)(nil)).Elem()
 92370  	minAPIVersionForType["VirtualPCIPassthroughOption"] = "4.0"
 92371  }
 92372  
 92373  // The VirtualPCIPassthrough.PluginBackingInfo is a base data object type
 92374  // for encoding plugin-specific information.
 92375  //
 92376  // This base type does not define
 92377  // any properties. Specific plugin types are represented by subtypes which
 92378  // define properties for subtype-specific backing information.
 92379  type VirtualPCIPassthroughPluginBackingInfo struct {
 92380  	VirtualDeviceBackingInfo
 92381  }
 92382  
 92383  func init() {
 92384  	t["VirtualPCIPassthroughPluginBackingInfo"] = reflect.TypeOf((*VirtualPCIPassthroughPluginBackingInfo)(nil)).Elem()
 92385  	minAPIVersionForType["VirtualPCIPassthroughPluginBackingInfo"] = "6.0"
 92386  }
 92387  
 92388  // This data object type describes the options for the
 92389  // `VirtualPCIPassthroughPluginBackingInfo` data object type.
 92390  type VirtualPCIPassthroughPluginBackingOption struct {
 92391  	VirtualDeviceBackingOption
 92392  }
 92393  
 92394  func init() {
 92395  	t["VirtualPCIPassthroughPluginBackingOption"] = reflect.TypeOf((*VirtualPCIPassthroughPluginBackingOption)(nil)).Elem()
 92396  	minAPIVersionForType["VirtualPCIPassthroughPluginBackingOption"] = "6.0"
 92397  }
 92398  
 92399  // The VirtualPCIPassthrough.VmiopBackingInfo data object type
 92400  // contains information about the plugin that emulates the
 92401  // virtual device via the VMIOP plugin interface.
 92402  //
 92403  // At present, this interface is only used to implement vGPU.
 92404  type VirtualPCIPassthroughVmiopBackingInfo struct {
 92405  	VirtualPCIPassthroughPluginBackingInfo
 92406  
 92407  	// The vGPU configuration type exposed by a VMIOP plugin.
 92408  	Vgpu string `xml:"vgpu,omitempty" json:"vgpu,omitempty"`
 92409  	// The expected size of the vGPU device state during migration.
 92410  	VgpuMigrateDataSizeMB int32 `xml:"vgpuMigrateDataSizeMB,omitempty" json:"vgpuMigrateDataSizeMB,omitempty" vim:"8.0.0.1"`
 92411  	// Indicates whether the vGPU device is migration capable or not.
 92412  	MigrateSupported *bool `xml:"migrateSupported" json:"migrateSupported,omitempty" vim:"7.0.2.0"`
 92413  	// Indicates whether the vGPU has enhanced migration features for
 92414  	// sub-second downtime.
 92415  	EnhancedMigrateCapability *bool `xml:"enhancedMigrateCapability" json:"enhancedMigrateCapability,omitempty" vim:"8.0.0.1"`
 92416  }
 92417  
 92418  func init() {
 92419  	t["VirtualPCIPassthroughVmiopBackingInfo"] = reflect.TypeOf((*VirtualPCIPassthroughVmiopBackingInfo)(nil)).Elem()
 92420  	minAPIVersionForType["VirtualPCIPassthroughVmiopBackingInfo"] = "6.0"
 92421  }
 92422  
 92423  // This data object type describes the options for the
 92424  // `VirtualPCIPassthroughVmiopBackingInfo` data object type.
 92425  type VirtualPCIPassthroughVmiopBackingOption struct {
 92426  	VirtualPCIPassthroughPluginBackingOption
 92427  
 92428  	// Parameter indicating which GPU profile the plugin should emulate.
 92429  	//
 92430  	// See also `ConfigTarget.sharedGpuPassthroughTypes`.
 92431  	Vgpu StringOption `xml:"vgpu" json:"vgpu"`
 92432  	// Maximum number of instances of this backing type allowed
 92433  	// per virtual machine.
 92434  	//
 92435  	// This is a parameter of the plugin
 92436  	// itself, which may support only a limited number of
 92437  	// instances per virtual machine.
 92438  	MaxInstances int32 `xml:"maxInstances" json:"maxInstances"`
 92439  }
 92440  
 92441  func init() {
 92442  	t["VirtualPCIPassthroughVmiopBackingOption"] = reflect.TypeOf((*VirtualPCIPassthroughVmiopBackingOption)(nil)).Elem()
 92443  	minAPIVersionForType["VirtualPCIPassthroughVmiopBackingOption"] = "6.0"
 92444  }
 92445  
 92446  // This data object type defines the properties
 92447  // of an AMD Lance PCNet32 Ethernet card attached to a virtual machine.
 92448  type VirtualPCNet32 struct {
 92449  	VirtualEthernetCard
 92450  }
 92451  
 92452  func init() {
 92453  	t["VirtualPCNet32"] = reflect.TypeOf((*VirtualPCNet32)(nil)).Elem()
 92454  }
 92455  
 92456  // The VirtualPCNet32Option data object type defines the options for the
 92457  // VirtualPCNet32 data object type.
 92458  //
 92459  // Except for the boolean
 92460  // supportsMorphing option, the options are inherited from the
 92461  // `VirtualEthernetCardOption` data
 92462  // object type.
 92463  type VirtualPCNet32Option struct {
 92464  	VirtualEthernetCardOption
 92465  
 92466  	// Indicates that this Ethernet card supports morphing into vmxnet when
 92467  	// appropriate.
 92468  	//
 92469  	// This means that, if supportsMorphing="true", the virtual
 92470  	// AMD Lance PCNet32 Ethernet card becomes a vmxnet Ethernet card
 92471  	// with its added performance capabilities when appropriate.
 92472  	SupportsMorphing bool `xml:"supportsMorphing" json:"supportsMorphing"`
 92473  }
 92474  
 92475  func init() {
 92476  	t["VirtualPCNet32Option"] = reflect.TypeOf((*VirtualPCNet32Option)(nil)).Elem()
 92477  }
 92478  
 92479  // The VirtualPS2Controller data object type represents a controller
 92480  // for keyboards and mice.
 92481  type VirtualPS2Controller struct {
 92482  	VirtualController
 92483  }
 92484  
 92485  func init() {
 92486  	t["VirtualPS2Controller"] = reflect.TypeOf((*VirtualPS2Controller)(nil)).Elem()
 92487  }
 92488  
 92489  // The VirtualPS2ControllerOption data object type contains the options
 92490  // for a virtual PS/2 controller for keyboards and mice.
 92491  //
 92492  // In addition to
 92493  // the options defined in the `VirtualControllerOption` data object type, these options include the
 92494  // number of keyboards and mice.
 92495  type VirtualPS2ControllerOption struct {
 92496  	VirtualControllerOption
 92497  
 92498  	// The minimum, maximum, and default number of keyboards you can
 92499  	// have at any given time.
 92500  	//
 92501  	// This is further constrained by the number
 92502  	// of available slots in the PS/2 controller. The minimum, maximum,
 92503  	// and default are integers defined by three properties:
 92504  	//     - `*numKeyBoards.min*`: the minimum.
 92505  	//     - `*numKeyBoards.max*`: the maximum.
 92506  	//     - `*numKeyBoards.defaultValue*`: the default number.
 92507  	NumKeyboards IntOption `xml:"numKeyboards" json:"numKeyboards"`
 92508  	// The minimum, maximum, and default number of mice you can
 92509  	// have at any given time.
 92510  	//
 92511  	// The number of mice is also limited by the number
 92512  	// of available slots in the PS/2 controller. The minimum, maximum, and
 92513  	// default are integers defined by three properties:
 92514  	//     - `*numPointingDevices.min*`: the minimum.
 92515  	//     - `*numPointingDevices.max*`: the maximum.
 92516  	//     - `*numPointingDevices.defaultValue*`: the default number.
 92517  	NumPointingDevices IntOption `xml:"numPointingDevices" json:"numPointingDevices"`
 92518  }
 92519  
 92520  func init() {
 92521  	t["VirtualPS2ControllerOption"] = reflect.TypeOf((*VirtualPS2ControllerOption)(nil)).Elem()
 92522  }
 92523  
 92524  // This data object type represents a parallel port
 92525  // in a virtual machine.
 92526  type VirtualParallelPort struct {
 92527  	VirtualDevice
 92528  }
 92529  
 92530  func init() {
 92531  	t["VirtualParallelPort"] = reflect.TypeOf((*VirtualParallelPort)(nil)).Elem()
 92532  }
 92533  
 92534  // The data object type for a device backing of a virtual parallel port.
 92535  type VirtualParallelPortDeviceBackingInfo struct {
 92536  	VirtualDeviceDeviceBackingInfo
 92537  }
 92538  
 92539  func init() {
 92540  	t["VirtualParallelPortDeviceBackingInfo"] = reflect.TypeOf((*VirtualParallelPortDeviceBackingInfo)(nil)).Elem()
 92541  }
 92542  
 92543  // Data object type that represents the options for a device backing
 92544  // of a virtual parallel port.
 92545  type VirtualParallelPortDeviceBackingOption struct {
 92546  	VirtualDeviceDeviceBackingOption
 92547  }
 92548  
 92549  func init() {
 92550  	t["VirtualParallelPortDeviceBackingOption"] = reflect.TypeOf((*VirtualParallelPortDeviceBackingOption)(nil)).Elem()
 92551  }
 92552  
 92553  // The data object type for a file backing of a virtual parallel port.
 92554  type VirtualParallelPortFileBackingInfo struct {
 92555  	VirtualDeviceFileBackingInfo
 92556  }
 92557  
 92558  func init() {
 92559  	t["VirtualParallelPortFileBackingInfo"] = reflect.TypeOf((*VirtualParallelPortFileBackingInfo)(nil)).Elem()
 92560  }
 92561  
 92562  // Data object type that represents the options for a file backing
 92563  // of a virtual parallel port.
 92564  type VirtualParallelPortFileBackingOption struct {
 92565  	VirtualDeviceFileBackingOption
 92566  }
 92567  
 92568  func init() {
 92569  	t["VirtualParallelPortFileBackingOption"] = reflect.TypeOf((*VirtualParallelPortFileBackingOption)(nil)).Elem()
 92570  }
 92571  
 92572  // This data object type contains the options for the
 92573  // virtual parallel port class.
 92574  type VirtualParallelPortOption struct {
 92575  	VirtualDeviceOption
 92576  }
 92577  
 92578  func init() {
 92579  	t["VirtualParallelPortOption"] = reflect.TypeOf((*VirtualParallelPortOption)(nil)).Elem()
 92580  }
 92581  
 92582  // The VirtualPointingDevice data object type contains information about
 92583  // the mouse type on a virtual machine.
 92584  type VirtualPointingDevice struct {
 92585  	VirtualDevice
 92586  }
 92587  
 92588  func init() {
 92589  	t["VirtualPointingDevice"] = reflect.TypeOf((*VirtualPointingDevice)(nil)).Elem()
 92590  }
 92591  
 92592  // The DeviceBackingOption data object type represents
 92593  // the options for a pointing device backing a
 92594  // VirtualPointingDevice data object type.
 92595  type VirtualPointingDeviceBackingOption struct {
 92596  	VirtualDeviceDeviceBackingOption
 92597  
 92598  	// This object defines the supported mouse types, including the default
 92599  	// supported mouse type, with the following properties:
 92600  	//     - `*hostPointingDevices.value*`: This array defines the
 92601  	//       supported mouse types.
 92602  	//     - `*hostPointingDevices.choiceDescription*`: This array
 92603  	//       provides the descriptions for the supported mouse types defined by
 92604  	//       hostPointingDevices.value.
 92605  	//     - `*hostPointingDevices.defaultIndex*`: This integer points
 92606  	//       to an index in the hostPointingDevices.value array. This is the
 92607  	//       mouse type supported by default.
 92608  	HostPointingDevice ChoiceOption `xml:"hostPointingDevice" json:"hostPointingDevice"`
 92609  }
 92610  
 92611  func init() {
 92612  	t["VirtualPointingDeviceBackingOption"] = reflect.TypeOf((*VirtualPointingDeviceBackingOption)(nil)).Elem()
 92613  }
 92614  
 92615  // The VirtualPointingDevice.DeviceBackingInfo provides information about
 92616  // the physical mouse backing the VirtualPointingDevice data object
 92617  // type.
 92618  type VirtualPointingDeviceDeviceBackingInfo struct {
 92619  	VirtualDeviceDeviceBackingInfo
 92620  
 92621  	// This optional property defines the mouse type (two-button,
 92622  	// three-button, and so on).
 92623  	//
 92624  	// The mouse type
 92625  	// determines how the user interacts with the host mouse.
 92626  	// The valid values are specified in the
 92627  	// `VirtualPointingDeviceHostChoice_enum` list.
 92628  	//
 92629  	// `*Note*`: The value specified by this property must be
 92630  	// one of the supported types listed in the hostPointingDevices.value
 92631  	// array in the `VirtualPointingDeviceOption` data object type. If this property is
 92632  	// not set, then the property defaults to the
 92633  	// hostPointingDevices.defaultIndex property in the same data
 92634  	// object type.
 92635  	HostPointingDevice string `xml:"hostPointingDevice" json:"hostPointingDevice"`
 92636  }
 92637  
 92638  func init() {
 92639  	t["VirtualPointingDeviceDeviceBackingInfo"] = reflect.TypeOf((*VirtualPointingDeviceDeviceBackingInfo)(nil)).Elem()
 92640  }
 92641  
 92642  // The VirtualPointingDeviceOption data object type contains the options
 92643  // for the host mouse type defined in the
 92644  // `VirtualPointingDevice` data object type.
 92645  //
 92646  // These options include the valid selections for the mouse type, the supported
 92647  // mouse types, and the default mouse type.
 92648  type VirtualPointingDeviceOption struct {
 92649  	VirtualDeviceOption
 92650  }
 92651  
 92652  func init() {
 92653  	t["VirtualPointingDeviceOption"] = reflect.TypeOf((*VirtualPointingDeviceOption)(nil)).Elem()
 92654  }
 92655  
 92656  // This data object type represents a virtual clock device providing
 92657  // precision time in a virtual machine.
 92658  type VirtualPrecisionClock struct {
 92659  	VirtualDevice
 92660  }
 92661  
 92662  func init() {
 92663  	t["VirtualPrecisionClock"] = reflect.TypeOf((*VirtualPrecisionClock)(nil)).Elem()
 92664  	minAPIVersionForType["VirtualPrecisionClock"] = "7.0"
 92665  }
 92666  
 92667  // The VirtualPrecisionClockOption data object type describes the
 92668  // options for the `VirtualPrecisionClock` data
 92669  // object type.
 92670  type VirtualPrecisionClockOption struct {
 92671  	VirtualDeviceOption
 92672  }
 92673  
 92674  func init() {
 92675  	t["VirtualPrecisionClockOption"] = reflect.TypeOf((*VirtualPrecisionClockOption)(nil)).Elem()
 92676  	minAPIVersionForType["VirtualPrecisionClockOption"] = "7.0"
 92677  }
 92678  
 92679  // The `VirtualPrecisionClockSystemClockBackingInfo`
 92680  // data object contains information about using host system clock as the
 92681  // backing reference clock for this virtual device.
 92682  type VirtualPrecisionClockSystemClockBackingInfo struct {
 92683  	VirtualDeviceBackingInfo
 92684  
 92685  	// The time synchronization protocol used to discipline system clock.
 92686  	//
 92687  	// See `HostDateTimeInfoProtocol_enum` for valid values.
 92688  	Protocol string `xml:"protocol,omitempty" json:"protocol,omitempty"`
 92689  }
 92690  
 92691  func init() {
 92692  	t["VirtualPrecisionClockSystemClockBackingInfo"] = reflect.TypeOf((*VirtualPrecisionClockSystemClockBackingInfo)(nil)).Elem()
 92693  	minAPIVersionForType["VirtualPrecisionClockSystemClockBackingInfo"] = "7.0"
 92694  }
 92695  
 92696  // This data object type describes the options for the
 92697  // `VirtualPrecisionClockSystemClockBackingInfo`
 92698  // VirtualPrecisionClockSystemClockBackingInfo} data object type.
 92699  type VirtualPrecisionClockSystemClockBackingOption struct {
 92700  	VirtualDeviceBackingOption
 92701  
 92702  	// Parameter indicating the protocol used to discipline the
 92703  	// host system clock.
 92704  	Protocol ChoiceOption `xml:"protocol" json:"protocol"`
 92705  }
 92706  
 92707  func init() {
 92708  	t["VirtualPrecisionClockSystemClockBackingOption"] = reflect.TypeOf((*VirtualPrecisionClockSystemClockBackingOption)(nil)).Elem()
 92709  	minAPIVersionForType["VirtualPrecisionClockSystemClockBackingOption"] = "7.0"
 92710  }
 92711  
 92712  // The VirtualSATAController data object type represents
 92713  // a SATA controller in a virtual machine.
 92714  type VirtualSATAController struct {
 92715  	VirtualController
 92716  }
 92717  
 92718  func init() {
 92719  	t["VirtualSATAController"] = reflect.TypeOf((*VirtualSATAController)(nil)).Elem()
 92720  	minAPIVersionForType["VirtualSATAController"] = "5.5"
 92721  }
 92722  
 92723  // The VirtualSATAControllerOption data object type contains the options
 92724  // for a virtual SATA controller defined by the
 92725  // `VirtualSATAController`
 92726  // data object type.
 92727  type VirtualSATAControllerOption struct {
 92728  	VirtualControllerOption
 92729  
 92730  	// Three properties (numSATADisks.min, numSATADisks.max, and
 92731  	// numSATADisks.defaultValue) define the minimum, maximum, and default
 92732  	// number of SATA VirtualDisk instances available at any given time in the
 92733  	// SATA controller.
 92734  	//
 92735  	// The number of SATA VirtualDisk instances is
 92736  	// also limited by the number of available slots in the SATA controller.
 92737  	NumSATADisks IntOption `xml:"numSATADisks" json:"numSATADisks"`
 92738  	// Three properties (numSATACdroms.min, numSATACdroms.max, and
 92739  	// numSATACdroms.defaultValue) define the minimum, maximum, and default
 92740  	// number of SATA VirtualCdrom instances available
 92741  	// in the SATA controller.
 92742  	//
 92743  	// The number of SATA VirtualCdrom instances is
 92744  	// also limited by the number of available slots in the SATA controller.
 92745  	NumSATACdroms IntOption `xml:"numSATACdroms" json:"numSATACdroms"`
 92746  }
 92747  
 92748  func init() {
 92749  	t["VirtualSATAControllerOption"] = reflect.TypeOf((*VirtualSATAControllerOption)(nil)).Elem()
 92750  	minAPIVersionForType["VirtualSATAControllerOption"] = "5.5"
 92751  }
 92752  
 92753  // The VirtualSCSIController data object type represents
 92754  // a SCSI controller in a virtual machine.
 92755  type VirtualSCSIController struct {
 92756  	VirtualController
 92757  
 92758  	// All SCSI controllers support hot adding and removing of devices.
 92759  	//
 92760  	// This
 92761  	// support can't be toggled in the current implementation. Therefore, this
 92762  	// option is ignored when reconfiguring a SCSI controller and is always set
 92763  	// to "true" when reading an existing configuration.
 92764  	HotAddRemove *bool `xml:"hotAddRemove" json:"hotAddRemove,omitempty"`
 92765  	// Mode for sharing the SCSI bus.
 92766  	//
 92767  	// The modes are physicalSharing,
 92768  	// virtualSharing, and noSharing. See the
 92769  	// `Sharing`
 92770  	// data object type for an explanation of these modes.
 92771  	SharedBus VirtualSCSISharing `xml:"sharedBus" json:"sharedBus"`
 92772  	// The unit number of the SCSI controller.
 92773  	//
 92774  	// The SCSI controller sits on its
 92775  	// own bus, so this field defines which slot the controller is using.
 92776  	ScsiCtlrUnitNumber int32 `xml:"scsiCtlrUnitNumber,omitempty" json:"scsiCtlrUnitNumber,omitempty"`
 92777  }
 92778  
 92779  func init() {
 92780  	t["VirtualSCSIController"] = reflect.TypeOf((*VirtualSCSIController)(nil)).Elem()
 92781  }
 92782  
 92783  // The VirtualSCSIControllerOption data object type contains the options
 92784  // for a virtual SCSI controller defined by the
 92785  // `VirtualSCSIController`
 92786  // data object type.
 92787  type VirtualSCSIControllerOption struct {
 92788  	VirtualControllerOption
 92789  
 92790  	// Three properties (numSCSIDisks.min, numSCSIDisks.max, and
 92791  	// numSCSIDisks.defaultValue) define the minimum, maximum, and default
 92792  	// number of SCSI VirtualDisk instances available at any given time in the
 92793  	// SCSI controller.
 92794  	//
 92795  	// The number of SCSI VirtualDisk instances is
 92796  	// also limited by the number of available slots in the SCSI controller.
 92797  	NumSCSIDisks IntOption `xml:"numSCSIDisks" json:"numSCSIDisks"`
 92798  	// Three properties (numSCSICdroms.min, numSCSICdroms.max, and
 92799  	// numSCSICdroms.defaultValue) define the minimum, maximum, and default
 92800  	// number of SCSI VirtualCdrom instances available
 92801  	// in the SCSI controller.
 92802  	//
 92803  	// The number of SCSI VirtualCdrom instances is
 92804  	// also limited by the number of available slots in the SCSI controller.
 92805  	NumSCSICdroms IntOption `xml:"numSCSICdroms" json:"numSCSICdroms"`
 92806  	// Three properties (numSCSIPassthrough.min, numSCSIPassthrough.max, and
 92807  	// numSCSIPassthrough.defaultValue) define the minimum, maximum, and
 92808  	// default number of VirtualSCSIPassthrough instances available
 92809  	// have at any given time in the SCSI controller.
 92810  	//
 92811  	// The number of
 92812  	// VirtualSCSIPassthrough instances is also limited by the number of
 92813  	// available slots in the SCSI controller.
 92814  	NumSCSIPassthrough IntOption `xml:"numSCSIPassthrough" json:"numSCSIPassthrough"`
 92815  	// Supported shared bus modes.
 92816  	Sharing []VirtualSCSISharing `xml:"sharing" json:"sharing"`
 92817  	// Index into sharing array specifying the default value.
 92818  	DefaultSharedIndex int32 `xml:"defaultSharedIndex" json:"defaultSharedIndex"`
 92819  	// All SCSI controllers support hot adding and removing of devices.
 92820  	//
 92821  	// This
 92822  	// support can't be toggled in the current implementation. Therefore, this
 92823  	// option is ignored when reconfiguring a SCSI controller and is always set
 92824  	// to "true" when reading an existing configuration.
 92825  	HotAddRemove BoolOption `xml:"hotAddRemove" json:"hotAddRemove"`
 92826  	// The unit number of the SCSI controller.
 92827  	//
 92828  	// The SCSI controller sits on its
 92829  	// own bus, so that this field defines which slot the controller will use.
 92830  	ScsiCtlrUnitNumber int32 `xml:"scsiCtlrUnitNumber" json:"scsiCtlrUnitNumber"`
 92831  }
 92832  
 92833  func init() {
 92834  	t["VirtualSCSIControllerOption"] = reflect.TypeOf((*VirtualSCSIControllerOption)(nil)).Elem()
 92835  }
 92836  
 92837  // The VirtualSCSIPassthrough data object type contains information about a
 92838  // SCSI device on the virtual machine that is being backed by
 92839  // a generic SCSI device on the host via passthrough.
 92840  type VirtualSCSIPassthrough struct {
 92841  	VirtualDevice
 92842  }
 92843  
 92844  func init() {
 92845  	t["VirtualSCSIPassthrough"] = reflect.TypeOf((*VirtualSCSIPassthrough)(nil)).Elem()
 92846  }
 92847  
 92848  // The VirtualSCSIPassthrough.DeviceBackingInfo data object type
 92849  // contains information about the backing that maps the
 92850  // virtual device onto a physical device.
 92851  type VirtualSCSIPassthroughDeviceBackingInfo struct {
 92852  	VirtualDeviceDeviceBackingInfo
 92853  }
 92854  
 92855  func init() {
 92856  	t["VirtualSCSIPassthroughDeviceBackingInfo"] = reflect.TypeOf((*VirtualSCSIPassthroughDeviceBackingInfo)(nil)).Elem()
 92857  }
 92858  
 92859  // This data object type describes
 92860  // the options for the
 92861  // `VirtualSCSIPassthroughDeviceBackingInfo` data object type.
 92862  type VirtualSCSIPassthroughDeviceBackingOption struct {
 92863  	VirtualDeviceDeviceBackingOption
 92864  }
 92865  
 92866  func init() {
 92867  	t["VirtualSCSIPassthroughDeviceBackingOption"] = reflect.TypeOf((*VirtualSCSIPassthroughDeviceBackingOption)(nil)).Elem()
 92868  }
 92869  
 92870  // The VirtualSCSIPassthroughOption data object type describes the options
 92871  // for the
 92872  // `VirtualSCSIPassthrough`
 92873  // data object type.
 92874  type VirtualSCSIPassthroughOption struct {
 92875  	VirtualDeviceOption
 92876  }
 92877  
 92878  func init() {
 92879  	t["VirtualSCSIPassthroughOption"] = reflect.TypeOf((*VirtualSCSIPassthroughOption)(nil)).Elem()
 92880  }
 92881  
 92882  // This data object type defines a
 92883  // Super IO Controller for floppy drives, parallel ports,
 92884  // and serial ports.
 92885  type VirtualSIOController struct {
 92886  	VirtualController
 92887  }
 92888  
 92889  func init() {
 92890  	t["VirtualSIOController"] = reflect.TypeOf((*VirtualSIOController)(nil)).Elem()
 92891  }
 92892  
 92893  // The VirtualSIOControllerOption data object type contains the options
 92894  // for a virtual Super IO Controller.
 92895  type VirtualSIOControllerOption struct {
 92896  	VirtualControllerOption
 92897  
 92898  	// Three properties (numFloppyDrives.min, numFloppyDrives.max, and
 92899  	// numFloppyDrives.defaultValue) define the minimum, maximum, and default
 92900  	// number of floppy drives you can have at any given time in the Super IO
 92901  	// Controller.
 92902  	//
 92903  	// This is further constrained by the number of available
 92904  	// slots in the Super IO Controller.
 92905  	NumFloppyDrives IntOption `xml:"numFloppyDrives" json:"numFloppyDrives"`
 92906  	// Three properties (numSerialPorts.min, numSerialPorts.max, and
 92907  	// numSerialPorts.defaultValue) define the minimum, maximum, and default
 92908  	// number of serial ports you can
 92909  	// have at any given time in the Super IO Controller.
 92910  	//
 92911  	// This is further
 92912  	// constrained by the number of available slots in the Super IO
 92913  	// Controller.
 92914  	NumSerialPorts IntOption `xml:"numSerialPorts" json:"numSerialPorts"`
 92915  	// Three properties (numParallelPorts.min, numParallelPorts.max, and
 92916  	// numParallelPorts.defaultValue) define the minimum, maximum, and default
 92917  	// number of parallel ports you can
 92918  	// have at any given time in the Super IO controller.
 92919  	//
 92920  	// This is further
 92921  	// constrained by the number of available slots in the Super IO
 92922  	// Controller.
 92923  	NumParallelPorts IntOption `xml:"numParallelPorts" json:"numParallelPorts"`
 92924  }
 92925  
 92926  func init() {
 92927  	t["VirtualSIOControllerOption"] = reflect.TypeOf((*VirtualSIOControllerOption)(nil)).Elem()
 92928  }
 92929  
 92930  // The <code>`VirtualSerialPort`</code> data object represents a serial port
 92931  // on a virtual machine.
 92932  //
 92933  // A virtual serial port uses one of the following backing types to specify
 92934  // how the virtual machine performs serial port operations.
 92935  //   - Network backing (<code>`VirtualSerialPortURIBackingInfo`</code>)
 92936  //     supports a connection between the virtual machine and a resource
 92937  //     on the network. The virtual machine can initiate a connection with
 92938  //     the network resource, or it can listen for connections originating
 92939  //     from the network.
 92940  //   - Pipe backing (<code>`VirtualSerialPortPipeBackingInfo`</code>)
 92941  //     supports I/O through a named pipe. The pipe connects the virtual machine
 92942  //     to a host application or a virtual machine on the same host.
 92943  //   - File backing (<code>`VirtualSerialPortFileBackingInfo`</code>)
 92944  //     supports output through the virtual serial port to a file on the same host.
 92945  //   - Physical serial port backing
 92946  //     (<code>`VirtualSerialPortDeviceBackingInfo`</code>)
 92947  //     supports a connection between the virtual machine and a
 92948  //     device that is connected to a physical serial port on the host.
 92949  //   - ThinPrint backing (<code>`VirtualSerialPortThinPrintBackingInfo`</code>)
 92950  //     provides driver-free printing.
 92951  //
 92952  // When you use network backing, you can also configure a virtual serial port
 92953  // to use a virtual serial port concentrator. The virtual machine initiates
 92954  // a telnet connection with the concentrator, and the concentrator acts
 92955  // as a proxy between the virtual machine and a system on the network.
 92956  // By using a virtual serial port concentrator, you can maintain the connection
 92957  // between the virtual machine and the network resource
 92958  // when a vMotion event moves the virtual machine from one host to another.
 92959  // Without a virtual serial port concentrator, the connection would be lost.
 92960  // For information about using a serial port concentrator,
 92961  // see _Using a Proxy with vSphere Virtual Serial Ports_.
 92962  //
 92963  // You can configure a virtual serial port when you create or reconfigure
 92964  // a virtual machine. For example, to create a virtual serial port
 92965  // with network backing, use the following sequence of operations.
 92966  // In this procedure, the virtual serial port uses a proxy and will accept
 92967  // a network connection.
 92968  //
 92969  //  1. Use the <code>`EnvironmentBrowser.QueryConfigOption`</code> method
 92970  //     to determine the backing options that are available on a host.
 92971  //     The method returns a <code>`VirtualMachineConfigOption`</code> data object.
 92972  //     The virtual machine configuration data includes a list of backing options
 92973  //     (<code>`VirtualDeviceOption.backingOption`</code>).
 92974  //     The following pseudocode shows the path to the backing options.
 92975  //
 92976  //     &nbsp;&nbsp;&nbsp;&nbsp;<code>`VirtualMachineConfigOption`.hardwareOptions.VirtualDeviceOption\[\].backingOption\[\]</code>
 92977  //
 92978  //     The array of virtual device options can include a virtual serial port
 92979  //     (<code>`VirtualSerialPortOption`</code>). The array of serial port
 92980  //     backing options can include URI, file, pipe, or device backing options.
 92981  //
 92982  //  2. Use the <code>`Folder.CreateVM_Task`</code> method
 92983  //     (or the <code>`ResourcePool.CreateChildVM_Task`</code> method)
 92984  //     to create the virtual machine and configure the virtual serial port backing.
 92985  //     Create a <code>`VirtualMachineConfigSpec`</code> data object and nested
 92986  //     data objects for the method's <code>config</code> parameter.
 92987  //     The following pseudocode shows the resulting path to the backing
 92988  //     information.
 92989  //
 92990  //     &nbsp;&nbsp;&nbsp;&nbsp;<code>`VirtualMachineConfigSpec`.deviceChange\[\].device.backing</code>
 92991  //
 92992  //     Set the direction property to "server" to direct the virtual machine to accept
 92993  //     a connection. Set the serviceURI property to the URI for the host on which
 92994  //     the virtual machine runs.
 92995  //
 92996  // If you use physical device backing
 92997  // (<code>`VirtualSerialPortDeviceBackingOption`</code>),
 92998  // you should also use the <code>`EnvironmentBrowser.QueryConfigTarget`</code>
 92999  // method to determine if a serial device is available before configuring device backing.
 93000  type VirtualSerialPort struct {
 93001  	VirtualDevice
 93002  
 93003  	// Enables CPU yield behavior.
 93004  	//
 93005  	// If you set <code>yieldOnPoll</code> to <code>true</code>,
 93006  	// the virtual machine will periodically relinquish the processor if its sole task
 93007  	// is polling the virtual serial port. The amount of time it takes to regain
 93008  	// the processor will depend on the degree of other virtual machine activity on the host.
 93009  	//
 93010  	// To use this property, the CPU yield option must be supported. (See the
 93011  	// <code>`VirtualSerialPortOption.yieldOnPoll`</code> property for
 93012  	// the virtual serial port option object.)
 93013  	YieldOnPoll bool `xml:"yieldOnPoll" json:"yieldOnPoll"`
 93014  }
 93015  
 93016  func init() {
 93017  	t["VirtualSerialPort"] = reflect.TypeOf((*VirtualSerialPort)(nil)).Elem()
 93018  }
 93019  
 93020  // The <code>`VirtualSerialPortDeviceBackingInfo`</code> data object
 93021  // defines information for using a host serial port device as backing for a
 93022  // <code>`VirtualSerialPort`</code>.
 93023  //
 93024  // On a host, the first virtual machine
 93025  // to configure physical device backing for a virtual serial port will obtain
 93026  // the mapping. As long as that machine maintains the backing, any additional attempts
 93027  // to configure backing using that device will fail (a recoverable error, see
 93028  // the connection info <code>`VirtualDeviceConnectInfo.status`</code>).
 93029  type VirtualSerialPortDeviceBackingInfo struct {
 93030  	VirtualDeviceDeviceBackingInfo
 93031  }
 93032  
 93033  func init() {
 93034  	t["VirtualSerialPortDeviceBackingInfo"] = reflect.TypeOf((*VirtualSerialPortDeviceBackingInfo)(nil)).Elem()
 93035  }
 93036  
 93037  // The <code>`VirtualSerialPortDeviceBackingOption`</code> data object type
 93038  // contains the options for backing a serial port with a host serial port device.
 93039  type VirtualSerialPortDeviceBackingOption struct {
 93040  	VirtualDeviceDeviceBackingOption
 93041  }
 93042  
 93043  func init() {
 93044  	t["VirtualSerialPortDeviceBackingOption"] = reflect.TypeOf((*VirtualSerialPortDeviceBackingOption)(nil)).Elem()
 93045  }
 93046  
 93047  // The <code>`VirtualSerialPortFileBackingInfo`</code> data object provides
 93048  // information for backing a virtual serial port with a host file.
 93049  type VirtualSerialPortFileBackingInfo struct {
 93050  	VirtualDeviceFileBackingInfo
 93051  }
 93052  
 93053  func init() {
 93054  	t["VirtualSerialPortFileBackingInfo"] = reflect.TypeOf((*VirtualSerialPortFileBackingInfo)(nil)).Elem()
 93055  }
 93056  
 93057  // The <code>`VirtualSerialPortFileBackingOption`</code> data object type
 93058  // contains the options for backing a serial port with a host file.
 93059  type VirtualSerialPortFileBackingOption struct {
 93060  	VirtualDeviceFileBackingOption
 93061  }
 93062  
 93063  func init() {
 93064  	t["VirtualSerialPortFileBackingOption"] = reflect.TypeOf((*VirtualSerialPortFileBackingOption)(nil)).Elem()
 93065  }
 93066  
 93067  // The <code>`VirtualSerialPortOption`</code> data object contains the options
 93068  // for configuring the virtual serial port device defined by the
 93069  // <code>`VirtualSerialPort`</code> data object.
 93070  //
 93071  // These options include information about how the device is backed
 93072  // physically on the host: by a network socket, a host file, a host serial port device,
 93073  // or a pipe to another process.
 93074  type VirtualSerialPortOption struct {
 93075  	VirtualDeviceOption
 93076  
 93077  	// Indicates whether the virtual machine supports the CPU yield option during
 93078  	// virtual serial port polling.
 93079  	//
 93080  	// When this feature is supported and enabled,
 93081  	// the virtual machine will periodically relinquish the processor if its
 93082  	// sole task is polling the virtual serial port.
 93083  	//
 93084  	// If <code>yieldOnPoll.supported</code> is <code>false</code>, the virtual
 93085  	// machine ignores the virtual serial port object setting for
 93086  	// <code>`VirtualSerialPort.yieldOnPoll`</code>.
 93087  	YieldOnPoll BoolOption `xml:"yieldOnPoll" json:"yieldOnPoll"`
 93088  }
 93089  
 93090  func init() {
 93091  	t["VirtualSerialPortOption"] = reflect.TypeOf((*VirtualSerialPortOption)(nil)).Elem()
 93092  }
 93093  
 93094  // The <code>`VirtualSerialPortPipeBackingInfo`</code> data object defines information
 93095  // for backing a <code>`VirtualSerialPort`</code> with a named pipe.
 93096  //
 93097  // You can use a pipe to connect a virtual serial port to a host
 93098  // application or to another virtual machine on the host computer.
 93099  // This is useful for capturing debugging information sent through
 93100  // the virtual serial port.
 93101  type VirtualSerialPortPipeBackingInfo struct {
 93102  	VirtualDevicePipeBackingInfo
 93103  
 93104  	// Indicates the role the virtual machine assumes as an endpoint
 93105  	// for the pipe.
 93106  	//
 93107  	// The valid values are "client" or "server".
 93108  	Endpoint string `xml:"endpoint" json:"endpoint"`
 93109  	// Enables optimized data transfer over the pipe.
 93110  	//
 93111  	// When you use this feature,
 93112  	// the ESX server buffers data to prevent data overrun.
 93113  	// This allows the virtual machine to read
 93114  	// all of the data transferred over the pipe with no data loss.
 93115  	// To use optimized data transfer, set <code>noRxLoss</code> to <code>true</code>.
 93116  	// To disable this feature, set the property to <code>false.
 93117  	//
 93118  	// This property is optional. If this property is not set, the ESX server
 93119  	// uses the default value specified in the pipe backing options
 93120  	// (noRxLoss.defaultValue - see
 93121  	// <code>`VirtualSerialPortPipeBackingOption.noRxLoss`</code>
 93122  	// in the pipe backing option object).
 93123  	//
 93124  	// To use this property, optimized data transfer must be supported on the host.
 93125  	// (See <code>`VirtualSerialPortPipeBackingOption.noRxLoss`</code>
 93126  	// in the pipe backing option object.)
 93127  	// If the ESX server does not support the option, it ignores the
 93128  	// <code>noRxLoss</code> setting in the pipe backing information object.
 93129  	//
 93130  	// `*Note*`: You can use this feature even if the other end of the pipe
 93131  	// is not an application, but this is more likely to fail.
 93132  	NoRxLoss *bool `xml:"noRxLoss" json:"noRxLoss,omitempty"`
 93133  }
 93134  
 93135  func init() {
 93136  	t["VirtualSerialPortPipeBackingInfo"] = reflect.TypeOf((*VirtualSerialPortPipeBackingInfo)(nil)).Elem()
 93137  }
 93138  
 93139  // The <code>`VirtualSerialPortPipeBackingOption`</code> data object contains
 93140  // the options for backing a serial port device with a pipe to another process.
 93141  type VirtualSerialPortPipeBackingOption struct {
 93142  	VirtualDevicePipeBackingOption
 93143  
 93144  	// Indicates the choices available and the default setting
 93145  	// for the pipe endpoint.
 93146  	//
 93147  	// As an endpoint, the virtual machine can act
 93148  	// as a client or a server.
 93149  	Endpoint ChoiceOption `xml:"endpoint" json:"endpoint"`
 93150  	// Indicates whether the server supports optimized data transfer
 93151  	// over the pipe and also specifies default behavior.
 93152  	//
 93153  	// When this feature is supported and enabled, the server buffers data
 93154  	// to prevent data overrun. This allows the virtual machine to read all
 93155  	// of the data transferred over the pipe with no data loss.
 93156  	//
 93157  	// If optimized data transfer is supported (<code>noRxLoss.supported</code>
 93158  	// is <code>true</code>):
 93159  	//     - You can enable (or disable) the feature explicitly by setting the
 93160  	//       <code>`VirtualSerialPortPipeBackingInfo.noRxLoss`</code>
 93161  	//       property on the pipe backing information object.
 93162  	//     - If you do not set the
 93163  	//       <code>`VirtualSerialPortPipeBackingInfo.noRxLoss`</code>
 93164  	//       property on the
 93165  	//       the pipe backing information object, the server enables
 93166  	//       optimized data transfer if the <code>noRxLoss.defaultValue</code>
 93167  	//       property on the pipe backing options object is <code>true</code>.
 93168  	//
 93169  	// If <code>noRxLoss.supported</code> is <code>false</code>, the server
 93170  	// ignores the optimization settings.
 93171  	//
 93172  	// `*Note*`: You can use this feature even if the other end of the pipe
 93173  	// is not an application, but it is more likely to fail.
 93174  	NoRxLoss BoolOption `xml:"noRxLoss" json:"noRxLoss"`
 93175  }
 93176  
 93177  func init() {
 93178  	t["VirtualSerialPortPipeBackingOption"] = reflect.TypeOf((*VirtualSerialPortPipeBackingOption)(nil)).Elem()
 93179  }
 93180  
 93181  // The <code>`VirtualSerialPortThinPrintBackingInfo`</code> data object defines
 93182  // information required for backing a <code>`VirtualSerialPort`</code> with a
 93183  // ThinPrint device.
 93184  type VirtualSerialPortThinPrintBackingInfo struct {
 93185  	VirtualDeviceBackingInfo
 93186  }
 93187  
 93188  func init() {
 93189  	t["VirtualSerialPortThinPrintBackingInfo"] = reflect.TypeOf((*VirtualSerialPortThinPrintBackingInfo)(nil)).Elem()
 93190  	minAPIVersionForType["VirtualSerialPortThinPrintBackingInfo"] = "5.1"
 93191  }
 93192  
 93193  // The <code>`VirtualSerialPortThinPrintBackingOption`</code> data
 93194  // object type contains the options for backing a serial port with a ThinPrint device.
 93195  type VirtualSerialPortThinPrintBackingOption struct {
 93196  	VirtualDeviceBackingOption
 93197  }
 93198  
 93199  func init() {
 93200  	t["VirtualSerialPortThinPrintBackingOption"] = reflect.TypeOf((*VirtualSerialPortThinPrintBackingOption)(nil)).Elem()
 93201  	minAPIVersionForType["VirtualSerialPortThinPrintBackingOption"] = "5.1"
 93202  }
 93203  
 93204  // The <code>`VirtualSerialPortURIBackingInfo`</code> data object
 93205  // specifies network backing for a <code>`VirtualSerialPort`</code>.
 93206  //
 93207  // You can use URI backing to create a network serial port on the virtual machine,
 93208  // supporting connections between the virtual machine and remote systems.
 93209  //
 93210  // When a virtual machine establishes a connection with a remote system on the network,
 93211  // the virtual machine can act as a server or a client. When the virtual machine
 93212  // acts as a server, it accepts a connection. When the virtual machine acts as a client,
 93213  // it initiates the connection.
 93214  //
 93215  // You can configure the virtual serial port for communication through a
 93216  // virtual serial port concentrator that acts as a proxy between the virtual
 93217  // machine and the network. When you specify a
 93218  // <code>`VirtualDeviceURIBackingInfo.proxyURI`</code>,
 93219  // the virtual machine initiates the connection with the concentrator
 93220  // and forwards the <code>`VirtualDeviceURIBackingInfo.direction`</code>
 93221  // and <code>`VirtualDeviceURIBackingInfo.serviceURI`</code>
 93222  // to the concentrator.
 93223  // For information about using a virtual serial port concentrator,
 93224  // see _Using a Proxy with vSphere Virtual Serial Ports_.
 93225  //
 93226  // ESX hosts support different protocols depending on your virtual serial port configuration.
 93227  //
 93228  //   - If the virtual machine is handling the network connection
 93229  //     directly (no <code>`VirtualDeviceURIBackingInfo.proxyURI`</code> specified),
 93230  //     you can use telnet, TCP, and SSL protocols.
 93231  //     The <code>`VirtualDeviceURIBackingInfo.serviceURI`</code>
 93232  //     must use one of the following URI schemes:
 93233  //
 93234  //   - <code>&lt;host&gt;:&lt;port&gt;</code> - this is the equivalent of
 93235  //     <code>tcp://&lt;host&gt;:&lt;port&gt;</code>.
 93236  //
 93237  //   - <code>tcp://&lt;host&gt;:&lt;port&gt;</code> - unencrypted TCP connection
 93238  //     (IPv4 or IPv6).
 93239  //
 93240  //   - <code>tcp4://&lt;host&gt;:&lt;port&gt;</code> - unencrypted TCP connection
 93241  //     (IPv4 only).
 93242  //
 93243  //   - <code>tcp6://&lt;host&gt;:&lt;port&gt;</code> - unencrypted TCP connection
 93244  //     (IPv6 only).
 93245  //
 93246  //   - <code>ssl://&lt;host&gt;:&lt;port&gt;</code> - this is the equivalent of
 93247  //     <code>tcp+ssl://&lt;host&gt;:&lt;port&gt;</code>.
 93248  //
 93249  //   - <code>tcp+ssl://&lt;host&gt;:&lt;port&gt;</code> - encrypted SSL over TCP.
 93250  //
 93251  //   - <code>tcp4+ssl://&lt;host&gt;:&lt;port&gt;</code> - SSL over TCP over IPv4.
 93252  //
 93253  //   - <code>tcp6+ssl://&lt;host&gt;:&lt;port&gt;</code> - SSL over TCP over IPv6.
 93254  //
 93255  //   - <code>telnet://&lt;host&gt;:&lt;port&gt;</code> - telnet over TCP.
 93256  //     The virtual machine and remote system can negotiate and use SSL if the remote
 93257  //     system supports the telnet authentication option; if not, the connection
 93258  //     uses unencrypted text (plaintext).
 93259  //
 93260  //   - <code>telnets://&lt;host&gt;:&lt;port&gt;</code> - telnet over SSL over TCP.
 93261  //     In this case, SSL negotiation begins immediately and you cannot use
 93262  //     the telnet authentication option.
 93263  //
 93264  //     As of vSphere 5.1 you can specify authentication parameters to support an encrypted
 93265  //     connection with a remote system using SSL over telnet or telnets.
 93266  //     The connection will fail if the peer does not support the protocols.
 93267  //     You cannot use certificate verification when you specify
 93268  //     <code>tcp</code>, <code>tcp4</code>, or <code>tcp6</code> schemas. For information
 93269  //     about parameter specification, see <a href="#authparam">Authentication Parameters</a>
 93270  //     below.
 93271  //
 93272  //   - If you are using a <code>`VirtualDeviceURIBackingInfo.proxyURI`</code>
 93273  //     to connect to a virtual serial port concentrator, the URI scheme for
 93274  //     the communication between the remote system on the network and the concentrator
 93275  //     depends on the concentrator implementation. The connection between
 93276  //     the concentrator and the virtual serial port must use telnet or secure telnet
 93277  //     (telnets). The proxy URI must use one of the following URI schemes. You cannot
 93278  //     specify a username and password in the proxy URI.
 93279  //
 93280  //   - <code>telnet://&lt;host&gt;:&lt;port&gt;</code>- telnet over TCP.
 93281  //     The virtual machine and remote system can negotiate and use SSL if the remote
 93282  //     system supports the telnet authentication option; if not, the connection
 93283  //     uses unencrypted text (plaintext).
 93284  //
 93285  //   - <code>telnets://&lt;host&gt;:&lt;port&gt;</code> - telnet over SSL over TCP.
 93286  //     In this case, SSL negotiation starts immediately and you cannot use
 93287  //     the telnet authentication option.
 93288  //
 93289  //     As of vSphere 5.1 you can specify authentication parameters to support an encrypted
 93290  //     connection with a concentrator using SSL over telnet or telnets.
 93291  //     The connection will fail if the concentrator does not support the protocols.
 93292  //     For information about parameter specification,
 93293  //     see <a href="#authparam">Authentication Parameters</a> below.
 93294  //
 93295  // <a name="authparam"></a>
 93296  // **Authentication Parameters**
 93297  //
 93298  // For an encrypted connection, the URI includes a set of authentication
 93299  // parameters. The parameters are specified as key words or key/value pairs.
 93300  // The following syntax description uses <code>telnet</code>; you can also
 93301  // specify authentication parameters for secure telnet (<code>telnets</code>).
 93302  //
 93303  // <code>telnet://&lt;host&gt;:&lt;port&gt;&num;key\[=value\]\[&amp;key\[=value\] ...\]</code>
 93304  //
 93305  // The first parameter must have a number sign (&num;) prefix. Additional parameters
 93306  // must have an ampersand (&amp;) prefix. The following list shows the valid parameters.
 93307  //   - <code>certificate=value</code> - Specifies a certificate in PEM format
 93308  //     against which the peer certificate is compared.
 93309  //     When you specify a certificate, certificate verification is automatically enabled.
 93310  //     See the description of the <code>verify</code> parameter below.
 93311  //   - <code>thumbprint=value</code> - Specifies a certificate thumbprint against
 93312  //     which the peer certificate thumbprint is compared. When you specify a thumbprint,
 93313  //     certificate verification is automatically enabled. See the description of the
 93314  //     <code>verify</code> parameter below.
 93315  //   - <code>peerName=value</code> - Specifies the peer name that will be used
 93316  //     to validate the peer certificate. When you specify a peer name,
 93317  //     certificate verification is automatically enabled. See the description of the
 93318  //     <code>verify</code> parameter below.
 93319  //   - <code>verify</code> - Forces certificate verification. The virtual machine
 93320  //     will verify that the peer certificate subject matches the specified
 93321  //     <code>peerName</code> and that it was signed by a certificate authority
 93322  //     known to the ESXi host. Verification is automatically enabled if you specify a
 93323  //     <code>certificate</code>, <code>thumbprint</code>, or <code>peerName</code>.
 93324  //   - <code>cipherList=value</code> - Specifies a list of SSL ciphers.
 93325  //     See <a href="http://www.openssl.org/docs/apps/ciphers.html">OpenSSL ciphers</a>.
 93326  //     The ciphers are specified as a list separated by colons, spaces, or commas.
 93327  //
 93328  // For information about URI format, see
 93329  // <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC 2396</a>.
 93330  type VirtualSerialPortURIBackingInfo struct {
 93331  	VirtualDeviceURIBackingInfo
 93332  }
 93333  
 93334  func init() {
 93335  	t["VirtualSerialPortURIBackingInfo"] = reflect.TypeOf((*VirtualSerialPortURIBackingInfo)(nil)).Elem()
 93336  	minAPIVersionForType["VirtualSerialPortURIBackingInfo"] = "4.1"
 93337  }
 93338  
 93339  // The <code>`VirtualSerialPortURIBackingOption`</code> data object type
 93340  // contains the options for using a network socket as backing for a virtual serial port.
 93341  type VirtualSerialPortURIBackingOption struct {
 93342  	VirtualDeviceURIBackingOption
 93343  }
 93344  
 93345  func init() {
 93346  	t["VirtualSerialPortURIBackingOption"] = reflect.TypeOf((*VirtualSerialPortURIBackingOption)(nil)).Elem()
 93347  	minAPIVersionForType["VirtualSerialPortURIBackingOption"] = "4.1"
 93348  }
 93349  
 93350  // The VirtualSoundBlaster16 data object type represents a Sound
 93351  // Blaster 16 sound card in a virtual machine.
 93352  type VirtualSoundBlaster16 struct {
 93353  	VirtualSoundCard
 93354  }
 93355  
 93356  func init() {
 93357  	t["VirtualSoundBlaster16"] = reflect.TypeOf((*VirtualSoundBlaster16)(nil)).Elem()
 93358  }
 93359  
 93360  // The VirtualSoundBlaster16Option data object type contains the options for a
 93361  // virtual SoundBlaster 16 sound card.
 93362  type VirtualSoundBlaster16Option struct {
 93363  	VirtualSoundCardOption
 93364  }
 93365  
 93366  func init() {
 93367  	t["VirtualSoundBlaster16Option"] = reflect.TypeOf((*VirtualSoundBlaster16Option)(nil)).Elem()
 93368  }
 93369  
 93370  // This data object type represents a sound card in
 93371  // a virtual machine.
 93372  type VirtualSoundCard struct {
 93373  	VirtualDevice
 93374  }
 93375  
 93376  func init() {
 93377  	t["VirtualSoundCard"] = reflect.TypeOf((*VirtualSoundCard)(nil)).Elem()
 93378  }
 93379  
 93380  // The sound card device backing data class.
 93381  type VirtualSoundCardDeviceBackingInfo struct {
 93382  	VirtualDeviceDeviceBackingInfo
 93383  }
 93384  
 93385  func init() {
 93386  	t["VirtualSoundCardDeviceBackingInfo"] = reflect.TypeOf((*VirtualSoundCardDeviceBackingInfo)(nil)).Elem()
 93387  }
 93388  
 93389  // The VirtualSoundCardBackingOption class contains the options
 93390  // for the virtual sound card backing class.
 93391  type VirtualSoundCardDeviceBackingOption struct {
 93392  	VirtualDeviceDeviceBackingOption
 93393  }
 93394  
 93395  func init() {
 93396  	t["VirtualSoundCardDeviceBackingOption"] = reflect.TypeOf((*VirtualSoundCardDeviceBackingOption)(nil)).Elem()
 93397  }
 93398  
 93399  // The VirtualSoundCardOption data class contains the options for the
 93400  // virtual sound card class.
 93401  type VirtualSoundCardOption struct {
 93402  	VirtualDeviceOption
 93403  }
 93404  
 93405  func init() {
 93406  	t["VirtualSoundCardOption"] = reflect.TypeOf((*VirtualSoundCardOption)(nil)).Elem()
 93407  }
 93408  
 93409  // The `VirtualSriovEthernetCard` data object defines the properties
 93410  // of a SR-IOV enabled Ethernet card attached to a virtual machine.
 93411  type VirtualSriovEthernetCard struct {
 93412  	VirtualEthernetCard
 93413  
 93414  	// Indicates whether MTU can be changed from guest OS.
 93415  	AllowGuestOSMtuChange *bool `xml:"allowGuestOSMtuChange" json:"allowGuestOSMtuChange,omitempty"`
 93416  	// Information about SR-IOV passthrough backing of this VirtualSriovEthernetCard.
 93417  	//
 93418  	// During an edit operation, if this value is unset, no changes to the
 93419  	// SR-IOV backing will be made. During an add operation, if this is unset,
 93420  	// an automatic physical function assignment scheme as described above will be used.
 93421  	// This field is ignored and must be unset if this VirtualSriovEthernetCard
 93422  	// is a DVX device, in which case the dvxBackingInfo field is set. In other
 93423  	// words, sriovBacking and dvxBackingInfo cannot both be set at any time.
 93424  	SriovBacking *VirtualSriovEthernetCardSriovBackingInfo `xml:"sriovBacking,omitempty" json:"sriovBacking,omitempty"`
 93425  	// Information about DVX backing of this VirtualSriovEthernetCard.
 93426  	//
 93427  	// This field is set if and only if this VirtualSriovEthernetCard is a DVX
 93428  	// device.
 93429  	DvxBackingInfo *VirtualPCIPassthroughDvxBackingInfo `xml:"dvxBackingInfo,omitempty" json:"dvxBackingInfo,omitempty" vim:"8.0.0.1"`
 93430  }
 93431  
 93432  func init() {
 93433  	t["VirtualSriovEthernetCard"] = reflect.TypeOf((*VirtualSriovEthernetCard)(nil)).Elem()
 93434  	minAPIVersionForType["VirtualSriovEthernetCard"] = "5.5"
 93435  }
 93436  
 93437  // The VirtualSriovEthernetCardOption data object contains the options for the
 93438  // VirtualSriovEthernetCard data object type.
 93439  type VirtualSriovEthernetCardOption struct {
 93440  	VirtualEthernetCardOption
 93441  }
 93442  
 93443  func init() {
 93444  	t["VirtualSriovEthernetCardOption"] = reflect.TypeOf((*VirtualSriovEthernetCardOption)(nil)).Elem()
 93445  	minAPIVersionForType["VirtualSriovEthernetCardOption"] = "5.5"
 93446  }
 93447  
 93448  // The `VirtualSriovEthernetCardSriovBackingInfo`
 93449  // data object contains information about the SR-IOV physical function and
 93450  // virtual function backing for a passthrough NIC.
 93451  type VirtualSriovEthernetCardSriovBackingInfo struct {
 93452  	VirtualDeviceBackingInfo
 93453  
 93454  	// Physical function backing for this device.
 93455  	//
 93456  	// A specific physical function can be assigned to the device by specifying
 93457  	// its id but the VirtualSriovNetworkCard can also be configured for automatic physical
 93458  	// function assignment by providing a special value "Automatic-0000:00:00.0"
 93459  	// as `VirtualPCIPassthroughDeviceBackingInfo.id`. This is supported if there is
 93460  	// an associated SR-IOV network device pool for the network specified in
 93461  	// `VirtualDevice.backing` - in that case a physical function from
 93462  	// the pool, if available, will be assigned to this device during power on.
 93463  	// During reconfigure, if an SR-IOV backing is provided, the physical function backing
 93464  	// may not be left unset.
 93465  	// A value of "Automatic-" followed by a valid physical function id
 93466  	// in `VirtualPCIPassthroughDeviceBackingInfo.id` indicates that assignment
 93467  	// is automatic and the physical function in question is the one that has currently
 93468  	// been assigned.
 93469  	PhysicalFunctionBacking *VirtualPCIPassthroughDeviceBackingInfo `xml:"physicalFunctionBacking,omitempty" json:"physicalFunctionBacking,omitempty"`
 93470  	// Virtual function backing for this device.
 93471  	//
 93472  	// During reconfigure, if this is unset, any currently assigned virtual function
 93473  	// will be overwritten and a new one will be selected. If
 93474  	// `VirtualPCIPassthroughDeviceBackingInfo.id` contains a valid id for
 93475  	// a virtual function of the currently assigned physical function, this acts as
 93476  	// a hint and, if possible, the specified virtual function will be the one
 93477  	// allocated for the device.
 93478  	// When a virtual function is yet to be assigned to the device (e.g. if the VM
 93479  	// has not been powered on yet), the virtual function backing will be unset.
 93480  	VirtualFunctionBacking *VirtualPCIPassthroughDeviceBackingInfo `xml:"virtualFunctionBacking,omitempty" json:"virtualFunctionBacking,omitempty"`
 93481  	VirtualFunctionIndex   int32                                   `xml:"virtualFunctionIndex,omitempty" json:"virtualFunctionIndex,omitempty"`
 93482  }
 93483  
 93484  func init() {
 93485  	t["VirtualSriovEthernetCardSriovBackingInfo"] = reflect.TypeOf((*VirtualSriovEthernetCardSriovBackingInfo)(nil)).Elem()
 93486  	minAPIVersionForType["VirtualSriovEthernetCardSriovBackingInfo"] = "5.5"
 93487  }
 93488  
 93489  // This data object contains the option for SriovBackingInfo data
 93490  // of the virtual network SR-IOV card object type.
 93491  type VirtualSriovEthernetCardSriovBackingOption struct {
 93492  	VirtualDeviceBackingOption
 93493  }
 93494  
 93495  func init() {
 93496  	t["VirtualSriovEthernetCardSriovBackingOption"] = reflect.TypeOf((*VirtualSriovEthernetCardSriovBackingOption)(nil)).Elem()
 93497  	minAPIVersionForType["VirtualSriovEthernetCardSriovBackingOption"] = "5.5"
 93498  }
 93499  
 93500  // The `VirtualSwitchProfile` data object represents a subprofile
 93501  // for a virtual switch.
 93502  //
 93503  // If a profile plug-in defines policies or subprofiles, use the
 93504  // `ApplyProfile.policy` or `ApplyProfile.property`
 93505  // list to access the additional configuration data.
 93506  type VirtualSwitchProfile struct {
 93507  	ApplyProfile
 93508  
 93509  	// Linkable identifier.
 93510  	Key string `xml:"key" json:"key"`
 93511  	// Name of the standard virtual switch(VSS).
 93512  	Name string `xml:"name" json:"name"`
 93513  	// Links that are connected to the virtual switch.
 93514  	Link LinkProfile `xml:"link" json:"link"`
 93515  	// Number of ports on the virtual switch.
 93516  	NumPorts NumPortsProfile `xml:"numPorts" json:"numPorts"`
 93517  	// Network policy/policies for the virtual switch.
 93518  	NetworkPolicy NetworkPolicyProfile `xml:"networkPolicy" json:"networkPolicy"`
 93519  }
 93520  
 93521  func init() {
 93522  	t["VirtualSwitchProfile"] = reflect.TypeOf((*VirtualSwitchProfile)(nil)).Elem()
 93523  	minAPIVersionForType["VirtualSwitchProfile"] = "4.0"
 93524  }
 93525  
 93526  // The `VirtualSwitchSelectionProfile` data object represents
 93527  // the virtual switch that is connected to a port group.
 93528  //
 93529  // The `ApplyProfile.policy` property contains
 93530  // the configuration data values for the virtual switch.
 93531  type VirtualSwitchSelectionProfile struct {
 93532  	ApplyProfile
 93533  }
 93534  
 93535  func init() {
 93536  	t["VirtualSwitchSelectionProfile"] = reflect.TypeOf((*VirtualSwitchSelectionProfile)(nil)).Elem()
 93537  	minAPIVersionForType["VirtualSwitchSelectionProfile"] = "4.0"
 93538  }
 93539  
 93540  // This data object type represents a TPM 2.0 module
 93541  // in a virtual machine.
 93542  type VirtualTPM struct {
 93543  	VirtualDevice
 93544  
 93545  	// Endorsement Key Certificate Signing Request in DER format.
 93546  	//
 93547  	// There may be more than one - one for RSA 2048, one for ECC NIST P256,
 93548  	// and any number of other signing requests for other algorithms.
 93549  	EndorsementKeyCertificateSigningRequest [][]byte `xml:"endorsementKeyCertificateSigningRequest,omitempty" json:"endorsementKeyCertificateSigningRequest,omitempty"`
 93550  	// Endorsement Key Certificate in DER format.
 93551  	//
 93552  	// There may be more than one. Indices in this array do not match
 93553  	// indices in `VirtualTPM.endorsementKeyCertificateSigningRequest` array,
 93554  	// entries must be matched by comparing fields in DER data between
 93555  	// certificate signing requests and certificates.
 93556  	EndorsementKeyCertificate [][]byte `xml:"endorsementKeyCertificate,omitempty" json:"endorsementKeyCertificate,omitempty"`
 93557  }
 93558  
 93559  func init() {
 93560  	t["VirtualTPM"] = reflect.TypeOf((*VirtualTPM)(nil)).Elem()
 93561  	minAPIVersionForType["VirtualTPM"] = "6.7"
 93562  }
 93563  
 93564  // This data object type contains the options for the
 93565  // virtual TPM class.
 93566  type VirtualTPMOption struct {
 93567  	VirtualDeviceOption
 93568  
 93569  	// List of supported firmware selections, using
 93570  	// `GuestOsDescriptorFirmwareType_enum` enumeration.
 93571  	//
 93572  	// There is at least one value in this array.
 93573  	SupportedFirmware []string `xml:"supportedFirmware,omitempty" json:"supportedFirmware,omitempty"`
 93574  }
 93575  
 93576  func init() {
 93577  	t["VirtualTPMOption"] = reflect.TypeOf((*VirtualTPMOption)(nil)).Elem()
 93578  	minAPIVersionForType["VirtualTPMOption"] = "6.7"
 93579  }
 93580  
 93581  // The `VirtualUSB` data object describes the USB device configuration
 93582  // for a virtual machine.
 93583  //
 93584  // You can attach a USB device to an ESX host.
 93585  // The device is available to only one virtual machine at a time. When you remove
 93586  // the device from the virtual machine, it becomes available to other virtual machines
 93587  // located on the host. You can add up to 20 USB devices to a virtual machine.
 93588  // Virtual USB support requires virtual machine hardware version 7 or later.
 93589  //
 93590  // The `VirtualUSB` object represents either a configuration to be applied to
 93591  // the virtual machine or the current device configuration on the virtual machine.
 93592  //
 93593  //   - To configure a USB connection for the virtual machine, add a `VirtualUSB`
 93594  //     object to the `VirtualDeviceConfigSpec`.
 93595  //     Use USB backing (`VirtualUSBUSBBackingInfo`) to establish
 93596  //     a connection with a virtual machine that will remain on the host to which
 93597  //     the USB device is attached.
 93598  //     The vSphere Server does not support vMotion for standard USB backing.
 93599  //     To configure vMotion support for a virtual machine with a USB connection,
 93600  //     use remote host backing for the USB connection
 93601  //     (`VirtualUSBRemoteHostBackingInfo`).
 93602  //
 93603  //     To configure a USB device for a virtual machine, the virtual machine
 93604  //     must have a USB controller. To add a controller, include a
 93605  //     `VirtualUSBController` object in the virtual device
 93606  //     specification for your virtual machine configuration. You can add only one
 93607  //     USB controller to a virtual machine.
 93608  //
 93609  //   - To determine USB device configuration status for the virtual machine,
 93610  //     check the virtual hardware device list
 93611  //     (`VirtualHardware*.*VirtualHardware.device`).
 93612  //     The presence of the `VirtualUSB` object in the hardware device list
 93613  //     indicates that the virtual machine is configured to use a USB device.
 93614  //     The `VirtualUSB.connected` property indicates
 93615  //     whether the virtual machine is connected to the device.
 93616  //
 93617  // To determine the USB options available on the host, use the
 93618  // `EnvironmentBrowser.QueryConfigOption` method to retrieve the virtual
 93619  // machine configuration. The presence of the `VirtualUSBOption`
 93620  // object in the retrieved configuration
 93621  // (`VirtualMachineConfigOption*.*VirtualMachineConfigOption.hardwareOptions*.*VirtualHardwareOption.virtualDeviceOption`)
 93622  // indicates that the host supports USB connections.
 93623  //
 93624  // The following operations will disconnect a USB device, losing data if data transfer
 93625  // is in progress over the USB connection.
 93626  //   - Hot add of memory, CPU, or PCI devices. A hot add operation disconnects only
 93627  //     USB devices for virtual machines that use a local connection to the device
 93628  //     (`VirtualUSBUSBBackingInfo`).
 93629  //   - Suspend and resume on a virtual machine.
 93630  //   - vMotion of a virtual machine with a USB connection,
 93631  //     if you are not using remote host USB backing.
 93632  //
 93633  // The following services do not support USB connections.
 93634  //   - Fault Tolerance virtual machines cannot use USB devices.
 93635  //   - DPM (Distributed Power Management) will put a host into standby,
 93636  //     regardless of any connections to USB devices on the host.
 93637  //   - DRS (Distributed Resource Scheduling) may power-off hosts that have
 93638  //     USB connections to virtual machines.
 93639  type VirtualUSB struct {
 93640  	VirtualDevice
 93641  
 93642  	// Flag indicating whether the device is currently connected.
 93643  	//
 93644  	// The virtual machine is not connected to the device if the autoconnect pattern
 93645  	// specified in the USB device backing
 93646  	// (`VirtualDeviceDeviceBackingInfo*.*VirtualDeviceDeviceBackingInfo.deviceName`)
 93647  	// can not be satisfied, either
 93648  	// because there is no such device, or the matching device is not
 93649  	// available. Valid only while the virtual machine is running.
 93650  	Connected bool `xml:"connected" json:"connected" vim:"2.5"`
 93651  	// Vendor ID of the USB device.
 93652  	Vendor int32 `xml:"vendor,omitempty" json:"vendor,omitempty" vim:"4.1"`
 93653  	// Product ID of the USB device.
 93654  	Product int32 `xml:"product,omitempty" json:"product,omitempty" vim:"4.1"`
 93655  	// Device class families.
 93656  	//
 93657  	// For possible values see
 93658  	// `VirtualMachineUsbInfoFamily_enum`.
 93659  	Family []string `xml:"family,omitempty" json:"family,omitempty" vim:"4.1"`
 93660  	// Device speeds detected by server.
 93661  	//
 93662  	// For possible values see
 93663  	// `VirtualMachineUsbInfoSpeed_enum`.
 93664  	Speed []string `xml:"speed,omitempty" json:"speed,omitempty" vim:"4.1"`
 93665  }
 93666  
 93667  func init() {
 93668  	t["VirtualUSB"] = reflect.TypeOf((*VirtualUSB)(nil)).Elem()
 93669  }
 93670  
 93671  // The `VirtualUSBController` data object describes a virtual USB controller
 93672  // and contains a list of the devices connected to the controller.
 93673  //
 93674  // A virtual machine must have a virtual USB controller before you can add
 93675  // a USB device to the virtual machine configuration. To add a controller,
 93676  // include a `VirtualUSBController` object in the
 93677  // `VirtualDeviceConfigSpec` for your virtual machine configuration.
 93678  // You can add only one controller to a virtual machine.
 93679  // A virtual USB controller supports up to 20 USB device connections on the
 93680  // virtual machine.
 93681  //
 93682  // The ESX Server host must have the USB controller hardware and modules
 93683  // that support USB 2.0 and USB1.1.
 93684  // You can use a maximum of 15 USB controllers on a host. If your system
 93685  // includes an additional number of controllers with connected devices,
 93686  // the additional devices will not be available to virtual machines on the host.
 93687  //
 93688  // You must remove all USB devices from a virtual machine before you can
 93689  // remove the USB controller.
 93690  type VirtualUSBController struct {
 93691  	VirtualController
 93692  
 93693  	// Flag to indicate whether or not the ability to hot plug devices
 93694  	// is enabled on this controller.
 93695  	AutoConnectDevices *bool `xml:"autoConnectDevices" json:"autoConnectDevices,omitempty"`
 93696  	// Flag to indicate whether or not enhanced host controller
 93697  	// interface (USB 2.0) is enabled on this controller.
 93698  	EhciEnabled *bool `xml:"ehciEnabled" json:"ehciEnabled,omitempty" vim:"2.5"`
 93699  }
 93700  
 93701  func init() {
 93702  	t["VirtualUSBController"] = reflect.TypeOf((*VirtualUSBController)(nil)).Elem()
 93703  }
 93704  
 93705  // The VirtualUSBControllerOption data object type contains the options
 93706  // for a virtual USB Host Controller Interface.
 93707  type VirtualUSBControllerOption struct {
 93708  	VirtualControllerOption
 93709  
 93710  	// Flag to indicate whether or not the ability to autoconnect devices
 93711  	// is enabled for this virtual USB controller.
 93712  	AutoConnectDevices BoolOption `xml:"autoConnectDevices" json:"autoConnectDevices"`
 93713  	// Flag to indicate whether or not enhanced host controller
 93714  	// interface (USB 2.0) is available on this virtual USB controller.
 93715  	EhciSupported BoolOption `xml:"ehciSupported" json:"ehciSupported" vim:"2.5"`
 93716  	// Range of USB device speeds supported by this USB controller type.
 93717  	//
 93718  	// Acceptable values are specified at `VirtualMachineUsbInfoSpeed_enum`.
 93719  	SupportedSpeeds []string `xml:"supportedSpeeds,omitempty" json:"supportedSpeeds,omitempty" vim:"5.0"`
 93720  }
 93721  
 93722  func init() {
 93723  	t["VirtualUSBControllerOption"] = reflect.TypeOf((*VirtualUSBControllerOption)(nil)).Elem()
 93724  }
 93725  
 93726  // The <code>`VirtualUSBControllerPciBusSlotInfo`</code> data object type
 93727  // defines information about the pci bus slots of usb controller device
 93728  // in a virtual machine.
 93729  type VirtualUSBControllerPciBusSlotInfo struct {
 93730  	VirtualDevicePciBusSlotInfo
 93731  
 93732  	// The pci slot number of eHCI controller.
 93733  	//
 93734  	// This property should be used only when the ehciEnabled property
 93735  	// is set to true.
 93736  	EhciPciSlotNumber int32 `xml:"ehciPciSlotNumber,omitempty" json:"ehciPciSlotNumber,omitempty"`
 93737  }
 93738  
 93739  func init() {
 93740  	t["VirtualUSBControllerPciBusSlotInfo"] = reflect.TypeOf((*VirtualUSBControllerPciBusSlotInfo)(nil)).Elem()
 93741  	minAPIVersionForType["VirtualUSBControllerPciBusSlotInfo"] = "5.1"
 93742  }
 93743  
 93744  // The `VirtualUSBOption` data object type contains options for
 93745  // USB device configuration on a virtual machine.
 93746  //
 93747  // The vSphere API supports
 93748  // the following options:
 93749  //   - Local host USB connection
 93750  //     (`VirtualUSBUSBBackingOption`)
 93751  //   - Remote host USB connection
 93752  //     (`VirtualUSBRemoteHostBackingOption`)
 93753  //
 93754  // For information about USB device configuration, see `VirtualUSB`.
 93755  type VirtualUSBOption struct {
 93756  	VirtualDeviceOption
 93757  }
 93758  
 93759  func init() {
 93760  	t["VirtualUSBOption"] = reflect.TypeOf((*VirtualUSBOption)(nil)).Elem()
 93761  }
 93762  
 93763  // The virtual remote client USB device backing class.
 93764  type VirtualUSBRemoteClientBackingInfo struct {
 93765  	VirtualDeviceRemoteDeviceBackingInfo
 93766  
 93767  	// Hostname of the remote client where the physical USB device resides.
 93768  	Hostname string `xml:"hostname" json:"hostname"`
 93769  }
 93770  
 93771  func init() {
 93772  	t["VirtualUSBRemoteClientBackingInfo"] = reflect.TypeOf((*VirtualUSBRemoteClientBackingInfo)(nil)).Elem()
 93773  	minAPIVersionForType["VirtualUSBRemoteClientBackingInfo"] = "5.0"
 93774  }
 93775  
 93776  // This data object type contains the options for
 93777  // the virtual remote USB client backing data object type.
 93778  type VirtualUSBRemoteClientBackingOption struct {
 93779  	VirtualDeviceRemoteDeviceBackingOption
 93780  }
 93781  
 93782  func init() {
 93783  	t["VirtualUSBRemoteClientBackingOption"] = reflect.TypeOf((*VirtualUSBRemoteClientBackingOption)(nil)).Elem()
 93784  	minAPIVersionForType["VirtualUSBRemoteClientBackingOption"] = "5.0"
 93785  }
 93786  
 93787  // The `VirtualUSBRemoteHostBackingInfo` data object
 93788  // identifies a host and a USB device that is attached to the host.
 93789  //
 93790  // Use this object to configure support for persistent access to the USB device
 93791  // when vMotion operations migrate a virtual machine to a different host.
 93792  // The vCenter Server will not migrate the virtual machine to a host
 93793  // that does not support the USB remote host backing capability.
 93794  //
 93795  // Specify remote host backing as part of the USB device configuration
 93796  // when you create or reconfigure a virtual machine
 93797  // (`VirtualMachineConfigSpec*.*VirtualMachineConfigSpec.deviceChange*.*VirtualDeviceConfigSpec.device*.*VirtualDevice.backing`).
 93798  //
 93799  // To identify the USB device, you specify an autoconnect pattern
 93800  // for the `VirtualDeviceDeviceBackingInfo.deviceName`.
 93801  // The virtual machine can connect to the USB device if the ESX server
 93802  // can find a USB device described by the autoconnect pattern.
 93803  // The autoconnect pattern consists of name:value pairs. You can
 93804  // use any combination of the following fields.
 93805  //   - path - USB connection path on the host
 93806  //   - pid - idProduct field in the USB device descriptor
 93807  //   - vid - idVendor field in the USB device descriptor
 93808  //   - hostId - unique ID for the host
 93809  //   - speed - device speed (low, full, or high)
 93810  //
 93811  // For example, the following pattern identifies a USB device:
 93812  //
 93813  // &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>
 93814  //
 93815  // This pattern identifies the USB device connected to port 1/3/0 on the
 93816  // host with the unique id <code>0x44454c4c430010548035cac04f4d3731</code>.
 93817  //
 93818  // Special characters for autoconnect pattern values:
 93819  //   - The name and value are separated by a colon (:).
 93820  //   - Name:value pairs are separated by spaces.
 93821  //   - The escape character is a backslash (\\). Use a single backslash to embed
 93822  //     a space in a value. Use a double blackslash to embed a single backslash
 93823  //     in the value.
 93824  type VirtualUSBRemoteHostBackingInfo struct {
 93825  	VirtualDeviceDeviceBackingInfo
 93826  
 93827  	// Name of the ESX host to which the physical USB device is attached
 93828  	// (`HostSystem*.*ManagedEntity.name`).
 93829  	//
 93830  	// When you configure remote host backing, hostname must identify
 93831  	// the local host on which the virtual machine is running.
 93832  	Hostname string `xml:"hostname" json:"hostname"`
 93833  }
 93834  
 93835  func init() {
 93836  	t["VirtualUSBRemoteHostBackingInfo"] = reflect.TypeOf((*VirtualUSBRemoteHostBackingInfo)(nil)).Elem()
 93837  	minAPIVersionForType["VirtualUSBRemoteHostBackingInfo"] = "4.1"
 93838  }
 93839  
 93840  // The `VirtualUSBRemoteHostBackingOption` data object
 93841  // contains options for remote host USB configuration.
 93842  //
 93843  // This backing option
 93844  // indicates support for persistent USB connections when vMotion operations
 93845  // migrate virtual machines to different hosts.
 93846  type VirtualUSBRemoteHostBackingOption struct {
 93847  	VirtualDeviceDeviceBackingOption
 93848  }
 93849  
 93850  func init() {
 93851  	t["VirtualUSBRemoteHostBackingOption"] = reflect.TypeOf((*VirtualUSBRemoteHostBackingOption)(nil)).Elem()
 93852  	minAPIVersionForType["VirtualUSBRemoteHostBackingOption"] = "4.1"
 93853  }
 93854  
 93855  // The `VirtualUSBUSBBackingInfo` data object
 93856  // identifies a USB device on the host where the virtual machine
 93857  // is located.
 93858  //
 93859  // This type of backing supports only a local connection
 93860  // where the virtual machine will remain on the host to which the
 93861  // USB device is attached.
 93862  //
 93863  // To identify the USB device, you specify an autoconnect pattern
 93864  // for the `VirtualDeviceDeviceBackingInfo.deviceName`.
 93865  // The virtual machine can connect to the USB device if the ESX server
 93866  // can find a USB device described by the autoconnect pattern.
 93867  // The autoconnect pattern consists of name:value pairs. You can
 93868  // use any combination of the following fields.
 93869  //   - path - USB connection path on the host
 93870  //   - pid - idProduct field in the USB device descriptor
 93871  //   - vid - idVendor field in the USB device descriptor
 93872  //   - hostId - unique ID for the host
 93873  //   - speed - device speed (low, full, or high)
 93874  //
 93875  // For example, the following pattern identifies a USB device:
 93876  //
 93877  // &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>
 93878  //
 93879  // This pattern identifies the USB device connected to port 1/3/0 on the
 93880  // host with the unique id <code>0x44454c4c430010548035cac04f4d3731</code>.
 93881  //
 93882  // Special characters for autoconnect pattern values:
 93883  //   - The name and value are separated by a colon (:).
 93884  //   - Name:value pairs are separated by spaces.
 93885  //   - The escape character is a backslash (\\). Use a single backslash to embed
 93886  //     a space in a value. Use a double blackslash to embed a single backslash
 93887  //     in the value.
 93888  type VirtualUSBUSBBackingInfo struct {
 93889  	VirtualDeviceDeviceBackingInfo
 93890  }
 93891  
 93892  func init() {
 93893  	t["VirtualUSBUSBBackingInfo"] = reflect.TypeOf((*VirtualUSBUSBBackingInfo)(nil)).Elem()
 93894  	minAPIVersionForType["VirtualUSBUSBBackingInfo"] = "2.5"
 93895  }
 93896  
 93897  // The `VirtualUSBUSBBackingOption` data object
 93898  // contains the options for virtual backing for a USB device.
 93899  //
 93900  // This backing option indicates support for a local connection where
 93901  // the virtual machine will remain on the host to which the USB device
 93902  // is attached.
 93903  type VirtualUSBUSBBackingOption struct {
 93904  	VirtualDeviceDeviceBackingOption
 93905  }
 93906  
 93907  func init() {
 93908  	t["VirtualUSBUSBBackingOption"] = reflect.TypeOf((*VirtualUSBUSBBackingOption)(nil)).Elem()
 93909  	minAPIVersionForType["VirtualUSBUSBBackingOption"] = "2.5"
 93910  }
 93911  
 93912  // The `VirtualUSBXHCIController` data object describes a virtual
 93913  // USB Extensible Host Controller Interface (USB 3.0).
 93914  //
 93915  // For more informatino see `VirtualUSBController`.
 93916  type VirtualUSBXHCIController struct {
 93917  	VirtualController
 93918  
 93919  	// Flag to indicate whether or not the ability to hot plug devices
 93920  	// is enabled on this controller.
 93921  	AutoConnectDevices *bool `xml:"autoConnectDevices" json:"autoConnectDevices,omitempty"`
 93922  }
 93923  
 93924  func init() {
 93925  	t["VirtualUSBXHCIController"] = reflect.TypeOf((*VirtualUSBXHCIController)(nil)).Elem()
 93926  	minAPIVersionForType["VirtualUSBXHCIController"] = "5.0"
 93927  }
 93928  
 93929  // The VirtualUSBXHCIControllerOption data object type contains the options
 93930  // for a virtual USB Extensible Host Controller Interface (USB 3.0).
 93931  type VirtualUSBXHCIControllerOption struct {
 93932  	VirtualControllerOption
 93933  
 93934  	// Flag to indicate whether or not the ability to autoconnect devices
 93935  	// is enabled for this virtual USB controller.
 93936  	AutoConnectDevices BoolOption `xml:"autoConnectDevices" json:"autoConnectDevices"`
 93937  	// Range of USB device speeds supported by this USB controller type.
 93938  	//
 93939  	// Acceptable values are specified at `VirtualMachineUsbInfoSpeed_enum`.
 93940  	SupportedSpeeds []string `xml:"supportedSpeeds" json:"supportedSpeeds"`
 93941  }
 93942  
 93943  func init() {
 93944  	t["VirtualUSBXHCIControllerOption"] = reflect.TypeOf((*VirtualUSBXHCIControllerOption)(nil)).Elem()
 93945  	minAPIVersionForType["VirtualUSBXHCIControllerOption"] = "5.0"
 93946  }
 93947  
 93948  // This data object type contains the options for the
 93949  // `VirtualVMIROM` data object type.
 93950  type VirtualVMIROMOption struct {
 93951  	VirtualDeviceOption
 93952  }
 93953  
 93954  func init() {
 93955  	t["VirtualVMIROMOption"] = reflect.TypeOf((*VirtualVMIROMOption)(nil)).Elem()
 93956  	minAPIVersionForType["VirtualVMIROMOption"] = "2.5"
 93957  }
 93958  
 93959  // This data object type contains the options for the
 93960  // `VirtualVideoCard` data object type.
 93961  type VirtualVideoCardOption struct {
 93962  	VirtualDeviceOption
 93963  
 93964  	// Minimum, maximum and default size of the video frame buffer.
 93965  	VideoRamSizeInKB *LongOption `xml:"videoRamSizeInKB,omitempty" json:"videoRamSizeInKB,omitempty"`
 93966  	// Minimum, maximum and default value for the number of displays.
 93967  	NumDisplays *IntOption `xml:"numDisplays,omitempty" json:"numDisplays,omitempty" vim:"2.5 U2"`
 93968  	// Flag to indicate whether the display settings of the host should
 93969  	// be used to automatically determine the display settings of the
 93970  	// virtual machine's video card.
 93971  	UseAutoDetect *BoolOption `xml:"useAutoDetect,omitempty" json:"useAutoDetect,omitempty" vim:"2.5 U2"`
 93972  	// Flag to indicate whether the virtual video card supports 3D functions.
 93973  	Support3D *BoolOption `xml:"support3D,omitempty" json:"support3D,omitempty" vim:"2.5 U2"`
 93974  	// Flag to indicate whether the virtual video card can specify how to render 3D graphics.
 93975  	Use3dRendererSupported *BoolOption `xml:"use3dRendererSupported,omitempty" json:"use3dRendererSupported,omitempty" vim:"5.1"`
 93976  	// The minimum, maximum, and default values for graphics memory size.
 93977  	GraphicsMemorySizeInKB *LongOption `xml:"graphicsMemorySizeInKB,omitempty" json:"graphicsMemorySizeInKB,omitempty" vim:"6.0"`
 93978  	// Flag to indicate whether the virtual video card can specify the size
 93979  	// of graphics memory.
 93980  	GraphicsMemorySizeSupported *BoolOption `xml:"graphicsMemorySizeSupported,omitempty" json:"graphicsMemorySizeSupported,omitempty" vim:"6.0"`
 93981  }
 93982  
 93983  func init() {
 93984  	t["VirtualVideoCardOption"] = reflect.TypeOf((*VirtualVideoCardOption)(nil)).Elem()
 93985  }
 93986  
 93987  // The VirtualVmxnet data object type represents an instance
 93988  // of the Vmxnet virtual Ethernet adapter attached to a virtual machine.
 93989  type VirtualVmxnet struct {
 93990  	VirtualEthernetCard
 93991  }
 93992  
 93993  func init() {
 93994  	t["VirtualVmxnet"] = reflect.TypeOf((*VirtualVmxnet)(nil)).Elem()
 93995  }
 93996  
 93997  // The VirtualVmxnet2 data object type represents an instance
 93998  // of the Vmxnet2 virtual Ethernet adapter attached to a virtual machine.
 93999  type VirtualVmxnet2 struct {
 94000  	VirtualVmxnet
 94001  }
 94002  
 94003  func init() {
 94004  	t["VirtualVmxnet2"] = reflect.TypeOf((*VirtualVmxnet2)(nil)).Elem()
 94005  	minAPIVersionForType["VirtualVmxnet2"] = "2.5"
 94006  }
 94007  
 94008  // The VirtualVmxnet2Option data object type contains the options for the
 94009  // `VirtualVmxnet2` data object type.
 94010  type VirtualVmxnet2Option struct {
 94011  	VirtualVmxnetOption
 94012  }
 94013  
 94014  func init() {
 94015  	t["VirtualVmxnet2Option"] = reflect.TypeOf((*VirtualVmxnet2Option)(nil)).Elem()
 94016  	minAPIVersionForType["VirtualVmxnet2Option"] = "2.5"
 94017  }
 94018  
 94019  // The VirtualVmxnet3 data object type represents an instance
 94020  // of the Vmxnet3 virtual Ethernet adapter attached to a virtual machine.
 94021  type VirtualVmxnet3 struct {
 94022  	VirtualVmxnet
 94023  
 94024  	// Indicates whether UPTv2(Uniform Pass-through version 2) compatibility is
 94025  	// enabled on this network adapter.
 94026  	//
 94027  	// UPTv2 is only available on Vmxnet3
 94028  	// adapter. Clients can set this property enabled or disabled if ethernet
 94029  	// virtual device is Vmxnet3. It requires the VM hardware version is
 94030  	// compatible with ESXi version which has enabled smartnic feature.
 94031  	Uptv2Enabled *bool `xml:"uptv2Enabled" json:"uptv2Enabled,omitempty" vim:"8.0.0.1"`
 94032  }
 94033  
 94034  func init() {
 94035  	t["VirtualVmxnet3"] = reflect.TypeOf((*VirtualVmxnet3)(nil)).Elem()
 94036  	minAPIVersionForType["VirtualVmxnet3"] = "2.5 U2"
 94037  }
 94038  
 94039  // The VirtualVmxnet3Option data object type contains the options for the
 94040  // `VirtualVmxnet3` data object type.
 94041  type VirtualVmxnet3Option struct {
 94042  	VirtualVmxnetOption
 94043  
 94044  	// Flag to indicate whether UPTv2(Uniform Pass-through version 2) is
 94045  	// settable on this device.
 94046  	Uptv2Enabled *BoolOption `xml:"uptv2Enabled,omitempty" json:"uptv2Enabled,omitempty" vim:"8.0.0.1"`
 94047  }
 94048  
 94049  func init() {
 94050  	t["VirtualVmxnet3Option"] = reflect.TypeOf((*VirtualVmxnet3Option)(nil)).Elem()
 94051  	minAPIVersionForType["VirtualVmxnet3Option"] = "2.5 U2"
 94052  }
 94053  
 94054  // The VirtualVmxnet3Vrdma data object type represents an instance of the
 94055  // VRDMA virtual Remote Direct Memory Access adapter attached to a virtual
 94056  // machine.
 94057  type VirtualVmxnet3Vrdma struct {
 94058  	VirtualVmxnet3
 94059  
 94060  	// VRDMA Device protocol.
 94061  	//
 94062  	// See
 94063  	// `VirtualVmxnet3VrdmaOptionDeviceProtocols_enum` for more information.
 94064  	DeviceProtocol string `xml:"deviceProtocol,omitempty" json:"deviceProtocol,omitempty" vim:"6.7"`
 94065  }
 94066  
 94067  func init() {
 94068  	t["VirtualVmxnet3Vrdma"] = reflect.TypeOf((*VirtualVmxnet3Vrdma)(nil)).Elem()
 94069  	minAPIVersionForType["VirtualVmxnet3Vrdma"] = "6.5"
 94070  }
 94071  
 94072  // The VirtualVmxnet3VrdmaOption data object type contains the options for the
 94073  // `VirtualVmxnet3Vrdma` data object type.
 94074  type VirtualVmxnet3VrdmaOption struct {
 94075  	VirtualVmxnet3Option
 94076  
 94077  	// The supported device protocols.
 94078  	DeviceProtocol *ChoiceOption `xml:"deviceProtocol,omitempty" json:"deviceProtocol,omitempty" vim:"6.7"`
 94079  }
 94080  
 94081  func init() {
 94082  	t["VirtualVmxnet3VrdmaOption"] = reflect.TypeOf((*VirtualVmxnet3VrdmaOption)(nil)).Elem()
 94083  	minAPIVersionForType["VirtualVmxnet3VrdmaOption"] = "6.5"
 94084  }
 94085  
 94086  // The VirtualVmxnetOption data object type contains the options for the
 94087  // `VirtualVmxnet` data object type.
 94088  type VirtualVmxnetOption struct {
 94089  	VirtualEthernetCardOption
 94090  }
 94091  
 94092  func init() {
 94093  	t["VirtualVmxnetOption"] = reflect.TypeOf((*VirtualVmxnetOption)(nil)).Elem()
 94094  }
 94095  
 94096  // This data object type represents a watchdog timer in a virtual machine.
 94097  type VirtualWDT struct {
 94098  	VirtualDevice
 94099  
 94100  	// Flag to indicate if the virtual watchdog timer device should be
 94101  	// initialized as the Enabled/Stopped or Enabled/Running sub-state.
 94102  	//
 94103  	// If not set, the device will default to being initialized as the
 94104  	// Enabled/Stopped sub-state.
 94105  	RunOnBoot bool `xml:"runOnBoot" json:"runOnBoot"`
 94106  	// Flag to indicate if the virtual watchdog timer device is currently
 94107  	// in the Enabled/Running state.
 94108  	//
 94109  	// The guest can cause state changes,
 94110  	// which will result in this flag being either set or cleared.
 94111  	Running bool `xml:"running" json:"running"`
 94112  }
 94113  
 94114  func init() {
 94115  	t["VirtualWDT"] = reflect.TypeOf((*VirtualWDT)(nil)).Elem()
 94116  	minAPIVersionForType["VirtualWDT"] = "7.0"
 94117  }
 94118  
 94119  // This data object type contains the options for the
 94120  // virtual watchdog timer class.
 94121  type VirtualWDTOption struct {
 94122  	VirtualDeviceOption
 94123  
 94124  	// Flag to indicate whether or not the "run on boot" option
 94125  	// is settable on this device.
 94126  	RunOnBoot BoolOption `xml:"runOnBoot" json:"runOnBoot"`
 94127  }
 94128  
 94129  func init() {
 94130  	t["VirtualWDTOption"] = reflect.TypeOf((*VirtualWDTOption)(nil)).Elem()
 94131  	minAPIVersionForType["VirtualWDTOption"] = "7.0"
 94132  }
 94133  
 94134  // The `VlanProfile` data object represents
 94135  // the VLAN identifier subprofile.
 94136  //
 94137  // The `ApplyProfile.policy`
 94138  // property contains the configuration data values for the VLAN identifier.
 94139  type VlanProfile struct {
 94140  	ApplyProfile
 94141  }
 94142  
 94143  func init() {
 94144  	t["VlanProfile"] = reflect.TypeOf((*VlanProfile)(nil)).Elem()
 94145  	minAPIVersionForType["VlanProfile"] = "4.0"
 94146  }
 94147  
 94148  // This event records a user successfully acquiring an MKS ticket
 94149  type VmAcquiredMksTicketEvent struct {
 94150  	VmEvent
 94151  }
 94152  
 94153  func init() {
 94154  	t["VmAcquiredMksTicketEvent"] = reflect.TypeOf((*VmAcquiredMksTicketEvent)(nil)).Elem()
 94155  	minAPIVersionForType["VmAcquiredMksTicketEvent"] = "2.5"
 94156  }
 94157  
 94158  // This event records a user successfully acquiring a ticket
 94159  type VmAcquiredTicketEvent struct {
 94160  	VmEvent
 94161  
 94162  	// The type of the ticket @see VirtualMachine.TicketType
 94163  	TicketType string `xml:"ticketType" json:"ticketType"`
 94164  }
 94165  
 94166  func init() {
 94167  	t["VmAcquiredTicketEvent"] = reflect.TypeOf((*VmAcquiredTicketEvent)(nil)).Elem()
 94168  	minAPIVersionForType["VmAcquiredTicketEvent"] = "4.1"
 94169  }
 94170  
 94171  // Fault thrown when moving a standalone host between datacenters, and
 94172  // one or more of the virtual machines registered on the host are already
 94173  // registered to hosts in the target datacenter.
 94174  type VmAlreadyExistsInDatacenter struct {
 94175  	InvalidFolder
 94176  
 94177  	// The target host.
 94178  	//
 94179  	// Refers instance of `HostSystem`.
 94180  	Host ManagedObjectReference `xml:"host" json:"host"`
 94181  	// Name of the target host.
 94182  	Hostname string `xml:"hostname" json:"hostname"`
 94183  	// Virtual machines in the target datacenter which have the same
 94184  	// registration information as those belonging to the target host.
 94185  	//
 94186  	// Refers instances of `VirtualMachine`.
 94187  	Vm []ManagedObjectReference `xml:"vm" json:"vm"`
 94188  }
 94189  
 94190  func init() {
 94191  	t["VmAlreadyExistsInDatacenter"] = reflect.TypeOf((*VmAlreadyExistsInDatacenter)(nil)).Elem()
 94192  	minAPIVersionForType["VmAlreadyExistsInDatacenter"] = "4.0"
 94193  }
 94194  
 94195  type VmAlreadyExistsInDatacenterFault VmAlreadyExistsInDatacenter
 94196  
 94197  func init() {
 94198  	t["VmAlreadyExistsInDatacenterFault"] = reflect.TypeOf((*VmAlreadyExistsInDatacenterFault)(nil)).Elem()
 94199  }
 94200  
 94201  // This event records that a virtual machine was automatically renamed
 94202  // because of a name conflict.
 94203  type VmAutoRenameEvent struct {
 94204  	VmEvent
 94205  
 94206  	// The name of the virtual machine before renaming.
 94207  	OldName string `xml:"oldName" json:"oldName"`
 94208  	// The name of the virtual machine after renaming.
 94209  	NewName string `xml:"newName" json:"newName"`
 94210  }
 94211  
 94212  func init() {
 94213  	t["VmAutoRenameEvent"] = reflect.TypeOf((*VmAutoRenameEvent)(nil)).Elem()
 94214  }
 94215  
 94216  // This event records a virtual machine being cloned.
 94217  type VmBeingClonedEvent struct {
 94218  	VmCloneEvent
 94219  
 94220  	// The destination folder to which the virtual machine is being cloned.
 94221  	DestFolder FolderEventArgument `xml:"destFolder" json:"destFolder"`
 94222  	// The name of the destination virtual machine.
 94223  	DestName string `xml:"destName" json:"destName"`
 94224  	// The destination host to which the virtual machine is being cloned.
 94225  	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
 94226  }
 94227  
 94228  func init() {
 94229  	t["VmBeingClonedEvent"] = reflect.TypeOf((*VmBeingClonedEvent)(nil)).Elem()
 94230  }
 94231  
 94232  // This event records a virtual machine being cloned.
 94233  type VmBeingClonedNoFolderEvent struct {
 94234  	VmCloneEvent
 94235  
 94236  	// The name of the destination virtual machine.
 94237  	DestName string `xml:"destName" json:"destName"`
 94238  	// The destination host to which the virtual machine is being cloned.
 94239  	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
 94240  }
 94241  
 94242  func init() {
 94243  	t["VmBeingClonedNoFolderEvent"] = reflect.TypeOf((*VmBeingClonedNoFolderEvent)(nil)).Elem()
 94244  	minAPIVersionForType["VmBeingClonedNoFolderEvent"] = "4.1"
 94245  }
 94246  
 94247  // This event records a virtual machine being created.
 94248  type VmBeingCreatedEvent struct {
 94249  	VmEvent
 94250  
 94251  	// The configuration specification that was used to create this virtual machine.
 94252  	ConfigSpec *VirtualMachineConfigSpec `xml:"configSpec,omitempty" json:"configSpec,omitempty"`
 94253  }
 94254  
 94255  func init() {
 94256  	t["VmBeingCreatedEvent"] = reflect.TypeOf((*VmBeingCreatedEvent)(nil)).Elem()
 94257  }
 94258  
 94259  // This event records a virtual machine being deployed from a template.
 94260  type VmBeingDeployedEvent struct {
 94261  	VmEvent
 94262  
 94263  	// The template object from which the virtual machine is being deployed.
 94264  	SrcTemplate VmEventArgument `xml:"srcTemplate" json:"srcTemplate"`
 94265  }
 94266  
 94267  func init() {
 94268  	t["VmBeingDeployedEvent"] = reflect.TypeOf((*VmBeingDeployedEvent)(nil)).Elem()
 94269  }
 94270  
 94271  // This event records that a virtual machine is being hot-migrated.
 94272  type VmBeingHotMigratedEvent struct {
 94273  	VmEvent
 94274  
 94275  	// The destination host to which the virtual machine is to be migrated.
 94276  	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
 94277  	// The destination datacenter to which the virtual machine is being migrated
 94278  	DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty" json:"destDatacenter,omitempty" vim:"5.0"`
 94279  	// The destination primary datastore to which the virtual machine is being migrated
 94280  	DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty" json:"destDatastore,omitempty" vim:"5.0"`
 94281  }
 94282  
 94283  func init() {
 94284  	t["VmBeingHotMigratedEvent"] = reflect.TypeOf((*VmBeingHotMigratedEvent)(nil)).Elem()
 94285  }
 94286  
 94287  // This event records that a virtual machine is being migrated.
 94288  type VmBeingMigratedEvent struct {
 94289  	VmEvent
 94290  
 94291  	// The destination host.
 94292  	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
 94293  	// The destination datacenter
 94294  	DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty" json:"destDatacenter,omitempty" vim:"5.0"`
 94295  	// The destination primary datastore
 94296  	DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty" json:"destDatastore,omitempty" vim:"5.0"`
 94297  }
 94298  
 94299  func init() {
 94300  	t["VmBeingMigratedEvent"] = reflect.TypeOf((*VmBeingMigratedEvent)(nil)).Elem()
 94301  }
 94302  
 94303  // This event records that a virtual machine is being relocated.
 94304  type VmBeingRelocatedEvent struct {
 94305  	VmRelocateSpecEvent
 94306  
 94307  	// The destination host to which the virtual machine is being relocated.
 94308  	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
 94309  	// The destination datacenter to which the virtual machine is being relocated
 94310  	DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty" json:"destDatacenter,omitempty" vim:"5.0"`
 94311  	// The destination primary datastore to which the virtual machine is being relocated
 94312  	DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty" json:"destDatastore,omitempty" vim:"5.0"`
 94313  }
 94314  
 94315  func init() {
 94316  	t["VmBeingRelocatedEvent"] = reflect.TypeOf((*VmBeingRelocatedEvent)(nil)).Elem()
 94317  }
 94318  
 94319  // The is the base event for all clone operations.
 94320  type VmCloneEvent struct {
 94321  	VmEvent
 94322  }
 94323  
 94324  func init() {
 94325  	t["VmCloneEvent"] = reflect.TypeOf((*VmCloneEvent)(nil)).Elem()
 94326  }
 94327  
 94328  // This event records a failure to clone a virtual machine.
 94329  type VmCloneFailedEvent struct {
 94330  	VmCloneEvent
 94331  
 94332  	// The destination folder to which the virtual machine is being cloned.
 94333  	DestFolder FolderEventArgument `xml:"destFolder" json:"destFolder"`
 94334  	// The name of the destination virtual machine.
 94335  	DestName string `xml:"destName" json:"destName"`
 94336  	// The destination host to which the virtual machine was being cloned.
 94337  	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
 94338  	// The reason why this clone operation failed.
 94339  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 94340  }
 94341  
 94342  func init() {
 94343  	t["VmCloneFailedEvent"] = reflect.TypeOf((*VmCloneFailedEvent)(nil)).Elem()
 94344  }
 94345  
 94346  // This event records the completion of a virtual machine cloning operation.
 94347  type VmClonedEvent struct {
 94348  	VmCloneEvent
 94349  
 94350  	// The source virtual machine for the clone operation.
 94351  	SourceVm VmEventArgument `xml:"sourceVm" json:"sourceVm"`
 94352  }
 94353  
 94354  func init() {
 94355  	t["VmClonedEvent"] = reflect.TypeOf((*VmClonedEvent)(nil)).Elem()
 94356  }
 94357  
 94358  // Base for configuration / environment issues that can be thrown when powering on or
 94359  // changing the configuration of a virtual machine.
 94360  //
 94361  // Subclasses of this fault is also
 94362  // used as recent why a migration can fail.
 94363  type VmConfigFault struct {
 94364  	VimFault
 94365  }
 94366  
 94367  func init() {
 94368  	t["VmConfigFault"] = reflect.TypeOf((*VmConfigFault)(nil)).Elem()
 94369  }
 94370  
 94371  type VmConfigFaultFault BaseVmConfigFault
 94372  
 94373  func init() {
 94374  	t["VmConfigFaultFault"] = reflect.TypeOf((*VmConfigFaultFault)(nil)).Elem()
 94375  }
 94376  
 94377  // The encryption information of a virtual machine configuration.
 94378  type VmConfigFileEncryptionInfo struct {
 94379  	DynamicData
 94380  
 94381  	// The key identifier for an encrypted virtual machine
 94382  	// configuration file.
 94383  	//
 94384  	// If the virtual machine configuration file is encrypted, then
 94385  	// the keyId is set and indicates the identifier that can be
 94386  	// used to lookup the key material. Unset if the virtual machine
 94387  	// configuration file is not encrypted.
 94388  	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty"`
 94389  }
 94390  
 94391  func init() {
 94392  	t["VmConfigFileEncryptionInfo"] = reflect.TypeOf((*VmConfigFileEncryptionInfo)(nil)).Elem()
 94393  	minAPIVersionForType["VmConfigFileEncryptionInfo"] = "6.5"
 94394  }
 94395  
 94396  // This data object type describes a virtual machine configuration file.
 94397  type VmConfigFileInfo struct {
 94398  	FileInfo
 94399  
 94400  	ConfigVersion int32 `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
 94401  	// The encryption information of the virtual machine
 94402  	// configuration file.
 94403  	//
 94404  	// If encryption was selected in VmConfigFileQueryFlags then this
 94405  	// field is always set. Inspect the VmConfigEncryptionInfo to
 94406  	// determine if the virtual machine configuration file is encrypted.
 94407  	Encryption *VmConfigFileEncryptionInfo `xml:"encryption,omitempty" json:"encryption,omitempty" vim:"6.5"`
 94408  }
 94409  
 94410  func init() {
 94411  	t["VmConfigFileInfo"] = reflect.TypeOf((*VmConfigFileInfo)(nil)).Elem()
 94412  }
 94413  
 94414  // This data object type describes query specification for the virtual machine
 94415  // configuration file.
 94416  type VmConfigFileQuery struct {
 94417  	FileQuery
 94418  
 94419  	// The filter specification for the virtual machine configuration file query.
 94420  	Filter *VmConfigFileQueryFilter `xml:"filter,omitempty" json:"filter,omitempty"`
 94421  	// The details specification for the virtual machine configuration file query.
 94422  	Details *VmConfigFileQueryFlags `xml:"details,omitempty" json:"details,omitempty"`
 94423  }
 94424  
 94425  func init() {
 94426  	t["VmConfigFileQuery"] = reflect.TypeOf((*VmConfigFileQuery)(nil)).Elem()
 94427  }
 94428  
 94429  // The filter for the virtual machine configuration file.
 94430  type VmConfigFileQueryFilter struct {
 94431  	DynamicData
 94432  
 94433  	// If this property is set, only the virtual machine configuration files that
 94434  	// match one of the specified configuration versions are selected.
 94435  	//
 94436  	// If no
 94437  	// versions are specified, this search criteria is ignored.
 94438  	MatchConfigVersion []int32 `xml:"matchConfigVersion,omitempty" json:"matchConfigVersion,omitempty"`
 94439  	// This optional property can be used to filter virtual
 94440  	// machine configuration files based on whether they are
 94441  	// encrypted or not.
 94442  	Encrypted *bool `xml:"encrypted" json:"encrypted,omitempty" vim:"6.5"`
 94443  }
 94444  
 94445  func init() {
 94446  	t["VmConfigFileQueryFilter"] = reflect.TypeOf((*VmConfigFileQueryFilter)(nil)).Elem()
 94447  }
 94448  
 94449  type VmConfigFileQueryFlags struct {
 94450  	DynamicData
 94451  
 94452  	// The flag to indicate whether or not the configuration file version number is
 94453  	// returned.
 94454  	ConfigVersion bool `xml:"configVersion" json:"configVersion"`
 94455  	// The flag to indicate whether the encryption information of the
 94456  	// virtual machine configuration is returned.
 94457  	Encryption *bool `xml:"encryption" json:"encryption,omitempty" vim:"6.5"`
 94458  }
 94459  
 94460  func init() {
 94461  	t["VmConfigFileQueryFlags"] = reflect.TypeOf((*VmConfigFileQueryFlags)(nil)).Elem()
 94462  }
 94463  
 94464  // Thrown when a virtual machine's existing or requested configuration is
 94465  // incompatible for fault tolerance.
 94466  type VmConfigIncompatibleForFaultTolerance struct {
 94467  	VmConfigFault
 94468  
 94469  	// Fault indicating the specific configuration issue.
 94470  	//
 94471  	// This is typically
 94472  	// a subclass of VirtualHardwareCompatibilityIssue.
 94473  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 94474  }
 94475  
 94476  func init() {
 94477  	t["VmConfigIncompatibleForFaultTolerance"] = reflect.TypeOf((*VmConfigIncompatibleForFaultTolerance)(nil)).Elem()
 94478  	minAPIVersionForType["VmConfigIncompatibleForFaultTolerance"] = "4.0"
 94479  }
 94480  
 94481  type VmConfigIncompatibleForFaultToleranceFault VmConfigIncompatibleForFaultTolerance
 94482  
 94483  func init() {
 94484  	t["VmConfigIncompatibleForFaultToleranceFault"] = reflect.TypeOf((*VmConfigIncompatibleForFaultToleranceFault)(nil)).Elem()
 94485  }
 94486  
 94487  // Deprecated as of vSphere API 6.0.
 94488  //
 94489  // Thrown when a virtual machine's existing or requested configuration is
 94490  // incompatible for record and replay.
 94491  type VmConfigIncompatibleForRecordReplay struct {
 94492  	VmConfigFault
 94493  
 94494  	// Fault indicating the specific configuration issue.
 94495  	//
 94496  	// This is typically
 94497  	// a subclass of VirtualHardwareCompatibilityIssue.
 94498  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 94499  }
 94500  
 94501  func init() {
 94502  	t["VmConfigIncompatibleForRecordReplay"] = reflect.TypeOf((*VmConfigIncompatibleForRecordReplay)(nil)).Elem()
 94503  	minAPIVersionForType["VmConfigIncompatibleForRecordReplay"] = "4.0"
 94504  }
 94505  
 94506  type VmConfigIncompatibleForRecordReplayFault VmConfigIncompatibleForRecordReplay
 94507  
 94508  func init() {
 94509  	t["VmConfigIncompatibleForRecordReplayFault"] = reflect.TypeOf((*VmConfigIncompatibleForRecordReplayFault)(nil)).Elem()
 94510  }
 94511  
 94512  // VM Configuration.
 94513  type VmConfigInfo struct {
 94514  	DynamicData
 94515  
 94516  	// Information about the package content.
 94517  	Product []VAppProductInfo `xml:"product,omitempty" json:"product,omitempty"`
 94518  	// List of properties
 94519  	Property []VAppPropertyInfo `xml:"property,omitempty" json:"property,omitempty"`
 94520  	// IP assignment policy and DHCP support configuration.
 94521  	IpAssignment VAppIPAssignmentInfo `xml:"ipAssignment" json:"ipAssignment"`
 94522  	// End User Liceses Agreements.
 94523  	Eula []string `xml:"eula,omitempty" json:"eula,omitempty"`
 94524  	// List of uninterpreted OVF meta-data sections.
 94525  	OvfSection []VAppOvfSectionInfo `xml:"ovfSection,omitempty" json:"ovfSection,omitempty"`
 94526  	// List the transports to use for properties.
 94527  	//
 94528  	// Supported values are: iso and
 94529  	// com.vmware.guestInfo.
 94530  	OvfEnvironmentTransport []string `xml:"ovfEnvironmentTransport,omitempty" json:"ovfEnvironmentTransport,omitempty"`
 94531  	// Specifies whether the VM needs an initial boot before the deployment is complete.
 94532  	//
 94533  	// Not relevant for vApps. This means that the value is always false when reading the
 94534  	// configuration and is ignored when setting the configuration.
 94535  	//
 94536  	// If a vApp requires an install boot (because one of its VMs does), this is visible
 94537  	// on the `VirtualAppSummary.installBootRequired` field of the vApp.
 94538  	InstallBootRequired bool `xml:"installBootRequired" json:"installBootRequired"`
 94539  	// Specifies the delay in seconds to wait for the VM to power off after the initial
 94540  	// boot (used only if installBootRequired is true).
 94541  	//
 94542  	// A value of 0 means wait forever.
 94543  	//
 94544  	// Not relevant for vApps. This means that the value is always false when reading the
 94545  	// configuration and is ignored when setting the configuration.
 94546  	InstallBootStopDelay int32 `xml:"installBootStopDelay" json:"installBootStopDelay"`
 94547  }
 94548  
 94549  func init() {
 94550  	t["VmConfigInfo"] = reflect.TypeOf((*VmConfigInfo)(nil)).Elem()
 94551  	minAPIVersionForType["VmConfigInfo"] = "4.0"
 94552  }
 94553  
 94554  // This event records if the configuration file can not be found.
 94555  type VmConfigMissingEvent struct {
 94556  	VmEvent
 94557  }
 94558  
 94559  func init() {
 94560  	t["VmConfigMissingEvent"] = reflect.TypeOf((*VmConfigMissingEvent)(nil)).Elem()
 94561  }
 94562  
 94563  // vApp related configuration of a VM.
 94564  type VmConfigSpec struct {
 94565  	DynamicData
 94566  
 94567  	// Information about the product.
 94568  	//
 94569  	// Reconfigure privilege: VApp.ApplicationConfig
 94570  	Product []VAppProductSpec `xml:"product,omitempty" json:"product,omitempty"`
 94571  	// List of properties.
 94572  	//
 94573  	// Adding and editing properties requires various privileges depending on which fields
 94574  	// are affected. See `VAppPropertyInfo` for details.
 94575  	//
 94576  	// Deleting properties requires the privilege VApp.ApplicationConfig.
 94577  	Property []VAppPropertySpec `xml:"property,omitempty" json:"property,omitempty"`
 94578  	// IP assignment policy and DHCP support configuration.
 94579  	//
 94580  	// Reconfigure privilege: See `VAppIPAssignmentInfo`
 94581  	IpAssignment *VAppIPAssignmentInfo `xml:"ipAssignment,omitempty" json:"ipAssignment,omitempty"`
 94582  	// End User Liceses Agreements.
 94583  	//
 94584  	// If this list is set, it replaces all exiting licenses. An empty list will not
 94585  	// make any changes to installed licenses. A list with a single element {""} will
 94586  	// remove all licenses and leave an empty list.
 94587  	//
 94588  	// Reconfigure privilege: VApp.ApplicationConfig
 94589  	Eula []string `xml:"eula,omitempty" json:"eula,omitempty"`
 94590  	// List of uninterpreted OVF meta-data sections.
 94591  	//
 94592  	// Reconfigure privilege: VApp.ApplicationConfig
 94593  	OvfSection []VAppOvfSectionSpec `xml:"ovfSection,omitempty" json:"ovfSection,omitempty"`
 94594  	// List the transports to use for properties.
 94595  	//
 94596  	// Supported values are: iso and
 94597  	// com.vmware.guestInfo.
 94598  	//
 94599  	// If this list is set, it replaces all exiting entries. An empty list will not make
 94600  	// any changes. A list with a single element {""} will clear the list of transports.
 94601  	//
 94602  	// Reconfigure privilege: VApp.ApplicationConfig
 94603  	OvfEnvironmentTransport []string `xml:"ovfEnvironmentTransport,omitempty" json:"ovfEnvironmentTransport,omitempty"`
 94604  	// If this is on a VirtualMachine object, it specifies whether the VM needs an
 94605  	// initial boot before the deployment is complete.
 94606  	//
 94607  	// If this is on a vApp object,
 94608  	// it indicates than one or more VMs needs an initial reboot. This flag is
 94609  	// automatically reset once the reboot has happened.
 94610  	//
 94611  	// Reconfigure privilege: VApp.ApplicationConfig
 94612  	InstallBootRequired *bool `xml:"installBootRequired" json:"installBootRequired,omitempty"`
 94613  	// Specifies the delay in seconds to wait for the VM to power off after the initial
 94614  	// boot (used only if installBootRequired is true).
 94615  	//
 94616  	// A value of 0 means wait forever.
 94617  	//
 94618  	// Reconfigure privilege: VApp.ApplicationConfig
 94619  	InstallBootStopDelay int32 `xml:"installBootStopDelay,omitempty" json:"installBootStopDelay,omitempty"`
 94620  }
 94621  
 94622  func init() {
 94623  	t["VmConfigSpec"] = reflect.TypeOf((*VmConfigSpec)(nil)).Elem()
 94624  	minAPIVersionForType["VmConfigSpec"] = "4.0"
 94625  }
 94626  
 94627  // This event records that a virtual machine is connected.
 94628  type VmConnectedEvent struct {
 94629  	VmEvent
 94630  }
 94631  
 94632  func init() {
 94633  	t["VmConnectedEvent"] = reflect.TypeOf((*VmConnectedEvent)(nil)).Elem()
 94634  }
 94635  
 94636  // This event records that a virtual machine was successfully created.
 94637  type VmCreatedEvent struct {
 94638  	VmEvent
 94639  }
 94640  
 94641  func init() {
 94642  	t["VmCreatedEvent"] = reflect.TypeOf((*VmCreatedEvent)(nil)).Elem()
 94643  }
 94644  
 94645  // This event records when a virtual machine is reset by
 94646  // HA VM Health Monitoring on hosts that do not support the
 94647  // create screenshot api or if the createscreenshot api fails.
 94648  type VmDasBeingResetEvent struct {
 94649  	VmEvent
 94650  
 94651  	// The reason why this vm is being reset
 94652  	Reason string `xml:"reason,omitempty" json:"reason,omitempty" vim:"4.1"`
 94653  }
 94654  
 94655  func init() {
 94656  	t["VmDasBeingResetEvent"] = reflect.TypeOf((*VmDasBeingResetEvent)(nil)).Elem()
 94657  	minAPIVersionForType["VmDasBeingResetEvent"] = "4.0"
 94658  }
 94659  
 94660  // This event records when a virtual machine is reset by
 94661  // HA VM Health Monitoring on hosts that support the create screenshot api
 94662  type VmDasBeingResetWithScreenshotEvent struct {
 94663  	VmDasBeingResetEvent
 94664  
 94665  	// The datastore path of the screenshot taken before resetting.
 94666  	ScreenshotFilePath string `xml:"screenshotFilePath" json:"screenshotFilePath"`
 94667  }
 94668  
 94669  func init() {
 94670  	t["VmDasBeingResetWithScreenshotEvent"] = reflect.TypeOf((*VmDasBeingResetWithScreenshotEvent)(nil)).Elem()
 94671  	minAPIVersionForType["VmDasBeingResetWithScreenshotEvent"] = "4.0"
 94672  }
 94673  
 94674  // This event records when HA VM Health Monitoring fails to reset
 94675  // a virtual machine after failure
 94676  type VmDasResetFailedEvent struct {
 94677  	VmEvent
 94678  }
 94679  
 94680  func init() {
 94681  	t["VmDasResetFailedEvent"] = reflect.TypeOf((*VmDasResetFailedEvent)(nil)).Elem()
 94682  	minAPIVersionForType["VmDasResetFailedEvent"] = "4.0"
 94683  }
 94684  
 94685  // The event records that an error occurred when updating the HA agents
 94686  // with the current state of the virtual machine.
 94687  //
 94688  // If this occurs during a
 94689  // powerOn operation, the virtual machine will not be failed over in the
 94690  // event of a host failure. If it occurs during a powerOff, the virtual
 94691  // machine will be automatically powered on if the host it was last running
 94692  // on crashes.
 94693  type VmDasUpdateErrorEvent struct {
 94694  	VmEvent
 94695  }
 94696  
 94697  func init() {
 94698  	t["VmDasUpdateErrorEvent"] = reflect.TypeOf((*VmDasUpdateErrorEvent)(nil)).Elem()
 94699  }
 94700  
 94701  // This event records that HA agents have been updated with the current
 94702  // state of the virtual machine.
 94703  type VmDasUpdateOkEvent struct {
 94704  	VmEvent
 94705  }
 94706  
 94707  func init() {
 94708  	t["VmDasUpdateOkEvent"] = reflect.TypeOf((*VmDasUpdateOkEvent)(nil)).Elem()
 94709  }
 94710  
 94711  // This event records when the VirtualCenter server date rolled back.
 94712  type VmDateRolledBackEvent struct {
 94713  	VmEvent
 94714  }
 94715  
 94716  func init() {
 94717  	t["VmDateRolledBackEvent"] = reflect.TypeOf((*VmDateRolledBackEvent)(nil)).Elem()
 94718  }
 94719  
 94720  // This event records a failure to deploy from a template.
 94721  type VmDeployFailedEvent struct {
 94722  	VmEvent
 94723  
 94724  	// The destination datastore to which the template was being deployed.
 94725  	DestDatastore BaseEntityEventArgument `xml:"destDatastore,typeattr" json:"destDatastore"`
 94726  	// The reason for the failure.
 94727  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 94728  }
 94729  
 94730  func init() {
 94731  	t["VmDeployFailedEvent"] = reflect.TypeOf((*VmDeployFailedEvent)(nil)).Elem()
 94732  }
 94733  
 94734  // This event records the completion of a virtual machine deployment operation.
 94735  type VmDeployedEvent struct {
 94736  	VmEvent
 94737  
 94738  	// The template object from which the virtual machine has been deployed.
 94739  	SrcTemplate VmEventArgument `xml:"srcTemplate" json:"srcTemplate"`
 94740  }
 94741  
 94742  func init() {
 94743  	t["VmDeployedEvent"] = reflect.TypeOf((*VmDeployedEvent)(nil)).Elem()
 94744  }
 94745  
 94746  // This event records that a virtual machine disconnected.
 94747  type VmDisconnectedEvent struct {
 94748  	VmEvent
 94749  }
 94750  
 94751  func init() {
 94752  	t["VmDisconnectedEvent"] = reflect.TypeOf((*VmDisconnectedEvent)(nil)).Elem()
 94753  }
 94754  
 94755  // This event records a virtual machine discovery.
 94756  type VmDiscoveredEvent struct {
 94757  	VmEvent
 94758  }
 94759  
 94760  func init() {
 94761  	t["VmDiscoveredEvent"] = reflect.TypeOf((*VmDiscoveredEvent)(nil)).Elem()
 94762  }
 94763  
 94764  // This event records a failure to create a virtual disk in a virtual machine.
 94765  type VmDiskFailedEvent struct {
 94766  	VmEvent
 94767  
 94768  	// The name of the virtual disk.
 94769  	Disk string `xml:"disk" json:"disk"`
 94770  	// The reason for the failure.
 94771  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 94772  }
 94773  
 94774  func init() {
 94775  	t["VmDiskFailedEvent"] = reflect.TypeOf((*VmDiskFailedEvent)(nil)).Elem()
 94776  }
 94777  
 94778  // The encryption information of a virtual disk.
 94779  type VmDiskFileEncryptionInfo struct {
 94780  	DynamicData
 94781  
 94782  	// The key identifier for an encrypted virtual disk.
 94783  	//
 94784  	// If the virtual disk is encrypted, then the keyId is set and
 94785  	// indicates the identifier that can be used to lookup the key
 94786  	// material. Unset if the virtual disk is not encrypted.
 94787  	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty"`
 94788  }
 94789  
 94790  func init() {
 94791  	t["VmDiskFileEncryptionInfo"] = reflect.TypeOf((*VmDiskFileEncryptionInfo)(nil)).Elem()
 94792  	minAPIVersionForType["VmDiskFileEncryptionInfo"] = "6.5"
 94793  }
 94794  
 94795  // This data object type describes a virtual disk primary file.
 94796  type VmDiskFileInfo struct {
 94797  	FileInfo
 94798  
 94799  	// Disk type of the virtual disk.
 94800  	//
 94801  	// The specified disk type is one of the backing information types for a virtual
 94802  	// disk.
 94803  	//
 94804  	// See also `VirtualDisk`.
 94805  	DiskType string `xml:"diskType,omitempty" json:"diskType,omitempty"`
 94806  	// The capacity of a virtual disk from the point of view of a virtual machine.
 94807  	CapacityKb int64 `xml:"capacityKb,omitempty" json:"capacityKb,omitempty"`
 94808  	// The hardware version of the virtual disk file.
 94809  	HardwareVersion int32 `xml:"hardwareVersion,omitempty" json:"hardwareVersion,omitempty"`
 94810  	// Deprecated as of vSphere API 5.0, this property is no longer
 94811  	// relevant and should not be used.
 94812  	// With the current state of emulation, we don't care about the
 94813  	// adapter type a disk is connected to, as disks may be shuffled
 94814  	// around. For example, a disk may be unplugged from a buslogic
 94815  	// controller and plugged into an lsilogic controller.
 94816  	//
 94817  	// The controller type suitable for this virtual disk.
 94818  	ControllerType string `xml:"controllerType,omitempty" json:"controllerType,omitempty" vim:"2.5"`
 94819  	// The extents of this virtual disk specified in absolute DS paths
 94820  	DiskExtents []string `xml:"diskExtents,omitempty" json:"diskExtents,omitempty" vim:"2.5"`
 94821  	// Indicates if the disk is thin-provisioned
 94822  	Thin *bool `xml:"thin" json:"thin,omitempty" vim:"4.0"`
 94823  	// The encryption information of the virtual disk.
 94824  	//
 94825  	// If encryption was selected in VmDiskFileQueryFlags then this
 94826  	// field is always set. Inspect the VmDiskEncryptionInfo to
 94827  	// determine if the virtual disk is encrypted.
 94828  	Encryption *VmDiskFileEncryptionInfo `xml:"encryption,omitempty" json:"encryption,omitempty" vim:"6.5"`
 94829  }
 94830  
 94831  func init() {
 94832  	t["VmDiskFileInfo"] = reflect.TypeOf((*VmDiskFileInfo)(nil)).Elem()
 94833  }
 94834  
 94835  // This data object type describes the query specification for the virtual disk
 94836  // primary file.
 94837  type VmDiskFileQuery struct {
 94838  	FileQuery
 94839  
 94840  	// The filter specification for the virtual disk primary file query.
 94841  	Filter *VmDiskFileQueryFilter `xml:"filter,omitempty" json:"filter,omitempty"`
 94842  	// Details specification for the virtual disk primary file query.
 94843  	Details *VmDiskFileQueryFlags `xml:"details,omitempty" json:"details,omitempty"`
 94844  }
 94845  
 94846  func init() {
 94847  	t["VmDiskFileQuery"] = reflect.TypeOf((*VmDiskFileQuery)(nil)).Elem()
 94848  }
 94849  
 94850  // The filter for the virtual disk primary file.
 94851  type VmDiskFileQueryFilter struct {
 94852  	DynamicData
 94853  
 94854  	// If this optional property is set, only the virtual disk primary files that
 94855  	// match one of the specified disk types are selected.
 94856  	//
 94857  	// If no disk types are
 94858  	// specified, this search criteria is ignored.
 94859  	//
 94860  	// The specified disk type is one of the backing information types for a
 94861  	// virtual disk.
 94862  	//
 94863  	// See also `VirtualDisk`.
 94864  	DiskType []string `xml:"diskType,omitempty" json:"diskType,omitempty"`
 94865  	// If this optional property is set, only virtual disk primary files that match
 94866  	// one of the specified hardware versions are selected.
 94867  	//
 94868  	// If no versions are
 94869  	// specified, this search criteria is ignored.
 94870  	MatchHardwareVersion []int32 `xml:"matchHardwareVersion,omitempty" json:"matchHardwareVersion,omitempty"`
 94871  	// Deprecated as of vSphere API 5.0, this property is no longer
 94872  	// relevant and should not be used.
 94873  	// With the current state of emulation, we don't care about the
 94874  	// adapter type a disk is connected to, as disks may be shuffled
 94875  	// around. For example, a disk may be unplugged from a buslogic
 94876  	// controller and plugged into an lsilogic controller.
 94877  	//
 94878  	// If this optional property is set, only virtual disk files that have a
 94879  	// controller type that matches one of the controller types specified
 94880  	// are returned.
 94881  	//
 94882  	// If no controller types are specified, this search criteria
 94883  	// is ignored.
 94884  	//
 94885  	// The specified controller type is one of the controller types for a
 94886  	// virtual disk.
 94887  	//
 94888  	// See also `VirtualIDEController`, `VirtualSCSIController`.
 94889  	ControllerType []string `xml:"controllerType,omitempty" json:"controllerType,omitempty" vim:"2.5"`
 94890  	// This optional property can be used to filter disks based on whether
 94891  	// they are thin-provsioned or not: if set to true, only thin-provisioned
 94892  	// disks are returned, and vice-versa.
 94893  	Thin *bool `xml:"thin" json:"thin,omitempty" vim:"4.0"`
 94894  	// This optional property can be used to filter disks based on
 94895  	// whether they are encrypted or not.
 94896  	Encrypted *bool `xml:"encrypted" json:"encrypted,omitempty" vim:"6.5"`
 94897  }
 94898  
 94899  func init() {
 94900  	t["VmDiskFileQueryFilter"] = reflect.TypeOf((*VmDiskFileQueryFilter)(nil)).Elem()
 94901  }
 94902  
 94903  // Details for the virtual disk primary file.
 94904  type VmDiskFileQueryFlags struct {
 94905  	DynamicData
 94906  
 94907  	// The flag to indicate whether the type of the physical disk backing
 94908  	// the virtual disk is returned.
 94909  	DiskType bool `xml:"diskType" json:"diskType"`
 94910  	// The flag to indicate whether the capacity of the virtual disk from
 94911  	// the point of view of a virtual machine is returned.
 94912  	CapacityKb bool `xml:"capacityKb" json:"capacityKb"`
 94913  	// The flag to indicate whether the hardware version of the virtual disk
 94914  	// file is returned.
 94915  	HardwareVersion bool `xml:"hardwareVersion" json:"hardwareVersion"`
 94916  	// Deprecated as of vSphere API 5.0, this property is no longer
 94917  	// relevant and should not be used.
 94918  	// With the current state of emulation, we don't care about the
 94919  	// adapter type a disk is connected to, as disks may be shuffled
 94920  	// around. For example, a disk may be unplugged from a buslogic
 94921  	// controller and plugged into an lsilogic controller.
 94922  	//
 94923  	// The flag to indicate whether or not the controller type of the virtual disk
 94924  	// file is returned.
 94925  	ControllerType *bool `xml:"controllerType" json:"controllerType,omitempty" vim:"2.5"`
 94926  	// The flag to indicate whether or not the disk extents of the virtual disk
 94927  	// are returned.
 94928  	DiskExtents *bool `xml:"diskExtents" json:"diskExtents,omitempty" vim:"2.5"`
 94929  	// The flag to indicate whether the thin-ness of the disk is returned.
 94930  	Thin *bool `xml:"thin" json:"thin,omitempty" vim:"4.0"`
 94931  	// The flag to indicate whether the encryption information of the
 94932  	// virtual disk is returned.
 94933  	Encryption *bool `xml:"encryption" json:"encryption,omitempty" vim:"6.5"`
 94934  }
 94935  
 94936  func init() {
 94937  	t["VmDiskFileQueryFlags"] = reflect.TypeOf((*VmDiskFileQueryFlags)(nil)).Elem()
 94938  }
 94939  
 94940  // This event records a virtual machine emigration.
 94941  type VmEmigratingEvent struct {
 94942  	VmEvent
 94943  }
 94944  
 94945  func init() {
 94946  	t["VmEmigratingEvent"] = reflect.TypeOf((*VmEmigratingEvent)(nil)).Elem()
 94947  }
 94948  
 94949  // Deprecated as of vSphere API 6.0.
 94950  //
 94951  // This event indicates the end of a recording session on a virtual machine.
 94952  type VmEndRecordingEvent struct {
 94953  	VmEvent
 94954  }
 94955  
 94956  func init() {
 94957  	t["VmEndRecordingEvent"] = reflect.TypeOf((*VmEndRecordingEvent)(nil)).Elem()
 94958  	minAPIVersionForType["VmEndRecordingEvent"] = "4.0"
 94959  }
 94960  
 94961  // Deprecated as of vSphere API 6.0.
 94962  //
 94963  // This event indicates the end of a replay session on a virtual machine.
 94964  type VmEndReplayingEvent struct {
 94965  	VmEvent
 94966  }
 94967  
 94968  func init() {
 94969  	t["VmEndReplayingEvent"] = reflect.TypeOf((*VmEndReplayingEvent)(nil)).Elem()
 94970  	minAPIVersionForType["VmEndReplayingEvent"] = "4.0"
 94971  }
 94972  
 94973  // These are virtual machine events.
 94974  type VmEvent struct {
 94975  	Event
 94976  
 94977  	// Indicates whether or not the virtual machine is marked as a template.
 94978  	Template bool `xml:"template" json:"template"`
 94979  }
 94980  
 94981  func init() {
 94982  	t["VmEvent"] = reflect.TypeOf((*VmEvent)(nil)).Elem()
 94983  }
 94984  
 94985  // The event argument is a VirtualMachine object.
 94986  type VmEventArgument struct {
 94987  	EntityEventArgument
 94988  
 94989  	// The VirtualMachine object.
 94990  	//
 94991  	// Refers instance of `VirtualMachine`.
 94992  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 94993  }
 94994  
 94995  func init() {
 94996  	t["VmEventArgument"] = reflect.TypeOf((*VmEventArgument)(nil)).Elem()
 94997  }
 94998  
 94999  // This event records a failure to migrate a virtual machine.
 95000  type VmFailedMigrateEvent struct {
 95001  	VmEvent
 95002  
 95003  	// The destination host.
 95004  	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
 95005  	// The reason for the failure.
 95006  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 95007  	// The destination datacenter
 95008  	DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty" json:"destDatacenter,omitempty" vim:"5.0"`
 95009  	// The destination primary datastore
 95010  	DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty" json:"destDatastore,omitempty" vim:"5.0"`
 95011  }
 95012  
 95013  func init() {
 95014  	t["VmFailedMigrateEvent"] = reflect.TypeOf((*VmFailedMigrateEvent)(nil)).Elem()
 95015  }
 95016  
 95017  // This event records a specific failure to relay out a virtual machine,
 95018  // such as a failure to access the disk.
 95019  type VmFailedRelayoutEvent struct {
 95020  	VmEvent
 95021  
 95022  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 95023  }
 95024  
 95025  func init() {
 95026  	t["VmFailedRelayoutEvent"] = reflect.TypeOf((*VmFailedRelayoutEvent)(nil)).Elem()
 95027  }
 95028  
 95029  // This event records a failure to relay out a virtual machine
 95030  // when the virtual machine still has disks on a VMFS2 volume.
 95031  type VmFailedRelayoutOnVmfs2DatastoreEvent struct {
 95032  	VmEvent
 95033  }
 95034  
 95035  func init() {
 95036  	t["VmFailedRelayoutOnVmfs2DatastoreEvent"] = reflect.TypeOf((*VmFailedRelayoutOnVmfs2DatastoreEvent)(nil)).Elem()
 95037  }
 95038  
 95039  // This event records vmotion failure when starting a secondary VM.
 95040  type VmFailedStartingSecondaryEvent struct {
 95041  	VmEvent
 95042  
 95043  	// The reason for the failure.
 95044  	//
 95045  	// See `VmFailedStartingSecondaryEventFailureReason_enum`
 95046  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 95047  }
 95048  
 95049  func init() {
 95050  	t["VmFailedStartingSecondaryEvent"] = reflect.TypeOf((*VmFailedStartingSecondaryEvent)(nil)).Elem()
 95051  	minAPIVersionForType["VmFailedStartingSecondaryEvent"] = "4.0"
 95052  }
 95053  
 95054  // This event records a failure to power off a virtual machine.
 95055  type VmFailedToPowerOffEvent struct {
 95056  	VmEvent
 95057  
 95058  	// The reason for the failure.
 95059  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 95060  }
 95061  
 95062  func init() {
 95063  	t["VmFailedToPowerOffEvent"] = reflect.TypeOf((*VmFailedToPowerOffEvent)(nil)).Elem()
 95064  }
 95065  
 95066  // This event records a failure to power on a virtual machine.
 95067  type VmFailedToPowerOnEvent struct {
 95068  	VmEvent
 95069  
 95070  	// The reason for the failure.
 95071  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 95072  }
 95073  
 95074  func init() {
 95075  	t["VmFailedToPowerOnEvent"] = reflect.TypeOf((*VmFailedToPowerOnEvent)(nil)).Elem()
 95076  }
 95077  
 95078  // This event records a failure to reboot the guest on a virtual machine.
 95079  type VmFailedToRebootGuestEvent struct {
 95080  	VmEvent
 95081  
 95082  	// The reason for the failure.
 95083  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 95084  }
 95085  
 95086  func init() {
 95087  	t["VmFailedToRebootGuestEvent"] = reflect.TypeOf((*VmFailedToRebootGuestEvent)(nil)).Elem()
 95088  }
 95089  
 95090  // This event records a failure to reset a virtual machine.
 95091  type VmFailedToResetEvent struct {
 95092  	VmEvent
 95093  
 95094  	// The reason for the failure.
 95095  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 95096  }
 95097  
 95098  func init() {
 95099  	t["VmFailedToResetEvent"] = reflect.TypeOf((*VmFailedToResetEvent)(nil)).Elem()
 95100  }
 95101  
 95102  // This event records a failure to shut down the guest on a virtual machine.
 95103  type VmFailedToShutdownGuestEvent struct {
 95104  	VmEvent
 95105  
 95106  	// The reason for the failure.
 95107  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 95108  }
 95109  
 95110  func init() {
 95111  	t["VmFailedToShutdownGuestEvent"] = reflect.TypeOf((*VmFailedToShutdownGuestEvent)(nil)).Elem()
 95112  }
 95113  
 95114  // This event records a failure to set the guest on a virtual machine to a standby
 95115  // state.
 95116  type VmFailedToStandbyGuestEvent struct {
 95117  	VmEvent
 95118  
 95119  	// The reason for the failure.
 95120  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 95121  }
 95122  
 95123  func init() {
 95124  	t["VmFailedToStandbyGuestEvent"] = reflect.TypeOf((*VmFailedToStandbyGuestEvent)(nil)).Elem()
 95125  }
 95126  
 95127  // This event records a failure to suspend a virtual machine.
 95128  type VmFailedToSuspendEvent struct {
 95129  	VmEvent
 95130  
 95131  	// The reason for the failure.
 95132  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 95133  }
 95134  
 95135  func init() {
 95136  	t["VmFailedToSuspendEvent"] = reflect.TypeOf((*VmFailedToSuspendEvent)(nil)).Elem()
 95137  }
 95138  
 95139  // This event records after a failover the new new primary failed to
 95140  // update the config of the secondary vm.
 95141  type VmFailedUpdatingSecondaryConfig struct {
 95142  	VmEvent
 95143  }
 95144  
 95145  func init() {
 95146  	t["VmFailedUpdatingSecondaryConfig"] = reflect.TypeOf((*VmFailedUpdatingSecondaryConfig)(nil)).Elem()
 95147  	minAPIVersionForType["VmFailedUpdatingSecondaryConfig"] = "4.0"
 95148  }
 95149  
 95150  // This event records when a virtual machine failover was unsuccessful.
 95151  type VmFailoverFailed struct {
 95152  	VmEvent
 95153  
 95154  	// The reason for the failure
 95155  	Reason *LocalizedMethodFault `xml:"reason,omitempty" json:"reason,omitempty" vim:"4.1"`
 95156  }
 95157  
 95158  func init() {
 95159  	t["VmFailoverFailed"] = reflect.TypeOf((*VmFailoverFailed)(nil)).Elem()
 95160  }
 95161  
 95162  // Configuration issues that can occur during operations
 95163  // related to fault tolerance protection for virtual machines.
 95164  type VmFaultToleranceConfigIssue struct {
 95165  	VmFaultToleranceIssue
 95166  
 95167  	// The reason for the failure.
 95168  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 95169  	// The entity name.
 95170  	//
 95171  	// Depending on the issue, it could
 95172  	// be virtual machine or host.
 95173  	EntityName string `xml:"entityName,omitempty" json:"entityName,omitempty"`
 95174  	// The entity
 95175  	//
 95176  	// Refers instance of `ManagedEntity`.
 95177  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 95178  }
 95179  
 95180  func init() {
 95181  	t["VmFaultToleranceConfigIssue"] = reflect.TypeOf((*VmFaultToleranceConfigIssue)(nil)).Elem()
 95182  	minAPIVersionForType["VmFaultToleranceConfigIssue"] = "4.0"
 95183  }
 95184  
 95185  type VmFaultToleranceConfigIssueFault VmFaultToleranceConfigIssue
 95186  
 95187  func init() {
 95188  	t["VmFaultToleranceConfigIssueFault"] = reflect.TypeOf((*VmFaultToleranceConfigIssueFault)(nil)).Elem()
 95189  }
 95190  
 95191  // Configuration issues that can occur during operations
 95192  // related to fault tolerance protection for virtual machines.
 95193  type VmFaultToleranceConfigIssueWrapper struct {
 95194  	VmFaultToleranceIssue
 95195  
 95196  	// The entity name.
 95197  	//
 95198  	// Depending on the issue, it could
 95199  	// be virtual machine or host.
 95200  	EntityName string `xml:"entityName,omitempty" json:"entityName,omitempty"`
 95201  	// The entity
 95202  	//
 95203  	// Refers instance of `ManagedEntity`.
 95204  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 95205  	// The nested error when the reason field is other
 95206  	Error *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 95207  }
 95208  
 95209  func init() {
 95210  	t["VmFaultToleranceConfigIssueWrapper"] = reflect.TypeOf((*VmFaultToleranceConfigIssueWrapper)(nil)).Elem()
 95211  	minAPIVersionForType["VmFaultToleranceConfigIssueWrapper"] = "4.1"
 95212  }
 95213  
 95214  type VmFaultToleranceConfigIssueWrapperFault VmFaultToleranceConfigIssueWrapper
 95215  
 95216  func init() {
 95217  	t["VmFaultToleranceConfigIssueWrapperFault"] = reflect.TypeOf((*VmFaultToleranceConfigIssueWrapperFault)(nil)).Elem()
 95218  }
 95219  
 95220  // Indicates the file backing for some device prevents fault tolerance
 95221  // protection
 95222  type VmFaultToleranceInvalidFileBacking struct {
 95223  	VmFaultToleranceIssue
 95224  
 95225  	// The device type of the file backing
 95226  	BackingType     string `xml:"backingType,omitempty" json:"backingType,omitempty"`
 95227  	BackingFilename string `xml:"backingFilename,omitempty" json:"backingFilename,omitempty"`
 95228  }
 95229  
 95230  func init() {
 95231  	t["VmFaultToleranceInvalidFileBacking"] = reflect.TypeOf((*VmFaultToleranceInvalidFileBacking)(nil)).Elem()
 95232  	minAPIVersionForType["VmFaultToleranceInvalidFileBacking"] = "4.0"
 95233  }
 95234  
 95235  type VmFaultToleranceInvalidFileBackingFault VmFaultToleranceInvalidFileBacking
 95236  
 95237  func init() {
 95238  	t["VmFaultToleranceInvalidFileBackingFault"] = reflect.TypeOf((*VmFaultToleranceInvalidFileBackingFault)(nil)).Elem()
 95239  }
 95240  
 95241  // Base object type for issues that can occur during operations
 95242  // related to fault tolerance protection for virtual machines.
 95243  type VmFaultToleranceIssue struct {
 95244  	VimFault
 95245  }
 95246  
 95247  func init() {
 95248  	t["VmFaultToleranceIssue"] = reflect.TypeOf((*VmFaultToleranceIssue)(nil)).Elem()
 95249  	minAPIVersionForType["VmFaultToleranceIssue"] = "4.0"
 95250  }
 95251  
 95252  type VmFaultToleranceIssueFault BaseVmFaultToleranceIssue
 95253  
 95254  func init() {
 95255  	t["VmFaultToleranceIssueFault"] = reflect.TypeOf((*VmFaultToleranceIssueFault)(nil)).Elem()
 95256  }
 95257  
 95258  // Container for a list of configuration issues that can occur during
 95259  // operations related to fault tolerance protection for virtual machines.
 95260  type VmFaultToleranceOpIssuesList struct {
 95261  	VmFaultToleranceIssue
 95262  
 95263  	// A list of faults representing errors
 95264  	Errors   []LocalizedMethodFault `xml:"errors,omitempty" json:"errors,omitempty"`
 95265  	Warnings []LocalizedMethodFault `xml:"warnings,omitempty" json:"warnings,omitempty"`
 95266  }
 95267  
 95268  func init() {
 95269  	t["VmFaultToleranceOpIssuesList"] = reflect.TypeOf((*VmFaultToleranceOpIssuesList)(nil)).Elem()
 95270  	minAPIVersionForType["VmFaultToleranceOpIssuesList"] = "4.0"
 95271  }
 95272  
 95273  type VmFaultToleranceOpIssuesListFault VmFaultToleranceOpIssuesList
 95274  
 95275  func init() {
 95276  	t["VmFaultToleranceOpIssuesListFault"] = reflect.TypeOf((*VmFaultToleranceOpIssuesListFault)(nil)).Elem()
 95277  }
 95278  
 95279  // This event records a fault tolerance state change.
 95280  //
 95281  // A default alarm will be triggered upon this event, which would
 95282  // change the vm state:
 95283  // the vm state is red if the newState is needSecondary;
 95284  // the vm state is yellow if the newState is disabled;
 95285  // the vm state is green if the newState is notConfigured, starting,
 95286  // enabled or running
 95287  type VmFaultToleranceStateChangedEvent struct {
 95288  	VmEvent
 95289  
 95290  	// The old fault toleeance state.
 95291  	OldState VirtualMachineFaultToleranceState `xml:"oldState" json:"oldState"`
 95292  	// The new fault tolerance state.
 95293  	NewState VirtualMachineFaultToleranceState `xml:"newState" json:"newState"`
 95294  }
 95295  
 95296  func init() {
 95297  	t["VmFaultToleranceStateChangedEvent"] = reflect.TypeOf((*VmFaultToleranceStateChangedEvent)(nil)).Elem()
 95298  	minAPIVersionForType["VmFaultToleranceStateChangedEvent"] = "4.0"
 95299  }
 95300  
 95301  // This fault is returned when a host has more than the recommended number of
 95302  // Fault Tolerance vCPUs running on it.
 95303  type VmFaultToleranceTooManyFtVcpusOnHost struct {
 95304  	InsufficientResourcesFault
 95305  
 95306  	// The name of the host
 95307  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 95308  	// The recommended number of FT protected vCPUs on a host.
 95309  	MaxNumFtVcpus int32 `xml:"maxNumFtVcpus" json:"maxNumFtVcpus"`
 95310  }
 95311  
 95312  func init() {
 95313  	t["VmFaultToleranceTooManyFtVcpusOnHost"] = reflect.TypeOf((*VmFaultToleranceTooManyFtVcpusOnHost)(nil)).Elem()
 95314  	minAPIVersionForType["VmFaultToleranceTooManyFtVcpusOnHost"] = "6.0"
 95315  }
 95316  
 95317  type VmFaultToleranceTooManyFtVcpusOnHostFault VmFaultToleranceTooManyFtVcpusOnHost
 95318  
 95319  func init() {
 95320  	t["VmFaultToleranceTooManyFtVcpusOnHostFault"] = reflect.TypeOf((*VmFaultToleranceTooManyFtVcpusOnHostFault)(nil)).Elem()
 95321  }
 95322  
 95323  // This fault is returned when a host has more than the recommended number of
 95324  // Fault Tolerance VMs running on it.
 95325  type VmFaultToleranceTooManyVMsOnHost struct {
 95326  	InsufficientResourcesFault
 95327  
 95328  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 95329  	// The recommended number of Fault Tolerance VMs running on the host.
 95330  	MaxNumFtVms int32 `xml:"maxNumFtVms" json:"maxNumFtVms"`
 95331  }
 95332  
 95333  func init() {
 95334  	t["VmFaultToleranceTooManyVMsOnHost"] = reflect.TypeOf((*VmFaultToleranceTooManyVMsOnHost)(nil)).Elem()
 95335  	minAPIVersionForType["VmFaultToleranceTooManyVMsOnHost"] = "4.1"
 95336  }
 95337  
 95338  type VmFaultToleranceTooManyVMsOnHostFault VmFaultToleranceTooManyVMsOnHost
 95339  
 95340  func init() {
 95341  	t["VmFaultToleranceTooManyVMsOnHostFault"] = reflect.TypeOf((*VmFaultToleranceTooManyVMsOnHostFault)(nil)).Elem()
 95342  }
 95343  
 95344  // This event records that all secondary virtual machines have
 95345  // been removed and fault tolerance protection turned off for
 95346  // this virtual machine.
 95347  type VmFaultToleranceTurnedOffEvent struct {
 95348  	VmEvent
 95349  }
 95350  
 95351  func init() {
 95352  	t["VmFaultToleranceTurnedOffEvent"] = reflect.TypeOf((*VmFaultToleranceTurnedOffEvent)(nil)).Elem()
 95353  	minAPIVersionForType["VmFaultToleranceTurnedOffEvent"] = "4.0"
 95354  }
 95355  
 95356  // This event records a secondary or primary VM is terminated.
 95357  //
 95358  // The reason could be : divergence, lost connection to secondary, partial
 95359  // hardware failure of secondary, or by user.
 95360  type VmFaultToleranceVmTerminatedEvent struct {
 95361  	VmEvent
 95362  
 95363  	// The reason for the failure.
 95364  	//
 95365  	// see `VirtualMachineNeedSecondaryReason_enum`
 95366  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 95367  }
 95368  
 95369  func init() {
 95370  	t["VmFaultToleranceVmTerminatedEvent"] = reflect.TypeOf((*VmFaultToleranceVmTerminatedEvent)(nil)).Elem()
 95371  	minAPIVersionForType["VmFaultToleranceVmTerminatedEvent"] = "4.0"
 95372  }
 95373  
 95374  // This event notifies that a guest OS has crashed
 95375  type VmGuestOSCrashedEvent struct {
 95376  	VmEvent
 95377  }
 95378  
 95379  func init() {
 95380  	t["VmGuestOSCrashedEvent"] = reflect.TypeOf((*VmGuestOSCrashedEvent)(nil)).Elem()
 95381  	minAPIVersionForType["VmGuestOSCrashedEvent"] = "6.0"
 95382  }
 95383  
 95384  // This is a virtual machine guest reboot request event.
 95385  type VmGuestRebootEvent struct {
 95386  	VmEvent
 95387  }
 95388  
 95389  func init() {
 95390  	t["VmGuestRebootEvent"] = reflect.TypeOf((*VmGuestRebootEvent)(nil)).Elem()
 95391  }
 95392  
 95393  // This is a virtual machine guest shutdown request event.
 95394  type VmGuestShutdownEvent struct {
 95395  	VmEvent
 95396  }
 95397  
 95398  func init() {
 95399  	t["VmGuestShutdownEvent"] = reflect.TypeOf((*VmGuestShutdownEvent)(nil)).Elem()
 95400  }
 95401  
 95402  // This is a virtual machine guest standby request event.
 95403  type VmGuestStandbyEvent struct {
 95404  	VmEvent
 95405  }
 95406  
 95407  func init() {
 95408  	t["VmGuestStandbyEvent"] = reflect.TypeOf((*VmGuestStandbyEvent)(nil)).Elem()
 95409  }
 95410  
 95411  // This event records when host monitoring state has changed.
 95412  type VmHealthMonitoringStateChangedEvent struct {
 95413  	ClusterEvent
 95414  
 95415  	// The service state in
 95416  	// `ClusterDasConfigInfoVmMonitoringState_enum`
 95417  	State string `xml:"state" json:"state"`
 95418  	// The previous service state in
 95419  	// `ClusterDasConfigInfoVmMonitoringState_enum`
 95420  	PrevState string `xml:"prevState,omitempty" json:"prevState,omitempty" vim:"6.5"`
 95421  }
 95422  
 95423  func init() {
 95424  	t["VmHealthMonitoringStateChangedEvent"] = reflect.TypeOf((*VmHealthMonitoringStateChangedEvent)(nil)).Elem()
 95425  	minAPIVersionForType["VmHealthMonitoringStateChangedEvent"] = "4.0"
 95426  }
 95427  
 95428  // The virtual machine if powered on or VMotioned, would violate a VM-Host affinity rule.
 95429  type VmHostAffinityRuleViolation struct {
 95430  	VmConfigFault
 95431  
 95432  	// The vm that can not be powered on or VMotioned without violating a rule.
 95433  	VmName string `xml:"vmName" json:"vmName"`
 95434  	// The host that the virtual machine can not be powered on without violating a rule.
 95435  	HostName string `xml:"hostName" json:"hostName"`
 95436  }
 95437  
 95438  func init() {
 95439  	t["VmHostAffinityRuleViolation"] = reflect.TypeOf((*VmHostAffinityRuleViolation)(nil)).Elem()
 95440  	minAPIVersionForType["VmHostAffinityRuleViolation"] = "4.1"
 95441  }
 95442  
 95443  type VmHostAffinityRuleViolationFault VmHostAffinityRuleViolation
 95444  
 95445  func init() {
 95446  	t["VmHostAffinityRuleViolationFault"] = reflect.TypeOf((*VmHostAffinityRuleViolationFault)(nil)).Elem()
 95447  }
 95448  
 95449  // This event records the assignment of a new instance UUID
 95450  // to a virtual machine.
 95451  type VmInstanceUuidAssignedEvent struct {
 95452  	VmEvent
 95453  
 95454  	// The new instance UUID.
 95455  	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
 95456  }
 95457  
 95458  func init() {
 95459  	t["VmInstanceUuidAssignedEvent"] = reflect.TypeOf((*VmInstanceUuidAssignedEvent)(nil)).Elem()
 95460  	minAPIVersionForType["VmInstanceUuidAssignedEvent"] = "4.0"
 95461  }
 95462  
 95463  // This event records a change in a virtual machine's instance UUID.
 95464  type VmInstanceUuidChangedEvent struct {
 95465  	VmEvent
 95466  
 95467  	// The old instance UUID.
 95468  	OldInstanceUuid string `xml:"oldInstanceUuid" json:"oldInstanceUuid"`
 95469  	// The new instance UUID.
 95470  	NewInstanceUuid string `xml:"newInstanceUuid" json:"newInstanceUuid"`
 95471  }
 95472  
 95473  func init() {
 95474  	t["VmInstanceUuidChangedEvent"] = reflect.TypeOf((*VmInstanceUuidChangedEvent)(nil)).Elem()
 95475  	minAPIVersionForType["VmInstanceUuidChangedEvent"] = "4.0"
 95476  }
 95477  
 95478  // This event records a conflict of virtual machine instance UUIDs.
 95479  type VmInstanceUuidConflictEvent struct {
 95480  	VmEvent
 95481  
 95482  	// The virtual machine whose instance UUID conflicts with the
 95483  	// current virtual machine's instance UUID.
 95484  	ConflictedVm VmEventArgument `xml:"conflictedVm" json:"conflictedVm"`
 95485  	// The instance UUID in conflict.
 95486  	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
 95487  }
 95488  
 95489  func init() {
 95490  	t["VmInstanceUuidConflictEvent"] = reflect.TypeOf((*VmInstanceUuidConflictEvent)(nil)).Elem()
 95491  	minAPIVersionForType["VmInstanceUuidConflictEvent"] = "4.0"
 95492  }
 95493  
 95494  // A VmLimitLicense fault is thrown if powering on the virtual
 95495  // machine would exceed the maximum number of running virtual
 95496  // machines allowed.
 95497  type VmLimitLicense struct {
 95498  	NotEnoughLicenses
 95499  
 95500  	// The maximum number of running virtual machines
 95501  	// limit.
 95502  	Limit int32 `xml:"limit" json:"limit"`
 95503  }
 95504  
 95505  func init() {
 95506  	t["VmLimitLicense"] = reflect.TypeOf((*VmLimitLicense)(nil)).Elem()
 95507  }
 95508  
 95509  type VmLimitLicenseFault VmLimitLicense
 95510  
 95511  func init() {
 95512  	t["VmLimitLicenseFault"] = reflect.TypeOf((*VmLimitLicenseFault)(nil)).Elem()
 95513  }
 95514  
 95515  // This data object type describes a file that is logging output for a virtual
 95516  // machine.
 95517  type VmLogFileInfo struct {
 95518  	FileInfo
 95519  }
 95520  
 95521  func init() {
 95522  	t["VmLogFileInfo"] = reflect.TypeOf((*VmLogFileInfo)(nil)).Elem()
 95523  }
 95524  
 95525  // This data object type describes the query specification for a virtual machine log
 95526  // file file.
 95527  type VmLogFileQuery struct {
 95528  	FileQuery
 95529  }
 95530  
 95531  func init() {
 95532  	t["VmLogFileQuery"] = reflect.TypeOf((*VmLogFileQuery)(nil)).Elem()
 95533  }
 95534  
 95535  // This event records the assignment of a new MAC address
 95536  // to a virtual network adapter.
 95537  type VmMacAssignedEvent struct {
 95538  	VmEvent
 95539  
 95540  	// The name of the virtual adapter.
 95541  	Adapter string `xml:"adapter" json:"adapter"`
 95542  	// The new MAC address.
 95543  	Mac string `xml:"mac" json:"mac"`
 95544  }
 95545  
 95546  func init() {
 95547  	t["VmMacAssignedEvent"] = reflect.TypeOf((*VmMacAssignedEvent)(nil)).Elem()
 95548  }
 95549  
 95550  // This event records a change in a virtual machine's MAC address.
 95551  type VmMacChangedEvent struct {
 95552  	VmEvent
 95553  
 95554  	// The name of the virtual network adapter.
 95555  	Adapter string `xml:"adapter" json:"adapter"`
 95556  	// The old MAC address.
 95557  	OldMac string `xml:"oldMac" json:"oldMac"`
 95558  	// The new MAC address.
 95559  	NewMac string `xml:"newMac" json:"newMac"`
 95560  }
 95561  
 95562  func init() {
 95563  	t["VmMacChangedEvent"] = reflect.TypeOf((*VmMacChangedEvent)(nil)).Elem()
 95564  }
 95565  
 95566  // This event records a MAC address conflict for a virtual machine.
 95567  type VmMacConflictEvent struct {
 95568  	VmEvent
 95569  
 95570  	// The virtual machine whose MAC address conflicts with
 95571  	// the current virtual machine's address.
 95572  	ConflictedVm VmEventArgument `xml:"conflictedVm" json:"conflictedVm"`
 95573  	// The MAC address that is in conflict.
 95574  	Mac string `xml:"mac" json:"mac"`
 95575  }
 95576  
 95577  func init() {
 95578  	t["VmMacConflictEvent"] = reflect.TypeOf((*VmMacConflictEvent)(nil)).Elem()
 95579  }
 95580  
 95581  // This event is fired when FT VM reached the max restart count
 95582  type VmMaxFTRestartCountReached struct {
 95583  	VmEvent
 95584  }
 95585  
 95586  func init() {
 95587  	t["VmMaxFTRestartCountReached"] = reflect.TypeOf((*VmMaxFTRestartCountReached)(nil)).Elem()
 95588  	minAPIVersionForType["VmMaxFTRestartCountReached"] = "4.0"
 95589  }
 95590  
 95591  // This event is fired when the VM reached the max restart count
 95592  type VmMaxRestartCountReached struct {
 95593  	VmEvent
 95594  }
 95595  
 95596  func init() {
 95597  	t["VmMaxRestartCountReached"] = reflect.TypeOf((*VmMaxRestartCountReached)(nil)).Elem()
 95598  	minAPIVersionForType["VmMaxRestartCountReached"] = "4.0"
 95599  }
 95600  
 95601  // This event records when an error message (consisting of a collection of "observations")
 95602  // is thrown by the virtual machine.
 95603  //
 95604  // This is a generic event for such messages.
 95605  type VmMessageErrorEvent struct {
 95606  	VmEvent
 95607  
 95608  	// A raw message returned by the virtualization platform.
 95609  	Message string `xml:"message" json:"message"`
 95610  	// A set of localizable message data that comprise this event.
 95611  	//
 95612  	// Only available on servers that support localization.
 95613  	MessageInfo []VirtualMachineMessage `xml:"messageInfo,omitempty" json:"messageInfo,omitempty"`
 95614  }
 95615  
 95616  func init() {
 95617  	t["VmMessageErrorEvent"] = reflect.TypeOf((*VmMessageErrorEvent)(nil)).Elem()
 95618  	minAPIVersionForType["VmMessageErrorEvent"] = "4.0"
 95619  }
 95620  
 95621  // This event records when an informational message (consisting of a collection of "observations")
 95622  // is thrown by the virtual machine.
 95623  //
 95624  // This is a generic event for such messages.
 95625  type VmMessageEvent struct {
 95626  	VmEvent
 95627  
 95628  	// A raw message returned by the virtualization platform.
 95629  	Message string `xml:"message" json:"message"`
 95630  	// A set of localizable message data that comprise this event.
 95631  	//
 95632  	// Only available on servers that support localization.
 95633  	MessageInfo []VirtualMachineMessage `xml:"messageInfo,omitempty" json:"messageInfo,omitempty" vim:"2.5"`
 95634  }
 95635  
 95636  func init() {
 95637  	t["VmMessageEvent"] = reflect.TypeOf((*VmMessageEvent)(nil)).Elem()
 95638  }
 95639  
 95640  // This event records when a warning message (consisting of a collection of "observations")
 95641  // is thrown by the virtual machine.
 95642  //
 95643  // This is a generic event for such messages.
 95644  type VmMessageWarningEvent struct {
 95645  	VmEvent
 95646  
 95647  	// A raw message returned by the virtualization platform.
 95648  	Message     string                  `xml:"message" json:"message"`
 95649  	MessageInfo []VirtualMachineMessage `xml:"messageInfo,omitempty" json:"messageInfo,omitempty"`
 95650  }
 95651  
 95652  func init() {
 95653  	t["VmMessageWarningEvent"] = reflect.TypeOf((*VmMessageWarningEvent)(nil)).Elem()
 95654  	minAPIVersionForType["VmMessageWarningEvent"] = "4.0"
 95655  }
 95656  
 95657  // This fault indicates that some error has occurred during the processing of
 95658  // of a MetadataManager operation.
 95659  //
 95660  // This may be subclassed by a more specific
 95661  // fault.
 95662  type VmMetadataManagerFault struct {
 95663  	VimFault
 95664  }
 95665  
 95666  func init() {
 95667  	t["VmMetadataManagerFault"] = reflect.TypeOf((*VmMetadataManagerFault)(nil)).Elem()
 95668  	minAPIVersionForType["VmMetadataManagerFault"] = "5.5"
 95669  }
 95670  
 95671  type VmMetadataManagerFaultFault VmMetadataManagerFault
 95672  
 95673  func init() {
 95674  	t["VmMetadataManagerFaultFault"] = reflect.TypeOf((*VmMetadataManagerFaultFault)(nil)).Elem()
 95675  }
 95676  
 95677  // This event records a virtual machine migration.
 95678  type VmMigratedEvent struct {
 95679  	VmEvent
 95680  
 95681  	// The source host.
 95682  	//
 95683  	// (Because this is after a successful migration,
 95684  	// the destination host is recorded in the inherited "host" property.)
 95685  	SourceHost HostEventArgument `xml:"sourceHost" json:"sourceHost"`
 95686  	// The source datacenter
 95687  	SourceDatacenter *DatacenterEventArgument `xml:"sourceDatacenter,omitempty" json:"sourceDatacenter,omitempty" vim:"5.0"`
 95688  	// The source primary datastore
 95689  	SourceDatastore *DatastoreEventArgument `xml:"sourceDatastore,omitempty" json:"sourceDatastore,omitempty" vim:"5.0"`
 95690  }
 95691  
 95692  func init() {
 95693  	t["VmMigratedEvent"] = reflect.TypeOf((*VmMigratedEvent)(nil)).Elem()
 95694  }
 95695  
 95696  // Thrown when turning on Fault Tolerance protection on a running virtual machine
 95697  // if the virtual machine is running in a monitor mode that is incompatible.
 95698  type VmMonitorIncompatibleForFaultTolerance struct {
 95699  	VimFault
 95700  }
 95701  
 95702  func init() {
 95703  	t["VmMonitorIncompatibleForFaultTolerance"] = reflect.TypeOf((*VmMonitorIncompatibleForFaultTolerance)(nil)).Elem()
 95704  	minAPIVersionForType["VmMonitorIncompatibleForFaultTolerance"] = "4.1"
 95705  }
 95706  
 95707  type VmMonitorIncompatibleForFaultToleranceFault VmMonitorIncompatibleForFaultTolerance
 95708  
 95709  func init() {
 95710  	t["VmMonitorIncompatibleForFaultToleranceFault"] = reflect.TypeOf((*VmMonitorIncompatibleForFaultToleranceFault)(nil)).Elem()
 95711  }
 95712  
 95713  // This event records that no compatible host was found to place a
 95714  // secondary VM.
 95715  //
 95716  // A default alarm will be triggered upon this event, which by default
 95717  // would trigger a SNMP trap.
 95718  type VmNoCompatibleHostForSecondaryEvent struct {
 95719  	VmEvent
 95720  }
 95721  
 95722  func init() {
 95723  	t["VmNoCompatibleHostForSecondaryEvent"] = reflect.TypeOf((*VmNoCompatibleHostForSecondaryEvent)(nil)).Elem()
 95724  	minAPIVersionForType["VmNoCompatibleHostForSecondaryEvent"] = "4.0"
 95725  }
 95726  
 95727  // This event records a migration failure when the destination host
 95728  // is not on the same network as the source host.
 95729  type VmNoNetworkAccessEvent struct {
 95730  	VmEvent
 95731  
 95732  	// The destination host.
 95733  	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
 95734  }
 95735  
 95736  func init() {
 95737  	t["VmNoNetworkAccessEvent"] = reflect.TypeOf((*VmNoNetworkAccessEvent)(nil)).Elem()
 95738  }
 95739  
 95740  // This data object type describes a file that is a virtual machine non-volatile
 95741  // memory file.
 95742  type VmNvramFileInfo struct {
 95743  	FileInfo
 95744  }
 95745  
 95746  func init() {
 95747  	t["VmNvramFileInfo"] = reflect.TypeOf((*VmNvramFileInfo)(nil)).Elem()
 95748  }
 95749  
 95750  // This data object type describes the query specification for a non-volatile memory
 95751  // file.
 95752  type VmNvramFileQuery struct {
 95753  	FileQuery
 95754  }
 95755  
 95756  func init() {
 95757  	t["VmNvramFileQuery"] = reflect.TypeOf((*VmNvramFileQuery)(nil)).Elem()
 95758  }
 95759  
 95760  // This event records a virtual machine for which no host is responsible.
 95761  type VmOrphanedEvent struct {
 95762  	VmEvent
 95763  }
 95764  
 95765  func init() {
 95766  	t["VmOrphanedEvent"] = reflect.TypeOf((*VmOrphanedEvent)(nil)).Elem()
 95767  }
 95768  
 95769  // Initial VM configuration for the specified pod.
 95770  //
 95771  // This configuration will be saved to the pod config
 95772  // `StorageDrsConfigInfo`
 95773  // when the placement recommendations are applied.
 95774  type VmPodConfigForPlacement struct {
 95775  	DynamicData
 95776  
 95777  	// The pod that this initial configuration applies to.
 95778  	//
 95779  	// Since there could be multiple pods in a single placement request,
 95780  	// we may need to specify multiple initial VM configurations, one per
 95781  	// pod.
 95782  	//
 95783  	// Refers instance of `StoragePod`.
 95784  	StoragePod ManagedObjectReference `xml:"storagePod" json:"storagePod"`
 95785  	// Array of PodDiskLocator objects.
 95786  	Disk []PodDiskLocator `xml:"disk,omitempty" json:"disk,omitempty"`
 95787  	// The VM configuration for the VM that is being placed.
 95788  	VmConfig *StorageDrsVmConfigInfo `xml:"vmConfig,omitempty" json:"vmConfig,omitempty"`
 95789  	// The initial interVmRules that should during placement of this
 95790  	// virtual machine.
 95791  	//
 95792  	// It may not always be possible to specify that the
 95793  	// virtual machine being placed is part of the rule because the
 95794  	// virtual machine may not have been created yet. So for simplicity,
 95795  	// we assume the virtual machine being placed is always implicitly
 95796  	// part of any rule specified. It will be explicitly added to the
 95797  	// rule before it is saved to the pod config.
 95798  	InterVmRule []BaseClusterRuleInfo `xml:"interVmRule,omitempty,typeattr" json:"interVmRule,omitempty"`
 95799  }
 95800  
 95801  func init() {
 95802  	t["VmPodConfigForPlacement"] = reflect.TypeOf((*VmPodConfigForPlacement)(nil)).Elem()
 95803  	minAPIVersionForType["VmPodConfigForPlacement"] = "5.0"
 95804  }
 95805  
 95806  // The `VmPortGroupProfile` data object represents the subprofile
 95807  // for a port group that will be used by virtual machines.
 95808  //
 95809  // Use the `ApplyProfile.policy` list for
 95810  // access to configuration data for the virtual machine port group profile. Use the
 95811  // `ApplyProfile.property` list for access to subprofiles, if any.
 95812  //
 95813  // vSphere Servers use `Network` managed objects to represent virtual machine port
 95814  // groups in the vSphere inventory.
 95815  type VmPortGroupProfile struct {
 95816  	PortGroupProfile
 95817  }
 95818  
 95819  func init() {
 95820  	t["VmPortGroupProfile"] = reflect.TypeOf((*VmPortGroupProfile)(nil)).Elem()
 95821  	minAPIVersionForType["VmPortGroupProfile"] = "4.0"
 95822  }
 95823  
 95824  // This event records when a virtual machine has been powered off on an isolated host
 95825  // in a HA cluster.
 95826  type VmPowerOffOnIsolationEvent struct {
 95827  	VmPoweredOffEvent
 95828  
 95829  	// The isolated host on which a virtual machine is powered off.
 95830  	IsolatedHost HostEventArgument `xml:"isolatedHost" json:"isolatedHost"`
 95831  }
 95832  
 95833  func init() {
 95834  	t["VmPowerOffOnIsolationEvent"] = reflect.TypeOf((*VmPowerOffOnIsolationEvent)(nil)).Elem()
 95835  }
 95836  
 95837  // This exception is thrown if the power-on of a virtual machine is attempted
 95838  // when the operation is disabled on the host
 95839  type VmPowerOnDisabled struct {
 95840  	InvalidState
 95841  }
 95842  
 95843  func init() {
 95844  	t["VmPowerOnDisabled"] = reflect.TypeOf((*VmPowerOnDisabled)(nil)).Elem()
 95845  	minAPIVersionForType["VmPowerOnDisabled"] = "4.0"
 95846  }
 95847  
 95848  type VmPowerOnDisabledFault VmPowerOnDisabled
 95849  
 95850  func init() {
 95851  	t["VmPowerOnDisabledFault"] = reflect.TypeOf((*VmPowerOnDisabledFault)(nil)).Elem()
 95852  }
 95853  
 95854  // This event records when a virtual machine finished powering off.
 95855  type VmPoweredOffEvent struct {
 95856  	VmEvent
 95857  }
 95858  
 95859  func init() {
 95860  	t["VmPoweredOffEvent"] = reflect.TypeOf((*VmPoweredOffEvent)(nil)).Elem()
 95861  }
 95862  
 95863  // This event records when a virtual machine finished powering on.
 95864  type VmPoweredOnEvent struct {
 95865  	VmEvent
 95866  }
 95867  
 95868  func init() {
 95869  	t["VmPoweredOnEvent"] = reflect.TypeOf((*VmPoweredOnEvent)(nil)).Elem()
 95870  }
 95871  
 95872  // This event records when a virtual machine was powering on using
 95873  // DVPorts with port level configuration, which might be different
 95874  // from the DVportgroup.
 95875  type VmPoweringOnWithCustomizedDVPortEvent struct {
 95876  	VmEvent
 95877  
 95878  	// The list of Virtual NIC that were using the DVports.
 95879  	Vnic []VnicPortArgument `xml:"vnic" json:"vnic"`
 95880  }
 95881  
 95882  func init() {
 95883  	t["VmPoweringOnWithCustomizedDVPortEvent"] = reflect.TypeOf((*VmPoweringOnWithCustomizedDVPortEvent)(nil)).Elem()
 95884  	minAPIVersionForType["VmPoweringOnWithCustomizedDVPortEvent"] = "4.0"
 95885  }
 95886  
 95887  // This event records a fault tolerance failover.
 95888  //
 95889  // The reason could be : lost connection to primary, partial hardware failure
 95890  // of primary or by user.
 95891  type VmPrimaryFailoverEvent struct {
 95892  	VmEvent
 95893  
 95894  	// The reason for the failure.
 95895  	//
 95896  	// see `VirtualMachineNeedSecondaryReason_enum`
 95897  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 95898  }
 95899  
 95900  func init() {
 95901  	t["VmPrimaryFailoverEvent"] = reflect.TypeOf((*VmPrimaryFailoverEvent)(nil)).Elem()
 95902  	minAPIVersionForType["VmPrimaryFailoverEvent"] = "4.0"
 95903  }
 95904  
 95905  // This event records a reconfiguration of the virtual machine.
 95906  type VmReconfiguredEvent struct {
 95907  	VmEvent
 95908  
 95909  	// The configuration specification that was used for the reconfiguration.
 95910  	ConfigSpec VirtualMachineConfigSpec `xml:"configSpec" json:"configSpec"`
 95911  	// The configuration values changed during the reconfiguration.
 95912  	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty" vim:"6.5"`
 95913  }
 95914  
 95915  func init() {
 95916  	t["VmReconfiguredEvent"] = reflect.TypeOf((*VmReconfiguredEvent)(nil)).Elem()
 95917  }
 95918  
 95919  // This event records that a virtual machine was successfully registered.
 95920  type VmRegisteredEvent struct {
 95921  	VmEvent
 95922  }
 95923  
 95924  func init() {
 95925  	t["VmRegisteredEvent"] = reflect.TypeOf((*VmRegisteredEvent)(nil)).Elem()
 95926  }
 95927  
 95928  // This event records that a virtual machine was successfully
 95929  // converted to the new virtual machine format on a VMFS3 volume.
 95930  type VmRelayoutSuccessfulEvent struct {
 95931  	VmEvent
 95932  }
 95933  
 95934  func init() {
 95935  	t["VmRelayoutSuccessfulEvent"] = reflect.TypeOf((*VmRelayoutSuccessfulEvent)(nil)).Elem()
 95936  }
 95937  
 95938  // This event records that a virtual machine is already in the
 95939  // correct format.
 95940  //
 95941  // No relay out is necessary.
 95942  type VmRelayoutUpToDateEvent struct {
 95943  	VmEvent
 95944  }
 95945  
 95946  func init() {
 95947  	t["VmRelayoutUpToDateEvent"] = reflect.TypeOf((*VmRelayoutUpToDateEvent)(nil)).Elem()
 95948  }
 95949  
 95950  // This event records that a virtual machine was successfully reloaded from a
 95951  // new configuration path.
 95952  type VmReloadFromPathEvent struct {
 95953  	VmEvent
 95954  
 95955  	ConfigPath string `xml:"configPath" json:"configPath"`
 95956  }
 95957  
 95958  func init() {
 95959  	t["VmReloadFromPathEvent"] = reflect.TypeOf((*VmReloadFromPathEvent)(nil)).Elem()
 95960  	minAPIVersionForType["VmReloadFromPathEvent"] = "4.1"
 95961  }
 95962  
 95963  // This event records that a virtual machine reload from a new configuration
 95964  // path failed.
 95965  type VmReloadFromPathFailedEvent struct {
 95966  	VmEvent
 95967  
 95968  	ConfigPath string `xml:"configPath" json:"configPath"`
 95969  }
 95970  
 95971  func init() {
 95972  	t["VmReloadFromPathFailedEvent"] = reflect.TypeOf((*VmReloadFromPathFailedEvent)(nil)).Elem()
 95973  	minAPIVersionForType["VmReloadFromPathFailedEvent"] = "4.1"
 95974  }
 95975  
 95976  // This event records a failure to relocate a virtual machine.
 95977  type VmRelocateFailedEvent struct {
 95978  	VmRelocateSpecEvent
 95979  
 95980  	// The destination host to which the virtual machine is being relocated.
 95981  	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
 95982  	// The reason why this relocate operation failed.
 95983  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 95984  	// The destination datacenter to which the virtual machine was being relocated
 95985  	DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty" json:"destDatacenter,omitempty" vim:"5.0"`
 95986  	// The destination primary datastore to which the virtual machine was being relocated
 95987  	DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty" json:"destDatastore,omitempty" vim:"5.0"`
 95988  }
 95989  
 95990  func init() {
 95991  	t["VmRelocateFailedEvent"] = reflect.TypeOf((*VmRelocateFailedEvent)(nil)).Elem()
 95992  }
 95993  
 95994  // This event is the base event for relocate and clone base events.
 95995  type VmRelocateSpecEvent struct {
 95996  	VmEvent
 95997  }
 95998  
 95999  func init() {
 96000  	t["VmRelocateSpecEvent"] = reflect.TypeOf((*VmRelocateSpecEvent)(nil)).Elem()
 96001  }
 96002  
 96003  // This event records the completion of a virtual machine relocation.
 96004  type VmRelocatedEvent struct {
 96005  	VmRelocateSpecEvent
 96006  
 96007  	// The source host from which the virtual machine was relocated.
 96008  	SourceHost HostEventArgument `xml:"sourceHost" json:"sourceHost"`
 96009  	// The source datacenter from which the virtual machine relocated
 96010  	SourceDatacenter *DatacenterEventArgument `xml:"sourceDatacenter,omitempty" json:"sourceDatacenter,omitempty" vim:"5.0"`
 96011  	// The source primary datastore from which the virtual machine relocated
 96012  	SourceDatastore *DatastoreEventArgument `xml:"sourceDatastore,omitempty" json:"sourceDatastore,omitempty" vim:"5.0"`
 96013  }
 96014  
 96015  func init() {
 96016  	t["VmRelocatedEvent"] = reflect.TypeOf((*VmRelocatedEvent)(nil)).Elem()
 96017  }
 96018  
 96019  // This event records that a remote console was connected to the VM
 96020  type VmRemoteConsoleConnectedEvent struct {
 96021  	VmEvent
 96022  }
 96023  
 96024  func init() {
 96025  	t["VmRemoteConsoleConnectedEvent"] = reflect.TypeOf((*VmRemoteConsoleConnectedEvent)(nil)).Elem()
 96026  	minAPIVersionForType["VmRemoteConsoleConnectedEvent"] = "4.0"
 96027  }
 96028  
 96029  // This event records that a remote console was disconnected from the VM
 96030  type VmRemoteConsoleDisconnectedEvent struct {
 96031  	VmEvent
 96032  }
 96033  
 96034  func init() {
 96035  	t["VmRemoteConsoleDisconnectedEvent"] = reflect.TypeOf((*VmRemoteConsoleDisconnectedEvent)(nil)).Elem()
 96036  	minAPIVersionForType["VmRemoteConsoleDisconnectedEvent"] = "4.0"
 96037  }
 96038  
 96039  // This event records a virtual machine removed from VirtualCenter management.
 96040  type VmRemovedEvent struct {
 96041  	VmEvent
 96042  }
 96043  
 96044  func init() {
 96045  	t["VmRemovedEvent"] = reflect.TypeOf((*VmRemovedEvent)(nil)).Elem()
 96046  }
 96047  
 96048  // This event records the renaming of a virtual machine.
 96049  type VmRenamedEvent struct {
 96050  	VmEvent
 96051  
 96052  	// The old name of the virtual machine.
 96053  	OldName string `xml:"oldName" json:"oldName"`
 96054  	// The new name of the virtual machine.
 96055  	NewName string `xml:"newName" json:"newName"`
 96056  }
 96057  
 96058  func init() {
 96059  	t["VmRenamedEvent"] = reflect.TypeOf((*VmRenamedEvent)(nil)).Elem()
 96060  }
 96061  
 96062  // The virtual machine is using features that exceed what the
 96063  // host is capable of providing.
 96064  //
 96065  // This may occur when joining an EVC cluster
 96066  // while the virtual machine is powered on.
 96067  // The most common resolution is to power cycle the virtual machine.
 96068  type VmRequirementsExceedCurrentEVCModeEvent struct {
 96069  	VmEvent
 96070  }
 96071  
 96072  func init() {
 96073  	t["VmRequirementsExceedCurrentEVCModeEvent"] = reflect.TypeOf((*VmRequirementsExceedCurrentEVCModeEvent)(nil)).Elem()
 96074  	minAPIVersionForType["VmRequirementsExceedCurrentEVCModeEvent"] = "5.1"
 96075  }
 96076  
 96077  // This event records a virtual machine resetting.
 96078  type VmResettingEvent struct {
 96079  	VmEvent
 96080  }
 96081  
 96082  func init() {
 96083  	t["VmResettingEvent"] = reflect.TypeOf((*VmResettingEvent)(nil)).Elem()
 96084  }
 96085  
 96086  // This event records when a virtual machine is moved from one resource pool to another.
 96087  type VmResourcePoolMovedEvent struct {
 96088  	VmEvent
 96089  
 96090  	// The old parent resourcePool of the moved virtual machine.
 96091  	OldParent ResourcePoolEventArgument `xml:"oldParent" json:"oldParent"`
 96092  	// The new parent resourcePool of the moved virtual machine.
 96093  	NewParent ResourcePoolEventArgument `xml:"newParent" json:"newParent"`
 96094  }
 96095  
 96096  func init() {
 96097  	t["VmResourcePoolMovedEvent"] = reflect.TypeOf((*VmResourcePoolMovedEvent)(nil)).Elem()
 96098  }
 96099  
 96100  // This event records a change in resource allocation of a virtual machine.
 96101  type VmResourceReallocatedEvent struct {
 96102  	VmEvent
 96103  
 96104  	// The configuration values changed during the reconfiguration.
 96105  	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty" vim:"6.5"`
 96106  }
 96107  
 96108  func init() {
 96109  	t["VmResourceReallocatedEvent"] = reflect.TypeOf((*VmResourceReallocatedEvent)(nil)).Elem()
 96110  }
 96111  
 96112  // Deprecated as of vSphere API 5.0, the Server will generate the `EventEx` event
 96113  // with the `EventEx.eventTypeId` property set to "com.vmware.vc.ha.VmRestartedByHAEvent".
 96114  //
 96115  // This event records that the virtual machine was restarted on a host, since
 96116  // its original host had failed.
 96117  type VmRestartedOnAlternateHostEvent struct {
 96118  	VmPoweredOnEvent
 96119  
 96120  	// The host that failed.
 96121  	SourceHost HostEventArgument `xml:"sourceHost" json:"sourceHost"`
 96122  }
 96123  
 96124  func init() {
 96125  	t["VmRestartedOnAlternateHostEvent"] = reflect.TypeOf((*VmRestartedOnAlternateHostEvent)(nil)).Elem()
 96126  }
 96127  
 96128  // This event records a virtual machine resuming.
 96129  type VmResumingEvent struct {
 96130  	VmEvent
 96131  }
 96132  
 96133  func init() {
 96134  	t["VmResumingEvent"] = reflect.TypeOf((*VmResumingEvent)(nil)).Elem()
 96135  }
 96136  
 96137  // This event records a secondary VM is added.
 96138  type VmSecondaryAddedEvent struct {
 96139  	VmEvent
 96140  }
 96141  
 96142  func init() {
 96143  	t["VmSecondaryAddedEvent"] = reflect.TypeOf((*VmSecondaryAddedEvent)(nil)).Elem()
 96144  	minAPIVersionForType["VmSecondaryAddedEvent"] = "4.0"
 96145  }
 96146  
 96147  // This event records that a fault tolerance secondary VM has been
 96148  // disabled by vCenter because the VM could not be powered on.
 96149  type VmSecondaryDisabledBySystemEvent struct {
 96150  	VmEvent
 96151  
 96152  	Reason *LocalizedMethodFault `xml:"reason,omitempty" json:"reason,omitempty"`
 96153  }
 96154  
 96155  func init() {
 96156  	t["VmSecondaryDisabledBySystemEvent"] = reflect.TypeOf((*VmSecondaryDisabledBySystemEvent)(nil)).Elem()
 96157  	minAPIVersionForType["VmSecondaryDisabledBySystemEvent"] = "4.0"
 96158  }
 96159  
 96160  // This event records a secondary VM is disabled.
 96161  type VmSecondaryDisabledEvent struct {
 96162  	VmEvent
 96163  }
 96164  
 96165  func init() {
 96166  	t["VmSecondaryDisabledEvent"] = reflect.TypeOf((*VmSecondaryDisabledEvent)(nil)).Elem()
 96167  	minAPIVersionForType["VmSecondaryDisabledEvent"] = "4.0"
 96168  }
 96169  
 96170  // This event records a secondary VM is enabled.
 96171  type VmSecondaryEnabledEvent struct {
 96172  	VmEvent
 96173  }
 96174  
 96175  func init() {
 96176  	t["VmSecondaryEnabledEvent"] = reflect.TypeOf((*VmSecondaryEnabledEvent)(nil)).Elem()
 96177  	minAPIVersionForType["VmSecondaryEnabledEvent"] = "4.0"
 96178  }
 96179  
 96180  // This event records a secondary VM is started successfully.
 96181  type VmSecondaryStartedEvent struct {
 96182  	VmEvent
 96183  }
 96184  
 96185  func init() {
 96186  	t["VmSecondaryStartedEvent"] = reflect.TypeOf((*VmSecondaryStartedEvent)(nil)).Elem()
 96187  	minAPIVersionForType["VmSecondaryStartedEvent"] = "4.0"
 96188  }
 96189  
 96190  // This event records when a virtual machine has been shut down on an isolated host
 96191  // in a HA cluster.
 96192  type VmShutdownOnIsolationEvent struct {
 96193  	VmPoweredOffEvent
 96194  
 96195  	// The isolated host on which a virtual machine was shutdown.
 96196  	IsolatedHost HostEventArgument `xml:"isolatedHost" json:"isolatedHost"`
 96197  	// Indicates if the shutdown was successful.
 96198  	//
 96199  	// If the shutdown failed, the virtual
 96200  	// machine was powered off. see `VmShutdownOnIsolationEventOperation_enum`
 96201  	ShutdownResult string `xml:"shutdownResult,omitempty" json:"shutdownResult,omitempty"`
 96202  }
 96203  
 96204  func init() {
 96205  	t["VmShutdownOnIsolationEvent"] = reflect.TypeOf((*VmShutdownOnIsolationEvent)(nil)).Elem()
 96206  	minAPIVersionForType["VmShutdownOnIsolationEvent"] = "4.0"
 96207  }
 96208  
 96209  // This fault is returned when a host has more than the recommended number of
 96210  // SMP Fault Tolerance VMs running on it.
 96211  type VmSmpFaultToleranceTooManyVMsOnHost struct {
 96212  	InsufficientResourcesFault
 96213  
 96214  	// The name of the host
 96215  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 96216  	// The recommended number of SMP-Fault Tolerance VMs running on the host.
 96217  	MaxNumSmpFtVms int32 `xml:"maxNumSmpFtVms" json:"maxNumSmpFtVms"`
 96218  }
 96219  
 96220  func init() {
 96221  	t["VmSmpFaultToleranceTooManyVMsOnHost"] = reflect.TypeOf((*VmSmpFaultToleranceTooManyVMsOnHost)(nil)).Elem()
 96222  	minAPIVersionForType["VmSmpFaultToleranceTooManyVMsOnHost"] = "6.0"
 96223  }
 96224  
 96225  type VmSmpFaultToleranceTooManyVMsOnHostFault VmSmpFaultToleranceTooManyVMsOnHost
 96226  
 96227  func init() {
 96228  	t["VmSmpFaultToleranceTooManyVMsOnHostFault"] = reflect.TypeOf((*VmSmpFaultToleranceTooManyVMsOnHostFault)(nil)).Elem()
 96229  }
 96230  
 96231  // This data object type describes a file that is a virtual disk snapshot file.
 96232  type VmSnapshotFileInfo struct {
 96233  	FileInfo
 96234  }
 96235  
 96236  func init() {
 96237  	t["VmSnapshotFileInfo"] = reflect.TypeOf((*VmSnapshotFileInfo)(nil)).Elem()
 96238  }
 96239  
 96240  // This data object type describes the query specification for a virtual machine
 96241  // snapshot file.
 96242  type VmSnapshotFileQuery struct {
 96243  	FileQuery
 96244  }
 96245  
 96246  func init() {
 96247  	t["VmSnapshotFileQuery"] = reflect.TypeOf((*VmSnapshotFileQuery)(nil)).Elem()
 96248  }
 96249  
 96250  // Deprecated as of vSphere API 6.0.
 96251  //
 96252  // This event indicates the start of a recording session on a virtual machine.
 96253  type VmStartRecordingEvent struct {
 96254  	VmEvent
 96255  }
 96256  
 96257  func init() {
 96258  	t["VmStartRecordingEvent"] = reflect.TypeOf((*VmStartRecordingEvent)(nil)).Elem()
 96259  	minAPIVersionForType["VmStartRecordingEvent"] = "4.0"
 96260  }
 96261  
 96262  // Deprecated as of vSphere API 6.0.
 96263  //
 96264  // This event indicates the start of a replay session on a virtual machine.
 96265  type VmStartReplayingEvent struct {
 96266  	VmEvent
 96267  }
 96268  
 96269  func init() {
 96270  	t["VmStartReplayingEvent"] = reflect.TypeOf((*VmStartReplayingEvent)(nil)).Elem()
 96271  	minAPIVersionForType["VmStartReplayingEvent"] = "4.0"
 96272  }
 96273  
 96274  // This event records a virtual machine powering on.
 96275  type VmStartingEvent struct {
 96276  	VmEvent
 96277  }
 96278  
 96279  func init() {
 96280  	t["VmStartingEvent"] = reflect.TypeOf((*VmStartingEvent)(nil)).Elem()
 96281  }
 96282  
 96283  // This event records a vmotion to start a secondary VM.
 96284  type VmStartingSecondaryEvent struct {
 96285  	VmEvent
 96286  }
 96287  
 96288  func init() {
 96289  	t["VmStartingSecondaryEvent"] = reflect.TypeOf((*VmStartingSecondaryEvent)(nil)).Elem()
 96290  	minAPIVersionForType["VmStartingSecondaryEvent"] = "4.0"
 96291  }
 96292  
 96293  // This event records a static MAC address conflict for a virtual machine.
 96294  type VmStaticMacConflictEvent struct {
 96295  	VmEvent
 96296  
 96297  	// The virtual machine whose static MAC address conflicts with
 96298  	// the current virtual machine's address.
 96299  	ConflictedVm VmEventArgument `xml:"conflictedVm" json:"conflictedVm"`
 96300  	// The static MAC address that is in conflict.
 96301  	Mac string `xml:"mac" json:"mac"`
 96302  }
 96303  
 96304  func init() {
 96305  	t["VmStaticMacConflictEvent"] = reflect.TypeOf((*VmStaticMacConflictEvent)(nil)).Elem()
 96306  }
 96307  
 96308  // This event records a virtual machine stopping.
 96309  type VmStoppingEvent struct {
 96310  	VmEvent
 96311  }
 96312  
 96313  func init() {
 96314  	t["VmStoppingEvent"] = reflect.TypeOf((*VmStoppingEvent)(nil)).Elem()
 96315  }
 96316  
 96317  // This event records when a virtual machine finished suspending.
 96318  type VmSuspendedEvent struct {
 96319  	VmEvent
 96320  }
 96321  
 96322  func init() {
 96323  	t["VmSuspendedEvent"] = reflect.TypeOf((*VmSuspendedEvent)(nil)).Elem()
 96324  }
 96325  
 96326  // This event records a virtual machine suspending.
 96327  type VmSuspendingEvent struct {
 96328  	VmEvent
 96329  }
 96330  
 96331  func init() {
 96332  	t["VmSuspendingEvent"] = reflect.TypeOf((*VmSuspendingEvent)(nil)).Elem()
 96333  }
 96334  
 96335  // This event records timeout when starting a secondary VM.
 96336  //
 96337  // A default alarm will be triggered upon this event, which by default
 96338  // would trigger a SNMP trap.
 96339  type VmTimedoutStartingSecondaryEvent struct {
 96340  	VmEvent
 96341  
 96342  	// The duration of the timeout in milliseconds.
 96343  	Timeout int64 `xml:"timeout,omitempty" json:"timeout,omitempty"`
 96344  }
 96345  
 96346  func init() {
 96347  	t["VmTimedoutStartingSecondaryEvent"] = reflect.TypeOf((*VmTimedoutStartingSecondaryEvent)(nil)).Elem()
 96348  	minAPIVersionForType["VmTimedoutStartingSecondaryEvent"] = "4.0"
 96349  }
 96350  
 96351  // A base fault to indicate that something went wrong when upgrading tools.
 96352  type VmToolsUpgradeFault struct {
 96353  	VimFault
 96354  }
 96355  
 96356  func init() {
 96357  	t["VmToolsUpgradeFault"] = reflect.TypeOf((*VmToolsUpgradeFault)(nil)).Elem()
 96358  }
 96359  
 96360  type VmToolsUpgradeFaultFault BaseVmToolsUpgradeFault
 96361  
 96362  func init() {
 96363  	t["VmToolsUpgradeFaultFault"] = reflect.TypeOf((*VmToolsUpgradeFaultFault)(nil)).Elem()
 96364  }
 96365  
 96366  // This event records when an unsupported guest is powering on.
 96367  type VmUnsupportedStartingEvent struct {
 96368  	VmStartingEvent
 96369  
 96370  	GuestId string `xml:"guestId" json:"guestId"`
 96371  }
 96372  
 96373  func init() {
 96374  	t["VmUnsupportedStartingEvent"] = reflect.TypeOf((*VmUnsupportedStartingEvent)(nil)).Elem()
 96375  }
 96376  
 96377  // This event records the successful completion of an upgrade operation.
 96378  type VmUpgradeCompleteEvent struct {
 96379  	VmEvent
 96380  
 96381  	// The version of the agent.
 96382  	Version string `xml:"version" json:"version"`
 96383  }
 96384  
 96385  func init() {
 96386  	t["VmUpgradeCompleteEvent"] = reflect.TypeOf((*VmUpgradeCompleteEvent)(nil)).Elem()
 96387  }
 96388  
 96389  // This event records a failure to upgrade virtual hardware.
 96390  type VmUpgradeFailedEvent struct {
 96391  	VmEvent
 96392  }
 96393  
 96394  func init() {
 96395  	t["VmUpgradeFailedEvent"] = reflect.TypeOf((*VmUpgradeFailedEvent)(nil)).Elem()
 96396  }
 96397  
 96398  // This event records the process of upgrading the virtual hardware on a
 96399  // virtual machine.
 96400  type VmUpgradingEvent struct {
 96401  	VmEvent
 96402  
 96403  	// The version of the agent.
 96404  	Version string `xml:"version" json:"version"`
 96405  }
 96406  
 96407  func init() {
 96408  	t["VmUpgradingEvent"] = reflect.TypeOf((*VmUpgradingEvent)(nil)).Elem()
 96409  }
 96410  
 96411  // This event records the assignment of a new BIOS UUID
 96412  // to a virtual machine.
 96413  type VmUuidAssignedEvent struct {
 96414  	VmEvent
 96415  
 96416  	// The new BIOS UUID.
 96417  	Uuid string `xml:"uuid" json:"uuid"`
 96418  }
 96419  
 96420  func init() {
 96421  	t["VmUuidAssignedEvent"] = reflect.TypeOf((*VmUuidAssignedEvent)(nil)).Elem()
 96422  }
 96423  
 96424  // This event records a change in a virtual machine's BIOS UUID.
 96425  type VmUuidChangedEvent struct {
 96426  	VmEvent
 96427  
 96428  	// The old BIOS UUID.
 96429  	OldUuid string `xml:"oldUuid" json:"oldUuid"`
 96430  	// The new BIOS UUID.
 96431  	NewUuid string `xml:"newUuid" json:"newUuid"`
 96432  }
 96433  
 96434  func init() {
 96435  	t["VmUuidChangedEvent"] = reflect.TypeOf((*VmUuidChangedEvent)(nil)).Elem()
 96436  }
 96437  
 96438  // This event records a conflict of virtual machine BIOS UUIDs.
 96439  type VmUuidConflictEvent struct {
 96440  	VmEvent
 96441  
 96442  	// The virtual machine whose UUID conflicts with the
 96443  	// current virtual machine's UUID.
 96444  	ConflictedVm VmEventArgument `xml:"conflictedVm" json:"conflictedVm"`
 96445  	// The BIOS UUID in conflict.
 96446  	Uuid string `xml:"uuid" json:"uuid"`
 96447  }
 96448  
 96449  func init() {
 96450  	t["VmUuidConflictEvent"] = reflect.TypeOf((*VmUuidConflictEvent)(nil)).Elem()
 96451  }
 96452  
 96453  type VmValidateMaxDevice struct {
 96454  	VimFault
 96455  
 96456  	// The device
 96457  	Device string `xml:"device" json:"device"`
 96458  	// max count for the device
 96459  	Max int32 `xml:"max" json:"max"`
 96460  	// number of devices found in vim.vm.ConfigSpec
 96461  	Count int32 `xml:"count" json:"count"`
 96462  }
 96463  
 96464  func init() {
 96465  	t["VmValidateMaxDevice"] = reflect.TypeOf((*VmValidateMaxDevice)(nil)).Elem()
 96466  }
 96467  
 96468  type VmValidateMaxDeviceFault VmValidateMaxDevice
 96469  
 96470  func init() {
 96471  	t["VmValidateMaxDeviceFault"] = reflect.TypeOf((*VmValidateMaxDeviceFault)(nil)).Elem()
 96472  }
 96473  
 96474  // This event is generated when the reservations used by all
 96475  // the virtual network adapters belonging to the virtual NIC network
 96476  // resource pool goes below the reservation allocated to the resource pool
 96477  type VmVnicPoolReservationViolationClearEvent struct {
 96478  	DvsEvent
 96479  
 96480  	// The key of the Virtual NIC network resource pool
 96481  	VmVnicResourcePoolKey string `xml:"vmVnicResourcePoolKey" json:"vmVnicResourcePoolKey"`
 96482  	// The name of the Virtual NIC network resource pool
 96483  	VmVnicResourcePoolName string `xml:"vmVnicResourcePoolName,omitempty" json:"vmVnicResourcePoolName,omitempty"`
 96484  }
 96485  
 96486  func init() {
 96487  	t["VmVnicPoolReservationViolationClearEvent"] = reflect.TypeOf((*VmVnicPoolReservationViolationClearEvent)(nil)).Elem()
 96488  	minAPIVersionForType["VmVnicPoolReservationViolationClearEvent"] = "6.0"
 96489  }
 96490  
 96491  // This event is generated when the reservations used by all
 96492  // the virtual network adapters belonging to the virtual NIC network
 96493  // resource pool exceeds the reservation allocated to the resource pool
 96494  type VmVnicPoolReservationViolationRaiseEvent struct {
 96495  	DvsEvent
 96496  
 96497  	// The key of the Virtual NIC network resource pool
 96498  	VmVnicResourcePoolKey string `xml:"vmVnicResourcePoolKey" json:"vmVnicResourcePoolKey"`
 96499  	// The name of the Virtual NIC network resource pool
 96500  	VmVnicResourcePoolName string `xml:"vmVnicResourcePoolName,omitempty" json:"vmVnicResourcePoolName,omitempty"`
 96501  }
 96502  
 96503  func init() {
 96504  	t["VmVnicPoolReservationViolationRaiseEvent"] = reflect.TypeOf((*VmVnicPoolReservationViolationRaiseEvent)(nil)).Elem()
 96505  	minAPIVersionForType["VmVnicPoolReservationViolationRaiseEvent"] = "6.0"
 96506  }
 96507  
 96508  // This event records the assignment of a new WWN (World Wide Name)
 96509  // to a virtual machine.
 96510  type VmWwnAssignedEvent struct {
 96511  	VmEvent
 96512  
 96513  	// The new node WWN.
 96514  	NodeWwns []int64 `xml:"nodeWwns" json:"nodeWwns"`
 96515  	// The new port WWN.
 96516  	PortWwns []int64 `xml:"portWwns" json:"portWwns"`
 96517  }
 96518  
 96519  func init() {
 96520  	t["VmWwnAssignedEvent"] = reflect.TypeOf((*VmWwnAssignedEvent)(nil)).Elem()
 96521  	minAPIVersionForType["VmWwnAssignedEvent"] = "2.5"
 96522  }
 96523  
 96524  // This event records a change in a virtual machine's WWN (World Wide Name).
 96525  type VmWwnChangedEvent struct {
 96526  	VmEvent
 96527  
 96528  	// The old node WWN.
 96529  	OldNodeWwns []int64 `xml:"oldNodeWwns,omitempty" json:"oldNodeWwns,omitempty"`
 96530  	// The old port WWN.
 96531  	OldPortWwns []int64 `xml:"oldPortWwns,omitempty" json:"oldPortWwns,omitempty"`
 96532  	// The new node WWN.
 96533  	NewNodeWwns []int64 `xml:"newNodeWwns,omitempty" json:"newNodeWwns,omitempty"`
 96534  	// The new port WWN.
 96535  	NewPortWwns []int64 `xml:"newPortWwns,omitempty" json:"newPortWwns,omitempty"`
 96536  }
 96537  
 96538  func init() {
 96539  	t["VmWwnChangedEvent"] = reflect.TypeOf((*VmWwnChangedEvent)(nil)).Elem()
 96540  	minAPIVersionForType["VmWwnChangedEvent"] = "2.5"
 96541  }
 96542  
 96543  // Thrown if a user attempts to assign a
 96544  // WWN that is currently being used by other virtual machine or host.
 96545  type VmWwnConflict struct {
 96546  	InvalidVmConfig
 96547  
 96548  	// The virtual machine that is using the same WWN.
 96549  	//
 96550  	// Refers instance of `VirtualMachine`.
 96551  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 96552  	// The host that is using the same WWN.
 96553  	//
 96554  	// Refers instance of `HostSystem`.
 96555  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 96556  	// The name of the virtual machine/host that is using the same WWN.
 96557  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 96558  	// The WWN that is in conflict.
 96559  	Wwn int64 `xml:"wwn,omitempty" json:"wwn,omitempty"`
 96560  }
 96561  
 96562  func init() {
 96563  	t["VmWwnConflict"] = reflect.TypeOf((*VmWwnConflict)(nil)).Elem()
 96564  	minAPIVersionForType["VmWwnConflict"] = "2.5"
 96565  }
 96566  
 96567  // This event records a conflict of virtual machine WWNs (World Wide Name).
 96568  type VmWwnConflictEvent struct {
 96569  	VmEvent
 96570  
 96571  	// The virtual machine whose WWN conflicts with the
 96572  	// current virtual machine's WWN.
 96573  	ConflictedVms []VmEventArgument `xml:"conflictedVms,omitempty" json:"conflictedVms,omitempty"`
 96574  	// The host whose physical WWN conflicts with the
 96575  	// current virtual machine's WWN.
 96576  	ConflictedHosts []HostEventArgument `xml:"conflictedHosts,omitempty" json:"conflictedHosts,omitempty"`
 96577  	// The WWN in conflict.
 96578  	Wwn int64 `xml:"wwn" json:"wwn"`
 96579  }
 96580  
 96581  func init() {
 96582  	t["VmWwnConflictEvent"] = reflect.TypeOf((*VmWwnConflictEvent)(nil)).Elem()
 96583  	minAPIVersionForType["VmWwnConflictEvent"] = "2.5"
 96584  }
 96585  
 96586  type VmWwnConflictFault VmWwnConflict
 96587  
 96588  func init() {
 96589  	t["VmWwnConflictFault"] = reflect.TypeOf((*VmWwnConflictFault)(nil)).Elem()
 96590  }
 96591  
 96592  // A VmfsAlreadyMounted fault indicates that VMFS volume with same UUID
 96593  // is already mounted on the host.
 96594  type VmfsAlreadyMounted struct {
 96595  	VmfsMountFault
 96596  }
 96597  
 96598  func init() {
 96599  	t["VmfsAlreadyMounted"] = reflect.TypeOf((*VmfsAlreadyMounted)(nil)).Elem()
 96600  	minAPIVersionForType["VmfsAlreadyMounted"] = "4.0"
 96601  }
 96602  
 96603  type VmfsAlreadyMountedFault VmfsAlreadyMounted
 96604  
 96605  func init() {
 96606  	t["VmfsAlreadyMountedFault"] = reflect.TypeOf((*VmfsAlreadyMountedFault)(nil)).Elem()
 96607  }
 96608  
 96609  // An 'VmfsAmbiguousMount' fault occurs when ESX is unable to resolve the
 96610  // extents of a VMFS volume unambiguously.
 96611  //
 96612  // This is thrown only when a VMFS
 96613  // volume has multiple extents and multiple copies of VMFS volumes are available.
 96614  // VMFS layer will not be able to determine how to re-construct the VMFS
 96615  // volume as multiple choices are available.
 96616  type VmfsAmbiguousMount struct {
 96617  	VmfsMountFault
 96618  }
 96619  
 96620  func init() {
 96621  	t["VmfsAmbiguousMount"] = reflect.TypeOf((*VmfsAmbiguousMount)(nil)).Elem()
 96622  	minAPIVersionForType["VmfsAmbiguousMount"] = "4.0"
 96623  }
 96624  
 96625  type VmfsAmbiguousMountFault VmfsAmbiguousMount
 96626  
 96627  func init() {
 96628  	t["VmfsAmbiguousMountFault"] = reflect.TypeOf((*VmfsAmbiguousMountFault)(nil)).Elem()
 96629  }
 96630  
 96631  type VmfsConfigOption struct {
 96632  	DynamicData
 96633  
 96634  	// Supported values of VMFS block size in kilobytes (KB)
 96635  	// `HostVmfsVolume.blockSize`.
 96636  	BlockSizeOption int32 `xml:"blockSizeOption" json:"blockSizeOption"`
 96637  	// Supported values of VMFS unmap granularity
 96638  	// `HostVmfsVolume.unmapGranularity`.
 96639  	//
 96640  	// The unit is KB.
 96641  	UnmapGranularityOption []int32 `xml:"unmapGranularityOption,omitempty" json:"unmapGranularityOption,omitempty"`
 96642  	// Fixed unmap bandwidth min/max/default value
 96643  	UnmapBandwidthFixedValue *LongOption `xml:"unmapBandwidthFixedValue,omitempty" json:"unmapBandwidthFixedValue,omitempty" vim:"6.7"`
 96644  	// Dynamic unmap bandwidth lower limit min/max/default value.
 96645  	UnmapBandwidthDynamicMin *LongOption `xml:"unmapBandwidthDynamicMin,omitempty" json:"unmapBandwidthDynamicMin,omitempty" vim:"6.7"`
 96646  	// Dynamic unmap bandwitdth upper limit min/max/default value.
 96647  	UnmapBandwidthDynamicMax *LongOption `xml:"unmapBandwidthDynamicMax,omitempty" json:"unmapBandwidthDynamicMax,omitempty" vim:"6.7"`
 96648  	// Increment value of unmap bandwidth
 96649  	UnmapBandwidthIncrement int64 `xml:"unmapBandwidthIncrement,omitempty" json:"unmapBandwidthIncrement,omitempty" vim:"6.7"`
 96650  	// Fixed unmap bandwidth ultra low limit value in MB/sec.
 96651  	UnmapBandwidthUltraLow int64 `xml:"unmapBandwidthUltraLow,omitempty" json:"unmapBandwidthUltraLow,omitempty" vim:"8.0.0.1"`
 96652  }
 96653  
 96654  func init() {
 96655  	t["VmfsConfigOption"] = reflect.TypeOf((*VmfsConfigOption)(nil)).Elem()
 96656  }
 96657  
 96658  // Datastore addition policy to use the entire disk as a single extent for
 96659  // a VMFS datastore.
 96660  //
 96661  // If there is any data on the disk, it will be
 96662  // overwritten.
 96663  type VmfsDatastoreAllExtentOption struct {
 96664  	VmfsDatastoreSingleExtentOption
 96665  }
 96666  
 96667  func init() {
 96668  	t["VmfsDatastoreAllExtentOption"] = reflect.TypeOf((*VmfsDatastoreAllExtentOption)(nil)).Elem()
 96669  }
 96670  
 96671  // Base class that describes a VMFS datastore provisioning option.
 96672  type VmfsDatastoreBaseOption struct {
 96673  	DynamicData
 96674  
 96675  	// The partition table layout that the disk will have if this
 96676  	// provisioning option is selected.
 96677  	//
 96678  	// In releases after vSphere API 5.0, vSphere Servers might not
 96679  	// generate property collector update notifications for this property.
 96680  	// To obtain the latest value of the property, you can use
 96681  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 96682  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 96683  	// an empty string for the version parameter.
 96684  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 96685  	// contain values for this property when some other property on the DataObject changes.
 96686  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 96687  	// version parameter, the value for this property may not be current.
 96688  	Layout HostDiskPartitionLayout `xml:"layout" json:"layout"`
 96689  	// Indicates whether selecting this option will change the partition
 96690  	// format type on the disk.
 96691  	//
 96692  	// See also `HostDiskPartitionInfoPartitionFormat_enum`.
 96693  	PartitionFormatChange *bool `xml:"partitionFormatChange" json:"partitionFormatChange,omitempty" vim:"5.0"`
 96694  }
 96695  
 96696  func init() {
 96697  	t["VmfsDatastoreBaseOption"] = reflect.TypeOf((*VmfsDatastoreBaseOption)(nil)).Elem()
 96698  }
 96699  
 96700  // This data object type is used when creating a new VMFS datastore,
 96701  // to create a specification for the VMFS datastore.
 96702  type VmfsDatastoreCreateSpec struct {
 96703  	VmfsDatastoreSpec
 96704  
 96705  	// Partitioning specification.
 96706  	Partition HostDiskPartitionSpec `xml:"partition" json:"partition"`
 96707  	// The VMFS creation specification.
 96708  	Vmfs HostVmfsSpec `xml:"vmfs" json:"vmfs"`
 96709  	// Extents to append to VMFS.
 96710  	Extent []HostScsiDiskPartition `xml:"extent,omitempty" json:"extent,omitempty"`
 96711  }
 96712  
 96713  func init() {
 96714  	t["VmfsDatastoreCreateSpec"] = reflect.TypeOf((*VmfsDatastoreCreateSpec)(nil)).Elem()
 96715  }
 96716  
 96717  // Specification to increase the capacity of a VMFS datastore by expanding
 96718  // (increasing the size of) an existing extent of the datastore.
 96719  type VmfsDatastoreExpandSpec struct {
 96720  	VmfsDatastoreSpec
 96721  
 96722  	// Partitioning specification.
 96723  	Partition HostDiskPartitionSpec `xml:"partition" json:"partition"`
 96724  	// VMFS extent to expand.
 96725  	Extent HostScsiDiskPartition `xml:"extent" json:"extent"`
 96726  }
 96727  
 96728  func init() {
 96729  	t["VmfsDatastoreExpandSpec"] = reflect.TypeOf((*VmfsDatastoreExpandSpec)(nil)).Elem()
 96730  	minAPIVersionForType["VmfsDatastoreExpandSpec"] = "4.0"
 96731  }
 96732  
 96733  // Specification to increase the capacity of a VMFS datastore by adding
 96734  // one or more new extents to the datastore.
 96735  //
 96736  // All the extents to be added
 96737  // must be on the same disk. Extension is different
 96738  // from creation in that the VMFS creation specification need not be
 96739  // specified.
 96740  type VmfsDatastoreExtendSpec struct {
 96741  	VmfsDatastoreSpec
 96742  
 96743  	// Partitioning specification.
 96744  	Partition HostDiskPartitionSpec `xml:"partition" json:"partition"`
 96745  	// Extents to append to VMFS.
 96746  	Extent []HostScsiDiskPartition `xml:"extent" json:"extent"`
 96747  }
 96748  
 96749  func init() {
 96750  	t["VmfsDatastoreExtendSpec"] = reflect.TypeOf((*VmfsDatastoreExtendSpec)(nil)).Elem()
 96751  }
 96752  
 96753  // Information details about a VMFS datastore.
 96754  type VmfsDatastoreInfo struct {
 96755  	DatastoreInfo
 96756  
 96757  	// Maximum raw device mapping size (physical compatibility)
 96758  	MaxPhysicalRDMFileSize int64 `xml:"maxPhysicalRDMFileSize,omitempty" json:"maxPhysicalRDMFileSize,omitempty" vim:"5.1"`
 96759  	// Maximum raw device mapping size (virtual compatibility)
 96760  	MaxVirtualRDMFileSize int64 `xml:"maxVirtualRDMFileSize,omitempty" json:"maxVirtualRDMFileSize,omitempty" vim:"5.1"`
 96761  	// The VMFS volume information for the datastore.
 96762  	//
 96763  	// May not be
 96764  	// available when the datastore is not accessible.
 96765  	Vmfs *HostVmfsVolume `xml:"vmfs,omitempty" json:"vmfs,omitempty"`
 96766  }
 96767  
 96768  func init() {
 96769  	t["VmfsDatastoreInfo"] = reflect.TypeOf((*VmfsDatastoreInfo)(nil)).Elem()
 96770  }
 96771  
 96772  // Datastore addition policy to use multiple extents on the disk for a VMFS
 96773  // datastore.
 96774  //
 96775  // Multiple extents implies that more than one disk partition
 96776  // will be created on the disk for creating or increasing the capacity of a
 96777  // VMFS datastore.
 96778  // Multiple extents are needed when unpartitioned space is fragmented in the
 96779  // existing partition layout of the disk.
 96780  type VmfsDatastoreMultipleExtentOption struct {
 96781  	VmfsDatastoreBaseOption
 96782  
 96783  	// The block ranges to be used as extents in a VMFS datastore.
 96784  	//
 96785  	// The first
 96786  	// block range will be the head partition.
 96787  	VmfsExtent []HostDiskPartitionBlockRange `xml:"vmfsExtent" json:"vmfsExtent"`
 96788  }
 96789  
 96790  func init() {
 96791  	t["VmfsDatastoreMultipleExtentOption"] = reflect.TypeOf((*VmfsDatastoreMultipleExtentOption)(nil)).Elem()
 96792  }
 96793  
 96794  // VMFS datastore provisioning option that can be applied on a disk.
 96795  //
 96796  // VMFS
 96797  // datastores can be created or have their capacity increased using storage
 96798  // from a disk.
 96799  // There are often multiple ways in which extents can be allocated on a disk.
 96800  // Each instance of this structure represents one of the possible options
 96801  // that can be applied to provisiong VMFS datastore storage. Only options
 96802  // that follow ESX Server best practice guidelines will be presented.
 96803  type VmfsDatastoreOption struct {
 96804  	DynamicData
 96805  
 96806  	// Information about this VMFS datastore provisioniing option.
 96807  	//
 96808  	// This
 96809  	// structure describes the extent allocation policy represented by
 96810  	// this option.
 96811  	Info BaseVmfsDatastoreBaseOption `xml:"info,typeattr" json:"info"`
 96812  	// Specification to create or increase the capacity of a VMFS datastore.
 96813  	//
 96814  	// This property contains a configuration specification that can be
 96815  	// applied to effect the creation or capacity increase.
 96816  	Spec BaseVmfsDatastoreSpec `xml:"spec,typeattr" json:"spec"`
 96817  }
 96818  
 96819  func init() {
 96820  	t["VmfsDatastoreOption"] = reflect.TypeOf((*VmfsDatastoreOption)(nil)).Elem()
 96821  }
 96822  
 96823  // Datastore addition policy to use a single extent on the disk for a VMFS
 96824  // datastore.
 96825  //
 96826  // A single extent implies that one disk partition will be
 96827  // created on the disk for creating or increasing the capacity of a VMFS datastore.
 96828  type VmfsDatastoreSingleExtentOption struct {
 96829  	VmfsDatastoreBaseOption
 96830  
 96831  	// The block range to be used as an extent in a VMFS datastore.
 96832  	VmfsExtent HostDiskPartitionBlockRange `xml:"vmfsExtent" json:"vmfsExtent"`
 96833  }
 96834  
 96835  func init() {
 96836  	t["VmfsDatastoreSingleExtentOption"] = reflect.TypeOf((*VmfsDatastoreSingleExtentOption)(nil)).Elem()
 96837  }
 96838  
 96839  // Base class for VMFS datastore addition specification.
 96840  //
 96841  // Used as a generic
 96842  // way to point to one of the creation specifications that can be used to
 96843  // apply a specification to effect the creation or extension of a VMFS
 96844  // datastore.
 96845  type VmfsDatastoreSpec struct {
 96846  	DynamicData
 96847  
 96848  	// The UUID of the SCSI disk on which the VMFS datastore is located.
 96849  	//
 96850  	// See also `HostScsiDisk`, `ScsiLun.uuid`.
 96851  	DiskUuid string `xml:"diskUuid" json:"diskUuid"`
 96852  }
 96853  
 96854  func init() {
 96855  	t["VmfsDatastoreSpec"] = reflect.TypeOf((*VmfsDatastoreSpec)(nil)).Elem()
 96856  }
 96857  
 96858  // This is a base class for all VMFS volume mount related faults.
 96859  type VmfsMountFault struct {
 96860  	HostConfigFault
 96861  
 96862  	// Vmfs volume uuid
 96863  	Uuid string `xml:"uuid" json:"uuid"`
 96864  }
 96865  
 96866  func init() {
 96867  	t["VmfsMountFault"] = reflect.TypeOf((*VmfsMountFault)(nil)).Elem()
 96868  	minAPIVersionForType["VmfsMountFault"] = "4.0"
 96869  }
 96870  
 96871  type VmfsMountFaultFault BaseVmfsMountFault
 96872  
 96873  func init() {
 96874  	t["VmfsMountFaultFault"] = reflect.TypeOf((*VmfsMountFaultFault)(nil)).Elem()
 96875  }
 96876  
 96877  // VMFS unmap reclaims unused storage space.
 96878  //
 96879  // This data object type
 96880  // describes the specification of VMFS unmap bandwidth.
 96881  type VmfsUnmapBandwidthSpec struct {
 96882  	DynamicData
 96883  
 96884  	// This property determines the unmap bandwidth policy.
 96885  	//
 96886  	// See `HostVmfsVolumeUnmapBandwidthPolicy_enum` for supported
 96887  	// values. If not specified, the default value is
 96888  	// `fixed`, which means
 96889  	// unmap is processed at a fixed rate.
 96890  	Policy string `xml:"policy" json:"policy"`
 96891  	// This property determines the bandwidth under the fixed policy.
 96892  	FixedValue int64 `xml:"fixedValue" json:"fixedValue"`
 96893  	// This property determines the lower limits of the unmap bandwidth
 96894  	// under the dynamic policy.
 96895  	DynamicMin int64 `xml:"dynamicMin" json:"dynamicMin"`
 96896  	// This property determines the upper limits of the unmap bandwidth
 96897  	// under the dynamic policy.
 96898  	DynamicMax int64 `xml:"dynamicMax" json:"dynamicMax"`
 96899  }
 96900  
 96901  func init() {
 96902  	t["VmfsUnmapBandwidthSpec"] = reflect.TypeOf((*VmfsUnmapBandwidthSpec)(nil)).Elem()
 96903  	minAPIVersionForType["VmfsUnmapBandwidthSpec"] = "6.7"
 96904  }
 96905  
 96906  // This fault is thrown when the Vmotion Interface on this host is not enabled.
 96907  //
 96908  // The Vmotion Interface is needed for waking up the host from standby mode.
 96909  type VmotionInterfaceNotEnabled struct {
 96910  	HostPowerOpFailed
 96911  }
 96912  
 96913  func init() {
 96914  	t["VmotionInterfaceNotEnabled"] = reflect.TypeOf((*VmotionInterfaceNotEnabled)(nil)).Elem()
 96915  	minAPIVersionForType["VmotionInterfaceNotEnabled"] = "2.5"
 96916  }
 96917  
 96918  type VmotionInterfaceNotEnabledFault VmotionInterfaceNotEnabled
 96919  
 96920  func init() {
 96921  	t["VmotionInterfaceNotEnabledFault"] = reflect.TypeOf((*VmotionInterfaceNotEnabledFault)(nil)).Elem()
 96922  }
 96923  
 96924  // This data type defines the configuration when PVLAN id is to be
 96925  // used for the ports.
 96926  type VmwareDistributedVirtualSwitchPvlanSpec struct {
 96927  	VmwareDistributedVirtualSwitchVlanSpec
 96928  
 96929  	// The `VMwareDVSPvlanMapEntry.secondaryVlanId`.
 96930  	PvlanId int32 `xml:"pvlanId" json:"pvlanId"`
 96931  }
 96932  
 96933  func init() {
 96934  	t["VmwareDistributedVirtualSwitchPvlanSpec"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchPvlanSpec)(nil)).Elem()
 96935  	minAPIVersionForType["VmwareDistributedVirtualSwitchPvlanSpec"] = "4.0"
 96936  }
 96937  
 96938  // This data type specifies that the port uses trunk mode,
 96939  // which allows the guest operating system to manage its own VLAN tags.
 96940  type VmwareDistributedVirtualSwitchTrunkVlanSpec struct {
 96941  	VmwareDistributedVirtualSwitchVlanSpec
 96942  
 96943  	// The VlanId range for the trunk port.
 96944  	//
 96945  	// The valid VlanId range is
 96946  	// from 0 to 4094. Overlapping ranges are allowed.
 96947  	VlanId []NumericRange `xml:"vlanId,omitempty" json:"vlanId,omitempty"`
 96948  }
 96949  
 96950  func init() {
 96951  	t["VmwareDistributedVirtualSwitchTrunkVlanSpec"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchTrunkVlanSpec)(nil)).Elem()
 96952  	minAPIVersionForType["VmwareDistributedVirtualSwitchTrunkVlanSpec"] = "4.0"
 96953  }
 96954  
 96955  // This data type defines the configuration when single vlanId is used for
 96956  // the port.
 96957  type VmwareDistributedVirtualSwitchVlanIdSpec struct {
 96958  	VmwareDistributedVirtualSwitchVlanSpec
 96959  
 96960  	// The VLAN ID for ports.
 96961  	//
 96962  	// Possible values:
 96963  	//     - A value of 0 specifies that you do not want the port associated
 96964  	//       with a VLAN.
 96965  	//     - A value from 1 to 4094 specifies a VLAN ID for the port.
 96966  	VlanId int32 `xml:"vlanId" json:"vlanId"`
 96967  }
 96968  
 96969  func init() {
 96970  	t["VmwareDistributedVirtualSwitchVlanIdSpec"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchVlanIdSpec)(nil)).Elem()
 96971  	minAPIVersionForType["VmwareDistributedVirtualSwitchVlanIdSpec"] = "4.0"
 96972  }
 96973  
 96974  // Base class for Vlan Specifiation for ports.
 96975  type VmwareDistributedVirtualSwitchVlanSpec struct {
 96976  	InheritablePolicy
 96977  }
 96978  
 96979  func init() {
 96980  	t["VmwareDistributedVirtualSwitchVlanSpec"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchVlanSpec)(nil)).Elem()
 96981  	minAPIVersionForType["VmwareDistributedVirtualSwitchVlanSpec"] = "4.0"
 96982  }
 96983  
 96984  // Policy for a uplink port team.
 96985  type VmwareUplinkPortTeamingPolicy struct {
 96986  	InheritablePolicy
 96987  
 96988  	// Network adapter teaming policy.
 96989  	//
 96990  	// The policy defines the way traffic
 96991  	// from the clients of the team is routed through the different uplinks
 96992  	// in the team. The policies supported on the VDS platform is one of
 96993  	// `nicTeamingPolicy`.
 96994  	Policy *StringPolicy `xml:"policy,omitempty" json:"policy,omitempty"`
 96995  	// The flag to indicate whether or not the teaming policy is applied
 96996  	// to inbound frames as well.
 96997  	//
 96998  	// Also see `HostNicTeamingPolicy.reversePolicy`
 96999  	ReversePolicy *BoolPolicy `xml:"reversePolicy,omitempty" json:"reversePolicy,omitempty"`
 97000  	// Flag to specify whether or not to notify the physical switch
 97001  	// if a link fails.
 97002  	//
 97003  	// Also see `HostNicTeamingPolicy.notifySwitches`
 97004  	NotifySwitches *BoolPolicy `xml:"notifySwitches,omitempty" json:"notifySwitches,omitempty"`
 97005  	// The flag to indicate whether or not to use a rolling policy when
 97006  	// restoring links.
 97007  	//
 97008  	// Also see `HostNicTeamingPolicy.rollingOrder`
 97009  	RollingOrder *BoolPolicy `xml:"rollingOrder,omitempty" json:"rollingOrder,omitempty"`
 97010  	// Failover detection policy for the uplink port team.
 97011  	FailureCriteria *DVSFailureCriteria `xml:"failureCriteria,omitempty" json:"failureCriteria,omitempty"`
 97012  	// Failover order policy for uplink ports on the hosts.
 97013  	UplinkPortOrder *VMwareUplinkPortOrderPolicy `xml:"uplinkPortOrder,omitempty" json:"uplinkPortOrder,omitempty"`
 97014  }
 97015  
 97016  func init() {
 97017  	t["VmwareUplinkPortTeamingPolicy"] = reflect.TypeOf((*VmwareUplinkPortTeamingPolicy)(nil)).Elem()
 97018  	minAPIVersionForType["VmwareUplinkPortTeamingPolicy"] = "4.0"
 97019  }
 97020  
 97021  // This argument records a Virtual NIC device that connects to a DVPort.
 97022  type VnicPortArgument struct {
 97023  	DynamicData
 97024  
 97025  	// The Virtual NIC devices that were using the DVports.
 97026  	Vnic string `xml:"vnic" json:"vnic"`
 97027  	// The DVPorts that were being used.
 97028  	Port DistributedVirtualSwitchPortConnection `xml:"port" json:"port"`
 97029  }
 97030  
 97031  func init() {
 97032  	t["VnicPortArgument"] = reflect.TypeOf((*VnicPortArgument)(nil)).Elem()
 97033  	minAPIVersionForType["VnicPortArgument"] = "4.0"
 97034  }
 97035  
 97036  // An error occurred in the Open Source Components applications during
 97037  // volume editing.
 97038  //
 97039  // Possibly caused by an incompatible cygwin version
 97040  // installed in the VirtualCenter server.
 97041  type VolumeEditorError struct {
 97042  	CustomizationFault
 97043  }
 97044  
 97045  func init() {
 97046  	t["VolumeEditorError"] = reflect.TypeOf((*VolumeEditorError)(nil)).Elem()
 97047  }
 97048  
 97049  type VolumeEditorErrorFault VolumeEditorError
 97050  
 97051  func init() {
 97052  	t["VolumeEditorErrorFault"] = reflect.TypeOf((*VolumeEditorErrorFault)(nil)).Elem()
 97053  }
 97054  
 97055  // A VramLimitLicense fault is thrown if executing an operation
 97056  // would result in exceeding maximum allowed vRAM amount.
 97057  //
 97058  // For example, this could happen when powering on a VM,
 97059  // hot-plugging memory into a running VMm, etc.
 97060  type VramLimitLicense struct {
 97061  	NotEnoughLicenses
 97062  
 97063  	// The maximum allowed vRAM amount.
 97064  	Limit int32 `xml:"limit" json:"limit"`
 97065  }
 97066  
 97067  func init() {
 97068  	t["VramLimitLicense"] = reflect.TypeOf((*VramLimitLicense)(nil)).Elem()
 97069  	minAPIVersionForType["VramLimitLicense"] = "5.0"
 97070  }
 97071  
 97072  type VramLimitLicenseFault VramLimitLicense
 97073  
 97074  func init() {
 97075  	t["VramLimitLicenseFault"] = reflect.TypeOf((*VramLimitLicenseFault)(nil)).Elem()
 97076  }
 97077  
 97078  // The `VsanClusterConfigInfo` data object contains configuration
 97079  // data for the VSAN service in a cluster.
 97080  //
 97081  // This data object is used both for
 97082  // specifying cluster-wide settings when updating the VSAN service, and as an
 97083  // output datatype when retrieving current cluster-wide VSAN service settings.
 97084  //
 97085  // See also `ComputeResource.ReconfigureComputeResource_Task`.
 97086  type VsanClusterConfigInfo struct {
 97087  	DynamicData
 97088  
 97089  	// Whether the VSAN service is enabled for the cluster.
 97090  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 97091  	// Default VSAN settings to use for hosts admitted to the cluster when the
 97092  	// VSAN service is enabled.
 97093  	//
 97094  	// If omitted, values will default as though the
 97095  	// fields in the `VsanClusterConfigInfoHostDefaultInfo` have been omitted.
 97096  	//
 97097  	// See also `VsanClusterConfigInfo.enabled`, `VsanClusterConfigInfoHostDefaultInfo`.
 97098  	DefaultConfig *VsanClusterConfigInfoHostDefaultInfo `xml:"defaultConfig,omitempty" json:"defaultConfig,omitempty"`
 97099  	// Whether the vSAN ESA is enabled for vSAN cluster.
 97100  	//
 97101  	// This can only be
 97102  	// enabled when vSAN is enabled on the cluster.
 97103  	VsanEsaEnabled *bool `xml:"vsanEsaEnabled" json:"vsanEsaEnabled,omitempty" vim:"8.0.0.1"`
 97104  }
 97105  
 97106  func init() {
 97107  	t["VsanClusterConfigInfo"] = reflect.TypeOf((*VsanClusterConfigInfo)(nil)).Elem()
 97108  	minAPIVersionForType["VsanClusterConfigInfo"] = "5.5"
 97109  }
 97110  
 97111  // Default VSAN service configuration to be used for hosts admitted
 97112  // to the cluster.
 97113  //
 97114  // See also `VsanClusterConfigInfo.defaultConfig`.
 97115  type VsanClusterConfigInfoHostDefaultInfo struct {
 97116  	DynamicData
 97117  
 97118  	// VSAN service cluster UUID, in the string form
 97119  	// "nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn", where n are hexadecimal
 97120  	// digits.
 97121  	//
 97122  	// When enabling the VSAN service on the cluster, this value shall
 97123  	// not be specified by the user; a suitable UUID will be generated
 97124  	// by the platform.
 97125  	// While the VSAN service is enabled, this is a read-only value.
 97126  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 97127  	// Deprecated as this configuration will be deprecated, autoclaim
 97128  	// will be no longer supported.
 97129  	//
 97130  	// Whether the VSAN service is configured to automatically claim local
 97131  	// storage on VSAN-enabled hosts in the cluster.
 97132  	//
 97133  	// If omitted while enabling the VSAN service, this value will default
 97134  	// to <code>true</code>.
 97135  	// Changing this value to <code>false</code> shall not affect any
 97136  	// existing disk mappings in use by hosts currently participating in
 97137  	// the VSAN service.
 97138  	// Changing this value to <code>true</code> will result in local disks
 97139  	// being automatically claimed for use by the VSAN service, for hosts
 97140  	// currently participating in the VSAN service.
 97141  	//
 97142  	// See also `VsanHostConfigInfoStorageInfo.diskMapping`, `VsanHostConfigInfoStorageInfo.autoClaimStorage`.
 97143  	AutoClaimStorage *bool `xml:"autoClaimStorage" json:"autoClaimStorage,omitempty"`
 97144  	// Whether the VSAN service is configured to enforce checksum protection.
 97145  	//
 97146  	// If omitted while enabling the VSAN service, this value will default
 97147  	// to <code>false<code>.
 97148  	// Change this value to <code>false</code> shall not affect any existing
 97149  	// disk status.
 97150  	// Changing this value to <code>true</code> shall do disk enforcement
 97151  	// check that all VSAN disks are checksum enabled.
 97152  	ChecksumEnabled *bool `xml:"checksumEnabled" json:"checksumEnabled,omitempty" vim:"6.0"`
 97153  }
 97154  
 97155  func init() {
 97156  	t["VsanClusterConfigInfoHostDefaultInfo"] = reflect.TypeOf((*VsanClusterConfigInfoHostDefaultInfo)(nil)).Elem()
 97157  	minAPIVersionForType["VsanClusterConfigInfoHostDefaultInfo"] = "5.5"
 97158  }
 97159  
 97160  // Fault thrown for the case that an attempt is made to move a host which
 97161  // is enabled for VSAN into a `ClusterComputeResource` whose
 97162  // VSAN cluster UUID does not match.
 97163  //
 97164  // See also `CannotMoveVsanEnabledHost`.
 97165  type VsanClusterUuidMismatch struct {
 97166  	CannotMoveVsanEnabledHost
 97167  
 97168  	// The VSAN cluster UUID in use by the host at hand.
 97169  	HostClusterUuid string `xml:"hostClusterUuid" json:"hostClusterUuid"`
 97170  	// The VSAN cluster UUID in use by the destination
 97171  	// `ClusterComputeResource`.
 97172  	DestinationClusterUuid string `xml:"destinationClusterUuid" json:"destinationClusterUuid"`
 97173  }
 97174  
 97175  func init() {
 97176  	t["VsanClusterUuidMismatch"] = reflect.TypeOf((*VsanClusterUuidMismatch)(nil)).Elem()
 97177  	minAPIVersionForType["VsanClusterUuidMismatch"] = "5.5"
 97178  }
 97179  
 97180  type VsanClusterUuidMismatchFault VsanClusterUuidMismatch
 97181  
 97182  func init() {
 97183  	t["VsanClusterUuidMismatchFault"] = reflect.TypeOf((*VsanClusterUuidMismatchFault)(nil)).Elem()
 97184  }
 97185  
 97186  // Detailed information about a vSAN datastore.
 97187  type VsanDatastoreInfo struct {
 97188  	DatastoreInfo
 97189  
 97190  	// The cluster membership identity of the datastore.
 97191  	MembershipUuid string `xml:"membershipUuid,omitempty" json:"membershipUuid,omitempty"`
 97192  	// The generation number tracking datastore accessibility.
 97193  	AccessGenNo int32 `xml:"accessGenNo,omitempty" json:"accessGenNo,omitempty"`
 97194  }
 97195  
 97196  func init() {
 97197  	t["VsanDatastoreInfo"] = reflect.TypeOf((*VsanDatastoreInfo)(nil)).Elem()
 97198  	minAPIVersionForType["VsanDatastoreInfo"] = "7.0.1.0"
 97199  }
 97200  
 97201  // Base exception class for VSAN disk-related faults.
 97202  type VsanDiskFault struct {
 97203  	VsanFault
 97204  
 97205  	// The canonical name for the disk at hand, if applicable.
 97206  	//
 97207  	// See also `ScsiLun.canonicalName`.
 97208  	Device string `xml:"device,omitempty" json:"device,omitempty"`
 97209  }
 97210  
 97211  func init() {
 97212  	t["VsanDiskFault"] = reflect.TypeOf((*VsanDiskFault)(nil)).Elem()
 97213  	minAPIVersionForType["VsanDiskFault"] = "5.5"
 97214  }
 97215  
 97216  type VsanDiskFaultFault BaseVsanDiskFault
 97217  
 97218  func init() {
 97219  	t["VsanDiskFaultFault"] = reflect.TypeOf((*VsanDiskFaultFault)(nil)).Elem()
 97220  }
 97221  
 97222  // Base exception class for VSAN-specific faults raised for host
 97223  // or cluster operations.
 97224  //
 97225  // See also `HostVsanSystem`, `ComputeResource.ReconfigureComputeResource_Task`.
 97226  type VsanFault struct {
 97227  	VimFault
 97228  }
 97229  
 97230  func init() {
 97231  	t["VsanFault"] = reflect.TypeOf((*VsanFault)(nil)).Elem()
 97232  	minAPIVersionForType["VsanFault"] = "5.5"
 97233  }
 97234  
 97235  type VsanFaultFault BaseVsanFault
 97236  
 97237  func init() {
 97238  	t["VsanFaultFault"] = reflect.TypeOf((*VsanFaultFault)(nil)).Elem()
 97239  }
 97240  
 97241  // The `VsanHostClusterStatus` data object contains a host's cluster status
 97242  // information for the VSAN service.
 97243  //
 97244  // This data object is used to represent
 97245  // read-only state whose values may change during operation.
 97246  //
 97247  // See also `HostVsanSystem.QueryHostStatus`.
 97248  type VsanHostClusterStatus struct {
 97249  	DynamicData
 97250  
 97251  	// VSAN service cluster UUID.
 97252  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 97253  	// VSAN node UUID for this host.
 97254  	NodeUuid string `xml:"nodeUuid,omitempty" json:"nodeUuid,omitempty"`
 97255  	// VSAN health state for this host.
 97256  	//
 97257  	// See also `VsanHostHealthState_enum`.
 97258  	Health string `xml:"health" json:"health"`
 97259  	// VSAN node state for this host.
 97260  	NodeState VsanHostClusterStatusState `xml:"nodeState" json:"nodeState"`
 97261  	// List of UUIDs for VSAN nodes known to this host.
 97262  	MemberUuid []string `xml:"memberUuid,omitempty" json:"memberUuid,omitempty"`
 97263  }
 97264  
 97265  func init() {
 97266  	t["VsanHostClusterStatus"] = reflect.TypeOf((*VsanHostClusterStatus)(nil)).Elem()
 97267  	minAPIVersionForType["VsanHostClusterStatus"] = "5.5"
 97268  }
 97269  
 97270  // Data object representing the VSAN node state for a host.
 97271  type VsanHostClusterStatusState struct {
 97272  	DynamicData
 97273  
 97274  	// VSAN node state for this host.
 97275  	//
 97276  	// See also `VsanHostNodeState_enum`.
 97277  	State string `xml:"state" json:"state"`
 97278  	// An estimation of the completion of a node state transition; this
 97279  	// value may be populated for transitory node states.
 97280  	//
 97281  	// See also `VsanHostNodeState_enum`.
 97282  	Completion *VsanHostClusterStatusStateCompletionEstimate `xml:"completion,omitempty" json:"completion,omitempty"`
 97283  }
 97284  
 97285  func init() {
 97286  	t["VsanHostClusterStatusState"] = reflect.TypeOf((*VsanHostClusterStatusState)(nil)).Elem()
 97287  	minAPIVersionForType["VsanHostClusterStatusState"] = "5.5"
 97288  }
 97289  
 97290  // Estimated completion status for transitory node states.
 97291  //
 97292  // See also `VsanHostNodeState_enum`.
 97293  type VsanHostClusterStatusStateCompletionEstimate struct {
 97294  	DynamicData
 97295  
 97296  	// Estimated time of completion.
 97297  	CompleteTime *time.Time `xml:"completeTime" json:"completeTime,omitempty"`
 97298  	// Estimated percent of completion as a value in the range \[0, 100\].
 97299  	PercentComplete int32 `xml:"percentComplete,omitempty" json:"percentComplete,omitempty"`
 97300  }
 97301  
 97302  func init() {
 97303  	t["VsanHostClusterStatusStateCompletionEstimate"] = reflect.TypeOf((*VsanHostClusterStatusStateCompletionEstimate)(nil)).Elem()
 97304  	minAPIVersionForType["VsanHostClusterStatusStateCompletionEstimate"] = "5.5"
 97305  }
 97306  
 97307  // The `VsanHostConfigInfo` data object contains host-specific settings
 97308  // for the VSAN service.
 97309  //
 97310  // This data object is used both for specifying
 97311  // settings for updating the VSAN service, and as an output datatype
 97312  // when retrieving current VSAN service settings.
 97313  type VsanHostConfigInfo struct {
 97314  	DynamicData
 97315  
 97316  	// Whether the VSAN service is currently enabled on this host.
 97317  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 97318  	// The `HostSystem` for this host.
 97319  	//
 97320  	// This argument is required when this configuration is specified as
 97321  	// an input to VC-level APIs. When this configuration is specified
 97322  	// to a host-level direct API, this argument may be omitted.
 97323  	//
 97324  	// See also `ComputeResource.ReconfigureComputeResource_Task`, `HostVsanSystem.UpdateVsan_Task`.
 97325  	//
 97326  	// Refers instance of `HostSystem`.
 97327  	HostSystem *ManagedObjectReference `xml:"hostSystem,omitempty" json:"hostSystem,omitempty"`
 97328  	// The VSAN service cluster configuration for this host.
 97329  	ClusterInfo *VsanHostConfigInfoClusterInfo `xml:"clusterInfo,omitempty" json:"clusterInfo,omitempty"`
 97330  	// The VSAN storage configuration for this host.
 97331  	//
 97332  	// VSAN storage configuration settings are independent of the
 97333  	// current value of `VsanHostConfigInfo.enabled`.
 97334  	StorageInfo *VsanHostConfigInfoStorageInfo `xml:"storageInfo,omitempty" json:"storageInfo,omitempty"`
 97335  	// The VSAN network configuration for this host.
 97336  	//
 97337  	// VSAN network configuration settings are independent of the
 97338  	// current value of `VsanHostConfigInfo.enabled`.
 97339  	NetworkInfo *VsanHostConfigInfoNetworkInfo `xml:"networkInfo,omitempty" json:"networkInfo,omitempty"`
 97340  	// The VSAN fault domain configuration for this host.
 97341  	//
 97342  	// VSAN host fault domain settings are independent of the
 97343  	// current value of `VsanHostConfigInfo.enabled`.
 97344  	FaultDomainInfo *VsanHostFaultDomainInfo `xml:"faultDomainInfo,omitempty" json:"faultDomainInfo,omitempty" vim:"6.0"`
 97345  	// Whether the vSAN ESA is enabled on this host.
 97346  	//
 97347  	// This can only be
 97348  	// enabled when vSAN is enabled on this host.
 97349  	VsanEsaEnabled *bool `xml:"vsanEsaEnabled" json:"vsanEsaEnabled,omitempty" vim:"8.0.0.1"`
 97350  }
 97351  
 97352  func init() {
 97353  	t["VsanHostConfigInfo"] = reflect.TypeOf((*VsanHostConfigInfo)(nil)).Elem()
 97354  	minAPIVersionForType["VsanHostConfigInfo"] = "5.5"
 97355  }
 97356  
 97357  // Host-local VSAN cluster configuration.
 97358  //
 97359  // This data object is used
 97360  // both for specifying and retrieving cluster configuration for a
 97361  // host participating in the VSAN service.
 97362  type VsanHostConfigInfoClusterInfo struct {
 97363  	DynamicData
 97364  
 97365  	// VSAN service cluster UUID, in the string form
 97366  	// "nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn", where n are hexadecimal
 97367  	// digits.
 97368  	//
 97369  	// If provided while enabling the VSAN service, this value will be
 97370  	// used for the service cluster UUID. If omitted when enabling the
 97371  	// VSAN service, a suitable UUID will be generated by the platform.
 97372  	// This is a read-only value while the VSAN service is enabled.
 97373  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 97374  	// VSAN node UUID for this host.
 97375  	//
 97376  	// This is a read-only value which is populated upon enabling of the
 97377  	// VSAN service.
 97378  	NodeUuid string `xml:"nodeUuid,omitempty" json:"nodeUuid,omitempty"`
 97379  }
 97380  
 97381  func init() {
 97382  	t["VsanHostConfigInfoClusterInfo"] = reflect.TypeOf((*VsanHostConfigInfoClusterInfo)(nil)).Elem()
 97383  	minAPIVersionForType["VsanHostConfigInfoClusterInfo"] = "5.5"
 97384  }
 97385  
 97386  // Host-local VSAN network configuration.
 97387  //
 97388  // This data object is used
 97389  // both for specifying and retrieving network configuration for a
 97390  // host participating in the VSAN service.
 97391  type VsanHostConfigInfoNetworkInfo struct {
 97392  	DynamicData
 97393  
 97394  	// Set of PortConfig entries for use by the VSAN service, one per
 97395  	// "virtual network" as used by VSAN.
 97396  	Port []VsanHostConfigInfoNetworkInfoPortConfig `xml:"port,omitempty" json:"port,omitempty"`
 97397  }
 97398  
 97399  func init() {
 97400  	t["VsanHostConfigInfoNetworkInfo"] = reflect.TypeOf((*VsanHostConfigInfoNetworkInfo)(nil)).Elem()
 97401  	minAPIVersionForType["VsanHostConfigInfoNetworkInfo"] = "5.5"
 97402  }
 97403  
 97404  // A PortConfig represents a virtual network adapter and its
 97405  // configuration for use by the VSAN service.
 97406  //
 97407  // See also `HostVirtualNic`.
 97408  type VsanHostConfigInfoNetworkInfoPortConfig struct {
 97409  	DynamicData
 97410  
 97411  	// `VsanHostIpConfig` for this PortConfig.
 97412  	IpConfig *VsanHostIpConfig `xml:"ipConfig,omitempty" json:"ipConfig,omitempty"`
 97413  	// Device name which identifies the network adapter for this
 97414  	// PortConfig.
 97415  	//
 97416  	// See also `HostVirtualNic.device`.
 97417  	Device string `xml:"device" json:"device"`
 97418  }
 97419  
 97420  func init() {
 97421  	t["VsanHostConfigInfoNetworkInfoPortConfig"] = reflect.TypeOf((*VsanHostConfigInfoNetworkInfoPortConfig)(nil)).Elem()
 97422  	minAPIVersionForType["VsanHostConfigInfoNetworkInfoPortConfig"] = "5.5"
 97423  }
 97424  
 97425  // Host-local VSAN storage configuration.
 97426  //
 97427  // This data object is used
 97428  // both for specifying and retrieving storage configuration for a
 97429  // host participating in the VSAN service.
 97430  type VsanHostConfigInfoStorageInfo struct {
 97431  	DynamicData
 97432  
 97433  	// Deprecated as this configuration will be deprecated, autoclaim
 97434  	// will be no longer supported.
 97435  	//
 97436  	// Whether the VSAN service is configured to automatically claim local
 97437  	// unused storage on this host.
 97438  	//
 97439  	// When set, the VSAN service will automatically format and use local
 97440  	// disks. Side effects from any disk consumption will be reflected in
 97441  	// `VsanHostConfigInfoStorageInfo.diskMapping`.
 97442  	// If this argument is specified as a host-level configuration input
 97443  	// at the VC-level (see `ClusterConfigInfoEx.vsanHostConfig`),
 97444  	// it will override that of any cluster-level default value.
 97445  	//
 97446  	// See also `VsanHostConfigInfoStorageInfo.diskMapping`, `ClusterConfigInfoEx.vsanHostConfig`, `VsanClusterConfigInfo.defaultConfig`.
 97447  	AutoClaimStorage *bool `xml:"autoClaimStorage" json:"autoClaimStorage,omitempty"`
 97448  	// Deprecated use `VsanHostConfigInfoStorageInfo.diskMapInfo` instead.
 97449  	//
 97450  	// List of `VsanHostDiskMapping` entries in use by the VSAN service.
 97451  	//
 97452  	// DiskMappings to be used by the VSAN service may be manually
 97453  	// specified using
 97454  	// `HostVsanSystem.InitializeDisks_Task`.
 97455  	//
 97456  	// See also `HostVsanSystem.InitializeDisks_Task`.
 97457  	DiskMapping []VsanHostDiskMapping `xml:"diskMapping,omitempty" json:"diskMapping,omitempty"`
 97458  	// List of `VsanHostDiskMapping` entries with runtime information from
 97459  	// the perspective of this host.
 97460  	DiskMapInfo []VsanHostDiskMapInfo `xml:"diskMapInfo,omitempty" json:"diskMapInfo,omitempty" vim:"6.0"`
 97461  	// Deprecated this attribute was originally used for indicating whether
 97462  	// hardware checksums is supported on the disks. But in vSphere 2016
 97463  	// hardware checksums are replaced with software implementation,
 97464  	// supported by all disks. This makes current field redundant,
 97465  	// and its value as an input/output is ignored.
 97466  	//
 97467  	// Whether checksum is enabled on all the disks in this host.
 97468  	//
 97469  	// If any disk is not checksum capable or 520 bps formatted,
 97470  	// we will skip it.
 97471  	ChecksumEnabled *bool `xml:"checksumEnabled" json:"checksumEnabled,omitempty" vim:"6.0"`
 97472  }
 97473  
 97474  func init() {
 97475  	t["VsanHostConfigInfoStorageInfo"] = reflect.TypeOf((*VsanHostConfigInfoStorageInfo)(nil)).Elem()
 97476  	minAPIVersionForType["VsanHostConfigInfoStorageInfo"] = "5.5"
 97477  }
 97478  
 97479  // A `VsanHostDecommissionMode` defines an action to take upon decommissioning
 97480  // a host from use with the VSAN service.
 97481  //
 97482  // If the VSAN service DecommissionMode is omitted in a call to
 97483  // `HostSystem.EnterMaintenanceMode_Task`, the default action chosen
 97484  // will be `ensureObjectAccessibility`.
 97485  //
 97486  // See also `HostSystem.EnterMaintenanceMode_Task`, `HostMaintenanceSpec.vsanMode`.
 97487  type VsanHostDecommissionMode struct {
 97488  	DynamicData
 97489  
 97490  	// Specifies an action to take with regard to the VSAN service upon
 97491  	// putting a host into maintenance mode.
 97492  	//
 97493  	// See also `VsanHostDecommissionModeObjectAction_enum`.
 97494  	ObjectAction string `xml:"objectAction" json:"objectAction"`
 97495  }
 97496  
 97497  func init() {
 97498  	t["VsanHostDecommissionMode"] = reflect.TypeOf((*VsanHostDecommissionMode)(nil)).Elem()
 97499  	minAPIVersionForType["VsanHostDecommissionMode"] = "5.5"
 97500  }
 97501  
 97502  // A DiskMapInfo represents a `VsanHostDiskMapping` and its
 97503  // corresponding runtime information.
 97504  //
 97505  // See also `VsanHostConfigInfoStorageInfo`, `HostVsanSystem.InitializeDisks_Task`.
 97506  type VsanHostDiskMapInfo struct {
 97507  	DynamicData
 97508  
 97509  	// DiskMapping.
 97510  	Mapping VsanHostDiskMapping `xml:"mapping" json:"mapping"`
 97511  	// Indicates whether the `VsanHostDiskMapping` is mounted.
 97512  	Mounted bool `xml:"mounted" json:"mounted"`
 97513  }
 97514  
 97515  func init() {
 97516  	t["VsanHostDiskMapInfo"] = reflect.TypeOf((*VsanHostDiskMapInfo)(nil)).Elem()
 97517  	minAPIVersionForType["VsanHostDiskMapInfo"] = "6.0"
 97518  }
 97519  
 97520  // A DiskMapResult represents the result of an operation performed
 97521  // on the set of disks in a `VsanHostDiskMapping`.
 97522  //
 97523  // See also `HostVsanSystem.InitializeDisks_Task`, `HostVsanSystem.UpdateVsan_Task`.
 97524  type VsanHostDiskMapResult struct {
 97525  	DynamicData
 97526  
 97527  	// DiskMapping for this result.
 97528  	Mapping VsanHostDiskMapping `xml:"mapping" json:"mapping"`
 97529  	// List of results for each disk in the mapping.
 97530  	DiskResult []VsanHostDiskResult `xml:"diskResult,omitempty" json:"diskResult,omitempty"`
 97531  	// Error information for this result.
 97532  	//
 97533  	// See also `VsanDiskFault`.
 97534  	Error *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 97535  }
 97536  
 97537  func init() {
 97538  	t["VsanHostDiskMapResult"] = reflect.TypeOf((*VsanHostDiskMapResult)(nil)).Elem()
 97539  	minAPIVersionForType["VsanHostDiskMapResult"] = "5.5"
 97540  }
 97541  
 97542  // A `VsanHostDiskMapping` is a set of one SSD `HostScsiDisk` backed
 97543  // by a set of one or more non-SSD `HostScsiDisk`.
 97544  //
 97545  // The maximum
 97546  // allowed `VsanHostDiskMapping` for a host is 5. A maximum set
 97547  // of 7 non-SSDs `HostScsiDisk` can be added to the one
 97548  // SSD `HostScsiDisk`.
 97549  //
 97550  // See also `VsanHostConfigInfoStorageInfo`, `HostVsanSystem.InitializeDisks_Task`.
 97551  type VsanHostDiskMapping struct {
 97552  	DynamicData
 97553  
 97554  	// SSD `HostScsiDisk`.
 97555  	Ssd HostScsiDisk `xml:"ssd" json:"ssd"`
 97556  	// Set of non-SSD backing `HostScsiDisk`.
 97557  	NonSsd []HostScsiDisk `xml:"nonSsd" json:"nonSsd"`
 97558  }
 97559  
 97560  func init() {
 97561  	t["VsanHostDiskMapping"] = reflect.TypeOf((*VsanHostDiskMapping)(nil)).Elem()
 97562  	minAPIVersionForType["VsanHostDiskMapping"] = "5.5"
 97563  }
 97564  
 97565  // A DiskResult represents the result of VSAN configuration operation
 97566  // on a `HostScsiDisk`, and its current eligibility state for use by
 97567  // the VSAN service.
 97568  //
 97569  // See also `HostVsanSystem.QueryDisksForVsan`, `HostVsanSystem.UpdateVsan_Task`, `VsanHostDiskResultState_enum`.
 97570  type VsanHostDiskResult struct {
 97571  	DynamicData
 97572  
 97573  	// Disk for this result.
 97574  	Disk HostScsiDisk `xml:"disk" json:"disk"`
 97575  	// State of the disk for this result.
 97576  	//
 97577  	// See also `VsanHostDiskResultState_enum`.
 97578  	State string `xml:"state" json:"state"`
 97579  	// VSAN disk UUID in case this disk is a VSAN disk.
 97580  	VsanUuid string `xml:"vsanUuid,omitempty" json:"vsanUuid,omitempty"`
 97581  	// Error information for this result: may be populated with additional
 97582  	// information about the disk at hand, regardless of the disk's state.
 97583  	//
 97584  	// See also `VsanDiskFault`, `VsanHostDiskResult.state`.
 97585  	Error *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 97586  	// Indicates whether the disk is degraded in VSAN performance.
 97587  	//
 97588  	// If set, indicates the disk performance is degraded in VSAN
 97589  	// If unset, it is unknown whether the disk performance is degraded in VSAN.
 97590  	Degraded *bool `xml:"degraded" json:"degraded,omitempty" vim:"6.0"`
 97591  }
 97592  
 97593  func init() {
 97594  	t["VsanHostDiskResult"] = reflect.TypeOf((*VsanHostDiskResult)(nil)).Elem()
 97595  	minAPIVersionForType["VsanHostDiskResult"] = "5.5"
 97596  }
 97597  
 97598  // Host-local VSAN fault domain configuration.
 97599  //
 97600  // This data object is used
 97601  // both for specifying and retrieving fault domain configuration for a
 97602  // host participating in the VSAN service.
 97603  type VsanHostFaultDomainInfo struct {
 97604  	DynamicData
 97605  
 97606  	// The configured VSAN fault domain.
 97607  	//
 97608  	// The length of fault domain name should not exceed 256.
 97609  	// Empty string indicates that the default fault domain is used.
 97610  	Name string `xml:"name" json:"name"`
 97611  }
 97612  
 97613  func init() {
 97614  	t["VsanHostFaultDomainInfo"] = reflect.TypeOf((*VsanHostFaultDomainInfo)(nil)).Elem()
 97615  	minAPIVersionForType["VsanHostFaultDomainInfo"] = "6.0"
 97616  }
 97617  
 97618  // An `VsanHostIpConfig` is a pair of multicast IP addresses for use by the VSAN
 97619  // service.
 97620  //
 97621  // For VSAN there is one such IpConfig pair per "virtual network" as
 97622  // represented by `VsanHostConfigInfoNetworkInfoPortConfig`.
 97623  //
 97624  // See also `VsanHostConfigInfoNetworkInfo`, `VsanHostConfigInfoNetworkInfo.port`, `VsanHostConfigInfoNetworkInfoPortConfig`, `HostVsanSystem.UpdateVsan_Task`.
 97625  type VsanHostIpConfig struct {
 97626  	DynamicData
 97627  
 97628  	// Agent-to-master multicast IP address.
 97629  	UpstreamIpAddress string `xml:"upstreamIpAddress" json:"upstreamIpAddress"`
 97630  	// Master-to-agent multicast IP address.
 97631  	DownstreamIpAddress string `xml:"downstreamIpAddress" json:"downstreamIpAddress"`
 97632  }
 97633  
 97634  func init() {
 97635  	t["VsanHostIpConfig"] = reflect.TypeOf((*VsanHostIpConfig)(nil)).Elem()
 97636  	minAPIVersionForType["VsanHostIpConfig"] = "5.5"
 97637  }
 97638  
 97639  // The `VsanHostMembershipInfo` data object contains VSAN cluster
 97640  // membership information for a single host, as observed from a
 97641  // given host.
 97642  //
 97643  // This data object is used to represent read-only
 97644  // state whose values may change during operation.
 97645  //
 97646  // See also `HostRuntimeInfo.vsanRuntimeInfo`.
 97647  type VsanHostMembershipInfo struct {
 97648  	DynamicData
 97649  
 97650  	// VSAN node UUID for the host of this MembershipInfo.
 97651  	//
 97652  	// See also `VsanHostClusterStatus.nodeUuid`.
 97653  	NodeUuid string `xml:"nodeUuid" json:"nodeUuid"`
 97654  	// Hostname for the host of this MembershipInfo.
 97655  	//
 97656  	// May be the empty string "" if the hostname is unavailable.
 97657  	Hostname string `xml:"hostname" json:"hostname"`
 97658  }
 97659  
 97660  func init() {
 97661  	t["VsanHostMembershipInfo"] = reflect.TypeOf((*VsanHostMembershipInfo)(nil)).Elem()
 97662  	minAPIVersionForType["VsanHostMembershipInfo"] = "5.5"
 97663  }
 97664  
 97665  // This data object contains VSAN cluster runtime information from
 97666  // the perspective of the host in question.
 97667  //
 97668  // This data object is used to represent read-only state whose values
 97669  // may change during operation.
 97670  type VsanHostRuntimeInfo struct {
 97671  	DynamicData
 97672  
 97673  	// This property reports host membership information.
 97674  	MembershipList []VsanHostMembershipInfo `xml:"membershipList,omitempty" json:"membershipList,omitempty"`
 97675  	// List of disk issues detected on this host.
 97676  	//
 97677  	// To retrieve more information on the issues, use
 97678  	// `HostVsanSystem.QueryDisksForVsan`.
 97679  	DiskIssues []VsanHostRuntimeInfoDiskIssue `xml:"diskIssues,omitempty" json:"diskIssues,omitempty"`
 97680  	// Generation number tracking object accessibility.
 97681  	AccessGenNo int32 `xml:"accessGenNo,omitempty" json:"accessGenNo,omitempty"`
 97682  }
 97683  
 97684  func init() {
 97685  	t["VsanHostRuntimeInfo"] = reflect.TypeOf((*VsanHostRuntimeInfo)(nil)).Elem()
 97686  	minAPIVersionForType["VsanHostRuntimeInfo"] = "5.5"
 97687  }
 97688  
 97689  // Data structure of reporting a disk issue.
 97690  type VsanHostRuntimeInfoDiskIssue struct {
 97691  	DynamicData
 97692  
 97693  	// Disk uuid, @see vim.host.ScsiLun#uuid
 97694  	DiskId string `xml:"diskId" json:"diskId"`
 97695  	// Type of issue
 97696  	//
 97697  	// See also `VsanDiskIssueType_enum`.
 97698  	Issue string `xml:"issue" json:"issue"`
 97699  }
 97700  
 97701  func init() {
 97702  	t["VsanHostRuntimeInfoDiskIssue"] = reflect.TypeOf((*VsanHostRuntimeInfoDiskIssue)(nil)).Elem()
 97703  	minAPIVersionForType["VsanHostRuntimeInfoDiskIssue"] = "5.5"
 97704  }
 97705  
 97706  // A VsanDiskInfo represents the additional detailed
 97707  // information of a ScsiDisk used by VSAN,
 97708  // to map physical disk to VSAN disk.
 97709  //
 97710  // See also `HostScsiDisk`.
 97711  type VsanHostVsanDiskInfo struct {
 97712  	DynamicData
 97713  
 97714  	// Disk UUID in VSAN
 97715  	VsanUuid string `xml:"vsanUuid" json:"vsanUuid"`
 97716  	// VSAN file system version number
 97717  	FormatVersion int32 `xml:"formatVersion" json:"formatVersion"`
 97718  }
 97719  
 97720  func init() {
 97721  	t["VsanHostVsanDiskInfo"] = reflect.TypeOf((*VsanHostVsanDiskInfo)(nil)).Elem()
 97722  	minAPIVersionForType["VsanHostVsanDiskInfo"] = "6.0"
 97723  }
 97724  
 97725  // Fault used for the add operation which will result in incompatible
 97726  // disk mappings.
 97727  //
 97728  // See also `HostVsanSystem.InitializeDisks_Task`.
 97729  type VsanIncompatibleDiskMapping struct {
 97730  	VsanDiskFault
 97731  }
 97732  
 97733  func init() {
 97734  	t["VsanIncompatibleDiskMapping"] = reflect.TypeOf((*VsanIncompatibleDiskMapping)(nil)).Elem()
 97735  	minAPIVersionForType["VsanIncompatibleDiskMapping"] = "6.0"
 97736  }
 97737  
 97738  type VsanIncompatibleDiskMappingFault VsanIncompatibleDiskMapping
 97739  
 97740  func init() {
 97741  	t["VsanIncompatibleDiskMappingFault"] = reflect.TypeOf((*VsanIncompatibleDiskMappingFault)(nil)).Elem()
 97742  }
 97743  
 97744  // NewPolicyBatch --
 97745  // Structure to specify a list of object sizes and a policy for what-if
 97746  // analysis.
 97747  type VsanNewPolicyBatch struct {
 97748  	DynamicData
 97749  
 97750  	// Size (in bytes) of the objects.
 97751  	Size []int64 `xml:"size,omitempty" json:"size,omitempty"`
 97752  	// New policy in SPBM or VSAN expression format.
 97753  	Policy string `xml:"policy,omitempty" json:"policy,omitempty"`
 97754  }
 97755  
 97756  func init() {
 97757  	t["VsanNewPolicyBatch"] = reflect.TypeOf((*VsanNewPolicyBatch)(nil)).Elem()
 97758  	minAPIVersionForType["VsanNewPolicyBatch"] = "5.5"
 97759  }
 97760  
 97761  // PolicyChangeBatch --
 97762  // Structure to specify a list of object uuids and a policy for what-if
 97763  // analysis.
 97764  type VsanPolicyChangeBatch struct {
 97765  	DynamicData
 97766  
 97767  	// UUIDs of the objects.
 97768  	Uuid []string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 97769  	// New policy in SPBM or VSAN expression format.
 97770  	Policy string `xml:"policy,omitempty" json:"policy,omitempty"`
 97771  }
 97772  
 97773  func init() {
 97774  	t["VsanPolicyChangeBatch"] = reflect.TypeOf((*VsanPolicyChangeBatch)(nil)).Elem()
 97775  	minAPIVersionForType["VsanPolicyChangeBatch"] = "5.5"
 97776  }
 97777  
 97778  // PolicyCost --
 97779  // Structure to describe the cost of satisfying a policy.
 97780  type VsanPolicyCost struct {
 97781  	DynamicData
 97782  
 97783  	// Change (in bytes) of size of data stored on the datastore.
 97784  	//
 97785  	// This is
 97786  	// the max of reserved and used capacity.
 97787  	ChangeDataSize int64 `xml:"changeDataSize,omitempty" json:"changeDataSize,omitempty"`
 97788  	// Size (in bytes) of data currently stored on the datastore.
 97789  	//
 97790  	// This is
 97791  	// the max of reserved and used capacity.
 97792  	CurrentDataSize int64 `xml:"currentDataSize,omitempty" json:"currentDataSize,omitempty"`
 97793  	// Size (in bytes) for temporary data that will be needed on disk if
 97794  	// new policy is applied.
 97795  	TempDataSize int64 `xml:"tempDataSize,omitempty" json:"tempDataSize,omitempty"`
 97796  	// Size (in bytes) of data we need to write to VSAN Datastore if new
 97797  	// policy is applied.
 97798  	CopyDataSize int64 `xml:"copyDataSize,omitempty" json:"copyDataSize,omitempty"`
 97799  	// Change (in bytes) of flash space reserved for read cache if new
 97800  	// policy is applied.
 97801  	ChangeFlashReadCacheSize int64 `xml:"changeFlashReadCacheSize,omitempty" json:"changeFlashReadCacheSize,omitempty"`
 97802  	// Size (in bytes) of flash space currently reserved for read cache.
 97803  	CurrentFlashReadCacheSize int64 `xml:"currentFlashReadCacheSize,omitempty" json:"currentFlashReadCacheSize,omitempty"`
 97804  	// Current ratio of physical disk space of an object to the logical VSAN
 97805  	// address space.
 97806  	//
 97807  	// For eg. an object of size 1GB with two copies of the
 97808  	// data has two 1GB replicas and so this ratio is 2.
 97809  	CurrentDiskSpaceToAddressSpaceRatio float32 `xml:"currentDiskSpaceToAddressSpaceRatio,omitempty" json:"currentDiskSpaceToAddressSpaceRatio,omitempty" vim:"6.0"`
 97810  	// Ratio of physical disk space of an object to the logical VSAN
 97811  	// address space after new policy is applied.
 97812  	//
 97813  	// For eg. an object of size
 97814  	// 1GB with two copies of the data has two 1GB replicas and so this
 97815  	// ratio is 2.
 97816  	DiskSpaceToAddressSpaceRatio float32 `xml:"diskSpaceToAddressSpaceRatio,omitempty" json:"diskSpaceToAddressSpaceRatio,omitempty"`
 97817  }
 97818  
 97819  func init() {
 97820  	t["VsanPolicyCost"] = reflect.TypeOf((*VsanPolicyCost)(nil)).Elem()
 97821  	minAPIVersionForType["VsanPolicyCost"] = "5.5"
 97822  }
 97823  
 97824  // PolicySatisfiablity --
 97825  // Structure to describe whether a policy can be satisfied.
 97826  type VsanPolicySatisfiability struct {
 97827  	DynamicData
 97828  
 97829  	// UUID of the object.
 97830  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 97831  	// Can the policy be satisfied given the assumptions of the API that
 97832  	// queried satisfiability.
 97833  	//
 97834  	// See also `HostVsanInternalSystem.ReconfigurationSatisfiable`.
 97835  	IsSatisfiable bool `xml:"isSatisfiable" json:"isSatisfiable"`
 97836  	// Reason for not being able to satisfy the policy; This is unset if
 97837  	// policy can be satisfied.
 97838  	Reason *LocalizableMessage `xml:"reason,omitempty" json:"reason,omitempty"`
 97839  	// Cost of satisfying the new policy; This is unset if policy cannot be
 97840  	// satisfied.
 97841  	Cost *VsanPolicyCost `xml:"cost,omitempty" json:"cost,omitempty"`
 97842  }
 97843  
 97844  func init() {
 97845  	t["VsanPolicySatisfiability"] = reflect.TypeOf((*VsanPolicySatisfiability)(nil)).Elem()
 97846  	minAPIVersionForType["VsanPolicySatisfiability"] = "5.5"
 97847  }
 97848  
 97849  // Pre-flight check encountered a VC plumbing issue.
 97850  type VsanUpgradeSystemAPIBrokenIssue struct {
 97851  	VsanUpgradeSystemPreflightCheckIssue
 97852  
 97853  	// Hosts this issue applies to.
 97854  	//
 97855  	// Refers instances of `HostSystem`.
 97856  	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
 97857  }
 97858  
 97859  func init() {
 97860  	t["VsanUpgradeSystemAPIBrokenIssue"] = reflect.TypeOf((*VsanUpgradeSystemAPIBrokenIssue)(nil)).Elem()
 97861  	minAPIVersionForType["VsanUpgradeSystemAPIBrokenIssue"] = "6.0"
 97862  }
 97863  
 97864  // Pre-flight check encountered at least one host with auto-claim enabled.
 97865  type VsanUpgradeSystemAutoClaimEnabledOnHostsIssue struct {
 97866  	VsanUpgradeSystemPreflightCheckIssue
 97867  
 97868  	// Hosts this issue applies to.
 97869  	//
 97870  	// Refers instances of `HostSystem`.
 97871  	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
 97872  }
 97873  
 97874  func init() {
 97875  	t["VsanUpgradeSystemAutoClaimEnabledOnHostsIssue"] = reflect.TypeOf((*VsanUpgradeSystemAutoClaimEnabledOnHostsIssue)(nil)).Elem()
 97876  	minAPIVersionForType["VsanUpgradeSystemAutoClaimEnabledOnHostsIssue"] = "6.0"
 97877  }
 97878  
 97879  // Pre-flight check encountered at least one host that is disconnected
 97880  // or not responding.
 97881  type VsanUpgradeSystemHostsDisconnectedIssue struct {
 97882  	VsanUpgradeSystemPreflightCheckIssue
 97883  
 97884  	// Hosts this issue applies to.
 97885  	//
 97886  	// Refers instances of `HostSystem`.
 97887  	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
 97888  }
 97889  
 97890  func init() {
 97891  	t["VsanUpgradeSystemHostsDisconnectedIssue"] = reflect.TypeOf((*VsanUpgradeSystemHostsDisconnectedIssue)(nil)).Elem()
 97892  	minAPIVersionForType["VsanUpgradeSystemHostsDisconnectedIssue"] = "6.0"
 97893  }
 97894  
 97895  // Pre-flight check encountered at least one host that is part of the
 97896  // VC cluster but not the VSAN cluster.
 97897  type VsanUpgradeSystemMissingHostsInClusterIssue struct {
 97898  	VsanUpgradeSystemPreflightCheckIssue
 97899  
 97900  	// Hosts this issue applies to.
 97901  	//
 97902  	// Refers instances of `HostSystem`.
 97903  	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
 97904  }
 97905  
 97906  func init() {
 97907  	t["VsanUpgradeSystemMissingHostsInClusterIssue"] = reflect.TypeOf((*VsanUpgradeSystemMissingHostsInClusterIssue)(nil)).Elem()
 97908  	minAPIVersionForType["VsanUpgradeSystemMissingHostsInClusterIssue"] = "6.0"
 97909  }
 97910  
 97911  // Information about a particular group of hosts making up a network partition.
 97912  type VsanUpgradeSystemNetworkPartitionInfo struct {
 97913  	DynamicData
 97914  
 97915  	// Hosts that make up the network partition
 97916  	//
 97917  	// Refers instances of `HostSystem`.
 97918  	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
 97919  }
 97920  
 97921  func init() {
 97922  	t["VsanUpgradeSystemNetworkPartitionInfo"] = reflect.TypeOf((*VsanUpgradeSystemNetworkPartitionInfo)(nil)).Elem()
 97923  	minAPIVersionForType["VsanUpgradeSystemNetworkPartitionInfo"] = "6.0"
 97924  }
 97925  
 97926  // Pre-flight check encountered a network partition.
 97927  //
 97928  // Contains details
 97929  // about the discovered network partition.
 97930  type VsanUpgradeSystemNetworkPartitionIssue struct {
 97931  	VsanUpgradeSystemPreflightCheckIssue
 97932  
 97933  	// List of network partitions
 97934  	Partitions []VsanUpgradeSystemNetworkPartitionInfo `xml:"partitions" json:"partitions"`
 97935  }
 97936  
 97937  func init() {
 97938  	t["VsanUpgradeSystemNetworkPartitionIssue"] = reflect.TypeOf((*VsanUpgradeSystemNetworkPartitionIssue)(nil)).Elem()
 97939  	minAPIVersionForType["VsanUpgradeSystemNetworkPartitionIssue"] = "6.0"
 97940  }
 97941  
 97942  // Pre-flight check encountered not enough free disk capacity to maintain policy compliance.
 97943  type VsanUpgradeSystemNotEnoughFreeCapacityIssue struct {
 97944  	VsanUpgradeSystemPreflightCheckIssue
 97945  
 97946  	// Indicates that whether upgrade could be processed if option
 97947  	// allowReducedRedundancy is taken.
 97948  	ReducedRedundancyUpgradePossible bool `xml:"reducedRedundancyUpgradePossible" json:"reducedRedundancyUpgradePossible"`
 97949  }
 97950  
 97951  func init() {
 97952  	t["VsanUpgradeSystemNotEnoughFreeCapacityIssue"] = reflect.TypeOf((*VsanUpgradeSystemNotEnoughFreeCapacityIssue)(nil)).Elem()
 97953  	minAPIVersionForType["VsanUpgradeSystemNotEnoughFreeCapacityIssue"] = "6.0"
 97954  }
 97955  
 97956  // Base class for a pre-flight check issue.
 97957  //
 97958  // Can be used directly
 97959  // but usually a derived class with a specific issue type is used.
 97960  type VsanUpgradeSystemPreflightCheckIssue struct {
 97961  	DynamicData
 97962  
 97963  	// Message describing the issue.
 97964  	Msg string `xml:"msg" json:"msg"`
 97965  }
 97966  
 97967  func init() {
 97968  	t["VsanUpgradeSystemPreflightCheckIssue"] = reflect.TypeOf((*VsanUpgradeSystemPreflightCheckIssue)(nil)).Elem()
 97969  	minAPIVersionForType["VsanUpgradeSystemPreflightCheckIssue"] = "6.0"
 97970  }
 97971  
 97972  // Captures the result of a VSAN upgrade pre-flight check.
 97973  type VsanUpgradeSystemPreflightCheckResult struct {
 97974  	DynamicData
 97975  
 97976  	// Detected issues.
 97977  	//
 97978  	// In some cases, not all possible issues are captured,
 97979  	// i.e. only the first (few) issues may be captured, and only once those
 97980  	// are resolved would additional issues be reported.
 97981  	// Absence of issues means the pre-flight check passed.
 97982  	Issues []BaseVsanUpgradeSystemPreflightCheckIssue `xml:"issues,omitempty,typeattr" json:"issues,omitempty"`
 97983  	// If the upgrade process was previously interrupted, it may have
 97984  	// removed VSAN from a disk group, but not added the disk group back
 97985  	// into VSAN.
 97986  	//
 97987  	// If such a situation is detected, this field will be set
 97988  	// and contains information about this disk group.
 97989  	DiskMappingToRestore *VsanHostDiskMapping `xml:"diskMappingToRestore,omitempty" json:"diskMappingToRestore,omitempty"`
 97990  }
 97991  
 97992  func init() {
 97993  	t["VsanUpgradeSystemPreflightCheckResult"] = reflect.TypeOf((*VsanUpgradeSystemPreflightCheckResult)(nil)).Elem()
 97994  	minAPIVersionForType["VsanUpgradeSystemPreflightCheckResult"] = "6.0"
 97995  }
 97996  
 97997  // Pre-flight check encountered at least one host that is part of the VSAN
 97998  // cluster but not the VC cluster.
 97999  type VsanUpgradeSystemRogueHostsInClusterIssue struct {
 98000  	VsanUpgradeSystemPreflightCheckIssue
 98001  
 98002  	// Host UUIDs of rogue hosts.
 98003  	Uuids []string `xml:"uuids" json:"uuids"`
 98004  }
 98005  
 98006  func init() {
 98007  	t["VsanUpgradeSystemRogueHostsInClusterIssue"] = reflect.TypeOf((*VsanUpgradeSystemRogueHostsInClusterIssue)(nil)).Elem()
 98008  	minAPIVersionForType["VsanUpgradeSystemRogueHostsInClusterIssue"] = "6.0"
 98009  }
 98010  
 98011  // The upgrade process removed or added VSAN from/to a disk group.
 98012  //
 98013  // Class
 98014  // provides details about the operation and the disk group.
 98015  type VsanUpgradeSystemUpgradeHistoryDiskGroupOp struct {
 98016  	VsanUpgradeSystemUpgradeHistoryItem
 98017  
 98018  	// Type of the operation, e.g.
 98019  	//
 98020  	// add or remove.
 98021  	//
 98022  	// See also `VsanUpgradeSystemUpgradeHistoryDiskGroupOpType_enum`.
 98023  	Operation string `xml:"operation" json:"operation"`
 98024  	// Disk group that is being added/removed
 98025  	DiskMapping VsanHostDiskMapping `xml:"diskMapping" json:"diskMapping"`
 98026  }
 98027  
 98028  func init() {
 98029  	t["VsanUpgradeSystemUpgradeHistoryDiskGroupOp"] = reflect.TypeOf((*VsanUpgradeSystemUpgradeHistoryDiskGroupOp)(nil)).Elem()
 98030  	minAPIVersionForType["VsanUpgradeSystemUpgradeHistoryDiskGroupOp"] = "6.0"
 98031  }
 98032  
 98033  // Captures one "log entry" of an upgrade process.
 98034  type VsanUpgradeSystemUpgradeHistoryItem struct {
 98035  	DynamicData
 98036  
 98037  	// Time stamp when the history is record.
 98038  	Timestamp time.Time `xml:"timestamp" json:"timestamp"`
 98039  	// The host a history item pertains to.
 98040  	//
 98041  	// May be unset when item related
 98042  	// to no particular host.
 98043  	//
 98044  	// Refers instance of `HostSystem`.
 98045  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 98046  	// Description of the history item.
 98047  	Message string `xml:"message" json:"message"`
 98048  	// A task associated with the history item.
 98049  	//
 98050  	// May be unset if no task is
 98051  	// associated.
 98052  	//
 98053  	// Refers instance of `Task`.
 98054  	Task *ManagedObjectReference `xml:"task,omitempty" json:"task,omitempty"`
 98055  }
 98056  
 98057  func init() {
 98058  	t["VsanUpgradeSystemUpgradeHistoryItem"] = reflect.TypeOf((*VsanUpgradeSystemUpgradeHistoryItem)(nil)).Elem()
 98059  	minAPIVersionForType["VsanUpgradeSystemUpgradeHistoryItem"] = "6.0"
 98060  }
 98061  
 98062  // Upgrade process encountered a pre-flight check failure.
 98063  //
 98064  // This leads to
 98065  // the upgrade process aborting the upgrade.
 98066  type VsanUpgradeSystemUpgradeHistoryPreflightFail struct {
 98067  	VsanUpgradeSystemUpgradeHistoryItem
 98068  
 98069  	// Details about the failed preflight check.
 98070  	PreflightResult VsanUpgradeSystemPreflightCheckResult `xml:"preflightResult" json:"preflightResult"`
 98071  }
 98072  
 98073  func init() {
 98074  	t["VsanUpgradeSystemUpgradeHistoryPreflightFail"] = reflect.TypeOf((*VsanUpgradeSystemUpgradeHistoryPreflightFail)(nil)).Elem()
 98075  	minAPIVersionForType["VsanUpgradeSystemUpgradeHistoryPreflightFail"] = "6.0"
 98076  }
 98077  
 98078  // Captures the status of a VSAN cluster on-disk format upgrade.
 98079  //
 98080  // Contains
 98081  // information about progress, result, and a detailed log of operations.
 98082  type VsanUpgradeSystemUpgradeStatus struct {
 98083  	DynamicData
 98084  
 98085  	// True if there is an active upgrade process.
 98086  	//
 98087  	// If true, other fields
 98088  	// are guaranteed to be populated. If false, other fields may reflect
 98089  	// a previous upgrade process run, or they may be unset.
 98090  	InProgress bool `xml:"inProgress" json:"inProgress"`
 98091  	// Log of a single upgrade task.
 98092  	//
 98093  	// Lists all operations performed by the
 98094  	// upgrade process in chronological order.
 98095  	History []BaseVsanUpgradeSystemUpgradeHistoryItem `xml:"history,omitempty,typeattr" json:"history,omitempty"`
 98096  	// Set if the upgrade process was aborted.
 98097  	Aborted *bool `xml:"aborted" json:"aborted,omitempty"`
 98098  	// Set if the upgrade process has completed successfully.
 98099  	Completed *bool `xml:"completed" json:"completed,omitempty"`
 98100  	// Progress in percent.
 98101  	Progress int32 `xml:"progress,omitempty" json:"progress,omitempty"`
 98102  }
 98103  
 98104  func init() {
 98105  	t["VsanUpgradeSystemUpgradeStatus"] = reflect.TypeOf((*VsanUpgradeSystemUpgradeStatus)(nil)).Elem()
 98106  	minAPIVersionForType["VsanUpgradeSystemUpgradeStatus"] = "6.0"
 98107  }
 98108  
 98109  // Pre-flight check encountered v2 objects preventing a downgrade.
 98110  type VsanUpgradeSystemV2ObjectsPresentDuringDowngradeIssue struct {
 98111  	VsanUpgradeSystemPreflightCheckIssue
 98112  
 98113  	// Object UUIDs of v2 objects.
 98114  	Uuids []string `xml:"uuids" json:"uuids"`
 98115  }
 98116  
 98117  func init() {
 98118  	t["VsanUpgradeSystemV2ObjectsPresentDuringDowngradeIssue"] = reflect.TypeOf((*VsanUpgradeSystemV2ObjectsPresentDuringDowngradeIssue)(nil)).Elem()
 98119  	minAPIVersionForType["VsanUpgradeSystemV2ObjectsPresentDuringDowngradeIssue"] = "6.0"
 98120  }
 98121  
 98122  // Pre-flight check encountered at least one host with wrong ESX version.
 98123  //
 98124  // Only 6.0 is allowed.
 98125  type VsanUpgradeSystemWrongEsxVersionIssue struct {
 98126  	VsanUpgradeSystemPreflightCheckIssue
 98127  
 98128  	// Hosts this issue applies to.
 98129  	//
 98130  	// Refers instances of `HostSystem`.
 98131  	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
 98132  }
 98133  
 98134  func init() {
 98135  	t["VsanUpgradeSystemWrongEsxVersionIssue"] = reflect.TypeOf((*VsanUpgradeSystemWrongEsxVersionIssue)(nil)).Elem()
 98136  	minAPIVersionForType["VsanUpgradeSystemWrongEsxVersionIssue"] = "6.0"
 98137  }
 98138  
 98139  // Specification of cloning a virtual storage object.
 98140  type VslmCloneSpec struct {
 98141  	VslmMigrateSpec
 98142  
 98143  	// Descriptive name of the cloned virtual storage object.
 98144  	Name string `xml:"name" json:"name"`
 98145  	// Choice of the deletion behavior of this virtual storage object.
 98146  	//
 98147  	// If not set, the default value is false.
 98148  	KeepAfterDeleteVm *bool `xml:"keepAfterDeleteVm" json:"keepAfterDeleteVm,omitempty" vim:"6.7"`
 98149  	// The metadata KV pairs that are supposed to be updated on the destination
 98150  	// virtual storage object.
 98151  	//
 98152  	// The clone task is atomic by design. That being
 98153  	// said, failing to update the specified metadata pairs leads to the failure
 98154  	// of the clone task. If unset, no metadata will be updated. An empty string
 98155  	// value is indicative of a vcenter tag.
 98156  	Metadata []KeyValue `xml:"metadata,omitempty" json:"metadata,omitempty" vim:"6.7.2"`
 98157  }
 98158  
 98159  func init() {
 98160  	t["VslmCloneSpec"] = reflect.TypeOf((*VslmCloneSpec)(nil)).Elem()
 98161  	minAPIVersionForType["VslmCloneSpec"] = "6.5"
 98162  }
 98163  
 98164  // Specification to create a virtual storage object.
 98165  type VslmCreateSpec struct {
 98166  	DynamicData
 98167  
 98168  	// Descriptive name of this virtual storage object.
 98169  	Name string `xml:"name" json:"name"`
 98170  	// Choice of the deletion behavior of this virtual storage object.
 98171  	//
 98172  	// If not set, the default value is true.
 98173  	KeepAfterDeleteVm *bool `xml:"keepAfterDeleteVm" json:"keepAfterDeleteVm,omitempty" vim:"6.7"`
 98174  	// Specification of the backings of the virtual storage object.
 98175  	BackingSpec BaseVslmCreateSpecBackingSpec `xml:"backingSpec,typeattr" json:"backingSpec"`
 98176  	// Size in MB of the virtual storage object.
 98177  	CapacityInMB int64 `xml:"capacityInMB" json:"capacityInMB"`
 98178  	// Virtual storage object Profile requirement.
 98179  	//
 98180  	// If unset,
 98181  	// the default behavior will apply.
 98182  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty" vim:"6.7"`
 98183  	// Crypto operation of the disk.
 98184  	//
 98185  	// If unset and if `VslmCreateSpec.profile` contains an encryption iofilter,
 98186  	// then crypto will be of type CryptoSpecEncrypt, and filled with
 98187  	// keyId that is automatically generated and keyProviderId that is the
 98188  	// default kms cluster.
 98189  	Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr" json:"crypto,omitempty" vim:"7.0"`
 98190  	// The metadata KV pairs that are supposed to be created on the newly created
 98191  	// virtual storage object.
 98192  	//
 98193  	// The create task is atomic by design. That being
 98194  	// said, failing to add the specified metadata pairs leads to the failure
 98195  	// of the create task. If unset, no metadata will be added. An empty string
 98196  	// value is indicative of a vcenter tag.
 98197  	Metadata []KeyValue `xml:"metadata,omitempty" json:"metadata,omitempty" vim:"6.7.2"`
 98198  }
 98199  
 98200  func init() {
 98201  	t["VslmCreateSpec"] = reflect.TypeOf((*VslmCreateSpec)(nil)).Elem()
 98202  	minAPIVersionForType["VslmCreateSpec"] = "6.5"
 98203  }
 98204  
 98205  // Specification of the backing of a virtual
 98206  // storage object.
 98207  type VslmCreateSpecBackingSpec struct {
 98208  	DynamicData
 98209  
 98210  	// The datastore managed object where this backing is located.
 98211  	//
 98212  	// Refers instance of `Datastore`.
 98213  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 98214  	// Relative location in the specified datastore where disk needs to be
 98215  	// created.
 98216  	//
 98217  	// If not specified disk gets created at the defualt
 98218  	// VStorageObject location on the specified datastore.
 98219  	Path string `xml:"path,omitempty" json:"path,omitempty" vim:"6.7"`
 98220  }
 98221  
 98222  func init() {
 98223  	t["VslmCreateSpecBackingSpec"] = reflect.TypeOf((*VslmCreateSpecBackingSpec)(nil)).Elem()
 98224  	minAPIVersionForType["VslmCreateSpecBackingSpec"] = "6.5"
 98225  }
 98226  
 98227  // Specification of the disk file backing of a virtual
 98228  // storage object.
 98229  type VslmCreateSpecDiskFileBackingSpec struct {
 98230  	VslmCreateSpecBackingSpec
 98231  
 98232  	// Provisioning type.
 98233  	//
 98234  	// See also `BaseConfigInfoDiskFileBackingInfoProvisioningType_enum`
 98235  	//
 98236  	// If unset, system will first look up the provisioning type specified
 98237  	// in the policy. If still not found, the default
 98238  	// `thin`
 98239  	// will be used..
 98240  	ProvisioningType string `xml:"provisioningType,omitempty" json:"provisioningType,omitempty"`
 98241  }
 98242  
 98243  func init() {
 98244  	t["VslmCreateSpecDiskFileBackingSpec"] = reflect.TypeOf((*VslmCreateSpecDiskFileBackingSpec)(nil)).Elem()
 98245  	minAPIVersionForType["VslmCreateSpecDiskFileBackingSpec"] = "6.5"
 98246  }
 98247  
 98248  // Specification of the rdm backing of a virtual
 98249  // storage object.
 98250  type VslmCreateSpecRawDiskMappingBackingSpec struct {
 98251  	VslmCreateSpecBackingSpec
 98252  
 98253  	// Unique identifier of the LUN accessed by the raw disk mapping.
 98254  	LunUuid string `xml:"lunUuid" json:"lunUuid"`
 98255  	// The compatibility mode of the raw disk mapping (RDM).
 98256  	//
 98257  	// This must be specified
 98258  	// when a new virtual disk with an RDM backing is created.
 98259  	//
 98260  	// See also `VirtualDiskCompatibilityMode_enum`.
 98261  	CompatibilityMode string `xml:"compatibilityMode" json:"compatibilityMode"`
 98262  }
 98263  
 98264  func init() {
 98265  	t["VslmCreateSpecRawDiskMappingBackingSpec"] = reflect.TypeOf((*VslmCreateSpecRawDiskMappingBackingSpec)(nil)).Elem()
 98266  	minAPIVersionForType["VslmCreateSpecRawDiskMappingBackingSpec"] = "6.5"
 98267  }
 98268  
 98269  // Base specification of moving or copying a virtual storage object.
 98270  type VslmMigrateSpec struct {
 98271  	DynamicData
 98272  
 98273  	// Specification of the backings of the target virtual storage object.
 98274  	BackingSpec BaseVslmCreateSpecBackingSpec `xml:"backingSpec,typeattr" json:"backingSpec"`
 98275  	// Virtual storage object Profile requirement.
 98276  	//
 98277  	// If unset,
 98278  	// the default behavior will apply.
 98279  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty" vim:"6.7"`
 98280  	// Flag indicates any delta disk backings will be consolidated
 98281  	// during migration.
 98282  	//
 98283  	// If unset, delta disk backings will not be
 98284  	// consolidated.
 98285  	Consolidate *bool `xml:"consolidate" json:"consolidate,omitempty"`
 98286  	// Disk chain crypto information.
 98287  	//
 98288  	// If unset and if `VslmMigrateSpec.profile` contains an encryption iofilter and if
 98289  	// source VStorageObject is unencrypted, then disksCyrpto will be of type
 98290  	// CryptoSpecEncrypt, and filled with keyId that is automatically generated
 98291  	// and keyProviderId that is the default kms cluster. During the migration,
 98292  	// the object will be encrypted.
 98293  	// If unset and if `VslmMigrateSpec.profile` is a default policy and if source
 98294  	// VStorageObject is unenrypted, then disksCrypto is treated as
 98295  	// CryptoSpecNoOp. During migration, no cryptographic change.
 98296  	// If unset and if `VslmMigrateSpec.profile` contains an encryption iofilter and if
 98297  	// source VStorageObject is encrypted, then disksCyrpto is treated as
 98298  	// CryptoSpecNoOp. During migration, no cryptographic change.
 98299  	// If unset and if `VslmMigrateSpec.profile` is a default policy and if
 98300  	// source VStorageObject is encrypted, then disksCyrpto is treated as
 98301  	// CryptoSpecDecrypt, during migration, the object will be decrypted.
 98302  	// To recrypt the disk during migration, disksCrypto has to be present.
 98303  	DisksCrypto *DiskCryptoSpec `xml:"disksCrypto,omitempty" json:"disksCrypto,omitempty" vim:"7.0"`
 98304  }
 98305  
 98306  func init() {
 98307  	t["VslmMigrateSpec"] = reflect.TypeOf((*VslmMigrateSpec)(nil)).Elem()
 98308  	minAPIVersionForType["VslmMigrateSpec"] = "6.5"
 98309  }
 98310  
 98311  // Specification for relocating a virtual storage object.
 98312  type VslmRelocateSpec struct {
 98313  	VslmMigrateSpec
 98314  }
 98315  
 98316  func init() {
 98317  	t["VslmRelocateSpec"] = reflect.TypeOf((*VslmRelocateSpec)(nil)).Elem()
 98318  	minAPIVersionForType["VslmRelocateSpec"] = "6.5"
 98319  }
 98320  
 98321  // Specification of the Tag-Association tuple of Dataservice Tagging package.
 98322  //
 98323  // This class is a subset of the class dataservice.taggging.TaggingEntry.
 98324  type VslmTagEntry struct {
 98325  	DynamicData
 98326  
 98327  	// Associated tag name of the Tag-Association tuple
 98328  	TagName string `xml:"tagName" json:"tagName"`
 98329  	// Associated parent category name of the Tag-Association tuple
 98330  	ParentCategoryName string `xml:"parentCategoryName" json:"parentCategoryName"`
 98331  }
 98332  
 98333  func init() {
 98334  	t["VslmTagEntry"] = reflect.TypeOf((*VslmTagEntry)(nil)).Elem()
 98335  	minAPIVersionForType["VslmTagEntry"] = "6.5"
 98336  }
 98337  
 98338  // Thrown if a dvPort is used as destination in multiple Distributed Port Mirroring sessions.
 98339  type VspanDestPortConflict struct {
 98340  	DvsFault
 98341  
 98342  	// The key of the Distributed Port Mirroring session whose destination ports include a port
 98343  	// that is also used as destination ports of other Distributed Port Mirroring sessions
 98344  	VspanSessionKey1 string `xml:"vspanSessionKey1" json:"vspanSessionKey1"`
 98345  	// The key of the Distributed Port Mirroring session whose destination ports include a port
 98346  	// that is also used as destination ports of other Distributed Port Mirroring sessions
 98347  	VspanSessionKey2 string `xml:"vspanSessionKey2" json:"vspanSessionKey2"`
 98348  	// The key of the the port that is used as destination in multiple Distributed Port Mirroring sessions
 98349  	PortKey string `xml:"portKey" json:"portKey"`
 98350  }
 98351  
 98352  func init() {
 98353  	t["VspanDestPortConflict"] = reflect.TypeOf((*VspanDestPortConflict)(nil)).Elem()
 98354  	minAPIVersionForType["VspanDestPortConflict"] = "5.0"
 98355  }
 98356  
 98357  type VspanDestPortConflictFault VspanDestPortConflict
 98358  
 98359  func init() {
 98360  	t["VspanDestPortConflictFault"] = reflect.TypeOf((*VspanDestPortConflictFault)(nil)).Elem()
 98361  }
 98362  
 98363  // Thrown if a DistributedVirtualPort appears in both the transmitted source and destination
 98364  // ports of any Distributed Port Mirroring session.
 98365  type VspanPortConflict struct {
 98366  	DvsFault
 98367  
 98368  	// The key of the Distributed Port Mirroring session that is in conflict
 98369  	VspanSessionKey1 string `xml:"vspanSessionKey1" json:"vspanSessionKey1"`
 98370  	// The key of the Distributed Port Mirroring session that is in conflict
 98371  	VspanSessionKey2 string `xml:"vspanSessionKey2" json:"vspanSessionKey2"`
 98372  	// The key of the port that is both the transmitted source and destination.
 98373  	PortKey string `xml:"portKey" json:"portKey"`
 98374  }
 98375  
 98376  func init() {
 98377  	t["VspanPortConflict"] = reflect.TypeOf((*VspanPortConflict)(nil)).Elem()
 98378  	minAPIVersionForType["VspanPortConflict"] = "5.0"
 98379  }
 98380  
 98381  type VspanPortConflictFault VspanPortConflict
 98382  
 98383  func init() {
 98384  	t["VspanPortConflictFault"] = reflect.TypeOf((*VspanPortConflictFault)(nil)).Elem()
 98385  }
 98386  
 98387  // Thrown when moving a port used as tranmistted source or destination ports in vspan
 98388  // session to a promiscuous portgroup if this operation may change
 98389  // the non-promiscuous port to promiscuous mode.
 98390  type VspanPortMoveFault struct {
 98391  	DvsFault
 98392  
 98393  	// The key of the source portgroup.
 98394  	SrcPortgroupName string `xml:"srcPortgroupName" json:"srcPortgroupName"`
 98395  	// The key of the dest portgroup.
 98396  	DestPortgroupName string `xml:"destPortgroupName" json:"destPortgroupName"`
 98397  	// The key of the port.
 98398  	PortKey string `xml:"portKey" json:"portKey"`
 98399  }
 98400  
 98401  func init() {
 98402  	t["VspanPortMoveFault"] = reflect.TypeOf((*VspanPortMoveFault)(nil)).Elem()
 98403  	minAPIVersionForType["VspanPortMoveFault"] = "5.0"
 98404  }
 98405  
 98406  type VspanPortMoveFaultFault VspanPortMoveFault
 98407  
 98408  func init() {
 98409  	t["VspanPortMoveFaultFault"] = reflect.TypeOf((*VspanPortMoveFaultFault)(nil)).Elem()
 98410  }
 98411  
 98412  // Thrown when changing a non-promiscuous port used as tranmistted source or dest
 98413  // ports in Distributed Port Mirroring session to promiscuous mode.
 98414  type VspanPortPromiscChangeFault struct {
 98415  	DvsFault
 98416  
 98417  	// The key of the port.
 98418  	PortKey string `xml:"portKey" json:"portKey"`
 98419  }
 98420  
 98421  func init() {
 98422  	t["VspanPortPromiscChangeFault"] = reflect.TypeOf((*VspanPortPromiscChangeFault)(nil)).Elem()
 98423  	minAPIVersionForType["VspanPortPromiscChangeFault"] = "5.0"
 98424  }
 98425  
 98426  type VspanPortPromiscChangeFaultFault VspanPortPromiscChangeFault
 98427  
 98428  func init() {
 98429  	t["VspanPortPromiscChangeFaultFault"] = reflect.TypeOf((*VspanPortPromiscChangeFaultFault)(nil)).Elem()
 98430  }
 98431  
 98432  // Thrown when changing a non-promiscous portgroup to promiscuous mode if any port
 98433  // in this portgroup is used as tranmistted source or dest ports in vspan
 98434  // session.
 98435  type VspanPortgroupPromiscChangeFault struct {
 98436  	DvsFault
 98437  
 98438  	// The key of the port.
 98439  	PortgroupName string `xml:"portgroupName" json:"portgroupName"`
 98440  }
 98441  
 98442  func init() {
 98443  	t["VspanPortgroupPromiscChangeFault"] = reflect.TypeOf((*VspanPortgroupPromiscChangeFault)(nil)).Elem()
 98444  	minAPIVersionForType["VspanPortgroupPromiscChangeFault"] = "5.0"
 98445  }
 98446  
 98447  type VspanPortgroupPromiscChangeFaultFault VspanPortgroupPromiscChangeFault
 98448  
 98449  func init() {
 98450  	t["VspanPortgroupPromiscChangeFaultFault"] = reflect.TypeOf((*VspanPortgroupPromiscChangeFaultFault)(nil)).Elem()
 98451  }
 98452  
 98453  // Thrown when changing a portgroup from static/dynamic binding to
 98454  // ephemeral(no binding) if any ports in this portgroup participate in
 98455  // Distributed Port Mirroring session.
 98456  type VspanPortgroupTypeChangeFault struct {
 98457  	DvsFault
 98458  
 98459  	// The name of the portgroup.
 98460  	PortgroupName string `xml:"portgroupName" json:"portgroupName"`
 98461  }
 98462  
 98463  func init() {
 98464  	t["VspanPortgroupTypeChangeFault"] = reflect.TypeOf((*VspanPortgroupTypeChangeFault)(nil)).Elem()
 98465  	minAPIVersionForType["VspanPortgroupTypeChangeFault"] = "5.0"
 98466  }
 98467  
 98468  type VspanPortgroupTypeChangeFaultFault VspanPortgroupTypeChangeFault
 98469  
 98470  func init() {
 98471  	t["VspanPortgroupTypeChangeFaultFault"] = reflect.TypeOf((*VspanPortgroupTypeChangeFaultFault)(nil)).Elem()
 98472  }
 98473  
 98474  // Thrown if a promiscuous port appears in transmitted source or destination
 98475  // ports of any Distributed Port Mirroring session.
 98476  type VspanPromiscuousPortNotSupported struct {
 98477  	DvsFault
 98478  
 98479  	// The key of the Distributed Port Mirroring session in which a promiscuous port is used as
 98480  	// transmitted source or destination ports.
 98481  	VspanSessionKey string `xml:"vspanSessionKey" json:"vspanSessionKey"`
 98482  	// The key of the promiscuous port that appears in transmitted
 98483  	// source or destination ports.
 98484  	PortKey string `xml:"portKey" json:"portKey"`
 98485  }
 98486  
 98487  func init() {
 98488  	t["VspanPromiscuousPortNotSupported"] = reflect.TypeOf((*VspanPromiscuousPortNotSupported)(nil)).Elem()
 98489  	minAPIVersionForType["VspanPromiscuousPortNotSupported"] = "5.0"
 98490  }
 98491  
 98492  type VspanPromiscuousPortNotSupportedFault VspanPromiscuousPortNotSupported
 98493  
 98494  func init() {
 98495  	t["VspanPromiscuousPortNotSupportedFault"] = reflect.TypeOf((*VspanPromiscuousPortNotSupportedFault)(nil)).Elem()
 98496  }
 98497  
 98498  // Thrown if a dvPort appears in both the source and destination
 98499  // ports of the same Distributed Port Mirroring session.
 98500  type VspanSameSessionPortConflict struct {
 98501  	DvsFault
 98502  
 98503  	// The key of the Distributed Port Mirroring session in which a dvPort appears in both the source and destination ports
 98504  	VspanSessionKey string `xml:"vspanSessionKey" json:"vspanSessionKey"`
 98505  	// The key of the port that appears in both the source and
 98506  	// destination ports of the same Distributed Port Mirroring session.
 98507  	PortKey string `xml:"portKey" json:"portKey"`
 98508  }
 98509  
 98510  func init() {
 98511  	t["VspanSameSessionPortConflict"] = reflect.TypeOf((*VspanSameSessionPortConflict)(nil)).Elem()
 98512  	minAPIVersionForType["VspanSameSessionPortConflict"] = "5.0"
 98513  }
 98514  
 98515  type VspanSameSessionPortConflictFault VspanSameSessionPortConflict
 98516  
 98517  func init() {
 98518  	t["VspanSameSessionPortConflictFault"] = reflect.TypeOf((*VspanSameSessionPortConflictFault)(nil)).Elem()
 98519  }
 98520  
 98521  type VstorageObjectVCenterQueryChangedDiskAreas VstorageObjectVCenterQueryChangedDiskAreasRequestType
 98522  
 98523  func init() {
 98524  	t["VstorageObjectVCenterQueryChangedDiskAreas"] = reflect.TypeOf((*VstorageObjectVCenterQueryChangedDiskAreas)(nil)).Elem()
 98525  }
 98526  
 98527  // The parameters of `VcenterVStorageObjectManager.VstorageObjectVCenterQueryChangedDiskAreas`.
 98528  type VstorageObjectVCenterQueryChangedDiskAreasRequestType struct {
 98529  	This ManagedObjectReference `xml:"_this" json:"-"`
 98530  	// The ID of the virtual storage object.
 98531  	Id ID `xml:"id" json:"id"`
 98532  	// The datastore where the source virtual storage object
 98533  	// is located.
 98534  	//
 98535  	// Refers instance of `Datastore`.
 98536  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 98537  	// The ID of the snapshot of a virtual storage object for
 98538  	// which changes that have been made since "changeId"
 98539  	// should be computed.
 98540  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 98541  	// Start Offset in bytes at which to start computing
 98542  	// changes. Typically, callers will make multiple calls
 98543  	// to this function, starting with startOffset 0 and then
 98544  	// examine the "length" property in the returned
 98545  	// DiskChangeInfo structure, repeatedly calling
 98546  	// queryChangedDiskAreas until a map for the entire
 98547  	// virtual disk has been obtained.
 98548  	StartOffset int64 `xml:"startOffset" json:"startOffset"`
 98549  	// Identifier referring to a point in the past that should
 98550  	// be used as the point in time at which to begin including
 98551  	// changes to the disk in the result. A typical use case
 98552  	// would be a backup application obtaining a changeId from
 98553  	// a virtual disk's backing info when performing a backup.
 98554  	// When a subsequent incremental backup is to be performed,
 98555  	// this change Id can be used to obtain a list of changed
 98556  	// areas on disk.
 98557  	ChangeId string `xml:"changeId" json:"changeId"`
 98558  }
 98559  
 98560  func init() {
 98561  	t["VstorageObjectVCenterQueryChangedDiskAreasRequestType"] = reflect.TypeOf((*VstorageObjectVCenterQueryChangedDiskAreasRequestType)(nil)).Elem()
 98562  }
 98563  
 98564  type VstorageObjectVCenterQueryChangedDiskAreasResponse struct {
 98565  	Returnval DiskChangeInfo `xml:"returnval" json:"returnval"`
 98566  }
 98567  
 98568  // Detailed information about a VirtualVolume datastore.
 98569  type VvolDatastoreInfo struct {
 98570  	DatastoreInfo
 98571  
 98572  	VvolDS *HostVvolVolume `xml:"vvolDS,omitempty" json:"vvolDS,omitempty"`
 98573  }
 98574  
 98575  func init() {
 98576  	t["VvolDatastoreInfo"] = reflect.TypeOf((*VvolDatastoreInfo)(nil)).Elem()
 98577  	minAPIVersionForType["VvolDatastoreInfo"] = "6.0"
 98578  }
 98579  
 98580  type WaitForUpdates WaitForUpdatesRequestType
 98581  
 98582  func init() {
 98583  	t["WaitForUpdates"] = reflect.TypeOf((*WaitForUpdates)(nil)).Elem()
 98584  }
 98585  
 98586  type WaitForUpdatesEx WaitForUpdatesExRequestType
 98587  
 98588  func init() {
 98589  	t["WaitForUpdatesEx"] = reflect.TypeOf((*WaitForUpdatesEx)(nil)).Elem()
 98590  }
 98591  
 98592  // The parameters of `PropertyCollector.WaitForUpdatesEx`.
 98593  type WaitForUpdatesExRequestType struct {
 98594  	This ManagedObjectReference `xml:"_this" json:"-"`
 98595  	// The data version currently known to the client. The value must be
 98596  	// either
 98597  	//     - the special initial data version (an empty string),
 98598  	//     - a data version returned from `PropertyCollector.CheckForUpdates` or `PropertyCollector.WaitForUpdates`
 98599  	//     - a non-truncated data version returned from `PropertyCollector.WaitForUpdatesEx`
 98600  	//     - a truncated data version returned from the last call to `PropertyCollector.WaitForUpdatesEx` with no intervening calls to `PropertyCollector.WaitForUpdates` or `PropertyCollector.CheckForUpdates`.
 98601  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 98602  	// Additional options controlling the change calculation. If omitted,
 98603  	// equivalent to an options argument with no fields set.
 98604  	Options *WaitOptions `xml:"options,omitempty" json:"options,omitempty"`
 98605  }
 98606  
 98607  func init() {
 98608  	t["WaitForUpdatesExRequestType"] = reflect.TypeOf((*WaitForUpdatesExRequestType)(nil)).Elem()
 98609  }
 98610  
 98611  type WaitForUpdatesExResponse struct {
 98612  	Returnval *UpdateSet `xml:"returnval,omitempty" json:"returnval,omitempty"`
 98613  }
 98614  
 98615  // The parameters of `PropertyCollector.WaitForUpdates`.
 98616  type WaitForUpdatesRequestType struct {
 98617  	This ManagedObjectReference `xml:"_this" json:"-"`
 98618  	// The data version currently known to the client. The value
 98619  	// must be either
 98620  	//     - the special initial version (an empty string)
 98621  	//     - a data version returned from `PropertyCollector.CheckForUpdates` or `PropertyCollector.WaitForUpdates` by the same `PropertyCollector` on the same session
 98622  	//     - a non-truncated data version returned from `PropertyCollector.WaitForUpdatesEx` by the same `PropertyCollector` on the same
 98623  	//       session.
 98624  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 98625  }
 98626  
 98627  func init() {
 98628  	t["WaitForUpdatesRequestType"] = reflect.TypeOf((*WaitForUpdatesRequestType)(nil)).Elem()
 98629  }
 98630  
 98631  type WaitForUpdatesResponse struct {
 98632  	Returnval UpdateSet `xml:"returnval" json:"returnval"`
 98633  }
 98634  
 98635  // Options for `PropertyCollector.WaitForUpdatesEx`.
 98636  type WaitOptions struct {
 98637  	DynamicData
 98638  
 98639  	// The number of seconds the `PropertyCollector` should wait
 98640  	// before returning null.
 98641  	//
 98642  	// Returning updates may take longer if the
 98643  	// actual calculation time exceeds `WaitOptions.maxWaitSeconds`. Additionally `PropertyCollector` policy may
 98644  	// cause it to return null sooner than `WaitOptions.maxWaitSeconds`.
 98645  	//
 98646  	// An unset value causes `PropertyCollector.WaitForUpdatesEx` to wait as
 98647  	// long as possible for updates. Policy may still cause the
 98648  	// `PropertyCollector` to return null at some point.
 98649  	//
 98650  	// A value of 0 causes `PropertyCollector.WaitForUpdatesEx` to do one update
 98651  	// calculation and return any results. This behavior is similar to `PropertyCollector.CheckForUpdates`.
 98652  	//
 98653  	// A positive value causes `PropertyCollector.WaitForUpdatesEx` to return
 98654  	// null if no updates are available within the specified number of
 98655  	// seconds. The choice of a positive value often depends on the
 98656  	// client communication stack. For example it may be helpful to
 98657  	// choose a duration shorter than a local HTTP request timeout.
 98658  	// Typically it should be no shorter than a few minutes.
 98659  	//
 98660  	// A negative value is illegal.
 98661  	MaxWaitSeconds *int32 `xml:"maxWaitSeconds" json:"maxWaitSeconds,omitempty"`
 98662  	// The maximum number of `ObjectUpdate`
 98663  	// entries that should be returned in a single result from `PropertyCollector.WaitForUpdatesEx`.
 98664  	//
 98665  	// See `UpdateSet.truncated`
 98666  	//
 98667  	// An unset value indicates that there is no maximum. In this case
 98668  	// `PropertyCollector` policy may still limit the number of objects
 98669  	// that appear in an `UpdateSet`.
 98670  	//
 98671  	// A positive value causes `PropertyCollector.WaitForUpdatesEx` to suspend
 98672  	// the update calculation when the total count of `ObjectUpdate` entries ready to return reaches
 98673  	// the specified maximum. `PropertyCollector` policy may still
 98674  	// limit the total count to something less than `WaitOptions.maxObjectUpdates`.
 98675  	//
 98676  	// A value less than or equal to 0 is illegal.
 98677  	MaxObjectUpdates int32 `xml:"maxObjectUpdates,omitempty" json:"maxObjectUpdates,omitempty"`
 98678  }
 98679  
 98680  func init() {
 98681  	t["WaitOptions"] = reflect.TypeOf((*WaitOptions)(nil)).Elem()
 98682  	minAPIVersionForType["WaitOptions"] = "4.1"
 98683  }
 98684  
 98685  // The virtual machine and at least one of its virtual NICs are configured to
 98686  // use Wake-on-LAN, but the host does not support Wake-on-LAN for the
 98687  // virtual machine's selected guest OS.
 98688  type WakeOnLanNotSupported struct {
 98689  	VirtualHardwareCompatibilityIssue
 98690  }
 98691  
 98692  func init() {
 98693  	t["WakeOnLanNotSupported"] = reflect.TypeOf((*WakeOnLanNotSupported)(nil)).Elem()
 98694  	minAPIVersionForType["WakeOnLanNotSupported"] = "2.5"
 98695  }
 98696  
 98697  // This fault is thrown when Wake-on-LAN isn't supported by the Vmotion NIC on the host.
 98698  type WakeOnLanNotSupportedByVmotionNIC struct {
 98699  	HostPowerOpFailed
 98700  }
 98701  
 98702  func init() {
 98703  	t["WakeOnLanNotSupportedByVmotionNIC"] = reflect.TypeOf((*WakeOnLanNotSupportedByVmotionNIC)(nil)).Elem()
 98704  	minAPIVersionForType["WakeOnLanNotSupportedByVmotionNIC"] = "2.5"
 98705  }
 98706  
 98707  type WakeOnLanNotSupportedByVmotionNICFault WakeOnLanNotSupportedByVmotionNIC
 98708  
 98709  func init() {
 98710  	t["WakeOnLanNotSupportedByVmotionNICFault"] = reflect.TypeOf((*WakeOnLanNotSupportedByVmotionNICFault)(nil)).Elem()
 98711  }
 98712  
 98713  type WakeOnLanNotSupportedFault WakeOnLanNotSupported
 98714  
 98715  func init() {
 98716  	t["WakeOnLanNotSupportedFault"] = reflect.TypeOf((*WakeOnLanNotSupportedFault)(nil)).Elem()
 98717  }
 98718  
 98719  // This event is a general warning event from upgrade.
 98720  type WarningUpgradeEvent struct {
 98721  	UpgradeEvent
 98722  }
 98723  
 98724  func init() {
 98725  	t["WarningUpgradeEvent"] = reflect.TypeOf((*WarningUpgradeEvent)(nil)).Elem()
 98726  }
 98727  
 98728  // The `WeeklyTaskScheduler` data object sets the time for weekly
 98729  // task execution.
 98730  //
 98731  // You can set the schedule for task execution
 98732  // on one or more days during the week, and you complete the schedule
 98733  // by setting the inherited properties for the hour and minute.
 98734  //
 98735  // By default the scheduler executes the task according to the
 98736  // specified day(s) every week.
 98737  // If you set the interval to a value greater than 1, the task will
 98738  // execute at the specified weekly interval. (For example, an interval
 98739  // of 2 will cause the task to execute on the specified days every 2 weeks.)
 98740  type WeeklyTaskScheduler struct {
 98741  	DailyTaskScheduler
 98742  
 98743  	// The day or days of the week when the scheduled task will run.
 98744  	//
 98745  	// At least one of the days must be true.
 98746  	Sunday    bool `xml:"sunday" json:"sunday"`
 98747  	Monday    bool `xml:"monday" json:"monday"`
 98748  	Tuesday   bool `xml:"tuesday" json:"tuesday"`
 98749  	Wednesday bool `xml:"wednesday" json:"wednesday"`
 98750  	Thursday  bool `xml:"thursday" json:"thursday"`
 98751  	Friday    bool `xml:"friday" json:"friday"`
 98752  	Saturday  bool `xml:"saturday" json:"saturday"`
 98753  }
 98754  
 98755  func init() {
 98756  	t["WeeklyTaskScheduler"] = reflect.TypeOf((*WeeklyTaskScheduler)(nil)).Elem()
 98757  }
 98758  
 98759  // This fault is reported when the execution of a storage vmotion or
 98760  // relocate operation would impact vSphere HA's ability to
 98761  // restart a VM.
 98762  //
 98763  // For storage vmotion, this fault
 98764  // is reported when HA protection will be lost after the vmotion
 98765  // completes. Consequently, HA would not restart the VM if it
 98766  // subsequently failed. For relocate, relocate is not supported on
 98767  // VMs that failed before the operation is attempted and are in the
 98768  // process of being restarted at the time the operation is performed.
 98769  type WillLoseHAProtection struct {
 98770  	MigrationFault
 98771  
 98772  	// The steps the user can take to restore protection if the
 98773  	// the operation is performed.
 98774  	//
 98775  	// Values come from
 98776  	// `WillLoseHAProtectionResolution_enum`.
 98777  	Resolution string `xml:"resolution" json:"resolution"`
 98778  }
 98779  
 98780  func init() {
 98781  	t["WillLoseHAProtection"] = reflect.TypeOf((*WillLoseHAProtection)(nil)).Elem()
 98782  	minAPIVersionForType["WillLoseHAProtection"] = "5.0"
 98783  }
 98784  
 98785  type WillLoseHAProtectionFault WillLoseHAProtection
 98786  
 98787  func init() {
 98788  	t["WillLoseHAProtectionFault"] = reflect.TypeOf((*WillLoseHAProtectionFault)(nil)).Elem()
 98789  }
 98790  
 98791  // A virtual machine's total CPU feature requirements are determined by
 98792  // overlaying the requirements specified in its configuration (if any) on top
 98793  // of the requirements specified in the descriptor for its guest OS.
 98794  //
 98795  // It is
 98796  // therefore possible for a host change to implicitly change a virtual
 98797  // machine's CPU feature requirements. The guest OS descriptor may have
 98798  // different requirements on the new host. Or, if the virtual machine
 98799  // currently specifies requirements in its configuration, those requirements
 98800  // will be lost if the new host does not support this.
 98801  //
 98802  // This fault indicates that the virtual machine's CPU feature requirements
 98803  // would change because of a migration, and also that the destination host
 98804  // does support storing CPU feature requirements in the virtual machine's
 98805  // configuration. (If the destination host does not support such an action,
 98806  // `CannotModifyConfigCpuRequirements` is used instead of this fault.)
 98807  //
 98808  // This is a warning to notify the user that the migration process will
 98809  // adjust the virtual machine's configuration so that it will be operating
 98810  // under an unchanged set of CPU feature requirements on its new host. If the
 98811  // user wishes to expose the different guest OS requirements of the new host,
 98812  // the user will need to edit the virtual machine's configuration after the
 98813  // migration.
 98814  type WillModifyConfigCpuRequirements struct {
 98815  	MigrationFault
 98816  }
 98817  
 98818  func init() {
 98819  	t["WillModifyConfigCpuRequirements"] = reflect.TypeOf((*WillModifyConfigCpuRequirements)(nil)).Elem()
 98820  }
 98821  
 98822  type WillModifyConfigCpuRequirementsFault WillModifyConfigCpuRequirements
 98823  
 98824  func init() {
 98825  	t["WillModifyConfigCpuRequirementsFault"] = reflect.TypeOf((*WillModifyConfigCpuRequirementsFault)(nil)).Elem()
 98826  }
 98827  
 98828  // This fault is reported when the execution of a storage vmotion or
 98829  // relocate operation would reset the snapshotDirectory settings
 98830  // to its default value (VM's home/config directory).
 98831  type WillResetSnapshotDirectory struct {
 98832  	MigrationFault
 98833  }
 98834  
 98835  func init() {
 98836  	t["WillResetSnapshotDirectory"] = reflect.TypeOf((*WillResetSnapshotDirectory)(nil)).Elem()
 98837  	minAPIVersionForType["WillResetSnapshotDirectory"] = "5.0"
 98838  }
 98839  
 98840  type WillResetSnapshotDirectoryFault WillResetSnapshotDirectory
 98841  
 98842  func init() {
 98843  	t["WillResetSnapshotDirectoryFault"] = reflect.TypeOf((*WillResetSnapshotDirectoryFault)(nil)).Elem()
 98844  }
 98845  
 98846  // This data object type describes the Windows-specific
 98847  // NetBIOS configuration.
 98848  type WinNetBIOSConfigInfo struct {
 98849  	NetBIOSConfigInfo
 98850  
 98851  	// The IP address of the primary WINS server.
 98852  	PrimaryWINS string `xml:"primaryWINS" json:"primaryWINS"`
 98853  	// The IP address of the secondary WINS server.
 98854  	SecondaryWINS string `xml:"secondaryWINS,omitempty" json:"secondaryWINS,omitempty"`
 98855  }
 98856  
 98857  func init() {
 98858  	t["WinNetBIOSConfigInfo"] = reflect.TypeOf((*WinNetBIOSConfigInfo)(nil)).Elem()
 98859  	minAPIVersionForType["WinNetBIOSConfigInfo"] = "4.1"
 98860  }
 98861  
 98862  // This exception is thrown when VirtualMachine.wipeDisk
 98863  // encounters an error
 98864  type WipeDiskFault struct {
 98865  	VimFault
 98866  }
 98867  
 98868  func init() {
 98869  	t["WipeDiskFault"] = reflect.TypeOf((*WipeDiskFault)(nil)).Elem()
 98870  	minAPIVersionForType["WipeDiskFault"] = "5.1"
 98871  }
 98872  
 98873  type WipeDiskFaultFault WipeDiskFault
 98874  
 98875  func init() {
 98876  	t["WipeDiskFaultFault"] = reflect.TypeOf((*WipeDiskFaultFault)(nil)).Elem()
 98877  }
 98878  
 98879  // The WitnessNodeInfo class defines configuration
 98880  // information for the Witness node in the cluster
 98881  type WitnessNodeInfo struct {
 98882  	DynamicData
 98883  
 98884  	// VCHA Cluster network configuration of the Witness node.
 98885  	IpSettings CustomizationIPSettings `xml:"ipSettings" json:"ipSettings"`
 98886  	// BIOS UUID for the node.
 98887  	//
 98888  	// It is set only if the VCHA Cluster was
 98889  	// formed using automatic provisioning by the deploy API.
 98890  	BiosUuid string `xml:"biosUuid,omitempty" json:"biosUuid,omitempty"`
 98891  }
 98892  
 98893  func init() {
 98894  	t["WitnessNodeInfo"] = reflect.TypeOf((*WitnessNodeInfo)(nil)).Elem()
 98895  	minAPIVersionForType["WitnessNodeInfo"] = "6.5"
 98896  }
 98897  
 98898  type XmlToCustomizationSpecItem XmlToCustomizationSpecItemRequestType
 98899  
 98900  func init() {
 98901  	t["XmlToCustomizationSpecItem"] = reflect.TypeOf((*XmlToCustomizationSpecItem)(nil)).Elem()
 98902  }
 98903  
 98904  // The parameters of `CustomizationSpecManager.XmlToCustomizationSpecItem`.
 98905  type XmlToCustomizationSpecItemRequestType struct {
 98906  	This        ManagedObjectReference `xml:"_this" json:"-"`
 98907  	SpecItemXml string                 `xml:"specItemXml" json:"specItemXml"`
 98908  }
 98909  
 98910  func init() {
 98911  	t["XmlToCustomizationSpecItemRequestType"] = reflect.TypeOf((*XmlToCustomizationSpecItemRequestType)(nil)).Elem()
 98912  }
 98913  
 98914  type XmlToCustomizationSpecItemResponse struct {
 98915  	Returnval CustomizationSpecItem `xml:"returnval" json:"returnval"`
 98916  }
 98917  
 98918  // The parameters of `VirtualDiskManager.ZeroFillVirtualDisk_Task`.
 98919  type ZeroFillVirtualDiskRequestType struct {
 98920  	This ManagedObjectReference `xml:"_this" json:"-"`
 98921  	// The name of the disk, either a datastore path or a URL
 98922  	// referring to the virtual disk whose blocks should be overwritten
 98923  	// with zeroes.
 98924  	Name string `xml:"name" json:"name"`
 98925  	// If <code>name</code> is a datastore path, the datacenter for
 98926  	// that datastore path. Not needed when invoked directly on ESX.
 98927  	// If not specified on a call to VirtualCenter,
 98928  	// <code>name</code> must be a URL.
 98929  	//
 98930  	// Refers instance of `Datacenter`.
 98931  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 98932  }
 98933  
 98934  func init() {
 98935  	t["ZeroFillVirtualDiskRequestType"] = reflect.TypeOf((*ZeroFillVirtualDiskRequestType)(nil)).Elem()
 98936  }
 98937  
 98938  type ZeroFillVirtualDisk_Task ZeroFillVirtualDiskRequestType
 98939  
 98940  func init() {
 98941  	t["ZeroFillVirtualDisk_Task"] = reflect.TypeOf((*ZeroFillVirtualDisk_Task)(nil)).Elem()
 98942  }
 98943  
 98944  type ZeroFillVirtualDisk_TaskResponse struct {
 98945  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 98946  }
 98947  
 98948  type ConfigureVchaRequestType struct {
 98949  	This       ManagedObjectReference `xml:"_this" json:"-"`
 98950  	ConfigSpec VchaClusterConfigSpec  `xml:"configSpec" json:"configSpec"`
 98951  }
 98952  
 98953  func init() {
 98954  	t["configureVchaRequestType"] = reflect.TypeOf((*ConfigureVchaRequestType)(nil)).Elem()
 98955  }
 98956  
 98957  type ConfigureVcha_Task ConfigureVchaRequestType
 98958  
 98959  func init() {
 98960  	t["configureVcha_Task"] = reflect.TypeOf((*ConfigureVcha_Task)(nil)).Elem()
 98961  }
 98962  
 98963  type ConfigureVcha_TaskResponse struct {
 98964  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 98965  }
 98966  
 98967  type CreatePassiveNodeRequestType struct {
 98968  	This                  ManagedObjectReference    `xml:"_this" json:"-"`
 98969  	PassiveDeploymentSpec PassiveNodeDeploymentSpec `xml:"passiveDeploymentSpec" json:"passiveDeploymentSpec"`
 98970  	SourceVcSpec          SourceNodeSpec            `xml:"sourceVcSpec" json:"sourceVcSpec"`
 98971  }
 98972  
 98973  func init() {
 98974  	t["createPassiveNodeRequestType"] = reflect.TypeOf((*CreatePassiveNodeRequestType)(nil)).Elem()
 98975  }
 98976  
 98977  type CreatePassiveNode_Task CreatePassiveNodeRequestType
 98978  
 98979  func init() {
 98980  	t["createPassiveNode_Task"] = reflect.TypeOf((*CreatePassiveNode_Task)(nil)).Elem()
 98981  }
 98982  
 98983  type CreatePassiveNode_TaskResponse struct {
 98984  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 98985  }
 98986  
 98987  type CreateWitnessNodeRequestType struct {
 98988  	This                  ManagedObjectReference `xml:"_this" json:"-"`
 98989  	WitnessDeploymentSpec BaseNodeDeploymentSpec `xml:"witnessDeploymentSpec,typeattr" json:"witnessDeploymentSpec"`
 98990  	SourceVcSpec          SourceNodeSpec         `xml:"sourceVcSpec" json:"sourceVcSpec"`
 98991  }
 98992  
 98993  func init() {
 98994  	t["createWitnessNodeRequestType"] = reflect.TypeOf((*CreateWitnessNodeRequestType)(nil)).Elem()
 98995  }
 98996  
 98997  type CreateWitnessNode_Task CreateWitnessNodeRequestType
 98998  
 98999  func init() {
 99000  	t["createWitnessNode_Task"] = reflect.TypeOf((*CreateWitnessNode_Task)(nil)).Elem()
 99001  }
 99002  
 99003  type CreateWitnessNode_TaskResponse struct {
 99004  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 99005  }
 99006  
 99007  type DeployVchaRequestType struct {
 99008  	This           ManagedObjectReference    `xml:"_this" json:"-"`
 99009  	DeploymentSpec VchaClusterDeploymentSpec `xml:"deploymentSpec" json:"deploymentSpec"`
 99010  }
 99011  
 99012  func init() {
 99013  	t["deployVchaRequestType"] = reflect.TypeOf((*DeployVchaRequestType)(nil)).Elem()
 99014  }
 99015  
 99016  type DeployVcha_Task DeployVchaRequestType
 99017  
 99018  func init() {
 99019  	t["deployVcha_Task"] = reflect.TypeOf((*DeployVcha_Task)(nil)).Elem()
 99020  }
 99021  
 99022  type DeployVcha_TaskResponse struct {
 99023  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 99024  }
 99025  
 99026  type DestroyVchaRequestType struct {
 99027  	This ManagedObjectReference `xml:"_this" json:"-"`
 99028  }
 99029  
 99030  func init() {
 99031  	t["destroyVchaRequestType"] = reflect.TypeOf((*DestroyVchaRequestType)(nil)).Elem()
 99032  }
 99033  
 99034  type DestroyVcha_Task DestroyVchaRequestType
 99035  
 99036  func init() {
 99037  	t["destroyVcha_Task"] = reflect.TypeOf((*DestroyVcha_Task)(nil)).Elem()
 99038  }
 99039  
 99040  type DestroyVcha_TaskResponse struct {
 99041  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 99042  }
 99043  
 99044  type FetchSoftwarePackages FetchSoftwarePackagesRequestType
 99045  
 99046  func init() {
 99047  	t["fetchSoftwarePackages"] = reflect.TypeOf((*FetchSoftwarePackages)(nil)).Elem()
 99048  }
 99049  
 99050  type FetchSoftwarePackagesRequestType struct {
 99051  	This ManagedObjectReference `xml:"_this" json:"-"`
 99052  }
 99053  
 99054  func init() {
 99055  	t["fetchSoftwarePackagesRequestType"] = reflect.TypeOf((*FetchSoftwarePackagesRequestType)(nil)).Elem()
 99056  }
 99057  
 99058  type FetchSoftwarePackagesResponse struct {
 99059  	Returnval []SoftwarePackage `xml:"returnval,omitempty" json:"returnval,omitempty"`
 99060  }
 99061  
 99062  type GetClusterMode GetClusterModeRequestType
 99063  
 99064  func init() {
 99065  	t["getClusterMode"] = reflect.TypeOf((*GetClusterMode)(nil)).Elem()
 99066  }
 99067  
 99068  type GetClusterModeRequestType struct {
 99069  	This ManagedObjectReference `xml:"_this" json:"-"`
 99070  }
 99071  
 99072  func init() {
 99073  	t["getClusterModeRequestType"] = reflect.TypeOf((*GetClusterModeRequestType)(nil)).Elem()
 99074  }
 99075  
 99076  type GetClusterModeResponse struct {
 99077  	Returnval string `xml:"returnval" json:"returnval"`
 99078  }
 99079  
 99080  type GetVchaConfig GetVchaConfigRequestType
 99081  
 99082  func init() {
 99083  	t["getVchaConfig"] = reflect.TypeOf((*GetVchaConfig)(nil)).Elem()
 99084  }
 99085  
 99086  type GetVchaConfigRequestType struct {
 99087  	This ManagedObjectReference `xml:"_this" json:"-"`
 99088  }
 99089  
 99090  func init() {
 99091  	t["getVchaConfigRequestType"] = reflect.TypeOf((*GetVchaConfigRequestType)(nil)).Elem()
 99092  }
 99093  
 99094  type GetVchaConfigResponse struct {
 99095  	Returnval VchaClusterConfigInfo `xml:"returnval" json:"returnval"`
 99096  }
 99097  
 99098  type InitiateFailoverRequestType struct {
 99099  	This    ManagedObjectReference `xml:"_this" json:"-"`
 99100  	Planned bool                   `xml:"planned" json:"planned"`
 99101  }
 99102  
 99103  func init() {
 99104  	t["initiateFailoverRequestType"] = reflect.TypeOf((*InitiateFailoverRequestType)(nil)).Elem()
 99105  }
 99106  
 99107  type InitiateFailover_Task InitiateFailoverRequestType
 99108  
 99109  func init() {
 99110  	t["initiateFailover_Task"] = reflect.TypeOf((*InitiateFailover_Task)(nil)).Elem()
 99111  }
 99112  
 99113  type InitiateFailover_TaskResponse struct {
 99114  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 99115  }
 99116  
 99117  type InstallDate InstallDateRequestType
 99118  
 99119  func init() {
 99120  	t["installDate"] = reflect.TypeOf((*InstallDate)(nil)).Elem()
 99121  }
 99122  
 99123  type InstallDateRequestType struct {
 99124  	This ManagedObjectReference `xml:"_this" json:"-"`
 99125  }
 99126  
 99127  func init() {
 99128  	t["installDateRequestType"] = reflect.TypeOf((*InstallDateRequestType)(nil)).Elem()
 99129  }
 99130  
 99131  type InstallDateResponse struct {
 99132  	Returnval time.Time `xml:"returnval" json:"returnval"`
 99133  }
 99134  
 99135  type PrepareVchaRequestType struct {
 99136  	This        ManagedObjectReference `xml:"_this" json:"-"`
 99137  	NetworkSpec VchaClusterNetworkSpec `xml:"networkSpec" json:"networkSpec"`
 99138  }
 99139  
 99140  func init() {
 99141  	t["prepareVchaRequestType"] = reflect.TypeOf((*PrepareVchaRequestType)(nil)).Elem()
 99142  }
 99143  
 99144  type PrepareVcha_Task PrepareVchaRequestType
 99145  
 99146  func init() {
 99147  	t["prepareVcha_Task"] = reflect.TypeOf((*PrepareVcha_Task)(nil)).Elem()
 99148  }
 99149  
 99150  type PrepareVcha_TaskResponse struct {
 99151  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 99152  }
 99153  
 99154  type QueryDatacenterConfigOptionDescriptor QueryDatacenterConfigOptionDescriptorRequestType
 99155  
 99156  func init() {
 99157  	t["queryDatacenterConfigOptionDescriptor"] = reflect.TypeOf((*QueryDatacenterConfigOptionDescriptor)(nil)).Elem()
 99158  }
 99159  
 99160  type QueryDatacenterConfigOptionDescriptorRequestType struct {
 99161  	This ManagedObjectReference `xml:"_this" json:"-"`
 99162  }
 99163  
 99164  func init() {
 99165  	t["queryDatacenterConfigOptionDescriptorRequestType"] = reflect.TypeOf((*QueryDatacenterConfigOptionDescriptorRequestType)(nil)).Elem()
 99166  }
 99167  
 99168  type QueryDatacenterConfigOptionDescriptorResponse struct {
 99169  	Returnval []VirtualMachineConfigOptionDescriptor `xml:"returnval,omitempty" json:"returnval,omitempty"`
 99170  }
 99171  
 99172  type ReloadVirtualMachineFromPathRequestType struct {
 99173  	This              ManagedObjectReference `xml:"_this" json:"-"`
 99174  	ConfigurationPath string                 `xml:"configurationPath" json:"configurationPath"`
 99175  }
 99176  
 99177  func init() {
 99178  	t["reloadVirtualMachineFromPathRequestType"] = reflect.TypeOf((*ReloadVirtualMachineFromPathRequestType)(nil)).Elem()
 99179  }
 99180  
 99181  type ReloadVirtualMachineFromPath_Task ReloadVirtualMachineFromPathRequestType
 99182  
 99183  func init() {
 99184  	t["reloadVirtualMachineFromPath_Task"] = reflect.TypeOf((*ReloadVirtualMachineFromPath_Task)(nil)).Elem()
 99185  }
 99186  
 99187  type ReloadVirtualMachineFromPath_TaskResponse struct {
 99188  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 99189  }
 99190  
 99191  type SetClusterModeRequestType struct {
 99192  	This ManagedObjectReference `xml:"_this" json:"-"`
 99193  	Mode string                 `xml:"mode" json:"mode"`
 99194  }
 99195  
 99196  func init() {
 99197  	t["setClusterModeRequestType"] = reflect.TypeOf((*SetClusterModeRequestType)(nil)).Elem()
 99198  }
 99199  
 99200  type SetClusterMode_Task SetClusterModeRequestType
 99201  
 99202  func init() {
 99203  	t["setClusterMode_Task"] = reflect.TypeOf((*SetClusterMode_Task)(nil)).Elem()
 99204  }
 99205  
 99206  type SetClusterMode_TaskResponse struct {
 99207  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 99208  }
 99209  
 99210  type SetCustomValue SetCustomValueRequestType
 99211  
 99212  func init() {
 99213  	t["setCustomValue"] = reflect.TypeOf((*SetCustomValue)(nil)).Elem()
 99214  }
 99215  
 99216  type SetCustomValueRequestType struct {
 99217  	This  ManagedObjectReference `xml:"_this" json:"-"`
 99218  	Key   string                 `xml:"key" json:"key"`
 99219  	Value string                 `xml:"value" json:"value"`
 99220  }
 99221  
 99222  func init() {
 99223  	t["setCustomValueRequestType"] = reflect.TypeOf((*SetCustomValueRequestType)(nil)).Elem()
 99224  }
 99225  
 99226  type SetCustomValueResponse struct {
 99227  }
 99228  
 99229  type UnregisterVAppRequestType struct {
 99230  	This ManagedObjectReference `xml:"_this" json:"-"`
 99231  }
 99232  
 99233  func init() {
 99234  	t["unregisterVAppRequestType"] = reflect.TypeOf((*UnregisterVAppRequestType)(nil)).Elem()
 99235  }
 99236  
 99237  type UnregisterVApp_Task UnregisterVAppRequestType
 99238  
 99239  func init() {
 99240  	t["unregisterVApp_Task"] = reflect.TypeOf((*UnregisterVApp_Task)(nil)).Elem()
 99241  }
 99242  
 99243  type UnregisterVApp_TaskResponse struct {
 99244  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 99245  }
 99246  
 99247  type VersionURI string
 99248  
 99249  func init() {
 99250  	t["versionURI"] = reflect.TypeOf((*VersionURI)(nil)).Elem()
 99251  }
 99252  
 99253  type VslmInfrastructureObjectPolicy struct {
 99254  	DynamicData
 99255  
 99256  	Name            string                `xml:"name" json:"name"`
 99257  	BackingObjectId string                `xml:"backingObjectId" json:"backingObjectId"`
 99258  	ProfileId       string                `xml:"profileId" json:"profileId"`
 99259  	Error           *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 99260  }
 99261  
 99262  func init() {
 99263  	t["vslmInfrastructureObjectPolicy"] = reflect.TypeOf((*VslmInfrastructureObjectPolicy)(nil)).Elem()
 99264  }
 99265  
 99266  type VslmInfrastructureObjectPolicySpec struct {
 99267  	DynamicData
 99268  
 99269  	Datastore ManagedObjectReference          `xml:"datastore" json:"datastore"`
 99270  	Profile   []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 99271  }
 99272  
 99273  func init() {
 99274  	t["vslmInfrastructureObjectPolicySpec"] = reflect.TypeOf((*VslmInfrastructureObjectPolicySpec)(nil)).Elem()
 99275  }
 99276  
 99277  type VslmVClockInfo struct {
 99278  	DynamicData
 99279  
 99280  	VClockTime int64 `xml:"vClockTime" json:"vClockTime"`
 99281  }
 99282  
 99283  func init() {
 99284  	t["vslmVClockInfo"] = reflect.TypeOf((*VslmVClockInfo)(nil)).Elem()
 99285  }