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.