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:

  1. Identify a numeric error code (the second parameter inside the parenthesis; for example, 1, 2, 3, etc).
  2. Read the error description next to the numeric code. Modify if needed for your own needs.
  3. 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".
  4. 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
  5. Multiply the error type (step 4) by 10000 (ten thousand) and add the error code (step 1) to it.
  6. 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")