Network Packet Core Control Plane Args
Manages a Mobile Network Packet Core Control Plane.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = new azure.core.ResourceGroup("example", {
name: "example-resources",
location: "West Europe",
});
const exampleNetwork = new azure.mobile.Network("example", {
name: "example-mn",
resourceGroupName: example.name,
location: example.location,
mobileCountryCode: "001",
mobileNetworkCode: "01",
});
const exampleNetworkSite = new azure.mobile.NetworkSite("example", {
name: "example-mns",
mobileNetworkId: test.id,
location: example.location,
});
const exampleDevice = new azure.databoxedge.Device("example", {
name: "example-device",
resourceGroupName: example.name,
location: example.location,
skuName: "EdgeP_Base-Standard",
});
const exampleNetworkPacketCoreControlPlane = new azure.mobile.NetworkPacketCoreControlPlane("example", {
name: "example-mnpccp",
resourceGroupName: example.name,
location: example.location,
sku: "G0",
controlPlaneAccessName: "default-interface",
controlPlaneAccessIpv4Address: "192.168.1.199",
controlPlaneAccessIpv4Gateway: "192.168.1.1",
controlPlaneAccessIpv4Subnet: "192.168.1.0/25",
siteIds: [exampleNetworkSite.id],
localDiagnosticsAccess: {
authenticationType: "AAD",
},
platform: {
type: "AKS-HCI",
edgeDeviceId: exampleDevice.id,
},
interoperabilitySettingsJson: JSON.stringify({
key: "value",
}),
tags: {
key: "value",
},
});
import pulumi
import json
import pulumi_azure as azure
example = azure.core.ResourceGroup("example",
name="example-resources",
location="West Europe")
example_network = azure.mobile.Network("example",
name="example-mn",
resource_group_name=example.name,
location=example.location,
mobile_country_code="001",
mobile_network_code="01")
example_network_site = azure.mobile.NetworkSite("example",
name="example-mns",
mobile_network_id=test["id"],
location=example.location)
example_device = azure.databoxedge.Device("example",
name="example-device",
resource_group_name=example.name,
location=example.location,
sku_name="EdgeP_Base-Standard")
example_network_packet_core_control_plane = azure.mobile.NetworkPacketCoreControlPlane("example",
name="example-mnpccp",
resource_group_name=example.name,
location=example.location,
sku="G0",
control_plane_access_name="default-interface",
control_plane_access_ipv4_address="192.168.1.199",
control_plane_access_ipv4_gateway="192.168.1.1",
control_plane_access_ipv4_subnet="192.168.1.0/25",
site_ids=[example_network_site.id],
local_diagnostics_access={
"authentication_type": "AAD",
},
platform={
"type": "AKS-HCI",
"edge_device_id": example_device.id,
},
interoperability_settings_json=json.dumps({
"key": "value",
}),
tags={
"key": "value",
})
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "example-resources",
Location = "West Europe",
});
var exampleNetwork = new Azure.Mobile.Network("example", new()
{
Name = "example-mn",
ResourceGroupName = example.Name,
Location = example.Location,
MobileCountryCode = "001",
MobileNetworkCode = "01",
});
var exampleNetworkSite = new Azure.Mobile.NetworkSite("example", new()
{
Name = "example-mns",
MobileNetworkId = test.Id,
Location = example.Location,
});
var exampleDevice = new Azure.DataboxEdge.Device("example", new()
{
Name = "example-device",
ResourceGroupName = example.Name,
Location = example.Location,
SkuName = "EdgeP_Base-Standard",
});
var exampleNetworkPacketCoreControlPlane = new Azure.Mobile.NetworkPacketCoreControlPlane("example", new()
{
Name = "example-mnpccp",
ResourceGroupName = example.Name,
Location = example.Location,
Sku = "G0",
ControlPlaneAccessName = "default-interface",
ControlPlaneAccessIpv4Address = "192.168.1.199",
ControlPlaneAccessIpv4Gateway = "192.168.1.1",
ControlPlaneAccessIpv4Subnet = "192.168.1.0/25",
SiteIds = new[]
{
exampleNetworkSite.Id,
},
LocalDiagnosticsAccess = new Azure.Mobile.Inputs.NetworkPacketCoreControlPlaneLocalDiagnosticsAccessArgs
{
AuthenticationType = "AAD",
},
Platform = new Azure.Mobile.Inputs.NetworkPacketCoreControlPlanePlatformArgs
{
Type = "AKS-HCI",
EdgeDeviceId = exampleDevice.Id,
},
InteroperabilitySettingsJson = JsonSerializer.Serialize(new Dictionary<string, object?>
{
["key"] = "value",
}),
Tags =
{
{ "key", "value" },
},
});
});
package main
import (
"encoding/json"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/databoxedge"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mobile"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("example-resources"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
_, err = mobile.NewNetwork(ctx, "example", &mobile.NetworkArgs{
Name: pulumi.String("example-mn"),
ResourceGroupName: example.Name,
Location: example.Location,
MobileCountryCode: pulumi.String("001"),
MobileNetworkCode: pulumi.String("01"),
})
if err != nil {
return err
}
exampleNetworkSite, err := mobile.NewNetworkSite(ctx, "example", &mobile.NetworkSiteArgs{
Name: pulumi.String("example-mns"),
MobileNetworkId: pulumi.Any(test.Id),
Location: example.Location,
})
if err != nil {
return err
}
exampleDevice, err := databoxedge.NewDevice(ctx, "example", &databoxedge.DeviceArgs{
Name: pulumi.String("example-device"),
ResourceGroupName: example.Name,
Location: example.Location,
SkuName: pulumi.String("EdgeP_Base-Standard"),
})
if err != nil {
return err
}
tmpJSON0, err := json.Marshal(map[string]interface{}{
"key": "value",
})
if err != nil {
return err
}
json0 := string(tmpJSON0)
_, err = mobile.NewNetworkPacketCoreControlPlane(ctx, "example", &mobile.NetworkPacketCoreControlPlaneArgs{
Name: pulumi.String("example-mnpccp"),
ResourceGroupName: example.Name,
Location: example.Location,
Sku: pulumi.String("G0"),
ControlPlaneAccessName: pulumi.String("default-interface"),
ControlPlaneAccessIpv4Address: pulumi.String("192.168.1.199"),
ControlPlaneAccessIpv4Gateway: pulumi.String("192.168.1.1"),
ControlPlaneAccessIpv4Subnet: pulumi.String("192.168.1.0/25"),
SiteIds: pulumi.StringArray{
exampleNetworkSite.ID(),
},
LocalDiagnosticsAccess: &mobile.NetworkPacketCoreControlPlaneLocalDiagnosticsAccessArgs{
AuthenticationType: pulumi.String("AAD"),
},
Platform: &mobile.NetworkPacketCoreControlPlanePlatformArgs{
Type: pulumi.String("AKS-HCI"),
EdgeDeviceId: exampleDevice.ID(),
},
InteroperabilitySettingsJson: pulumi.String(json0),
Tags: pulumi.StringMap{
"key": pulumi.String("value"),
},
})
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.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.mobile.Network;
import com.pulumi.azure.mobile.NetworkArgs;
import com.pulumi.azure.mobile.NetworkSite;
import com.pulumi.azure.mobile.NetworkSiteArgs;
import com.pulumi.azure.databoxedge.Device;
import com.pulumi.azure.databoxedge.DeviceArgs;
import com.pulumi.azure.mobile.NetworkPacketCoreControlPlane;
import com.pulumi.azure.mobile.NetworkPacketCoreControlPlaneArgs;
import com.pulumi.azure.mobile.inputs.NetworkPacketCoreControlPlaneLocalDiagnosticsAccessArgs;
import com.pulumi.azure.mobile.inputs.NetworkPacketCoreControlPlanePlatformArgs;
import static com.pulumi.codegen.internal.Serialization.*;
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 example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("example-resources")
.location("West Europe")
.build());
var exampleNetwork = new Network("exampleNetwork", NetworkArgs.builder()
.name("example-mn")
.resourceGroupName(example.name())
.location(example.location())
.mobileCountryCode("001")
.mobileNetworkCode("01")
.build());
var exampleNetworkSite = new NetworkSite("exampleNetworkSite", NetworkSiteArgs.builder()
.name("example-mns")
.mobileNetworkId(test.id())
.location(example.location())
.build());
var exampleDevice = new Device("exampleDevice", DeviceArgs.builder()
.name("example-device")
.resourceGroupName(example.name())
.location(example.location())
.skuName("EdgeP_Base-Standard")
.build());
var exampleNetworkPacketCoreControlPlane = new NetworkPacketCoreControlPlane("exampleNetworkPacketCoreControlPlane", NetworkPacketCoreControlPlaneArgs.builder()
.name("example-mnpccp")
.resourceGroupName(example.name())
.location(example.location())
.sku("G0")
.controlPlaneAccessName("default-interface")
.controlPlaneAccessIpv4Address("192.168.1.199")
.controlPlaneAccessIpv4Gateway("192.168.1.1")
.controlPlaneAccessIpv4Subnet("192.168.1.0/25")
.siteIds(exampleNetworkSite.id())
.localDiagnosticsAccess(NetworkPacketCoreControlPlaneLocalDiagnosticsAccessArgs.builder()
.authenticationType("AAD")
.build())
.platform(NetworkPacketCoreControlPlanePlatformArgs.builder()
.type("AKS-HCI")
.edgeDeviceId(exampleDevice.id())
.build())
.interoperabilitySettingsJson(serializeJson(
jsonObject(
jsonProperty("key", "value")
)))
.tags(Map.of("key", "value"))
.build());
}
}
resources:
example:
type: azure:core:ResourceGroup
properties:
name: example-resources
location: West Europe
exampleNetwork:
type: azure:mobile:Network
name: example
properties:
name: example-mn
resourceGroupName: ${example.name}
location: ${example.location}
mobileCountryCode: '001'
mobileNetworkCode: '01'
exampleNetworkSite:
type: azure:mobile:NetworkSite
name: example
properties:
name: example-mns
mobileNetworkId: ${test.id}
location: ${example.location}
exampleDevice:
type: azure:databoxedge:Device
name: example
properties:
name: example-device
resourceGroupName: ${example.name}
location: ${example.location}
skuName: EdgeP_Base-Standard
exampleNetworkPacketCoreControlPlane:
type: azure:mobile:NetworkPacketCoreControlPlane
name: example
properties:
name: example-mnpccp
resourceGroupName: ${example.name}
location: ${example.location}
sku: G0
controlPlaneAccessName: default-interface
controlPlaneAccessIpv4Address: 192.168.1.199
controlPlaneAccessIpv4Gateway: 192.168.1.1
controlPlaneAccessIpv4Subnet: 192.168.1.0/25
siteIds:
- ${exampleNetworkSite.id}
localDiagnosticsAccess:
authenticationType: AAD
platform:
type: AKS-HCI
edgeDeviceId: ${exampleDevice.id}
interoperabilitySettingsJson:
fn::toJSON:
key: value
tags:
key: value
API Providers
This resource uses the following Azure API Providers:
Microsoft.MobileNetwork
: 2022-11-01
Import
Mobile Network Packet Core Control Plane can be imported using the resource id
, e.g.
$ pulumi import azure:mobile/networkPacketCoreControlPlane:NetworkPacketCoreControlPlane example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/packetCoreControlPlane1
Constructors
Properties
The IPv4 address for the control plane interface. This should match one of the interfaces configured on your Azure Stack Edge device.
The default IPv4 gateway for the control plane interface. This should match one of the interfaces configured on your Azure Stack Edge device.
The IPv4 subnet for the control plane interface. This should match one of the interfaces configured on your Azure Stack Edge device.
Specifies the logical name for this interface. This should match one of the interfaces configured on your Azure Stack Edge device.
The core network technology generation. Possible values are 5GC
and EPC
.
An identity
block as defined below.
Settings in JSON format to allow interoperability with third party components e.g. RANs and UEs.
One or more local_diagnostics_access
blocks as defined below. Specifies the Kubernetes ingress configuration that controls access to the packet core diagnostics through local APIs.
A platform
block as defined below.
Specifies the name of the Resource Group where the Mobile Network Packet Core Control Plane should exist. Changing this forces a new Mobile Network Packet Core Control Plane to be created.
Specifies the version of the packet core software that is deployed.
Specifies the MTU in bytes that can be sent to the user equipment. The same MTU is set on the user plane data links for all data networks. The MTU set on the user plane access link will be 60 bytes greater than this value to allow for GTP encapsulation.