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

     1  // © Broadcom. All Rights Reserved.
     2  // The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.
     3  // SPDX-License-Identifier: Apache-2.0
     4  
     5  package types
     6  
     7  import (
     8  	"reflect"
     9  	"time"
    10  
    11  	"github.com/vmware/govmomi/vim25/types"
    12  	vsanfstypes "github.com/vmware/govmomi/vsan/vsanfs/types"
    13  )
    14  
    15  type CnsCreateVolumeRequestType struct {
    16  	This        types.ManagedObjectReference `xml:"_this" json:"-"`
    17  	CreateSpecs []CnsVolumeCreateSpec        `xml:"createSpecs,omitempty" json:"createSpecs"`
    18  }
    19  
    20  func init() {
    21  	types.Add("CnsCreateVolumeRequestType", reflect.TypeOf((*CnsCreateVolumeRequestType)(nil)).Elem())
    22  }
    23  
    24  type CnsCreateVolume CnsCreateVolumeRequestType
    25  
    26  func init() {
    27  	types.Add("CnsCreateVolume", reflect.TypeOf((*CnsCreateVolume)(nil)).Elem())
    28  }
    29  
    30  type CnsCreateVolumeResponse struct {
    31  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
    32  }
    33  
    34  type CnsEntityMetadata struct {
    35  	types.DynamicData
    36  
    37  	EntityName string           `xml:"entityName" json:"entityName"`
    38  	Labels     []types.KeyValue `xml:"labels,omitempty" json:"labels"`
    39  	Delete     bool             `xml:"delete,omitempty" json:"delete"`
    40  	ClusterID  string           `xml:"clusterId,omitempty" json:"clusterID"`
    41  }
    42  
    43  func init() {
    44  	types.Add("CnsEntityMetadata", reflect.TypeOf((*CnsEntityMetadata)(nil)).Elem())
    45  }
    46  
    47  type CnsKubernetesEntityReference struct {
    48  	EntityType string `xml:"entityType" json:"entityType"`
    49  	EntityName string `xml:"entityName" json:"entityName"`
    50  	Namespace  string `xml:"namespace,omitempty" json:"namespace"`
    51  	ClusterID  string `xml:"clusterId,omitempty" json:"clusterID"`
    52  }
    53  
    54  type CnsKubernetesEntityMetadata struct {
    55  	CnsEntityMetadata
    56  
    57  	EntityType     string                         `xml:"entityType" json:"entityType"`
    58  	Namespace      string                         `xml:"namespace,omitempty" json:"namespace"`
    59  	ReferredEntity []CnsKubernetesEntityReference `xml:"referredEntity,omitempty" json:"referredEntity"`
    60  }
    61  
    62  func init() {
    63  	types.Add("CnsKubernetesEntityMetadata", reflect.TypeOf((*CnsKubernetesEntityMetadata)(nil)).Elem())
    64  }
    65  
    66  type CnsVolumeMetadata struct {
    67  	types.DynamicData
    68  
    69  	ContainerCluster      CnsContainerCluster     `xml:"containerCluster" json:"containerCluster"`
    70  	EntityMetadata        []BaseCnsEntityMetadata `xml:"entityMetadata,typeattr,omitempty" json:"entityMetadata"`
    71  	ContainerClusterArray []CnsContainerCluster   `xml:"containerClusterArray,omitempty" json:"containerClusterArray"`
    72  }
    73  
    74  func init() {
    75  	types.Add("CnsVolumeMetadata", reflect.TypeOf((*CnsVolumeMetadata)(nil)).Elem())
    76  }
    77  
    78  type CnsVolumeCreateSpec struct {
    79  	types.DynamicData
    80  	Name                 string                                `xml:"name" json:"name"`
    81  	VolumeType           string                                `xml:"volumeType" json:"volumeType"`
    82  	Datastores           []types.ManagedObjectReference        `xml:"datastores,omitempty" json:"datastores"`
    83  	Metadata             CnsVolumeMetadata                     `xml:"metadata,omitempty" json:"metadata"`
    84  	BackingObjectDetails BaseCnsBackingObjectDetails           `xml:"backingObjectDetails,typeattr" json:"backingObjectDetails"`
    85  	Profile              []types.BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile"`
    86  	CreateSpec           BaseCnsBaseCreateSpec                 `xml:"createSpec,omitempty,typeattr" json:"createSpec"`
    87  	VolumeSource         BaseCnsVolumeSource                   `xml:"volumeSource,omitempty,typeattr" json:"volumeSource"`
    88  }
    89  
    90  func init() {
    91  	types.Add("CnsVolumeCreateSpec", reflect.TypeOf((*CnsVolumeCreateSpec)(nil)).Elem())
    92  }
    93  
    94  type CnsUpdateVolumeMetadataRequestType struct {
    95  	This        types.ManagedObjectReference  `xml:"_this" json:"-"`
    96  	UpdateSpecs []CnsVolumeMetadataUpdateSpec `xml:"updateSpecs,omitempty" json:"updateSpecs"`
    97  }
    98  
    99  func init() {
   100  	types.Add("CnsUpdateVolumeMetadataRequestType", reflect.TypeOf((*CnsUpdateVolumeMetadataRequestType)(nil)).Elem())
   101  }
   102  
   103  type CnsUpdateVolumeMetadata CnsUpdateVolumeMetadataRequestType
   104  
   105  func init() {
   106  	types.Add("CnsUpdateVolumeMetadata", reflect.TypeOf((*CnsUpdateVolumeMetadata)(nil)).Elem())
   107  }
   108  
   109  type CnsUpdateVolumeMetadataResponse struct {
   110  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
   111  }
   112  
   113  type CnsVolumeMetadataUpdateSpec struct {
   114  	types.DynamicData
   115  
   116  	VolumeId CnsVolumeId       `xml:"volumeId" json:"volumeId"`
   117  	Metadata CnsVolumeMetadata `xml:"metadata,omitempty" json:"metadata"`
   118  }
   119  
   120  func init() {
   121  	types.Add("CnsVolumeMetadataUpdateSpec", reflect.TypeOf((*CnsVolumeMetadataUpdateSpec)(nil)).Elem())
   122  }
   123  
   124  type CnsDeleteVolumeRequestType struct {
   125  	This       types.ManagedObjectReference `xml:"_this" json:"-"`
   126  	VolumeIds  []CnsVolumeId                `xml:"volumeIds" json:"volumeIds"`
   127  	DeleteDisk bool                         `xml:"deleteDisk" json:"deleteDisk"`
   128  }
   129  
   130  func init() {
   131  	types.Add("CnsDeleteVolumeRequestType", reflect.TypeOf((*CnsDeleteVolumeRequestType)(nil)).Elem())
   132  }
   133  
   134  type CnsDeleteVolume CnsDeleteVolumeRequestType
   135  
   136  func init() {
   137  	types.Add("CnsDeleteVolume", reflect.TypeOf((*CnsDeleteVolume)(nil)).Elem())
   138  }
   139  
   140  type CnsDeleteVolumeResponse struct {
   141  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
   142  }
   143  
   144  type CnsExtendVolumeRequestType struct {
   145  	This        types.ManagedObjectReference `xml:"_this" json:"-"`
   146  	ExtendSpecs []CnsVolumeExtendSpec        `xml:"extendSpecs,omitempty" json:"extendSpecs"`
   147  }
   148  
   149  func init() {
   150  	types.Add("CnsExtendVolumeRequestType", reflect.TypeOf((*CnsExtendVolumeRequestType)(nil)).Elem())
   151  }
   152  
   153  type CnsExtendVolume CnsExtendVolumeRequestType
   154  
   155  func init() {
   156  	types.Add("CnsExtendVolume", reflect.TypeOf((*CnsExtendVolume)(nil)).Elem())
   157  }
   158  
   159  type CnsExtendVolumeResponse struct {
   160  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
   161  }
   162  
   163  type CnsVolumeExtendSpec struct {
   164  	types.DynamicData
   165  
   166  	VolumeId     CnsVolumeId `xml:"volumeId" json:"volumeId"`
   167  	CapacityInMb int64       `xml:"capacityInMb" json:"capacityInMb"`
   168  }
   169  
   170  func init() {
   171  	types.Add("CnsVolumeExtendSpec", reflect.TypeOf((*CnsVolumeExtendSpec)(nil)).Elem())
   172  }
   173  
   174  type CnsAttachVolumeRequestType struct {
   175  	This        types.ManagedObjectReference `xml:"_this" json:"-"`
   176  	AttachSpecs []CnsVolumeAttachDetachSpec  `xml:"attachSpecs,omitempty" json:"attachSpecs"`
   177  }
   178  
   179  func init() {
   180  	types.Add("CnsAttachVolumeRequestType", reflect.TypeOf((*CnsAttachVolumeRequestType)(nil)).Elem())
   181  }
   182  
   183  type CnsAttachVolume CnsAttachVolumeRequestType
   184  
   185  func init() {
   186  	types.Add("CnsAttachVolume", reflect.TypeOf((*CnsAttachVolume)(nil)).Elem())
   187  }
   188  
   189  type CnsAttachVolumeResponse struct {
   190  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
   191  }
   192  
   193  type CnsDetachVolumeRequestType struct {
   194  	This        types.ManagedObjectReference `xml:"_this" json:"-"`
   195  	DetachSpecs []CnsVolumeAttachDetachSpec  `xml:"detachSpecs,omitempty" json:"detachSpecs"`
   196  }
   197  
   198  func init() {
   199  	types.Add("CnsDetachVolumeRequestType", reflect.TypeOf((*CnsDetachVolumeRequestType)(nil)).Elem())
   200  }
   201  
   202  type CnsDetachVolume CnsDetachVolumeRequestType
   203  
   204  func init() {
   205  	types.Add("CnsDetachVolume", reflect.TypeOf((*CnsDetachVolume)(nil)).Elem())
   206  }
   207  
   208  type CnsDetachVolumeResponse struct {
   209  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
   210  }
   211  
   212  type CnsVolumeAttachDetachSpec struct {
   213  	types.DynamicData
   214  
   215  	VolumeId CnsVolumeId                  `xml:"volumeId" json:"volumeId"`
   216  	Vm       types.ManagedObjectReference `xml:"vm" json:"vm"`
   217  }
   218  
   219  func init() {
   220  	types.Add("CnsVolumeAttachDetachSpec", reflect.TypeOf((*CnsVolumeAttachDetachSpec)(nil)).Elem())
   221  }
   222  
   223  type CnsQueryVolume CnsQueryVolumeRequestType
   224  
   225  func init() {
   226  	types.Add("CnsQueryVolume", reflect.TypeOf((*CnsQueryVolume)(nil)).Elem())
   227  }
   228  
   229  type CnsQueryVolumeRequestType struct {
   230  	This   types.ManagedObjectReference `xml:"_this" json:"-"`
   231  	Filter CnsQueryFilter               `xml:"filter" json:"filter"`
   232  }
   233  
   234  func init() {
   235  	types.Add("CnsQueryVolumeRequestType", reflect.TypeOf((*CnsQueryVolumeRequestType)(nil)).Elem())
   236  }
   237  
   238  type CnsQueryVolumeResponse struct {
   239  	Returnval CnsQueryResult `xml:"returnval" json:"returnval"`
   240  }
   241  
   242  type CnsQueryVolumeInfo CnsQueryVolumeInfoRequestType
   243  
   244  func init() {
   245  	types.Add("CnsQueryVolumeInfo", reflect.TypeOf((*CnsQueryVolumeInfo)(nil)).Elem())
   246  }
   247  
   248  type CnsQueryVolumeInfoRequestType struct {
   249  	This      types.ManagedObjectReference `xml:"_this" json:"-"`
   250  	VolumeIds []CnsVolumeId                `xml:"volumes" json:"volumeIds"`
   251  }
   252  
   253  type CnsQueryVolumeInfoResponse struct {
   254  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
   255  }
   256  
   257  type CnsQueryAllVolume CnsQueryAllVolumeRequestType
   258  
   259  func init() {
   260  	types.Add("CnsQueryAllVolume", reflect.TypeOf((*CnsQueryAllVolume)(nil)).Elem())
   261  }
   262  
   263  type CnsQueryAllVolumeRequestType struct {
   264  	This      types.ManagedObjectReference `xml:"_this" json:"-"`
   265  	Filter    CnsQueryFilter               `xml:"filter" json:"filter"`
   266  	Selection CnsQuerySelection            `xml:"selection" json:"selection"`
   267  }
   268  
   269  func init() {
   270  	types.Add("CnsQueryAllVolumeRequestType", reflect.TypeOf((*CnsQueryVolumeRequestType)(nil)).Elem())
   271  }
   272  
   273  type CnsQueryAllVolumeResponse struct {
   274  	Returnval CnsQueryResult `xml:"returnval" json:"returnval"`
   275  }
   276  
   277  type CnsContainerCluster struct {
   278  	types.DynamicData
   279  
   280  	ClusterType         string `xml:"clusterType" json:"clusterType"`
   281  	ClusterId           string `xml:"clusterId" json:"clusterId"`
   282  	VSphereUser         string `xml:"vSphereUser" json:"vSphereUser"`
   283  	ClusterFlavor       string `xml:"clusterFlavor,omitempty" json:"clusterFlavor"`
   284  	ClusterDistribution string `xml:"clusterDistribution,omitempty" json:"clusterDistribution"`
   285  	Delete              bool   `xml:"delete,omitempty" json:"delete"`
   286  }
   287  
   288  func init() {
   289  	types.Add("CnsContainerCluster", reflect.TypeOf((*CnsContainerCluster)(nil)).Elem())
   290  }
   291  
   292  type CnsVolume struct {
   293  	types.DynamicData
   294  
   295  	VolumeId                     CnsVolumeId                 `xml:"volumeId" json:"volumeId"`
   296  	DatastoreUrl                 string                      `xml:"datastoreUrl,omitempty" json:"datastoreUrl"`
   297  	Name                         string                      `xml:"name,omitempty" json:"name"`
   298  	VolumeType                   string                      `xml:"volumeType,omitempty" json:"volumeType"`
   299  	StoragePolicyId              string                      `xml:"storagePolicyId,omitempty" json:"storagePolicyId"`
   300  	Metadata                     CnsVolumeMetadata           `xml:"metadata,omitempty" json:"metadata"`
   301  	BackingObjectDetails         BaseCnsBackingObjectDetails `xml:"backingObjectDetails,omitempty" json:"backingObjectDetails"`
   302  	ComplianceStatus             string                      `xml:"complianceStatus,omitempty" json:"complianceStatus"`
   303  	DatastoreAccessibilityStatus string                      `xml:"datastoreAccessibilityStatus,omitempty" json:"datastoreAccessibilityStatus"`
   304  	HealthStatus                 string                      `xml:"healthStatus,omitempty" json:"healthStatus"`
   305  }
   306  
   307  func init() {
   308  	types.Add("CnsVolume", reflect.TypeOf((*CnsVolume)(nil)).Elem())
   309  }
   310  
   311  type CnsVolumeOperationResult struct {
   312  	types.DynamicData
   313  
   314  	VolumeId CnsVolumeId                 `xml:"volumeId,omitempty" json:"volumeId"`
   315  	Fault    *types.LocalizedMethodFault `xml:"fault,omitempty" json:"fault"`
   316  }
   317  
   318  func init() {
   319  	types.Add("CnsVolumeOperationResult", reflect.TypeOf((*CnsVolumeOperationResult)(nil)).Elem())
   320  }
   321  
   322  type CnsVolumeOperationBatchResult struct {
   323  	types.DynamicData
   324  
   325  	VolumeResults []BaseCnsVolumeOperationResult `xml:"volumeResults,omitempty,typeattr" json:"volumeResults"`
   326  }
   327  
   328  func init() {
   329  	types.Add("CnsVolumeOperationBatchResult", reflect.TypeOf((*CnsVolumeOperationBatchResult)(nil)).Elem())
   330  }
   331  
   332  type CnsPlacementResult struct {
   333  	Datastore       types.ManagedObjectReference  `xml:"datastore,omitempty" json:"datastore"`
   334  	PlacementFaults []*types.LocalizedMethodFault `xml:"placementFaults,omitempty" json:"placementFaults"`
   335  }
   336  
   337  func init() {
   338  	types.Add("CnsPlacementResult", reflect.TypeOf((*CnsPlacementResult)(nil)).Elem())
   339  }
   340  
   341  type CnsVolumeCreateResult struct {
   342  	CnsVolumeOperationResult
   343  	Name             string               `xml:"name,omitempty" json:"name"`
   344  	PlacementResults []CnsPlacementResult `xml:"placementResults,omitempty" json:"placementResults"`
   345  }
   346  
   347  func init() {
   348  	types.Add("CnsVolumeCreateResult", reflect.TypeOf((*CnsVolumeCreateResult)(nil)).Elem())
   349  }
   350  
   351  type CnsVolumeAttachResult struct {
   352  	CnsVolumeOperationResult
   353  
   354  	DiskUUID string `xml:"diskUUID,omitempty" json:"diskUUID"`
   355  }
   356  
   357  func init() {
   358  	types.Add("CnsVolumeAttachResult", reflect.TypeOf((*CnsVolumeAttachResult)(nil)).Elem())
   359  }
   360  
   361  type CnsVolumeId struct {
   362  	types.DynamicData
   363  
   364  	Id string `xml:"id" json:"id"`
   365  }
   366  
   367  func init() {
   368  	types.Add("CnsVolumeId", reflect.TypeOf((*CnsVolumeId)(nil)).Elem())
   369  }
   370  
   371  type CnsBackingObjectDetails struct {
   372  	types.DynamicData
   373  
   374  	CapacityInMb int64 `xml:"capacityInMb,omitempty" json:"capacityInMb"`
   375  }
   376  
   377  func init() {
   378  	types.Add("CnsBackingObjectDetails", reflect.TypeOf((*CnsBackingObjectDetails)(nil)).Elem())
   379  }
   380  
   381  type CnsBlockBackingDetails struct {
   382  	CnsBackingObjectDetails
   383  
   384  	BackingDiskId                  string `xml:"backingDiskId,omitempty" json:"backingDiskId"`
   385  	BackingDiskUrlPath             string `xml:"backingDiskUrlPath,omitempty" json:"backingDiskUrlPath"`
   386  	BackingDiskObjectId            string `xml:"backingDiskObjectId,omitempty" json:"backingDiskObjectId"`
   387  	AggregatedSnapshotCapacityInMb int64  `xml:"aggregatedSnapshotCapacityInMb,omitempty" json:"aggregatedSnapshotCapacityInMb"`
   388  	BackingDiskPath                string `xml:"backingDiskPath,omitempty" json:"backingDiskPath"`
   389  }
   390  
   391  func init() {
   392  	types.Add("CnsBlockBackingDetails", reflect.TypeOf((*CnsBlockBackingDetails)(nil)).Elem())
   393  }
   394  
   395  type CnsFileBackingDetails struct {
   396  	CnsBackingObjectDetails
   397  
   398  	BackingFileId string `xml:"backingFileId,omitempty" json:"backingFileId"`
   399  }
   400  
   401  func init() {
   402  	types.Add("CnsFileBackingDetails", reflect.TypeOf((*CnsFileBackingDetails)(nil)).Elem())
   403  }
   404  
   405  type CnsVsanFileShareBackingDetails struct {
   406  	CnsFileBackingDetails
   407  
   408  	Name         string           `xml:"name,omitempty" json:"name"`
   409  	AccessPoints []types.KeyValue `xml:"accessPoints,omitempty" json:"accessPoints"`
   410  }
   411  
   412  func init() {
   413  	types.Add("CnsVsanFileShareBackingDetails", reflect.TypeOf((*CnsVsanFileShareBackingDetails)(nil)).Elem())
   414  }
   415  
   416  type CnsBaseCreateSpec struct {
   417  	types.DynamicData
   418  }
   419  
   420  func init() {
   421  	types.Add("CnsBaseCreateSpec", reflect.TypeOf((*CnsBaseCreateSpec)(nil)).Elem())
   422  }
   423  
   424  type CnsFileCreateSpec struct {
   425  	CnsBaseCreateSpec
   426  }
   427  
   428  func init() {
   429  	types.Add("CnsFileCreateSpec", reflect.TypeOf((*CnsFileCreateSpec)(nil)).Elem())
   430  }
   431  
   432  type CnsVSANFileCreateSpec struct {
   433  	CnsFileCreateSpec
   434  	SoftQuotaInMb int64                                    `xml:"softQuotaInMb,omitempty" json:"softQuotaInMb"`
   435  	Permission    []vsanfstypes.VsanFileShareNetPermission `xml:"permission,omitempty,typeattr" json:"permission"`
   436  }
   437  
   438  func init() {
   439  	types.Add("CnsVSANFileCreateSpec", reflect.TypeOf((*CnsVSANFileCreateSpec)(nil)).Elem())
   440  }
   441  
   442  type CnsQueryFilter struct {
   443  	types.DynamicData
   444  
   445  	VolumeIds                    []CnsVolumeId                  `xml:"volumeIds,omitempty" json:"volumeIds"`
   446  	Names                        []string                       `xml:"names,omitempty" json:"names"`
   447  	ContainerClusterIds          []string                       `xml:"containerClusterIds,omitempty" json:"containerClusterIds"`
   448  	StoragePolicyId              string                         `xml:"storagePolicyId,omitempty" json:"storagePolicyId"`
   449  	Datastores                   []types.ManagedObjectReference `xml:"datastores,omitempty" json:"datastores"`
   450  	Labels                       []types.KeyValue               `xml:"labels,omitempty" json:"labels"`
   451  	ComplianceStatus             string                         `xml:"complianceStatus,omitempty" json:"complianceStatus"`
   452  	DatastoreAccessibilityStatus string                         `xml:"datastoreAccessibilityStatus,omitempty" json:"datastoreAccessibilityStatus"`
   453  	Cursor                       *CnsCursor                     `xml:"cursor,omitempty" json:"cursor"`
   454  	HealthStatus                 string                         `xml:"healthStatus,omitempty" json:"healthStatus"`
   455  }
   456  
   457  func init() {
   458  	types.Add("CnsQueryFilter", reflect.TypeOf((*CnsQueryFilter)(nil)).Elem())
   459  }
   460  
   461  type CnsQuerySelection struct {
   462  	types.DynamicData
   463  
   464  	Names []string `xml:"names,omitempty" json:"names"`
   465  }
   466  
   467  type CnsQueryResult struct {
   468  	types.DynamicData
   469  
   470  	Volumes []CnsVolume `xml:"volumes,omitempty" json:"volumes"`
   471  	Cursor  CnsCursor   `xml:"cursor" json:"cursor"`
   472  }
   473  
   474  func init() {
   475  	types.Add("CnsQueryResult", reflect.TypeOf((*CnsQueryResult)(nil)).Elem())
   476  }
   477  
   478  type CnsVolumeInfo struct {
   479  	types.DynamicData
   480  }
   481  
   482  func init() {
   483  	types.Add("CnsVolumeInfo", reflect.TypeOf((*CnsVolumeInfo)(nil)).Elem())
   484  }
   485  
   486  type CnsBlockVolumeInfo struct {
   487  	CnsVolumeInfo
   488  
   489  	VStorageObject types.VStorageObject `xml:"vStorageObject" json:"vStorageObject"`
   490  }
   491  
   492  func init() {
   493  	types.Add("CnsBlockVolumeInfo", reflect.TypeOf((*CnsBlockVolumeInfo)(nil)).Elem())
   494  }
   495  
   496  type CnsQueryVolumeInfoResult struct {
   497  	CnsVolumeOperationResult
   498  
   499  	VolumeInfo BaseCnsVolumeInfo `xml:"volumeInfo,typeattr,omitempty" json:"volumeInfo"`
   500  }
   501  
   502  func init() {
   503  	types.Add("CnsQueryVolumeInfoResult", reflect.TypeOf((*CnsQueryVolumeInfoResult)(nil)).Elem())
   504  }
   505  
   506  type CnsRelocateVolumeRequestType struct {
   507  	This          types.ManagedObjectReference `xml:"_this" json:"-"`
   508  	RelocateSpecs []BaseCnsVolumeRelocateSpec  `xml:"relocateSpecs,typeattr" json:"relocateSpecs"`
   509  }
   510  
   511  func init() {
   512  	types.Add("CnsRelocateVolumeRequestType", reflect.TypeOf((*CnsRelocateVolumeRequestType)(nil)).Elem())
   513  }
   514  
   515  type CnsRelocateVolume CnsRelocateVolumeRequestType
   516  
   517  func init() {
   518  	types.Add("CnsRelocateVolume", reflect.TypeOf((*CnsRelocateVolume)(nil)).Elem())
   519  }
   520  
   521  type CnsRelocateVolumeResponse struct {
   522  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
   523  }
   524  
   525  type CnsVolumeRelocateSpec struct {
   526  	types.DynamicData
   527  
   528  	VolumeId       CnsVolumeId                           `xml:"volumeId" json:"volumeId"`
   529  	Datastore      types.ManagedObjectReference          `xml:"datastore" json:"datastore"`
   530  	Profile        []types.BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile"`
   531  	ServiceLocator *types.ServiceLocator                 `xml:"serviceLocator,omitempty" json:"serviceLocator"`
   532  }
   533  
   534  func init() {
   535  	types.Add("CnsVolumeRelocateSpec", reflect.TypeOf((*CnsVolumeRelocateSpec)(nil)).Elem())
   536  }
   537  
   538  type CnsBlockVolumeRelocateSpec struct {
   539  	CnsVolumeRelocateSpec
   540  }
   541  
   542  func NewCnsBlockVolumeRelocateSpec(volumeId string, datastore types.ManagedObjectReference, profile ...types.BaseVirtualMachineProfileSpec) CnsBlockVolumeRelocateSpec {
   543  	cnsVolumeID := CnsVolumeId{
   544  		Id: volumeId,
   545  	}
   546  	volumeSpec := CnsVolumeRelocateSpec{
   547  		VolumeId:  cnsVolumeID,
   548  		Datastore: datastore,
   549  		Profile:   profile,
   550  	}
   551  	blockVolSpec := CnsBlockVolumeRelocateSpec{
   552  		CnsVolumeRelocateSpec: volumeSpec,
   553  	}
   554  	return blockVolSpec
   555  }
   556  
   557  func init() {
   558  	types.Add("CnsBlockVolumeRelocateSpec", reflect.TypeOf((*CnsBlockVolumeRelocateSpec)(nil)).Elem())
   559  }
   560  
   561  type CnsCursor struct {
   562  	types.DynamicData
   563  
   564  	Offset       int64 `xml:"offset" json:"offset"`
   565  	Limit        int64 `xml:"limit" json:"limit"`
   566  	TotalRecords int64 `xml:"totalRecords,omitempty" json:"totalRecords"`
   567  }
   568  
   569  func init() {
   570  	types.Add("CnsCursor", reflect.TypeOf((*CnsCursor)(nil)).Elem())
   571  }
   572  
   573  type CnsFault struct {
   574  	types.BaseMethodFault `xml:"fault,typeattr"`
   575  
   576  	Reason string `xml:"reason,omitempty" json:"reason"`
   577  }
   578  
   579  func init() {
   580  	types.Add("CnsFault", reflect.TypeOf((*CnsFault)(nil)).Elem())
   581  }
   582  
   583  type CnsVolumeNotFoundFault struct {
   584  	CnsFault
   585  
   586  	VolumeId CnsVolumeId `xml:"volumeId" json:"volumeId"`
   587  }
   588  
   589  func init() {
   590  	types.Add("CnsVolumeNotFoundFault", reflect.TypeOf((*CnsVolumeNotFoundFault)(nil)).Elem())
   591  }
   592  
   593  type CnsAlreadyRegisteredFault struct {
   594  	CnsFault `xml:"fault,typeattr"`
   595  
   596  	VolumeId CnsVolumeId `xml:"volumeId,omitempty" json:"volumeId"`
   597  }
   598  
   599  func init() {
   600  	types.Add("CnsAlreadyRegisteredFault", reflect.TypeOf((*CnsAlreadyRegisteredFault)(nil)).Elem())
   601  }
   602  
   603  type CnsSnapshotNotFoundFault struct {
   604  	CnsFault
   605  
   606  	VolumeId   CnsVolumeId   `xml:"volumeId,omitempty" json:"volumeId"`
   607  	SnapshotId CnsSnapshotId `xml:"SnapshotId" json:"snapshotId"`
   608  }
   609  
   610  func init() {
   611  	types.Add("CnsSnapshotNotFoundFault", reflect.TypeOf((*CnsSnapshotNotFoundFault)(nil)).Elem())
   612  }
   613  
   614  type CnsSnapshotCreatedFault struct {
   615  	CnsFault
   616  
   617  	VolumeId   CnsVolumeId                  `xml:"volumeId" json:"volumeId"`
   618  	SnapshotId CnsSnapshotId                `xml:"SnapshotId" json:"snapshotId"`
   619  	Datastore  types.ManagedObjectReference `xml:"datastore" json:"datastore"`
   620  }
   621  
   622  func init() {
   623  	types.Add("CnsSnapshotCreatedFault", reflect.TypeOf((*CnsSnapshotCreatedFault)(nil)).Elem())
   624  }
   625  
   626  type CnsConfigureVolumeACLs CnsConfigureVolumeACLsRequestType
   627  
   628  func init() {
   629  	types.Add("vsan:CnsConfigureVolumeACLs", reflect.TypeOf((*CnsConfigureVolumeACLs)(nil)).Elem())
   630  }
   631  
   632  type CnsConfigureVolumeACLsRequestType struct {
   633  	This           types.ManagedObjectReference `xml:"_this" json:"-"`
   634  	ACLConfigSpecs []CnsVolumeACLConfigureSpec  `xml:"ACLConfigSpecs" json:"aclConfigSpecs"`
   635  }
   636  
   637  func init() {
   638  	types.Add("vsan:CnsConfigureVolumeACLsRequestType", reflect.TypeOf((*CnsConfigureVolumeACLsRequestType)(nil)).Elem())
   639  }
   640  
   641  type CnsConfigureVolumeACLsResponse struct {
   642  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
   643  }
   644  
   645  type CnsVolumeACLConfigureSpec struct {
   646  	types.DynamicData
   647  
   648  	VolumeId              CnsVolumeId               `xml:"volumeId" json:"volumeId"`
   649  	AccessControlSpecList []CnsNFSAccessControlSpec `xml:"accessControlSpecList,typeattr" json:"accessControlSpecList"`
   650  }
   651  
   652  type CnsNFSAccessControlSpec struct {
   653  	types.DynamicData
   654  	Permission []vsanfstypes.VsanFileShareNetPermission `xml:"netPermission,omitempty,typeattr" json:"permission"`
   655  	Delete     bool                                     `xml:"delete,omitempty" json:"delete"`
   656  }
   657  
   658  func init() {
   659  	types.Add("CnsNFSAccessControlSpec", reflect.TypeOf((*CnsNFSAccessControlSpec)(nil)).Elem())
   660  }
   661  
   662  type CnsQueryAsync CnsQueryAsyncRequestType
   663  
   664  func init() {
   665  	types.Add("CnsQueryAsync", reflect.TypeOf((*CnsQueryAsync)(nil)).Elem())
   666  }
   667  
   668  type CnsQueryAsyncRequestType struct {
   669  	This      types.ManagedObjectReference `xml:"_this" json:"-"`
   670  	Filter    CnsQueryFilter               `xml:"filter" json:"filter"`
   671  	Selection *CnsQuerySelection           `xml:"selection,omitempty" json:"selection"`
   672  }
   673  
   674  func init() {
   675  	types.Add("CnsQueryAsyncRequestType", reflect.TypeOf((*CnsQueryAsyncRequestType)(nil)).Elem())
   676  }
   677  
   678  type CnsQueryAsyncResponse struct {
   679  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
   680  }
   681  
   682  type CnsAsyncQueryResult struct {
   683  	CnsVolumeOperationResult
   684  
   685  	QueryResult CnsQueryResult `xml:"queryResult,omitempty" json:"queryResult"`
   686  }
   687  
   688  func init() {
   689  	types.Add("CnsAsyncQueryResult", reflect.TypeOf((*CnsAsyncQueryResult)(nil)).Elem())
   690  }
   691  
   692  // Cns Snapshot Types
   693  
   694  type CnsCreateSnapshotsRequestType struct {
   695  	This          types.ManagedObjectReference `xml:"_this" json:"-"`
   696  	SnapshotSpecs []CnsSnapshotCreateSpec      `xml:"snapshotSpecs,omitempty" json:"snapshotSpecs"`
   697  }
   698  
   699  func init() {
   700  	types.Add("CnsCreateSnapshotsRequestType", reflect.TypeOf((*CnsCreateSnapshotsRequestType)(nil)).Elem())
   701  }
   702  
   703  type CnsCreateSnapshots CnsCreateSnapshotsRequestType
   704  
   705  func init() {
   706  	types.Add("CnsCreateSnapshots", reflect.TypeOf((*CnsCreateSnapshots)(nil)).Elem())
   707  }
   708  
   709  type CnsCreateSnapshotsResponse struct {
   710  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
   711  }
   712  
   713  type CnsSnapshotCreateSpec struct {
   714  	types.DynamicData
   715  
   716  	VolumeId    CnsVolumeId `xml:"volumeId" json:"volumeId"`
   717  	Description string      `xml:"description" json:"description"`
   718  }
   719  
   720  func init() {
   721  	types.Add("CnsSnapshotCreateSpec", reflect.TypeOf((*CnsSnapshotCreateSpec)(nil)).Elem())
   722  }
   723  
   724  type CnsDeleteSnapshotsRequestType struct {
   725  	This                types.ManagedObjectReference `xml:"_this" json:"-"`
   726  	SnapshotDeleteSpecs []CnsSnapshotDeleteSpec      `xml:"snapshotDeleteSpecs,omitempty" json:"snapshotDeleteSpecs"`
   727  }
   728  
   729  func init() {
   730  	types.Add("CnsDeleteSnapshotsRequestType", reflect.TypeOf((*CnsDeleteSnapshotsRequestType)(nil)).Elem())
   731  }
   732  
   733  type CnsDeleteSnapshots CnsDeleteSnapshotsRequestType
   734  
   735  func init() {
   736  	types.Add("CnsDeleteSnapshots", reflect.TypeOf((*CnsDeleteSnapshots)(nil)).Elem())
   737  }
   738  
   739  type CnsDeleteSnapshotsResponse struct {
   740  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
   741  }
   742  
   743  type CnsSnapshotId struct {
   744  	types.DynamicData
   745  
   746  	Id string `xml:"id" json:"id"`
   747  }
   748  
   749  func init() {
   750  	types.Add("CnsSnapshotId", reflect.TypeOf((*CnsSnapshotId)(nil)).Elem())
   751  }
   752  
   753  type CnsSnapshotDeleteSpec struct {
   754  	types.DynamicData
   755  
   756  	VolumeId   CnsVolumeId   `xml:"volumeId" json:"volumeId"`
   757  	SnapshotId CnsSnapshotId `xml:"snapshotId" json:"snapshotId"`
   758  }
   759  
   760  func init() {
   761  	types.Add("CnsSnapshotDeleteSpec", reflect.TypeOf((*CnsSnapshotDeleteSpec)(nil)).Elem())
   762  }
   763  
   764  type CnsSnapshot struct {
   765  	types.DynamicData
   766  
   767  	SnapshotId  CnsSnapshotId `xml:"snapshotId" json:"snapshotId"`
   768  	VolumeId    CnsVolumeId   `xml:"volumeId" json:"volumeId"`
   769  	Description string        `xml:"description,omitempty" json:"description"`
   770  	CreateTime  time.Time     `xml:"createTime" json:"createTime"`
   771  }
   772  
   773  func init() {
   774  	types.Add("CnsSnapshot", reflect.TypeOf((*CnsSnapshot)(nil)).Elem())
   775  }
   776  
   777  type CnsSnapshotOperationResult struct {
   778  	CnsVolumeOperationResult
   779  }
   780  
   781  func init() {
   782  	types.Add("CnsSnapshotOperationResult", reflect.TypeOf((*CnsSnapshotOperationResult)(nil)).Elem())
   783  }
   784  
   785  type CnsSnapshotCreateResult struct {
   786  	CnsSnapshotOperationResult
   787  	Snapshot                       CnsSnapshot `xml:"snapshot,omitempty" json:"snapshot"`
   788  	AggregatedSnapshotCapacityInMb int64       `xml:"aggregatedSnapshotCapacityInMb,omitempty" json:"aggregatedSnapshotCapacityInMb"`
   789  }
   790  
   791  func init() {
   792  	types.Add("CnsSnapshotCreateResult", reflect.TypeOf((*CnsSnapshotCreateResult)(nil)).Elem())
   793  }
   794  
   795  type CnsSnapshotDeleteResult struct {
   796  	CnsSnapshotOperationResult
   797  	SnapshotId                     CnsSnapshotId `xml:"snapshotId,omitempty" json:"snapshotId"`
   798  	AggregatedSnapshotCapacityInMb int64         `xml:"aggregatedSnapshotCapacityInMb,omitempty" json:"aggregatedSnapshotCapacityInMb"`
   799  }
   800  
   801  func init() {
   802  	types.Add("CnsSnapshotDeleteResult", reflect.TypeOf((*CnsSnapshotDeleteResult)(nil)).Elem())
   803  }
   804  
   805  type CnsVolumeSource struct {
   806  	types.DynamicData
   807  }
   808  
   809  func init() {
   810  	types.Add("CnsVolumeSource", reflect.TypeOf((*CnsVolumeSource)(nil)).Elem())
   811  }
   812  
   813  type CnsSnapshotVolumeSource struct {
   814  	CnsVolumeSource
   815  
   816  	VolumeId   CnsVolumeId   `xml:"volumeId,omitempty" json:"volumeId"`
   817  	SnapshotId CnsSnapshotId `xml:"snapshotId,omitempty" json:"snapshotId"`
   818  }
   819  
   820  func init() {
   821  	types.Add("CnsSnapshotVolumeSource", reflect.TypeOf((*CnsSnapshotVolumeSource)(nil)).Elem())
   822  }
   823  
   824  // CNS QuerySnapshots related types
   825  
   826  type CnsQuerySnapshotsRequestType struct {
   827  	This                types.ManagedObjectReference `xml:"_this" json:"-"`
   828  	SnapshotQueryFilter CnsSnapshotQueryFilter       `xml:"snapshotQueryFilter" json:"snapshotQueryFilter"`
   829  }
   830  
   831  func init() {
   832  	types.Add("CnsQuerySnapshotsRequestType", reflect.TypeOf((*CnsQuerySnapshotsRequestType)(nil)).Elem())
   833  }
   834  
   835  type CnsQuerySnapshots CnsQuerySnapshotsRequestType
   836  
   837  func init() {
   838  	types.Add("CnsQuerySnapshots", reflect.TypeOf((*CnsQuerySnapshots)(nil)).Elem())
   839  }
   840  
   841  type CnsQuerySnapshotsResponse struct {
   842  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
   843  }
   844  
   845  type CnsSnapshotQueryResult struct {
   846  	types.DynamicData
   847  
   848  	Entries []CnsSnapshotQueryResultEntry `xml:"entries,omitempty" json:"entries"`
   849  	Cursor  CnsCursor                     `xml:"cursor" json:"cursor"`
   850  }
   851  
   852  func init() {
   853  	types.Add("CnsSnapshotQueryResult", reflect.TypeOf((*CnsSnapshotQueryResult)(nil)).Elem())
   854  }
   855  
   856  type CnsSnapshotQueryResultEntry struct {
   857  	types.DynamicData
   858  
   859  	Snapshot CnsSnapshot                 `xml:"snapshot,omitempty" json:"snapshot"`
   860  	Error    *types.LocalizedMethodFault `xml:"error,omitempty" json:"error"`
   861  }
   862  
   863  func init() {
   864  	types.Add("CnsSnapshotQueryResultEntry", reflect.TypeOf((*CnsSnapshotQueryResultEntry)(nil)).Elem())
   865  }
   866  
   867  type CnsSnapshotQueryFilter struct {
   868  	types.DynamicData
   869  
   870  	SnapshotQuerySpecs []CnsSnapshotQuerySpec `xml:"snapshotQuerySpecs,omitempty" json:"snapshotQuerySpecs"`
   871  	Cursor             *CnsCursor             `xml:"cursor,omitempty" json:"cursor"`
   872  }
   873  
   874  func init() {
   875  	types.Add("CnsSnapshotQueryFilter", reflect.TypeOf((*CnsSnapshotQueryFilter)(nil)).Elem())
   876  }
   877  
   878  type CnsSnapshotQuerySpec struct {
   879  	types.DynamicData
   880  
   881  	VolumeId   CnsVolumeId    `xml:"volumeId" json:"volumeId"`
   882  	SnapshotId *CnsSnapshotId `xml:"snapshotId,omitempty" json:"snapshotId"`
   883  }
   884  
   885  func init() {
   886  	types.Add("CnsSnapshotQuerySpec", reflect.TypeOf((*CnsSnapshotQuerySpec)(nil)).Elem())
   887  }
   888  
   889  type CnsReconfigVolumePolicy CnsReconfigVolumePolicyRequestType
   890  
   891  func init() {
   892  	types.Add("vsan:CnsReconfigVolumePolicy", reflect.TypeOf((*CnsReconfigVolumePolicy)(nil)).Elem())
   893  }
   894  
   895  type CnsReconfigVolumePolicyRequestType struct {
   896  	This                      types.ManagedObjectReference  `xml:"_this" json:"-"`
   897  	VolumePolicyReconfigSpecs []CnsVolumePolicyReconfigSpec `xml:"volumePolicyReconfigSpecs,omitempty" json:"volumePolicyReconfigSpecs"`
   898  }
   899  
   900  func init() {
   901  	types.Add("vsan:CnsReconfigVolumePolicyRequestType", reflect.TypeOf((*CnsReconfigVolumePolicyRequestType)(nil)).Elem())
   902  }
   903  
   904  type CnsReconfigVolumePolicyResponse struct {
   905  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
   906  }
   907  
   908  type CnsVolumePolicyReconfigSpec struct {
   909  	types.DynamicData
   910  
   911  	VolumeId CnsVolumeId                           `xml:"volumeId" json:"volumeId"`
   912  	Profile  []types.BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile"`
   913  }
   914  
   915  func init() {
   916  	types.Add("vsan:CnsVolumePolicyReconfigSpec", reflect.TypeOf((*CnsVolumePolicyReconfigSpec)(nil)).Elem())
   917  }
   918  
   919  type CnsSyncDatastore CnsSyncDatastoreRequestType
   920  
   921  func init() {
   922  	types.Add("vsan:CnsSyncDatastore", reflect.TypeOf((*CnsSyncDatastore)(nil)).Elem())
   923  }
   924  
   925  type CnsSyncDatastoreRequestType struct {
   926  	This         types.ManagedObjectReference `xml:"_this" json:"-"`
   927  	DatastoreUrl string                       `xml:"datastoreUrl,omitempty" json:"datastoreUrl"`
   928  	FullSync     *bool                        `xml:"fullSync" json:"fullSync"`
   929  }
   930  
   931  func init() {
   932  	types.Add("vsan:CnsSyncDatastoreRequestType", reflect.TypeOf((*CnsSyncDatastoreRequestType)(nil)).Elem())
   933  }
   934  
   935  type CnsSyncDatastoreResponse struct {
   936  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
   937  }