Microsoft.MobileNetwork packetCoreControlPlanes/packetCoreDataPlanes/attachedDataNetworks 2022-03-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-03-01-preview' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  parent: resourceSymbolicName
  properties: {
    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

packetCoreControlPlanes/packetCoreDataPlanes/attache...

Name Description Value
name The resource name

See how to set names and types for child resources in Bicep.
string (required)

Character limit: 1-64

Valid characters:
Alphanumeric, hyphens and a period/dot (.)

Start and end with alphanumeric.

Note: A period/dot (.) must be followed by an alphanumeric character.
location The geo-location where the resource lives string (required)
tags Resource tags. Dictionary of tag names and values. See Tags in templates
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: packetCoreDataPlanes
properties Data network properties. AttachedDataNetworkPropertiesFormat (required)

AttachedDataNetworkPropertiesFormat

Name Description Value
naptConfiguration The Network Address and Port Translation configuration.
If not specified the attached data network uses a default NAPT configuration with NAPT enabled.
NaptConfiguration
userEquipmentAddressPoolPrefix The user equipment address pool prefixes for the attached data network that are dynamically assigned by the core to UEs when they set up a PDU session.
At least one of userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix must be defined. If both are defined then they must be the same size.
string

Constraints:
Min length = 1
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 address pool prefixes for the attached data network that are statically assigned by the core to UEs when they set up a PDU session.
The mapping of static IP to sim is configured in staticIpConfiguration on the sim resource.
At least one of userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix must be defined. If both are defined then they must be the same size.
string

Constraints:
Min length = 1
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. In 5G networks this is called as N6 interface whereas in 4G networks this is called as SGi interface. InterfaceProperties (required)

NaptConfiguration

Name Description Value
enabled Whether NAPT is enabled for connections to this attachedDataNetwork. 'Disabled'
'Enabled'
pinholeLimits Maximum number of UDP and TCP pinholes that can be open simultaneously on the core 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 - 65,535. (Ports under 1,024 should not be used because these are special purpose ports reserved by IANA.)
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 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 per RFC 5382 section 5. int

Constraints:
Min value = 1
udp Pinhole timeout for UDP pinholes in seconds. Default for UDP is 5 minutes 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

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 machine. string (required)

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.

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-03-01-preview",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "properties": {
    "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

packetCoreControlPlanes/packetCoreDataPlanes/attache...

Name Description Value
type The resource type 'Microsoft.MobileNetwork/packetCoreControlPlanes/packetCoreDataPlanes/attachedDataNetworks'
apiVersion The resource api version '2022-03-01-preview'
name The resource name

See how to set names and types for child resources in JSON ARM templates.
string (required)

Character limit: 1-64

Valid characters:
Alphanumeric, hyphens and a period/dot (.)

Start and end with alphanumeric.

Note: A period/dot (.) must be followed by an alphanumeric character.
location The geo-location where the resource lives string (required)
tags Resource tags. Dictionary of tag names and values. See Tags in templates
properties Data network properties. AttachedDataNetworkPropertiesFormat (required)

AttachedDataNetworkPropertiesFormat

Name Description Value
naptConfiguration The Network Address and Port Translation configuration.
If not specified the attached data network uses a default NAPT configuration with NAPT enabled.
NaptConfiguration
userEquipmentAddressPoolPrefix The user equipment address pool prefixes for the attached data network that are dynamically assigned by the core to UEs when they set up a PDU session.
At least one of userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix must be defined. If both are defined then they must be the same size.
string

Constraints:
Min length = 1
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 address pool prefixes for the attached data network that are statically assigned by the core to UEs when they set up a PDU session.
The mapping of static IP to sim is configured in staticIpConfiguration on the sim resource.
At least one of userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix must be defined. If both are defined then they must be the same size.
string

Constraints:
Min length = 1
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. In 5G networks this is called as N6 interface whereas in 4G networks this is called as SGi interface. InterfaceProperties (required)

NaptConfiguration

Name Description Value
enabled Whether NAPT is enabled for connections to this attachedDataNetwork. 'Disabled'
'Enabled'
pinholeLimits Maximum number of UDP and TCP pinholes that can be open simultaneously on the core 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 - 65,535. (Ports under 1,024 should not be used because these are special purpose ports reserved by IANA.)
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 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 per RFC 5382 section 5. int

Constraints:
Min value = 1
udp Pinhole timeout for UDP pinholes in seconds. Default for UDP is 5 minutes 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

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 machine. string (required)

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-03-01-preview"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  body = jsonencode({
    properties = {
      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

packetCoreControlPlanes/packetCoreDataPlanes/attache...

Name Description Value
type The resource type "Microsoft.MobileNetwork/packetCoreControlPlanes/packetCoreDataPlanes/attachedDataNetworks@2022-03-01-preview"
name The resource name string (required)

Character limit: 1-64

Valid characters:
Alphanumeric, hyphens and a period/dot (.)

Start and end with alphanumeric.

Note: A period/dot (.) must be followed by an alphanumeric character.
location The geo-location where the resource lives string (required)
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: packetCoreDataPlanes
tags Resource tags. Dictionary of tag names and values.
properties Data network properties. AttachedDataNetworkPropertiesFormat (required)

AttachedDataNetworkPropertiesFormat

Name Description Value
naptConfiguration The Network Address and Port Translation configuration.
If not specified the attached data network uses a default NAPT configuration with NAPT enabled.
NaptConfiguration
userEquipmentAddressPoolPrefix The user equipment address pool prefixes for the attached data network that are dynamically assigned by the core to UEs when they set up a PDU session.
At least one of userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix must be defined. If both are defined then they must be the same size.
string

Constraints:
Min length = 1
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 address pool prefixes for the attached data network that are statically assigned by the core to UEs when they set up a PDU session.
The mapping of static IP to sim is configured in staticIpConfiguration on the sim resource.
At least one of userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix must be defined. If both are defined then they must be the same size.
string

Constraints:
Min length = 1
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. In 5G networks this is called as N6 interface whereas in 4G networks this is called as SGi interface. InterfaceProperties (required)

NaptConfiguration

Name Description Value
enabled Whether NAPT is enabled for connections to this attachedDataNetwork. "Disabled"
"Enabled"
pinholeLimits Maximum number of UDP and TCP pinholes that can be open simultaneously on the core 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 - 65,535. (Ports under 1,024 should not be used because these are special purpose ports reserved by IANA.)
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 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 per RFC 5382 section 5. int

Constraints:
Min value = 1
udp Pinhole timeout for UDP pinholes in seconds. Default for UDP is 5 minutes 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

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 machine. string (required)