from pyVmomi.VmomiSupport import CreateDataType,  CreateManagedType,  CreateEnumType,  AddVersion,  AddVersionParent,  F_LINK,  F_LINKABLE,  F_OPTIONAL

import pyVmomi
pyVmomi.sms = pyVmomi.VmomiSupport.LazyModule('sms')
if hasattr(pyVmomi.VmomiSupport, "_urnMap"):
    pyVmomi.VmomiSupport._urnMap["sms"] = "urn:sms"

AddVersion("sms.version.version4",  "sms",  "2.0",  0,  "sms")

AddVersionParent("sms.version.version4", "vim.version.version1")
AddVersionParent("sms.version.version4", "vim.version.version2")
AddVersionParent("sms.version.version4", "vim.version.version3")
AddVersionParent("sms.version.version4", "vim.version.version4")
AddVersionParent("sms.version.version4", "vim.version.version5")
AddVersionParent("sms.version.version4", "vim.version.version6")
AddVersionParent("sms.version.version4", "vim.version.version7")
AddVersionParent("sms.version.version4", "vim.version.version8")
AddVersionParent("sms.version.version4", "sms.version.version4")
AddVersionParent("sms.version.version4", "vmodl.query.version.version1")
AddVersionParent("sms.version.version4", "vmodl.query.version.version2")
AddVersionParent("sms.version.version4", "vmodl.query.version.version3")
AddVersionParent("sms.version.version4", "vmodl.query.version.version4")
AddVersionParent("sms.version.version4", "vmodl.reflect.version.version1")
AddVersionParent("sms.version.version4", "vmodl.version.version0")
AddVersionParent("sms.version.version4", "vmodl.version.version1")
AddVersionParent("sms.version.version4", "vmodl.version.version2")

CreateManagedType("sms.provider.VasaProvider", "VasaProvider", "sms.provider.Provider", "sms.version.version4", [], [("VasaProviderSync_Task",  "VasaProviderSync_Task",  "sms.version.version4",  (("arrayId",  "string",  "sms.version.version4",  F_OPTIONAL,  None), ),  (0,  "sms.Task",  "sms.Task"),  "StorageViews.View",  ["vmodl.fault.InvalidArgument",  "sms.fault.ProviderSyncFailed",  "vmodl.RuntimeFault"])])
CreateManagedType("sms.Task", "SmsTask", "vmodl.ManagedObject", "sms.version.version4", [], [("QuerySmsTaskInfo",  "QuerySmsTaskInfo",  "sms.version.version4",  (),  (0,  "sms.TaskInfo",  "sms.TaskInfo"),  "StorageViews.View",  ["vmodl.RuntimeFault"]), ("QuerySmsTaskResult",  "QuerySmsTaskResult",  "sms.version.version4",  (),  (0,  "anyType",  "anyType"),  "StorageViews.View",  ["vmodl.RuntimeFault"])])
CreateManagedType("sms.StorageManager", "SmsStorageManager", "vmodl.ManagedObject", "sms.version.version4", [], [("QueryArray",  "QueryArray",  "sms.version.version4",  (("providerId",  "string[]",  "sms.version.version4",  F_OPTIONAL,  None), ),  (0,  "sms.storage.StorageArray[]",  "sms.storage.StorageArray[]"),  "StorageViews.View",  ["vim.fault.NotFound",  "sms.fault.QueryExecutionFault",  "vmodl.RuntimeFault"]), ("QueryArrayAssociatedWithLun",  "QueryArrayAssociatedWithLun",  "sms.version.version4",  (("canonicalName",  "string",  "sms.version.version4",  0,  None), ),  (0,  "sms.storage.StorageArray",  "sms.storage.StorageArray"),  "StorageViews.View",  ["vim.fault.NotFound",  "sms.fault.QueryExecutionFault",  "vmodl.RuntimeFault"]), ("QueryDatastoreCapability",  "QueryDatastoreCapability",  "sms.version.version4",  (("datastore",  "vim.Datastore",  "sms.version.version4",  0,  None), ),  (0,  "sms.storage.StorageCapability",  "sms.storage.StorageCapability"),  "StorageViews.View",  ["vim.fault.NotFound",  "sms.fault.QueryExecutionFault",  "vmodl.RuntimeFault"]), ("QueryDrsMigrationCapabilityForPerformance",  "QueryDrsMigrationCapabilityForPerformance",  "sms.version.version4",  (("srcDatastore",  "vim.Datastore",  "sms.version.version4",  0,  None), ("dstDatastore",  "vim.Datastore",  "sms.version.version4",  0,  None), ),  (0,  "boolean",  "boolean"),  "StorageViews.View",  ["vim.fault.NotFound",  "sms.fault.QueryExecutionFault",  "vmodl.RuntimeFault"]), ("QueryDrsMigrationCapabilityForPerformanceEx",  "QueryDrsMigrationCapabilityForPerformanceEx",  "sms.version.version4",  (("datastore",  "vim.Datastore[]",  "sms.version.version4",  0,  None), ),  (0,  "sms.storage.DrsMigrationCapabilityResult",  "sms.storage.DrsMigrationCapabilityResult"),  "StorageViews.View",  ["vim.fault.NotFound",  "sms.fault.QueryExecutionFault",  "vmodl.RuntimeFault"]), ("QueryFileSystemAssociatedWithArray",  "QueryFileSystemAssociatedWithArray",  "sms.version.version4",  (("arrayId",  "string",  "sms.version.version4",  0,  None), ),  (0,  "sms.storage.StorageFileSystem[]",  "sms.storage.StorageFileSystem[]"),  "StorageViews.View",  ["vim.fault.NotFound",  "sms.fault.QueryExecutionFault",  "vmodl.RuntimeFault"]), ("QueryHostAssociatedWithLun",  "QueryHostAssociatedWithLun",  "sms.version.version4",  (("scsi3Id",  "string",  "sms.version.version4",  0,  None), ("arrayId",  "string",  "sms.version.version4",  0,  None), ),  (0,  "vim.HostSystem[]",  "vim.HostSystem[]"),  "StorageViews.View",  ["vim.fault.NotFound",  "sms.fault.QueryExecutionFault",  "vmodl.RuntimeFault"]), ("QueryLunAssociatedWithArray",  "QueryLunAssociatedWithArray",  "sms.version.version4",  (("arrayId",  "string",  "sms.version.version4",  0,  None), ),  (0,  "sms.storage.StorageLun[]",  "sms.storage.StorageLun[]"),  "StorageViews.View",  ["vim.fault.NotFound",  "sms.fault.QueryExecutionFault",  "vmodl.RuntimeFault"]), ("QueryLunAssociatedWithPort",  "QueryLunAssociatedWithPort",  "sms.version.version4",  (("portId",  "string",  "sms.version.version4",  0,  None), ("arrayId",  "string",  "sms.version.version4",  0,  None), ),  (0,  "sms.storage.StorageLun[]",  "sms.storage.StorageLun[]"),  "StorageViews.View",  ["vim.fault.NotFound",  "sms.fault.QueryExecutionFault",  "vmodl.RuntimeFault"]), ("QueryNfsDatastoreAssociatedWithFileSystem",  "QueryNfsDatastoreAssociatedWithFileSystem",  "sms.version.version4",  (("fileSystemId",  "string",  "sms.version.version4",  0,  None), ("arrayId",  "string",  "sms.version.version4",  0,  None), ),  (0,  "vim.Datastore",  "vim.Datastore"),  "StorageViews.View",  ["vim.fault.NotFound",  "sms.fault.QueryExecutionFault",  "vmodl.RuntimeFault"]), ("QueryPortAssociatedWithArray",  "QueryPortAssociatedWithArray",  "sms.version.version4",  (("arrayId",  "string",  "sms.version.version4",  0,  None), ),  (0,  "sms.storage.StoragePort[]",  "sms.storage.StoragePort[]"),  "StorageViews.View",  ["vim.fault.NotFound",  "sms.fault.QueryExecutionFault",  "vmodl.RuntimeFault"]), ("QueryPortAssociatedWithLun",  "QueryPortAssociatedWithLun",  "sms.version.version4",  (("scsi3Id",  "string",  "sms.version.version4",  0,  None), ("arrayId",  "string",  "sms.version.version4",  0,  None), ),  (0,  "sms.storage.StoragePort",  "sms.storage.StoragePort"),  "StorageViews.View",  ["vim.fault.NotFound",  "sms.fault.QueryExecutionFault",  "vmodl.RuntimeFault"]), ("QueryPortAssociatedWithProcessor",  "QueryPortAssociatedWithProcessor",  "sms.version.version4",  (("processorId",  "string",  "sms.version.version4",  0,  None), ("arrayId",  "string",  "sms.version.version4",  0,  None), ),  (0,  "sms.storage.StoragePort[]",  "sms.storage.StoragePort[]"),  "StorageViews.View",  ["vim.fault.NotFound",  "sms.fault.QueryExecutionFault",  "vmodl.RuntimeFault"]), ("QueryProcessorAssociatedWithArray",  "QueryProcessorAssociatedWithArray",  "sms.version.version4",  (("arrayId",  "string",  "sms.version.version4",  0,  None), ),  (0,  "sms.storage.StorageProcessor[]",  "sms.storage.StorageProcessor[]"),  "StorageViews.View",  ["vim.fault.NotFound",  "sms.fault.QueryExecutionFault",  "vmodl.RuntimeFault"]), ("QueryProvider",  "QueryProvider",  "sms.version.version4",  (),  (0,  "sms.provider.Provider[]",  "sms.provider.Provider[]"),  "StorageViews.View",  ["sms.fault.QueryExecutionFault",  "vmodl.RuntimeFault"]), ("QueryVmfsDatastoreAssociatedWithLun",  "QueryVmfsDatastoreAssociatedWithLun",  "sms.version.version4",  (("scsi3Id",  "string",  "sms.version.version4",  0,  None), ("arrayId",  "string",  "sms.version.version4",  0,  None), ),  (0,  "vim.Datastore",  "vim.Datastore"),  "StorageViews.View",  ["vim.fault.NotFound",  "sms.fault.QueryExecutionFault",  "vmodl.RuntimeFault"]), ("RegisterProvider_Task",  "RegisterProvider_Task",  "sms.version.version4",  (("providerSpec",  "sms.provider.ProviderSpec",  "sms.version.version4",  0,  None), ),  (0,  "sms.Task",  "sms.Task"),  "StorageViews.View",  ["vim.fault.AlreadyExists",  "vmodl.fault.InvalidArgument",  "sms.fault.ProviderRegistrationFault",  "vmodl.RuntimeFault"]), ("UnregisterProvider_Task",  "UnregisterProvider_Task",  "sms.version.version4",  (("providerId",  "string",  "sms.version.version4",  0,  None), ),  (0,  "sms.Task",  "sms.Task"),  "StorageViews.View",  ["vmodl.fault.InvalidArgument",  "vim.fault.NotFound",  "sms.fault.ProviderUnregistrationFault",  "vmodl.RuntimeFault"])])
CreateManagedType("sms.ServiceInstance", "SmsServiceInstance", "vmodl.ManagedObject", "sms.version.version4", [], [("ConfigureSyncInterval",  "ConfigureSyncInterval",  "sms.version.version4",  (("interval",  "int",  "sms.version.version4",  0,  None), ),  (0,  "void",  "void"),  "StorageViews.ConfigureService",  ["vmodl.fault.InvalidArgument",  "vmodl.RuntimeFault"]), ("QueryAboutInfo",  "QueryAboutInfo",  "sms.version.version4",  (),  (0,  "sms.AboutInfo",  "sms.AboutInfo"),  "StorageViews.ConfigureService",  ["vmodl.RuntimeFault"]), ("QueryList",  "QueryList",  "sms.version.version4",  (("contextEntity",  "sms.EntityReference",  "sms.version.version4",  F_OPTIONAL,  None), ("queryEntityType",  "sms.EntityReference.EntityType",  "sms.version.version4",  0,  None), ("querySpec",  "sms.list.QuerySpec",  "sms.version.version4",  F_OPTIONAL,  None), ),  (0,  "sms.list.QueryResult",  "sms.list.QueryResult"),  "StorageViews.ConfigureService",  ["sms.fault.EntityNotFound",  "vmodl.fault.InvalidArgument",  "sms.fault.QueryExecutionFault",  "vmodl.RuntimeFault"]), ("QueryStorageManager",  "QueryStorageManager",  "sms.version.version4",  (),  (0,  "sms.StorageManager",  "sms.StorageManager"),  "StorageViews.ConfigureService",  ["vmodl.RuntimeFault"]), ("QueryTopology",  "QueryTopology",  "sms.version.version4",  (("entity",  "sms.EntityReference",  "sms.version.version4",  0,  None), ),  (0,  "sms.topology.Map",  "sms.topology.Map"),  "StorageViews.ConfigureService",  ["sms.fault.EntityNotFound",  "vmodl.fault.InvalidArgument",  "sms.fault.QueryExecutionFault",  "vmodl.RuntimeFault"]), ("Sync",  "Sync",  "sms.version.version4",  (),  (0,  "void",  "void"),  "StorageViews.ConfigureService",  ["sms.fault.DbConfigFailed",  "sms.fault.ProviderSyncFailed",  "vmodl.RuntimeFault"]), ("UpdateVcDbConnectionInfo",  "UpdateVcDbConnectionInfo",  "sms.version.version4",  (("dbConnectionSpec",  "sms.DbConnectionSpec",  "sms.version.version4",  F_OPTIONAL,  None), ),  (0,  "void",  "void"),  "StorageViews.ConfigureService",  ["vmodl.fault.InvalidArgument",  "vmodl.RuntimeFault"])])
CreateManagedType("sms.provider.Provider", "SmsProvider", "vmodl.ManagedObject", "sms.version.version4", [], [("QueryProviderInfo",  "QueryProviderInfo",  "sms.version.version4",  (),  (0,  "sms.provider.ProviderInfo",  "sms.provider.ProviderInfo"),  "StorageViews.View",  ["vmodl.RuntimeFault"])])
CreateDataType("sms.topology.NodeProperty", "NodeProperty", "vmodl.DynamicData", "sms.version.version4", [("name",  "string",  "sms.version.version4",  0), ("value",  "string",  "sms.version.version4",  F_OPTIONAL)])
CreateDataType("sms.list.QueryResult", "QueryResult", "vmodl.DynamicData", "sms.version.version4", [("metadata",  "sms.list.Metadata",  "sms.version.version4",  0), ("row",  "sms.list.RowData[]",  "sms.version.version4",  F_OPTIONAL)])
CreateDataType("sms.storage.FileSystemInfo", "StorageFileSystemInfo", "vmodl.DynamicData", "sms.version.version4", [("fileServerName",  "string",  "sms.version.version4",  0), ("fileSystemPath",  "string",  "sms.version.version4",  0), ("ipAddress",  "string",  "sms.version.version4",  F_OPTIONAL)])
CreateDataType("sms.DbConnectionSpec", "DbConnectionSpec", "vmodl.DynamicData", "sms.version.version4", [("password",  "string",  "sms.version.version4",  0), ("url",  "string",  "sms.version.version4",  0), ("username",  "string",  "sms.version.version4",  0)])
CreateDataType("sms.EntityReference", "EntityReference", "vmodl.DynamicData", "sms.version.version4", [("id",  "string",  "sms.version.version4",  0), ("type",  "sms.EntityReference.EntityType",  "sms.version.version4",  F_OPTIONAL)])
CreateDataType("sms.provider.VasaProviderInfo.SupportedVendorModelMapping", "SupportedVendorModelMapping", "vmodl.DynamicData", "sms.version.version4", [("modelId",  "string",  "sms.version.version4",  F_OPTIONAL), ("vendorId",  "string",  "sms.version.version4",  F_OPTIONAL)])
CreateDataType("sms.TaskInfo", "SmsTaskInfo", "vmodl.DynamicData", "sms.version.version4", [("completionTime",  "vmodl.DateTime",  "sms.version.version4",  F_OPTIONAL), ("error",  "vmodl.MethodFault",  "sms.version.version4",  F_OPTIONAL), ("key",  "string",  "sms.version.version4",  0), ("object",  "vmodl.ManagedObject",  "sms.version.version4",  F_OPTIONAL), ("progress",  "int",  "sms.version.version4",  F_OPTIONAL), ("result",  "anyType",  "sms.version.version4",  F_OPTIONAL), ("startTime",  "vmodl.DateTime",  "sms.version.version4",  F_OPTIONAL), ("state",  "string",  "sms.version.version4",  0), ("task",  "sms.Task",  "sms.version.version4",  0)])
CreateDataType("sms.storage.FcStoragePort", "FcStoragePort", "sms.storage.StoragePort", "sms.version.version4", [("nodeWwn",  "string",  "sms.version.version4",  0), ("portWwn",  "string",  "sms.version.version4",  0)])
CreateDataType("sms.storage.DrsMigrationCapabilityResult", "DrsMigrationCapabilityResult", "vmodl.DynamicData", "sms.version.version4", [("nonRecommendedDatastorePair",  "sms.storage.DatastorePair[]",  "sms.version.version4",  F_OPTIONAL), ("recommendedDatastorePair",  "sms.storage.DatastorePair[]",  "sms.version.version4",  F_OPTIONAL)])
CreateDataType("sms.list.Metadata", "Metadata", "vmodl.DynamicData", "sms.version.version4", [("lastUpdateTime",  "vmodl.DateTime",  "sms.version.version4",  F_OPTIONAL), ("numRows",  "int",  "sms.version.version4",  0), ("propertyName",  "string[]",  "sms.version.version4",  F_OPTIONAL), ("totalRows",  "int",  "sms.version.version4",  0)])
CreateDataType("sms.topology.Node", "Node", "vmodl.DynamicData", "sms.version.version4", [("entity",  "sms.EntityReference",  "sms.version.version4",  0), ("name",  "string",  "sms.version.version4",  0), ("property",  "sms.topology.NodeProperty[]",  "sms.version.version4",  F_OPTIONAL), ("status",  "sms.topology.Node.Status",  "sms.version.version4",  0)])
CreateDataType("sms.topology.Map", "Map", "vmodl.DynamicData", "sms.version.version4", [("edge",  "sms.topology.Edge[]",  "sms.version.version4",  F_OPTIONAL), ("lastUpdateTime",  "vmodl.DateTime",  "sms.version.version4",  F_OPTIONAL), ("node",  "sms.topology.Node[]",  "sms.version.version4",  F_OPTIONAL)])
CreateDataType("sms.storage.FcoeStoragePort", "FcoeStoragePort", "sms.storage.StoragePort", "sms.version.version4", [("nodeWwn",  "string",  "sms.version.version4",  0), ("portWwn",  "string",  "sms.version.version4",  0)])
CreateDataType("sms.list.FilterSpec.Constraint", "FilterSpecConstraint", "vmodl.DynamicData", "sms.version.version4", [("childConstraint",  "sms.list.FilterSpec.Constraint[]",  "sms.version.version4",  F_OPTIONAL), ("childConstraintLogicalOperator",  "sms.list.FilterSpec.LogicalOperator",  "sms.version.version4",  F_OPTIONAL), ("comparisonOperator",  "sms.list.FilterSpec.ComparisonOperator",  "sms.version.version4",  F_OPTIONAL), ("propertyName",  "string",  "sms.version.version4",  F_OPTIONAL), ("propertyValue",  "string",  "sms.version.version4",  F_OPTIONAL)])
CreateDataType("sms.storage.StoragePort", "StoragePort", "vmodl.DynamicData", "sms.version.version4", [("alternateName",  "string[]",  "sms.version.version4",  F_OPTIONAL), ("type",  "string",  "sms.version.version4",  0), ("uuid",  "string",  "sms.version.version4",  0)])
CreateDataType("sms.storage.StorageArray", "StorageArray", "vmodl.DynamicData", "sms.version.version4", [("alternateName",  "string[]",  "sms.version.version4",  F_OPTIONAL), ("firmware",  "string",  "sms.version.version4",  F_OPTIONAL), ("modelId",  "string",  "sms.version.version4",  0), ("name",  "string",  "sms.version.version4",  0), ("priority",  "int",  "sms.version.version4",  F_OPTIONAL), ("supportedBlockInterface",  "string[]",  "sms.version.version4",  F_OPTIONAL), ("supportedFileSystemInterface",  "string[]",  "sms.version.version4",  F_OPTIONAL), ("supportedProfile",  "string[]",  "sms.version.version4",  F_OPTIONAL), ("uuid",  "string",  "sms.version.version4",  0), ("vendorId",  "string",  "sms.version.version4",  0)])
CreateDataType("sms.storage.StorageFileSystem", "StorageFileSystem", "vmodl.DynamicData", "sms.version.version4", [("info",  "sms.storage.FileSystemInfo[]",  "sms.version.version4",  0), ("nativeSnapshotSupported",  "boolean",  "sms.version.version4",  0), ("thinProvisioningStatus",  "string",  "sms.version.version4",  0), ("type",  "string",  "sms.version.version4",  0), ("uuid",  "string",  "sms.version.version4",  0), ("version",  "string",  "sms.version.version4",  0)])
CreateDataType("sms.storage.DatastorePair", "DatastorePair", "vmodl.DynamicData", "sms.version.version4", [("datastore1",  "vim.Datastore",  "sms.version.version4",  0), ("datastore2",  "vim.Datastore",  "sms.version.version4",  0)])
CreateDataType("sms.storage.StorageProcessor", "StorageProcessor", "vmodl.DynamicData", "sms.version.version4", [("alternateIdentifer",  "string[]",  "sms.version.version4",  F_OPTIONAL), ("uuid",  "string",  "sms.version.version4",  0)])
CreateDataType("sms.provider.ProviderSpec", "SmsProviderSpec", "vmodl.DynamicData", "sms.version.version4", [("description",  "string",  "sms.version.version4",  F_OPTIONAL), ("name",  "string",  "sms.version.version4",  0)])
CreateDataType("sms.storage.LunHbaAssociation", "LunHbaAssociation", "vmodl.DynamicData", "sms.version.version4", [("canonicalName",  "string",  "sms.version.version4",  0), ("hba",  "vim.host.HostBusAdapter[]",  "sms.version.version4",  0)])
CreateDataType("sms.storage.IscsiStoragePort", "IscsiStoragePort", "sms.storage.StoragePort", "sms.version.version4", [("identifier",  "string",  "sms.version.version4",  0)])
CreateDataType("sms.list.QuerySpec", "QuerySpec", "vmodl.DynamicData", "sms.version.version4", [("filterSpec",  "sms.list.FilterSpec",  "sms.version.version4",  F_OPTIONAL), ("maxCount",  "int",  "sms.version.version4",  0), ("offset",  "int",  "sms.version.version4",  0), ("sortSpec",  "sms.list.SortSpec[]",  "sms.version.version4",  F_OPTIONAL)])
CreateDataType("sms.provider.ProviderInfo", "SmsProviderInfo", "vmodl.DynamicData", "sms.version.version4", [("description",  "string",  "sms.version.version4",  F_OPTIONAL), ("name",  "string",  "sms.version.version4",  0), ("uid",  "string",  "sms.version.version4",  0), ("version",  "string",  "sms.version.version4",  F_OPTIONAL)])
CreateDataType("sms.provider.VasaProviderInfo", "VasaProviderInfo", "sms.provider.ProviderInfo", "sms.version.version4", [("certificate",  "string",  "sms.version.version4",  F_OPTIONAL), ("lastSyncTime",  "string",  "sms.version.version4",  F_OPTIONAL), ("namespace",  "string",  "sms.version.version4",  F_OPTIONAL), ("providerId",  "string",  "sms.version.version4",  F_OPTIONAL), ("relatedStorageArray",  "sms.provider.VasaProviderInfo.RelatedStorageArray[]",  "sms.version.version4",  F_OPTIONAL), ("status",  "string",  "sms.version.version4",  F_OPTIONAL), ("supportedProfile",  "string[]",  "sms.version.version4",  F_OPTIONAL), ("supportedProviderProfile",  "string[]",  "sms.version.version4",  F_OPTIONAL), ("supportedVendorModelMapping",  "sms.provider.VasaProviderInfo.SupportedVendorModelMapping[]",  "sms.version.version4",  F_OPTIONAL), ("url",  "string",  "sms.version.version4",  0), ("vasaVersion",  "string",  "sms.version.version4",  F_OPTIONAL)])
CreateDataType("sms.list.SortSpec", "SortSpec", "vmodl.DynamicData", "sms.version.version4", [("ascending",  "boolean",  "sms.version.version4",  0), ("propertyName",  "string",  "sms.version.version4",  0)])
CreateDataType("sms.storage.StorageCapability", "StorageCapability", "vmodl.DynamicData", "sms.version.version4", [("description",  "string",  "sms.version.version4",  0), ("name",  "string",  "sms.version.version4",  0), ("uuid",  "string",  "sms.version.version4",  0)])
CreateDataType("sms.storage.StorageLun", "StorageLun", "vmodl.DynamicData", "sms.version.version4", [("alternateIdentifier",  "string[]",  "sms.version.version4",  F_OPTIONAL), ("capacityInMB",  "long",  "sms.version.version4",  0), ("drsManagementPermitted",  "boolean",  "sms.version.version4",  0), ("lunThinProvisioned",  "boolean",  "sms.version.version4",  0), ("thinProvisioningStatus",  "string",  "sms.version.version4",  0), ("usedSpaceInMB",  "long",  "sms.version.version4",  0), ("uuid",  "string",  "sms.version.version4",  0), ("vendorDisplayName",  "string",  "sms.version.version4",  0), ("vSphereLunIdentifier",  "string",  "sms.version.version4",  0)])
CreateDataType("sms.topology.Edge", "Edge", "vmodl.DynamicData", "sms.version.version4", [("destEntity",  "sms.EntityReference",  "sms.version.version4",  0), ("direct",  "boolean",  "sms.version.version4",  0), ("sourceEntity",  "sms.EntityReference",  "sms.version.version4",  0), ("status",  "sms.topology.Edge.Status",  "sms.version.version4",  0)])
CreateDataType("sms.provider.VasaProviderInfo.RelatedStorageArray", "RelatedStorageArray", "vmodl.DynamicData", "sms.version.version4", [("active",  "boolean",  "sms.version.version4",  0), ("arrayId",  "string",  "sms.version.version4",  0), ("manageable",  "boolean",  "sms.version.version4",  0), ("priority",  "int",  "sms.version.version4",  0)])
CreateDataType("sms.provider.VasaProviderSpec", "VasaProviderSpec", "sms.provider.ProviderSpec", "sms.version.version4", [("certificate",  "string",  "sms.version.version4",  F_OPTIONAL), ("password",  "string",  "sms.version.version4",  0), ("url",  "string",  "sms.version.version4",  0), ("username",  "string",  "sms.version.version4",  0)])
CreateDataType("sms.list.FilterSpec", "FilterSpec", "vmodl.DynamicData", "sms.version.version4", [("constraint",  "sms.list.FilterSpec.Constraint",  "sms.version.version4",  0)])
CreateDataType("sms.fault.NoCommonProviderForAllBackings", "NoCommonProviderForAllBackings", "sms.fault.QueryExecutionFault", "sms.version.version4", [])
CreateDataType("sms.fault.InvalidSession", "InvalidSession", "vim.fault.NoPermission", "sms.version.version4", [("sessionCookie",  "string",  "sms.version.version4",  0)])
CreateDataType("sms.fault.ServiceNotInitialized", "ServiceNotInitialized", "vmodl.RuntimeFault", "sms.version.version4", [])
CreateDataType("sms.fault.DbConfigFailed", "DbConfigFailed", "vmodl.MethodFault", "sms.version.version4", [])
CreateDataType("sms.fault.MultipleSortSpecsNotSupported", "MultipleSortSpecsNotSupported", "vmodl.fault.InvalidArgument", "sms.version.version4", [])
CreateDataType("sms.fault.SyncInProgress", "SyncInProgress", "sms.fault.ProviderSyncFailed", "sms.version.version4", [])
CreateDataType("sms.fault.InvalidCertificate", "InvalidCertificate", "sms.fault.ProviderRegistrationFault", "sms.version.version4", [("certificate",  "string",  "sms.version.version4",  0)])
CreateDataType("sms.fault.ProviderUnregistrationFault", "ProviderUnregistrationFault", "vmodl.MethodFault", "sms.version.version4", [])
CreateDataType("sms.fault.EntityNotFound", "EntityNotFound", "vmodl.MethodFault", "sms.version.version4", [("entity",  "sms.EntityReference",  "sms.version.version4",  0)])
CreateDataType("sms.fault.ProviderSyncFailed", "ProviderSyncFailed", "vmodl.MethodFault", "sms.version.version4", [])
CreateDataType("sms.fault.CertificateNotTrusted", "CertificateNotTrusted", "sms.fault.ProviderRegistrationFault", "sms.version.version4", [("certificate",  "string",  "sms.version.version4",  0)])
CreateDataType("sms.fault.ProviderRegistrationFault", "ProviderRegistrationFault", "vmodl.MethodFault", "sms.version.version4", [])
CreateDataType("sms.fault.ProxyRegistrationFailed", "ProxyRegistrationFailed", "vmodl.RuntimeFault", "sms.version.version4", [])
CreateDataType("sms.fault.ProviderConnectionFailed", "ProviderConnectionFailed", "vmodl.RuntimeFault", "sms.version.version4", [])
CreateDataType("sms.fault.IncorrectUsernamePassword", "IncorrectUsernamePassword", "sms.fault.ProviderRegistrationFault", "sms.version.version4", [])
CreateDataType("sms.fault.AuthConnectionFailed", "AuthConnectionFailed", "vim.fault.NoPermission", "sms.version.version4", [])
CreateDataType("sms.fault.InvalidUrl", "InvalidUrl", "sms.fault.ProviderRegistrationFault", "sms.version.version4", [("url",  "string",  "sms.version.version4",  0)])
CreateDataType("sms.fault.QueryExecutionFault", "QueryExecutionFault", "vmodl.MethodFault", "sms.version.version4", [])
CreateDataType("sms.fault.ProviderNotFound", "ProviderNotFound", "sms.fault.QueryExecutionFault", "sms.version.version4", [])
CreateEnumType("sms.topology.Node.Status", "NodeStatus", "sms.version.version4", ["degraded", "down", "notReported", "unknown", "up"])
CreateEnumType("sms.EntityReference.EntityType", "EntityReferenceEntityType", "sms.version.version4", ["cluster", "datacenter", "datastore", "host", "nasMount", "resourcePool", "scsiAdapter", "scsiPath", "scsiTarget", "scsiVolume", "storagePod", "vm", "vmFile"])
CreateEnumType("sms.list.FilterSpec.ComparisonOperator", "FilterSpecComparisonOperator", "sms.version.version4", ["beginsWith", "contains", "endsWith", "equal", "greaterThanOrEqual", "lessThanOrEqual", "notContains", "notEqual"])
CreateEnumType("sms.list.FilterSpec.LogicalOperator", "FilterSpecLogicalOperator", "sms.version.version4", ["logicalAnd", "logicalOr"])
CreateEnumType("sms.topology.Edge.Status", "EdgeStatus", "sms.version.version4", ["degraded", "down", "notReported", "unknown", "up"])
CreateEnumType("sms.TaskInfo.State", "TaskInfoState", "sms.version.version4", ["error", "running", "success"])
