2.2.3.4 resourceId

The resourceId parameter contains the resource ID that is associated with various network resources and containers. The value cannot be changed after the resource is created. It is a constant for singleton resources and other specific resources. The resources that use constants and their values are as follows.

Resource

Value

auditingSettings

configuration

diagnostics

connectivityCheck

diagnostics

slbState

diagnostics

networkcontrollerstate

iDnsServer

configuration

loadBalancerManager

config

monitoring

networkControllerStatistics

multisite

configuration

multisitePrimary

configuration

virtualNetworkManager

configuration

virtualSwitchManager

configuration

The resourceId parameter is user-defined for the following resources: accessControlLists, aclRules, backendAddressPools, bgpPeers, bgpRouters, credentials, frontendIPConfigurations, GatewayPools, gateways, inboundNatRules, ipConfigurations, ipPools, loadBalancerMuxes, loadBalancers, loadBalancingRules, logicalNetworks, securityTags, subnets, macPools, networkConnections, outboundNatRules, networkInterfaces, policyMaps, probes, publicIPAddresses, routes, routeTables, servers, serviceInsertions, VirtualGateways, virtualNetworks, and virtualServers.

The resourceId parameter is system-defined for the following resources: Diagnostics connectivityCheckResults, Diagnostics slbStateResults, operations, and operationResults.

The resourceId parameter is user-defined or system generated for the following resource: subnets.

The resourceId parameter MUST be unique within its context if it is a top-level resource. The server will send an error response of 400 (Bad Request) to the client if there are conflicts in the uniqueness of the resourceId. This means that the resourceId parameter MUST be unique across all of the resources of the same type for the following resources: accessControlLists, bgpPeers, credentials, GatewayPools, gateways, loadBalancerMuxes, loadBalancers, logicalNetworks, macPools, policyMaps, publicIPAddresses, routeTables, securityTags, servers, serviceInsertions, VirtualGateways, virtualNetworks, and virtualServers.

A resource that is the child within a parent-child relationship MUST be unique within the context of the specific ancestor interfaces resource. For example, two aclRules resources can have the same resourceId if their parent accessControlLists resources are different; however, two aclRules resources cannot have the same resourceId if they have the same parent.

The resources that MUST be unique in the context of the parent are:

  • loadBalancers ancestor resource: backendAddressPools, frontendIPConfigurations, inboundNatRules, loadBalancingRules, outboundNatRules, probes

  • subnets ancestor resource: ipPools, routes

  • networkInterfaces ancestor resource: ipConfigurations

  • logicalNetworks ancestor resource: subnets

  • servers ancestor resource: networkInterfaces

  • VirtualGateways ancestor resource: bgpPeers, bgpRouters, networkConnections, policyMaps

  • virtualNetworks ancestor resource: subnets

The parent resource of a PUT request is an optional element and can be retrieved from the URL in cases where it is not supplied. For all descendant resources this is a required element. If it is not supplied, the server sends a 400 (Bad Request) response to the client.