# ******* WARNING - AUTO GENERATED CODE - DO NOT EDIT *******
from .VmomiSupport import CreateDataType, CreateManagedType
from .VmomiSupport import CreateEnumType
from .VmomiSupport import AddVersion, AddVersionParent
from .VmomiSupport import AddBreakingChangesInfo
from .VmomiSupport import F_LINK, F_LINKABLE
from .VmomiSupport import F_OPTIONAL, F_SECRET
from .VmomiSupport import newestVersions, ltsVersions
from .VmomiSupport import dottedVersions, oldestVersions

AddVersion("vmodl.version.version0", "", "", 0, "vim25")
AddVersion("vmodl.version.version1", "", "", 0, "vim25")
AddVersion("license.version.version1", "license", "1.0", 0, "license")
AddVersion("license.version.version2", "license", "2.0", 0, "license")
AddVersionParent("vmodl.version.version0", "vmodl.version.version0")
AddVersionParent("vmodl.version.version1", "vmodl.version.version0")
AddVersionParent("vmodl.version.version1", "vmodl.version.version1")
AddVersionParent("license.version.version1", "vmodl.version.version0")
AddVersionParent("license.version.version1", "vmodl.version.version1")
AddVersionParent("license.version.version1", "license.version.version1")
AddVersionParent("license.version.version2", "vmodl.version.version0")
AddVersionParent("license.version.version2", "vmodl.version.version1")
AddVersionParent("license.version.version2", "license.version.version1")
AddVersionParent("license.version.version2", "license.version.version2")

newestVersions.Add("license.version.version2")
ltsVersions.Add("license.version.version2")
dottedVersions.Add("license.version.version2")
oldestVersions.Add("license.version.version1")

CreateDataType("license.AboutInfo", "LicenseAboutInfo", "vmodl.DynamicData", "license.version.version1", [("version", "string", "license.version.version1", 0)])
CreateManagedType("license.LicenseAssetPropertyManager", "LicenseAssetPropertyManager", "vmodl.ManagedObject", "license.version.version2", None, [("queryAssetPropertyEntries", "QueryAssetPropertyEntries", "license.version.version2", (("propertyType", "string", "license.version.version2", F_OPTIONAL, None),), (F_OPTIONAL, "license.LicenseAssetPropertyManager.AssetPropertyEntry[]", "license.LicenseAssetPropertyManager.AssetPropertyEntry[]"), "Global.Licenses", ["license.fault.LicenseAssetPropertyFault", ])])
CreateEnumType("license.LicenseAssetPropertyManager.PropertyType", "LicenseAssetPropertyManagerPropertyType", "license.version.version2", ["MAC", "ABT"])
CreateDataType("license.LicenseAssetPropertyManager.AssetPropertyEntry", "LicenseAssetPropertyManagerAssetPropertyEntry", "vmodl.DynamicData", "license.version.version2", [("id", "long", "license.version.version2", 0), ("assetId", "long", "license.version.version2", 0), ("propertyType", "string", "license.version.version2", 0), ("value", "string", "license.version.version2", 0), ("createTimestamp", "long", "license.version.version2", 0), ("active", "boolean", "license.version.version2", 0), ("deleteTimestamp", "long", "license.version.version2", 0)])
CreateManagedType("license.LicenseThresholdManager", "LicenseThresholdManager", "vmodl.ManagedObject", "license.version.version1", None, [("queryThresholds", "QueryThresholds", "license.version.version1", (), (F_OPTIONAL, "license.threshold.Threshold[]", "license.threshold.Threshold[]"), "Global.Licenses", None), ("addThresholds", "AddThresholds", "license.version.version1", (("thresholds", "license.threshold.Threshold[]", "license.version.version1", 0, None),), (0, "void", "void"), "Global.Licenses", None), ("updateThresholds", "UpdateThresholds", "license.version.version1", (("thresholds", "license.threshold.Threshold[]", "license.version.version1", 0, None),), (0, "void", "void"), "Global.Licenses", None), ("removeThresholds", "RemoveThresholds", "license.version.version1", (("thresholds", "license.threshold.Threshold[]", "license.version.version1", 0, None),), (0, "void", "void"), "Global.Licenses", None)])
CreateManagedType("license.LicenseUsageManager", "LicenseUsageManager", "vmodl.ManagedObject", "license.version.version1", None, [("queryLicenseAssignmentUsage", "QueryLicenseAssignmentUsage", "license.version.version1", (("start", "vmodl.DateTime", "license.version.version1", 0, None),("end", "vmodl.DateTime", "license.version.version1", 0, None),), (F_OPTIONAL, "license.usage.LicenseAssignmentSnapshot[]", "license.usage.LicenseAssignmentSnapshot[]"), "Global.Licenses", ["license.fault.LicenseUsageFault", ]), ("queryCurrentLicenseAssignmentUsage", "QueryCurrentLicenseAssignmentUsage", "license.version.version1", (), (F_OPTIONAL, "license.usage.LicenseAssignmentSnapshot[]", "license.usage.LicenseAssignmentSnapshot[]"), "Global.Licenses", ["license.fault.LicenseUsageFault", ]), ("queryEditionLicenseUsage", "QueryEditionLicenseUsage", "license.version.version1", (("start", "vmodl.DateTime", "license.version.version1", 0, None),("end", "vmodl.DateTime", "license.version.version1", 0, None),), (F_OPTIONAL, "license.usage.EditionSnapshot[]", "license.usage.EditionSnapshot[]"), "Global.Licenses", ["license.fault.LicenseUsageFault", ]), ("queryCurrentEditionLicenseUsage", "QueryCurrentEditionLicenseUsage", "license.version.version1", (), (F_OPTIONAL, "license.usage.EditionSnapshot[]", "license.usage.EditionSnapshot[]"), "Global.Licenses", ["license.fault.LicenseUsageFault", ]), ("queryAssetLicenseUsageByKey", "QueryAssetLicenseUsageByKey", "license.version.version1", (("start", "vmodl.DateTime", "license.version.version1", 0, None),("end", "vmodl.DateTime", "license.version.version1", 0, None),("licenseKey", "string", "license.version.version1", 0, None),("costUnit", "string", "license.version.version1", 0, None),), (F_OPTIONAL, "license.usage.AssetSnapshot[]", "license.usage.AssetSnapshot[]"), "Global.Licenses", ["license.fault.LicenseUsageFault", ]), ("queryCurrentAssetLicenseUsageByKey", "QueryCurrentAssetLicenseUsageByKey", "license.version.version1", (("licenseKey", "string", "license.version.version1", 0, None),("costUnit", "string", "license.version.version1", 0, None),), (F_OPTIONAL, "license.usage.AssetSnapshot[]", "license.usage.AssetSnapshot[]"), "Global.Licenses", ["license.fault.LicenseUsageFault", ]), ("queryEditionVcGroups", "QueryEditionVcGroups", "license.version.version1", (("start", "vmodl.DateTime", "license.version.version1", 0, None),("end", "vmodl.DateTime", "license.version.version1", 0, None),), (F_OPTIONAL, "license.usage.EditionVcGroup[]", "license.usage.EditionVcGroup[]"), "Global.Licenses", ["license.fault.LicenseUsageFault", ]), ("queryUsageEntries", "QueryUsageEntries", "license.version.version1", (("start", "vmodl.DateTime", "license.version.version1", 0, None),("end", "vmodl.DateTime", "license.version.version1", 0, None),), (F_OPTIONAL, "license.usage.UsageEntry[]", "license.usage.UsageEntry[]"), "Global.Licenses", ["license.fault.LicenseUsageFault", ]), ("queryLicenseEntries", "QueryLicenseEntries", "license.version.version1", (), (F_OPTIONAL, "license.usage.LicenseEntry[]", "license.usage.LicenseEntry[]"), "Global.Licenses", ["license.fault.LicenseUsageFault", ]), ("queryContextEntries", "QueryContextEntries", "license.version.version1", (), (F_OPTIONAL, "license.usage.ContextEntry[]", "license.usage.ContextEntry[]"), "Global.Licenses", ["license.fault.LicenseUsageFault", ]), ("queryVcGroupEntries", "QueryVcGroupEntries", "license.version.version1", (), (F_OPTIONAL, "license.usage.VcGroupEntry[]", "license.usage.VcGroupEntry[]"), "Global.Licenses", ["license.fault.LicenseUsageFault", ])])
CreateDataType("license.ServiceContent", "LicenseServiceContent", "vmodl.DynamicData", "license.version.version1", [("about", "license.AboutInfo", "license.version.version1", 0), ("sessionManager", "license.SessionManager", "license.version.version1", 0), ("licenseUsageManager", "license.LicenseUsageManager", "license.version.version1", 0), ("licenseThresholdManager", "license.LicenseThresholdManager", "license.version.version1", 0), ("licenseAssetPropertyManager", "license.LicenseAssetPropertyManager", "license.version.version2", F_OPTIONAL)])
CreateManagedType("license.ServiceInstance", "LicenseServiceInstance", "vmodl.ManagedObject", "license.version.version1", None, [("retrieveContent", "RetrieveContent", "license.version.version1", (), (0, "license.ServiceContent", "license.ServiceContent"), "System.Anonymous", None)])
CreateManagedType("license.SessionManager", "LicenseSessionManager", "vmodl.ManagedObject", "license.version.version1", None, [("ping", "Ping", "license.version.version1", (), (0, "void", "void"), "System.View", None)])
CreateDataType("license.fault.LicenseAssetPropertyFault", "LicenseAssetPropertyFault", "vmodl.MethodFault", "license.version.version2", [("reason", "string", "license.version.version2", 0)])
CreateEnumType("license.fault.LicenseAssetPropertyFault.ReasonType", "LicenseAssetPropertyFaultReasonType", "license.version.version1", ["dataTampered", "other"])
CreateDataType("license.fault.LicenseThresholdFault", "LicenseThresholdFault", "vmodl.MethodFault", "license.version.version1", None)
CreateDataType("license.fault.LicenseUsageFault", "LicenseUsageFault", "vmodl.MethodFault", "license.version.version1", [("reason", "string", "license.version.version1", 0)])
CreateEnumType("license.fault.LicenseUsageFault.ReasonType", "LicenseUsageFaultReasonType", "license.version.version1", ["dataTampered", "other"])
CreateDataType("license.fault.NotAuthenticated", "LicenseServicesNotAuthenticated", "vmodl.RuntimeFault", "license.version.version1", None)
CreateDataType("license.fault.NotAuthorized", "LicenseServicesNotAuthorized", "vmodl.RuntimeFault", "license.version.version1", None)
CreateDataType("license.threshold.Threshold", "ThresholdThreshold", "vmodl.DynamicData", "license.version.version1", [("edition", "string", "license.version.version1", 0), ("costUnit", "string", "license.version.version1", 0), ("limit", "long", "license.version.version1", 0)])
CreateDataType("license.usage.ContextEntry", "UsageContextEntry", "vmodl.DynamicData", "license.version.version1", [("contextId", "long", "license.version.version1", 0), ("licenseId", "long", "license.version.version1", 0), ("assetId", "long", "license.version.version1", 0), ("assetKey", "string", "license.version.version1", 0), ("scope", "string", "license.version.version1", F_OPTIONAL), ("vcName", "string", "license.version.version1", F_OPTIONAL), ("vcGroupId", "long", "license.version.version1", 0)])
CreateDataType("license.usage.EditionVcGroup", "UsageEditionVcGroup", "vmodl.DynamicData", "license.version.version1", [("editionName", "string", "license.version.version1", 0), ("costUnit", "string", "license.version.version1", 0), ("vcIds", "string[]", "license.version.version1", 0)])
CreateDataType("license.usage.LicenseEntry", "UsageLicenseEntry", "vmodl.DynamicData", "license.version.version1", [("licenseId", "long", "license.version.version1", 0), ("licenseKey", "string", "license.version.version1", 0), ("editionName", "string", "license.version.version1", 0), ("costUnit", "string", "license.version.version1", 0), ("costUnitNum", "int", "license.version.version1", 0), ("capacity", "long", "license.version.version1", 0), ("expirationTimestamp", "long", "license.version.version1", 0)])
CreateDataType("license.usage.Snapshot", "UsageSnapshot", "vmodl.DynamicData", "license.version.version1", [("capacity", "long", "license.version.version1", 0), ("unlimitedCapacity", "boolean", "license.version.version1", 0), ("usage", "long", "license.version.version1", 0), ("timestamp", "long", "license.version.version1", 0), ("costUnit", "string", "license.version.version1", 0)])
CreateDataType("license.usage.UsageEntry", "UsageUsageEntry", "vmodl.DynamicData", "license.version.version1", [("contextId", "long", "license.version.version1", 0), ("usage", "long", "license.version.version1", 0), ("timestamp", "long", "license.version.version1", 0)])
CreateDataType("license.usage.VCenter", "UsageVCenter", "vmodl.DynamicData", "license.version.version1", [("id", "string", "license.version.version1", 0), ("name", "string", "license.version.version1", 0)])
CreateDataType("license.usage.VcGroupEntry", "UsageVcGroupEntry", "vmodl.DynamicData", "license.version.version1", [("vcGroupId", "long", "license.version.version1", 0), ("vCenters", "license.usage.VCenter[]", "license.version.version1", 0)])
CreateDataType("license.usage.AssetSnapshot", "UsageAssetSnapshot", "license.usage.Snapshot", "license.version.version1", [("assetId", "string", "license.version.version1", 0), ("assetName", "string", "license.version.version1", F_OPTIONAL), ("assetScope", "string", "license.version.version1", F_OPTIONAL), ("multiVc", "boolean", "license.version.version1", 0)])
CreateDataType("license.usage.EditionSnapshot", "UsageEditionSnapshot", "license.usage.Snapshot", "license.version.version1", [("editionName", "string", "license.version.version1", 0), ("licenseKeys", "license.usage.LicenseKeySnapshot[]", "license.version.version1", 0)])
CreateDataType("license.usage.LicenseAssignmentSnapshot", "UsageLicenseAssignmentSnapshot", "license.usage.Snapshot", "license.version.version1", [("licenseKey", "string", "license.version.version1", 0), ("costUnitNum", "int", "license.version.version1", 0), ("editionKey", "string", "license.version.version1", 0), ("editionName", "string", "license.version.version1", 0), ("productName", "string", "license.version.version1", 0), ("productVersion", "string", "license.version.version1", 0), ("expirationTimestamp", "long", "license.version.version1", 0), ("assetId", "string", "license.version.version1", 0), ("assetName", "string", "license.version.version1", F_OPTIONAL), ("scope", "string", "license.version.version1", F_OPTIONAL), ("vcName", "string", "license.version.version1", F_OPTIONAL), ("vcGroup", "license.usage.VCenter[]", "license.version.version1", F_OPTIONAL)])
CreateDataType("license.usage.LicenseKeySnapshot", "UsageLicenseKeySnapshot", "license.usage.Snapshot", "license.version.version1", [("licenseKey", "string", "license.version.version1", 0), ("costUnitNum", "int", "license.version.version1", 0), ("expired", "boolean", "license.version.version1", 0), ("multiVcAssets", "license.usage.AssetSnapshot[]", "license.version.version1", F_OPTIONAL)])
