Skip to content

azurermMobileNetworkService

Manages a Mobile Network Service.

Example Usage

/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as azurerm from "./.gen/providers/azurerm";
/*The following providers are missing schema information and might need manual adjustments to synthesize correctly: azurerm.
For a more precise conversion please use the --provider flag in convert.*/
const azurermResourceGroupExample = new azurerm.resourceGroup.ResourceGroup(
  this,
  "example",
  {
    location: "east us",
    name: "example-resources",
  }
);
const azurermMobileNetworkExample = new azurerm.mobileNetwork.MobileNetwork(
  this,
  "example_1",
  {
    location: azurermResourceGroupExample.location,
    mobile_country_code: "001",
    mobile_network_code: "01",
    name: "example-mn",
    resource_group_name: "${azurerm_resource_group.test.name}",
  }
);
/*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/
azurermMobileNetworkExample.overrideLogicalId("example");
const azurermMobileNetworkServiceExample =
  new azurerm.mobileNetworkService.MobileNetworkService(this, "example_2", {
    location: azurermResourceGroupExample.location,
    mobile_network_id: azurermMobileNetworkExample.id,
    name: "example-mns",
    pcc_rule: [
      {
        name: "default-rule",
        precedence: 1,
        qos_policy: [
          {
            allocation_and_retention_priority_level: 9,
            guaranteed_bit_rate: [
              {
                downlink: "100 Mbps",
                uplink: "10 Mbps",
              },
            ],
            maximum_bit_rate: [
              {
                downlink: "1 Gbps",
                uplink: "100 Mbps",
              },
            ],
            preemption_capability: "NotPreempt",
            preemption_vulnerability: "Preemptable",
            qos_indicator: 9,
          },
        ],
        service_data_flow_template: [
          {
            direction: "Uplink",
            name: "IP-to-server",
            ports: [],
            protocol: ["ip"],
            remote_ip_list: ["10.3.4.0/24"],
          },
        ],
        traffic_control_enabled: true,
      },
    ],
    service_precedence: 0,
    service_qos_policy: [
      {
        allocation_and_retention_priority_level: 9,
        maximum_bit_rate: [
          {
            downlink: "1 Gbps",
            uplink: "100 Mbps",
          },
        ],
        preemption_capability: "NotPreempt",
        preemption_vulnerability: "Preemptable",
        qos_indicator: 9,
      },
    ],
    tags: {
      key: "value",
    },
  });
/*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/
azurermMobileNetworkServiceExample.overrideLogicalId("example");

Arguments Reference

The following arguments are supported:

  • name - (Required) Specifies the name which should be used for this Mobile Network Service. Changing this forces a new Mobile Network Service to be created.

  • mobileNetworkId - (Required) Specifies the ID of the Mobile Network Service. Changing this forces a new Mobile Network Service to be created.

  • location - (Required) Specifies the Azure Region where the Mobile Network Service should exist. Changing this forces a new Mobile Network Service to be created.

  • servicePrecedence - (Required) 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. Must be between 0 and 255.

  • pccRule - (Required) A pccRule block as defined below. The set of PCC Rules that make up this service.

  • serviceQosPolicy - (Optional) A serviceQosPolicy block as defined below. The QoS policy to use for packets matching this service. This can be overridden for particular flows using the ruleQosPolicy field in a pccRule. If this field is not specified then the simPolicy of User Equipment (UE) will define the QoS settings.

  • tags - (Optional) A mapping of tags which should be assigned to the Mobile Network Service.


A pccRule block supports the following:

  • name - (Required) Specifies the name of the rule. This must be unique within the parent service. You must not use any of the following reserved strings - default, requested or service.

  • precedence - (Required) A precedence value that is used to decide between data flow policy rules 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 data flow policy rules configured in the mobile network. Must be between 0 and 255.

  • qosPolicy - (Optional) A qosPolicy block as defined below. The QoS policy to use for packets matching this rule. If this field is not specified then the Service will define the QoS settings.

  • serviceDataFlowTemplate - (Required) A serviceDataFlowTemplate block as defined below. The set of service data flow templates to use for this PCC rule.

  • trafficControlEnabled - (Optional) Determines whether flows that match this data flow policy rule are permitted. Defaults to true.


A qosPolicy block supports the following:

  • allocationAndRetentionPriorityLevel - (Optional) QoS Flow allocation and retention priority (ARP) level. Flows with higher priority preempt flows with lower priority, if the settings of preemptionCapability and preemptionVulnerability allow it. 1 is the highest level of priority. If this field is not specified then qosIndicator is used to derive the ARP value. Defaults to 9. See 3GPP TS23.501 section 5.7.2.2 for a full description of the ARP parameters.

  • qosIndicator - (Optional) The QoS Indicator (5QI for 5G network /QCI for 4G net work) value identifies a set of QoS characteristics that control QoS forwarding treatment for QoS flows or EPS bearers. Recommended values: 5-9; 69-70; 79-80. Must be between 1 and 127. Defaults to 9.

  • guaranteedBitRate - (Optional) A guaranteedBitRate block as defined below. The Guaranteed Bit Rate (GBR) for all service data flows that use this PCC Rule. If it's not specified, there will be no GBR set for the PCC Rule that uses this QoS definition.

  • maximumBitRate - (Required) A maximumBitRate block as defined below. The Maximum Bit Rate (MBR) for all service data flows that use this PCC Rule or Service.

  • preemptionCapability - (Optional) The Preemption Capability of a QoS Flow controls whether it can preempt another QoS Flow with a lower priority level. See 3GPP TS23.501 section 5.7.2.2 for a full description of the ARP parameters. Possible values are notPreempt and mayPreempt, Defaults to notPreempt.

  • preemptionVulnerability - (Optional) The Preemption Vulnerability of a QoS Flow controls whether it can be preempted by QoS Flow with a higher priority level. See 3GPP TS23.501 section 5.7.2.2 for a full description of the ARP parameters. Possible values are notPreemptable and preemptable. Defaults to preemptable.


A guaranteedBitRate block supports the following:

  • downlink - (Required) Downlink bit rate. Must be a number followed by kbps, mbps, gbps or tbps.

  • uplink - (Required) Uplink bit rate. Must be a number followed by kbps, mbps, gbps or tbps.


A serviceDataFlowTemplate block supports the following:

  • name - (Required) Specifies the name of the data flow template. This must be unique within the parent data flow policy rule. You must not use any of the following reserved strings - default, requested or service.

  • direction - (Required) Specifies the direction of this flow. Possible values are uplink, downlink and bidirectional.

  • protocol - (Required) A list of the allowed protocol(s) for this flow. If you want this flow to be able to use any protocol within the internet protocol suite, use the value ip. If you only want to allow a selection of protocols, you must use the corresponding IANA Assigned Internet Protocol Number for each protocol, as described in https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml. For example, for UDP, you must use 17. If you use the value ip then you must leave the field port unspecified.

  • remoteIpList - (Required) Specifies the remote IP address(es) to which UEs will connect for this flow. If you want to allow connections on any IP address, use the value any. Otherwise, you must provide each of the remote IP addresses to which the packet core instance will connect for this flow. You must provide each IP address in CIDR notation, including the netmask (for example, 1920254/24).

  • ports - (Optional) The port(s) to which UEs will connect for this flow. You can specify zero or more ports or port ranges. If you specify one or more ports or port ranges then you must specify a value other than ip in the protocol field. If it is not specified then connections will be allowed on all ports. Port ranges must be specified as -. For example: [8080, 80828085].


A serviceQosPolicy block supports the following:

  • allocationAndRetentionPriorityLevel - (Optional) QoS Flow allocation and retention priority (ARP) level. Flows with higher priority preempt flows with lower priority, if the settings of preemptionCapability and preemptionVulnerability allow it. 1 is the highest level of priority. If this field is not specified then qosIndicator is used to derive the ARP value. Defaults to 9. See 3GPP TS23.501 section 5.7.2.2 for a full description of the ARP parameters.

  • qosIndicator - (Optional) The QoS Indicator (5QI for 5G network /QCI for 4G net work) value identifies a set of QoS characteristics that control QoS forwarding treatment for QoS flows or EPS bearers. Recommended values: 5-9; 69-70; 79-80. Must be between 1 and 127. Defaults to 9.

  • maximumBitRate - (Required) A maximumBitRate block as defined below. The Maximum Bit Rate (MBR) for all service data flows that use this PCC Rule or Service.

  • preemptionCapability - (Optional) The Preemption Capability of a QoS Flow controls whether it can preempt another QoS Flow with a lower priority level. See 3GPP TS23.501 section 5.7.2.2 for a full description of the ARP parameters. Possible values are notPreempt and mayPreempt, Defaults to notPreempt.

  • preemptionVulnerability - (Optional) The Preemption Vulnerability of a QoS Flow controls whether it can be preempted by QoS Flow with a higher priority level. See 3GPP TS23.501 section 5.7.2.2 for a full description of the ARP parameters. Possible values are notPreemptable and preemptable. Defaults to preemptable.


A maximumBitRate block supports the following:

  • downlink - (Required) Downlink bit rate. Must be a number followed by bps, kbps, mbps, gbps or tbps.

  • uplink - (Required) Uplink bit rate. Must be a number followed by bps, kbps, mbps, gbps or tbps.

Attributes Reference

In addition to the Arguments listed above - the following Attributes are exported:

  • id - The ID of the Mobile Network Service.

Timeouts

The timeouts block allows you to specify timeouts for certain actions:

  • create - (Defaults to 180 minutes) Used when creating the Mobile Network Service.
  • read - (Defaults to 5 minutes) Used when retrieving the Mobile Network Service.
  • update - (Defaults to 180 minutes) Used when updating the Mobile Network Service.
  • delete - (Defaults to 180 minutes) Used when deleting the Mobile Network Service.

Import

Mobile Network Service can be imported using the resourceId, e.g.

terraform import azurerm_mobile_network_service.example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.MobileNetwork/mobileNetworks/mobileNetwork1/services/service1