3.1.5.31 Response Content for Errors
If the Network Controller returns an error for any operation, it includes the appropriate HTTP status code and a response body. See the HTTP Status Code Registry definition of specific response codes [RFC7231]. The JSON schema for the response body is given in the appendix, section 6.29.
The following property elements are valid for the response body.
|
Element name |
Type |
Description |
|---|---|---|
|
error |
Read-only |
Container for the properties defined following. |
|
error.code |
Read-only |
A string that is an error identifier. These error identifiers are defined in detail later in this section. |
|
error.message |
Read-only |
A description of the error. This string is implementation-specific. |
|
error.innerError |
Read-only Optional |
String description of an error that was the initial cause for a subsequent error (for error.code). This string is implementation-specific. |
|
error.traget |
Read-only Optional |
This string is implementation-specific. It contains extra details about the source of the error. |
|
error.details |
Read-only Optional |
An array of structures that describe in more detail any errors that happened while the server was processing a REST method call. |
|
error.details.code |
Read-only |
The same description applies as for error.code above. |
|
error.details.message |
Read-only |
The same description applies as for error.message above. |
Following is an example of a complete error response that include headers and JSON body.
-
HTTP/1.1 400 Bad Request Content-Length: 1552 Content-Type: application/json; charset=utf-8 Server: Microsoft-HTTPAPI/2.0 x-ms-request-id: 3be9ff32-8097-47ad-8961-8de9caad8475 Date: Thu, 12 Jan 2017 20:11:43 GMT Connection: close { "error": { "code": "InvalidParameterValue", "message": "'2221.1.1.0/24' is not a valid argument for 'addressPrefix' of a subnet.", "target": "SubnetAddress", "innerError": "Message: '2221.1.1.0/24' is not a valid argument for 'addressPrefix' of a subnet., Target: SubnetAddress, InnerException: null, Exception: Microsoft.Windows.Networking.NetworkController.Framework.Utilities.ParameterInvalidException: '2221.1.1.0/24' is not a valid argument for 'addressPrefix' of a subnet.\r\n at Microsoft.Windows.Networking.NetworkController.RestApi.Fabric.Fnm.FnmUtility.ParseIpAddressWithPrefix(String addressWithPrefix, IPAddress& ipAddress, UInt32& adressPrefix)\r\n at Microsoft.Windows.Networking.NetworkController.RestApi.Fabric.Fnm.FnmUtility.ValidateLogicalSubnet(LogicalSubnet newSubnet, LogicalNetwork logicalNetwork)\r\n at Microsoft.Windows.Networking.NetworkController.RestApi.Fabric.Fnm.FnmUtility.ValidateLogicalNetwork(LogicalNetwork logicalNetwork)\r\n at Microsoft.Windows.Networking.NetworkController.RestApi.Fabric.Fnm.PutLogicalNetworkOperation.ExecuteInternal(LogicalNetwork logicalNetwork, ITransaction transaction)\r\n at Microsoft.Windows.Networking.NetworkController.RestApi.Common.Operations.PutResourceDefaultOperation`1.DefaultExecuteTopLevelResource()\r\n at Microsoft.Windows.Networking.NetworkController.RestApi.Common.Operations.PutResourceDefaultOperation`1.Execute()\r\n at Microsoft.WindowsAzure.Networking.Nrp.Frontend.Operations.OperationBase`1.Run()" } }
The following table contains all possible error codes returned by servers, along with an explanation.
|
Error.Code value |
Explanation |
|---|---|
|
InternalServerError |
An unknown error occurred. |
|
Canceled |
Operation was canceled by a different, concurrent operation. |
|
NotFound |
The specified resource was not found. |
|
BadRequest |
The input contains invalid parameters. |
|
RetryableError |
A retry-able error occurred. This error is an indication that the client SHOULD retry the previous operation. |
|
PublicIPAddressInUse |
A public IP address specified in the request is already in use. |
|
StaticAllocationMethodNotSupported |
Static allocation method for public IP addresses is not supported. |
|
PublicIPAddressMissing |
Public IP address is required when IPAllocationMethod is static. |
|
SubnetIsFull |
The subnet of the virtual or logical network does not have any more available IP addresses. |
|
PrivateIPAddressMissing |
Private IP address is required when privateIPAllocationMethod is static. |
|
SubnetIsRequired |
IP configuration resources require subnet resource references. |
|
PrivateIPAddressNotInSubnet |
The private static IP address specified does not belong to the range of subnet prefix. |
|
PrivateIPAddressInReservedRange |
The specified private static IP address falls within reserved IP range of subnet prefix. |
|
InvalidPrivateIPAddressFormat |
The private static IP address value is invalid. |
|
PrivateIPAddressInUse |
Another IP Configuration is already using the specified IP address. |
|
FrontendPrivateIPAddressIsNotNull |
Frontend private IP address MUST NOT be specified when Subnet is not specified. |
|
FrontendPrivateIPAllocationMethodIsNotDynamic |
Frontend Private IP Allocation Method MUST be set to Dynamic when subnet is not specified. |
|
InvalidResourceReference |
The specified resource reference is invalid. |
|
InvalidRequestFormat |
Cannot parse the request. Note This is a top-level error with InvalidJson, InvalidJsonReferenceWrongType used as error details. |
|
InvalidJson |
Errors were encountered while parsing the request body. |
|
InvalidJsonReferenceWrongType |
An invalid resource reference was encountered. |
|
InvalidJsonReferenceFormat |
The resource reference format is invalid. |
|
PublicIPAddressInUseCannotUpdate |
The properties for the specified public IP address cannot be updated because the public IP is in use. |
|
MultipleGatwaysUseSameVnet |
More than one gateway is associated with subnets of this vnet. |
|
InvalidGatewayIPCount |
The specified VPN Gateway has more than one IP configuration. |
|
DuplicateLocalVpnGatewayAddress |
The specified VPN Gateway defines two local networks with the same local VPN Gateway address property, but different address space. |
|
ReferencedResourceNotProvisioned |
The referenced resource has not been successfully provisioned. |
|
DnsRecordInUse |
The specified DNS record is already in use by another public IP. |
|
InvalidDomainNameLabel |
The domain name label is invalid. |
|
DomainNameLabelCannotBeNullOrEmpty |
The domain name label for a DNS record specified for the public IP address is null or empty. If a DNS record is specified, its domain name label MUST NOT be null or empty. |
|
InUseSubnetCannotBeDeleted |
The specified subnet is in use and cannot be deleted. |
|
SubnetsOldReferencesNotCleanedUp |
Subnets cannot be updated or deleted because old references for following subnets have not been released yet. |
|
InUseSubnetCannotBeUpdated |
The subnet is in use and cannot be updated. |
|
VnetInUse |
Cannot change properties on the virtual network resource since it is in use. |
|
AnotherOperationInProgress |
Another operation on this or dependent resource is in progress. |
|
DnsServerCountLimitReached |
Reached limit for the number of DNS servers allowed for a virtual network.<22> |
|
NicInUse |
The Network Interface resource is in use. |
|
OperationNotSupported |
The specified operation on the specified resource is not supported. |
|
OutboundNatRulesAreNotSupported |
Outbound NAT rules are not supported. |
|
RuleNameDuplicate |
Two rules of different types use the same name. |
|
InvalidFrontendIPCount |
Load Balancer resources MUST have one frontend IP Configuration. |
|
FrontendIPConfigHasNoSubnetOrPublicIP |
Frontend IP Configuration MUST reference either a subnet or a public IP address. |
|
FrontendIPConfigHasBothSubnetAndPublicIP |
Frontend IP Configuration MUST NOT reference both a subnet and a public IP address. |
|
RulesUseSameFrontendPort |
Multiple load Balancer rules cannot use the same frontend port. |
|
RulesUseSameBackendPort |
Multiple load Balancer rules cannot use the same backend port. |
|
InvalidProtocolForProbe |
Probe can use only HTTP or TCP protocol. |
|
ProbeRequestPathIsNotNull |
Probe request path MUST be null when its protocol is TCP. |
|
ProbeIntervalIsOutOfRange |
The Probe Interval is invalid. |
|
ProbeRequestPathIsRequired |
Request Path is required for probes that use the HTTP protocol. |
|
PortValueIsOutOfRange |
The port value is invalid. |
|
NumberOfProbesIsOutOfRange |
The NumberOfProbes value for the probe is invalid. |
|
BackendAndFrontendPortsAreDifferent |
The load Balancer rule MUST use the same frontend and backend ports, because its enableFloatingIP flag is set to TRUE. |
|
RuleIdleTimeoutIsOutOfRange |
The load Balancer rule has invalid Idle Timeout. |
|
PublicIPIdleTimeoutIsOutOfRange |
The public IP address has invalid Idle Timeout. |
|
BackendIPConfigurationsDontUseSameVnet |
Not all backend IP Configurations referenced by the load Balancer use the same Virtual Network. |
|
FrontendIPConfigAndBackendIPConfigsAreInDifferentVnets |
Not all backend IP Configurations referenced by the Load Balancer use the same Virtual Network as frontend IP Configuration of the Load Balancer. |
|
CannotSwitchLbBetweenAvailabilitySets |
Load Balancer cannot be reassigned from one availability set to another. |
|
InvalidResourceName |
The resource name is invalid. |
|
InvalidRouteAddressPrefix |
The addressPrefix for the specified route is invalid. |
|
AddressPrefixInRestrictedAddressSpace |
The addressPrefix for the specified route is not allowed. |
|
MissingNextHopIpAddress |
The NextHopIpAddress cannot be Null or Empty. |
|
InvalidNextHopIpAddress |
The NextHopIpAddress for the specified route is invalid. |
|
AddressPrefixMustBeInPublicAddressSpace |
Invalid addressPrefix for route. The NextHopType MUST have addressPrefix in Public Address Space. |
|
NextHopIpAddressNotAllowed |
NextHopIpAddress for route cannot be specified. |
|
InUseRouteTableCannotBeDeleted |
The specified route table is in use and cannot be deleted. |
|
RouteCountLimitReached |
The number of allowed routes in a route table has been exceeded. |
|
RouteConflict |
Two or more routes cannot have the same addressPrefix. |
|
InUseFrontendIpConfigurationCannotBeDeleted |
The specified Frontend IP configuration is in use and cannot be deleted. |
|
InUseBackendAddressPoolCannotBeDeleted |
The specified Backend address pool is in use and cannot be deleted. |
|
InUseProbeCannotBeDeleted |
The specified Probe is in use and cannot be deleted. |
|
InUseAccessControlListCannotBeDeleted |
The specified AccessControlList resource is in use and cannot be deleted. |
|
InvalidParameterValue |
An invalid parameter was specified. |
|
ValidationError |
A validation error occurred. |
|
ServiceUnavailable |
The Network Controller REST service is unavailable. |
|
InvalidLogicalNetworkReference |
A logical Network resource is required for creating a virtual network. Specify a valid reference to an existing logical Network resource. |
|
InvalidIPAddress |
The IP Address is not in the correct format. |
|
InvalidIPPrefix |
The IP Prefix is not in the correct format. |
|
PrivateMacAddressMissing |
Private Mac address is required when privateMacAllocationMethod is static. |
|
InvalidPrivateMacAddress |
The Private static Mac address is invalid. |
|
InvalidNetworkInterfaceReference |
A Network Interface reference is required. |
|
InUseServiceInsertionCannotBeDeleted |
The specified ServiceInsertion resource is in use and cannot be deleted. |
|
InUseServerCannotBeDeleted |
The specified server resource is in use and cannot be deleted. |
|
InUseVirtualServerCannotBeDeleted |
The specified VirtualServers resource is in use and cannot be deleted. |
|
InUseIpPoolCannotBeDeleted |
The specified ipPool resource is in use and cannot be deleted. |
|
ResourceInUse |
A resource cannot be deleted because a related resource is in use. |
|
IsHostVirtualNetworkInterfaceCannotBeUpdated |
The isHostVirtualNetworkInterface property cannot be updated after the NetworkInterface has been created. |
|
HostVirtualNetworkInterfaceCannotConnectToVirtualNetwork |
The Host Virtual NetworkInterface cannot be connected to a Virtual Network. |
|
PrivateMacAllocationMethodCannotBeUpdated |
The privateMacAllocationMethod property cannot be updated after the NetworkInterface has been created. |
|
InUseQosSettingsCannotBeUpdated |
The QOS Settings are referenced by one or more Network Interfaces and cannot be modified. |
|
QosGlobalSettingsNotConfigured |
The QOS global settings are not configured. The QOS configuration cannot be specified on the NetworkInterface. |
|
InvalidSubnet |
An invalid subnet was specified. |
|
AclRuleNullOrEmptySourceAddressPrefix |
The sourceAddressPrefix property cannot be null or empty. |
|
AclRuleNullOrEmptyDestinationAddressPrefix |
The destinationAddressPrefix property cannot be null or empty. |
|
AclRuleNullOrEmptySourcePortRange |
The sourcePortRange property cannot be null or empty. |
|
AclRuleNullOrEmptyDestinationPortRange |
The destinationPortRange property cannot be null or empty. |
|
InvalidAclRuleType |
The AclRule Type is invalid. |
|
InvalidAclRuleAction |
The AclRule Action is invalid. |
|
InvalidAclRulePriority |
The specified priority is invalid. |
|
InvalidAclRuleProtocol |
The specified protocol is invalid. Possible values are TCP, UDP, or ALL. |
|
UpgradeInProgress |
The operation failed because an internal upgrade is in progress. |
|
NetworkMismatch |
Both Networks are not of the same type. |
|
VirtualNetworkMismatch |
SenderVirtualNetWork MUST be same as ReceiverVirtualNetwork. |
|
AclRuleTagsNotSupportedOnLogicalNetwork |
AclRule does not support Tags on Network Interfaces with an ipConfiguration in a logical subnet. |
|
RouteNextHopIpAddressNotFound |
The NextHopIpAddress was not found within Virtual Network to which the RouteTable is connected. |
|
UnmanagedAllocationMethodNotSupported |
Unmanaged IP allocation is not supported on virtual network or logical networks where virtualization is enabled. |
|
InUseVipPoolCannotBeRemoved |
A pool that has VIPs allocated from it cannot be removed from the load Balancer manager. |
|
LbManagerResourceNotConfigured |
The load Balancer Manager Resource MUST be configured before a load Balancer resource can be configured. |
|
FrontEndIpNotInVipPool |
The specified frontend IP Address is not part of a VIP Pool. |
|
FrontendPrivateIpAllocationMethodIsNotStatic |
Frontend Private IP Allocation Method MUST be set to Static when subnet is specified. |
|
VipRangeTooLarge |
The maximum number of addresses allowed in a single VIP range has been exceeded. |
|
PrimaryNicPropertyCannotBeUpdated |
The Primary NIC property for a network interface resource cannot be updated after the resource has been created. |
|
OnlyPrimaryNetworkInterfaceCanHaveDnsSettings |
Only Primary Network Interfaces can have DNS settings. |
|
RestoreOperationInProgress |
A restore operation is in progress. |
|
AclRuleInvalidSourcePortRange |
The sourcePortRange value is invalid. |
|
BackupFolderNotEmpty |
The Backup folder path is not empty. |
|
AclRuleInvalidDestinationPortRange |
The destinationPortRange value is invalid. |
|
AclRuleInvalidSourceAddressPrefix |
The sourceAddressPrefix value is invalid. |
|
AclRuleInvalidDestinationAddressPrefix |
The destinationAddressPrefix value is invalid. |
|
TransientError |
A retry-able error occurred. This error is an indication that the client SHOULD retry the previous operation. |
|
PublicIPAddressVersionCannotUpdate |
Cannot change the IP version from IPv4 to IPv6 or the other way around. |
|
UnsupportedCredentialType |
Only X509Certificate credential can be used to encrypt the subnet. |
|
InUseCredentialCannotBeDeleted |
The credential is in use and cannot be deleted. |
|
InboundNatRuleInUse |
The Network interface cannot use the NAT rule because it is already in use by another network interface. |
|
InvalidVsidRangeFormat |
The Virtual Subnet Id range is invalid. The range start value MUST be lower than the end value. |
|
InvalidVsidRangeValues |
The Virtual Subnet Id range is invalid. The range start and end values MUST be between the listed bounds. |
|
MinimumApiVersionNotSpecifiedForVsidRange |
Specified API version (URI version) does not meet the minimum required API version for Virtual Subnet Id Range configuration. |
|
InvalidUnbilledAddressRange |
An invalid unbilled address range was specified for the resource. |
|
UseRemoteAndAllowTransitCannotBeTrue |
Peering cannot have both useRemoteGateways flag and allowGatewayTransit set to TRUE. |
|
RemoteVnetHasNoGateways |
Peering cannot have useRemoteGateways flag set to TRUE, because the remote virtual network referenced by the peering does not have any gateways. |
|
ParentVnetAlreadyHasGateways |
Peering cannot have useRemoteGateways flag set to TRUE, because the parent virtual network already has a gateway configured. |
|
AnotherPeeringAlreadyUsesRemoteGateways |
Peering cannot have useRemoteGateways flag set to TRUE, because another peering already has useRemoteGateways flag set to TRUE. |
|
RemotePeeringDoesNotAllowGatewayTransit |
Peering cannot have useRemoteGateways flag set to TRUE, because corresponding remote peering has allowGatewayTransit flag set to FALSE. |
|
RemoteVirtualNetworkNotSpecified |
remoteVirtualNetwork property is required for peering. |
|
ChangingRemoteVirtualNetworkNotAllowed |
Changing remoteVirtualNetwork property of a peering is not allowed. Delete and re-create the peering with new RemoteVirtualNetwork value instead. |
|
AnotherPeeringAlreadyReferencesRemoteVnet |
The peering resource already references the remote virtual network. Cannot add another peering referencing the same remote virtual network. |
|
VnetAddressSpacesOverlap |
Cannot create or update the peering resource. The virtual networks cannot be peered because their address spaces overlap. |
|
VnetAddressSpaceOverlapsWithAlreadyPeeredVnet |
Cannot create or update the peering resource. The virtual networks cannot be peered because address space of the first virtual network overlaps with address space of a third virtual network already peered with the second virtual network. |
|
RemotePeeringIsStaleBecauseVnetWasRecreated |
Cannot create or update the peering resource because a remote peering resource is stale. It became stale because the virtual network was deleted and re-created. Update or re-create the remote peering to make sure it is in sync with the virtual network. |
|
PeeringRemoteVnetIsSameAsParentVnet |
remoteVirtualNetwork property of the peering resource cannot reference the parent virtual network of the peering. |
|
VnetAddressSpaceCannotChangeDueToPeerings |
The address space of the virtual network cannot be changed when the virtual network has peering resources. |