Service

class Service : KotlinCustomResource

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}

Properties

Link copied to clipboard
val azureApiVersion: Output<String>

The Azure API version of the resource.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val location: Output<String>

The geo-location where the resource lives

Link copied to clipboard
val name: Output<String>

The name of the resource

Link copied to clipboard

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

Link copied to clipboard

The provisioning state of the service resource.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val servicePrecedence: Output<Int>

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

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

Azure Resource Manager metadata containing createdBy and modifiedBy information.

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

Resource tags.

Link copied to clipboard
val type: Output<String>

The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"

Link copied to clipboard
val urn: Output<String>