NetworkSimPolicyArgs

data class NetworkSimPolicyArgs(val defaultSliceId: Output<String>? = null, val location: Output<String>? = null, val mobileNetworkId: Output<String>? = null, val name: Output<String>? = null, val ratFrequencySelectionPriorityIndex: Output<Int>? = null, val registrationTimerInSeconds: Output<Int>? = null, val slices: Output<List<NetworkSimPolicySliceArgs>>? = null, val tags: Output<Map<String, String>>? = null, val userEquipmentAggregateMaximumBitRate: Output<NetworkSimPolicyUserEquipmentAggregateMaximumBitRateArgs>? = null) : ConvertibleToJava<NetworkSimPolicyArgs>

Manages a Mobile Network Sim Policy.

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",
location: example.location,
resourceGroupName: example.name,
mobileCountryCode: "001",
mobileNetworkCode: "01",
});
const exampleNetworkDataNetwork = new azure.mobile.NetworkDataNetwork("example", {
name: "example-mndn",
mobileNetworkId: exampleNetwork.id,
location: example.location,
});
const exampleNetworkService = new azure.mobile.NetworkService("example", {
name: "example-mns",
mobileNetworkId: exampleNetwork.id,
location: example.location,
servicePrecedence: 0,
pccRules: [{
name: "default-rule",
precedence: 1,
trafficControlEnabled: true,
serviceDataFlowTemplates: [{
direction: "Uplink",
name: "IP-to-server",
ports: [],
protocols: ["ip"],
remoteIpLists: ["10&#46;3&#46;4&#46;0/24"],
}],
}],
});
const exampleNetworkSlice = new azure.mobile.NetworkSlice("example", {
name: "example-mns",
mobileNetworkId: exampleNetwork.id,
location: example.location,
singleNetworkSliceSelectionAssistanceInformation: {
sliceServiceType: 1,
},
});
const exampleNetworkSimPolicy = new azure.mobile.NetworkSimPolicy("example", {
name: "example-mnsp",
mobileNetworkId: exampleNetwork.id,
location: example.location,
registrationTimerInSeconds: 3240,
defaultSliceId: exampleNetworkSlice.id,
slices: [{
defaultDataNetworkId: exampleNetworkDataNetwork.id,
sliceId: exampleNetworkSlice.id,
dataNetworks: [{
dataNetworkId: exampleNetworkDataNetwork.id,
allocationAndRetentionPriorityLevel: 9,
defaultSessionType: "IPv4",
qosIndicator: 9,
preemptionCapability: "NotPreempt",
preemptionVulnerability: "Preemptable",
allowedServicesIds: [exampleNetworkService&#46;id],
sessionAggregateMaximumBitRate: {
downlink: "1 Gbps",
uplink: "500 Mbps",
},
}],
}],
userEquipmentAggregateMaximumBitRate: {
downlink: "1 Gbps",
uplink: "500 Mbps",
},
tags: {
key: "value",
},
});
import pulumi
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",
location=example.location,
resource_group_name=example.name,
mobile_country_code="001",
mobile_network_code="01")
example_network_data_network = azure.mobile.NetworkDataNetwork("example",
name="example-mndn",
mobile_network_id=example_network.id,
location=example.location)
example_network_service = azure.mobile.NetworkService("example",
name="example-mns",
mobile_network_id=example_network.id,
location=example.location,
service_precedence=0,
pcc_rules=[{
"name": "default-rule",
"precedence": 1,
"traffic_control_enabled": True,
"service_data_flow_templates": [{
"direction": "Uplink",
"name": "IP-to-server",
"ports": [],
"protocols": ["ip"],
"remote_ip_lists": ["10&#46;3&#46;4&#46;0/24"],
}],
}])
example_network_slice = azure.mobile.NetworkSlice("example",
name="example-mns",
mobile_network_id=example_network.id,
location=example.location,
single_network_slice_selection_assistance_information={
"slice_service_type": 1,
})
example_network_sim_policy = azure.mobile.NetworkSimPolicy("example",
name="example-mnsp",
mobile_network_id=example_network.id,
location=example.location,
registration_timer_in_seconds=3240,
default_slice_id=example_network_slice.id,
slices=[{
"default_data_network_id": example_network_data_network.id,
"slice_id": example_network_slice.id,
"data_networks": [{
"data_network_id": example_network_data_network.id,
"allocation_and_retention_priority_level": 9,
"default_session_type": "IPv4",
"qos_indicator": 9,
"preemption_capability": "NotPreempt",
"preemption_vulnerability": "Preemptable",
"allowed_services_ids": [example_network_service&#46;id],
"session_aggregate_maximum_bit_rate": {
"downlink": "1 Gbps",
"uplink": "500 Mbps",
},
}],
}],
user_equipment_aggregate_maximum_bit_rate={
"downlink": "1 Gbps",
"uplink": "500 Mbps",
},
tags={
"key": "value",
})
using System.Collections.Generic;
using System.Linq;
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",
Location = example.Location,
ResourceGroupName = example.Name,
MobileCountryCode = "001",
MobileNetworkCode = "01",
});
var exampleNetworkDataNetwork = new Azure.Mobile.NetworkDataNetwork("example", new()
{
Name = "example-mndn",
MobileNetworkId = exampleNetwork.Id,
Location = example.Location,
});
var exampleNetworkService = new Azure.Mobile.NetworkService("example", new()
{
Name = "example-mns",
MobileNetworkId = exampleNetwork.Id,
Location = example.Location,
ServicePrecedence = 0,
PccRules = new[]
{
new Azure.Mobile.Inputs.NetworkServicePccRuleArgs
{
Name = "default-rule",
Precedence = 1,
TrafficControlEnabled = true,
ServiceDataFlowTemplates = new[]
{
new Azure.Mobile.Inputs.NetworkServicePccRuleServiceDataFlowTemplateArgs
{
Direction = "Uplink",
Name = "IP-to-server",
Ports = new() { },
Protocols = new[]
{
"ip",
},
RemoteIpLists = new[]
{
"10.3.4.0/24",
},
},
},
},
},
});
var exampleNetworkSlice = new Azure.Mobile.NetworkSlice("example", new()
{
Name = "example-mns",
MobileNetworkId = exampleNetwork.Id,
Location = example.Location,
SingleNetworkSliceSelectionAssistanceInformation = new Azure.Mobile.Inputs.NetworkSliceSingleNetworkSliceSelectionAssistanceInformationArgs
{
SliceServiceType = 1,
},
});
var exampleNetworkSimPolicy = new Azure.Mobile.NetworkSimPolicy("example", new()
{
Name = "example-mnsp",
MobileNetworkId = exampleNetwork.Id,
Location = example.Location,
RegistrationTimerInSeconds = 3240,
DefaultSliceId = exampleNetworkSlice.Id,
Slices = new[]
{
new Azure.Mobile.Inputs.NetworkSimPolicySliceArgs
{
DefaultDataNetworkId = exampleNetworkDataNetwork.Id,
SliceId = exampleNetworkSlice.Id,
DataNetworks = new[]
{
new Azure.Mobile.Inputs.NetworkSimPolicySliceDataNetworkArgs
{
DataNetworkId = exampleNetworkDataNetwork.Id,
AllocationAndRetentionPriorityLevel = 9,
DefaultSessionType = "IPv4",
QosIndicator = 9,
PreemptionCapability = "NotPreempt",
PreemptionVulnerability = "Preemptable",
AllowedServicesIds = new[]
{
exampleNetworkService.Id,
},
SessionAggregateMaximumBitRate = new Azure.Mobile.Inputs.NetworkSimPolicySliceDataNetworkSessionAggregateMaximumBitRateArgs
{
Downlink = "1 Gbps",
Uplink = "500 Mbps",
},
},
},
},
},
UserEquipmentAggregateMaximumBitRate = new Azure.Mobile.Inputs.NetworkSimPolicyUserEquipmentAggregateMaximumBitRateArgs
{
Downlink = "1 Gbps",
Uplink = "500 Mbps",
},
Tags =
{
{ "key", "value" },
},
});
});
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"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
}
exampleNetwork, err := mobile.NewNetwork(ctx, "example", &mobile.NetworkArgs{
Name: pulumi.String("example-mn"),
Location: example.Location,
ResourceGroupName: example.Name,
MobileCountryCode: pulumi.String("001"),
MobileNetworkCode: pulumi.String("01"),
})
if err != nil {
return err
}
exampleNetworkDataNetwork, err := mobile.NewNetworkDataNetwork(ctx, "example", &mobile.NetworkDataNetworkArgs{
Name: pulumi.String("example-mndn"),
MobileNetworkId: exampleNetwork.ID(),
Location: example.Location,
})
if err != nil {
return err
}
exampleNetworkService, err := mobile.NewNetworkService(ctx, "example", &mobile.NetworkServiceArgs{
Name: pulumi.String("example-mns"),
MobileNetworkId: exampleNetwork.ID(),
Location: example.Location,
ServicePrecedence: pulumi.Int(0),
PccRules: mobile.NetworkServicePccRuleArray{
&mobile.NetworkServicePccRuleArgs{
Name: pulumi.String("default-rule"),
Precedence: pulumi.Int(1),
TrafficControlEnabled: pulumi.Bool(true),
ServiceDataFlowTemplates: mobile.NetworkServicePccRuleServiceDataFlowTemplateArray{
&mobile.NetworkServicePccRuleServiceDataFlowTemplateArgs{
Direction: pulumi.String("Uplink"),
Name: pulumi.String("IP-to-server"),
Ports: pulumi.StringArray{},
Protocols: pulumi.StringArray{
pulumi.String("ip"),
},
RemoteIpLists: pulumi.StringArray{
pulumi.String("10.3.4.0/24"),
},
},
},
},
},
})
if err != nil {
return err
}
exampleNetworkSlice, err := mobile.NewNetworkSlice(ctx, "example", &mobile.NetworkSliceArgs{
Name: pulumi.String("example-mns"),
MobileNetworkId: exampleNetwork.ID(),
Location: example.Location,
SingleNetworkSliceSelectionAssistanceInformation: &mobile.NetworkSliceSingleNetworkSliceSelectionAssistanceInformationArgs{
SliceServiceType: pulumi.Int(1),
},
})
if err != nil {
return err
}
_, err = mobile.NewNetworkSimPolicy(ctx, "example", &mobile.NetworkSimPolicyArgs{
Name: pulumi.String("example-mnsp"),
MobileNetworkId: exampleNetwork.ID(),
Location: example.Location,
RegistrationTimerInSeconds: pulumi.Int(3240),
DefaultSliceId: exampleNetworkSlice.ID(),
Slices: mobile.NetworkSimPolicySliceArray{
&mobile.NetworkSimPolicySliceArgs{
DefaultDataNetworkId: exampleNetworkDataNetwork.ID(),
SliceId: exampleNetworkSlice.ID(),
DataNetworks: mobile.NetworkSimPolicySliceDataNetworkArray{
&mobile.NetworkSimPolicySliceDataNetworkArgs{
DataNetworkId: exampleNetworkDataNetwork.ID(),
AllocationAndRetentionPriorityLevel: pulumi.Int(9),
DefaultSessionType: pulumi.String("IPv4"),
QosIndicator: pulumi.Int(9),
PreemptionCapability: pulumi.String("NotPreempt"),
PreemptionVulnerability: pulumi.String("Preemptable"),
AllowedServicesIds: pulumi.StringArray{
exampleNetworkService.ID(),
},
SessionAggregateMaximumBitRate: &mobile.NetworkSimPolicySliceDataNetworkSessionAggregateMaximumBitRateArgs{
Downlink: pulumi.String("1 Gbps"),
Uplink: pulumi.String("500 Mbps"),
},
},
},
},
},
UserEquipmentAggregateMaximumBitRate: &mobile.NetworkSimPolicyUserEquipmentAggregateMaximumBitRateArgs{
Downlink: pulumi.String("1 Gbps"),
Uplink: pulumi.String("500 Mbps"),
},
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.NetworkDataNetwork;
import com.pulumi.azure.mobile.NetworkDataNetworkArgs;
import com.pulumi.azure.mobile.NetworkService;
import com.pulumi.azure.mobile.NetworkServiceArgs;
import com.pulumi.azure.mobile.inputs.NetworkServicePccRuleArgs;
import com.pulumi.azure.mobile.NetworkSlice;
import com.pulumi.azure.mobile.NetworkSliceArgs;
import com.pulumi.azure.mobile.inputs.NetworkSliceSingleNetworkSliceSelectionAssistanceInformationArgs;
import com.pulumi.azure.mobile.NetworkSimPolicy;
import com.pulumi.azure.mobile.NetworkSimPolicyArgs;
import com.pulumi.azure.mobile.inputs.NetworkSimPolicySliceArgs;
import com.pulumi.azure.mobile.inputs.NetworkSimPolicyUserEquipmentAggregateMaximumBitRateArgs;
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")
.location(example.location())
.resourceGroupName(example.name())
.mobileCountryCode("001")
.mobileNetworkCode("01")
.build());
var exampleNetworkDataNetwork = new NetworkDataNetwork("exampleNetworkDataNetwork", NetworkDataNetworkArgs.builder()
.name("example-mndn")
.mobileNetworkId(exampleNetwork.id())
.location(example.location())
.build());
var exampleNetworkService = new NetworkService("exampleNetworkService", NetworkServiceArgs.builder()
.name("example-mns")
.mobileNetworkId(exampleNetwork.id())
.location(example.location())
.servicePrecedence(0)
.pccRules(NetworkServicePccRuleArgs.builder()
.name("default-rule")
.precedence(1)
.trafficControlEnabled(true)
.serviceDataFlowTemplates(NetworkServicePccRuleServiceDataFlowTemplateArgs.builder()
.direction("Uplink")
.name("IP-to-server")
.ports()
.protocols("ip")
.remoteIpLists("10.3.4.0/24")
.build())
.build())
.build());
var exampleNetworkSlice = new NetworkSlice("exampleNetworkSlice", NetworkSliceArgs.builder()
.name("example-mns")
.mobileNetworkId(exampleNetwork.id())
.location(example.location())
.singleNetworkSliceSelectionAssistanceInformation(NetworkSliceSingleNetworkSliceSelectionAssistanceInformationArgs.builder()
.sliceServiceType(1)
.build())
.build());
var exampleNetworkSimPolicy = new NetworkSimPolicy("exampleNetworkSimPolicy", NetworkSimPolicyArgs.builder()
.name("example-mnsp")
.mobileNetworkId(exampleNetwork.id())
.location(example.location())
.registrationTimerInSeconds(3240)
.defaultSliceId(exampleNetworkSlice.id())
.slices(NetworkSimPolicySliceArgs.builder()
.defaultDataNetworkId(exampleNetworkDataNetwork.id())
.sliceId(exampleNetworkSlice.id())
.dataNetworks(NetworkSimPolicySliceDataNetworkArgs.builder()
.dataNetworkId(exampleNetworkDataNetwork.id())
.allocationAndRetentionPriorityLevel(9)
.defaultSessionType("IPv4")
.qosIndicator(9)
.preemptionCapability("NotPreempt")
.preemptionVulnerability("Preemptable")
.allowedServicesIds(exampleNetworkService.id())
.sessionAggregateMaximumBitRate(NetworkSimPolicySliceDataNetworkSessionAggregateMaximumBitRateArgs.builder()
.downlink("1 Gbps")
.uplink("500 Mbps")
.build())
.build())
.build())
.userEquipmentAggregateMaximumBitRate(NetworkSimPolicyUserEquipmentAggregateMaximumBitRateArgs.builder()
.downlink("1 Gbps")
.uplink("500 Mbps")
.build())
.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
location: ${example.location}
resourceGroupName: ${example.name}
mobileCountryCode: '001'
mobileNetworkCode: '01'
exampleNetworkDataNetwork:
type: azure:mobile:NetworkDataNetwork
name: example
properties:
name: example-mndn
mobileNetworkId: ${exampleNetwork.id}
location: ${example.location}
exampleNetworkService:
type: azure:mobile:NetworkService
name: example
properties:
name: example-mns
mobileNetworkId: ${exampleNetwork.id}
location: ${example.location}
servicePrecedence: 0
pccRules:
- name: default-rule
precedence: 1
trafficControlEnabled: true
serviceDataFlowTemplates:
- direction: Uplink
name: IP-to-server
ports: []
protocols:
- ip
remoteIpLists:
- 10.3.4.0/24
exampleNetworkSlice:
type: azure:mobile:NetworkSlice
name: example
properties:
name: example-mns
mobileNetworkId: ${exampleNetwork.id}
location: ${example.location}
singleNetworkSliceSelectionAssistanceInformation:
sliceServiceType: 1
exampleNetworkSimPolicy:
type: azure:mobile:NetworkSimPolicy
name: example
properties:
name: example-mnsp
mobileNetworkId: ${exampleNetwork.id}
location: ${example.location}
registrationTimerInSeconds: 3240
defaultSliceId: ${exampleNetworkSlice.id}
slices:
- defaultDataNetworkId: ${exampleNetworkDataNetwork.id}
sliceId: ${exampleNetworkSlice.id}
dataNetworks:
- dataNetworkId: ${exampleNetworkDataNetwork.id}
allocationAndRetentionPriorityLevel: 9
defaultSessionType: IPv4
qosIndicator: 9
preemptionCapability: NotPreempt
preemptionVulnerability: Preemptable
allowedServicesIds:
- ${exampleNetworkService.id}
sessionAggregateMaximumBitRate:
downlink: 1 Gbps
uplink: 500 Mbps
userEquipmentAggregateMaximumBitRate:
downlink: 1 Gbps
uplink: 500 Mbps
tags:
key: value

API Providers

This resource uses the following Azure API Providers:

  • Microsoft.MobileNetwork: 2022-11-01

Import

Mobile Network Sim Policies can be imported using the resource id, e.g.

$ pulumi import azure:mobile/networkSimPolicy:NetworkSimPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.MobileNetwork/mobileNetworks/mobileNetwork1/simPolicies/simPolicy1

Constructors

Link copied to clipboard
constructor(defaultSliceId: Output<String>? = null, location: Output<String>? = null, mobileNetworkId: Output<String>? = null, name: Output<String>? = null, ratFrequencySelectionPriorityIndex: Output<Int>? = null, registrationTimerInSeconds: Output<Int>? = null, slices: Output<List<NetworkSimPolicySliceArgs>>? = null, tags: Output<Map<String, String>>? = null, userEquipmentAggregateMaximumBitRate: Output<NetworkSimPolicyUserEquipmentAggregateMaximumBitRateArgs>? = null)

Properties

Link copied to clipboard
val defaultSliceId: Output<String>? = null

The ID of default slice to use if the UE does not explicitly specify it. This slice must exist in the slice block.

Link copied to clipboard
val location: Output<String>? = null

Specifies the Azure Region where the Mobile Network Sim Policy should exist. Changing this forces a new Mobile Network Sim Policies to be created.

Link copied to clipboard
val mobileNetworkId: Output<String>? = null

The ID of the Mobile Network which the Sim Policy belongs to. Changing this forces a new Mobile Network Sim Policies to be created.

Link copied to clipboard
val name: Output<String>? = null

The name which should be used for this Mobile Network Sim Policies. Changing this forces a new Mobile Network Sim Policies to be created.

Link copied to clipboard

RAT/Frequency Selection Priority Index, defined in 3GPP TS 36.413.

Link copied to clipboard
val registrationTimerInSeconds: Output<Int>? = null

Interval for the user equipment periodic registration update procedure. Defaults to 3240.

Link copied to clipboard
val slices: Output<List<NetworkSimPolicySliceArgs>>? = null

An array of slice block as defined below. The allowed slices and the settings to use for them. The list must not contain duplicate items and must contain at least one item.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

A mapping of tags which should be assigned to the Mobile Network Sim Policies.

Link copied to clipboard

A user_equipment_aggregate_maximum_bit_rate block as defined below.

Functions

Link copied to clipboard
open override fun toJava(): NetworkSimPolicyArgs