Microsoft.MobileNetwork packetCoreControlPlanes

Bicep resource definition

The packetCoreControlPlanes 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 resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.MobileNetwork/packetCoreControlPlanes@2024-02-01' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  properties: {
    controlPlaneAccessInterface: {
      ipv4Address: 'string'
      ipv4Gateway: 'string'
      ipv4Subnet: 'string'
      name: 'string'
    }
    controlPlaneAccessVirtualIpv4Addresses: [
      'string'
    ]
    coreNetworkTechnology: 'string'
    diagnosticsUpload: {
      storageAccountContainerUrl: 'string'
    }
    eventHub: {
      id: 'string'
      reportingInterval: int
    }
    installation: {
      desiredState: 'string'
    }
    interopSettings: any()
    localDiagnosticsAccess: {
      authenticationType: 'string'
      httpsServerCertificate: {
        certificateUrl: 'string'
      }
    }
    platform: {
      azureStackEdgeDevice: {
        id: 'string'
      }
      azureStackHciCluster: {
        id: 'string'
      }
      connectedCluster: {
        id: 'string'
      }
      customLocation: {
        id: 'string'
      }
      type: 'string'
    }
    signaling: {
      nasReroute: {
        macroMmeGroupId: int
      }
    }
    sites: [
      {
        id: 'string'
      }
    ]
    sku: 'string'
    ueMtu: int
    version: 'string'
  }
}

Property values

packetCoreControlPlanes

Name Description Value
name The resource name string (required)

Character limit: 1-64

Valid characters:
Alphanumeric, underscores and hyphens.

Start with alphanumeric.
location The geo-location where the resource lives string (required)
tags Resource tags. Dictionary of tag names and values. See Tags in templates
identity The identity used to retrieve the ingress certificate from Azure key vault. ManagedServiceIdentity
properties Packet core control plane Properties. PacketCoreControlPlanePropertiesFormat (required)

ManagedServiceIdentity

Name Description Value
type Type of managed service identity (currently only UserAssigned allowed). 'None'
'UserAssigned' (required)
userAssignedIdentities The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. UserAssignedIdentities

UserAssignedIdentities

Name Description Value
{customized property} UserAssignedIdentity

UserAssignedIdentity

This object doesn't contain any properties to set during deployment. All properties are ReadOnly.

PacketCoreControlPlanePropertiesFormat

Name Description Value
controlPlaneAccessInterface The control plane interface on the access network. For 5G networks, this is the N2 interface. For 4G networks, this is the S1-MME interface. InterfaceProperties (required)
controlPlaneAccessVirtualIpv4Addresses The virtual IP address(es) for the control plane on the access network in a High Availability (HA) system. In an HA deployment the access network router should be configured to anycast traffic for this address to the control plane access interfaces on the active and standby nodes. In non-HA system this list should be omitted or empty. 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])$
coreNetworkTechnology The core network technology generation (5G core or EPC / 4G core). '5GC'
'EPC + 5GC'
'EPC'
diagnosticsUpload Configuration for uploading packet core diagnostics DiagnosticsUploadConfiguration
eventHub Configuration for sending packet core events to an Azure Event Hub. EventHubConfiguration
installation The installation state of the packet core control plane resource. Installation
interopSettings Settings to allow interoperability with third party components e.g. RANs and UEs. For Bicep, you can use the any() function.
localDiagnosticsAccess The kubernetes ingress configuration to control access to packet core diagnostics over local APIs. LocalDiagnosticsAccessConfiguration (required)
platform The platform where the packet core is deployed. PlatformConfiguration (required)
signaling Signaling configuration for the packet core. SignalingConfiguration
sites Site(s) under which this packet core control plane should be deployed. The sites must be in the same location as the packet core control plane. SiteResourceId[] (required)

Constraints:
Min length = 1
sku The SKU defining the throughput and SIM allowances for this packet core control plane deployment. 'G0'
'G1'
'G10'
'G2'
'G5' (required)
ueMtu The MTU (in bytes) signaled to the UE. The same MTU is set on the user plane data links for all data networks. The MTU set on the user plane access link is calculated to be 60 bytes greater than this value to allow for GTP encapsulation. int

Constraints:
Min value = 1280
Max value = 1930
version The desired version of the packet core software. string

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

DiagnosticsUploadConfiguration

Name Description Value
storageAccountContainerUrl The Storage Account Container URL to upload diagnostics to. string (required)

EventHubConfiguration

Name Description Value
id Resource ID of Azure Event Hub to send packet core events to. string (required)

Constraints:
Pattern = ^/[sS][uU][bB][sS][cC][rR][iI][pP][tT][iI][oO][nN][sS]/[^/?#]+/[rR][eE][sS][oO][uU][rR][cC][eE][gG][rR][oO][uU][pP][sS]/[^/?#]+/[pP][rR][oO][vV][iI][dD][eE][rR][sS]/[mM][iI][cC][rR][oO][sS][oO][fF][tT]\.[eE][vV][eE][nN][tT][hH][uU][bB]/[nN][aA][mM][eE][sS][pP][aA][cC][eE][sS]/[^/?#]+/[eV][vV][eE][nN][tT][hH][uU][bB][sS]/[^/?#]+$
reportingInterval The duration (in seconds) between UE usage reports. int

Constraints:
Min value = 30
Max value = 3600

Installation

Name Description Value
desiredState The desired installation state 'Installed'
'Uninstalled'

LocalDiagnosticsAccessConfiguration

Name Description Value
authenticationType How to authenticate users who access local diagnostics APIs. 'AAD'
'Password' (required)
httpsServerCertificate The HTTPS server TLS certificate used to secure local access to diagnostics. HttpsServerCertificate

HttpsServerCertificate

Name Description Value
certificateUrl The certificate URL, unversioned. For example: https://contosovault.vault.azure.net/certificates/ingress. string (required)

PlatformConfiguration

Name Description Value
azureStackEdgeDevice The Azure Stack Edge device where the packet core is deployed. If the device is part of a fault tolerant pair, either device in the pair can be specified. AzureStackEdgeDeviceResourceId
azureStackHciCluster The Azure Stack HCI cluster where the packet core is deployed. AzureStackHCIClusterResourceId
connectedCluster Azure Arc connected cluster where the packet core is deployed. ConnectedClusterResourceId
customLocation Azure Arc custom location where the packet core is deployed. CustomLocationResourceId
type The platform type where packet core is deployed. '3P-AZURE-STACK-HCI'
'AKS-HCI' (required)

AzureStackEdgeDeviceResourceId

Name Description Value
id Azure Stack Edge device resource ID. string (required)

Constraints:
Pattern = ^/[sS][uU][bB][sS][cC][rR][iI][pP][tT][iI][oO][nN][sS]/[^/?#]+/[rR][eE][sS][oO][uU][rR][cC][eE][gG][rR][oO][uU][pP][sS]/[^/?#]+/[pP][rR][oO][vV][iI][dD][eE][rR][sS]/[mM][iI][cC][rR][oO][sS][oO][fF][tT]\.[dD][aA][tT][aA][bB][oO][xX][eE][dD][gG][eE]/[dD][aA][tT][aA][bB][oO][xX][eE][dD][gG][eE][dD][eE][vV][iI][cC][eE][sS]/[^/?#]+$

AzureStackHCIClusterResourceId

Name Description Value
id Azure Stack HCI cluster resource ID. string (required)

Constraints:
Pattern = ^/[sS][uU][bB][sS][cC][rR][iI][pP][tT][iI][oO][nN][sS]/[^/?#]+/[rR][eE][sS][oO][uU][rR][cC][eE][gG][rR][oO][uU][pP][sS]/[^/?#]+/[pP][rR][oO][vV][iI][dD][eE][rR][sS]/[mM][iI][cC][rR][oO][sS][oO][fF][tT]\.[aA][zZ][uU][rR][eE][sS][tT][aA][cC][kK][hH][cC][iI]/[cC][lL][uU][sS][tT][eE][rR][sS]/[^/?#]+$

ConnectedClusterResourceId

Name Description Value
id Azure Arc connected cluster resource ID. string (required)

Constraints:
Pattern = ^/[sS][uU][bB][sS][cC][rR][iI][pP][tT][iI][oO][nN][sS]/[^/?#]+/[rR][eE][sS][oO][uU][rR][cC][eE][gG][rR][oO][uU][pP][sS]/[^/?#]+/[pP][rR][oO][vV][iI][dD][eE][rR][sS]/[mM][iI][cC][rR][oO][sS][oO][fF][tT]\.[kK][uU][bB][eE][rR][nN][eE][tT][eE][sS]/[cC][oO][nN][nN][eE][cC][tT][eE][dD][cC][lL][uU][sS][tT][eE][rR][sS]/[^/?#]+$

CustomLocationResourceId

Name Description Value
id Azure Arc custom location resource ID. string (required)

Constraints:
Pattern = ^/[sS][uU][bB][sS][cC][rR][iI][pP][tT][iI][oO][nN][sS]/[^/?#]+/[rR][eE][sS][oO][uU][rR][cC][eE][gG][rR][oO][uU][pP][sS]/[^/?#]+/[pP][rR][oO][vV][iI][dD][eE][rR][sS]/[mM][iI][cC][rR][oO][sS][oO][fF][tT]\.[eE][xX][tT][eE][nN][dD][eE][dD][lL][oO][cC][aA][tT][iI][oO][nN]/[cC][uU][sS][tT][oO][mM][lL][oO][cC][aA][tT][iI][oO][nN][sS]/[^/?#]+$

SignalingConfiguration

Name Description Value
nasReroute Configuration enabling 4G NAS reroute. NASRerouteConfiguration

NASRerouteConfiguration

Name Description Value
macroMmeGroupId The macro network's MME group ID. This is where unknown UEs are sent to via NAS reroute. int (required)

Constraints:
Min value = 0
Max value = 65535

SiteResourceId

Name Description Value
id Site resource ID. string (required)

Constraints:
Pattern = ^/[sS][uU][bB][sS][cC][rR][iI][pP][tT][iI][oO][nN][sS]/[^/?#]+/[rR][eE][sS][oO][uU][rR][cC][eE][gG][rR][oO][uU][pP][sS]/[^/?#]+/[pP][rR][oO][vV][iI][dD][eE][rR][sS]/[mM][iI][cC][rR][oO][sS][oO][fF][tT]\.[mM][oO][bB][iI][lL][eE][nN][eE][tT][wW][oO][rR][kK]/[mM][oO][bB][iI][lL][eE][nN][eE][tT][wW][oO][rR][kK][sS]/[^/?#]+/[sS][iI][tT][eE][sS]/[^/?#]+$

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.
Update a packet core control plane

Deploy to Azure
This template allows you to update the version of an existing packet core.

ARM template resource definition

The packetCoreControlPlanes 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 resource, add the following JSON to your template.

{
  "type": "Microsoft.MobileNetwork/packetCoreControlPlanes",
  "apiVersion": "2024-02-01",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {}
    }
  },
  "properties": {
    "controlPlaneAccessInterface": {
      "ipv4Address": "string",
      "ipv4Gateway": "string",
      "ipv4Subnet": "string",
      "name": "string"
    },
    "controlPlaneAccessVirtualIpv4Addresses": [ "string" ],
    "coreNetworkTechnology": "string",
    "diagnosticsUpload": {
      "storageAccountContainerUrl": "string"
    },
    "eventHub": {
      "id": "string",
      "reportingInterval": "int"
    },
    "installation": {
      "desiredState": "string"
    },
    "interopSettings": {},
    "localDiagnosticsAccess": {
      "authenticationType": "string",
      "httpsServerCertificate": {
        "certificateUrl": "string"
      }
    },
    "platform": {
      "azureStackEdgeDevice": {
        "id": "string"
      },
      "azureStackHciCluster": {
        "id": "string"
      },
      "connectedCluster": {
        "id": "string"
      },
      "customLocation": {
        "id": "string"
      },
      "type": "string"
    },
    "signaling": {
      "nasReroute": {
        "macroMmeGroupId": "int"
      }
    },
    "sites": [
      {
        "id": "string"
      }
    ],
    "sku": "string",
    "ueMtu": "int",
    "version": "string"
  }
}

Property values

packetCoreControlPlanes

Name Description Value
type The resource type 'Microsoft.MobileNetwork/packetCoreControlPlanes'
apiVersion The resource api version '2024-02-01'
name The resource name string (required)

Character limit: 1-64

Valid characters:
Alphanumeric, underscores and hyphens.

Start with alphanumeric.
location The geo-location where the resource lives string (required)
tags Resource tags. Dictionary of tag names and values. See Tags in templates
identity The identity used to retrieve the ingress certificate from Azure key vault. ManagedServiceIdentity
properties Packet core control plane Properties. PacketCoreControlPlanePropertiesFormat (required)

ManagedServiceIdentity

Name Description Value
type Type of managed service identity (currently only UserAssigned allowed). 'None'
'UserAssigned' (required)
userAssignedIdentities The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. UserAssignedIdentities

UserAssignedIdentities

Name Description Value
{customized property} UserAssignedIdentity

UserAssignedIdentity

This object doesn't contain any properties to set during deployment. All properties are ReadOnly.

PacketCoreControlPlanePropertiesFormat

Name Description Value
controlPlaneAccessInterface The control plane interface on the access network. For 5G networks, this is the N2 interface. For 4G networks, this is the S1-MME interface. InterfaceProperties (required)
controlPlaneAccessVirtualIpv4Addresses The virtual IP address(es) for the control plane on the access network in a High Availability (HA) system. In an HA deployment the access network router should be configured to anycast traffic for this address to the control plane access interfaces on the active and standby nodes. In non-HA system this list should be omitted or empty. 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])$
coreNetworkTechnology The core network technology generation (5G core or EPC / 4G core). '5GC'
'EPC + 5GC'
'EPC'
diagnosticsUpload Configuration for uploading packet core diagnostics DiagnosticsUploadConfiguration
eventHub Configuration for sending packet core events to an Azure Event Hub. EventHubConfiguration
installation The installation state of the packet core control plane resource. Installation
interopSettings Settings to allow interoperability with third party components e.g. RANs and UEs.
localDiagnosticsAccess The kubernetes ingress configuration to control access to packet core diagnostics over local APIs. LocalDiagnosticsAccessConfiguration (required)
platform The platform where the packet core is deployed. PlatformConfiguration (required)
signaling Signaling configuration for the packet core. SignalingConfiguration
sites Site(s) under which this packet core control plane should be deployed. The sites must be in the same location as the packet core control plane. SiteResourceId[] (required)

Constraints:
Min length = 1
sku The SKU defining the throughput and SIM allowances for this packet core control plane deployment. 'G0'
'G1'
'G10'
'G2'
'G5' (required)
ueMtu The MTU (in bytes) signaled to the UE. The same MTU is set on the user plane data links for all data networks. The MTU set on the user plane access link is calculated to be 60 bytes greater than this value to allow for GTP encapsulation. int

Constraints:
Min value = 1280
Max value = 1930
version The desired version of the packet core software. string

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

DiagnosticsUploadConfiguration

Name Description Value
storageAccountContainerUrl The Storage Account Container URL to upload diagnostics to. string (required)

EventHubConfiguration

Name Description Value
id Resource ID of Azure Event Hub to send packet core events to. string (required)

Constraints:
Pattern = ^/[sS][uU][bB][sS][cC][rR][iI][pP][tT][iI][oO][nN][sS]/[^/?#]+/[rR][eE][sS][oO][uU][rR][cC][eE][gG][rR][oO][uU][pP][sS]/[^/?#]+/[pP][rR][oO][vV][iI][dD][eE][rR][sS]/[mM][iI][cC][rR][oO][sS][oO][fF][tT]\.[eE][vV][eE][nN][tT][hH][uU][bB]/[nN][aA][mM][eE][sS][pP][aA][cC][eE][sS]/[^/?#]+/[eV][vV][eE][nN][tT][hH][uU][bB][sS]/[^/?#]+$
reportingInterval The duration (in seconds) between UE usage reports. int

Constraints:
Min value = 30
Max value = 3600

Installation

Name Description Value
desiredState The desired installation state 'Installed'
'Uninstalled'

LocalDiagnosticsAccessConfiguration

Name Description Value
authenticationType How to authenticate users who access local diagnostics APIs. 'AAD'
'Password' (required)
httpsServerCertificate The HTTPS server TLS certificate used to secure local access to diagnostics. HttpsServerCertificate

HttpsServerCertificate

Name Description Value
certificateUrl The certificate URL, unversioned. For example: https://contosovault.vault.azure.net/certificates/ingress. string (required)

PlatformConfiguration

Name Description Value
azureStackEdgeDevice The Azure Stack Edge device where the packet core is deployed. If the device is part of a fault tolerant pair, either device in the pair can be specified. AzureStackEdgeDeviceResourceId
azureStackHciCluster The Azure Stack HCI cluster where the packet core is deployed. AzureStackHCIClusterResourceId
connectedCluster Azure Arc connected cluster where the packet core is deployed. ConnectedClusterResourceId
customLocation Azure Arc custom location where the packet core is deployed. CustomLocationResourceId
type The platform type where packet core is deployed. '3P-AZURE-STACK-HCI'
'AKS-HCI' (required)

AzureStackEdgeDeviceResourceId

Name Description Value
id Azure Stack Edge device resource ID. string (required)

Constraints:
Pattern = ^/[sS][uU][bB][sS][cC][rR][iI][pP][tT][iI][oO][nN][sS]/[^/?#]+/[rR][eE][sS][oO][uU][rR][cC][eE][gG][rR][oO][uU][pP][sS]/[^/?#]+/[pP][rR][oO][vV][iI][dD][eE][rR][sS]/[mM][iI][cC][rR][oO][sS][oO][fF][tT]\.[dD][aA][tT][aA][bB][oO][xX][eE][dD][gG][eE]/[dD][aA][tT][aA][bB][oO][xX][eE][dD][gG][eE][dD][eE][vV][iI][cC][eE][sS]/[^/?#]+$

AzureStackHCIClusterResourceId

Name Description Value
id Azure Stack HCI cluster resource ID. string (required)

Constraints:
Pattern = ^/[sS][uU][bB][sS][cC][rR][iI][pP][tT][iI][oO][nN][sS]/[^/?#]+/[rR][eE][sS][oO][uU][rR][cC][eE][gG][rR][oO][uU][pP][sS]/[^/?#]+/[pP][rR][oO][vV][iI][dD][eE][rR][sS]/[mM][iI][cC][rR][oO][sS][oO][fF][tT]\.[aA][zZ][uU][rR][eE][sS][tT][aA][cC][kK][hH][cC][iI]/[cC][lL][uU][sS][tT][eE][rR][sS]/[^/?#]+$

ConnectedClusterResourceId

Name Description Value
id Azure Arc connected cluster resource ID. string (required)

Constraints:
Pattern = ^/[sS][uU][bB][sS][cC][rR][iI][pP][tT][iI][oO][nN][sS]/[^/?#]+/[rR][eE][sS][oO][uU][rR][cC][eE][gG][rR][oO][uU][pP][sS]/[^/?#]+/[pP][rR][oO][vV][iI][dD][eE][rR][sS]/[mM][iI][cC][rR][oO][sS][oO][fF][tT]\.[kK][uU][bB][eE][rR][nN][eE][tT][eE][sS]/[cC][oO][nN][nN][eE][cC][tT][eE][dD][cC][lL][uU][sS][tT][eE][rR][sS]/[^/?#]+$

CustomLocationResourceId

Name Description Value
id Azure Arc custom location resource ID. string (required)

Constraints:
Pattern = ^/[sS][uU][bB][sS][cC][rR][iI][pP][tT][iI][oO][nN][sS]/[^/?#]+/[rR][eE][sS][oO][uU][rR][cC][eE][gG][rR][oO][uU][pP][sS]/[^/?#]+/[pP][rR][oO][vV][iI][dD][eE][rR][sS]/[mM][iI][cC][rR][oO][sS][oO][fF][tT]\.[eE][xX][tT][eE][nN][dD][eE][dD][lL][oO][cC][aA][tT][iI][oO][nN]/[cC][uU][sS][tT][oO][mM][lL][oO][cC][aA][tT][iI][oO][nN][sS]/[^/?#]+$

SignalingConfiguration

Name Description Value
nasReroute Configuration enabling 4G NAS reroute. NASRerouteConfiguration

NASRerouteConfiguration

Name Description Value
macroMmeGroupId The macro network's MME group ID. This is where unknown UEs are sent to via NAS reroute. int (required)

Constraints:
Min value = 0
Max value = 65535

SiteResourceId

Name Description Value
id Site resource ID. string (required)

Constraints:
Pattern = ^/[sS][uU][bB][sS][cC][rR][iI][pP][tT][iI][oO][nN][sS]/[^/?#]+/[rR][eE][sS][oO][uU][rR][cC][eE][gG][rR][oO][uU][pP][sS]/[^/?#]+/[pP][rR][oO][vV][iI][dD][eE][rR][sS]/[mM][iI][cC][rR][oO][sS][oO][fF][tT]\.[mM][oO][bB][iI][lL][eE][nN][eE][tT][wW][oO][rR][kK]/[mM][oO][bB][iI][lL][eE][nN][eE][tT][wW][oO][rR][kK][sS]/[^/?#]+/[sS][iI][tT][eE][sS]/[^/?#]+$

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.
Update a packet core control plane

Deploy to Azure
This template allows you to update the version of an existing packet core.

Terraform (AzAPI provider) resource definition

The packetCoreControlPlanes 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 resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.MobileNetwork/packetCoreControlPlanes@2024-02-01"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  identity {
    type =  "UserAssigned"
    identity_ids = []
  }
  body = jsonencode({
    properties = {
      controlPlaneAccessInterface = {
        ipv4Address = "string"
        ipv4Gateway = "string"
        ipv4Subnet = "string"
        name = "string"
      }
      controlPlaneAccessVirtualIpv4Addresses = [
        "string"
      ]
      coreNetworkTechnology = "string"
      diagnosticsUpload = {
        storageAccountContainerUrl = "string"
      }
      eventHub = {
        id = "string"
        reportingInterval = int
      }
      installation = {
        desiredState = "string"
      }
      localDiagnosticsAccess = {
        authenticationType = "string"
        httpsServerCertificate = {
          certificateUrl = "string"
        }
      }
      platform = {
        azureStackEdgeDevice = {
          id = "string"
        }
        azureStackHciCluster = {
          id = "string"
        }
        connectedCluster = {
          id = "string"
        }
        customLocation = {
          id = "string"
        }
        type = "string"
      }
      signaling = {
        nasReroute = {
          macroMmeGroupId = int
        }
      }
      sites = [
        {
          id = "string"
        }
      ]
      sku = "string"
      ueMtu = int
      version = "string"
    }
  })
}

Property values

packetCoreControlPlanes

Name Description Value
type The resource type "Microsoft.MobileNetwork/packetCoreControlPlanes@2024-02-01"
name The resource name string (required)

Character limit: 1-64

Valid characters:
Alphanumeric, underscores and hyphens.

Start with alphanumeric.
location The geo-location where the resource lives string (required)
parent_id To deploy to a resource group, use the ID of that resource group. string (required)
tags Resource tags. Dictionary of tag names and values.
identity The identity used to retrieve the ingress certificate from Azure key vault. ManagedServiceIdentity
properties Packet core control plane Properties. PacketCoreControlPlanePropertiesFormat (required)

ManagedServiceIdentity

Name Description Value
type Type of managed service identity (currently only UserAssigned allowed). "UserAssigned" (required)
identity_ids The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. Array of user identity IDs.

UserAssignedIdentities

Name Description Value
{customized property} UserAssignedIdentity

UserAssignedIdentity

This object doesn't contain any properties to set during deployment. All properties are ReadOnly.

PacketCoreControlPlanePropertiesFormat

Name Description Value
controlPlaneAccessInterface The control plane interface on the access network. For 5G networks, this is the N2 interface. For 4G networks, this is the S1-MME interface. InterfaceProperties (required)
controlPlaneAccessVirtualIpv4Addresses The virtual IP address(es) for the control plane on the access network in a High Availability (HA) system. In an HA deployment the access network router should be configured to anycast traffic for this address to the control plane access interfaces on the active and standby nodes. In non-HA system this list should be omitted or empty. 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])$
coreNetworkTechnology The core network technology generation (5G core or EPC / 4G core). "5GC"
"EPC + 5GC"
"EPC"
diagnosticsUpload Configuration for uploading packet core diagnostics DiagnosticsUploadConfiguration
eventHub Configuration for sending packet core events to an Azure Event Hub. EventHubConfiguration
installation The installation state of the packet core control plane resource. Installation
interopSettings Settings to allow interoperability with third party components e.g. RANs and UEs.
localDiagnosticsAccess The kubernetes ingress configuration to control access to packet core diagnostics over local APIs. LocalDiagnosticsAccessConfiguration (required)
platform The platform where the packet core is deployed. PlatformConfiguration (required)
signaling Signaling configuration for the packet core. SignalingConfiguration
sites Site(s) under which this packet core control plane should be deployed. The sites must be in the same location as the packet core control plane. SiteResourceId[] (required)

Constraints:
Min length = 1
sku The SKU defining the throughput and SIM allowances for this packet core control plane deployment. "G0"
"G1"
"G10"
"G2"
"G5" (required)
ueMtu The MTU (in bytes) signaled to the UE. The same MTU is set on the user plane data links for all data networks. The MTU set on the user plane access link is calculated to be 60 bytes greater than this value to allow for GTP encapsulation. int

Constraints:
Min value = 1280
Max value = 1930
version The desired version of the packet core software. string

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

DiagnosticsUploadConfiguration

Name Description Value
storageAccountContainerUrl The Storage Account Container URL to upload diagnostics to. string (required)

EventHubConfiguration

Name Description Value
id Resource ID of Azure Event Hub to send packet core events to. string (required)

Constraints:
Pattern = ^/[sS][uU][bB][sS][cC][rR][iI][pP][tT][iI][oO][nN][sS]/[^/?#]+/[rR][eE][sS][oO][uU][rR][cC][eE][gG][rR][oO][uU][pP][sS]/[^/?#]+/[pP][rR][oO][vV][iI][dD][eE][rR][sS]/[mM][iI][cC][rR][oO][sS][oO][fF][tT]\.[eE][vV][eE][nN][tT][hH][uU][bB]/[nN][aA][mM][eE][sS][pP][aA][cC][eE][sS]/[^/?#]+/[eV][vV][eE][nN][tT][hH][uU][bB][sS]/[^/?#]+$
reportingInterval The duration (in seconds) between UE usage reports. int

Constraints:
Min value = 30
Max value = 3600

Installation

Name Description Value
desiredState The desired installation state "Installed"
"Uninstalled"

LocalDiagnosticsAccessConfiguration

Name Description Value
authenticationType How to authenticate users who access local diagnostics APIs. "AAD"
"Password" (required)
httpsServerCertificate The HTTPS server TLS certificate used to secure local access to diagnostics. HttpsServerCertificate

HttpsServerCertificate

Name Description Value
certificateUrl The certificate URL, unversioned. For example: https://contosovault.vault.azure.net/certificates/ingress. string (required)

PlatformConfiguration

Name Description Value
azureStackEdgeDevice The Azure Stack Edge device where the packet core is deployed. If the device is part of a fault tolerant pair, either device in the pair can be specified. AzureStackEdgeDeviceResourceId
azureStackHciCluster The Azure Stack HCI cluster where the packet core is deployed. AzureStackHCIClusterResourceId
connectedCluster Azure Arc connected cluster where the packet core is deployed. ConnectedClusterResourceId
customLocation Azure Arc custom location where the packet core is deployed. CustomLocationResourceId
type The platform type where packet core is deployed. "3P-AZURE-STACK-HCI"
"AKS-HCI" (required)

AzureStackEdgeDeviceResourceId

Name Description Value
id Azure Stack Edge device resource ID. string (required)

Constraints:
Pattern = ^/[sS][uU][bB][sS][cC][rR][iI][pP][tT][iI][oO][nN][sS]/[^/?#]+/[rR][eE][sS][oO][uU][rR][cC][eE][gG][rR][oO][uU][pP][sS]/[^/?#]+/[pP][rR][oO][vV][iI][dD][eE][rR][sS]/[mM][iI][cC][rR][oO][sS][oO][fF][tT]\.[dD][aA][tT][aA][bB][oO][xX][eE][dD][gG][eE]/[dD][aA][tT][aA][bB][oO][xX][eE][dD][gG][eE][dD][eE][vV][iI][cC][eE][sS]/[^/?#]+$

AzureStackHCIClusterResourceId

Name Description Value
id Azure Stack HCI cluster resource ID. string (required)

Constraints:
Pattern = ^/[sS][uU][bB][sS][cC][rR][iI][pP][tT][iI][oO][nN][sS]/[^/?#]+/[rR][eE][sS][oO][uU][rR][cC][eE][gG][rR][oO][uU][pP][sS]/[^/?#]+/[pP][rR][oO][vV][iI][dD][eE][rR][sS]/[mM][iI][cC][rR][oO][sS][oO][fF][tT]\.[aA][zZ][uU][rR][eE][sS][tT][aA][cC][kK][hH][cC][iI]/[cC][lL][uU][sS][tT][eE][rR][sS]/[^/?#]+$

ConnectedClusterResourceId

Name Description Value
id Azure Arc connected cluster resource ID. string (required)

Constraints:
Pattern = ^/[sS][uU][bB][sS][cC][rR][iI][pP][tT][iI][oO][nN][sS]/[^/?#]+/[rR][eE][sS][oO][uU][rR][cC][eE][gG][rR][oO][uU][pP][sS]/[^/?#]+/[pP][rR][oO][vV][iI][dD][eE][rR][sS]/[mM][iI][cC][rR][oO][sS][oO][fF][tT]\.[kK][uU][bB][eE][rR][nN][eE][tT][eE][sS]/[cC][oO][nN][nN][eE][cC][tT][eE][dD][cC][lL][uU][sS][tT][eE][rR][sS]/[^/?#]+$

CustomLocationResourceId

Name Description Value
id Azure Arc custom location resource ID. string (required)

Constraints:
Pattern = ^/[sS][uU][bB][sS][cC][rR][iI][pP][tT][iI][oO][nN][sS]/[^/?#]+/[rR][eE][sS][oO][uU][rR][cC][eE][gG][rR][oO][uU][pP][sS]/[^/?#]+/[pP][rR][oO][vV][iI][dD][eE][rR][sS]/[mM][iI][cC][rR][oO][sS][oO][fF][tT]\.[eE][xX][tT][eE][nN][dD][eE][dD][lL][oO][cC][aA][tT][iI][oO][nN]/[cC][uU][sS][tT][oO][mM][lL][oO][cC][aA][tT][iI][oO][nN][sS]/[^/?#]+$

SignalingConfiguration

Name Description Value
nasReroute Configuration enabling 4G NAS reroute. NASRerouteConfiguration

NASRerouteConfiguration

Name Description Value
macroMmeGroupId The macro network's MME group ID. This is where unknown UEs are sent to via NAS reroute. int (required)

Constraints:
Min value = 0
Max value = 65535

SiteResourceId

Name Description Value
id Site resource ID. string (required)

Constraints:
Pattern = ^/[sS][uU][bB][sS][cC][rR][iI][pP][tT][iI][oO][nN][sS]/[^/?#]+/[rR][eE][sS][oO][uU][rR][cC][eE][gG][rR][oO][uU][pP][sS]/[^/?#]+/[pP][rR][oO][vV][iI][dD][eE][rR][sS]/[mM][iI][cC][rR][oO][sS][oO][fF][tT]\.[mM][oO][bB][iI][lL][eE][nN][eE][tT][wW][oO][rR][kK]/[mM][oO][bB][iI][lL][eE][nN][eE][tT][wW][oO][rR][kK][sS]/[^/?#]+/[sS][iI][tT][eE][sS]/[^/?#]+$