Microsoft.MobileNetwork packetCoreControlPlanes/packetCoreDataPlanes/attachedDataNetworks 2022-04-01-preview

Bicep resource definition

The packetCoreControlPlanes/packetCoreDataPlanes/attachedDataNetworks resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.MobileNetwork/packetCoreControlPlanes/packetCoreDataPlanes/attachedDataNetworks resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.MobileNetwork/packetCoreControlPlanes/packetCoreDataPlanes/attachedDataNetworks@2022-04-01-preview' = {
  parent: resourceSymbolicName
  location: 'string'
  name: 'string'
  properties: {
    dnsAddresses: [
      'string'
    ]
    naptConfiguration: {
      enabled: 'string'
      pinholeLimits: int
      pinholeTimeouts: {
        icmp: int
        tcp: int
        udp: int
      }
      portRange: {
        maxPort: int
        minPort: int
      }
      portReuseHoldTime: {
        tcp: int
        udp: int
      }
    }
    userEquipmentAddressPoolPrefix: [
      'string'
    ]
    userEquipmentStaticAddressPoolPrefix: [
      'string'
    ]
    userPlaneDataInterface: {
      ipv4Address: 'string'
      ipv4Gateway: 'string'
      ipv4Subnet: 'string'
      name: 'string'
    }
  }
  tags: {
    {customized property}: 'string'
  }
}

Property values

AttachedDataNetworkPropertiesFormat

Name Description Value
dnsAddresses The DNS servers to signal to UEs to use for this attached data network. string

Constraints:
Pattern = ^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$[]
naptConfiguration The network address and port translation (NAPT) configuration.
If this is not specified, the attached data network will use a default NAPT configuration with NAPT enabled.
NaptConfiguration
userEquipmentAddressPoolPrefix The user equipment (UE) address pool prefixes for the attached data network from which the packet core instance will dynamically assign IP addresses to UEs.
The packet core instance assigns an IP address to a UE when the UE sets up a PDU session.
You must define at least one of userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix. If you define both, they must be of the same size.
string

Constraints:
Pattern = ^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$[]
userEquipmentStaticAddressPoolPrefix The user equipment (UE) address pool prefixes for the attached data network from which the packet core instance will assign static IP addresses to UEs.
The packet core instance assigns an IP address to a UE when the UE sets up a PDU session. The static IP address for a specific UE is set in StaticIPConfiguration on the corresponding SIM resource.
At least one of userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix must be defined. If both are defined, they must be of the same size.
string

Constraints:
Pattern = ^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$[]
userPlaneDataInterface The user plane interface on the data network. For 5G networks, this is the N6 interface. For 4G networks, this is the SGi interface. InterfaceProperties (required)

InterfaceProperties

Name Description Value
ipv4Address The IPv4 address. string

Constraints:
Pattern = ^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$
ipv4Gateway The default IPv4 gateway (router). string

Constraints:
Pattern = ^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$
ipv4Subnet The IPv4 subnet. string

Constraints:
Pattern = ^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$
name The logical name for this interface. This should match one of the interfaces configured on your Azure Stack Edge device. string

Microsoft.MobileNetwork/packetCoreControlPlanes/packetCoreDataPlanes/attachedDataNetworks

Name Description Value
location The geo-location where the resource lives string (required)
name The resource name string

Constraints:
Max length =
Pattern = ^[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])*(\.[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])*)*$ (required)
parent In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource.

For more information, see Child resource outside parent resource.
Symbolic name for resource of type: packetCoreControlPlanes/packetCoreDataPlanes
properties Data network properties. AttachedDataNetworkPropertiesFormat (required)
tags Resource tags Dictionary of tag names and values. See Tags in templates

NaptConfiguration

Name Description Value
enabled Whether NAPT is enabled for connections to this attached data network. 'Disabled'
'Enabled'
pinholeLimits Maximum number of UDP and TCP pinholes that can be open simultaneously on the core interface. For 5G networks, this is the N6 interface. For 4G networks, this is the SGi interface. int

Constraints:
Min value = 1
Max value = 65536
pinholeTimeouts Expiry times of inactive NAPT pinholes, in seconds. All timers must be at least 1 second. PinholeTimeouts
portRange Range of port numbers to use as translated ports on each translated address.
If not specified and NAPT is enabled, this range defaults to 1,024 - 49,999.
(Ports under 1,024 should not be used because these are special purpose ports reserved by IANA. Ports 50,000 and above are reserved for non-NAPT use.)
PortRange
portReuseHoldTime The minimum time (in seconds) that will pass before a port that was used by a closed pinhole can be recycled for use by another pinhole. All hold times must be minimum 1 second. PortReuseHoldTimes

PinholeTimeouts

Name Description Value
icmp Pinhole timeout for ICMP pinholes in seconds. Default for ICMP Echo is 60 seconds, as per RFC 5508 section 3.2. int

Constraints:
Min value = 1
tcp Pinhole timeout for TCP pinholes in seconds. Default for TCP is 2 hours 4 minutes, as per RFC 5382 section 5. int

Constraints:
Min value = 1
udp Pinhole timeout for UDP pinholes in seconds. Default for UDP is 5 minutes, as per RFC 4787 section 4.3. int

Constraints:
Min value = 1

PortRange

Name Description Value
maxPort The maximum port number int

Constraints:
Min value = 1024
Max value = 65535
minPort The minimum port number int

Constraints:
Min value = 1024
Max value = 65535

PortReuseHoldTimes

Name Description Value
tcp Minimum time in seconds that will pass before a TCP port that was used by a closed pinhole can be reused. Default for TCP is 2 minutes. int

Constraints:
Min value = 1
udp Minimum time in seconds that will pass before a UDP port that was used by a closed pinhole can be reused. Default for UDP is 1 minute. int

Constraints:
Min value = 1

TrackedResourceTags

Name Description Value

Quickstart samples

The following quickstart samples deploy this resource type.

Bicep File Description
Create a full 5G Core deployment This template creates all resources required to deploy a Private 5G Core, including provisioning sims and creating sample QoS policy. It can optionally be deployed to a Kubernetes cluster running on an Azure Stack Edge device.
Create a new mobile network site This template creates a new site with associated 5G packet core resources. It can optionally be deployed to a Kubernetes cluster running on an Azure Stack Edge device.

ARM template resource definition

The packetCoreControlPlanes/packetCoreDataPlanes/attachedDataNetworks resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.MobileNetwork/packetCoreControlPlanes/packetCoreDataPlanes/attachedDataNetworks resource, add the following JSON to your template.

{
  "type": "Microsoft.MobileNetwork/packetCoreControlPlanes/packetCoreDataPlanes/attachedDataNetworks",
  "apiVersion": "2022-04-01-preview",
  "name": "string",
  "location": "string",
  "properties": {
    "dnsAddresses": [ "string" ],
    "naptConfiguration": {
      "enabled": "string",
      "pinholeLimits": "int",
      "pinholeTimeouts": {
        "icmp": "int",
        "tcp": "int",
        "udp": "int"
      },
      "portRange": {
        "maxPort": "int",
        "minPort": "int"
      },
      "portReuseHoldTime": {
        "tcp": "int",
        "udp": "int"
      }
    },
    "userEquipmentAddressPoolPrefix": [ "string" ],
    "userEquipmentStaticAddressPoolPrefix": [ "string" ],
    "userPlaneDataInterface": {
      "ipv4Address": "string",
      "ipv4Gateway": "string",
      "ipv4Subnet": "string",
      "name": "string"
    }
  },
  "tags": {
    "{customized property}": "string"
  }
}

Property values

AttachedDataNetworkPropertiesFormat

Name Description Value
dnsAddresses The DNS servers to signal to UEs to use for this attached data network. string

Constraints:
Pattern = ^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$[]
naptConfiguration The network address and port translation (NAPT) configuration.
If this is not specified, the attached data network will use a default NAPT configuration with NAPT enabled.
NaptConfiguration
userEquipmentAddressPoolPrefix The user equipment (UE) address pool prefixes for the attached data network from which the packet core instance will dynamically assign IP addresses to UEs.
The packet core instance assigns an IP address to a UE when the UE sets up a PDU session.
You must define at least one of userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix. If you define both, they must be of the same size.
string

Constraints:
Pattern = ^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$[]
userEquipmentStaticAddressPoolPrefix The user equipment (UE) address pool prefixes for the attached data network from which the packet core instance will assign static IP addresses to UEs.
The packet core instance assigns an IP address to a UE when the UE sets up a PDU session. The static IP address for a specific UE is set in StaticIPConfiguration on the corresponding SIM resource.
At least one of userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix must be defined. If both are defined, they must be of the same size.
string

Constraints:
Pattern = ^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$[]
userPlaneDataInterface The user plane interface on the data network. For 5G networks, this is the N6 interface. For 4G networks, this is the SGi interface. InterfaceProperties (required)

InterfaceProperties

Name Description Value
ipv4Address The IPv4 address. string

Constraints:
Pattern = ^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$
ipv4Gateway The default IPv4 gateway (router). string

Constraints:
Pattern = ^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$
ipv4Subnet The IPv4 subnet. string

Constraints:
Pattern = ^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$
name The logical name for this interface. This should match one of the interfaces configured on your Azure Stack Edge device. string

Microsoft.MobileNetwork/packetCoreControlPlanes/packetCoreDataPlanes/attachedDataNetworks

Name Description Value
apiVersion The api version '2022-04-01-preview'
location The geo-location where the resource lives string (required)
name The resource name string

Constraints:
Max length =
Pattern = ^[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])*(\.[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])*)*$ (required)
properties Data network properties. AttachedDataNetworkPropertiesFormat (required)
tags Resource tags Dictionary of tag names and values. See Tags in templates
type The resource type 'Microsoft.MobileNetwork/packetCoreControlPlanes/packetCoreDataPlanes/attachedDataNetworks'

NaptConfiguration

Name Description Value
enabled Whether NAPT is enabled for connections to this attached data network. 'Disabled'
'Enabled'
pinholeLimits Maximum number of UDP and TCP pinholes that can be open simultaneously on the core interface. For 5G networks, this is the N6 interface. For 4G networks, this is the SGi interface. int

Constraints:
Min value = 1
Max value = 65536
pinholeTimeouts Expiry times of inactive NAPT pinholes, in seconds. All timers must be at least 1 second. PinholeTimeouts
portRange Range of port numbers to use as translated ports on each translated address.
If not specified and NAPT is enabled, this range defaults to 1,024 - 49,999.
(Ports under 1,024 should not be used because these are special purpose ports reserved by IANA. Ports 50,000 and above are reserved for non-NAPT use.)
PortRange
portReuseHoldTime The minimum time (in seconds) that will pass before a port that was used by a closed pinhole can be recycled for use by another pinhole. All hold times must be minimum 1 second. PortReuseHoldTimes

PinholeTimeouts

Name Description Value
icmp Pinhole timeout for ICMP pinholes in seconds. Default for ICMP Echo is 60 seconds, as per RFC 5508 section 3.2. int

Constraints:
Min value = 1
tcp Pinhole timeout for TCP pinholes in seconds. Default for TCP is 2 hours 4 minutes, as per RFC 5382 section 5. int

Constraints:
Min value = 1
udp Pinhole timeout for UDP pinholes in seconds. Default for UDP is 5 minutes, as per RFC 4787 section 4.3. int

Constraints:
Min value = 1

PortRange

Name Description Value
maxPort The maximum port number int

Constraints:
Min value = 1024
Max value = 65535
minPort The minimum port number int

Constraints:
Min value = 1024
Max value = 65535

PortReuseHoldTimes

Name Description Value
tcp Minimum time in seconds that will pass before a TCP port that was used by a closed pinhole can be reused. Default for TCP is 2 minutes. int

Constraints:
Min value = 1
udp Minimum time in seconds that will pass before a UDP port that was used by a closed pinhole can be reused. Default for UDP is 1 minute. int

Constraints:
Min value = 1

TrackedResourceTags

Name Description Value

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Create a full 5G Core deployment

Deploy to Azure
This template creates all resources required to deploy a Private 5G Core, including provisioning sims and creating sample QoS policy. It can optionally be deployed to a Kubernetes cluster running on an Azure Stack Edge device.
Create a new mobile network site

Deploy to Azure
This template creates a new site with associated 5G packet core resources. It can optionally be deployed to a Kubernetes cluster running on an Azure Stack Edge device.

Terraform (AzAPI provider) resource definition

The packetCoreControlPlanes/packetCoreDataPlanes/attachedDataNetworks resource type can be deployed with operations that target:

  • Resource groups

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.MobileNetwork/packetCoreControlPlanes/packetCoreDataPlanes/attachedDataNetworks resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.MobileNetwork/packetCoreControlPlanes/packetCoreDataPlanes/attachedDataNetworks@2022-04-01-preview"
  name = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = jsonencode({
    properties = {
      dnsAddresses = [
        "string"
      ]
      naptConfiguration = {
        enabled = "string"
        pinholeLimits = int
        pinholeTimeouts = {
          icmp = int
          tcp = int
          udp = int
        }
        portRange = {
          maxPort = int
          minPort = int
        }
        portReuseHoldTime = {
          tcp = int
          udp = int
        }
      }
      userEquipmentAddressPoolPrefix = [
        "string"
      ]
      userEquipmentStaticAddressPoolPrefix = [
        "string"
      ]
      userPlaneDataInterface = {
        ipv4Address = "string"
        ipv4Gateway = "string"
        ipv4Subnet = "string"
        name = "string"
      }
    }
  })
}

Property values

AttachedDataNetworkPropertiesFormat

Name Description Value
dnsAddresses The DNS servers to signal to UEs to use for this attached data network. string

Constraints:
Pattern = ^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$[]
naptConfiguration The network address and port translation (NAPT) configuration.
If this is not specified, the attached data network will use a default NAPT configuration with NAPT enabled.
NaptConfiguration
userEquipmentAddressPoolPrefix The user equipment (UE) address pool prefixes for the attached data network from which the packet core instance will dynamically assign IP addresses to UEs.
The packet core instance assigns an IP address to a UE when the UE sets up a PDU session.
You must define at least one of userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix. If you define both, they must be of the same size.
string

Constraints:
Pattern = ^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$[]
userEquipmentStaticAddressPoolPrefix The user equipment (UE) address pool prefixes for the attached data network from which the packet core instance will assign static IP addresses to UEs.
The packet core instance assigns an IP address to a UE when the UE sets up a PDU session. The static IP address for a specific UE is set in StaticIPConfiguration on the corresponding SIM resource.
At least one of userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix must be defined. If both are defined, they must be of the same size.
string

Constraints:
Pattern = ^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$[]
userPlaneDataInterface The user plane interface on the data network. For 5G networks, this is the N6 interface. For 4G networks, this is the SGi interface. InterfaceProperties (required)

InterfaceProperties

Name Description Value
ipv4Address The IPv4 address. string

Constraints:
Pattern = ^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$
ipv4Gateway The default IPv4 gateway (router). string

Constraints:
Pattern = ^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$
ipv4Subnet The IPv4 subnet. string

Constraints:
Pattern = ^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$
name The logical name for this interface. This should match one of the interfaces configured on your Azure Stack Edge device. string

Microsoft.MobileNetwork/packetCoreControlPlanes/packetCoreDataPlanes/attachedDataNetworks

Name Description Value
location The geo-location where the resource lives string (required)
name The resource name string

Constraints:
Max length =
Pattern = ^[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])*(\.[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])*)*$ (required)
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: packetCoreControlPlanes/packetCoreDataPlanes
properties Data network properties. AttachedDataNetworkPropertiesFormat (required)
tags Resource tags Dictionary of tag names and values.
type The resource type "Microsoft.MobileNetwork/packetCoreControlPlanes/packetCoreDataPlanes/attachedDataNetworks@2022-04-01-preview"

NaptConfiguration

Name Description Value
enabled Whether NAPT is enabled for connections to this attached data network. 'Disabled'
'Enabled'
pinholeLimits Maximum number of UDP and TCP pinholes that can be open simultaneously on the core interface. For 5G networks, this is the N6 interface. For 4G networks, this is the SGi interface. int

Constraints:
Min value = 1
Max value = 65536
pinholeTimeouts Expiry times of inactive NAPT pinholes, in seconds. All timers must be at least 1 second. PinholeTimeouts
portRange Range of port numbers to use as translated ports on each translated address.
If not specified and NAPT is enabled, this range defaults to 1,024 - 49,999.
(Ports under 1,024 should not be used because these are special purpose ports reserved by IANA. Ports 50,000 and above are reserved for non-NAPT use.)
PortRange
portReuseHoldTime The minimum time (in seconds) that will pass before a port that was used by a closed pinhole can be recycled for use by another pinhole. All hold times must be minimum 1 second. PortReuseHoldTimes

PinholeTimeouts

Name Description Value
icmp Pinhole timeout for ICMP pinholes in seconds. Default for ICMP Echo is 60 seconds, as per RFC 5508 section 3.2. int

Constraints:
Min value = 1
tcp Pinhole timeout for TCP pinholes in seconds. Default for TCP is 2 hours 4 minutes, as per RFC 5382 section 5. int

Constraints:
Min value = 1
udp Pinhole timeout for UDP pinholes in seconds. Default for UDP is 5 minutes, as per RFC 4787 section 4.3. int

Constraints:
Min value = 1

PortRange

Name Description Value
maxPort The maximum port number int

Constraints:
Min value = 1024
Max value = 65535
minPort The minimum port number int

Constraints:
Min value = 1024
Max value = 65535

PortReuseHoldTimes

Name Description Value
tcp Minimum time in seconds that will pass before a TCP port that was used by a closed pinhole can be reused. Default for TCP is 2 minutes. int

Constraints:
Min value = 1
udp Minimum time in seconds that will pass before a UDP port that was used by a closed pinhole can be reused. Default for UDP is 1 minute. int

Constraints:
Min value = 1

TrackedResourceTags

Name Description Value