Microsoft.MobileNetwork packetCoreControlPlanes
Bicep resource definition
The packetCoreControlPlanes resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
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-04-01' = {
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: {}
}
}
location: 'string'
name: 'string'
properties: {
controlPlaneAccessInterface: {
bfdIpv4Endpoints: [
'string'
]
ipv4Address: 'string'
ipv4AddressList: [
'string'
]
ipv4Gateway: 'string'
ipv4Subnet: 'string'
name: 'string'
vlanId: int
}
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: {
nasEncryption: [
'string'
]
nasReroute: {
macroMmeGroupId: int
}
}
sites: [
{
id: 'string'
}
]
sku: 'string'
ueMtu: int
userConsent: {
allowSupportTelemetryAccess: bool
}
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 |
---|---|---|
bfdIpv4Endpoints | The IPv4 addresses of the endpoints to send BFD probes to. | 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])$ [] |
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])$ |
ipv4AddressList | The list of IPv4 addresses, for a multi-node system. | 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 |
vlanId | VLAN identifier of the network interface. Example: 501. | int Constraints: Min value = 1 Max value = 4094 |
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 |
userConsent | The user consent configuration for the packet core. | UserConsentConfiguration |
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 |
---|---|---|
nasEncryption | An ordered list of NAS encryption algorithms, used to encrypt control plane traffic between the UE and packet core, in order from most to least preferred. If not specified, the packet core will use a built-in default ordering. | String array containing any of: 'NEA0/EEA0' 'NEA1/EEA1' 'NEA2/EEA2' |
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 |
---|
UserConsentConfiguration
Name | Description | Value |
---|---|---|
allowSupportTelemetryAccess | Allow Microsoft to access non-PII telemetry information from the packet core. | bool |
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:
- Resource groups - See resource group deployment commands
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-04-01",
"name": "string",
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {
}
}
},
"location": "string",
"properties": {
"controlPlaneAccessInterface": {
"bfdIpv4Endpoints": [ "string" ],
"ipv4Address": "string",
"ipv4AddressList": [ "string" ],
"ipv4Gateway": "string",
"ipv4Subnet": "string",
"name": "string",
"vlanId": "int"
},
"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": {
"nasEncryption": [ "string" ],
"nasReroute": {
"macroMmeGroupId": "int"
}
},
"sites": [
{
"id": "string"
}
],
"sku": "string",
"ueMtu": "int",
"userConsent": {
"allowSupportTelemetryAccess": "bool"
},
"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 |
---|---|---|
bfdIpv4Endpoints | The IPv4 addresses of the endpoints to send BFD probes to. | 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])$ [] |
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])$ |
ipv4AddressList | The list of IPv4 addresses, for a multi-node system. | 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 |
vlanId | VLAN identifier of the network interface. Example: 501. | int Constraints: Min value = 1 Max value = 4094 |
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 | '2024-04-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 |
userConsent | The user consent configuration for the packet core. | UserConsentConfiguration |
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 |
---|---|---|
nasEncryption | An ordered list of NAS encryption algorithms, used to encrypt control plane traffic between the UE and packet core, in order from most to least preferred. If not specified, the packet core will use a built-in default ordering. | String array containing any of: 'NEA0/EEA0' 'NEA1/EEA1' 'NEA2/EEA2' |
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 |
---|
UserConsentConfiguration
Name | Description | Value |
---|---|---|
allowSupportTelemetryAccess | Allow Microsoft to access non-PII telemetry information from the packet core. | bool |
Quickstart templates
The following quickstart templates deploy this resource type.
Template | 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. |
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-04-01"
name = "string"
identity = {
type = "string"
userAssignedIdentities = {
{customized property} = {
}
}
}
location = "string"
tags = {
{customized property} = "string"
}
body = jsonencode({
properties = {
controlPlaneAccessInterface = {
bfdIpv4Endpoints = [
"string"
]
ipv4Address = "string"
ipv4AddressList = [
"string"
]
ipv4Gateway = "string"
ipv4Subnet = "string"
name = "string"
vlanId = int
}
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 = {
nasEncryption = [
"string"
]
nasReroute = {
macroMmeGroupId = int
}
}
sites = [
{
id = "string"
}
]
sku = "string"
ueMtu = int
userConsent = {
allowSupportTelemetryAccess = bool
}
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 |
---|---|---|
bfdIpv4Endpoints | The IPv4 addresses of the endpoints to send BFD probes to. | 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])$ [] |
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])$ |
ipv4AddressList | The list of IPv4 addresses, for a multi-node system. | 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 |
vlanId | VLAN identifier of the network interface. Example: 501. | int Constraints: Min value = 1 Max value = 4094 |
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@2024-04-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 |
userConsent | The user consent configuration for the packet core. | UserConsentConfiguration |
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 |
---|---|---|
nasEncryption | An ordered list of NAS encryption algorithms, used to encrypt control plane traffic between the UE and packet core, in order from most to least preferred. If not specified, the packet core will use a built-in default ordering. | String array containing any of: 'NEA0/EEA0' 'NEA1/EEA1' 'NEA2/EEA2' |
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 |
---|
UserConsentConfiguration
Name | Description | Value |
---|---|---|
allowSupportTelemetryAccess | Allow Microsoft to access non-PII telemetry information from the packet core. | bool |