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

     1  /*
     2  Copyright (c) 2014-2024 VMware, Inc. All Rights Reserved.
     3  
     4  Licensed under the Apache License, Version 2.0 (the "License");
     5  you may not use this file except in compliance with the License.
     6  You may obtain a copy of the License at
     7  
     8      http://www.apache.org/licenses/LICENSE-2.0
     9  
    10  Unless required by applicable law or agreed to in writing, software
    11  distributed under the License is distributed on an "AS IS" BASIS,
    12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13  See the License for the specific language governing permissions and
    14  limitations under the License.
    15  */
    16  
    17  package types
    18  
    19  import (
    20  	"reflect"
    21  	"time"
    22  
    23  	"github.com/vmware/govmomi/vim25/types"
    24  )
    25  
    26  // A boxed array of `VslmDatastoreSyncStatus`. To be used in `Any` placeholders.
    27  //
    28  // This structure may be used only with operations rendered under `/vslm`.
    29  type ArrayOfVslmDatastoreSyncStatus struct {
    30  	VslmDatastoreSyncStatus []VslmDatastoreSyncStatus `xml:"VslmDatastoreSyncStatus,omitempty" json:"_value"`
    31  }
    32  
    33  func init() {
    34  	types.Add("vslm:ArrayOfVslmDatastoreSyncStatus", reflect.TypeOf((*ArrayOfVslmDatastoreSyncStatus)(nil)).Elem())
    35  }
    36  
    37  // A boxed array of `VslmQueryDatastoreInfoResult`. To be used in `Any` placeholders.
    38  //
    39  // This structure may be used only with operations rendered under `/vslm`.
    40  type ArrayOfVslmQueryDatastoreInfoResult struct {
    41  	VslmQueryDatastoreInfoResult []VslmQueryDatastoreInfoResult `xml:"VslmQueryDatastoreInfoResult,omitempty" json:"_value"`
    42  }
    43  
    44  func init() {
    45  	types.Add("vslm:ArrayOfVslmQueryDatastoreInfoResult", reflect.TypeOf((*ArrayOfVslmQueryDatastoreInfoResult)(nil)).Elem())
    46  }
    47  
    48  // A boxed array of `VslmVsoVStorageObjectAssociations`. To be used in `Any` placeholders.
    49  //
    50  // This structure may be used only with operations rendered under `/vslm`.
    51  type ArrayOfVslmVsoVStorageObjectAssociations struct {
    52  	VslmVsoVStorageObjectAssociations []VslmVsoVStorageObjectAssociations `xml:"VslmVsoVStorageObjectAssociations,omitempty" json:"_value"`
    53  }
    54  
    55  func init() {
    56  	types.Add("vslm:ArrayOfVslmVsoVStorageObjectAssociations", reflect.TypeOf((*ArrayOfVslmVsoVStorageObjectAssociations)(nil)).Elem())
    57  }
    58  
    59  // A boxed array of `VslmVsoVStorageObjectAssociationsVmDiskAssociation`. To be used in `Any` placeholders.
    60  //
    61  // This structure may be used only with operations rendered under `/vslm`.
    62  type ArrayOfVslmVsoVStorageObjectAssociationsVmDiskAssociation struct {
    63  	VslmVsoVStorageObjectAssociationsVmDiskAssociation []VslmVsoVStorageObjectAssociationsVmDiskAssociation `xml:"VslmVsoVStorageObjectAssociationsVmDiskAssociation,omitempty" json:"_value"`
    64  }
    65  
    66  func init() {
    67  	types.Add("vslm:ArrayOfVslmVsoVStorageObjectAssociationsVmDiskAssociation", reflect.TypeOf((*ArrayOfVslmVsoVStorageObjectAssociationsVmDiskAssociation)(nil)).Elem())
    68  }
    69  
    70  // A boxed array of `VslmVsoVStorageObjectQuerySpec`. To be used in `Any` placeholders.
    71  //
    72  // This structure may be used only with operations rendered under `/vslm`.
    73  type ArrayOfVslmVsoVStorageObjectQuerySpec struct {
    74  	VslmVsoVStorageObjectQuerySpec []VslmVsoVStorageObjectQuerySpec `xml:"VslmVsoVStorageObjectQuerySpec,omitempty" json:"_value"`
    75  }
    76  
    77  func init() {
    78  	types.Add("vslm:ArrayOfVslmVsoVStorageObjectQuerySpec", reflect.TypeOf((*ArrayOfVslmVsoVStorageObjectQuerySpec)(nil)).Elem())
    79  }
    80  
    81  // A boxed array of `VslmVsoVStorageObjectResult`. To be used in `Any` placeholders.
    82  //
    83  // This structure may be used only with operations rendered under `/vslm`.
    84  type ArrayOfVslmVsoVStorageObjectResult struct {
    85  	VslmVsoVStorageObjectResult []VslmVsoVStorageObjectResult `xml:"VslmVsoVStorageObjectResult,omitempty" json:"_value"`
    86  }
    87  
    88  func init() {
    89  	types.Add("vslm:ArrayOfVslmVsoVStorageObjectResult", reflect.TypeOf((*ArrayOfVslmVsoVStorageObjectResult)(nil)).Elem())
    90  }
    91  
    92  // A boxed array of `VslmVsoVStorageObjectSnapshotResult`. To be used in `Any` placeholders.
    93  //
    94  // This structure may be used only with operations rendered under `/vslm`.
    95  type ArrayOfVslmVsoVStorageObjectSnapshotResult struct {
    96  	VslmVsoVStorageObjectSnapshotResult []VslmVsoVStorageObjectSnapshotResult `xml:"VslmVsoVStorageObjectSnapshotResult,omitempty" json:"_value"`
    97  }
    98  
    99  func init() {
   100  	types.Add("vslm:ArrayOfVslmVsoVStorageObjectSnapshotResult", reflect.TypeOf((*ArrayOfVslmVsoVStorageObjectSnapshotResult)(nil)).Elem())
   101  }
   102  
   103  type RetrieveContent RetrieveContentRequestType
   104  
   105  func init() {
   106  	types.Add("vslm:RetrieveContent", reflect.TypeOf((*RetrieveContent)(nil)).Elem())
   107  }
   108  
   109  type RetrieveContentRequestType struct {
   110  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   111  }
   112  
   113  func init() {
   114  	types.Add("vslm:RetrieveContentRequestType", reflect.TypeOf((*RetrieveContentRequestType)(nil)).Elem())
   115  }
   116  
   117  type RetrieveContentResponse struct {
   118  	Returnval VslmServiceInstanceContent `xml:"returnval" json:"returnval"`
   119  }
   120  
   121  // This data object type describes system information.
   122  //
   123  // This structure may be used only with operations rendered under `/vslm`.
   124  type VslmAboutInfo struct {
   125  	types.DynamicData
   126  
   127  	Name         string `xml:"name" json:"name"`
   128  	FullName     string `xml:"fullName" json:"fullName"`
   129  	Vendor       string `xml:"vendor" json:"vendor"`
   130  	ApiVersion   string `xml:"apiVersion" json:"apiVersion"`
   131  	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
   132  }
   133  
   134  func init() {
   135  	types.Add("vslm:VslmAboutInfo", reflect.TypeOf((*VslmAboutInfo)(nil)).Elem())
   136  }
   137  
   138  // The parameters of `VslmVStorageObjectManager.VslmAttachDisk_Task`.
   139  //
   140  // This structure may be used only with operations rendered under `/vslm`.
   141  type VslmAttachDiskRequestType struct {
   142  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   143  	// The ID of the virtual disk to be operated. See
   144  	// `ID`
   145  	Id types.ID `xml:"id" json:"id"`
   146  	// The virtual machine where the virtual disk is to be attached.
   147  	//
   148  	// Refers instance of `VirtualMachine`.
   149  	Vm types.ManagedObjectReference `xml:"vm" json:"vm"`
   150  	// Key of the controller the disk will connect to.
   151  	// It can be unset if there is only one controller
   152  	// (SCSI or SATA) with the available slot in the
   153  	// virtual machine. If there are multiple SCSI or
   154  	// SATA controllers available, user must specify
   155  	// the controller; if there is no available
   156  	// controllers, a `MissingController`
   157  	// fault will be thrown.
   158  	ControllerKey int32 `xml:"controllerKey,omitempty" json:"controllerKey,omitempty"`
   159  	// The unit number of the attached disk on its controller.
   160  	// If unset, the next available slot on the specified
   161  	// controller or the only available controller will be
   162  	// assigned to the attached disk.
   163  	UnitNumber *int32 `xml:"unitNumber" json:"unitNumber,omitempty"`
   164  }
   165  
   166  func init() {
   167  	types.Add("vslm:VslmAttachDiskRequestType", reflect.TypeOf((*VslmAttachDiskRequestType)(nil)).Elem())
   168  }
   169  
   170  type VslmAttachDisk_Task VslmAttachDiskRequestType
   171  
   172  func init() {
   173  	types.Add("vslm:VslmAttachDisk_Task", reflect.TypeOf((*VslmAttachDisk_Task)(nil)).Elem())
   174  }
   175  
   176  type VslmAttachDisk_TaskResponse struct {
   177  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
   178  }
   179  
   180  type VslmAttachTagToVStorageObject VslmAttachTagToVStorageObjectRequestType
   181  
   182  func init() {
   183  	types.Add("vslm:VslmAttachTagToVStorageObject", reflect.TypeOf((*VslmAttachTagToVStorageObject)(nil)).Elem())
   184  }
   185  
   186  // The parameters of `VslmVStorageObjectManager.VslmAttachTagToVStorageObject`.
   187  //
   188  // This structure may be used only with operations rendered under `/vslm`.
   189  type VslmAttachTagToVStorageObjectRequestType struct {
   190  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   191  	// The identifier(ID) of the virtual storage object.
   192  	Id types.ID `xml:"id" json:"id"`
   193  	// The category to which the tag belongs.
   194  	Category string `xml:"category" json:"category"`
   195  	// The tag which has to be associated with the virtual storage
   196  	// object.
   197  	Tag string `xml:"tag" json:"tag"`
   198  }
   199  
   200  func init() {
   201  	types.Add("vslm:VslmAttachTagToVStorageObjectRequestType", reflect.TypeOf((*VslmAttachTagToVStorageObjectRequestType)(nil)).Elem())
   202  }
   203  
   204  type VslmAttachTagToVStorageObjectResponse struct {
   205  }
   206  
   207  type VslmCancelTask VslmCancelTaskRequestType
   208  
   209  func init() {
   210  	types.Add("vslm:VslmCancelTask", reflect.TypeOf((*VslmCancelTask)(nil)).Elem())
   211  }
   212  
   213  type VslmCancelTaskRequestType struct {
   214  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   215  }
   216  
   217  func init() {
   218  	types.Add("vslm:VslmCancelTaskRequestType", reflect.TypeOf((*VslmCancelTaskRequestType)(nil)).Elem())
   219  }
   220  
   221  type VslmCancelTaskResponse struct {
   222  }
   223  
   224  type VslmClearVStorageObjectControlFlags VslmClearVStorageObjectControlFlagsRequestType
   225  
   226  func init() {
   227  	types.Add("vslm:VslmClearVStorageObjectControlFlags", reflect.TypeOf((*VslmClearVStorageObjectControlFlags)(nil)).Elem())
   228  }
   229  
   230  // The parameters of `VslmVStorageObjectManager.VslmClearVStorageObjectControlFlags`.
   231  //
   232  // This structure may be used only with operations rendered under `/vslm`.
   233  type VslmClearVStorageObjectControlFlagsRequestType struct {
   234  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   235  	// The ID of the virtual storage object.
   236  	Id types.ID `xml:"id" json:"id"`
   237  	// control flags enum array to be cleared on the
   238  	// VStorageObject. All control flags not included
   239  	// in the array remain intact.
   240  	ControlFlags []string `xml:"controlFlags,omitempty" json:"controlFlags,omitempty"`
   241  }
   242  
   243  func init() {
   244  	types.Add("vslm:VslmClearVStorageObjectControlFlagsRequestType", reflect.TypeOf((*VslmClearVStorageObjectControlFlagsRequestType)(nil)).Elem())
   245  }
   246  
   247  type VslmClearVStorageObjectControlFlagsResponse struct {
   248  }
   249  
   250  // The parameters of `VslmVStorageObjectManager.VslmCloneVStorageObject_Task`.
   251  //
   252  // This structure may be used only with operations rendered under `/vslm`.
   253  type VslmCloneVStorageObjectRequestType struct {
   254  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   255  	// The ID of the virtual storage object.
   256  	Id types.ID `xml:"id" json:"id"`
   257  	// The specification for cloning the virtual storage
   258  	// object.
   259  	Spec types.VslmCloneSpec `xml:"spec" json:"spec"`
   260  }
   261  
   262  func init() {
   263  	types.Add("vslm:VslmCloneVStorageObjectRequestType", reflect.TypeOf((*VslmCloneVStorageObjectRequestType)(nil)).Elem())
   264  }
   265  
   266  type VslmCloneVStorageObject_Task VslmCloneVStorageObjectRequestType
   267  
   268  func init() {
   269  	types.Add("vslm:VslmCloneVStorageObject_Task", reflect.TypeOf((*VslmCloneVStorageObject_Task)(nil)).Elem())
   270  }
   271  
   272  type VslmCloneVStorageObject_TaskResponse struct {
   273  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
   274  }
   275  
   276  // The parameters of `VslmVStorageObjectManager.VslmCreateDiskFromSnapshot_Task`.
   277  //
   278  // This structure may be used only with operations rendered under `/vslm`.
   279  type VslmCreateDiskFromSnapshotRequestType struct {
   280  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   281  	// The ID of the virtual storage object.
   282  	Id types.ID `xml:"id" json:"id"`
   283  	// The ID of the snapshot of the virtual storage object.
   284  	SnapshotId types.ID `xml:"snapshotId" json:"snapshotId"`
   285  	// A user friendly name to be associated with the new disk.
   286  	Name string `xml:"name" json:"name"`
   287  	// SPBM Profile requirement on the new virtual storage object.
   288  	// If not specified datastore default policy would be
   289  	// assigned.
   290  	Profile []types.VirtualMachineProfileSpec `xml:"profile,omitempty" json:"profile,omitempty"`
   291  	// Crypto information of the new disk.
   292  	Crypto *types.CryptoSpec `xml:"crypto,omitempty" json:"crypto,omitempty"`
   293  	// Relative location in the specified datastore where disk needs
   294  	// to be created. If not specified disk gets created at the
   295  	// defualt VStorageObject location on the specified datastore.
   296  	Path string `xml:"path,omitempty" json:"path,omitempty"`
   297  }
   298  
   299  func init() {
   300  	types.Add("vslm:VslmCreateDiskFromSnapshotRequestType", reflect.TypeOf((*VslmCreateDiskFromSnapshotRequestType)(nil)).Elem())
   301  }
   302  
   303  type VslmCreateDiskFromSnapshot_Task VslmCreateDiskFromSnapshotRequestType
   304  
   305  func init() {
   306  	types.Add("vslm:VslmCreateDiskFromSnapshot_Task", reflect.TypeOf((*VslmCreateDiskFromSnapshot_Task)(nil)).Elem())
   307  }
   308  
   309  type VslmCreateDiskFromSnapshot_TaskResponse struct {
   310  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
   311  }
   312  
   313  // The parameters of `VslmVStorageObjectManager.VslmCreateDisk_Task`.
   314  //
   315  // This structure may be used only with operations rendered under `/vslm`.
   316  type VslmCreateDiskRequestType struct {
   317  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   318  	// The specification of the virtual storage object
   319  	// to be created.
   320  	Spec types.VslmCreateSpec `xml:"spec" json:"spec"`
   321  }
   322  
   323  func init() {
   324  	types.Add("vslm:VslmCreateDiskRequestType", reflect.TypeOf((*VslmCreateDiskRequestType)(nil)).Elem())
   325  }
   326  
   327  type VslmCreateDisk_Task VslmCreateDiskRequestType
   328  
   329  func init() {
   330  	types.Add("vslm:VslmCreateDisk_Task", reflect.TypeOf((*VslmCreateDisk_Task)(nil)).Elem())
   331  }
   332  
   333  type VslmCreateDisk_TaskResponse struct {
   334  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
   335  }
   336  
   337  // The parameters of `VslmVStorageObjectManager.VslmCreateSnapshot_Task`.
   338  //
   339  // This structure may be used only with operations rendered under `/vslm`.
   340  type VslmCreateSnapshotRequestType struct {
   341  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   342  	// The ID of the virtual storage object.
   343  	Id types.ID `xml:"id" json:"id"`
   344  	// A short description to be associated with the snapshot.
   345  	Description string `xml:"description" json:"description"`
   346  }
   347  
   348  func init() {
   349  	types.Add("vslm:VslmCreateSnapshotRequestType", reflect.TypeOf((*VslmCreateSnapshotRequestType)(nil)).Elem())
   350  }
   351  
   352  type VslmCreateSnapshot_Task VslmCreateSnapshotRequestType
   353  
   354  func init() {
   355  	types.Add("vslm:VslmCreateSnapshot_Task", reflect.TypeOf((*VslmCreateSnapshot_Task)(nil)).Elem())
   356  }
   357  
   358  type VslmCreateSnapshot_TaskResponse struct {
   359  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
   360  }
   361  
   362  // DatastoreSyncStatus shows the catalog sync status of a datastore
   363  // and is returned as a result of the VStorageObjectManager
   364  // getGlobalCatalogSyncStatus API.
   365  //
   366  // When syncVClock == objectVClock the global catalog is in sync with the
   367  // local catalog
   368  //
   369  // This structure may be used only with operations rendered under `/vslm`.
   370  type VslmDatastoreSyncStatus struct {
   371  	types.DynamicData
   372  
   373  	// The datastore URL as specified in `DatastoreInfo.url`
   374  	DatastoreURL string `xml:"datastoreURL" json:"datastoreURL"`
   375  	ObjectVClock int64  `xml:"objectVClock" json:"objectVClock"`
   376  	SyncVClock   int64  `xml:"syncVClock" json:"syncVClock"`
   377  	// The time representing the last successfull sync of the datastore.
   378  	SyncTime *time.Time `xml:"syncTime" json:"syncTime,omitempty"`
   379  	// The number of retries for the Datastore synchronization in failure
   380  	// cases.
   381  	NumberOfRetries int32 `xml:"numberOfRetries,omitempty" json:"numberOfRetries,omitempty"`
   382  	// The fault is set in case of error conditions.
   383  	//
   384  	// If the fault is set,
   385  	// the objectVClock and syncVClock will be set to -1L.
   386  	// Possible Faults:
   387  	// SyncFault If specified datastoreURL failed to sync.
   388  	Error *types.LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
   389  }
   390  
   391  func init() {
   392  	types.Add("vslm:VslmDatastoreSyncStatus", reflect.TypeOf((*VslmDatastoreSyncStatus)(nil)).Elem())
   393  }
   394  
   395  // The parameters of `VslmVStorageObjectManager.VslmDeleteSnapshot_Task`.
   396  //
   397  // This structure may be used only with operations rendered under `/vslm`.
   398  type VslmDeleteSnapshotRequestType struct {
   399  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   400  	// The ID of the virtual storage object.
   401  	Id types.ID `xml:"id" json:"id"`
   402  	// The ID of the snapshot of a virtual storage object.
   403  	SnapshotId types.ID `xml:"snapshotId" json:"snapshotId"`
   404  }
   405  
   406  func init() {
   407  	types.Add("vslm:VslmDeleteSnapshotRequestType", reflect.TypeOf((*VslmDeleteSnapshotRequestType)(nil)).Elem())
   408  }
   409  
   410  type VslmDeleteSnapshot_Task VslmDeleteSnapshotRequestType
   411  
   412  func init() {
   413  	types.Add("vslm:VslmDeleteSnapshot_Task", reflect.TypeOf((*VslmDeleteSnapshot_Task)(nil)).Elem())
   414  }
   415  
   416  type VslmDeleteSnapshot_TaskResponse struct {
   417  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
   418  }
   419  
   420  // The parameters of `VslmVStorageObjectManager.VslmDeleteVStorageObject_Task`.
   421  //
   422  // This structure may be used only with operations rendered under `/vslm`.
   423  type VslmDeleteVStorageObjectRequestType struct {
   424  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   425  	// The ID of the virtual storage object to be deleted.
   426  	Id types.ID `xml:"id" json:"id"`
   427  }
   428  
   429  func init() {
   430  	types.Add("vslm:VslmDeleteVStorageObjectRequestType", reflect.TypeOf((*VslmDeleteVStorageObjectRequestType)(nil)).Elem())
   431  }
   432  
   433  type VslmDeleteVStorageObject_Task VslmDeleteVStorageObjectRequestType
   434  
   435  func init() {
   436  	types.Add("vslm:VslmDeleteVStorageObject_Task", reflect.TypeOf((*VslmDeleteVStorageObject_Task)(nil)).Elem())
   437  }
   438  
   439  type VslmDeleteVStorageObject_TaskResponse struct {
   440  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
   441  }
   442  
   443  type VslmDetachTagFromVStorageObject VslmDetachTagFromVStorageObjectRequestType
   444  
   445  func init() {
   446  	types.Add("vslm:VslmDetachTagFromVStorageObject", reflect.TypeOf((*VslmDetachTagFromVStorageObject)(nil)).Elem())
   447  }
   448  
   449  // The parameters of `VslmVStorageObjectManager.VslmDetachTagFromVStorageObject`.
   450  //
   451  // This structure may be used only with operations rendered under `/vslm`.
   452  type VslmDetachTagFromVStorageObjectRequestType struct {
   453  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   454  	// The identifier(ID) of the virtual storage object.
   455  	Id types.ID `xml:"id" json:"id"`
   456  	// The category to which the tag belongs.
   457  	Category string `xml:"category" json:"category"`
   458  	// The tag which has to be disassociated with the virtual storage
   459  	// object.
   460  	Tag string `xml:"tag" json:"tag"`
   461  }
   462  
   463  func init() {
   464  	types.Add("vslm:VslmDetachTagFromVStorageObjectRequestType", reflect.TypeOf((*VslmDetachTagFromVStorageObjectRequestType)(nil)).Elem())
   465  }
   466  
   467  type VslmDetachTagFromVStorageObjectResponse struct {
   468  }
   469  
   470  // The parameters of `VslmVStorageObjectManager.VslmExtendDisk_Task`.
   471  //
   472  // This structure may be used only with operations rendered under `/vslm`.
   473  type VslmExtendDiskRequestType struct {
   474  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   475  	// The ID of the virtual disk to be extended.
   476  	Id types.ID `xml:"id" json:"id"`
   477  	// The new capacity of the virtual disk in MB.
   478  	NewCapacityInMB int64 `xml:"newCapacityInMB" json:"newCapacityInMB"`
   479  }
   480  
   481  func init() {
   482  	types.Add("vslm:VslmExtendDiskRequestType", reflect.TypeOf((*VslmExtendDiskRequestType)(nil)).Elem())
   483  }
   484  
   485  type VslmExtendDisk_Task VslmExtendDiskRequestType
   486  
   487  func init() {
   488  	types.Add("vslm:VslmExtendDisk_Task", reflect.TypeOf((*VslmExtendDisk_Task)(nil)).Elem())
   489  }
   490  
   491  type VslmExtendDisk_TaskResponse struct {
   492  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
   493  }
   494  
   495  // The super class for all VSLM Faults.
   496  //
   497  // This structure may be used only with operations rendered under `/vslm`.
   498  type VslmFault struct {
   499  	types.MethodFault
   500  
   501  	// The fault message if available.
   502  	Msg string `xml:"msg,omitempty" json:"msg,omitempty"`
   503  }
   504  
   505  func init() {
   506  	types.Add("vslm:VslmFault", reflect.TypeOf((*VslmFault)(nil)).Elem())
   507  }
   508  
   509  type VslmFaultFault BaseVslmFault
   510  
   511  func init() {
   512  	types.Add("vslm:VslmFaultFault", reflect.TypeOf((*VslmFaultFault)(nil)).Elem())
   513  }
   514  
   515  // The parameters of `VslmVStorageObjectManager.VslmInflateDisk_Task`.
   516  //
   517  // This structure may be used only with operations rendered under `/vslm`.
   518  type VslmInflateDiskRequestType struct {
   519  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   520  	// The ID of the virtual disk to be inflated.
   521  	Id types.ID `xml:"id" json:"id"`
   522  }
   523  
   524  func init() {
   525  	types.Add("vslm:VslmInflateDiskRequestType", reflect.TypeOf((*VslmInflateDiskRequestType)(nil)).Elem())
   526  }
   527  
   528  type VslmInflateDisk_Task VslmInflateDiskRequestType
   529  
   530  func init() {
   531  	types.Add("vslm:VslmInflateDisk_Task", reflect.TypeOf((*VslmInflateDisk_Task)(nil)).Elem())
   532  }
   533  
   534  type VslmInflateDisk_TaskResponse struct {
   535  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
   536  }
   537  
   538  type VslmListTagsAttachedToVStorageObject VslmListTagsAttachedToVStorageObjectRequestType
   539  
   540  func init() {
   541  	types.Add("vslm:VslmListTagsAttachedToVStorageObject", reflect.TypeOf((*VslmListTagsAttachedToVStorageObject)(nil)).Elem())
   542  }
   543  
   544  // The parameters of `VslmVStorageObjectManager.VslmListTagsAttachedToVStorageObject`.
   545  //
   546  // This structure may be used only with operations rendered under `/vslm`.
   547  type VslmListTagsAttachedToVStorageObjectRequestType struct {
   548  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   549  	// The ID of the virtual storage object.
   550  	Id types.ID `xml:"id" json:"id"`
   551  }
   552  
   553  func init() {
   554  	types.Add("vslm:VslmListTagsAttachedToVStorageObjectRequestType", reflect.TypeOf((*VslmListTagsAttachedToVStorageObjectRequestType)(nil)).Elem())
   555  }
   556  
   557  type VslmListTagsAttachedToVStorageObjectResponse struct {
   558  	Returnval []types.VslmTagEntry `xml:"returnval,omitempty" json:"returnval,omitempty"`
   559  }
   560  
   561  type VslmListVStorageObjectForSpec VslmListVStorageObjectForSpecRequestType
   562  
   563  func init() {
   564  	types.Add("vslm:VslmListVStorageObjectForSpec", reflect.TypeOf((*VslmListVStorageObjectForSpec)(nil)).Elem())
   565  }
   566  
   567  // The parameters of `VslmVStorageObjectManager.VslmListVStorageObjectForSpec`.
   568  //
   569  // This structure may be used only with operations rendered under `/vslm`.
   570  type VslmListVStorageObjectForSpecRequestType struct {
   571  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   572  	// Query defined using array of
   573  	// `VslmVsoVStorageObjectQuerySpec` objects.
   574  	Query []VslmVsoVStorageObjectQuerySpec `xml:"query,omitempty" json:"query,omitempty"`
   575  	// Maximum number of virtual storage object IDs to return.
   576  	MaxResult int32 `xml:"maxResult" json:"maxResult"`
   577  }
   578  
   579  func init() {
   580  	types.Add("vslm:VslmListVStorageObjectForSpecRequestType", reflect.TypeOf((*VslmListVStorageObjectForSpecRequestType)(nil)).Elem())
   581  }
   582  
   583  type VslmListVStorageObjectForSpecResponse struct {
   584  	Returnval *VslmVsoVStorageObjectQueryResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
   585  }
   586  
   587  type VslmListVStorageObjectsAttachedToTag VslmListVStorageObjectsAttachedToTagRequestType
   588  
   589  func init() {
   590  	types.Add("vslm:VslmListVStorageObjectsAttachedToTag", reflect.TypeOf((*VslmListVStorageObjectsAttachedToTag)(nil)).Elem())
   591  }
   592  
   593  // The parameters of `VslmVStorageObjectManager.VslmListVStorageObjectsAttachedToTag`.
   594  //
   595  // This structure may be used only with operations rendered under `/vslm`.
   596  type VslmListVStorageObjectsAttachedToTagRequestType struct {
   597  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   598  	// The category to which the tag belongs.
   599  	Category string `xml:"category" json:"category"`
   600  	// The tag to be queried.
   601  	Tag string `xml:"tag" json:"tag"`
   602  }
   603  
   604  func init() {
   605  	types.Add("vslm:VslmListVStorageObjectsAttachedToTagRequestType", reflect.TypeOf((*VslmListVStorageObjectsAttachedToTagRequestType)(nil)).Elem())
   606  }
   607  
   608  type VslmListVStorageObjectsAttachedToTagResponse struct {
   609  	Returnval []types.ID `xml:"returnval,omitempty" json:"returnval,omitempty"`
   610  }
   611  
   612  type VslmLoginByToken VslmLoginByTokenRequestType
   613  
   614  func init() {
   615  	types.Add("vslm:VslmLoginByToken", reflect.TypeOf((*VslmLoginByToken)(nil)).Elem())
   616  }
   617  
   618  // The parameters of `VslmSessionManager.VslmLoginByToken`.
   619  //
   620  // This structure may be used only with operations rendered under `/vslm`.
   621  type VslmLoginByTokenRequestType struct {
   622  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   623  	// The delegated token will be retrieved by the
   624  	// client and delegated to VSLM. VSLM will use this token, on user's
   625  	// behalf, to login to VC for authorization purposes. It is necessary
   626  	// to convert the token to XML because the SAML token itself is
   627  	// not a VMODL Data Object and cannot be used as a parameter.
   628  	DelegatedTokenXml string `xml:"delegatedTokenXml" json:"delegatedTokenXml"`
   629  }
   630  
   631  func init() {
   632  	types.Add("vslm:VslmLoginByTokenRequestType", reflect.TypeOf((*VslmLoginByTokenRequestType)(nil)).Elem())
   633  }
   634  
   635  type VslmLoginByTokenResponse struct {
   636  }
   637  
   638  type VslmLogout VslmLogoutRequestType
   639  
   640  func init() {
   641  	types.Add("vslm:VslmLogout", reflect.TypeOf((*VslmLogout)(nil)).Elem())
   642  }
   643  
   644  type VslmLogoutRequestType struct {
   645  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   646  }
   647  
   648  func init() {
   649  	types.Add("vslm:VslmLogoutRequestType", reflect.TypeOf((*VslmLogoutRequestType)(nil)).Elem())
   650  }
   651  
   652  type VslmLogoutResponse struct {
   653  }
   654  
   655  type VslmQueryChangedDiskAreas VslmQueryChangedDiskAreasRequestType
   656  
   657  func init() {
   658  	types.Add("vslm:VslmQueryChangedDiskAreas", reflect.TypeOf((*VslmQueryChangedDiskAreas)(nil)).Elem())
   659  }
   660  
   661  // The parameters of `VslmVStorageObjectManager.VslmQueryChangedDiskAreas`.
   662  //
   663  // This structure may be used only with operations rendered under `/vslm`.
   664  type VslmQueryChangedDiskAreasRequestType struct {
   665  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   666  	// The ID of the virtual storage object.
   667  	Id types.ID `xml:"id" json:"id"`
   668  	// The ID of the snapshot of a virtual storage object for
   669  	// which changes that have been made since "changeId"
   670  	// should be computed.
   671  	SnapshotId types.ID `xml:"snapshotId" json:"snapshotId"`
   672  	// Start Offset in bytes at which to start computing
   673  	// changes. Typically, callers will make multiple calls
   674  	// to this function, starting with startOffset 0 and then
   675  	// examine the "length" property in the returned
   676  	// DiskChangeInfo structure, repeatedly calling
   677  	// queryChangedDiskAreas until a map for the entire
   678  	// virtual disk has been obtained.
   679  	StartOffset int64 `xml:"startOffset" json:"startOffset"`
   680  	// Identifier referring to a point in the past that should
   681  	// be used as the point in time at which to begin including
   682  	// changes to the disk in the result. A typical use case
   683  	// would be a backup application obtaining a changeId from
   684  	// a virtual disk's backing info when performing a backup.
   685  	// When a subsequent incremental backup is to be performed,
   686  	// this change Id can be used to obtain a list of changed
   687  	// areas on disk.
   688  	ChangeId string `xml:"changeId" json:"changeId"`
   689  }
   690  
   691  func init() {
   692  	types.Add("vslm:VslmQueryChangedDiskAreasRequestType", reflect.TypeOf((*VslmQueryChangedDiskAreasRequestType)(nil)).Elem())
   693  }
   694  
   695  type VslmQueryChangedDiskAreasResponse struct {
   696  	Returnval types.DiskChangeInfo `xml:"returnval" json:"returnval"`
   697  }
   698  
   699  type VslmQueryDatastoreInfo VslmQueryDatastoreInfoRequestType
   700  
   701  func init() {
   702  	types.Add("vslm:VslmQueryDatastoreInfo", reflect.TypeOf((*VslmQueryDatastoreInfo)(nil)).Elem())
   703  }
   704  
   705  // The parameters of `VslmStorageLifecycleManager.VslmQueryDatastoreInfo`.
   706  //
   707  // This structure may be used only with operations rendered under `/vslm`.
   708  type VslmQueryDatastoreInfoRequestType struct {
   709  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   710  	// The datastore URL as specified in
   711  	// `DatastoreInfo.url`
   712  	DatastoreUrl string `xml:"datastoreUrl" json:"datastoreUrl"`
   713  }
   714  
   715  func init() {
   716  	types.Add("vslm:VslmQueryDatastoreInfoRequestType", reflect.TypeOf((*VslmQueryDatastoreInfoRequestType)(nil)).Elem())
   717  }
   718  
   719  type VslmQueryDatastoreInfoResponse struct {
   720  	Returnval []VslmQueryDatastoreInfoResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
   721  }
   722  
   723  // The `VslmQueryDatastoreInfoResult` provides mapping information
   724  // between `Datacenter` and `Datastore`.
   725  //
   726  // This API is returned as a result of
   727  // `VslmStorageLifecycleManager.VslmQueryDatastoreInfo` invocation.
   728  //
   729  // This structure may be used only with operations rendered under `/vslm`.
   730  type VslmQueryDatastoreInfoResult struct {
   731  	types.DynamicData
   732  
   733  	// Indicates the datacenter containing the
   734  	// `VslmQueryDatastoreInfoResult.datastore`.
   735  	//
   736  	// Refers instance of `Datacenter`.
   737  	Datacenter types.ManagedObjectReference `xml:"datacenter" json:"datacenter"`
   738  	// Indicates the datastore which is contained within the
   739  	// `VslmQueryDatastoreInfoResult.datacenter`.
   740  	//
   741  	// Refers instance of `Datastore`.
   742  	Datastore types.ManagedObjectReference `xml:"datastore" json:"datastore"`
   743  }
   744  
   745  func init() {
   746  	types.Add("vslm:VslmQueryDatastoreInfoResult", reflect.TypeOf((*VslmQueryDatastoreInfoResult)(nil)).Elem())
   747  }
   748  
   749  type VslmQueryGlobalCatalogSyncStatus VslmQueryGlobalCatalogSyncStatusRequestType
   750  
   751  func init() {
   752  	types.Add("vslm:VslmQueryGlobalCatalogSyncStatus", reflect.TypeOf((*VslmQueryGlobalCatalogSyncStatus)(nil)).Elem())
   753  }
   754  
   755  type VslmQueryGlobalCatalogSyncStatusForDatastore VslmQueryGlobalCatalogSyncStatusForDatastoreRequestType
   756  
   757  func init() {
   758  	types.Add("vslm:VslmQueryGlobalCatalogSyncStatusForDatastore", reflect.TypeOf((*VslmQueryGlobalCatalogSyncStatusForDatastore)(nil)).Elem())
   759  }
   760  
   761  // The parameters of `VslmVStorageObjectManager.VslmQueryGlobalCatalogSyncStatusForDatastore`.
   762  //
   763  // This structure may be used only with operations rendered under `/vslm`.
   764  type VslmQueryGlobalCatalogSyncStatusForDatastoreRequestType struct {
   765  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   766  	// URL of the datastore to check synchronization status for
   767  	DatastoreURL string `xml:"datastoreURL" json:"datastoreURL"`
   768  }
   769  
   770  func init() {
   771  	types.Add("vslm:VslmQueryGlobalCatalogSyncStatusForDatastoreRequestType", reflect.TypeOf((*VslmQueryGlobalCatalogSyncStatusForDatastoreRequestType)(nil)).Elem())
   772  }
   773  
   774  type VslmQueryGlobalCatalogSyncStatusForDatastoreResponse struct {
   775  	Returnval *VslmDatastoreSyncStatus `xml:"returnval,omitempty" json:"returnval,omitempty"`
   776  }
   777  
   778  type VslmQueryGlobalCatalogSyncStatusRequestType struct {
   779  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   780  }
   781  
   782  func init() {
   783  	types.Add("vslm:VslmQueryGlobalCatalogSyncStatusRequestType", reflect.TypeOf((*VslmQueryGlobalCatalogSyncStatusRequestType)(nil)).Elem())
   784  }
   785  
   786  type VslmQueryGlobalCatalogSyncStatusResponse struct {
   787  	Returnval []VslmDatastoreSyncStatus `xml:"returnval,omitempty" json:"returnval,omitempty"`
   788  }
   789  
   790  type VslmQueryInfo VslmQueryInfoRequestType
   791  
   792  func init() {
   793  	types.Add("vslm:VslmQueryInfo", reflect.TypeOf((*VslmQueryInfo)(nil)).Elem())
   794  }
   795  
   796  type VslmQueryInfoRequestType struct {
   797  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   798  }
   799  
   800  func init() {
   801  	types.Add("vslm:VslmQueryInfoRequestType", reflect.TypeOf((*VslmQueryInfoRequestType)(nil)).Elem())
   802  }
   803  
   804  type VslmQueryInfoResponse struct {
   805  	Returnval VslmTaskInfo `xml:"returnval" json:"returnval"`
   806  }
   807  
   808  type VslmQueryTaskResult VslmQueryTaskResultRequestType
   809  
   810  func init() {
   811  	types.Add("vslm:VslmQueryTaskResult", reflect.TypeOf((*VslmQueryTaskResult)(nil)).Elem())
   812  }
   813  
   814  type VslmQueryTaskResultRequestType struct {
   815  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   816  }
   817  
   818  func init() {
   819  	types.Add("vslm:VslmQueryTaskResultRequestType", reflect.TypeOf((*VslmQueryTaskResultRequestType)(nil)).Elem())
   820  }
   821  
   822  type VslmQueryTaskResultResponse struct {
   823  	Returnval types.AnyType `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
   824  }
   825  
   826  // The parameters of `VslmVStorageObjectManager.VslmReconcileDatastoreInventory_Task`.
   827  //
   828  // This structure may be used only with operations rendered under `/vslm`.
   829  type VslmReconcileDatastoreInventoryRequestType struct {
   830  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   831  	// The datastore that needs to be reconciled.
   832  	//
   833  	// Refers instance of `Datastore`.
   834  	Datastore types.ManagedObjectReference `xml:"datastore" json:"datastore"`
   835  }
   836  
   837  func init() {
   838  	types.Add("vslm:VslmReconcileDatastoreInventoryRequestType", reflect.TypeOf((*VslmReconcileDatastoreInventoryRequestType)(nil)).Elem())
   839  }
   840  
   841  type VslmReconcileDatastoreInventory_Task VslmReconcileDatastoreInventoryRequestType
   842  
   843  func init() {
   844  	types.Add("vslm:VslmReconcileDatastoreInventory_Task", reflect.TypeOf((*VslmReconcileDatastoreInventory_Task)(nil)).Elem())
   845  }
   846  
   847  type VslmReconcileDatastoreInventory_TaskResponse struct {
   848  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
   849  }
   850  
   851  type VslmRegisterDisk VslmRegisterDiskRequestType
   852  
   853  func init() {
   854  	types.Add("vslm:VslmRegisterDisk", reflect.TypeOf((*VslmRegisterDisk)(nil)).Elem())
   855  }
   856  
   857  // The parameters of `VslmVStorageObjectManager.VslmRegisterDisk`.
   858  //
   859  // This structure may be used only with operations rendered under `/vslm`.
   860  type VslmRegisterDiskRequestType struct {
   861  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   862  	// URL path to the virtual disk.
   863  	Path string `xml:"path" json:"path"`
   864  	// The descriptive name of the disk object. If
   865  	// unset the name will be automatically determined
   866  	// from the path. @see vim.vslm.BaseConfigInfo.name
   867  	Name string `xml:"name,omitempty" json:"name,omitempty"`
   868  }
   869  
   870  func init() {
   871  	types.Add("vslm:VslmRegisterDiskRequestType", reflect.TypeOf((*VslmRegisterDiskRequestType)(nil)).Elem())
   872  }
   873  
   874  type VslmRegisterDiskResponse struct {
   875  	Returnval types.VStorageObject `xml:"returnval" json:"returnval"`
   876  }
   877  
   878  // The parameters of `VslmVStorageObjectManager.VslmRelocateVStorageObject_Task`.
   879  //
   880  // This structure may be used only with operations rendered under `/vslm`.
   881  type VslmRelocateVStorageObjectRequestType struct {
   882  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   883  	// The ID of the virtual storage object.
   884  	Id types.ID `xml:"id" json:"id"`
   885  	// The specification for relocation of the virtual
   886  	// storage object.
   887  	Spec types.VslmRelocateSpec `xml:"spec" json:"spec"`
   888  }
   889  
   890  func init() {
   891  	types.Add("vslm:VslmRelocateVStorageObjectRequestType", reflect.TypeOf((*VslmRelocateVStorageObjectRequestType)(nil)).Elem())
   892  }
   893  
   894  type VslmRelocateVStorageObject_Task VslmRelocateVStorageObjectRequestType
   895  
   896  func init() {
   897  	types.Add("vslm:VslmRelocateVStorageObject_Task", reflect.TypeOf((*VslmRelocateVStorageObject_Task)(nil)).Elem())
   898  }
   899  
   900  type VslmRelocateVStorageObject_TaskResponse struct {
   901  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
   902  }
   903  
   904  type VslmRenameVStorageObject VslmRenameVStorageObjectRequestType
   905  
   906  func init() {
   907  	types.Add("vslm:VslmRenameVStorageObject", reflect.TypeOf((*VslmRenameVStorageObject)(nil)).Elem())
   908  }
   909  
   910  // The parameters of `VslmVStorageObjectManager.VslmRenameVStorageObject`.
   911  //
   912  // This structure may be used only with operations rendered under `/vslm`.
   913  type VslmRenameVStorageObjectRequestType struct {
   914  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   915  	// The ID of the virtual storage object to be renamed.
   916  	Id types.ID `xml:"id" json:"id"`
   917  	// The new name for the virtual storage object.
   918  	Name string `xml:"name" json:"name"`
   919  }
   920  
   921  func init() {
   922  	types.Add("vslm:VslmRenameVStorageObjectRequestType", reflect.TypeOf((*VslmRenameVStorageObjectRequestType)(nil)).Elem())
   923  }
   924  
   925  type VslmRenameVStorageObjectResponse struct {
   926  }
   927  
   928  type VslmRetrieveSnapshotDetails VslmRetrieveSnapshotDetailsRequestType
   929  
   930  func init() {
   931  	types.Add("vslm:VslmRetrieveSnapshotDetails", reflect.TypeOf((*VslmRetrieveSnapshotDetails)(nil)).Elem())
   932  }
   933  
   934  // The parameters of `VslmVStorageObjectManager.VslmRetrieveSnapshotDetails`.
   935  //
   936  // This structure may be used only with operations rendered under `/vslm`.
   937  type VslmRetrieveSnapshotDetailsRequestType struct {
   938  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   939  	// The ID of the virtual storage object.
   940  	Id types.ID `xml:"id" json:"id"`
   941  	// The ID of the snapshot of a virtual storage object.
   942  	SnapshotId types.ID `xml:"snapshotId" json:"snapshotId"`
   943  }
   944  
   945  func init() {
   946  	types.Add("vslm:VslmRetrieveSnapshotDetailsRequestType", reflect.TypeOf((*VslmRetrieveSnapshotDetailsRequestType)(nil)).Elem())
   947  }
   948  
   949  type VslmRetrieveSnapshotDetailsResponse struct {
   950  	Returnval types.VStorageObjectSnapshotDetails `xml:"returnval" json:"returnval"`
   951  }
   952  
   953  type VslmRetrieveSnapshotInfo VslmRetrieveSnapshotInfoRequestType
   954  
   955  func init() {
   956  	types.Add("vslm:VslmRetrieveSnapshotInfo", reflect.TypeOf((*VslmRetrieveSnapshotInfo)(nil)).Elem())
   957  }
   958  
   959  // The parameters of `VslmVStorageObjectManager.VslmRetrieveSnapshotInfo`.
   960  //
   961  // This structure may be used only with operations rendered under `/vslm`.
   962  type VslmRetrieveSnapshotInfoRequestType struct {
   963  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   964  	// The ID of the virtual storage object.
   965  	Id types.ID `xml:"id" json:"id"`
   966  }
   967  
   968  func init() {
   969  	types.Add("vslm:VslmRetrieveSnapshotInfoRequestType", reflect.TypeOf((*VslmRetrieveSnapshotInfoRequestType)(nil)).Elem())
   970  }
   971  
   972  type VslmRetrieveSnapshotInfoResponse struct {
   973  	Returnval types.VStorageObjectSnapshotInfo `xml:"returnval" json:"returnval"`
   974  }
   975  
   976  type VslmRetrieveVStorageInfrastructureObjectPolicy VslmRetrieveVStorageInfrastructureObjectPolicyRequestType
   977  
   978  func init() {
   979  	types.Add("vslm:VslmRetrieveVStorageInfrastructureObjectPolicy", reflect.TypeOf((*VslmRetrieveVStorageInfrastructureObjectPolicy)(nil)).Elem())
   980  }
   981  
   982  // The parameters of `VslmVStorageObjectManager.VslmRetrieveVStorageInfrastructureObjectPolicy`.
   983  //
   984  // This structure may be used only with operations rendered under `/vslm`.
   985  type VslmRetrieveVStorageInfrastructureObjectPolicyRequestType struct {
   986  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   987  	// Datastore on which policy needs to be retrieved.
   988  	//
   989  	// Refers instance of `Datastore`.
   990  	Datastore types.ManagedObjectReference `xml:"datastore" json:"datastore"`
   991  }
   992  
   993  func init() {
   994  	types.Add("vslm:VslmRetrieveVStorageInfrastructureObjectPolicyRequestType", reflect.TypeOf((*VslmRetrieveVStorageInfrastructureObjectPolicyRequestType)(nil)).Elem())
   995  }
   996  
   997  type VslmRetrieveVStorageInfrastructureObjectPolicyResponse struct {
   998  	Returnval []types.VslmInfrastructureObjectPolicy `xml:"returnval,omitempty" json:"returnval,omitempty"`
   999  }
  1000  
  1001  type VslmRetrieveVStorageObject VslmRetrieveVStorageObjectRequestType
  1002  
  1003  func init() {
  1004  	types.Add("vslm:VslmRetrieveVStorageObject", reflect.TypeOf((*VslmRetrieveVStorageObject)(nil)).Elem())
  1005  }
  1006  
  1007  type VslmRetrieveVStorageObjectAssociations VslmRetrieveVStorageObjectAssociationsRequestType
  1008  
  1009  func init() {
  1010  	types.Add("vslm:VslmRetrieveVStorageObjectAssociations", reflect.TypeOf((*VslmRetrieveVStorageObjectAssociations)(nil)).Elem())
  1011  }
  1012  
  1013  // The parameters of `VslmVStorageObjectManager.VslmRetrieveVStorageObjectAssociations`.
  1014  //
  1015  // This structure may be used only with operations rendered under `/vslm`.
  1016  type VslmRetrieveVStorageObjectAssociationsRequestType struct {
  1017  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  1018  	// The IDs of the virtual storage objects of the query.
  1019  	Ids []types.ID `xml:"ids,omitempty" json:"ids,omitempty"`
  1020  }
  1021  
  1022  func init() {
  1023  	types.Add("vslm:VslmRetrieveVStorageObjectAssociationsRequestType", reflect.TypeOf((*VslmRetrieveVStorageObjectAssociationsRequestType)(nil)).Elem())
  1024  }
  1025  
  1026  type VslmRetrieveVStorageObjectAssociationsResponse struct {
  1027  	Returnval []VslmVsoVStorageObjectAssociations `xml:"returnval,omitempty" json:"returnval,omitempty"`
  1028  }
  1029  
  1030  type VslmRetrieveVStorageObjectMetadata VslmRetrieveVStorageObjectMetadataRequestType
  1031  
  1032  func init() {
  1033  	types.Add("vslm:VslmRetrieveVStorageObjectMetadata", reflect.TypeOf((*VslmRetrieveVStorageObjectMetadata)(nil)).Elem())
  1034  }
  1035  
  1036  // The parameters of `VslmVStorageObjectManager.VslmRetrieveVStorageObjectMetadata`.
  1037  //
  1038  // This structure may be used only with operations rendered under `/vslm`.
  1039  type VslmRetrieveVStorageObjectMetadataRequestType struct {
  1040  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  1041  	// The ID of the virtual storage object.
  1042  	Id types.ID `xml:"id" json:"id"`
  1043  	// The ID of the snapshot of virtual storage object.
  1044  	SnapshotId *types.ID `xml:"snapshotId,omitempty" json:"snapshotId,omitempty"`
  1045  	// The prefix of the metadata key that needs to be retrieved
  1046  	Prefix string `xml:"prefix,omitempty" json:"prefix,omitempty"`
  1047  }
  1048  
  1049  func init() {
  1050  	types.Add("vslm:VslmRetrieveVStorageObjectMetadataRequestType", reflect.TypeOf((*VslmRetrieveVStorageObjectMetadataRequestType)(nil)).Elem())
  1051  }
  1052  
  1053  type VslmRetrieveVStorageObjectMetadataResponse struct {
  1054  	Returnval []types.KeyValue `xml:"returnval,omitempty" json:"returnval,omitempty"`
  1055  }
  1056  
  1057  type VslmRetrieveVStorageObjectMetadataValue VslmRetrieveVStorageObjectMetadataValueRequestType
  1058  
  1059  func init() {
  1060  	types.Add("vslm:VslmRetrieveVStorageObjectMetadataValue", reflect.TypeOf((*VslmRetrieveVStorageObjectMetadataValue)(nil)).Elem())
  1061  }
  1062  
  1063  // The parameters of `VslmVStorageObjectManager.VslmRetrieveVStorageObjectMetadataValue`.
  1064  //
  1065  // This structure may be used only with operations rendered under `/vslm`.
  1066  type VslmRetrieveVStorageObjectMetadataValueRequestType struct {
  1067  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  1068  	// The ID of the virtual storage object.
  1069  	Id types.ID `xml:"id" json:"id"`
  1070  	// The ID of the snapshot of virtual storage object.
  1071  	SnapshotId *types.ID `xml:"snapshotId,omitempty" json:"snapshotId,omitempty"`
  1072  	// The key for the the virtual storage object
  1073  	Key string `xml:"key" json:"key"`
  1074  }
  1075  
  1076  func init() {
  1077  	types.Add("vslm:VslmRetrieveVStorageObjectMetadataValueRequestType", reflect.TypeOf((*VslmRetrieveVStorageObjectMetadataValueRequestType)(nil)).Elem())
  1078  }
  1079  
  1080  type VslmRetrieveVStorageObjectMetadataValueResponse struct {
  1081  	Returnval string `xml:"returnval" json:"returnval"`
  1082  }
  1083  
  1084  // The parameters of `VslmVStorageObjectManager.VslmRetrieveVStorageObject`.
  1085  //
  1086  // This structure may be used only with operations rendered under `/vslm`.
  1087  type VslmRetrieveVStorageObjectRequestType struct {
  1088  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  1089  	// The ID of the virtual storage object to be retrieved.
  1090  	Id types.ID `xml:"id" json:"id"`
  1091  }
  1092  
  1093  func init() {
  1094  	types.Add("vslm:VslmRetrieveVStorageObjectRequestType", reflect.TypeOf((*VslmRetrieveVStorageObjectRequestType)(nil)).Elem())
  1095  }
  1096  
  1097  type VslmRetrieveVStorageObjectResponse struct {
  1098  	Returnval types.VStorageObject `xml:"returnval" json:"returnval"`
  1099  }
  1100  
  1101  type VslmRetrieveVStorageObjectState VslmRetrieveVStorageObjectStateRequestType
  1102  
  1103  func init() {
  1104  	types.Add("vslm:VslmRetrieveVStorageObjectState", reflect.TypeOf((*VslmRetrieveVStorageObjectState)(nil)).Elem())
  1105  }
  1106  
  1107  // The parameters of `VslmVStorageObjectManager.VslmRetrieveVStorageObjectState`.
  1108  //
  1109  // This structure may be used only with operations rendered under `/vslm`.
  1110  type VslmRetrieveVStorageObjectStateRequestType struct {
  1111  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  1112  	// The ID of the virtual storage object the state to be retrieved.
  1113  	Id types.ID `xml:"id" json:"id"`
  1114  }
  1115  
  1116  func init() {
  1117  	types.Add("vslm:VslmRetrieveVStorageObjectStateRequestType", reflect.TypeOf((*VslmRetrieveVStorageObjectStateRequestType)(nil)).Elem())
  1118  }
  1119  
  1120  type VslmRetrieveVStorageObjectStateResponse struct {
  1121  	Returnval types.VStorageObjectStateInfo `xml:"returnval" json:"returnval"`
  1122  }
  1123  
  1124  type VslmRetrieveVStorageObjects VslmRetrieveVStorageObjectsRequestType
  1125  
  1126  func init() {
  1127  	types.Add("vslm:VslmRetrieveVStorageObjects", reflect.TypeOf((*VslmRetrieveVStorageObjects)(nil)).Elem())
  1128  }
  1129  
  1130  // The parameters of `VslmVStorageObjectManager.VslmRetrieveVStorageObjects`.
  1131  //
  1132  // This structure may be used only with operations rendered under `/vslm`.
  1133  type VslmRetrieveVStorageObjectsRequestType struct {
  1134  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  1135  	// The array of IDs of the virtual storage object to be
  1136  	// retrieved.
  1137  	Ids []types.ID `xml:"ids,omitempty" json:"ids,omitempty"`
  1138  }
  1139  
  1140  func init() {
  1141  	types.Add("vslm:VslmRetrieveVStorageObjectsRequestType", reflect.TypeOf((*VslmRetrieveVStorageObjectsRequestType)(nil)).Elem())
  1142  }
  1143  
  1144  type VslmRetrieveVStorageObjectsResponse struct {
  1145  	Returnval []VslmVsoVStorageObjectResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
  1146  }
  1147  
  1148  // The parameters of `VslmVStorageObjectManager.VslmRevertVStorageObject_Task`.
  1149  //
  1150  // This structure may be used only with operations rendered under `/vslm`.
  1151  type VslmRevertVStorageObjectRequestType struct {
  1152  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  1153  	// The ID of the virtual storage object.
  1154  	Id types.ID `xml:"id" json:"id"`
  1155  	// The ID of the snapshot of a virtual storage object.
  1156  	SnapshotId types.ID `xml:"snapshotId" json:"snapshotId"`
  1157  }
  1158  
  1159  func init() {
  1160  	types.Add("vslm:VslmRevertVStorageObjectRequestType", reflect.TypeOf((*VslmRevertVStorageObjectRequestType)(nil)).Elem())
  1161  }
  1162  
  1163  type VslmRevertVStorageObject_Task VslmRevertVStorageObjectRequestType
  1164  
  1165  func init() {
  1166  	types.Add("vslm:VslmRevertVStorageObject_Task", reflect.TypeOf((*VslmRevertVStorageObject_Task)(nil)).Elem())
  1167  }
  1168  
  1169  type VslmRevertVStorageObject_TaskResponse struct {
  1170  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
  1171  }
  1172  
  1173  type VslmScheduleReconcileDatastoreInventory VslmScheduleReconcileDatastoreInventoryRequestType
  1174  
  1175  func init() {
  1176  	types.Add("vslm:VslmScheduleReconcileDatastoreInventory", reflect.TypeOf((*VslmScheduleReconcileDatastoreInventory)(nil)).Elem())
  1177  }
  1178  
  1179  // The parameters of `VslmVStorageObjectManager.VslmScheduleReconcileDatastoreInventory`.
  1180  //
  1181  // This structure may be used only with operations rendered under `/vslm`.
  1182  type VslmScheduleReconcileDatastoreInventoryRequestType struct {
  1183  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  1184  	// The datastore that needs to be reconciled.
  1185  	//
  1186  	// Refers instance of `Datastore`.
  1187  	Datastore types.ManagedObjectReference `xml:"datastore" json:"datastore"`
  1188  }
  1189  
  1190  func init() {
  1191  	types.Add("vslm:VslmScheduleReconcileDatastoreInventoryRequestType", reflect.TypeOf((*VslmScheduleReconcileDatastoreInventoryRequestType)(nil)).Elem())
  1192  }
  1193  
  1194  type VslmScheduleReconcileDatastoreInventoryResponse struct {
  1195  }
  1196  
  1197  // The `VslmServiceInstanceContent` data object defines properties for the
  1198  // `VslmServiceInstance` managed object.
  1199  //
  1200  // This structure may be used only with operations rendered under `/vslm`.
  1201  type VslmServiceInstanceContent struct {
  1202  	types.DynamicData
  1203  
  1204  	// Contains information that identifies the Storage Lifecycle Management
  1205  	// service.
  1206  	AboutInfo VslmAboutInfo `xml:"aboutInfo" json:"aboutInfo"`
  1207  	// `VslmSessionManager` contains login APIs to connect to VSLM
  1208  	// service.
  1209  	//
  1210  	// Refers instance of `VslmSessionManager`.
  1211  	SessionManager types.ManagedObjectReference `xml:"sessionManager" json:"sessionManager"`
  1212  	// `VslmVStorageObjectManager` contains virtual storage object
  1213  	// APIs.
  1214  	//
  1215  	// Refers instance of `VslmVStorageObjectManager`.
  1216  	VStorageObjectManager types.ManagedObjectReference `xml:"vStorageObjectManager" json:"vStorageObjectManager"`
  1217  	// `VslmStorageLifecycleManager` contains callback APIs to VSLM
  1218  	// service.
  1219  	//
  1220  	// Refers instance of `VslmStorageLifecycleManager`.
  1221  	StorageLifecycleManager types.ManagedObjectReference `xml:"storageLifecycleManager" json:"storageLifecycleManager"`
  1222  }
  1223  
  1224  func init() {
  1225  	types.Add("vslm:VslmServiceInstanceContent", reflect.TypeOf((*VslmServiceInstanceContent)(nil)).Elem())
  1226  }
  1227  
  1228  type VslmSetVStorageObjectControlFlags VslmSetVStorageObjectControlFlagsRequestType
  1229  
  1230  func init() {
  1231  	types.Add("vslm:VslmSetVStorageObjectControlFlags", reflect.TypeOf((*VslmSetVStorageObjectControlFlags)(nil)).Elem())
  1232  }
  1233  
  1234  // The parameters of `VslmVStorageObjectManager.VslmSetVStorageObjectControlFlags`.
  1235  //
  1236  // This structure may be used only with operations rendered under `/vslm`.
  1237  type VslmSetVStorageObjectControlFlagsRequestType struct {
  1238  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  1239  	// The ID of the virtual storage object.
  1240  	Id types.ID `xml:"id" json:"id"`
  1241  	// control flags enum array to be set on the
  1242  	// VStorageObject. All control flags not included
  1243  	// in the array remain intact.
  1244  	ControlFlags []string `xml:"controlFlags,omitempty" json:"controlFlags,omitempty"`
  1245  }
  1246  
  1247  func init() {
  1248  	types.Add("vslm:VslmSetVStorageObjectControlFlagsRequestType", reflect.TypeOf((*VslmSetVStorageObjectControlFlagsRequestType)(nil)).Elem())
  1249  }
  1250  
  1251  type VslmSetVStorageObjectControlFlagsResponse struct {
  1252  }
  1253  
  1254  type VslmSyncDatastore VslmSyncDatastoreRequestType
  1255  
  1256  func init() {
  1257  	types.Add("vslm:VslmSyncDatastore", reflect.TypeOf((*VslmSyncDatastore)(nil)).Elem())
  1258  }
  1259  
  1260  // The parameters of `VslmStorageLifecycleManager.VslmSyncDatastore`.
  1261  //
  1262  // This structure may be used only with operations rendered under `/vslm`.
  1263  type VslmSyncDatastoreRequestType struct {
  1264  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  1265  	// The datastore URL as specified in
  1266  	// `DatastoreInfo.url`
  1267  	DatastoreUrl string `xml:"datastoreUrl" json:"datastoreUrl"`
  1268  	// If this is set to true, all information for this datastore
  1269  	// will be discarded from the catalog and reloaded from the
  1270  	// datastore's catalog
  1271  	FullSync bool `xml:"fullSync" json:"fullSync"`
  1272  	// If set, this call blocks until fcdId is persisited into db
  1273  	// if this fcdId is not found in queue, assume persisted and return
  1274  	FcdId *types.ID `xml:"fcdId,omitempty" json:"fcdId,omitempty"`
  1275  }
  1276  
  1277  func init() {
  1278  	types.Add("vslm:VslmSyncDatastoreRequestType", reflect.TypeOf((*VslmSyncDatastoreRequestType)(nil)).Elem())
  1279  }
  1280  
  1281  type VslmSyncDatastoreResponse struct {
  1282  }
  1283  
  1284  // An SyncFault fault is thrown when there is a failure to synchronize
  1285  // the FCD global catalog information with the local catalog information.
  1286  //
  1287  // Pandora synchronizes the datastore periodically in the background, it
  1288  // recovers from any transient failures affecting the datastore or
  1289  // individual FCDs. In cases where the sync fault needs to be resolved
  1290  // immediately, explicitly triggering a
  1291  // `VslmStorageLifecycleManager.VslmSyncDatastore` should resolve the
  1292  // issue, unless there are underlying infrastructure issues affecting the
  1293  // datastore or FCD. If the fault is ignored there is
  1294  // a possibility that the FCD is unrecognized by Pandora or Pandora
  1295  // DB having stale information, consequently, affecting the return of
  1296  // `VslmVStorageObjectManager.VslmListVStorageObjectForSpec` and
  1297  // `VslmVStorageObjectManager.VslmRetrieveVStorageObjects` APIs.
  1298  // In cases where the `VslmSyncFault.id` is specified,
  1299  // the client can explicitly trigger
  1300  // `VslmStorageLifecycleManager.VslmSyncDatastore` to resolve
  1301  // the issue, else, could ignore the fault in anticipation of Pandora
  1302  // automatically resolving the error.
  1303  //
  1304  // This structure may be used only with operations rendered under `/vslm`.
  1305  type VslmSyncFault struct {
  1306  	VslmFault
  1307  
  1308  	Id *types.ID `xml:"id,omitempty" json:"id,omitempty"`
  1309  }
  1310  
  1311  func init() {
  1312  	types.Add("vslm:VslmSyncFault", reflect.TypeOf((*VslmSyncFault)(nil)).Elem())
  1313  }
  1314  
  1315  type VslmSyncFaultFault VslmSyncFault
  1316  
  1317  func init() {
  1318  	types.Add("vslm:VslmSyncFaultFault", reflect.TypeOf((*VslmSyncFaultFault)(nil)).Elem())
  1319  }
  1320  
  1321  // This data object type contains all information about a VSLM task.
  1322  //
  1323  // A task represents an operation performed by VirtualCenter or ESX.
  1324  //
  1325  // This structure may be used only with operations rendered under `/vslm`.
  1326  type VslmTaskInfo struct {
  1327  	types.DynamicData
  1328  
  1329  	// The unique key for the task.
  1330  	Key string `xml:"key" json:"key"`
  1331  	// The managed object that represents this task.
  1332  	//
  1333  	// Refers instance of `VslmTask`.
  1334  	Task types.ManagedObjectReference `xml:"task" json:"task"`
  1335  	// The description field of the task describes the current phase of
  1336  	// operation of the task.
  1337  	//
  1338  	// For a task that does a single monolithic
  1339  	// activity, this will be fixed and unchanging.
  1340  	// For tasks that have various substeps, this field will change
  1341  	// as the task progresses from one phase to another.
  1342  	Description *types.LocalizableMessage `xml:"description,omitempty" json:"description,omitempty"`
  1343  	// The name of the operation that created the task.
  1344  	//
  1345  	// This is not set
  1346  	// for internal tasks.
  1347  	Name string `xml:"name,omitempty" json:"name,omitempty"`
  1348  	// An identifier for this operation.
  1349  	//
  1350  	// This includes publicly visible
  1351  	// internal tasks and is a lookup in the TaskDescription methodInfo
  1352  	// data object.
  1353  	DescriptionId string `xml:"descriptionId" json:"descriptionId"`
  1354  	// Managed entity to which the operation applies.
  1355  	//
  1356  	// Refers instance of `ManagedEntity`.
  1357  	Entity *types.ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
  1358  	// The name of the managed entity, locale-specific, retained for the
  1359  	// history collector database.
  1360  	EntityName string `xml:"entityName,omitempty" json:"entityName,omitempty"`
  1361  	// If the state of the task is "running", then this property is a list of
  1362  	// managed entities that the operation has locked, with a shared lock.
  1363  	//
  1364  	// Refers instances of `ManagedEntity`.
  1365  	Locked []types.ManagedObjectReference `xml:"locked,omitempty" json:"locked,omitempty"`
  1366  	// Runtime status of the task.
  1367  	State VslmTaskInfoState `xml:"state" json:"state"`
  1368  	// Flag to indicate whether or not the client requested
  1369  	// cancellation of the task.
  1370  	Cancelled bool `xml:"cancelled" json:"cancelled"`
  1371  	// Flag to indicate whether or not the cancel task operation is supported.
  1372  	Cancelable bool `xml:"cancelable" json:"cancelable"`
  1373  	// If the task state is "error", then this property contains the fault code.
  1374  	Error *types.LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
  1375  	// If the task state is "success", then this property may be used
  1376  	// to hold a return value.
  1377  	Result types.AnyType `xml:"result,omitempty,typeattr" json:"result,omitempty"`
  1378  	// If the task state is "running", then this property contains a
  1379  	// progress measurement, expressed as percentage completed, from 0 to 100.
  1380  	//
  1381  	// If this property is not set, then the command does not report progress.
  1382  	Progress int32 `xml:"progress,omitempty" json:"progress,omitempty"`
  1383  	// Kind of entity responsible for creating this task.
  1384  	Reason BaseVslmTaskReason `xml:"reason,typeattr" json:"reason"`
  1385  	// Time stamp when the task was created.
  1386  	QueueTime time.Time `xml:"queueTime" json:"queueTime"`
  1387  	// Time stamp when the task started running.
  1388  	StartTime *time.Time `xml:"startTime" json:"startTime,omitempty"`
  1389  	// Time stamp when the task was completed (whether success or failure).
  1390  	CompleteTime *time.Time `xml:"completeTime" json:"completeTime,omitempty"`
  1391  	// Event chain ID that leads to the corresponding events.
  1392  	EventChainId int32 `xml:"eventChainId" json:"eventChainId"`
  1393  	// The user entered tag to identify the operations and their side effects
  1394  	ChangeTag string `xml:"changeTag,omitempty" json:"changeTag,omitempty"`
  1395  	// Tasks can be created by another task.
  1396  	//
  1397  	// This shows `VslmTaskInfo.key` of the task spun off this task. This is to
  1398  	// track causality between tasks.
  1399  	ParentTaskKey string `xml:"parentTaskKey,omitempty" json:"parentTaskKey,omitempty"`
  1400  	// Tasks can be created by another task and such creation can go on for
  1401  	// multiple levels.
  1402  	//
  1403  	// This is the `VslmTaskInfo.key` of the task
  1404  	// that started the chain of tasks.
  1405  	RootTaskKey string `xml:"rootTaskKey,omitempty" json:"rootTaskKey,omitempty"`
  1406  	// The activation Id is a client-provided token to link an API call with a task.
  1407  	ActivationId string `xml:"activationId,omitempty" json:"activationId,omitempty"`
  1408  }
  1409  
  1410  func init() {
  1411  	types.Add("vslm:VslmTaskInfo", reflect.TypeOf((*VslmTaskInfo)(nil)).Elem())
  1412  }
  1413  
  1414  // Base type for all task reasons.
  1415  //
  1416  // Task reasons represent the kind of entity responsible for a task's creation.
  1417  //
  1418  // This structure may be used only with operations rendered under `/vslm`.
  1419  type VslmTaskReason struct {
  1420  	types.DynamicData
  1421  }
  1422  
  1423  func init() {
  1424  	types.Add("vslm:VslmTaskReason", reflect.TypeOf((*VslmTaskReason)(nil)).Elem())
  1425  }
  1426  
  1427  // Indicates that the task was queued by an alarm.
  1428  //
  1429  // This structure may be used only with operations rendered under `/vslm`.
  1430  type VslmTaskReasonAlarm struct {
  1431  	VslmTaskReason
  1432  
  1433  	// The name of the alarm that queued the task, retained in the history
  1434  	// collector database.
  1435  	AlarmName string `xml:"alarmName" json:"alarmName"`
  1436  	// The alarm object that queued the task.
  1437  	//
  1438  	// Refers instance of `Alarm`.
  1439  	Alarm types.ManagedObjectReference `xml:"alarm" json:"alarm"`
  1440  	// The name of the managed entity on which the alarm is triggered,
  1441  	// retained in the history collector database.
  1442  	EntityName string `xml:"entityName" json:"entityName"`
  1443  	// The managed entity object on which the alarm is triggered.
  1444  	//
  1445  	// Refers instance of `ManagedEntity`.
  1446  	Entity types.ManagedObjectReference `xml:"entity" json:"entity"`
  1447  }
  1448  
  1449  func init() {
  1450  	types.Add("vslm:VslmTaskReasonAlarm", reflect.TypeOf((*VslmTaskReasonAlarm)(nil)).Elem())
  1451  }
  1452  
  1453  // Indicates that the task was queued by a scheduled task.
  1454  //
  1455  // This structure may be used only with operations rendered under `/vslm`.
  1456  type VslmTaskReasonSchedule struct {
  1457  	VslmTaskReason
  1458  
  1459  	// The name of the scheduled task that queued this task.
  1460  	Name string `xml:"name" json:"name"`
  1461  	// The scheduledTask object that queued this task.
  1462  	//
  1463  	// Refers instance of `ScheduledTask`.
  1464  	ScheduledTask types.ManagedObjectReference `xml:"scheduledTask" json:"scheduledTask"`
  1465  }
  1466  
  1467  func init() {
  1468  	types.Add("vslm:VslmTaskReasonSchedule", reflect.TypeOf((*VslmTaskReasonSchedule)(nil)).Elem())
  1469  }
  1470  
  1471  // Indicates that the task was started by the system (a default task).
  1472  //
  1473  // This structure may be used only with operations rendered under `/vslm`.
  1474  type VslmTaskReasonSystem struct {
  1475  	VslmTaskReason
  1476  }
  1477  
  1478  func init() {
  1479  	types.Add("vslm:VslmTaskReasonSystem", reflect.TypeOf((*VslmTaskReasonSystem)(nil)).Elem())
  1480  }
  1481  
  1482  // Indicates that the task was queued by a specific user.
  1483  //
  1484  // This structure may be used only with operations rendered under `/vslm`.
  1485  type VslmTaskReasonUser struct {
  1486  	VslmTaskReason
  1487  
  1488  	// Name of the user that queued the task.
  1489  	UserName string `xml:"userName" json:"userName"`
  1490  }
  1491  
  1492  func init() {
  1493  	types.Add("vslm:VslmTaskReasonUser", reflect.TypeOf((*VslmTaskReasonUser)(nil)).Elem())
  1494  }
  1495  
  1496  // The parameters of `VslmVStorageObjectManager.VslmUpdateVStorageInfrastructureObjectPolicy_Task`.
  1497  //
  1498  // This structure may be used only with operations rendered under `/vslm`.
  1499  type VslmUpdateVStorageInfrastructureObjectPolicyRequestType struct {
  1500  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  1501  	// specification to assign a SPBM policy to FCD infrastructure
  1502  	// object.
  1503  	Spec types.VslmInfrastructureObjectPolicySpec `xml:"spec" json:"spec"`
  1504  }
  1505  
  1506  func init() {
  1507  	types.Add("vslm:VslmUpdateVStorageInfrastructureObjectPolicyRequestType", reflect.TypeOf((*VslmUpdateVStorageInfrastructureObjectPolicyRequestType)(nil)).Elem())
  1508  }
  1509  
  1510  type VslmUpdateVStorageInfrastructureObjectPolicy_Task VslmUpdateVStorageInfrastructureObjectPolicyRequestType
  1511  
  1512  func init() {
  1513  	types.Add("vslm:VslmUpdateVStorageInfrastructureObjectPolicy_Task", reflect.TypeOf((*VslmUpdateVStorageInfrastructureObjectPolicy_Task)(nil)).Elem())
  1514  }
  1515  
  1516  type VslmUpdateVStorageInfrastructureObjectPolicy_TaskResponse struct {
  1517  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
  1518  }
  1519  
  1520  // The parameters of `VslmVStorageObjectManager.VslmUpdateVStorageObjectMetadata_Task`.
  1521  //
  1522  // This structure may be used only with operations rendered under `/vslm`.
  1523  type VslmUpdateVStorageObjectMetadataRequestType struct {
  1524  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  1525  	// The ID of the virtual storage object.
  1526  	Id types.ID `xml:"id" json:"id"`
  1527  	// array of key/value strings. (keys must be unique
  1528  	// within the list)
  1529  	Metadata []types.KeyValue `xml:"metadata,omitempty" json:"metadata,omitempty"`
  1530  	// array of keys need to be deleted
  1531  	DeleteKeys []string `xml:"deleteKeys,omitempty" json:"deleteKeys,omitempty"`
  1532  }
  1533  
  1534  func init() {
  1535  	types.Add("vslm:VslmUpdateVStorageObjectMetadataRequestType", reflect.TypeOf((*VslmUpdateVStorageObjectMetadataRequestType)(nil)).Elem())
  1536  }
  1537  
  1538  type VslmUpdateVStorageObjectMetadata_Task VslmUpdateVStorageObjectMetadataRequestType
  1539  
  1540  func init() {
  1541  	types.Add("vslm:VslmUpdateVStorageObjectMetadata_Task", reflect.TypeOf((*VslmUpdateVStorageObjectMetadata_Task)(nil)).Elem())
  1542  }
  1543  
  1544  type VslmUpdateVStorageObjectMetadata_TaskResponse struct {
  1545  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
  1546  }
  1547  
  1548  // The parameters of `VslmVStorageObjectManager.VslmUpdateVstorageObjectCrypto_Task`.
  1549  //
  1550  // This structure may be used only with operations rendered under `/vslm`.
  1551  type VslmUpdateVstorageObjectCryptoRequestType struct {
  1552  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  1553  	// The ID of the virtual storage object.
  1554  	Id types.ID `xml:"id" json:"id"`
  1555  	// New profile requirement on the virtual storage object.
  1556  	Profile []types.VirtualMachineProfileSpec `xml:"profile,omitempty" json:"profile,omitempty"`
  1557  	// The crypto information of each disk on the chain.
  1558  	DisksCrypto *types.DiskCryptoSpec `xml:"disksCrypto,omitempty" json:"disksCrypto,omitempty"`
  1559  }
  1560  
  1561  func init() {
  1562  	types.Add("vslm:VslmUpdateVstorageObjectCryptoRequestType", reflect.TypeOf((*VslmUpdateVstorageObjectCryptoRequestType)(nil)).Elem())
  1563  }
  1564  
  1565  type VslmUpdateVstorageObjectCrypto_Task VslmUpdateVstorageObjectCryptoRequestType
  1566  
  1567  func init() {
  1568  	types.Add("vslm:VslmUpdateVstorageObjectCrypto_Task", reflect.TypeOf((*VslmUpdateVstorageObjectCrypto_Task)(nil)).Elem())
  1569  }
  1570  
  1571  type VslmUpdateVstorageObjectCrypto_TaskResponse struct {
  1572  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
  1573  }
  1574  
  1575  // The parameters of `VslmVStorageObjectManager.VslmUpdateVstorageObjectPolicy_Task`.
  1576  //
  1577  // This structure may be used only with operations rendered under `/vslm`.
  1578  type VslmUpdateVstorageObjectPolicyRequestType struct {
  1579  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  1580  	// The ID of the virtual storage object.
  1581  	Id types.ID `xml:"id" json:"id"`
  1582  	// New profile requirement on the virtual storage object.
  1583  	Profile []types.VirtualMachineProfileSpec `xml:"profile,omitempty" json:"profile,omitempty"`
  1584  }
  1585  
  1586  func init() {
  1587  	types.Add("vslm:VslmUpdateVstorageObjectPolicyRequestType", reflect.TypeOf((*VslmUpdateVstorageObjectPolicyRequestType)(nil)).Elem())
  1588  }
  1589  
  1590  type VslmUpdateVstorageObjectPolicy_Task VslmUpdateVstorageObjectPolicyRequestType
  1591  
  1592  func init() {
  1593  	types.Add("vslm:VslmUpdateVstorageObjectPolicy_Task", reflect.TypeOf((*VslmUpdateVstorageObjectPolicy_Task)(nil)).Elem())
  1594  }
  1595  
  1596  type VslmUpdateVstorageObjectPolicy_TaskResponse struct {
  1597  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
  1598  }
  1599  
  1600  // This data object is a key-value pair whose key is the virtual storage
  1601  // object id, and value is the vm association information.
  1602  //
  1603  // This structure may be used only with operations rendered under `/vslm`.
  1604  type VslmVsoVStorageObjectAssociations struct {
  1605  	types.DynamicData
  1606  
  1607  	// ID of this virtual storage object.
  1608  	Id types.ID `xml:"id" json:"id"`
  1609  	// Array of vm associations related to the virtual storage object.
  1610  	VmDiskAssociation []VslmVsoVStorageObjectAssociationsVmDiskAssociation `xml:"vmDiskAssociation,omitempty" json:"vmDiskAssociation,omitempty"`
  1611  	// Received error while generating associations.
  1612  	Fault *types.LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
  1613  }
  1614  
  1615  func init() {
  1616  	types.Add("vslm:VslmVsoVStorageObjectAssociations", reflect.TypeOf((*VslmVsoVStorageObjectAssociations)(nil)).Elem())
  1617  }
  1618  
  1619  // This data object contains infomation of a VM Disk association.
  1620  //
  1621  // This structure may be used only with operations rendered under `/vslm`.
  1622  type VslmVsoVStorageObjectAssociationsVmDiskAssociation struct {
  1623  	types.DynamicData
  1624  
  1625  	// ID of the virtual machine.
  1626  	VmId string `xml:"vmId" json:"vmId"`
  1627  	// Device key of the disk attached to the VM.
  1628  	DiskKey int32 `xml:"diskKey" json:"diskKey"`
  1629  }
  1630  
  1631  func init() {
  1632  	types.Add("vslm:VslmVsoVStorageObjectAssociationsVmDiskAssociation", reflect.TypeOf((*VslmVsoVStorageObjectAssociationsVmDiskAssociation)(nil)).Elem())
  1633  }
  1634  
  1635  // The `VslmVsoVStorageObjectQueryResult` contains the result of
  1636  // `VslmVStorageObjectManager.VslmListVStorageObjectForSpec` API.
  1637  //
  1638  // This structure may be used only with operations rendered under `/vslm`.
  1639  type VslmVsoVStorageObjectQueryResult struct {
  1640  	types.DynamicData
  1641  
  1642  	// If set to false, more results were found than could be returned (either
  1643  	// limited by maxResult input argument in the
  1644  	// `VslmVStorageObjectManager.VslmListVStorageObjectForSpec` API or
  1645  	// truncated because the number of results exceeded the internal limit).
  1646  	AllRecordsReturned bool `xml:"allRecordsReturned" json:"allRecordsReturned"`
  1647  	// IDs of the VStorageObjects matching the query criteria
  1648  	// NOTE: This field will be removed once the dev/qe code is refactored.
  1649  	//
  1650  	// IDs will be returned in ascending order. If
  1651  	// `VslmVsoVStorageObjectQueryResult.allRecordsReturned` is set to false,
  1652  	// to get the additional results, repeat the query with ID > last ID as
  1653  	// part of the query spec `VslmVsoVStorageObjectQuerySpec`.
  1654  	Id []types.ID `xml:"id,omitempty" json:"id,omitempty"`
  1655  	// Results of the query criteria.
  1656  	//
  1657  	// `IDs` will be returned in
  1658  	// ascending order. If `VslmVsoVStorageObjectQueryResult.allRecordsReturned`
  1659  	// is set to false,then, to get the additional results, repeat the query
  1660  	// with ID > last ID as part of the query spec
  1661  	// `VslmVsoVStorageObjectQuerySpec`.
  1662  	QueryResults []VslmVsoVStorageObjectResult `xml:"queryResults,omitempty" json:"queryResults,omitempty"`
  1663  }
  1664  
  1665  func init() {
  1666  	types.Add("vslm:VslmVsoVStorageObjectQueryResult", reflect.TypeOf((*VslmVsoVStorageObjectQueryResult)(nil)).Elem())
  1667  }
  1668  
  1669  // The `VslmVsoVStorageObjectQuerySpec` describes the criteria to query
  1670  // VStorageObject from global catalog.
  1671  //
  1672  // `VslmVsoVStorageObjectQuerySpec` is sent as input to
  1673  // `VslmVStorageObjectManager.VslmListVStorageObjectForSpec` API.
  1674  //
  1675  // This structure may be used only with operations rendered under `/vslm`.
  1676  type VslmVsoVStorageObjectQuerySpec struct {
  1677  	types.DynamicData
  1678  
  1679  	// This field specifies the searchable field.
  1680  	//
  1681  	// This can be one of the values from
  1682  	// `VslmVsoVStorageObjectQuerySpecQueryFieldEnum_enum`.
  1683  	QueryField string `xml:"queryField" json:"queryField"`
  1684  	// This field specifies the operator to compare the searchable field
  1685  	// `VslmVsoVStorageObjectQuerySpec.queryField` with the specified
  1686  	// value `VslmVsoVStorageObjectQuerySpec.queryValue`.
  1687  	//
  1688  	// This can be one of the values from `VslmVsoVStorageObjectQuerySpecQueryOperatorEnum_enum`.
  1689  	QueryOperator string `xml:"queryOperator" json:"queryOperator"`
  1690  	// This field specifies the value to be compared with the searchable field.
  1691  	QueryValue []string `xml:"queryValue,omitempty" json:"queryValue,omitempty"`
  1692  }
  1693  
  1694  func init() {
  1695  	types.Add("vslm:VslmVsoVStorageObjectQuerySpec", reflect.TypeOf((*VslmVsoVStorageObjectQuerySpec)(nil)).Elem())
  1696  }
  1697  
  1698  // The `VslmVsoVStorageObjectResult` contains the result objects of
  1699  // `VslmVsoVStorageObjectQueryResult` which is returned as a result of
  1700  // `VslmVStorageObjectManager.VslmListVStorageObjectForSpec` and
  1701  // `VslmVStorageObjectManager.VslmRetrieveVStorageObjects` APIs.
  1702  //
  1703  // This structure may be used only with operations rendered under `/vslm`.
  1704  type VslmVsoVStorageObjectResult struct {
  1705  	types.DynamicData
  1706  
  1707  	// The ID of the virtual storage object.
  1708  	Id types.ID `xml:"id" json:"id"`
  1709  	// Name of FCD.
  1710  	Name string `xml:"name,omitempty" json:"name,omitempty"`
  1711  	// The size in MB of this object.
  1712  	//
  1713  	// If the faults are set,
  1714  	// then the capacityInMB will be -1
  1715  	CapacityInMB int64 `xml:"capacityInMB" json:"capacityInMB"`
  1716  	// The create time information of the FCD.
  1717  	CreateTime *time.Time `xml:"createTime" json:"createTime,omitempty"`
  1718  	// The Datastore URL containing the FCD.
  1719  	DatastoreUrl string `xml:"datastoreUrl,omitempty" json:"datastoreUrl,omitempty"`
  1720  	// The disk path of the FCD.
  1721  	DiskPath string `xml:"diskPath,omitempty" json:"diskPath,omitempty"`
  1722  	// The rolled up used capacity of the FCD and it's snapshots.
  1723  	//
  1724  	// Returns -1L if the space information is currently unavailable.
  1725  	UsedCapacityInMB int64 `xml:"usedCapacityInMB,omitempty" json:"usedCapacityInMB,omitempty"`
  1726  	// The ID of the backing object of the virtual storage object.
  1727  	BackingObjectId *types.ID `xml:"backingObjectId,omitempty" json:"backingObjectId,omitempty"`
  1728  	// VStorageObjectSnapshotResult array containing information about all the
  1729  	// snapshots of the virtual storage object.
  1730  	SnapshotInfo []VslmVsoVStorageObjectSnapshotResult `xml:"snapshotInfo,omitempty" json:"snapshotInfo,omitempty"`
  1731  	// Metadata array of key/value strings.
  1732  	Metadata []types.KeyValue `xml:"metadata,omitempty" json:"metadata,omitempty"`
  1733  	// The fault is set in case of error conditions and this property will
  1734  	// have the reason.
  1735  	//
  1736  	// Possible Faults:
  1737  	// NotFound If specified virtual storage object cannot be found.
  1738  	Error *types.LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
  1739  }
  1740  
  1741  func init() {
  1742  	types.Add("vslm:VslmVsoVStorageObjectResult", reflect.TypeOf((*VslmVsoVStorageObjectResult)(nil)).Elem())
  1743  }
  1744  
  1745  // The `VslmVsoVStorageObjectSnapshotResult` contains brief information about a
  1746  // snapshot of the object `VslmVsoVStorageObjectResult` which is returned as a
  1747  // result of `VslmVStorageObjectManager.VslmRetrieveVStorageObjects` API.
  1748  //
  1749  // This structure may be used only with operations rendered under `/vslm`.
  1750  type VslmVsoVStorageObjectSnapshotResult struct {
  1751  	types.DynamicData
  1752  
  1753  	// The ID of the vsan object backing a snapshot of the virtual storage
  1754  	// object.
  1755  	BackingObjectId types.ID `xml:"backingObjectId" json:"backingObjectId"`
  1756  	// The description user passed in when creating this snapshot.
  1757  	Description string `xml:"description,omitempty" json:"description,omitempty"`
  1758  	// The ID of this snapshot, created and used in fcd layer.
  1759  	SnapshotId *types.ID `xml:"snapshotId,omitempty" json:"snapshotId,omitempty"`
  1760  	// The file path of this snapshot.
  1761  	DiskPath string `xml:"diskPath,omitempty" json:"diskPath,omitempty"`
  1762  }
  1763  
  1764  func init() {
  1765  	types.Add("vslm:VslmVsoVStorageObjectSnapshotResult", reflect.TypeOf((*VslmVsoVStorageObjectSnapshotResult)(nil)).Elem())
  1766  }
  1767  
  1768  type VersionURI string
  1769  
  1770  func init() {
  1771  	types.Add("vslm:versionURI", reflect.TypeOf((*VersionURI)(nil)).Elem())
  1772  }