Service Args
Service resource. Must be created in the same location as its parent mobile network. 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 service
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var service = new AzureNative.MobileNetwork.Service("service", new()
{
Location = "eastus",
MobileNetworkName = "testMobileNetwork",
PccRules = new[]
{
new AzureNative.MobileNetwork.Inputs.PccRuleConfigurationArgs
{
RuleName = "default-rule",
RulePrecedence = 255,
RuleQosPolicy = new AzureNative.MobileNetwork.Inputs.PccRuleQosPolicyArgs
{
AllocationAndRetentionPriorityLevel = 9,
FiveQi = 9,
MaximumBitRate = new AzureNative.MobileNetwork.Inputs.AmbrArgs
{
Downlink = "1 Gbps",
Uplink = "500 Mbps",
},
PreemptionCapability = AzureNative.MobileNetwork.PreemptionCapability.NotPreempt,
PreemptionVulnerability = AzureNative.MobileNetwork.PreemptionVulnerability.Preemptable,
},
ServiceDataFlowTemplates = new[]
{
new AzureNative.MobileNetwork.Inputs.ServiceDataFlowTemplateArgs
{
Direction = AzureNative.MobileNetwork.SdfDirection.Uplink,
Ports = new() { },
Protocol = new[]
{
"ip",
},
RemoteIpList = new[]
{
"10.3.4.0/24",
},
TemplateName = "IP-to-server",
},
},
TrafficControl = AzureNative.MobileNetwork.TrafficControlPermission.Enabled,
},
},
ResourceGroupName = "rg1",
ServiceName = "TestService",
ServicePrecedence = 255,
ServiceQosPolicy = new AzureNative.MobileNetwork.Inputs.QosPolicyArgs
{
AllocationAndRetentionPriorityLevel = 9,
FiveQi = 9,
MaximumBitRate = new AzureNative.MobileNetwork.Inputs.AmbrArgs
{
Downlink = "1 Gbps",
Uplink = "500 Mbps",
},
PreemptionCapability = AzureNative.MobileNetwork.PreemptionCapability.NotPreempt,
PreemptionVulnerability = AzureNative.MobileNetwork.PreemptionVulnerability.Preemptable,
},
});
});
package main
import (
mobilenetwork "github.com/pulumi/pulumi-azure-native-sdk/mobilenetwork/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := mobilenetwork.NewService(ctx, "service", &mobilenetwork.ServiceArgs{
Location: pulumi.String("eastus"),
MobileNetworkName: pulumi.String("testMobileNetwork"),
PccRules: mobilenetwork.PccRuleConfigurationArray{
&mobilenetwork.PccRuleConfigurationArgs{
RuleName: pulumi.String("default-rule"),
RulePrecedence: pulumi.Int(255),
RuleQosPolicy: &mobilenetwork.PccRuleQosPolicyArgs{
AllocationAndRetentionPriorityLevel: pulumi.Int(9),
FiveQi: pulumi.Int(9),
MaximumBitRate: &mobilenetwork.AmbrArgs{
Downlink: pulumi.String("1 Gbps"),
Uplink: pulumi.String("500 Mbps"),
},
PreemptionCapability: pulumi.String(mobilenetwork.PreemptionCapabilityNotPreempt),
PreemptionVulnerability: pulumi.String(mobilenetwork.PreemptionVulnerabilityPreemptable),
},
ServiceDataFlowTemplates: mobilenetwork.ServiceDataFlowTemplateArray{
&mobilenetwork.ServiceDataFlowTemplateArgs{
Direction: pulumi.String(mobilenetwork.SdfDirectionUplink),
Ports: pulumi.StringArray{},
Protocol: pulumi.StringArray{
pulumi.String("ip"),
},
RemoteIpList: pulumi.StringArray{
pulumi.String("10.3.4.0/24"),
},
TemplateName: pulumi.String("IP-to-server"),
},
},
TrafficControl: pulumi.String(mobilenetwork.TrafficControlPermissionEnabled),
},
},
ResourceGroupName: pulumi.String("rg1"),
ServiceName: pulumi.String("TestService"),
ServicePrecedence: pulumi.Int(255),
ServiceQosPolicy: &mobilenetwork.QosPolicyArgs{
AllocationAndRetentionPriorityLevel: pulumi.Int(9),
FiveQi: pulumi.Int(9),
MaximumBitRate: &mobilenetwork.AmbrArgs{
Downlink: pulumi.String("1 Gbps"),
Uplink: pulumi.String("500 Mbps"),
},
PreemptionCapability: pulumi.String(mobilenetwork.PreemptionCapabilityNotPreempt),
PreemptionVulnerability: pulumi.String(mobilenetwork.PreemptionVulnerabilityPreemptable),
},
})
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.Service;
import com.pulumi.azurenative.mobilenetwork.ServiceArgs;
import com.pulumi.azurenative.mobilenetwork.inputs.PccRuleConfigurationArgs;
import com.pulumi.azurenative.mobilenetwork.inputs.PccRuleQosPolicyArgs;
import com.pulumi.azurenative.mobilenetwork.inputs.AmbrArgs;
import com.pulumi.azurenative.mobilenetwork.inputs.QosPolicyArgs;
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 service = new Service("service", ServiceArgs.builder()
.location("eastus")
.mobileNetworkName("testMobileNetwork")
.pccRules(PccRuleConfigurationArgs.builder()
.ruleName("default-rule")
.rulePrecedence(255)
.ruleQosPolicy(PccRuleQosPolicyArgs.builder()
.allocationAndRetentionPriorityLevel(9)
.fiveQi(9)
.maximumBitRate(AmbrArgs.builder()
.downlink("1 Gbps")
.uplink("500 Mbps")
.build())
.preemptionCapability("NotPreempt")
.preemptionVulnerability("Preemptable")
.build())
.serviceDataFlowTemplates(ServiceDataFlowTemplateArgs.builder()
.direction("Uplink")
.ports()
.protocol("ip")
.remoteIpList("10.3.4.0/24")
.templateName("IP-to-server")
.build())
.trafficControl("Enabled")
.build())
.resourceGroupName("rg1")
.serviceName("TestService")
.servicePrecedence(255)
.serviceQosPolicy(QosPolicyArgs.builder()
.allocationAndRetentionPriorityLevel(9)
.fiveQi(9)
.maximumBitRate(AmbrArgs.builder()
.downlink("1 Gbps")
.uplink("500 Mbps")
.build())
.preemptionCapability("NotPreempt")
.preemptionVulnerability("Preemptable")
.build())
.build());
}
}
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:mobilenetwork:Service testPolicy /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileNetwork/mobileNetworks/{mobileNetworkName}/services/{serviceName}
Constructors
Properties
The name of the mobile network.
The set of data flow policy rules that make up this service.
The name of the resource group. The name is case insensitive.
The name of the service. You must not use any of the following reserved strings - default
, requested
or service
A precedence value that is used to decide between services when identifying the QoS values to use for a particular SIM. A lower value means a higher priority. This value should be unique among all services configured in the mobile network.
The QoS policy to use for packets matching this service. This can be overridden for particular flows using the ruleQosPolicy field in a PccRuleConfiguration. If this field is null then the UE's SIM policy will define the QoS settings.