# en_US resources
signature="sIgNaTuRe"

#
# Licensing faults
com.vmware.vim.license.error.featureUnavailable = "Feature '{feature.@enum.com.vmware.vim.license.Feature}' not licensed, requires {need} have {have}"
com.vmware.vim.license.error.featureMissing = "Feature '{feature.@enum.com.vmware.vim.license.Feature}' is not licensed with this edition"
com.vmware.vim.license.error.evalPeriodOver = "Evaluation period is over, {info.@enum.com.vmware.vim.license.msgs}"
com.vmware.vim.license.error.LicenseExpired = "License Expired, {info.@enum.com.vmware.vim.license.msgs}"
com.vmware.vim.license.error.BadInput = "License subsystem was called with invalid argument {vm}"
com.vmware.vim.license.error.nolicense = "Please install a valid license to use this product"

# Feature names defined in enum.vmsg
com.vmware.vim.license.features.info = "{feature.@enum.com.vmware.vim.license.Feature}"

# Start System Error messages
com.vmware.vim.uuid.transientFailure = "Transient UUID Generation Failure: {arg}"
# End System Error messages

#
vim.hostd.vdisksvc.diskNotThinProvisioned = "The disk is not thin-provisioned."
vim.hostd.vdisksvc.diskNotZeroedThick = "The disk is not a zeroed-thick disk."
vim.hostd.vdisksvc.noIOBeyondEndOfDisk= "Cannot perform IO beyond end of the virtual disk."
vim.hostd.vdisksvc.doesNotStartAtSectorZero = "Operation does not begin at sector 0."
vim.hostd.vdisksvc.badReparentSpec = "The reparent specification is invalid."
vim.hostd.vdisksvc.cannotMarkParentReadonly = "Cannot mark parent disk as read-only."
vim.hostd.vdisksvc.diskSizeTooSmall = "The virtual disk size is too small."
vim.hostd.vdisksvc.fileNameTooLong = "The file name is too long."
vim.hostd.vdisksvc.attachRootLink = "Both parent and child virtual disks are base disks."

#
vim.hostd.hostsvc.invalidDcom.vmware.vim.vm.promoteDisk.error.mixNativeUnmanagedLinkedCloneiskPartitioningFormatChange = "Disk partitioning format change is not supported. Disk must be having non-VMware partitions."
vim.hostd.hostsvc.invalidDiskSizeForPartitioningFormat = "Partitioning format does not support specified disk size."

vim.hostd.hostsvc.HBA.ipv4.unsupportedEnabled = "IPv4 can not be enabled as it is unsupported by the host bus adapter."
vim.hostd.hostsvc.HBA.ipv4.unsupportedDHCPSet = "IPv4 DHCP is not supported by the host bus adapter."
vim.hostd.hostsvc.HBA.ipv4.invalidAddressAndNetmask = "Invalid IPv4 address and subnet mask configuration specified. Both values should be specified."
vim.hostd.hostsvc.HBA.ipv4.unsupportedAddressAndNetmaskSet = "IPv4 address and subnet mask configuration is not supported by the host bus adapter."
vim.hostd.hostsvc.HBA.ipv4.unsupportedDefaultGatewaySet = "IPv4 default gateway configuration is not supported by the host bus adapter."

vim.hostd.hostsvc.HBA.ipv6.unsupportedEnabled = "IPv6 can not be enabled as it is unsupported by the host bus adapter."
vim.hostd.hostsvc.HBA.ipv6.unspecifiedProperties = "IPv6 Properties must be specified for the host bus adapter."
vim.hostd.hostsvc.HBA.ipv6.unsupportedDHCP = "IPv6 DHCP is not supported by the host bus adapter."
vim.hostd.hostsvc.HBA.ipv6.unsupportedLinkLocalAutoConf = "IPv6 link local auto configuration method is not supported by the host bus adapter."
vim.hostd.hostsvc.HBA.ipv6.unsupportedRouterAdvertisement = "IPv6 router advertisemnt configuration method is not supported by the host bus adapter."
vim.hostd.hostsvc.HBA.ipv6.unsupportedDefaultGW = "IPv6 default gateway configuration is not supported by the host bus adapter."
vim.hostd.hostsvc.HBA.ipv6.defaultGWNotApplicable = "IPv6 default gateway cannot be set if either DHCPv6 or router advertisemnt method is to be used."
vim.hostd.hostsvc.HBA.ipv6.invalidStaticAddressAdd = "Cannot plumb IPv6 static addres if DHCPv6 and/or router advertisemnt method is to be used."
vim.hostd.hostsvc.HBA.ipv6.invalidLinkLocalAddressAdd = "Cannot plumb IPv6 link local address if auto link local configuration method is to be used."

vim.hostd.hostsvc.HBA.common.unsupportedMTUSet = "MTU configuration is not supported by the host bus adapter."
vim.hostd.hostsvc.HBA.common.unsupportedAprRedirect = "APR Redirect configuration is not supported by the host bus adapter."
vim.hostd.hostdvc.HBA.common.unsupportedDNSSet = "DNS configuration is not supported by the host bus adapter."
vim.hostd.hostdvc.HBA.common.invalidDNS = "Invalid primary and alternate DNS configuration specified. Both values should be specified."

vim.hostd.hostsvc.lockedVmknics = "Vmknic {id} is protected from vCenter edits by host advanced option Config.HostAgent.plugins.hostsvc.lockedVmknics."

#
vim.hostd.hostsvc.nvme.deviceNotFound = "Device with alias '{device}' not found."
vim.hostd.hostsvc.nvme.noUplink = "The physical network adapter '{vmnic}' for RDMA device '{rdmaDevice}' is not associated with any uplink."
vim.hostd.hostsvc.nvme.noVswitch = "The physical network adapter '{vmnic}' for RDMA device '{rdmaDevice}' is not associated with a virtual switch."
vim.hostd.hostsvc.nvme.unsupportedVswitch = "The physical network adapter '{vmnic}' for RDMA device '{rdmaDevice}' is not associated with a standard virtual switch."
vim.hostd.hostsvc.nvme.noVnic = "The physical network adapter '{vmnic}' for RDMA device '{rdmaDevice}' is not associated with a VMkernel network adapter."
vim.hostd.hostsvc.nvme.controllerAlreadyConnected = "The specified NVME controller is already connected."
vim.hostd.hostsvc.nvme.controllerNotConnected = "There is no controller with subnqn '{subnqn}' connected to NVME over Fabrics adapter '{device}'."
vim.hostd.hostsvc.nvme.connectionFailed = "Unable to connect to the specified transport target using the provided connection specification."
vim.hostd.hostsvc.nvme.unsupportedTransportType = "The host bus adapter does not support {transportType} transport type."

vim.hostd.hostsvc.opUnsupportedOnEncryptedVm = "The operation is not supported on encrypted VM."

#
vim.hostd.snapshot.unknownuid = "The specified snapshot does not exist."
vim.hostd.snapshot.inuse = "The specified snapshot file is in use."

#
vim.hostd.vimsvc.certificateManager.systemError = "Low-level system error. See logs for details."
vim.hostd.vimsvc.certificateManager.checkTime = "Time validation failed. Check host Time and/or Certificate expiration data (notBefore, notAfter)."
vim.hostd.vimsvc.certificateManager.checkPair = "The generated private key does not match with the public key from the incoming certificate."

# Start NPIV related messages
com.vmware.vim.npiv.lessNodeWwn.label = "Requested Node WWNs number {num1} should be greater than existing numbers {num2} in VM"
com.vmware.vim.npiv.lessPortWwn.label = "Requested Port WWNs number {num1} should be greater than existing numbers {num2} in VM"
# End NPIV related messages

# Start property path validity checks error messages
com.vmware.vim.propertyPath.error.managedObjectInPath = "Property name '{propName}' cannot traverse managed object for '{typeName}#{propPath}'."
com.vmware.vim.propertyPath.error.unexpectedArray = "Property component '{propName}' did not expect an array in path '{typeName}#{propPath}'"
com.vmware.vim.propertyPath.error.notAnObject = "Property name '{propName}' must refer to data or managed object for '{typeName}#{propPath}'."
com.vmware.vim.propertyPath.error.notFound = "Property '{propName}' not found in path '{typeName}#{propPath}'."
com.vmware.vim.propertyPath.error.stringKeyTypeMismatch.data = "Path component '{propName}' is not a data object with a STRING or MOREF key for '{typeName}#{propPath}'."
com.vmware.vim.propertyPath.error.stringKeyTypeMismatch = "Path component '{propName}' is not a data object or MOREF key for '{typeName}#{propPath}'"}'."
com.vmware.vim.propertyPath.error.intKeyTypeMismatch.data = "Path component '{propName}' is not a data object with an INT key for '{typeName}#{propPath}'."
com.vmware.vim.propertyPath.error.intKeyTypeMismatch = "Path component '{propName}' is not a data object with a key for '{typeName}#{propPath}'."
com.vmware.vim.propertyPath.error.notAnArray = "Path component '{propName}' is not an array in path '{typeName}#{propPath}'."
com.vmware.vim.propertyPath.error.lenghAlreadySeen = "A property name cannot follow '{propName}' for '{typeName}#{propPath}'."
# End property path validity checks error messages

# HostCtlExceptions w/o Vobs
com.vmware.esx.hostctl.default = "Operation failed, diagnostics report: {reason}"
# End HostCtlException w/o Vobs

# Start datastore related  messages
com.vmware.vim.datastore.error.removeDatastoreFailed = "Cannot remove datastore '{name}' because {reason.@enum.com.vmware.vim.datastore.error.value}. Correct the problem and retry the operation."
com.vmware.vim.datastore.error.tooManyDatastoresInStoragePod = "Cannot add more than {maxDatastores} datastores to a datastore cluster."
com.vmware.vim.datastore.error.noDiskSpace = "Cannot find datastore with enough space to create new disk because intraVMDK affinity is set."
com.vmware.vim.datastore.error.noSpaceExtendedInfo = "Required space: {requiredSpace}. Available space: {freeSpace}."
com.vmware.vim.datastore.error.multiExtentIorm = "Storage IO resource management is not supported for multi-extent VMFS datastore {name}"
com.vmware.vim.datastore.error.maxVVolContainersReached = "VVol Container maximum reached, can't add {name}."
# End datastore related messages

# Start VM related messages
com.vmware.vim.vm.error.removeDiskAfterVMSnapshot = "Cannot remove virtual disk from the virtual machine because it or one of its parent disks is part of a snapshot of the virtual machine."
com.vmware.vim.vm.delete.filesRemaining = "Deletion of virtual machine failed. Files might be remaining on the datastore."
com.vmware.vim.vm.error.forkchild.extendDisk = "Extending virtual disk is not supported for fork child virtual machines."
com.vmware.vim.vm.error.forkchild.updateSP = "Updating storage profile is not supported for fork child virtual machines."
com.vmware.vim.vm.error.forkchild.addNonDiskDevice = "Adding new virtual device (except virtual disk) is not supported for fork child virtual machines."
com.vmware.vim.vm.error.forkchild.removeDevice = "Removing existing virtual device is not supported for fork child virtual machines."
com.vmware.vim.vm.error.vmMigrationInProgress = "The operation can not be performed because VM migration is in progress."
com.vmware.vim.vm.error.invalidSecondary = "Cannot find the primary virtual machine for an FT secondary virtual machine."
com.vmware.vim.vm.error.invalidConfiguration = "The configuration of the virtual machine is invalid."
com.vmware.vim.vm.error.invalidParentResPoolChange = "The VM is no longer in parent resource pool '{pool}'."
com.vmware.vim.vm.error.vmNotInCluster = "The operation can not be performed because VM is not in a cluster."
com.vmware.vim.vm.error.vmPinnedToCluster = "VM {arg} is pinned to its current cluster."
com.vmware.vim.vm.error.vmPowerStateChange = "The operation can not be performed because VM changed its power state"
com.vmware.vim.vm.error.cloneFromLibraryItemNotSupported = "The VM does not support this operation because it is not a Content Library Item"
com.vmware.vim.vm.error.vmManagedByCL = "The virtual machine does not support this operation because it is exclusively managed by content library"
com.vmware.vim.vm.error.vmNotManagedByCL = "The virtual machine does not support this operation because it is not exclusively managed by Content Library"
com.vmware.vim.vm.error.apiDisabled = "The virtual machine operation is disabled"
com.vmware.vim.vm.error.cloneVmAsLibraryItemNotSupportedXvc = "Cloning VM as a Content Library Item is not supported across VCs"
com.vmware.vim.vm.error.forbidPowerOnWithMixedKeys = "The virtual machine cannot be powered on because it uses keys from both standard and trusted platform key providers."
# End VM related messages

# Start resource pool related messages
com.vmware.vim.resourcePool.error.invalidRPNodeInfo = "The config information for resource pool node is invalid: the number of VCpus is invalid."
com.vmware.vim.resourcePool.error.inconsistentState = "The resource pool node is in an inconsistent state: the VM resource pool node, or its parent resource pool node, or the destination resource pool node is already removed."
com.vmware.vim.resourcePool.error.rootSettingDisallowed = "Setting {arg} on the root resource pool is not allowed."
com.vmware.vim.resourcePool.error.invalidScaleSharesBehavior = "ScaleSharesBehavior '{arg}' is invalid."
com.vmware.vim.resourcepool.error.sharesAlreadyScalable = "Setting scaleDescendantsShares on the resource pool is not allowed because the descendants of resource pool '{arg}' are already scalable."
com.vmware.vim.resourcepool.error.standaloneHostScalableSharesUnsupported = "Setting scaleDescendantsShares on a resource pool on a standalone host is not allowed."

# Start storage related  messages
com.vmware.vim.datastore.error.unmountVmfsVolumeFailed = "Cannot unmount volume '{name}' because {reason.@enum.com.vmware.vim.datastore.error.value}. Correct the problem and retry the operation."
# End storage related messages

# Start iSCSI related messages
com.vmware.vim.iscsi.error.vnicInUse = "This operation cannot be done while the VMkernel network adapter {name} is being used by iSCSI adapter. Remove the VMkernel network adapter from the iSCSI adapter to successfully complete this operation."
com.vmware.vim.iscsi.error.AddUplinks =  "The VMkernel network adapter {name} is not associated with a physical network adapter. To use a VMkernel network adapter for iSCSI port binding, it must be associated with one a physical network adapter."
com.vmware.vim.iscsi.error.MultipleUplinks = "The VMkernel network adapter {name} is associated with more than one physical network adapter. To use a VMkernel network adapter for iSCSI port binding, the VMkernel network adapter must be associated with only one physical network adapter."
com.vmware.vim.iscsi.error.FixUplink = "Attach the physical network adapter to VMkernel network adapter {name} that is associated with the iSCSI Host Bus Adapter."
com.vmware.vim.iscsi.error.VnicNotFound = "The VMkernel network adapter {name} might have been removed. Unbind this VMkernel network adapter."
# End iSCSI related messages

# Start CacheConfigurationManager messages
com.vmware.vim.host.cacheConfiguration.swapSizeNegative = "Swap size cannot be negative."
com.vmware.vim.host.cacheConfiguration.nonSsdDatastore = "Swap size can be configured only on Solid State Drive-based datastores."
com.vmware.vim.host.cacheConfiguration.unsupportedDatastore = "Swap cannot be configured on the given datastore."
# End CacheConfigurationManager messages

# Start LocalAccountManager messages
com.vmware.vim.host.LocalAccountManager.lastDcuiUser       = "Cannot remove last local user with DCUI access."
com.vmware.vim.host.LocalAccountManager.lastLocalFullAdmin = "Cannot remove last local user with full administrative privileges."
com.vmware.vim.host.LocalAccountManager.passwdError        = "Failed to set the password. It is possible that your password does not meet the complexity criteria set by the system."
com.vmware.vim.host.LocalAccountManager.longPassword       = "This password may be too long for some services. Choose another."
com.vmware.vim.host.LocalAccountManager.weakPassword       = "Weak password: {reason.@enum.com.vmware.vim.host.LocalAccountManager.weakPassword}."
com.vmware.vim.host.LocalAccountManager.usedPassword       = "Password has already been used. Choose another."
# End LocalAccountManager messages

# Start InfraUpdateHa messages
com.vmware.vim.host.unMonitored = "Host is not monitored by the following health update providers registered for this cluster: {providers}"
com.vmware.vim.healthUpdateManager.duplicateName = "Duplicate name: {arg}"
com.vmware.vim.healthUpdateManager.associatedEntity = "Entity {arg} is already associated."
com.vmware.vim.healthUpdateManager.notAssociatedEntity = "Entity {arg} is not associated."
com.vmware.vim.healthUpdateManager.unknownEntity = "Unknown entity: {arg}"
com.vmware.vim.healthUpdateManager.greenUpdate = "Update {arg} has non-empty remediation for green status."
com.vmware.vim.healthUpdateManager.grayUpdate = "Update {arg} has gray status."
com.vmware.vim.healthUpdateManager.invalidComponent = "Component {arg} is invalid."
com.vmware.vim.healthUpdateManager.stringBound = "String length exceeds bound: {arg}"
com.vmware.vim.healthUpdateManager.internalError = "Internal error: {arg}"
# End InfraUpdateHa messages

# Start host unavailable mode messages
com.vmware.vim.host.unavailableMode.standbyTimeout = "Host {host} did not power down."
com.vmware.vim.host.unavailableMode.powerOnTimeout = "Host {host} did not power up."
com.vmware.vim.host.unavailableMode.vmotionsTimeout = "Vmotions from/to host {host} did not complete."
com.vmware.vim.host.unavailableMode.poweredOnVmsTimeout = "Powered on vms exist in host {host}."
com.vmware.vim.host.unavailableMode.PodVmsTimeout = "Pods exist in host {host}."
# end host unavailable mode messages

# Start vSAN resource check timeout messages
com.vmware.vim.host.vSANResourceCheck.Timeout = "vSAN resource check on host {host} timed out."
# End vSAN resource check timeout messages

# Start host error messages
com.vmware.vim.host.error.unavailableForVm = "Host is not available for VM operations"
# End host error messages

# Start AuthorizationManager messages
com.vmware.vim.AuthorizationManager.lockdownModeProtection = "The operation breaks lockdown mode."
com.vmware.vim.AuthorizationManager.lockdownModeDcui = "Cannot change the status of DCUI service when the host is in lockdown mode."
# End AuthorizationManager messages

# Start VR related messages
com.vmware.vim.hbr.error.interop.faultTolerance = "vSphere Replication and Fault Tolerance cannot be enabled on the same virtual machine."
com.vmware.vim.hbr.error.interop.diskLengthChange = "vSphere Replication does not support changing the length of a replicated disk."
com.vmware.vim.hbr.error.interop.sharedBus = "vSphere Replication is not compatible with SCSI bus sharing."
com.vmware.vim.hbr.error.interop.ideHostedEmulation = "vSphere Replication is not compatible with hosted IDE emulation."
com.vmware.vim.hbr.error.fullsync.while.fullsync = "Cannot start a full sync because a full sync is already in progress."
com.vmware.vim.hbr.error.fullsync.while.fullsync.server = "Cannot start a full sync because a full sync requested by the VR server is already in progress."
com.vmware.vim.hbr.error.delta.while.fullsync = "Cannot start a delta because a full sync is already in progress."
com.vmware.vim.hbr.error.delta.while.delta = "Cannot start a delta because a delta is already in progress."
com.vmware.vim.hbr.error.interop.unsupportedDiskType = "vSphere Replication does not support the disk type for the '{diskName}' virtual disk."
# End VR related messages

# Start of OvfManager messages
com.vmware.vim.ovfManager.ovfParserOption.lax = "Errors are treated as warnings, all sections are considered optional, and non-supported hardware is ignored."

com.vmware.vim.ovfManager.ovfParserOption.mac = "The MAC address is exported for all ethernet devices."
com.vmware.vim.ovfManager.ovfParserOption.uuid = "The UUID is exported for all virtual machines."
com.vmware.vim.ovfManager.ovfParserOption.extraconf = "All extra configuration options are exported for a virtual machine."
com.vmware.vim.ovfManager.ovfParserOption.nodevicesubtypes = "Resource subtypes for CD/DVD drives, floppy drives, and serial and parallel ports are not exported."

# End of OvfManager messages

# Replay check messages
com.vmware.vim.vm.monitorTypeHotChange.notSupportedError = "Monitor build type change is not supported for online virtual machines."
# End of Replay check messages

# VM device messages
com.vmware.vim.vm.device.video.hardware3dNotAvailable = "A hardware 3D renderer is not available on the host."
# end of VM device messages

#Start VmInventory messages
com.vmware.vim.Folder.error.registeredVmLimitReached = "The maximum registered virtual machine limit has been reached."
com.vmware.vim.Folder.error.supportedVmLimitReached = "The maximum supported virtual machine limit has been reached."
#end of VmInventory messages

# VM provisioning messages
com.vmware.vim.vm.error.AttemptToFindUniqueDirectoryNameLimitReached = "The maximum attempts to find unique directory name limit has been reached."
com.vmware.vim.vm.error.NoValidHostDueToDasState = "No valid hosts could be found due to Das state."
com.vmware.vim.vm.error.NoValidHostDueToDatastoreAccess = "No valid hosts could be found due to datastore accessibility."
com.vmware.vim.vm.error.NoValidHostDueToDiskSize = "No valid hosts could be found due to disk size '{disksize}'KB."
com.vmware.vim.vm.error.NoValidHostDueToHwVersion = "No valid hosts could be found due to hardware version '{hwversion}'."
com.vmware.vim.vm.error.NoValidHostDueToNVDIMMSupport = "No valid hosts could be found due to NVDIMM support."
com.vmware.vim.vm.error.NoValidHostDueToPMemAdmissionFailure = "No valid hosts could be found to satisfy required total NVDIMM and PMem disks capacity."
com.vmware.vim.vm.error.HostNotValidDueToPMemAdmissionFailure = "Exceeds available PMem capacity on host {host}. Available capacity on the host is {availableRes}MB, and requested memory is {change}MB"
com.vmware.vim.vm.error.InsufficientPMemCapacity = "Insufficient PMem capacity on the host."
com.vmware.vim.vm.error.UncustomizableGuestOS = "The guest OS '{guestOS}' installed in the VM is not supported for customization. Refer to vCenter documentation for supported configurations: http://partnerweb.vmware.com/programs/guestOS/guest-os-customization-matrix.pdf"
com.vmware.vim.vm.error.UnsupportedToolsVersion = "Tools version {version} installed in the GuestOS is not supported for guest customization. Please upgrade to the latest version."
com.vmware.vim.vm.error.ToolsNotInstalled = "Tools is not installed in the GuestOS. Please install the latest version of open-vm-tools or VMware Tools to enable GuestCustomization."
com.vmware.vim.vm.error.CustomizationAcquireLock = "Failed to acquire the customization lock because another instance of customization is running in the VM."
com.vmware.vim.vm.error.CustomizationStartNetwork = "Failed to start the network service in the VM."
com.vmware.vim.vm.error.CustomizationConfigRead = "Unable to read the configuration from the namespace DB."
com.vmware.vim.vm.error.CustomizationNicRefresh = "Failed to refresh the NICs for MAC addresses in the VM."
com.vmware.vim.vm.error.CustomizationPassword = "Failed to set the root password in the VM."
com.vmware.vim.vm.error.CustomizationDateTime = "Failed to apply the date and time settings in the VM."
com.vmware.vim.vm.error.CustomizationDns = "Failed to apply the DNS setting in the VM."
com.vmware.vim.vm.error.CustomizationNic = "Failed to apply the NIC settings in the VM."
com.vmware.vim.vm.error.CustomizationNetwork = "Failed to apply network settings in the VM."
com.vmware.vim.vm.error.CustomizationGuestFailure = "Encountered an error of guest failure code {failureCode}."
com.vmware.vim.vm.error.CustomizationTimedout = "Guest code took too long, and caused a timeout in the VC."
com.vmware.vim.vm.error.CustomizationBadName = "Could not find a unique guest name to customize the VM."
com.vmware.vim.vm.error.CustomizationGeneric = "Encountered a generic failure."
com.vmware.vim.vm.error.CustomizationNotSupported = "Guest Tools does not support Guest Customization. Please upgrade Guest Tools."

# End of VM provisioning messages

#
vim.hostd.vsanDecommissioning.enteringMM = "Entering vSAN maintenance mode."
vim.hostd.vsanDecommissioning.noResources = "Failed to enter maintenance mode in the current vSAN data migration mode due to insufficient nodes or disks in the cluster. Retry operation in another mode or after adding more resources to the cluster."
vim.hostd.vsanDecommissioning.invalidStateEnterMM = "Failed to enter maintenance mode in the current host state. Retry operation."
vim.hostd.vsanDecommissioning.invalidStateExitMM = "Failed to exit maintenance mode in the current host state. Retry operation."
vim.hostd.vsanDecommissioning.objectInaccessible = "Failed to enter maintenance mode due to one or more candidate objects for migration being currently inaccessible. Retry operation in a different vSAN data migration mode."
vim.hostd.vsanDecommissioning.networkPartitionError = "Failed to enter maintenance mode due to loss of accessibility to some objects. Verify network connectivity and retry operation."
vim.hostd.vsanDecommissioning.concurrentDecom = "Another vSAN decommission operation is already in progress. Retry operation after it completes."
vim.hostd.vsanDecommissioning.canceledAborted = "User canceled maintenance mode operation or it failed due to an internal vSAN error. Retry operation."
vim.hostd.vsanDecommissioning.generalError = "Failed to enter or exit maintenance mode due to an internal vSAN error. Retry operation."
vim.hostd.vsanDecommissioning.badParam = "Can not support operation in current state. Expected state '{expected}' but current state is '{current}'"
vim.hostd.vsanDecommissioning.whatIfNotSupportedOnWitnessHost = "Querying What-If evacuate result on witness host is not supported"
vim.hostd.vsanDecommissioning.progress = "Objects Evacuated: {numObjectsEvacuated} of {totalObjectsToEvacuate}, Data Evacuated: {bytesEvacuated} MB of {totalBytesToSync} MB"
vim.hostd.vsanDecommissioning.emptyDescription = ""

vim.hostd.vsanDecommissioning.precheck.internalFailure = "Evacuation precheck failed - Internal failure."
vim.hostd.vsanDecommissioning.precheck.notAllowed = "Evacuation precheck failed - Decommission is not allowed with object {uuid}."
vim.hostd.vsanDecommissioning.precheck.existingHosts = "Evacuation precheck failed - Retry operation after adding {capacityNeededByExistingNodeInGB} GB of capacity to the existing nodes in the cluster."
vim.hostd.vsanDecommissioning.precheck.newHosts = "Evacuation precheck failed - Retry operation after adding {numOfNewNode} nodes with each node having {capacityNeededByNewNodeInGB} GB worth of capacity."
vim.hostd.vsanDecommissioning.precheck.existingAndNewHosts = "Evacuation precheck failed - Retry operation after adding {numOfNewNode} nodes with each node having {capacityNeededByNewNodeInGB} GB worth of capacity while also increasing the existing nodes' capacity by {capacityNeededByExistingNodeInGB} GB each."

vim.hostd.vsanRuntimeStats.timeToRepair = "Querying time left to repair non-compliant objects"

vim.hostd.vsanDiskOperation.autoModeEnabled = "Can not remove vSAN disk: vSAN storage auto claim mode is enabled"
vim.hostd.vsanDiskOperation.diskMappingNotFound = "Disk mapping '{diskMap}' not found."
vim.hostd.vsanDiskOperation.allFlashExceed = "Cannot add disks to allFlash disk group, as vSAN disks reach maximum size."
vim.hosts.vsanDiskOperation.diskIs4K = "Cannot add a 4K device to a vSAN node as support for these devices is currently disabled"
vim.hostd.vsanDiskOperation.hybridExceed = "Cannot add disks to hybrid disk group, as vSAN disks reach maximum size."

vim.hostd.pcipassthru.configure.failed = "Failed to configure devices: {devices}."
vim.hostd.pcipassthru.unbind.failed = "Failed to unbind devices: {devices}. Configuration will be applied after reboot."
vim.hostd.pcipassthru.vswitchUplink.failed = "Failed to enable PCI passthru for physical network adapter(s) {devices} as they are configured as uplinks for at least one virtual switch."

# Start of VC health status messages
vc.health.error.connToHealthStatusEndPointHttpError = "HTTP request failed; service: {0}, url: {1}, HTTP status: {2}"
vc.health.error.HealthStatusEndPointRequestFailed = "Error obtaining health status; service: {0}, url: {1}, error: {2}"
vc.health.statuscode = "{0} health is {1}"
vc.health.error.dbjobexec = "Unable to determine status of performance statistics rollup in database"
vc.health.error.dbjob1 = "Performance statistics rollup from Past Day to Past Week is not occurring in the database"
vc.health.error.dbjob2 = "Performance statistics rollup from Past Week to Past Month is not occurring in the database"
vc.health.error.dbjob3 = "Performance statistics rollup from Past Month to Past Year is not occurring in the database"
vc.health.error.spacecheck = "Unable to monitor database storage usage. Refer to VMware KB 2078305 for details."
vc.health.error.datafile = "Could not query table DBA_DATA_FILES. The vCenter Server database user account needs read privileges in order to monitor database storage usage. Refer to VMware KB 2078305 for details."
vc.health.error.autoextend = "Autoextend is not turned on for the vCenter Server database tablespaces. Autoextend must be enabled for proper operation. Refer to VMware KB 2078305 for details."

# End of VC health status messages

vc.vdb.health.threshold.error = "Invalid value for {k} : {v}. The warning percent should be less than the error percent."

### Start vpxd test email subject and body
vpxd.email.smtp.test.subject = "Test SMTP Configuration Message Sent from: {from}"
vpxd.email.smtp.test.body = "Test SMTP configuration message sent from: {from}\nSMTP server: {server}"
### End vpxd test email subject and body

#Start EnvironmentBrowser messages
com.vmware.vim.EnvironmentBrowser.unknown.hardware.version = "EnvironmentBrowser can not complete query due to an unknown hardware version."
#end of EnvironmentBrowser messages

#Start mark disk ssd/local messages
com.vmware.vim.hostsvc.storage.markDiskFailed = "Cannot mark disk {disk} as {desiredState.@enum.com.vmware.vim.hostsvc.markDisk.diskState}. {reason.@enum.com.vmware.vim.hostsvc.markDisk.fault}"
#end of mark disk ssd/local message

#Start VM PromoteDisk messages
com.vmware.vim.vm.promoteDisk.error.vmInaccessible            = "Virtual machine is currently not accessible. Verify that VM's host is accessible and VM is powered on. Retry operation after that."
com.vmware.vim.vm.promoteDisk.error.unrecoverableError        = "An unrecoverable error occurred while promoting a virtual disk. This condition can occur when VirtualMachine is continuously generating disk operations. Retry operation when IO load has reduced."
com.vmware.vim.vm.promoteDisk.error.diskError                 = "A virtual disk is not present or valid. Retry operation."
com.vmware.vim.vm.promoteDisk.error.hasSnapshots              = "The disks of the virtual machine have snapshots. Delete the snapshots and retry the operation."
com.vmware.vim.vm.promoteDisk.error.numLinksError             = "The number of delta links is greater than one for one or more of the virtual disks. Delete the links and retry the operation."
com.vmware.vim.vm.promoteDisk.error.invalidArguments          = "Ensure that offsetFromBottom is 0 and numLinks is 1"
com.vmware.vim.vm.promoteDisk.error.online = "Promoting online disk is not supported. Power off {arg} and retry."
com.vmware.vim.vm.promoteDisk.error.notNativeUnmanagedLinkedClone = "Promoting disk '{arg}' of a powered-on virtual machine is only supported for native unmanaged linked clone disks. To promote this disk, first power off or suspend the virtual machine."
com.vmware.vim.vm.promoteDisk.error.mixNativeUnmanagedLinkedClone = "Promoting disk '{disk1}' along with native unmanaged linked clone disk '{disk2}' is not supported. Promote only regular disks, or promote only native unmanaged linked clones disks, but do not promote both types of disks together."
com.vmware.vim.vm.promoteDisk.error.offNativeUnmanagedLinkedClone = "Promoting native unmanaged linked clone disk '{diskName}' is only supported on powered-on virtual machines."
com.vmware.vim.vm.promoteDisk.error.notUnlink = "Promoting a native unmanaged linked clone disk is only supported with the '{arg}' option set."
com.vmware.vim.vm.promoteDisk.error.hasParent = "Promoting native unmanaged linked clone disk '{diskName}' is only supported if the disk has no parent backing."
#end of VM PromoteDisk messages

#Start VCHA messages

com.vmware.vim.vcha.error.invalidClusterNicConfig     = "Failed to get vCenter HA network information. Verify if vCenter HA interface (NIC1) is configured correctly and is reachable."
com.vmware.vim.vcha.error.invalidFailoverNicConfig    = "Failed to get management network information. Verify if management interface (NIC0) is configured correctly and is reachable, and verify if correct DNS mapping is provided for forward and reverse hostname lookup."
com.vmware.vim.vcha.error.invalidPostgresConfig       = "PostgreSQL server is not configured correctly. Verify if PostgreSQL server is listening on address '{ipaddress}'."
com.vmware.vim.vcha.error.cannotCreateCluster         = "Failed to create a vCenter HA cluster."
com.vmware.vim.vcha.error.cannotCreateFile            = "Cannot create vCenter HA configuration file {filename} on node {ip}."
com.vmware.vim.vcha.error.failedBringUpIf             = "Failed to bring up management interface (NIC0). Check system logs and engage GSS if needed."
com.vmware.vim.vcha.error.clusterInStateTransition    = "Cannot process the request. Conflicting state transition operation is detected. Please retry later."
com.vmware.vim.vcha.error.invalidModeForRequest       = "Cannot process the request when vCenter HA is disabled."
com.vmware.vim.vcha.error.invalidNodeCountForRequest  = "Cannot process the request when vCenter HA cluster has less than 3 nodes. Please check if node {nodeip} is configured and is reachable."
com.vmware.vim.vcha.error.clusterAlreadyPresetup      = "vCenter Server has already been preconfigured for vCenter HA deployment."
com.vmware.vim.vcha.error.clusterNotPresetup          = "vCenter Server has not been preconfigured for vCenter HA deployment. Please refer to the prerequisites for vCenter HA deployment."
com.vmware.vim.vcha.error.clusterAlreadyConfigured    = "vCenter HA is already configured."
com.vmware.vim.vcha.error.clusterNotConfigured        = "vCenter HA is not configured."
com.vmware.vim.vcha.error.notCloned                   = "Verify if the Passive and the Witness nodes are cloned, up, and reachable."
com.vmware.vcha.health.replication.postgresql.norepl             = "PostgreSQL replication is not in progress."
com.vmware.vcha.health.replication.postgresql.mode.async         = "PostgreSQL replication mode is Asynchronous."
com.vmware.vcha.health.replication.postgresql.hasdataloss        = "PostgreSQL replication on the Passive node is catching up with the Active node."
com.vmware.vcha.health.replication.file.state         = "Appliance {fileProviderType} is {state}."
com.vmware.vim.vcha.error.embeddedNode                = "Cannot enable vCenter HA with Embedded PSC."
com.vmware.vim.vcha.error.embeddedDb                  = "Cannot enable vCenter HA with an external database."
com.vmware.vim.vcha.error.sshdNotRunning              = "vCenter HA requires SSH daemon to be running. Enable SSH before you can configure vCenter HA."
com.vmware.vim.vcha.error.opRunning                   = "An operation to create or modify the vCenter HA cluster is already in progress."
com.vmware.vim.vcha.error.passiveExists               = "The Passive node already exists in vCenter HA cluster. Refer to vCenter HA settings."
com.vmware.vim.vcha.error.witnessExists               = "The Witness node already exists in vCenter HA cluster. Refer to vCenter HA settings."
com.vmware.vim.vcha.error.vmonNotRunningOnPeer        = "The vMon service is not running on the node with HA network IP address {ip}. This caused a failure to complete vCenter HA configuration."
com.vmware.vim.vcha.error.manualDeploy                = "vCenter HA cluster was deployed manually."
com.vmware.vim.vcha.error.vmNotFound                  = "Could not find the {nodeRole} VM on the specified VC."
com.vmware.vim.vcha.error.managementNetworkInfoInvalid           = "{nodeRole} management network information is invalid."
com.vmware.vim.vcha.error.clusterNetworkInfoInvalid   = "{nodeRole} HA network information is invalid."
com.vmware.vcha.cluster.nic.not.created               = "Failed to create vCenter HA network adapter on the vCenter Server. Check system logs and engage GSS if needed."
com.vmware.vcha.error.failedGetPassiveIp              = "Failed to get the failover IP address on the Passive node. Verify if {passiveip} is up and reachable from the Active node."
com.vmware.vcha.checkPassiveWitness                   = "Verify if the Passive and the Witness nodes are up and reachable."
com.vmware.vcha.checkWitness                          = "Verify if the Witness node with IP address {ip} is up and reachable."
com.vmware.vcha.checkPassive                          = "Verify if the Passive node with IP address {ip} is up and reachable."
com.vmware.vcha.waitForPassiveCatchUp                 = "This could be a transient condition. Wait for the Passive node to catchup. If the issue persists, verify the network connectivity between the Active and the Passive nodes."
com.vmware.vcha.activeIsolated                        = "Active node in vCenter HA cluster is isolated."
com.vmware.vcha.checkPassiveDb                        = "Verify if PostgreSQL server is running on the Passive node and that the Passive node is reachable on the vCenter HA network."
com.vmware.vcha.nodeLoss                              = "vCenter HA cluster has lost a node."
com.vmware.vcha.error.ipNotSameFamily                 = "Must have identical IP address family for the Active, Passive and Witness nodes."
com.vmware.vcha.error.differentClusterIp              = "The vCenter HA network IP address you specified as {given} is different than the original IP address {orig} used to configure vCenter HA. You must use the same IP address."
com.vmware.vcha.error.differentFailoverIp             = "The management interface (NIC0) IP address you specified as {given} for the Passive node is different than the original IP address {orig} used to configure vCenter HA. You must use the same IP address."
com.vmware.vcha.error.tooManyAddress                  = "Only one IPv6 address is allowed on the vCenter HA network interface. Remove additional IPv6 addresses and retry."
com.vmware.vcha.error.unresolvedFailoverIp            = "The management interface (NIC0) IP address does not map to the vCenter Server PNID."
com.vmware.vcha.error.bothNetworksInSameSubnet        = "The Management interface (NIC0) and vCenter HA interface (NIC1) must be in different subnets."
com.vmware.vcha.error.vchaReqsVmOneDs                 = "vCenter HA does not support an Active node having disks on more than one datastore."
com.vmware.vcha.error.vchaReqsHostMatchDs             = "One or more hosts used for vCenter HA deployment have datastores not mounted on the host."
com.vmware.vcha.error.vchaDrsHosts                    = "The DRS cluster used for the deployment of vCenter HA nodes must have at least {count} hosts."
com.vmware.vcha.error.pnidHostnameMismatch            = "The hostname for {nodeIp} does not map to the vCenter Server PNID. Review the hostname you specified during the VM clone customization step."
com.vmware.vcha.error.managementVcNotReachable        = "Management vCenter Server may not be reachable, check network connectivity."
com.vmware.vcha.error.lazyimport.upgrade.state.unsafe = "vCenter HA deployment can not proceed because historical data import process is in progress."
com.vmware.vcha.error.vchaNonDrsHosts                 = "The cluster used for the deployment of vCenter HA nodes must have at least {count} hosts."
#End VCHA messages

#Start SDRS messages
com.vmware.sdrs.hms.unreachable                       = "Storage DRS is unable to perform operation because the vSphere Replication management server is unreachable."
com.vmware.sdrs.disk.dsUnspecified                    = "Datastore is unspecified for the disk {arg}."
com.vmware.sdrs.disk.moveTypeIvd                      = "Disk move type {arg} is invalid."
com.vmware.sdrs.disk.dsNotInPod                       = "Destination datastore {arg} is not in the storage pod."
com.vmware.sdrs.disk.unsetValue                       = "Value is empty or unset."
com.vmware.sdrs.disk.dsInPodInvldState                = "Disk state prevents SDRS placement of disk, which is already in pod."
com.vmware.intraVmRules.invalidDiskCnt                = "Could not add the virtual disk rule because of the incorrect disk count, expected minimum {arg} disks."
com.vmware.intraVmRules.disabledDisk                  = "Could not add the virtual disk rule because SDRS disabled for the disk {arg}."
com.vmware.intraVmRules.conflict                      = "Could not add the virtual disk rule because new rule is conflicting with the existing affinity rule {arg}."
com.vmware.intraVmRules.unknown                       = "Could not add the virtual disk rule because unknown rule type {arg} specified."
com.vmware.sdrs.datastore.excessVMXlimit              = "Could not migrate VM to the Datastore, since the number of poweredOn VMs limit is reached."
com.vmware.sdrs.pod.noHostForPartialConnectedPod      = "Could not place the disks on this partially connected POD. Please try to create the VM on a fully connected POD."
com.vmware.sdrs.datastore.constraint                  = "The datastore is not compatible with the virtual machine because of constraint {arg} violation."
#End SDRS messages

#Start CDRS/PlaceVm messages
com.vmware.cdrs.error.clusterManaged                  = "Cannot disable DRS. The cluster is currently being managed."
com.vmware.cdrs.error.invalidVmCpuDemandTimeWindow    = "{arg} must be a multiple of 5 between 0 and 40."
com.vmware.cdrs.placeVm.noCombination                 = "Failed to find a host and datastore combination in destination cluster for the input vm."
com.vmware.cdrs.placeVm.RpAdmissionFailure            = "Resource pool admission check fails in destination cluster for the input vm."
com.vmware.cdrs.placeVm.noValidHostOrDatastore        = "Failed to find any valid candidate host or datastore in destination cluster for the input vm."
com.vmware.cdrs.placeVm.noPreferredHost               = "Failed to find any suitable host specified in PlacementSpec or RelocateSpec for the input vm."
com.vmware.cdrs.placeVm.noConfigInfo                  = "The ConfigInfo of specified VM is not available."
com.vmware.cdrs.placeVm.emptyCompatSet                = "The user specified host is not compatible."
com.vmware.cdrs.placeVm.concurrentAccess              = "ConcurrentAccess violation failure since thread {threadID} is operating on the same VM."
com.vmware.cdrs.placeVm.MemClusterConstraintVio       = "Maximum memory overcommit percent at cluster level is {MemOCPct}."
#End CDRS/PlaceVm messages

#Start CDRS/MM messages
com.vmware.cdrs.maintenancemode.manual                = "Failed to move a VM out of maintenance mode candidate host since the VM is in manual mode."
com.vmware.cdrs.maintenancemode.vmotionfailure        = "Failed to put host into maintenance mode since vmotion failed unexpectedly. Retry operation."
com.vmware.cdrs.maintenancemode.powerfailure          = "Failed to put host into maintenance mode since powering on standby host failed unexpectedly. Retry operation."
com.vmware.cdrs.maintenancemode.preCheckFailure       = "Failed to use enhanced maintenance mode workflow since precheck fails. Use queryWhatIfEnterMaintenance API to check the faults."
com.vmware.cdrs.maintenancemode.haProtectionFailure   = "Failed to update HA protection attributes of suspend-to-memory VMs."
com.vmware.cdrs.maintenancemode.powerOffFailure       = "Failed to power off VM {vm}."
com.vmware.cdrs.maintenancemode.drsNotEnabled         = "Cannot automatically put host into maintenance mode since DRS is not enabled."
com.vmware.cdrs.maintenancemode.hostNotEmpty          = "Cannot put host into maintenance mode since host is not in cluster and has {running} powered on virtual machines."
com.vmware.cdrs.maintenancemode.datastoreOutOfSpace   = "Host cannot enter maintenance mode because Datastore {datastore} is running out of space to accommodate suspended disks."
com.vmware.cdrs.maintenancemode.suspendFileTooLarge   = "Host cannot enter maintenance mode because size of VM {vm}'s suspended file {suspendFileSize} would exceed the maximum memory file size {maxMemFileSize} supported by Datastore {datastore}."
com.vmware.cdrs.maintenancemode.hostHasLatencyVm      = "Host cannot enter maintenance mode because VM {vm} has high latency sensitivity and cannot be suspended to memory."
com.vmware.cdrs.maintenancemode.hostHasEncryptedVm    = "Host cannot enter maintenance mode because encrypted VM {vm} cannot be suspended to memory."
com.vmware.cdrs.maintenancemode.hostHasVmWithPTD      = "Host cannot enter maintenance mode because VM {vm} has pass through device - {key} and VM cannot be suspended."
com.vmware.cdrs.maintenancemode.hostHasVmWithPmem     = "Host cannot enter maintenance mode because VM {vm} is configured with Persistent Memory - {key} and VM cannot be suspended to memory."
com.vmware.cdrs.maintenancemode.hostHasFtVm           = "Host cannot enter maintenance mode because it is hosting Fault Tolerance VM {vm}."
com.vmware.cdrs.maintenancemode.hostHasVcenterVm      = "Host cannot enter maintenance mode because it is hosting vCenter VM {vm}."
com.vmware.cdrs.maintenancemode.suspendDisabled       = "Host cannot enter maintenance mode because it is hosting VM {vm} with suspend disabled and it cannot be suspended."
com.vmware.cdrs.maintenancemode.vsanCluster           = "VC Prechecks for the suspend to memory evacuation action are currently not supported on hosts which are part of vSAN cluster."
com.vmware.cdrs.maintenancemode.suspendToMemoryNotSupported = "Host cannot enter maintenance mode because it is hosting VMs with evacuation action suspend to memory and this action is not supported by host."
com.vmware.cdrs.maintenancemode.vmWithZippedPage      = "Host cannot enter maintenance mode because VM {vm} has compressed pages and cannot be suspended to memory."
com.vmware.cdrs.maintenancemode.vmWithSwappedPage     = "Host cannot enter maintenance mode because VM {vm} has swapped pages and cannot be suspended to memory."
com.vmware.cdrs.maintenancemode.hostHasNotEnoughMem   = "Host cannot enter maintenance mode because it does not have enough memory to suspend VMs to memory."
com.vmware.cdrs.maintenancemode.hostHasNotEnoughNumaMem = "Host cannot enter maintenance mode because it does not have enough NUMA memory to suspend VMs to memory."
com.vmware.cdrs.maintenancemode.hostNotReady          = "Host cannot enter maintenance mode because it is not ready to suspend VMs to memory."
com.vmware.cdrs.maintenancemode.clusterNotInAutomatedMode  = "Host can not enter maintenance mode since DRS is not in fully automated mode for the cluster."
com.vmware.cdrs.maintenancemode.clusterLoadViolated   = "Host cannot enter maintenance mode since host {host} {resource} load ({clustload}%) exceeds the tolerance threshold ({threshold}%)."
com.vmware.cdrs.maintenancemode.unexpectedFault       = "Host cannot enter maintenance mode because of an unexpected fault {fault}."
com.vmware.cdrs.maintenancemode.vsanFault             = "vSAN host {host} can not enter maintenance mode in the current data evacuation mode."
com.vmware.cdrs.maintenancemode.vsanResourceCheckFailed = "vSAN resource check has failed on host {host}. Go to vSAN Data Migration Pre-check page for more details."
com.vmware.cdrs.maintenancemode.vsanLoadFault         = "vSAN host {host} can not enter maintenance mode since the projected storage load on the cluster exceeds the tolerance threshold ({threshold}%)."
com.vmware.cdrs.maintenancemode.wcp.entermaintenancemode = "Host cannot enter maintenance mode because it failed to enter Namespaces maintenance mode on the node."
com.vmware.cdrs.maintenancemode.wcp.exitmaintenancemode = "Host cannot exit maintenance mode because it failed to exit Namespaces maintenance mode on the node."
com.vmware.cdrs.maintenancemode.vMotionQueuing          = "Host {host} cannot enter maintenance mode because all the resources are currently consumed by ongoing migrate operations."
#End CDRS/MM messages

#Start CDRS/Rules messages.
com.vmware.vim.cdrs.invalidGroupName                  = "An existing vm-host rule has a group with name {arg}, and its type is different from the specified group type";
com.vmware.cdrs.rule.resOverLoaded                    = "Rule host {resource} resource is overloaded. Resource entitlement is {entitlement} and host capacity is {capacity}."
#End CDRS/Rules messages.

#Start CDRS/Constraint check messages.
com.vmware.drs.constraints.cpu.SlotsAdmPolicyViolation = "Constraint check failed since the host has {cpu} Mhz reserved for HA failover."
com.vmware.drs.constraints.mem.SlotsAdmPolicyViolation = "Constraint check failed since the host has {mem} MB reserved for HA failover."
com.vmware.drs.constraints.network.noPnicsFound        = "Host {host} has no physical adapters connected to the switch or the switch was not found."
com.vmware.drs.constraints.network.insufficientPnicCapacity = "The physical adapters on host {host} do not have sufficient capacity to accomodate VM {vm}"
#End CDRS/Constraint check messages.

# Start HA messages.
com.vmware.vc.HA.error.cyclicDependencyOrchestration  = "Cyclic dependency in VM orchestration at VM group : {arg}"
com.vmware.vc.HA.error.missingVmGroup                 = "Missing VM group in VM-VM dependency rule {arg}"
com.vmware.vc.HA.error.vmToVmGroupValidation          = "Dependency rule violation: VM belong to more than one VM group: {arg}"
com.vmware.vc.HA.error.restartDisabledVmInChain       = "Restart disabled VM {arg} in dependency chain."
com.vmware.vc.HA.error.vmInDependencyRule             = "VM {arg} has hard dependencies with other VMs in the cluster."
com.vmware.vc.HA.error.vmHasOrchestrationSettings     = "VM {arg} containing orchestration settings is not compatible with vCenter Server 6.0 or older."
com.vmware.vc.HA.error.vmcHaPolicyViolation           = "{required} slots are needed to satisfy HA failover policy, only {placed} can be placed without reservation violation."
com.vmware.vc.HA.error.slotsPolicyViolated            = "Failed to find a host for HA slot VM corresponding to the target vm {vm}."
# End HA messages.

# Start Fault Tolerance messages.
com.vmware.vim.ft.encryptionNotSupported = "Fault Tolerance is not supported for VMs with encryption enabled."
com.vmware.vim.ft.vsanDpNotSupported = "Fault Tolerance is not supported for VMs with vSAN Data Protection enabled."
com.vmware.vim.ft.rrFtVmNotSupported = "VM {arg} has legacy Fault Tolerance turned on, which is not supported by this vCenter Server."
com.vmware.vim.ft.sgxNotSupported = "Fault Tolerance is not supported for VMs with Intel Software Guard Extensions enabled."
# End Fault Tolerance messages.

# Start of nvdimmsystem error messages
vim.hostd.nvdimmsystem.error.noperm = "System not in maintenance mode. Operation on NVDIMM not permitted"
vim.hostd.nvdimmsystem.error.nomem = "System out of memory"
vim.hostd.nvdimmsystem.error.notinit = "NVDIMM state not initialized"
vim.hostd.nvdimmsystem.error.notready = "NVDIMM device not ready"
vim.hostd.nvdimmsystem.error.limitexceed = "NVDIMM namespace size limit exceeded"
vim.hostd.nvdimmsystem.error.vendorerror = "NVDIMM vendor specific error"
vim.hostd.nvdimmsystem.error.addressinvalid = "Invalid user address"
vim.hostd.nvdimmsystem.error.readonly = "Read-only mode, cannot accept persistent writes"
vim.hostd.nvdimmsystem.nameTooLong = "NVDIMM Name too long"
vim.hostd.nvdimmsystem.error.deleteGpt = "Cannot delete GPT in namespace"
# End of nvdimmsystem error messages

# Start of TPM2.0 host attestation failure messages
vim.vmware.tpm.error.internalFailure = "Internal failure."
vim.vmware.tpm.error.invalidInput = "One or more inputs to the verifier were invalid."
vim.vmware.tpm.error.nonceMismatch = "Nonce mismatch."
vim.vmware.tpm.error.badQuote = "Host TPM quote authentication failed."
vim.vmware.tpm.error.quoteInvalid = "PCR values could not be verified against the host TPM quote."
vim.vmware.tpm.error.badVibDescriptor = "Host VIB descriptor authentication failed."
vim.vmware.tpm.error.logValidate = "One or more entries in the host event log were invalid."
vim.vmware.tpm.error.secureBoot = "Host Secure Boot was disabled."
vim.vmware.tpm.error.logReplay = "PCR replay failed."
# End of TPM2.0 host attestation failure messages

# Start of TPM2.0 host TPM error messages
vim.vmware.tpm.error.ek.certificateNotFound = "No RSA Endorsement Key certificate found in TPM 2.0 device's non-volatile memory."
vim.vmware.tpm.error.ek.certificateParse = "Failed to parse RSA Endorsement Key certificate found in TPM 2.0 device's non-volatile memory."
vim.vmware.tpm.error.ek.templateParse = "Failed to parse Endorsement Key template."
vim.vmware.tpm.error.ek.creation = "Endorsement Key creation failed on device."
vim.vmware.tpm.error.ek.certificateMismatch = "Created Endorsement Key does not match public key content in the vendor provided Endorsement Key certificate."
vim.vmware.tpm.error.ek.provisionFailure = "An error occurred while attempting to provision Endorsement key."
vim.vmware.tpm.error.deviceCommand = "TPM Command '{commandName}' failed with error: {errorCode}."
# End of TPM2.0 host TPM error messages


# Start Improved Virtual Disk messages.
com.vmware.vim.fcd.error.infrastructureNamespaceFailed = "Failed to open the following namespace: {arg}"
# End Improved Virtual Disk messages.

#Start of HCI error messages
vim.vmware.cluster.error.noHostsToConfigure = "No hosts found in the cluster to configure"
vim.vmware.cluster.error.dvsInvalid = "Distributed Switch and associated Distributed Port Groups are missing."
vim.vmware.cluster.error.dvpgInvalid = "Distributed Port Group on Distributed Switch {dvs} is missing."
vim.vmware.cluster.error.hcfgNotFound = "Configuration of host {host} could not be retreived."
vim.vmware.cluster.error.lockdownMode = "Lockdown mode on host {host} is '{currentMode}'. Desired mode is '{desiredMode}'."
vim.vmware.cluster.error.ntpConfig = "NTP settings on host {host} is different from the desired settings."
vim.vmware.cluster.error.hostNotOnDvs = "Host {host} is not attached to Distributed Switch {dvs}."
vim.vmware.cluster.error.pnicNotOnDvs = "Host {host} is not attached to Distributed Switch {dvs} on physical adapter {pnic}."
vim.vmware.cluster.error.vnicInvalid = "Host {host} does not have VMkernel network adapter for {service} on Distributed Port Group {expectedDvpg}."
vim.vmware.cluster.error.pnicNotPresentOnAllHosts = "Physical adapter {pnic} is not present on all hosts."
vim.vmware.cluster.error.pnicAttachedToMultipleSwitches = "Physical adapter {pnic} is attached to multiple switches."
vim.vmware.cluster.error.pnicOnMultipleVss = "Physical adapter {pnic} detected to be attached to vSwitches {vSwitch1} and {vSwitch2}."
vim.vmware.cluster.error.pnicsOnFirstSeenVss = "vSwitch {vSwitchName} is connected to physical adapters: {pnics}."
vim.vmware.cluster.error.DVSCompatibility = "Host {host} is not compatible with Distributed Switch {dvs} due to errors: {errors}."
vim.vmware.cluster.error.pnicNotAttachedToHost = "Physical adapter {pnic} is not attached to host: {host}."
vim.vmware.cluster.error.pnicAttachedToAnotherDvs = "Physical adapter {pnic} is already attached to another Distributed Switch."
vim.vmware.cluster.error.hostHasNoPnicsOnDvs = "Host {host} has no physical adapters connected to Distributed Switch {dvs}"
vim.vmware.cluster.error.pnicOnDvsMismatch = "Physical adapters of host {host} on Distributed Switch {dvs} does not match the input."

vim.vmware.cluster.error.badInput = "Validation failed due to invalid argument: {arg}."
vim.vmware.cluster.error.notEnoughUplinks = "Distributed Switch {dvs} does not have enough uplinks."
vim.vmware.cluster.error.netIOCVersionNotAllowed = "Network I/O control version 2 is not allowed for Distributed Switch {arg}."
vim.vmware.cluster.error.vSanClusterOverallHealthRed = "vSAN cluster overall health status is {overallHealth}."
vim.vmware.host.error.pnicAddVss = "Failed to add physical adapters to vSwitch {vSwitchName} on host {host}."
vim.vmware.host.error.notInCluster = "Host {host} is not part of cluster."
vim.vmware.host.error.monf = "Host {host} is not found."
vim.vmware.host.error.configure = "Failed while configuring host {host} in the cluster."
vim.vmware.host.error.clusterMove = "Failed to move host {host} to cluster in desired state."
vim.vmware.host.error.queueLro = "Failed to add a task for host {host}."
vim.vmware.host.error.addStandalone = "Unable to add host {hostname} to the inventory."
vim.vmware.host.error.runningWorkloads = "Host {hostname} running workloads other than VCSA alone or with PSC while undergoing HCI configuration is not supported."
vim.vmware.host.error.notInMMSelfManaged = "Host {hostname} is not in maintenance mode (All hosts except the host running VCSA alone or with PSC should be in maintenance mode)."
vim.vmware.host.error.notInMM = "Host {hostname} is not in maintenance mode"
vim.vmware.host.error.enterMM = "Cannot enter maintenance mode on a host running VMs."
vim.vmware.vm.error.migrate = "Cannot migrate the vCenter Server VM when cluster configuration is in progress using QuickStart workflow."
# End of HCI error messages

# Start of tagging error messages.
com.vmware.tagging.UnknownEntity = "Unknown entity: {entity}."
# End of tagging error messages.

# Start of login error messages.
#
# Note:
#       This extended exception must be used only and only in cases when
#       the session is already authorized and never use it in unauthorized
#       sessions.
vim.fault.InvalidLoginWithReason = "Login failed because {1}"
vim.fault.InvalidLoginReasonRegisterFailed = "the session could not be re-registered."
vim.fault.InvalidLoginReasonAlredyClose = "the session is closed."
vim.fault.InvalidLoginReasonterminating = "the session is terminating."
# end of login error messages.

# Start of HPP path selection policy related messages
vim.hostd.hostsvc.HPP.policy.fixed.label = "FIXED"
vim.hostd.hostsvc.HPP.policy.fixed.summary = "Select fixed path for I/Os."
vim.hostd.hostsvc.HPP.policy.lbrr.label = "LB-RR"
vim.hostd.hostsvc.HPP.policy.lbrr.summary = "Select paths in round-robin fashion for I/Os."
vim.hostd.hostsvc.HPP.policy.lbiops.label = "LB-IOPS"
vim.hostd.hostsvc.HPP.policy.lbiops.summary = "Select path having least outstanding I/Os."
vim.hostd.hostsvc.HPP.policy.lbbytes.label = "LB-BYTES"
vim.hostd.hostsvc.HPP.policy.lbbytes.summary = "Select path having least outstanding bytes."
vim.hostd.hostsvc.HPP.policy.lblatency.label = "LB-Latency"
vim.hostd.hostsvc.HPP.policy.lblatency.summary = "Select path having least latency."

vim.hostd.hostsvc.HPP.param.path.label = "Prefered path"
vim.hostd.hostsvc.HPP.param.path.summary = "Prefered path for I/Os."
vim.hostd.hostsvc.HPP.param.iops.label = "IOPS"
vim.hostd.hostsvc.HPP.param.iops.summary = "I/O count for path switch."
vim.hostd.hostsvc.HPP.param.bytes.label = "Bytes"
vim.hostd.hostsvc.HPP.param.bytes.summary = "Byte count for path switch."
vim.hostd.hostsvc.HPP.param.latencyEvalTime.label = "Latency evaluation time"
vim.hostd.hostsvc.HPP.param.latencyEvalTime.summary = "Latency evaluation interval on the paths."
vim.hostd.hostsvc.HPP.param.samplingIosPerPath.label = "Sampling I/Os per path"
vim.hostd.hostsvc.HPP.param.samplingIosPerPath.summary = "Sample I/Os to be issued on path to calculate latency."
# End of HPP path selection policy related messages

# Start of VMC external storage related messages
vim.vmware.cluster.error.dbCommitFailed = "Cluster datastore configuration was modified by another user while this transaction was in progress for {cluster}."
vim.vmware.cluster.error.mountFailed = "Mount of NAS datastore {datastore} failed on the host {host}."
vim.vmware.cluster.error.unmountFailed = "Unmount of NAS datastore {datastore} failed on the host {host}."
# End of VMC external storage related messages

# Start of encrypted VM unlock failed message
com.vmware.vim.vpxd.encryption.vmNotUnlocked = "The Virtual Machine did not unlock"
# End of encrypted VM unlock failed message

# Start of vSphere Trust Authority messages
# esxtokend
# NOTE: sync with bora/apps/esxtokend/vapi/messageResolver.cpp
com.vmware.esx.authentication.client_profiles.not_found = "Profile not found {profile}"
com.vmware.esx.authentication.client_profiles.invalid_createspec = "{field} not set"
com.vmware.esx.authentication.client_profiles.unknown_subject_type = "Unknown subject type"
com.vmware.esx.authentication.client_profiles.invalid_filterspec = "Invalid filter specification for method 'List'"
com.vmware.esx.authentication.client_profiles.multiple_filter_subjects = "Invalid filter specification for method 'List' - multiple subjects specified"
com.vmware.esx.authentication.client_profiles.incomplete_filterspec = "Incomplete filter specification for method 'List', missing {argument}"
com.vmware.esx.authentication.client_profiles.invalid_projection = "Invalid projection specification for method 'List'"
com.vmware.esx.authentication.trust.security_token_issuers.not_found = "Security token issuer alias not found {issuerAlias}"
com.vmware.esx.authentication.trust.security_token_issuers.issuer_not_found = "Security token issuer not found {issuer}"
com.vmware.esx.authentication.trust.security_token_issuers.already_exists = "Security token issuer alias already exists {issuerAlias}"
com.vmware.esx.authentication.trust.security_token_issuers.parsing_certificate_failed = "Parsing certificate [certificate chain #{chain_index}][certificate #{cert_index}] failed:\n{cert}\nReason: {message}"
com.vmware.esx.authentication.trust.security_token_issuers.standardizing_certificate_failed = "Standardizing certificate [certificate chain #{chain_index}][certificate #{cert_index}] failed:\n{cert}\n"
com.vmware.esx.authentication.trust.security_token_issuers.storage_update_failed = "ConfigStore update for issuer alias {issuerAlias} failed\nReason: {message}"
com.vmware.esx.authentication.trust.security_token_issuers.unknown_summary_type = "Unknown summary type"
com.vmware.esx.authentication.invalid_token = "Invalid JWT"
com.vmware.esx.authentication.external_token_invalid_signature = "External JWT signature verification failed"
com.vmware.esx.authentication.token_expired = "JWT validity expired"
# kmxa
# NOTE: sync with bora/apps/kmxa/vapi/messageResolver.cpp
com.vmware.esx.trusted_infrastructure.attestation.client.internal_attest_failure_maxRoundTrips = "Internal failure during attestation. Maximum allowable attestation services round trips reached."
com.vmware.esx.trusted_infrastructure.attestation.client.internal_attest_failure_numContexts = "Internal failure during attestation. Unexpected number of contexts."
com.vmware.esx.trusted_infrastructure.attestation.client.internal_attest_failure_processContext = "Internal failure during attestation. Unable to process context."
com.vmware.esx.trusted_infrastructure.attestation.client.internal_attest_failure_unexpectedResult = "Internal failure during attestation. Unexpected result format."
com.vmware.esx.trusted_infrastructure.attestation.client.connection_setup_failure = "Failed to setup Attestation service connection."
com.vmware.esx.trusted_infrastructure.attestation.client.no_ek = "TPM2 endorsement public key or certificate could not be retrieved."
com.vmware.esx.trusted_infrastructure.attestation.client.no_tpm2 = "No TPM2 device available."
com.vmware.esx.trusted_infrastructure.attestation.client.timeout = "Timeout waiting for pending attestation."
# kmxa: Attestation Services configuration errors.
com.vmware.esx.trusted_infrastructure.attestation.services.invalid_port = "Invalid Attestation Service port {port}."
com.vmware.esx.trusted_infrastructure.attestation.services.already_exists = "Attestation Service already exists."
com.vmware.esx.trusted_infrastructure.attestation.services.host_configuration_error = "Error accessing service configuration."
com.vmware.esx.trusted_infrastructure.attestation.services.invalid_certificates = "Invalid Attestation Service certificate."
com.vmware.esx.trusted_infrastructure.attestation.services.not_configured = "Attestation Services not configured."
com.vmware.esx.trusted_infrastructure.attestation.services.not_found = "Attestion Service not found {service}."
com.vmware.esx.trusted_infrastructure.attestation.services.group_already_exists = "Only one Attestion Service per group is allowed. Offending group: {group}."
# kmxa: Key Provider Services configuration errors.
com.vmware.esx.trusted_infrastructure.kms.services.invalid_port = "Invalid Key Provider Service port {port}."
com.vmware.esx.trusted_infrastructure.kms.services.already_exists = "Key Provider Service already exists."
com.vmware.esx.trusted_infrastructure.kms.services.host_configuration_error = "Error accessing service configuration."
com.vmware.esx.trusted_infrastructure.kms.services.host_not_attested = "Operation failed as host is not attested."
com.vmware.esx.trusted_infrastructure.services.cannot_communicate = "Unable to communciate with Trust Authority services."
com.vmware.esx.trusted_infrastructure.kms.services.invalid_certificates = "Invalid Key Provider Service certificate."
com.vmware.esx.trusted_infrastructure.kms.services.not_found = "Key Provider Service not found {service}."
com.vmware.esx.trusted_infrastructure.kms.services.group_already_exists = "Only one Key Provider Service per group is allowed. Offending group: {group}."
com.vmware.esx.trusted_infrastructure.trust_authority_services.not_configured = "Incomplete or missing Trust Authority Components configuration."
# kmxa: Common configuration errors for Attestation and Key Provider Services.
com.vmware.esx.trusted_infrastructure.common.firewall_error = "Unable to update firewall."
# kmxd
# NOTE: sync with bora/apps/kmxd/vapi/messageResolver.cpp
com.vmware.esx.kms.authentication.invalid_token = "Invalid Token."
com.vmware.esx.kms.cert_format_unknown = "Unable to determine the certificate format."
com.vmware.esx.kms.invalid_config_value = "Invalid value is found for {parameter} in the configuration."
com.vmware.esx.kms.key_server_timeout = "Timed out waiting for response from key server {server}."
com.vmware.esx.kms.key_server_communication_error = "Unable to communicate with key server {server}."
com.vmware.esx.kms.keyoperationsvc.generatekey.error = "Unable to generate a new key."
com.vmware.esx.kms.keyoperationsvc.decrypt.error = "Unable to decrypt the ciphertext."
com.vmware.esx.kms.master_key_not_found = "Unable to find the master key on key server {server}."
com.vmware.esx.kms.master_key_pre_active = "The master key on key server {server} is in pre-active state and needs to be activated."
com.vmware.esx.kms.master_key_unusable_for_encryption = "The master key on key server {server} is deactivated or compromised. It can be used for decryption only and cannot be used for encryption."
com.vmware.esx.kms.master_key_unusable = "The master key on key server {server} is destroyed or destroyed-compromised and cannot be used for encryption or decryption."
com.vmware.esx.kms.master_key_length_unsupported = "The master key length is not supported by key server {server}."
com.vmware.esx.kms.no_versions_found = "Unable to determine the versions supported by key server {server}."
com.vmware.esx.kms.no_supported_versions = "No known version is being supported by key server {server}."
com.vmware.esx.kms.providers.already_exists = "The provider '{provider}' already exists."
com.vmware.esx.kms.providers.config_store_error = "Unable to update configuration."
com.vmware.esx.kms.providers.crypto_error.create = "Unable to create client certificate or key."
com.vmware.esx.kms.providers.csr_error = "Certificate signing request failed."
com.vmware.esx.kms.providers.firewall_error = "Unable to update firewall."
com.vmware.esx.kms.providers.invalid_argument = "A specified parameter was not correct: '{parameter}'."
com.vmware.esx.kms.providers.not_found = "The provider '{provider}' does not exist."
com.vmware.esx.kms.providers.private_key_mismatch = "Client certificate and private key do not match."
com.vmware.esx.kms.providers.private_key_unknown = "Client certificate does not correspond to a certificate signing request, private key must be supplied."
com.vmware.esx.kms.providers.server_certs.limit_error = "Number of server certificates cannot exceed {num}."
com.vmware.esx.kms.raw_config.config_store_error = "Unable to update configuration."
com.vmware.esx.kms.raw_config.compress_error = "Failed to compress the configuration."
com.vmware.esx.kms.raw_config.unknown_infotype = "Unknown info type requested for raw config."
com.vmware.esx.kms.providers.server_certificates.remotesvc.list.error = "Unable to get certificate from the server {server}."
com.vmware.esx.kms.providers.statussvc.client_certificate_expiring = "Client certificate is expiring within {days} days."
com.vmware.esx.kms.providers.statussvc.client_certificate_unknown_expiry = "Unable to fetch and check the expiry of client certificate."
com.vmware.esx.kms.providers.statussvc.client_not_trusting_server = "Client is unable to trust the server {server}."
com.vmware.esx.kms.providers.statussvc.get.error = "Unable to get status information from server {server}."
com.vmware.esx.kms.providers.statussvc.server_certificate_expiring = "Server certificate is expiring within {days} days."
com.vmware.esx.kms.providers.statussvc.server_certificate_unknown_expiry = "Unable to fetch and check the expiry of server certificate of server {server}."
com.vmware.esx.kms.providers.statussvc.server_not_trusting_client = "Server {server} is unable to trust the client."
com.vmware.esx.kms.providers.statussvc.trusted_server_certificates.unknown = "Unable to find trusted server certificates."
com.vmware.esx.kms.server_cert_not_required = "Key server {server} did not request a certificate."

# attestd
# NOTE: sync with bora/apps/attestd/vapi/messageResolver.cpp
com.vmware.esx.attestation.os.esx.base_images.already_exists = "The base image version '{version}' already exists."
com.vmware.esx.attestation.os.esx.base_images.invalid_argument = "A specified parameter was not correct: '{argument}'."
com.vmware.esx.attestation.tpm2.ca_certificates.already_exists = "A TPM Certificate Authority certificate with name '{name}' already exists."
com.vmware.esx.attestation.tpm2.ca_certificates.empty_certs = "No TPM Certificate Authority certificates were specified."
com.vmware.esx.attestation.tpm2.ca_certificates.empty_name = "The TPM Certificate Authority certificate name must be specified."
com.vmware.esx.attestation.tpm2.ca_certificates.invalid_chain = "The TPM Certificate Authority certificate chain cannot be validated."
com.vmware.esx.attestation.tpm2.endorsement_keys.already_exists = "A TPM Endorsement Key with name '{name}' already exists."
com.vmware.esx.attestation.tpm2.endorsement_keys.already_exists_ek = "The TPM Endorsement Key is already configured."
com.vmware.esx.attestation.tpm2.endorsement_keys.empty_ek = "No TPM Endorsement Key was specified."
com.vmware.esx.attestation.tpm2.endorsement_keys.empty_name = "The TPM Endorsement Key name must be specified."
com.vmware.esx.attestation.tpm2.endorsement_keys.invalid_cert = "The TPM Endorsement Key certificate could not be verified against the configured Certificate Authorities."
com.vmware.esx.attestation.tpm2.endorsement_keys.invalid_key = "The TPM Endorsement Key is not a valid public key."
com.vmware.esx.attestation.tpm2.endorsement_keys.mismatched_ek = "The TPM Endorsement Key certificate does not match the public key."
com.vmware.esx.attestation.tpm2.endorsement_keys.no_ek = "A TPM Endorsement Key requires a public key or certificate."
com.vmware.esx.attestation.tpm2.settings.invalid_requirements = "Endorsement Key certificate validation or public key validation is required."
com.vmware.esx.attestation.raw_config.export_failed = "Unable to export the Attestation Service configuration."
com.vmware.esx.attestation.raw_config.import_failed = "Unable to import the Attestation Service configuration."
com.vmware.esx.attestation.raw_config.invalid_infotype = "Unknown configuration information type requested."
com.vmware.esx.attestation.report.attest_failed = "Attestation failed."
com.vmware.esx.attestation.report.attest_incomplete = "Attestation failed due to incomplete data."
com.vmware.esx.attestation.report.attest_invalid_input = "Attestation failed due to invalid or corrupted inputs."
com.vmware.esx.attestation.report.attest_invalid_state = "Attestation failed with an invalid message sequence."
com.vmware.esx.attestation.report.attest_no_secure_boot = "Attestation failed because Secure Boot is not enabled."
com.vmware.esx.attestation.report.attest_session_limit = "Attestation active session limit reached."
com.vmware.esx.attestation.report.attest_unknown_session = "Attestation session has timed out."
com.vmware.esx.attestation.report.attest_unknown_software = "Attestation failed to identify the remote software version."
com.vmware.esx.attestation.report.attest_verify_failed = "Attestation failed to verify software measurements."
com.vmware.esx.attestation.report.invalid_doctype = "An unknown attestation document type was requested."
com.vmware.esx.attestation.report.tpm_cert_required = "Attestation failed because a TPM certificate is required."
com.vmware.esx.attestation.report.unknown_tpm = "Attestation failed due to an unknown TPM."
com.vmware.esx.attestation.report.unknown_tpm_ca = "Attestation failed due to an untrusted TPM certificate."
# attestd: status
# NOTE: sync with bora/apps/attestd/vapi/statusImpl.cpp
com.vmware.esx.attestation.status.invalid_tpm2_settings = "Invalid TPM settings"
com.vmware.esx.attestation.status.tpm_ca_unset = "No TPM Certificate Authority certificates are configured."
com.vmware.esx.attestation.status.tpm_ek_unset = "No TPM Endorsement Keys are configured."
com.vmware.esx.attestation.status.tpm_dup_ca = "Duplicate TPM Certificate Authority certificates present."
com.vmware.esx.attestation.status.trusted_software_unset = "No trusted software is configured."
com.vmware.esx.attestation.status.esx_base_images_load_error = "Failed to load trusted ESX software."
# vpxd
# NOTE: sync with bora/vpx/vpxd/trustedSvc/trustedSvcUtil.cpp
com.vmware.vcenter.trusted_infrastructure.trusted_clusters.inconsistent_cluster = "Trusted Cluster is in an inconsistent state."
# NOTE: sync with bora/vpx/vpxd/trustedSvc/vapiClientWrappers.cpp
com.vmware.vcenter.trusted_infrastructure.task_status_error = "Unexpected failure when attempting to get status for task({task})"
com.vmware.vcenter.trusted_infrastructure.task_timed_out = "task({task}) timed out"
# NOTE: sync with bora/vpx/vpxd/trustedSvc/kms/providersImpl.cpp
com.vmware.vcenter.trusted_infrastructure.trusted_clusters.kms.providers.empty = "Trusted Host returned empty result."
com.vmware.vcenter.trusted_infrastructure.trusted_clusters.kms.providers.inconsistent = "Hosts in Trusted Cluster are inconsistent."
# End of vSphere Trust Authority messages

# Start PersonalityManager error messages
com.vmware.vim.host.error.unsupportedVersion = "Host {host} with ESXi version {version} cannot be added to the cluster. Clusters using a single image to manage hosts require minimum ESXi version 7.0."
com.vmware.vim.host.error.statelessHost = "Stateless host {host} cannot be added to clusters using a single image to manage hosts."
com.vmware.vim.host.error.retrieveInfo = "Host {host} information can not be retrieved."
com.vmware.vim.host.error.verifyLifecycle = "Host {host} failed validations for lifecycle management."
# End PersonalityManager error messages

# Start of VStorageObjectManager related messages
com.vmware.vim.vslm.vStorageObjectManager.keyTypeNotSupported = "Encryption operations with Trusted Host Services managed key on FCDs are not supported."
com.vmware.vim.vslm.vStorageObjectManager.invalid_disk_crypto_spec = "DiskCryptoSpec which contains parent is not supported."
com.vmware.vim.vslm.vStorageObjectManager.invalid_crypto_spec_encrypt = "CryptoSpecEncrypt is expected when encrypting virtual disks if the crypto field is explicitly specified."
com.vmware.vim.vslm.vStorageObjectManager.invalid_crypto_spec_decrypt = "CryptoSpecDecrypt is expected when decrypting virtual disks if the crypto field is explicitly specified.."
com.vmware.vim.vslm.vStorageObjectManager.invalid_crypto_spec_noop = "CryptoSpecNoOp is expected if the crypto field is explicitly specified."
com.vmware.vim.vslm.vStorageObjectManager.invalid_crypto_spec = "CryptoSpecNoOp/CryptoSpecShallowRecrypt /CryptoSpecDeepRecrypt is expected when applying encryption policy on encrypted disks if the crypto field is explicitly specified. Instead, if the crypto field is unset, it will be deduced to be of type CryptoSpecNoOp."
com.vmware.vim.vslm.vStorageObjectManager.invalid_crypto_spec_recrypt = "Crypto has to be of type CryptoSpecDeepRecrypt or CryptoSpecShallowRecrypt."
com.vmware.vim.vslm.vStorageObjectManager.optype_not_supported = "Unknown CryptoOpType is not supported."
# End of VStorageObjectManager related messages

# Start of HA ReadyForApply Check messages
com.vmware.vpxd.healthPerspectives.ready_for_apply.ha.name = "HA image constraints check"
com.vmware.vpxd.healthPerspectives.ready_for_apply.ha.description = "This check verifies that the HA constraints in the image spec about to be applied are set appropriately."
com.vmware.vpxd.healthPerspectives.ready_for_apply.ha.image_spec_not_up_to_date = "The HA constraints in the image spec have version {imageSpecVersion} whereas the expected version is {expectedVersion}."
com.vmware.vpxd.healthPerspectives.ready_for_apply.ha.not_allowed_in_current_state = "There is no apply operation in progress. This check is not allowed in current state."
# End of HA ReadyForApply Check messages

# Start of Change Tracker messages
vim.hostd.vmsvc.cbt.notOpen = "Could not open disk {path}: {reason}."
vim.hostd.vmsvc.cbt.noTrack = "Change tracking is not active on disk {path}."
vim.hostd.vmsvc.cbt.noEpoch = "Cannot get current tracking epoch for disk {path}: {reason}."
vim.hostd.vmsvc.cbt.cannotGetChanges = "Cannot compute changes for disk {path}: {reason}."
vim.hostd.vmsvc.cbt.cannotGetDiskCap = "Cannot get disk capacity for disk {path}: {reason}."
# End of Change Tracker messages
