Error Codes
This section contains the complete list of Cloud Infrastructure Automation REST API errors. Each error definition is presented using the following format:
name(error_nature, error_type, error_code, error_description)
where
name
is the name of the enumeration constant defining the error.error_nature
is a value describing whether this is a permanent error (P) or transient error (T).error_type
is the error type (category).error_code
is a numeric error code.error_description
is the error description.
To evaluate error codes in your own program, you need to construct a complete alphanumeric error code as it will be returned via the HTTP error page.
To construct the complete code:
- Identify a numeric error code (the second parameter inside the parenthesis; for example, 1, 2, 3, etc).
- Read the error description next to the numeric code. Modify if needed for your own needs.
- Resolve the nature of the error. If the error definition has the
Nature.TRANSIENT
as the first parameter, the nature is "T". If not, the nature is "P". - Resolve the numeric code of the error type using the following list:
Type.RESOURCE_IN_USE = 2
Type.NO_RESOURCE = 3
Type.UNSUPPORTED_OPERATION = 4
Type.INVALID_MUTATION = 5
Type.NOT_NOW = 6
Type.MISSED_INFO = 7
Type.INVALID_DATA = 8
Type.INVALID_OPERATION = 9
- Multiply the error type (step 4) by 10000 (ten thousand) and add the error code (step 1) to it.
- Insert the nature of the error (step 3) in front of the error code that you've constructed in step 5. The resulting string is a complete error code as it will appear on the HTTP error page.
Example
Say you want to evaluate the following error in your program:
BACKUP_NODE_ID_IN_USE(Type.RESOURCE_IN_USE, 1, "Backup node is in use")
The error code is 1. The nature of the code is "P". The error type is 2. Therefore, the complete error code is P + (2 * 10000 + 1) or P20001.
The following is the complete list of errors grouped by error type.
RESOURCE_IN_USE
BACKUP_NODE_ID_IN_USE(Type.RESOURCE_IN_USE, 1, "Backup node is in use"),
NODE_IN_USE(Type.RESOURCE_IN_USE, 2, "Node is in use"),
NODE_HOSTS_VLANS(Nature.TRANSIENT, Type.RESOURCE_IN_USE, 3, "Node still hosts one or more VLANs. Please try again later"),
TEMPLATE_USED_BY_VE(Type.RESOURCE_IN_USE, 4, "Template is used by one or more VE(s)"),
TEMPLATE_USED_BY_IMAGES(Type.RESOURCE_IN_USE, 5, "Template is used by one or more VE image(s)"),
VE_BUSY(Type.RESOURCE_IN_USE, 6, "VE is busy"),
IMAGE_IN_USE(Nature.TRANSIENT, Type.RESOURCE_IN_USE, 7, "Image is in use. Please try again later"),
NG_USED_BY_VLANS(Type.RESOURCE_IN_USE, 8, "One or more VLAN(s) have subnets from this netgroup"),
NG_USED_BY_NODES(Type.RESOURCE_IN_USE, 9, "One or more hardware node(s) are associated with this netgroup"),
NG_PUBLIC_IP_IN_USE(Type.RESOURCE_IN_USE, 10, "One or more public IP address(es) from this netgroup are in use"),
INCOMPATIBLE_SETTINGS(Type.RESOURCE_IN_USE, 11, "Template [%s] which is in use on this node is not compatible with new settings", true),
APP_TEMPLATE_IS_IN_USE(Type.RESOURCE_IN_USE, 20, "Application template is in use by one or more VEs"),
NG_PUBLIC_IPV6_IN_USE(Type.RESOURCE_IN_USE, 21, "One or more public IPV6 address(es) from this netgroup are in use"),
NODE_IN_USE_BY_OPS(Nature.TRANSIENT, Type.RESOURCE_IN_USE, 22, "There are %d ongoing operations with this node. Please try again later", true),
LB_IN_USE(Type.RESOURCE_IN_USE, 23, "Load balancer is in use"),
LB_BUSY(Type.RESOURCE_IN_USE, 24, "Load balancer is busy"),
TEMPLATE_USED_BY_HOSTED_VE(Type.RESOURCE_IN_USE, 25, "Template is used by one or more VE(s) hosted on the node"),
APP_TEMPLATE_IS_INSTALLED(Type.RESOURCE_IN_USE, 26, "Application template is installed on one or more nodes"),
TEMPLATE_DELIVERIES_IN_PROGRESS(Type.RESOURCE_IN_USE, 27, "One or more template deliveries are in progress"),
APP_TEMPLATE_IS_IN_USE_BY_IMAGE(Type.RESOURCE_IN_USE, 28, "Application template is in use by one or more VE images"),
NODE_IS_TEMPLATE_SOURCE(Type.RESOURCE_IN_USE, 29, "The node is a source for active template delivery. Please try again later"),
IMAGE_DELETE_IN_PROGRESS(Type.RESOURCE_IN_USE, 30, "Image delete is in progress."),
OBJECT_IS_BUSY(Nature.TRANSIENT, Type.RESOURCE_IN_USE, 31, "Another operation in progress. Please try again later"),
BACKUP_IN_PROGESS(Nature.TRANSIENT, Type.RESOURCE_IN_USE, 32, "VE backup in progress. Please try again later"),
HN_OPERATIONS_IN_PROGESS(Nature.TRANSIENT, Type.RESOURCE_IN_USE, 33, "There are %s ongoing operations with this node. Please try again later", true),
HN_RUNNING_VE(Nature.TRANSIENT, Type.RESOURCE_IN_USE, 34, "There are %s started VEs on this node. Please try again later", true),
ONGOING_TRAFFIC_REQUESTS(Type.RESOURCE_IN_USE, 35, "There are ongoing traffic requests for this node. Please try again later"),
APPLICATIONS_FOR_OS_EXIST(Type.RESOURCE_IN_USE, 36, "There are %s registered applications for this template", true),
HN_NOT_READY(Nature.TRANSIENT, Type.RESOURCE_IN_USE, 37, "Hardware not is not initialized yet"),
IMAGE_IS_NOT_CREATED(Nature.TRANSIENT, Type.RESOURCE_IN_USE, 38, "Image creation is still in progress"),
IMAGE_MIGRATION_IN_PROGRESS(Nature.TRANSIENT, Type.RESOURCE_IN_USE, 39, "Image migration(s) to this node is/are in progress"),
IMAGES_IN_USE_ON_BNODE(Nature.TRANSIENT, Type.RESOURCE_IN_USE, 40, "One or more images are in use on this node"),
NO_RESOURCE
NO_SUITABLE_BN(Type.NO_RESOURCE, 1, "Cannot find suitable backup/image node"),
NO_SUITABLE_HN(Type.NO_RESOURCE, 2, "Cannot find suitable hardware node"),
HN_FULL(Type.NO_RESOURCE, 3, "Hardware node resource limits exceeded"),
NO_PUBLIC_IPS(Type.NO_RESOURCE, 4, "Cannot assign required number of public IPs"),
CANNOT_ALLOCATE_NBD(Type.NO_RESOURCE, 5, "Cannot allocate remote disk"),
NO_DEFAULT_TEMPLATE(Type.NO_RESOURCE, 6, "No default template was found for specified os/technology"),
TEMPLATE_NOT_FOUND(Type.NO_RESOURCE, 7, "Requested template not found"),
NO_PUBLIC_IPV6(Type.NO_RESOURCE, 8, "Cannot assign required number of public IP V6 addresses"),
CANNOT_ALLOCATE_PRIVATE_IP(Type.NO_RESOURCE, 9, "Cannot allocate private IP"),
CANNOT_FIND_SUITABLE_NETGROUP(Type.NO_RESOURCE, 10, "Cannot find suitable netgroup"),
NO_SUITABLE_HN_FOR_RESIZE(Type.NO_RESOURCE, 11, "Cannot find suitable hardware node for resized VE"),
HN_IS_NOT_ACTIVE(Type.NO_RESOURCE, 20, "Hardware node [%s] is locked or inactive", true),
HN_VE_LIMIT_EXCEEDED(Type.NO_RESOURCE, 21, "Hardware node VE limit exceeded"),
HN_CPU_LIMIT_EXCEEDED(Type.NO_RESOURCE, 22, "Hardware node CPU limit exceeded"),
HN_RAM_LIMIT_EXCEEDED(Type.NO_RESOURCE, 23, "Hardware node RAM limit exceeded"),
HN_DISK_LIMIT_EXCEEDED(Type.NO_RESOURCE, 24, "Hardware node disk limit exceeded"),
HN_BANDWIDTH_LIMIT_EXCEEDED(Type.NO_RESOURCE, 25, "Hardware node bandwidth limit exceeded"),
HN_CPU_NUMBER_LIMIT_EXCEEDED(Type.NO_RESOURCE, 26, "Hardware node has less number of CPU than required"),
HN_CPU_POWER_LIMIT_EXCEEDED(Type.NO_RESOURCE, 27, "Hardware node has less powerful CPU than required"),
HN_IS_INACTIVE(Type.NO_RESOURCE, 28, "Hardware node is inactive"),
HN_PCS_LIMIT_EXCEEDED(Type.NO_RESOURCE, 29, "Hardware node pcs storage limit exceeded"),
NO_FREE_SUBNETS_IN_NG(Type.NO_RESOURCE, 30, "Netgroup [%s] doesn't have free private subnets", true),
NO_PRIVATE_IP_IN_NG(Type.NO_RESOURCE, 31, "Netgroup [%s] doesn't have free private IPs", true),
NO_PUBLIC_IP_IN_NG(Type.NO_RESOURCE, 32, "Netgroup [%s] doesn't have enough free public IPs", true),
NO_PUBLIC_IPV6_IN_NG(Type.NO_RESOURCE, 33, "Netgroup [%s] doesn't have enough free public IP V6 addresses", true),
HN_TEMPLATE_MISMATCH(Type.NO_RESOURCE, 40, "Template [%s] is not compatible with the hardware node [%s]: %s", true),
BN_IS_INACTIVE(Type.NO_RESOURCE, 50, "Backup node [%s] is inactive", true),
BN_IS_NOT_ACTIVE(Type.NO_RESOURCE, 51, "Backup node [%s] is not active", true),
UNSUPPORTED_OPERATION
UNSUPPORTED_IMAGE_CREATION(Type.UNSUPPORTED_OPERATION, 1, "Image creation is not supported for VEs with %s disks", true),
UNSUPPORTED_CREATION_FROM_IMAGE(Type.UNSUPPORTED_OPERATION, 2, "Creating VE from images containing %s disks is not currently supported", true),
UNSUPPORTED_CLONING(Type.UNSUPPORTED_OPERATION, 3, "Cloning VE containing %s disks is not currently supported", true),
INVALID_MUTATION
NODE_NAME_CHANGE_PROHIBITED(Type.INVALID_MUTATION, 1, "Node name can not be changed"),
NETGROUP_CHANGE_PROHIBITED(Type.INVALID_MUTATION, 2, "Netgroup can not be changed"),
NODE_IP_CHANGE_PROHIBITED(Type.INVALID_MUTATION, 3, "Node network location can not be changed"),
NG_LABEL_CANNOT_BE_CHANGED(Type.INVALID_MUTATION, 4, "Netgroup label cannot be changed"),
ONLY_PRIMARY_LOCAL_DISK_CAN_BE_CHANGED(Type.INVALID_MUTATION, 5, "Only primary local disk size can be changed"),
CANNOT_CHANGE_VE_NAME(Type.INVALID_MUTATION, 6, "VE name cannot be changed"),
CANNOT_REDUCE_BANDWIDTH(Type.INVALID_MUTATION, 7, "Bandwidth setting is below the current usage: %s", true),
CANNOT_REDUCE_DISK(Type.INVALID_MUTATION, 8, "Disk setting is below the current usage: %s", true),
CANNOT_REDUCE_RAM(Type.INVALID_MUTATION, 9, "RAM setting is below the current usage: %s", true),
CANNOT_REDUCE_CPU(Type.INVALID_MUTATION, 10, "CPU settings (number*power) are below the current usage: %s", true),
CANNOT_REDUCE_VE_LIMIT(Type.INVALID_MUTATION, 11, "VE limit settings are below the current usage: %s", true),
CANNOT_CHANGE_USER_ID(Type.INVALID_MUTATION, 12, "User Id cannot be changed"),
CANNOT_CHANGE_USER_ASSOCIATION(Type.INVALID_MUTATION, 13, "User/Customer association cannot be changed"),
INVALID_NODE_STATE_MUTATION(Type.INVALID_MUTATION, 14, "Node state cannot be changed this way"),
CANNOT_REDUCE_CPU_NUMBER(Type.INVALID_MUTATION, 15, "CPU settings (number) are below the current usage: %s", true),
CANNOT_REDUCE_CPU_POWER(Type.INVALID_MUTATION, 16, "CPU settings (power) are below the current usage: %s", true),
CANNOT_CHANGE_SCHEDULE_NAME(Type.INVALID_MUTATION, 17, "Backup schedule name cannot be changed"),
CANNOT_CHANGE_NETGROUP(Type.INVALID_MUTATION, 18, "Netgroup can not be changed as the node hosts one or more VE(s)"),
CANNOT_CHANGE_VE_IN_STATE(Type.INVALID_MUTATION, 19, "%s cannot be changed in the %s state", true),
CANNOT_REDUCE_PRIMARY_DISK_SIZE(Type.INVALID_MUTATION, 20, "Primary disk size cannot be decreased"),
MISSED_INFO
NO_DATA(Type.MISSED_INFO, 1, "No data"),
NODE_NAME_MISSED(Type.MISSED_INFO, 2, "Node name must be specified"),
NODE_ACCESS_INFO_MISSED(Type.MISSED_INFO, 3, "Node network location must be specified"),
NODE_IP_ADDRESS_MISSED(Type.MISSED_INFO, 4, "Node IP address is not specified"),
NODE_TAGS_MISSED(Type.MISSED_INFO, 5, "Node w/o tags is unusable"),
NETGROUP_MISSED(Type.MISSED_INFO, 6, "Either id or label if the node's netgroup must be specified"),
HARDWARE_INFO_MISSED(Type.MISSED_INFO, 7, "Node hardware must be specified"),
CPU_INFO_MISSED(Type.MISSED_INFO, 8, "Node CPU specification is missed"),
RAM_INFO_MISSED(Type.MISSED_INFO, 9, "Node RAM specification is missed"),
HDD_INFO_MISSED(Type.MISSED_INFO, 10, "Node HDD specification is missed"),
VE_NAME_MISSED(Type.MISSED_INFO, 11, "VE name must be specified"),
VE_CPU_MISSED(Type.MISSED_INFO, 12, "Required CPU must be specified"),
VE_RAM_MISSED(Type.MISSED_INFO, 13, "Required RAM must be specified"),
VE_DISK_MISSED(Type.MISSED_INFO, 14, "At least one disk must be specified"),
NG_LABEL_MISSED(Type.MISSED_INFO, 15, "Netgroup label must be specified"),
CRON_EXPRESSION_MISSED(Type.MISSED_INFO, 16, "Cron expression must be specified"),
VE_PRIMARY_DISK_MISSED(Type.MISSED_INFO, 17, "At least one local or primary disk must be specified"),
NO_PLATFORM_INFO(Type.MISSED_INFO, 18, "Either template or os info must be specified"),
NO_BANDWIDTH_INFO(Type.MISSED_INFO, 19, "Required network bandwidth must be specified and be positive"),
NO_SUBSCRIPTION_FOUND(Type.MISSED_INFO, 20, "No subscription found"),
MORE_THAN_ONE_SUBSCRIPTION_FOUND(Type.MISSED_INFO, 21, "Subscription is not specified and more than one subscription found"),
NG_DNS_SERVERS_MISSED(Type.MISSED_INFO, 22, "At least one DNS server must be specified"),
MAX_BACKUPS_TO_KEEP_MISSED(Type.MISSED_INFO, 23, "'backups-to-keep' must be specified"),
NO_PCS_CLUSTER_NAME(Type.MISSED_INFO, 30, "PCS cluster name must be specified"),
NO_CALLBACK_URI(Type.MISSED_INFO, 40, "Please provide callback URL"),
INVALID_OPERATION
CANNOT_DELETE_DEFAULT_TEMPLATE(Type.INVALID_OPERATION, 1, "Cannot delete default template"),
INVALID_METHOD_FOR_VE_OPERATION(Type.INVALID_OPERATION, 2, "Operation is not allowed in this method"),
INVALID_TARGET_STATE_FOR_DEACTIVATION(Type.INVALID_OPERATION, 10, "Cannot DEACTIVATE iSCSI target which is not LOCKED"),
INVALID_TARGET_STATE_FOR_DELETION(Type.INVALID_OPERATION, 11, "Cannot DELETE iSCSI target which is not LOCKED or INACTIVE"),
BUSY_TARGET(Type.INVALID_OPERATION, 12, "Cannot DEACTIVATE/DELETE iSCSI target as it has LUNs which are in use"),
APP_TEMPLATE_IS_ACTIVE(Type.INVALID_OPERATION, 20, "Cannot unregister active template"),
INVALID_APP_TEMPLATE_OPERATION(Type.INVALID_OPERATION, 21, "Invalid operation. Please use ACTIVATE/DEACTIVATE (case-insensitive)"),
APP_TEMPLATE_NAME_CHANGE_PROHIBITED(Type.INVALID_MUTATION, 22, "Application template name can not be changed"),
APP_TEMPLATE_FOROS_CHANGE_PROHIBITED(Type.INVALID_MUTATION, 23, "Application template OS can not be changed"),
APP_TEMPLATE_NOT_INSTALLED(Type.INVALID_OPERATION, 24, "Application template is not installed"),
FEATURE_NOT_SUPPORTED(Type.INVALID_OPERATION, 30, "Feature %s is not supported in this installation", true),
LB_ALREADY_ATTACHED(Type.INVALID_OPERATION, 40, "VE is already attached to a load balancer"),
NO_LB_ATTACHED(Type.INVALID_OPERATION, 41, "VE is not attached to a load balancer"),
ANOTHER_LB_ATTACHED(Type.INVALID_OPERATION, 42, "VE is attached to another load balancer"),
NOT_AN_LB(Type.INVALID_OPERATION, 43, "Image %s is not a load balancer", true),
INVALID_LB_TECHNOLOGY(Type.INVALID_OPERATION, 44, "Only CT images are supported as LB ones"),
LB_ATTACHED(Type.INVALID_OPERATION, 45, "Cannot delete VE attached to a load balancer"),
NO_PUBLIC_IPS_FOR_LB(Type.INVALID_OPERATION, 46, "Image w/o piblic IPs cannot be registered as LB image"),
INVALID_VE_TECHNOLOGY(Type.INVALID_OPERATION, 47, "VE technology is not valid for operation"),
SUBSCRIPTION_HAS_VE(Type.INVALID_OPERATION, 50, "There are still %s VEs for this subscription", true),
SUBSCRIPTION_HAS_IMAGES(Type.INVALID_OPERATION, 51, "There are still %s images for this subscription", true),
CUSTOMER_HAS_SUBSCRIPTIONS(Type.INVALID_OPERATION, 52, "There are still exists %s subscription(s) for this customer", true),
CUSTOMER_HAS_USERS(Type.INVALID_OPERATION, 53, "There are still exists %s user(s) for this customer", true),
CUSTOMER_HAS_VLANS(Type.INVALID_OPERATION, 54, "There are still exists %s VLAN(s) for this customer", true),
SAME_NODE_FOR_MIGRATION(Type.INVALID_OPERATION, 60, "Cannot migrate VE to the same node"),
PLEASE_LOCK_HN(Type.INVALID_OPERATION, 61, "Hardware node should be in a LOCKED state for this operation"),
LOCATION_HAS_SUBSCRIPTIONS(Type.INVALID_OPERATION, 70, "There are %s subscriptions for this location", true),
LOCATION_HAS_HNS(Type.INVALID_OPERATION, 71, "There are %s virtualization nodes for this location", true),
LOCATION_HAS_BNS(Type.INVALID_OPERATION, 72, "There are %s storage nodes for this location", true),
LOCATION_EXISTS(Type.INVALID_OPERATION, 73, "Location [%s] already exists", true),
IMAGE_MIGRATION_ALREADY_STARTED(Type.INVALID_OPERATION, 74, "Image migration is already in progress"),
PCS_CLUSTER_IN_USE(Type.INVALID_OPERATION, 80, "PCS cluster [%s] is used by at least one HN", true),
PCS_CLUSTER_IN_USE_BY_VES(Type.INVALID_OPERATION, 81, "HN's PCS cluster is used by at least one hosted VE"),
NOT_NOW
INVALID_VE_STATE_FOR_IMAGE_CREATION(Type.NOT_NOW, 1, "Cannot create image while VE is in the current state [%s]", true),
OPERATION_INVALID_FOR_VE_STATE(Type.NOT_NOW, 2, "This operation is invalid for the current VE state: %s", true),
OPERATION_INVALID_FOR_LB_STATE(Type.NOT_NOW, 3, "This operation is invalid for the current LB state: %s", true),
OPERATION_INVALID_FOR_RUNNING_STATE(Type.NOT_NOW, 4, "This operation is invalid for the STARTED VE state"),
INVALID_DATA
INVALID_REQUEST(Type.INVALID_DATA, 1, "Invalid request: %s", true),
CANNOT_PARSE_REQUEST(Type.INVALID_DATA, 2, "Cannot parse request: %s", true),
REQUEST_UNMARSHALLING_FAILED(Type.INVALID_DATA, 3, "Failed to unmarshal the request"),
INVALID_NODE_STATE_SPECIFIED(Type.INVALID_DATA, 10, "Invalid state name. Please use ACTIVE, LOCKED or INACTIVE (case-insensitive)"),
UNKNOWN_VE_OPERATION(Type.INVALID_DATA, 11, "Unknown VE operation"),
CRON_EXPRESSION_INVALID(Type.INVALID_DATA, 12, "Invalid cron expression"),
PWD_REGEX_INVALID(Type.INVALID_DATA, 13, "Invalid password regex"),
INVALID_TIME_INTERVAL(Type.INVALID_DATA, 20, "'from' must be less than 'to'"),
INVALID_DATE_FORMAT(Type.INVALID_DATA, 21, "Bad %s date format. Should be '" + DATE_FORMAT +"'", true),
TEMPLATE_OS_MISMATCH(Type.INVALID_DATA, 30, "Requested template/os mismatch"),
TEMPLATE_IS_INACTIVE(Type.INVALID_DATA, 31, "Requested template is inactive"),
INVALID_RAM_SIZE(Type.INVALID_DATA, 40, "VE RAM size has to be positive and a multiple of 4"),
VE_PRIMARY_DISK(Type.INVALID_DATA, 41, "At most one primary disk can be specified"),
VE_PRIMARY_DISK_TOO_SMALL(Type.INVALID_DATA, 42, "Primary disk size for this configuration, cannot be less than %sGb", true),
INVALID_NODE_RAM_SIZE(Type.INVALID_DATA, 43, "Node RAM size has to be positive"),
INVALID_OPTION_NAME(Type.INVALID_DATA, 50, "Invalid option name: [%s]", true),
NOT_A_MULTI_VALUED_OPTION(Type.INVALID_DATA, 51, "Option [%s] can be specified only once", true),
DUPLICATE_OPTION(Type.INVALID_DATA, 52, "Duplicate option [%s]", true),
INVALID_WATERMARKS(Type.INVALID_DATA, 53, "Low watermark must be less than high one"),
BAD_LIMITS(Type.INVALID_DATA, 54, "MinIp >= MaxIp for public net: %s", true),
BOUNDS_NOT_IN_PRIVATE_NET(Type.INVALID_DATA, 60, "Private net bounds are not in the enclosing private network: %s", true),
BOUNDS_NOT_IN_SUBNET(Type.INVALID_DATA, 61, "Subnet bounds are not in the same subnet: %s", true),
BAD_GATEWAY(Type.INVALID_DATA, 62, "Gateway is not in subnet for public net: %s", true),
TOO_WIDE_SUBNET(Type.INVALID_DATA, 63, "Private subnet is too wide"),
INVALID_MASKS(Type.INVALID_DATA, 64, "Invalid values for masks; private net: %s", true),
INVALID_SUBNET_BOUNDS(Type.INVALID_DATA, 65, "Invalid subnet bounds: %s", true),
TOO_SMALL_IPV6_SUBNET(Type.INVALID_DATA, 66, "IP V6 subnet is too small"),
INVALID_IP_ADDRESS(Type.INVALID_DATA, 67, "Invalid IP address: [%s]", true),
DUPLICATE_DNS_IP_ADDRESS(Type.INVALID_DATA, 68, "Duplicate DNS IP address: [%s]", true),
NON_CIDR_PUBLIC_V6(Type.INVALID_DATA, 69, "Public IP V6 subnet is not CIDR-compliant: [%s]", true),
BAD_LIMIT(Type.INVALID_DATA, 70, "Min/Max IP [%s] is not in subnet for public net: %s", true),
INVALID_TARGET_STATE_SPECIFIED(Type.INVALID_DATA, 71, "Invalid state name. Please use ACTIVE, LOCKED or INACTIVE (case-insensitive)"),
INVALID_NO_OF_BLOCK_UNIT(Type.INVALID_DATA, 72, "Invalid no_of_blocks unit: %s", true),
NON_IP_V4_ADDRESS(Type.INVALID_DATA, 73, "IP address is not IP V4-compliant: [%s]", true),
NON_CIDR_V4(Type.INVALID_DATA, 74, "IP V4 subnet is not CIDR-compliant: [%s]", true),
NON_IP_V6_ADDRESS(Type.INVALID_DATA, 75, "IP address is not IP V6-compliant: [%s]", true),
INVALID_NETWORK(Type.INVALID_DATA, 76, "Invalid network: [%s]", true),
DUPLICATED_FIREWALL_RULE(Type.INVALID_DATA, 77, "Duplicated firewall rule name: [%s]", true),
NON_CIDR_IP(Type.INVALID_DATA, 78, "IP subnet is not CIDR-compliant: [%s]", true),
NO_OS_TEMPLATE_FOR_APP_TEMPLATE(Type.INVALID_DATA, 81, "OS Template is not specified"),
INVALID_OS_TEMPLATE(Type.INVALID_DATA, 82, "INVALID OS TEMPLATE: %s", true),
UNKNOWN_OS_TEMPLATE(Type.INVALID_DATA, 83, "UNKNOWN OS TEMPLATE: %s", true),
INCOMPATIBLE_APPLICATION(Type.INVALID_DATA, 84, "Application template is incompatible with VE template"),
APPLICATION_ALREADY_INSTALLED(Type.INVALID_DATA, 85, "Application is already installed"),
INVALID_TEMPLATE_STATE(Type.INVALID_DATA, 86, "Invalid template state name. Please use ACTIVE or INACTIVE (case-insensitive)"),
COLON_IN_USER_NAME(Type.INVALID_DATA, 90, "Colon is not allowed in userid (RFC 2617)"),
TEMPLATE_ALREADY_REGISTERED(Type.INVALID_DATA, 100, "Template [%s] is already registered at the node [%s]", true),
TEMPLATE_IS_NOT_REGISTERED(Type.INVALID_DATA, 101, "Template [%s] is not registered at the node [%s]", true),
NO_NODE_WITH_TEMPLATE(Type.INVALID_DATA, 102, "Cannot find active node with registered template [%s] at location[%s]", true),
UNKNOWN_NODE(Type.INVALID_DATA, 103, "Unknown hardware node [%s]", true),
INVALID_TEMPLATE_DELETE_MODE(Type.INVALID_DATA, 104, "Invalid template delete mode, valid modes are: 'unregister', 'purge' or 'please' (case-insensitive) "),
NO_TEMPLATE_ON_NODE(Type.INVALID_DATA, 105, "Target node does not have required OS template and on demand template deliver is disabled"),
NULL_IP_POOL_NAME(Type.INVALID_DATA, 120, "IP Pool name cannot be null"),
DUPLICATE_PRIVATE_IP_POOL_LABEL(Type.INVALID_DATA, 121, "Private IP pool [%s] is already registered", true),
DUPLICATE_PUBLIC_IP_POOL_LABEL(Type.INVALID_DATA, 122, "Public IP pool [%s] is already registered", true),
DUPLICATE_PUBLIC_IPV6_POOL_LABEL(Type.INVALID_DATA, 123, "Public IPv6 pool [%s] is already registered", true),
NO_POOL_TYPE(Type.INVALID_DATA, 124, "Please specify IP pool type"),
INVALID_POOL_TYPE(Type.INVALID_DATA, 125, "Invalid pool type. Please specify %s (case insensitive)", true),
INVALID_NO_OF_CPU(Type.INVALID_DATA, 200, "Invalid value for the number of CPU"),
INVALID_CPU_POWER(Type.INVALID_DATA, 201, "Invalid value for the CPU power"),
INVALID_BANDWIDTH(Type.INVALID_DATA, 202, "Invalid value for the bandwidth"),
INVALID_ADD_IP(Type.INVALID_DATA, 204, "Invalid value for the <add-ip> 'number' attribute"),
INVALID_IP_RECONFIGURATION(Type.INVALID_DATA, 205, "Either <add-ip> or <drop-ip> can be specified (not both)"),
INVALID_DISK_RECONFIGURATION(Type.INVALID_DATA, 206, "One (and only one) of the <add-local-disk>/<drop-local-disk>/<resize-local-disk> operations can be specified"),
INVALID_PRIMARY_DISK(Type.INVALID_DATA, 207, "Primary disk size must be positive"),
TOO_MANY_CPU_CORES(Type.INVALID_DATA, 208, "Cannot increase number of CPUs that much"),
TOO_HIGH_CPU_FREQ(Type.INVALID_DATA, 209, "Cannot increase CPU power that much"),
UNKNOWN_IP(Type.INVALID_DATA, 210, "Unknown IP: [%s]", true),
UNKNOWN_LOCAL_DISK(Type.INVALID_DATA, 300, "No local disk with vm2vfId %s found", true),
INVALID_DISK_SIZE(Type.INVALID_DATA, 301, "Disk size should be positive", true),
INVALID_PUBLIC_IP_LIMIT(Type.INVALID_DATA, 310, "Public IP limit cannot be negative"),
INVALID_PUBLIC_IPV6_LIMIT(Type.INVALID_DATA, 311, "Public IP V6 limit cannot be negative"),
DUPLICATE_TECHNOLOGY(Type.INVALID_DATA, 312, "Duplicated technology: %s", true),
UNKNOWN_OS_TYPE(Type.INVALID_DATA, 313, "Unknown OS type: %s", true),
DUPLICATE_OS_TYPE(Type.INVALID_DATA, 314, "Duplicate OS type: %s", true),
INVALID_VE_LIMIT(Type.INVALID_DATA, 315, "VE limit cannot be negative"),
CANNOT_REDUCE_PUBLIC_IP_LIMIT(Type.INVALID_DATA, 316, "Cannot reduce public IP limit below the current usage = %s", true),
CANNOT_REDUCE_PUBLIC_IPV6_LIMIT(Type.INVALID_DATA, 317, "Cannot reduce public IP V6 limit below the current usage = %s", true),
TECHNOLOGY_IS_USED(Type.INVALID_DATA, 318, "There are %s VEs for this subscription with technology %s", true),
OS_TYPE_IS_USED(Type.INVALID_DATA, 319, "There are %s VEs for this subscription with OS type [%s]", true),
TOO_MANY_PUBLIC_IP(Type.INVALID_DATA, 320, "Subscription limit for public IP exceeded"),
TOO_MANY_PUBLIC_IPV6(Type.INVALID_DATA, 321, "Subscription limit for public IP V6 exceeded"),
TOO_MANY_VE_FOR_OS_TYPE(Type.INVALID_DATA, 322, "Subscription limit for VE with os type = [%s] exceeded", true),
NO_TECHNOLOGY_IN_SUBSCRIPTION(Type.INVALID_DATA, 323, "Subscription does not allow VE with technology = [%s]", true),
CANNOT_REDUCE_VE_LIMIT_FOR_SUBSCRIPTION(Type.INVALID_DATA, 324, "There are %s VEs for this subscription", true),
TOO_MANY_VE(Type.INVALID_DATA, 325, "Subscription limit for VE number exceeded"),
NO_SPACE_FOR_BACKUPS(Type.INVALID_DATA, 326, "Subscription limit for backup space exceeded"),
NO_SPACE_FOR_IMAGES(Type.INVALID_DATA, 327, "Subscription limit for image space exceeded"),
INVALID_BACKUP_IMAGE_LIMIT(Type.INVALID_DATA, 328, "Backup/image limit cannot be negative"),
SUBSCRIPTION_IS_DISABLED(Type.INVALID_DATA, 330, "Subscription %s is disabled", true),
INVALID_SUBSCRIPTION_STATUS(Type.INVALID_DATA, 331, "Invalid subscription status, please use enable/disable (case-insensitive)"),
INCONSITENT_IMPERSONATION(Type.INVALID_DATA, 332, "Impersonated customerId doesn't match the one specified in subscription"),
CROSS_LOCATION(Type.INVALID_DATA, 333, "Source and target subscriptions have different 'location' attribute values"),
CANNOT_REDUCE_BACKUP_LIMIT(Type.INVALID_DATA, 334, "Cannot reduce backup limit below the current usage = %s", true),
CANNOT_REDUCE_IMAGE_LIMIT(Type.INVALID_DATA, 335, "Cannot reduce image limit below the current usage = %s", true),
BN_HOLDS_BACKUPS(Type.INVALID_DATA, 400, "Cannot revoke 'for-backups' as node already hosts one(s)"),
BN_HOLDS_IMAGES(Type.INVALID_DATA, 401, "Cannot revoke 'for-images' as node already hosts one(s)"),
INVALID_CAOACITY(Type.INVALID_DATA, 402, "Node capacity should be positive"),
UNKNOWN_TAG(Type.INVALID_DATA, 403, "Unknown node tag id : %s", true),
UNKNOWN_OPTION(Type.INVALID_DATA, 404, "Unknown option: [%s] = [%s]", true),
DUPLICATE_OPTION_VALUE(Type.INVALID_DATA, 405, "Duplicate option=value : [%s] = [%s]", true),
TOO_LONG_STRING(Type.INVALID_DATA, 410, "String value '%s' should be not longer than %s chars", true),
INVALID_NODE_FILTER(Type.INVALID_DATA, 411, "Invalid node filter. Please use %s (case-insensitive", true),
INVALID_CHARACTER_IN_VE_NAME(Type.INVALID_DATA, 412, "VE name contains non RFC 3490 - compliant characters"),
NON_LDH_CHARACTER_IN_VE_NAME(Type.INVALID_DATA, 413, "VE name contains non-LDH characters"),
VE_NAME_HAS_HYPHEN(Type.INVALID_DATA, 414, "VE name has leading or trailing hyphen"),
DOT_IN_VE_NAME(Type.INVALID_DATA, 415, "VE name cannot contain dots"),
TOO_LONG_VE_NAME(Type.INVALID_DATA, 416, "VE name cannot be longer than %d characters", true),
NULL_STRING(Type.INVALID_DATA, 417, "String value '%s' cannot be null", true),
TOO_LONG_HOSTNAME(Type.INVALID_DATA, 418, "Hostname cannot be longer than %d characters", true),
BN_CANNOT_HOST_IMAGES(Type.INVALID_DATA, 420, "The node cannot host images"),
BN_IS_INCOMPATIBLE_WITH_TEMPLATE(Type.INVALID_DATA, 421, "The node is not compatible with image template"),
NO_ROOM_FOR_IMAGE(Type.INVALID_DATA, 422, "Image size exceeds the available node capacity"),
TOO_WIDE_IPV6_SUBNET(Type.INVALID_DATA, 430, "IP V6 subnet is too wide"),
INVALID_PRIVATE_POOL(Type.INVALID_DATA, 431, "Private subnet %s overlaps with the already existing one", true),
INVALID_PUBLIC_POOL(Type.INVALID_DATA, 432, "Public subnet %s overlaps with the already existing one", true),
INVALID_CLUSTER_CAOACITY(Type.INVALID_DATA, 440, "PCS cluster capacity should be non-negative"),
CLUSTER_ALREADY_IN_USE(Type.INVALID_DATA, 441, "PCS cluster [%s] is already registered", true),
DUPLICATED_STORAGE_DEFINITION(Type.INVALID_DATA, 442, "Duplicated storage definition: %s, '%s', %s", true),
DUPLICATED_STORAGE_DEFAULT(Type.INVALID_DATA, 443, "Duplicated storage default for: %s, '%s'", true),
UNKNOWN_PCS__CLUSTER(Type.INVALID_DATA, 444, "Unknown PCS cluster: [%s]", true),
INVALID_STORAGE__TYPE(Type.INVALID_DATA, 445, "Storage type [%s] is not allowed for the subscription", true),
DISK_STORAGE_TYPE_IS_NOT_SUPPORTED(Type.INVALID_DATA, 446, "Storage type [%s] is not supported in this version of product", true),
MULTIPLE_DISKS_OF_STORAGE_TYPE_ARE_NOT_SUPPORTED(Type.INVALID_DATA, 447, "Multiple disks of storage type [%s] are not supported in this version of product", true),
DISKS_OF_MIXED_STORAGE_TYPE_ARE_NOT_SUPPORTED(Type.INVALID_DATA, 448, "Disks of both storage types [%s] and [%s] are not supported in this version of product", true),
UNKNOWN_STORAGE_TYPE(Type.INVALID_DATA, 449, "Unknown storage type [%s]. please use LOCAL or PCS (case-insensitive) ", true),
CONFLICTING_STORAGE_TYPE_SETTINGS(Type.INVALID_DATA, 450, "Disk attributes 'local' and 'type' are both specified and are not compatible"),
INVALID_PRIMARY_DISK_SIZE_MUTATION(Type.INVALID_DATA, 451, "'primary-disk-size' and 'change-primary-disk' cannot be used together"),
NO_HTTPS_FOR_CALLBACK(Type.INVALID_DATA, 500, "HTTPS is not supported for callbacks")