ServiceArgs

data class ServiceArgs(val location: Output<String>? = null, val mobileNetworkName: Output<String>? = null, val pccRules: Output<List<PccRuleConfigurationArgs>>? = null, val resourceGroupName: Output<String>? = null, val serviceName: Output<String>? = null, val servicePrecedence: Output<Int>? = null, val serviceQosPolicy: Output<QosPolicyArgs>? = null, val tags: Output<Map<String, String>>? = null) : ConvertibleToJava<ServiceArgs>

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

Link copied to clipboard
constructor(location: Output<String>? = null, mobileNetworkName: Output<String>? = null, pccRules: Output<List<PccRuleConfigurationArgs>>? = null, resourceGroupName: Output<String>? = null, serviceName: Output<String>? = null, servicePrecedence: Output<Int>? = null, serviceQosPolicy: Output<QosPolicyArgs>? = null, tags: Output<Map<String, String>>? = null)

Properties

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

The geo-location where the resource lives

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

The name of the mobile network.

Link copied to clipboard
val pccRules: Output<List<PccRuleConfigurationArgs>>? = null

The set of data flow policy rules that make up this service.

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

The name of the resource group. The name is case insensitive.

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

The name of the service. You must not use any of the following reserved strings - default, requested or service

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

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.

Link copied to clipboard
val serviceQosPolicy: Output<QosPolicyArgs>? = null

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.

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

Resource tags.

Functions

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