Packet Core Control Plane
Packet core control plane resource. Uses Azure REST API version 2024-04-01. In version 2.x of the Azure Native provider, it used API version 2023-06-01. Other available API versions: 2022-04-01-preview, 2022-11-01, 2023-06-01, 2023-09-01, 2024-02-01. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native mobilenetwork [ApiVersion]
. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.
Example Usage
Create packet core control plane
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var packetCoreControlPlane = new AzureNative.MobileNetwork.PacketCoreControlPlane("packetCoreControlPlane", new()
{
ControlPlaneAccessInterface = new AzureNative.MobileNetwork.Inputs.InterfacePropertiesArgs
{
Name = "N2",
},
CoreNetworkTechnology = AzureNative.MobileNetwork.CoreNetworkType.CoreNetworkType_5GC,
EventHub = new AzureNative.MobileNetwork.Inputs.EventHubConfigurationArgs
{
Id = "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.EventHub/namespaces/contosoNamespace/eventHubs/contosoHub",
ReportingInterval = 60,
},
Installation = new AzureNative.MobileNetwork.Inputs.InstallationArgs
{
DesiredState = AzureNative.MobileNetwork.DesiredInstallationState.Installed,
},
LocalDiagnosticsAccess = new AzureNative.MobileNetwork.Inputs.LocalDiagnosticsAccessConfigurationArgs
{
AuthenticationType = AzureNative.MobileNetwork.AuthenticationType.AAD,
HttpsServerCertificate = new AzureNative.MobileNetwork.Inputs.HttpsServerCertificateArgs
{
CertificateUrl = "https://contosovault.vault.azure.net/certificates/ingress",
},
},
Location = "eastus",
PacketCoreControlPlaneName = "TestPacketCoreCP",
Platform = new AzureNative.MobileNetwork.Inputs.PlatformConfigurationArgs
{
AzureStackEdgeDevice = new AzureNative.MobileNetwork.Inputs.AzureStackEdgeDeviceResourceIdArgs
{
Id = "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/TestAzureStackEdgeDevice",
},
ConnectedCluster = new AzureNative.MobileNetwork.Inputs.ConnectedClusterResourceIdArgs
{
Id = "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/TestConnectedCluster",
},
CustomLocation = new AzureNative.MobileNetwork.Inputs.CustomLocationResourceIdArgs
{
Id = "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/TestCustomLocation",
},
Type = AzureNative.MobileNetwork.PlatformType.AKS_HCI,
},
ResourceGroupName = "rg1",
Signaling = new AzureNative.MobileNetwork.Inputs.SignalingConfigurationArgs
{
NasEncryption = new[]
{
AzureNative.MobileNetwork.NasEncryptionType.NEA2_EEA2,
AzureNative.MobileNetwork.NasEncryptionType.NEA1_EEA1,
AzureNative.MobileNetwork.NasEncryptionType.NEA0_EEA0,
},
NasReroute = new AzureNative.MobileNetwork.Inputs.NASRerouteConfigurationArgs
{
MacroMmeGroupId = 1024,
},
},
Sites = new[]
{
new AzureNative.MobileNetwork.Inputs.SiteResourceIdArgs
{
Id = "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/sites/testSite",
},
},
Sku = AzureNative.MobileNetwork.BillingSku.G0,
UeMtu = 1600,
Version = "0.2.0",
});
});
package main
import (
mobilenetwork "github.com/pulumi/pulumi-azure-native-sdk/mobilenetwork/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := mobilenetwork.NewPacketCoreControlPlane(ctx, "packetCoreControlPlane", &mobilenetwork.PacketCoreControlPlaneArgs{
ControlPlaneAccessInterface: &mobilenetwork.InterfacePropertiesArgs{
Name: pulumi.String("N2"),
},
CoreNetworkTechnology: pulumi.String(mobilenetwork.CoreNetworkType_5GC),
EventHub: &mobilenetwork.EventHubConfigurationArgs{
Id: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.EventHub/namespaces/contosoNamespace/eventHubs/contosoHub"),
ReportingInterval: pulumi.Int(60),
},
Installation: &mobilenetwork.InstallationArgs{
DesiredState: pulumi.String(mobilenetwork.DesiredInstallationStateInstalled),
},
LocalDiagnosticsAccess: &mobilenetwork.LocalDiagnosticsAccessConfigurationArgs{
AuthenticationType: pulumi.String(mobilenetwork.AuthenticationTypeAAD),
HttpsServerCertificate: &mobilenetwork.HttpsServerCertificateArgs{
CertificateUrl: pulumi.String("https://contosovault.vault.azure.net/certificates/ingress"),
},
},
Location: pulumi.String("eastus"),
PacketCoreControlPlaneName: pulumi.String("TestPacketCoreCP"),
Platform: &mobilenetwork.PlatformConfigurationArgs{
AzureStackEdgeDevice: &mobilenetwork.AzureStackEdgeDeviceResourceIdArgs{
Id: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/TestAzureStackEdgeDevice"),
},
ConnectedCluster: &mobilenetwork.ConnectedClusterResourceIdArgs{
Id: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/TestConnectedCluster"),
},
CustomLocation: &mobilenetwork.CustomLocationResourceIdArgs{
Id: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/TestCustomLocation"),
},
Type: pulumi.String(mobilenetwork.PlatformType_AKS_HCI),
},
ResourceGroupName: pulumi.String("rg1"),
Signaling: &mobilenetwork.SignalingConfigurationArgs{
NasEncryption: pulumi.StringArray{
pulumi.String(mobilenetwork.NasEncryptionType_NEA2_EEA2),
pulumi.String(mobilenetwork.NasEncryptionType_NEA1_EEA1),
pulumi.String(mobilenetwork.NasEncryptionType_NEA0_EEA0),
},
NasReroute: &mobilenetwork.NASRerouteConfigurationArgs{
MacroMmeGroupId: pulumi.Int(1024),
},
},
Sites: mobilenetwork.SiteResourceIdArray{
&mobilenetwork.SiteResourceIdArgs{
Id: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/sites/testSite"),
},
},
Sku: pulumi.String(mobilenetwork.BillingSkuG0),
UeMtu: pulumi.Int(1600),
Version: pulumi.String("0.2.0"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.mobilenetwork.PacketCoreControlPlane;
import com.pulumi.azurenative.mobilenetwork.PacketCoreControlPlaneArgs;
import com.pulumi.azurenative.mobilenetwork.inputs.InterfacePropertiesArgs;
import com.pulumi.azurenative.mobilenetwork.inputs.EventHubConfigurationArgs;
import com.pulumi.azurenative.mobilenetwork.inputs.InstallationArgs;
import com.pulumi.azurenative.mobilenetwork.inputs.LocalDiagnosticsAccessConfigurationArgs;
import com.pulumi.azurenative.mobilenetwork.inputs.HttpsServerCertificateArgs;
import com.pulumi.azurenative.mobilenetwork.inputs.PlatformConfigurationArgs;
import com.pulumi.azurenative.mobilenetwork.inputs.AzureStackEdgeDeviceResourceIdArgs;
import com.pulumi.azurenative.mobilenetwork.inputs.ConnectedClusterResourceIdArgs;
import com.pulumi.azurenative.mobilenetwork.inputs.CustomLocationResourceIdArgs;
import com.pulumi.azurenative.mobilenetwork.inputs.SignalingConfigurationArgs;
import com.pulumi.azurenative.mobilenetwork.inputs.NASRerouteConfigurationArgs;
import com.pulumi.azurenative.mobilenetwork.inputs.SiteResourceIdArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var packetCoreControlPlane = new PacketCoreControlPlane("packetCoreControlPlane", PacketCoreControlPlaneArgs.builder()
.controlPlaneAccessInterface(InterfacePropertiesArgs.builder()
.name("N2")
.build())
.coreNetworkTechnology("5GC")
.eventHub(EventHubConfigurationArgs.builder()
.id("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.EventHub/namespaces/contosoNamespace/eventHubs/contosoHub")
.reportingInterval(60)
.build())
.installation(InstallationArgs.builder()
.desiredState("Installed")
.build())
.localDiagnosticsAccess(LocalDiagnosticsAccessConfigurationArgs.builder()
.authenticationType("AAD")
.httpsServerCertificate(HttpsServerCertificateArgs.builder()
.certificateUrl("https://contosovault.vault.azure.net/certificates/ingress")
.build())
.build())
.location("eastus")
.packetCoreControlPlaneName("TestPacketCoreCP")
.platform(PlatformConfigurationArgs.builder()
.azureStackEdgeDevice(AzureStackEdgeDeviceResourceIdArgs.builder()
.id("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/TestAzureStackEdgeDevice")
.build())
.connectedCluster(ConnectedClusterResourceIdArgs.builder()
.id("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/TestConnectedCluster")
.build())
.customLocation(CustomLocationResourceIdArgs.builder()
.id("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/TestCustomLocation")
.build())
.type("AKS-HCI")
.build())
.resourceGroupName("rg1")
.signaling(SignalingConfigurationArgs.builder()
.nasEncryption(
"NEA2/EEA2",
"NEA1/EEA1",
"NEA0/EEA0")
.nasReroute(NASRerouteConfigurationArgs.builder()
.macroMmeGroupId(1024)
.build())
.build())
.sites(SiteResourceIdArgs.builder()
.id("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/sites/testSite")
.build())
.sku("G0")
.ueMtu(1600)
.version("0.2.0")
.build());
}
}
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:mobilenetwork:PacketCoreControlPlane TestPacketCoreCP /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/{packetCoreControlPlaneName}
Properties
The Azure API version of the resource.
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.
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.
The core network technology generation (5G core or EPC / 4G core).
Configuration for uploading packet core diagnostics
Configuration for sending packet core events to an Azure Event Hub.
The provisioning state of the secret containing private keys and keyIds for SUPI concealment.
The identity used to retrieve the ingress certificate from Azure key vault.
The installation state of the packet core control plane resource.
The currently installed version of the packet core software.
Settings to allow interoperability with third party components e.g. RANs and UEs.
The kubernetes ingress configuration to control access to packet core diagnostics over local APIs.
The platform where the packet core is deployed.
The provisioning state of the packet core control plane resource.
The previous version of the packet core software that was deployed. Used when performing the rollback action.
Signaling configuration for the packet core.
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.
Azure Resource Manager metadata containing createdBy and modifiedBy information.
The user consent configuration for the packet core.