com.pulumi.azure.mobile.outputs.NetworkSimPolicySliceDataNetwork Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure Show documentation
Show all versions of azure Show documentation
A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.azure.mobile.outputs;
import com.pulumi.azure.mobile.outputs.NetworkSimPolicySliceDataNetworkSessionAggregateMaximumBitRate;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class NetworkSimPolicySliceDataNetwork {
/**
* @return Allowed session types in addition to the default session type. Must not duplicate the default session type. Possible values are `IPv4` and `IPv6`.
*
*/
private @Nullable List additionalAllowedSessionTypes;
/**
* @return Default QoS Flow allocation and retention priority (ARP) level. Flows with higher priority preempt flows with lower priority, if the settings of `preemption_capability` and `preemption_vulnerability` allow it. `1` is the highest level of priority. If this field is not specified then `qos_indicator` is used to derive the ARP value. See 3GPP TS23.501 section 5.7.2.2 for a full description of the ARP parameters.
*
*/
private @Nullable Integer allocationAndRetentionPriorityLevel;
/**
* @return An array of IDs of services that can be used as part of this SIM policy. The array must not contain duplicate items and must contain at least one item.
*
*/
private List allowedServicesIds;
/**
* @return The ID of Mobile Network Data Network which these settings apply to.
*
*/
private String dataNetworkId;
/**
* @return The default PDU session type, which is used if the user equipment does not request a specific session type. Possible values are `IPv4` and `IPv6`. Defaults to `IPv4`.
*
*/
private @Nullable String defaultSessionType;
/**
* @return The maximum number of downlink packets to buffer at the user plane for High Latency Communication - Extended Buffering. Defaults to `10`, Must be at least `0`, See 3GPP TS29.272 v15.10.0 section 7.3.188 for a full description. This maximum is not guaranteed because there is a internal limit on buffered packets across all PDU sessions.
*
*/
private @Nullable Integer maxBufferedPackets;
/**
* @return The Preemption Capability of a QoS Flow, it 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`.
*
*/
private @Nullable String preemptionCapability;
/**
* @return The Preemption Vulnerability of a QoS Flow, it 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 `NotPreemptable`.
*
*/
private @Nullable String preemptionVulnerability;
/**
* @return The QoS Indicator (5QI for 5G network /QCI for 4G net work) value identifies a set of QoS characteristics, it controls QoS forwarding treatment for QoS flows or EPS bearers. Recommended values: 5-9; 69-70; 79-80. Must be between `1` and `127`.
*
*/
private Integer qosIndicator;
/**
* @return A `session_aggregate_maximum_bit_rate` block as defined below.
*
*/
private NetworkSimPolicySliceDataNetworkSessionAggregateMaximumBitRate sessionAggregateMaximumBitRate;
private NetworkSimPolicySliceDataNetwork() {}
/**
* @return Allowed session types in addition to the default session type. Must not duplicate the default session type. Possible values are `IPv4` and `IPv6`.
*
*/
public List additionalAllowedSessionTypes() {
return this.additionalAllowedSessionTypes == null ? List.of() : this.additionalAllowedSessionTypes;
}
/**
* @return Default QoS Flow allocation and retention priority (ARP) level. Flows with higher priority preempt flows with lower priority, if the settings of `preemption_capability` and `preemption_vulnerability` allow it. `1` is the highest level of priority. If this field is not specified then `qos_indicator` is used to derive the ARP value. See 3GPP TS23.501 section 5.7.2.2 for a full description of the ARP parameters.
*
*/
public Optional allocationAndRetentionPriorityLevel() {
return Optional.ofNullable(this.allocationAndRetentionPriorityLevel);
}
/**
* @return An array of IDs of services that can be used as part of this SIM policy. The array must not contain duplicate items and must contain at least one item.
*
*/
public List allowedServicesIds() {
return this.allowedServicesIds;
}
/**
* @return The ID of Mobile Network Data Network which these settings apply to.
*
*/
public String dataNetworkId() {
return this.dataNetworkId;
}
/**
* @return The default PDU session type, which is used if the user equipment does not request a specific session type. Possible values are `IPv4` and `IPv6`. Defaults to `IPv4`.
*
*/
public Optional defaultSessionType() {
return Optional.ofNullable(this.defaultSessionType);
}
/**
* @return The maximum number of downlink packets to buffer at the user plane for High Latency Communication - Extended Buffering. Defaults to `10`, Must be at least `0`, See 3GPP TS29.272 v15.10.0 section 7.3.188 for a full description. This maximum is not guaranteed because there is a internal limit on buffered packets across all PDU sessions.
*
*/
public Optional maxBufferedPackets() {
return Optional.ofNullable(this.maxBufferedPackets);
}
/**
* @return The Preemption Capability of a QoS Flow, it 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`.
*
*/
public Optional preemptionCapability() {
return Optional.ofNullable(this.preemptionCapability);
}
/**
* @return The Preemption Vulnerability of a QoS Flow, it 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 `NotPreemptable`.
*
*/
public Optional preemptionVulnerability() {
return Optional.ofNullable(this.preemptionVulnerability);
}
/**
* @return The QoS Indicator (5QI for 5G network /QCI for 4G net work) value identifies a set of QoS characteristics, it controls QoS forwarding treatment for QoS flows or EPS bearers. Recommended values: 5-9; 69-70; 79-80. Must be between `1` and `127`.
*
*/
public Integer qosIndicator() {
return this.qosIndicator;
}
/**
* @return A `session_aggregate_maximum_bit_rate` block as defined below.
*
*/
public NetworkSimPolicySliceDataNetworkSessionAggregateMaximumBitRate sessionAggregateMaximumBitRate() {
return this.sessionAggregateMaximumBitRate;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(NetworkSimPolicySliceDataNetwork defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable List additionalAllowedSessionTypes;
private @Nullable Integer allocationAndRetentionPriorityLevel;
private List allowedServicesIds;
private String dataNetworkId;
private @Nullable String defaultSessionType;
private @Nullable Integer maxBufferedPackets;
private @Nullable String preemptionCapability;
private @Nullable String preemptionVulnerability;
private Integer qosIndicator;
private NetworkSimPolicySliceDataNetworkSessionAggregateMaximumBitRate sessionAggregateMaximumBitRate;
public Builder() {}
public Builder(NetworkSimPolicySliceDataNetwork defaults) {
Objects.requireNonNull(defaults);
this.additionalAllowedSessionTypes = defaults.additionalAllowedSessionTypes;
this.allocationAndRetentionPriorityLevel = defaults.allocationAndRetentionPriorityLevel;
this.allowedServicesIds = defaults.allowedServicesIds;
this.dataNetworkId = defaults.dataNetworkId;
this.defaultSessionType = defaults.defaultSessionType;
this.maxBufferedPackets = defaults.maxBufferedPackets;
this.preemptionCapability = defaults.preemptionCapability;
this.preemptionVulnerability = defaults.preemptionVulnerability;
this.qosIndicator = defaults.qosIndicator;
this.sessionAggregateMaximumBitRate = defaults.sessionAggregateMaximumBitRate;
}
@CustomType.Setter
public Builder additionalAllowedSessionTypes(@Nullable List additionalAllowedSessionTypes) {
this.additionalAllowedSessionTypes = additionalAllowedSessionTypes;
return this;
}
public Builder additionalAllowedSessionTypes(String... additionalAllowedSessionTypes) {
return additionalAllowedSessionTypes(List.of(additionalAllowedSessionTypes));
}
@CustomType.Setter
public Builder allocationAndRetentionPriorityLevel(@Nullable Integer allocationAndRetentionPriorityLevel) {
this.allocationAndRetentionPriorityLevel = allocationAndRetentionPriorityLevel;
return this;
}
@CustomType.Setter
public Builder allowedServicesIds(List allowedServicesIds) {
if (allowedServicesIds == null) {
throw new MissingRequiredPropertyException("NetworkSimPolicySliceDataNetwork", "allowedServicesIds");
}
this.allowedServicesIds = allowedServicesIds;
return this;
}
public Builder allowedServicesIds(String... allowedServicesIds) {
return allowedServicesIds(List.of(allowedServicesIds));
}
@CustomType.Setter
public Builder dataNetworkId(String dataNetworkId) {
if (dataNetworkId == null) {
throw new MissingRequiredPropertyException("NetworkSimPolicySliceDataNetwork", "dataNetworkId");
}
this.dataNetworkId = dataNetworkId;
return this;
}
@CustomType.Setter
public Builder defaultSessionType(@Nullable String defaultSessionType) {
this.defaultSessionType = defaultSessionType;
return this;
}
@CustomType.Setter
public Builder maxBufferedPackets(@Nullable Integer maxBufferedPackets) {
this.maxBufferedPackets = maxBufferedPackets;
return this;
}
@CustomType.Setter
public Builder preemptionCapability(@Nullable String preemptionCapability) {
this.preemptionCapability = preemptionCapability;
return this;
}
@CustomType.Setter
public Builder preemptionVulnerability(@Nullable String preemptionVulnerability) {
this.preemptionVulnerability = preemptionVulnerability;
return this;
}
@CustomType.Setter
public Builder qosIndicator(Integer qosIndicator) {
if (qosIndicator == null) {
throw new MissingRequiredPropertyException("NetworkSimPolicySliceDataNetwork", "qosIndicator");
}
this.qosIndicator = qosIndicator;
return this;
}
@CustomType.Setter
public Builder sessionAggregateMaximumBitRate(NetworkSimPolicySliceDataNetworkSessionAggregateMaximumBitRate sessionAggregateMaximumBitRate) {
if (sessionAggregateMaximumBitRate == null) {
throw new MissingRequiredPropertyException("NetworkSimPolicySliceDataNetwork", "sessionAggregateMaximumBitRate");
}
this.sessionAggregateMaximumBitRate = sessionAggregateMaximumBitRate;
return this;
}
public NetworkSimPolicySliceDataNetwork build() {
final var _resultValue = new NetworkSimPolicySliceDataNetwork();
_resultValue.additionalAllowedSessionTypes = additionalAllowedSessionTypes;
_resultValue.allocationAndRetentionPriorityLevel = allocationAndRetentionPriorityLevel;
_resultValue.allowedServicesIds = allowedServicesIds;
_resultValue.dataNetworkId = dataNetworkId;
_resultValue.defaultSessionType = defaultSessionType;
_resultValue.maxBufferedPackets = maxBufferedPackets;
_resultValue.preemptionCapability = preemptionCapability;
_resultValue.preemptionVulnerability = preemptionVulnerability;
_resultValue.qosIndicator = qosIndicator;
_resultValue.sessionAggregateMaximumBitRate = sessionAggregateMaximumBitRate;
return _resultValue;
}
}
}