Microsoft.MobileNetwork packetCoreControlPlanes 2023-09-01

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@2023-09-01' = {
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  location: 'string'
  name: 'string'
  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(Azure.Bicep.Types.Concrete.AnyType)
    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'
  }
  tags: {
    {customized property}: 'string'
  }
}

Property values

AzureStackEdgeDeviceResourceId

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

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]/[^/?#]+$ (required)

AzureStackHCIClusterResourceId

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

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]/[^/?#]+$ (required)

ConnectedClusterResourceId

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

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]/[^/?#]+$ (required)

CustomLocationResourceId

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

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]/[^/?#]+$ (required)

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

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]/[^/?#]+$ (required)
reportingInterval The duration (in seconds) between UE usage reports. int

Constraints:
Min value = 30
Max value = 3600

HttpsServerCertificate

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

Installation

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

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

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

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

Microsoft.MobileNetwork/packetCoreControlPlanes

Name Description Value
identity The identity used to retrieve the ingress certificate from Azure key vault. ManagedServiceIdentity
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_-]*$ (required)
properties Packet core control plane Properties. PacketCoreControlPlanePropertiesFormat (required)
tags Resource tags Dictionary of tag names and values. See Tags in templates

NASRerouteConfiguration

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

Constraints:
Min value = 0
Max value = 65535 (required)

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. any
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)
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

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)

SignalingConfiguration

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

SiteResourceId

Name Description Value
id Site resource ID. string

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]/[^/?#]+$ (required)

TrackedResourceTags

Name Description Value

UserAssignedIdentities

Name Description Value

UserAssignedIdentity

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.
Update a packet core control plane 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": "2023-09-01",
  "name": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "location": "string",
  "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"
  },
  "tags": {
    "{customized property}": "string"
  }
}

Property values

AzureStackEdgeDeviceResourceId

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

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]/[^/?#]+$ (required)

AzureStackHCIClusterResourceId

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

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]/[^/?#]+$ (required)

ConnectedClusterResourceId

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

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]/[^/?#]+$ (required)

CustomLocationResourceId

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

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]/[^/?#]+$ (required)

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

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]/[^/?#]+$ (required)
reportingInterval The duration (in seconds) between UE usage reports. int

Constraints:
Min value = 30
Max value = 3600

HttpsServerCertificate

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

Installation

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

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

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

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

Microsoft.MobileNetwork/packetCoreControlPlanes

Name Description Value
apiVersion The api version '2023-09-01'
identity The identity used to retrieve the ingress certificate from Azure key vault. ManagedServiceIdentity
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_-]*$ (required)
properties Packet core control plane Properties. PacketCoreControlPlanePropertiesFormat (required)
tags Resource tags Dictionary of tag names and values. See Tags in templates
type The resource type 'Microsoft.MobileNetwork/packetCoreControlPlanes'

NASRerouteConfiguration

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

Constraints:
Min value = 0
Max value = 65535 (required)

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. any
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)
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

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)

SignalingConfiguration

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

SiteResourceId

Name Description Value
id Site resource ID. string

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]/[^/?#]+$ (required)

TrackedResourceTags

Name Description Value

UserAssignedIdentities

Name Description Value

UserAssignedIdentity

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.
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@2023-09-01"
  name = "string"
  identity = {
    type = "string"
    userAssignedIdentities = {
      {customized property} = {
      }
    }
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  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"
      }
      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

AzureStackEdgeDeviceResourceId

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

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]/[^/?#]+$ (required)

AzureStackHCIClusterResourceId

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

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]/[^/?#]+$ (required)

ConnectedClusterResourceId

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

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]/[^/?#]+$ (required)

CustomLocationResourceId

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

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]/[^/?#]+$ (required)

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

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]/[^/?#]+$ (required)
reportingInterval The duration (in seconds) between UE usage reports. int

Constraints:
Min value = 30
Max value = 3600

HttpsServerCertificate

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

Installation

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

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

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

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

Microsoft.MobileNetwork/packetCoreControlPlanes

Name Description Value
identity The identity used to retrieve the ingress certificate from Azure key vault. ManagedServiceIdentity
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_-]*$ (required)
properties Packet core control plane Properties. PacketCoreControlPlanePropertiesFormat (required)
tags Resource tags Dictionary of tag names and values.
type The resource type "Microsoft.MobileNetwork/packetCoreControlPlanes@2023-09-01"

NASRerouteConfiguration

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

Constraints:
Min value = 0
Max value = 65535 (required)

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. any
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)
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

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)

SignalingConfiguration

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

SiteResourceId

Name Description Value
id Site resource ID. string

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]/[^/?#]+$ (required)

TrackedResourceTags

Name Description Value

UserAssignedIdentities

Name Description Value

UserAssignedIdentity

Name Description Value