messageId | string or null | | Message key the UI localises; one of the ids below (clients treat unknown ids as code). args names the arguments in brackets. - error.not_found: The object does not exist (or is not visible to the caller). - error.already_exists: An object with that name or id exists. - error.conflict: Compare-and-set failed: expectedVersion is stale. - error.unauthenticated: No or invalid bearer token. - error.permission_denied [privilege]: The caller lacks a privilege on the entity. - error.mfa_required [reason]: The session is restricted until multi-factor authentication completes. - error.password_rotation_required [reason]: The session is restricted until the password is changed. - error.auth.invalid_credentials: Login refused (one answer for every reason). - error.auth.rate_limited [retryAfterSeconds]: Too many login attempts; also Retry-After. - error.auth.invalid_code: The TOTP or recovery code was not accepted. - error.auth.mfa_expired: The MFA challenge token expired. - error.auth.mfa_proof: The MFA challenge token does not match the login. - error.auth.access_expired: The access token expired; refresh. - error.auth.session_expired: The refresh token or session expired; log in again. - error.auth.refresh_reuse: A refresh token was presented twice; the session family is revoked. - error.auth.refresh_race: Another tab refreshed first; retry once. - error.auth.csrf: The X-Kyvernon-CSRF header does not match the cookie. - error.auth.origin: The Origin header is not an allowed origin. - error.mfa.already_enrolled: TOTP is already set up. - error.mfa.not_enrolled: TOTP is not set up. - error.mfa.not_enrolling: No TOTP enrolment is pending. - error.password.too_short [min]: The password is shorter than min. - error.password.too_long [max]: The password is longer than max. - error.password.common: The password is on the common-password list. - error.password.repetitive: The password repeats one character or group. - error.password.sequential: The password is a keyboard or alphabet sequence. - error.password.contains_username: The password contains the user name. - error.password.unchanged [field]: The new password equals the current one. - error.password.current_required [field]: The current password must be given. - error.password.current_incorrect [field]: The current password is wrong. - error.api_token.name [field]: The API token name is empty or too long. - error.api_token.limit [max]: The user has max API tokens already. - error.api_token.ttl [field, max]: The API token lifetime is zero or longer than the maximum of max seconds. - error.webhook.target_restricted [field, url]: The webhook target is a loopback, private, link-local or other restricted address that is not allow-listed. - error.invalid_power_state [power_state, required]: The operation needs another power state: power_state is the current one, required the one it needs (powered_off, powered_on or suspended). - error.vm_not_placed [reason]: The VM has no host. reason is no_connected_host, all_in_maintenance, no_hosts, no_compute_resource (placement finds no host today) or not_assigned (a host is available but the VM names none). - error.vm_spec_unbuildable: The VM configuration cannot be built on the host; the message names the cause. - error.vm.concurrent_modification: The VM configuration changed since the request's change_version was read and the change cannot be merged; read the VM again and repeat (HTTP 409). - error.vm.exceeds_host_cpu [field, requested, limit, host]: More vCPUs than the host has logical CPUs (or than vm_ops.max_vcpus_per_vm). - error.vm.exceeds_host_memory [field, requested, limit, host]: More memory (MiB) than the host has after vm_ops.host_memory_reserve_mib. - error.vm.too_many_devices [device, count, limit]: More disks and network adapters together (device = disks_and_nics), or CD-ROM drives (cdroms), than a virtual machine has slots. - error.host.insufficient_memory [requested, available, host]: Power-on refused: the host has available MiB free for virtual machines, the guest needs requested. - error.host.not_in_maintenance [host]: Reboot or shutdown needs the host in maintenance mode (or force). - error.host.not_connected [host]: The host is not connected to the control plane. - error.datastore.not_shareable [datastore]: The datastore cannot be mounted on or unmounted from a single host: an iSCSI (VMFS-like) datastore belongs to one host, a local datastore to its own. - error.tag.not_associable [category, kind]: Tags of the category cannot be attached to objects of that kind (the category's associable kinds). - error.tag.cardinality [category, object]: The object already carries another tag of a category that allows one tag per object. - error.tag.provider_managed [category]: Tags of a provider-managed category are attached and detached by the provider only. - error.tag.category_change [field]: A category's cardinality changes from single to multiple only, and associable kinds can only be added. - error.backup.no_repository: No backup repository is configured on the controller ([backup] verify_repository or the backup settings). - error.backup.repository_unusable [repository]: The repository directory cannot be created or written on this controller. - error.backup.export_unreachable: The controller cannot reach the NBD export of a disk on the host. - error.backup.change_tracking [vm]: Change tracking could not be turned on for the virtual machine before its first backup. - error.backup.no_disks [vm]: The virtual machine has no disk to back up. - error.backup.vm_powered_on [vm]: A restore in place replaces the disks of the virtual machine; it must be powered off. - error.backup.verify_failed [point]: The restore finished, but the verification of the backup point in quarantine failed. - error.backup.controller_running: A backup of the controller state is already running. - error.backup.controller_target [target]: The folder for the archives of the controller state cannot be created. - error.backup.controller_changed [file]: A file of the state directory changed while it was archived. - error.backup.controller_unreadable: The archive that was written does not read back as written. - error.backup.controller_unavailable: This controller keeps its state in memory; there is nothing to archive. - error.backup.source_gone: The virtual machine of the backup point no longer exists; its configuration is needed for a restore. - error.datacenter.not_empty [datacenter]: The datacenter still holds clusters, hosts, virtual machines, networks or datastores. - error.datastore.insufficient_space [requested, available, datastore]: A new or grown disk asks for more bytes than the datastore has free (thick) or than the thin-disk cap. - error.disk.shrink_not_supported [field, disk]: A disk cannot be made smaller. - error.guest_operations_unavailable: Guest operations are not available (powered off, no agent, or agent blocks the command). - error.guest_file_exists: The file already exists in the guest (use overwrite). - error.guest_path_not_found: The path does not exist in the guest. - error.guest_path_is_directory: The path is a directory in the guest. - error.guest_path_not_directory: The path is not a directory in the guest. - error.guest_directory_not_empty: The directory is not empty in the guest. - error.console.powered_off: The VM is powered off; a console needs a running VM. - error.console.not_available: The VM runs without a graphical console (no console.vnc). - error.console.host_disconnected: The VM's host is not connected. - error.console.rate_limited [retryAfterSeconds]: Too many console tickets for this session. - error.console.ticket_invalid: The console ticket is unknown, used or expired. - error.no_current_snapshot: The VM has no current snapshot to revert to. - error.nic_network_unwired [network, nic]: A NIC is on a network without a host-bridge backing. - error.host_capability_missing [capability]: The host did not declare the needed capability. - error.host_has_running_vms: Maintenance mode needs the host's VMs powered off or moved. - error.host_has_vms: The host still has VMs placed on it; relocate or destroy them first. - error.host_in_maintenance: The host is in maintenance mode. - error.template_relocate: Templates cannot be relocated. - error.image_in_use [vm]: The image file backs a VM. - error.datastore_bad_path [field]: The datastore path is empty, absolute, or escapes the root. - error.datastore_file_exists: The file or folder exists (use overwrite). - error.datastore_file_not_found: No such file on the datastore. - error.datastore_folder_not_found: No such folder on the datastore. - error.datastore_folder_not_empty: The folder still has entries. - error.datastore_file_in_use [vm, vmId]: The file backs a VM disk. - error.disk_owned_by_other_vm [field]: The disk file belongs to another VM the caller has no disk access to. - error.audit_record_immutable: Audit records cannot be deleted. - error.datastore_upload_too_large [limit]: The upload exceeds limit bytes (HTTP 413). - error.datastore_upload_incomplete: The upload ended before Content-Length bytes. - error.datastore_read_only: The datastore refuses writes. - error.datastore_range_invalid: The Range header cannot be satisfied (HTTP 416). - error.datastore_inaccessible [datastore]: The datastore is not accessible from its hosts. - error.datastore_no_host [datastore]: No connected host mounts the datastore. - error.datastore_not_on_host [datastore]: The chosen host does not mount the datastore. - error.datastore_not_shared: The operation needs a datastore shared by both hosts. - error.metrics_disabled: Performance metrics are turned off on the controller. - error.metrics_bad_entity [entity]: No performance data is kept for that object kind. - error.metrics_bad_interval [interval]: Not a supported sampling period. - error.metrics_unknown_counter [counter]: No such counter. - error.metrics_query_empty: The query names no entity or counter. - error.metrics_query_too_large: The query would return too many samples. - error.metrics_too_many_batches [max]: A host agent sent more than max metric batches in one report; the whole report is rejected. - error.usage_bad_date [field]: A date is not YYYY-MM-DD. - error.usage_bad_range: to is before from or the range exceeds ten years. - error.usage_bad_group: groupBy is not vm, tenant, resourcePool, folder or host. - error.usage_bad_period: period is not day, month or total. - error.usage_bad_format: format is not json or csv. - error.usage_bad_scope: scope is not an inventory container id. - error.licence.limit_running_vms [limit, current, delta]: Power-on would exceed the running-VM licence limit. - error.licence.limit_hosts [limit, current, delta]: Enrolling a host would exceed the host licence limit. - error.licence.feature_required [feature]: The operation needs a licence feature that is not enabled. - error.licence.signature_invalid: The licence file signature is not valid. - error.licence.not_valid: The licence is outside its validity window. - error.quota.exceeded [resource, limit, current, requested, tenant]: The operation would take the tenant over its quota of resource (vcpus, memoryMib, diskGib, vms, publicIpv4, snapshots). - error.tenant.suspended [tenant]: The tenant is suspended: no power-on, no console, users are read-only. - error.tenant.closed [tenant]: The tenant is closed. - error.server.not_ready [state]: The server is not in a state that allows the operation (creating, deleted, failed or rescue). - error.server.plan_not_larger [field]: Resize goes to a plan that is at least as large in vCPU, memory and disk. - error.server.plan_not_orderable [field]: The plan is not orderable. - error.server.image_not_allowed [field]: The plan does not allow the image. - error.server.disk_too_small [field]: The plan's disk is smaller than the image needs. - error.server.no_credentials [field]: The image takes no credentials (no SSH keys, password or user data). - error.server.rescue_active: The server is already in rescue mode. - error.server.no_rescue_image: No catalogue image is marked as a rescue image. - error.plan.in_use [servers]: Servers use the plan; make it not orderable instead. - error.catalogue.not_template: Only template VMs can be catalogue images. - error.ip_pool.exhausted [pool]: The IP pool has no free address (or /64) left. - error.ip_pool.address_in_use [address]: The requested address is allocated already. - error.ip_pool.address_quarantined [address]: The address was released recently and is in quarantine. - error.ip_pool.primary_exists [mac]: The NIC already has a primary address in this pool; ask for an extra one. - error.ip_pool.no_ipv6: The IP pool has no IPv6 prefix. - error.ip_pool.overlap [field, pool]: The ranges overlap another IP pool. - error.ip_pool.in_use [pool]: The IP pool still has allocations. - error.ip_pool.not_allocated [address]: The address is not allocated in the pool (or not the VM's). - error.ip_pool.no_nic [network, vm]: The VM has no NIC on the IP pool's network. - error.ip_pool.ipv6_block_len [field]: The IPv6 block length per server must be 64 to 128. - error.ip_pool.ipv6_layout_in_use [field]: The IPv6 prefix and block length cannot change while blocks are allocated or in quarantine. - error.network.proxy_uplink [field]: Proxy mode needs an Open vSwitch bridge and the name of the uplink interface. - error.network.promiscuous_unsupported [field]: Promiscuous mode is not realised by the host bridge; use a mirror session. - error.network.shaping_invalid [field]: The traffic shaping values are incomplete, negative or out of order (field names the value). - error.network.teaming_invalid [field]: The NIC teaming policy is unknown, or a NIC name is invalid or listed twice. - error.firewall.validation [object, issue, count]: The firewall change adds validation errors (issue is the net.validation.fw_* key of the first, object its path, count how many); the message lists them all. - error.firewall.builtin [object]: The firewall object is built in and maintained by the control plane (read-only). - error.firewall.reserved_name [field]: Firewall object names starting with sys: are reserved for built-in objects. - error.firewall.quota [resource, limit, used]: The tenant's firewall quota (fwGroups, fwPolicies, fwRules, fwGroupMembers) would be exceeded. - error.firewall.category_scope [field]: Emergency and Infrastructure policies belong to the provider. - error.firewall.in_use [object]: The firewall object is still used (a profile set on vNICs). - error.firewall.no_vnic: The VM has no vNIC on a host-bridge network. - error.firewall.profile_not_selectable [profile]: A tenant user chose a firewall profile the provider did not mark selectable. - error.firewall.unprotected [nic, reason]: The vNIC cannot be firewalled; its mode stays off. reason is linux_or_quarantine_bridge or port_security_off. - error.firewall.not_pending: No firewall mode switch of the VM waits for confirmation. - error.identity.group_exists [group]: A local group with that name exists (names are compared without regard to case). - error.identity.group_not_found [group]: No local group has that name. - error.identity.group_cycle [group, member]: Nesting member in group would make a group contain itself, or nest deeper than eight levels. - error.identity.oidc_unreachable [issuer]: The identity provider did not answer OpenID Connect discovery at issuer; the stored provider is unchanged. - error.identity.policy_invalid [field]: A password or lockout policy value is out of range (field names it). - error.nsx.unsupported: NSX Policy API facade: the request uses a feature outside the subset this server serves; the message names the field (DFW-HOSTBRIDGE.md §6.4). - error.nsx.invalid: NSX Policy API facade: a field of the request is not valid; the message names it. - error.nsx.not_found: NSX Policy API facade: the path names no object, or one the caller cannot see. - error.nsx.revision: NSX Policy API facade: the _revision of the write is stale (412); read the object again. - error.nsx.read_only: NSX Policy API facade: the object is built in, or a tenant user wrote into the provider scope. - error.nsx.xsrf: NSX Policy API facade: a write with a session cookie lacks the session's X-XSRF-TOKEN. - error.identity.provider_privilege_in_tenant [role, privilege]: The role holds a provider-only privilege (Kyvernon.Firewall.ManageProvider, Kyvernon.Firewall.Bypass), which cannot be granted inside a tenant's folders and pools. - error.rdns.nothing_pending [address]: No PTR request is waiting for this address. - error.rdns.reason_required [field]: A rejected PTR request needs a reason. - error.rdns.provider_failed [http_status]: The DNS provider did not accept the change; retry later. http_status is the provider's answer when it gave one; the cause is in the message. - error.rdns.no_zone [name]: No reverse zone on the DNS server holds the address. - error.rdns.not_forward_confirmed [name, address]: The PTR name does not resolve back to the address. - error.rdns.invalid_name [field]: The PTR name is not a valid host name. - error.traffic.bad_month [field]: month is not YYYY-MM. - error.traffic.no_policy [vm]: The VM has no traffic limit. - error.task.secrets_lost: The task's secret parameters lived only in the memory of a controller that restarted or lost leadership; submit the operation again. |
|---|