
com.pulumi.azurenative.mobilenetwork.outputs.PccRuleConfigurationResponse Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-native Show documentation
Show all versions of azure-native Show documentation
A native Pulumi package for creating and managing Azure resources.
// *** 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.azurenative.mobilenetwork.outputs;
import com.pulumi.azurenative.mobilenetwork.outputs.PccRuleQosPolicyResponse;
import com.pulumi.azurenative.mobilenetwork.outputs.ServiceDataFlowTemplateResponse;
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 PccRuleConfigurationResponse {
/**
* @return 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`.
*
*/
private String ruleName;
/**
* @return 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.
*
*/
private Integer rulePrecedence;
/**
* @return The QoS policy to use for packets matching this rule. If this field is null then the parent service will define the QoS settings.
*
*/
private @Nullable PccRuleQosPolicyResponse ruleQosPolicy;
/**
* @return The set of data flow templates to use for this data flow policy rule.
*
*/
private List serviceDataFlowTemplates;
/**
* @return Determines whether flows that match this data flow policy rule are permitted.
*
*/
private @Nullable String trafficControl;
private PccRuleConfigurationResponse() {}
/**
* @return 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`.
*
*/
public String ruleName() {
return this.ruleName;
}
/**
* @return 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.
*
*/
public Integer rulePrecedence() {
return this.rulePrecedence;
}
/**
* @return The QoS policy to use for packets matching this rule. If this field is null then the parent service will define the QoS settings.
*
*/
public Optional ruleQosPolicy() {
return Optional.ofNullable(this.ruleQosPolicy);
}
/**
* @return The set of data flow templates to use for this data flow policy rule.
*
*/
public List serviceDataFlowTemplates() {
return this.serviceDataFlowTemplates;
}
/**
* @return Determines whether flows that match this data flow policy rule are permitted.
*
*/
public Optional trafficControl() {
return Optional.ofNullable(this.trafficControl);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(PccRuleConfigurationResponse defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private String ruleName;
private Integer rulePrecedence;
private @Nullable PccRuleQosPolicyResponse ruleQosPolicy;
private List serviceDataFlowTemplates;
private @Nullable String trafficControl;
public Builder() {}
public Builder(PccRuleConfigurationResponse defaults) {
Objects.requireNonNull(defaults);
this.ruleName = defaults.ruleName;
this.rulePrecedence = defaults.rulePrecedence;
this.ruleQosPolicy = defaults.ruleQosPolicy;
this.serviceDataFlowTemplates = defaults.serviceDataFlowTemplates;
this.trafficControl = defaults.trafficControl;
}
@CustomType.Setter
public Builder ruleName(String ruleName) {
if (ruleName == null) {
throw new MissingRequiredPropertyException("PccRuleConfigurationResponse", "ruleName");
}
this.ruleName = ruleName;
return this;
}
@CustomType.Setter
public Builder rulePrecedence(Integer rulePrecedence) {
if (rulePrecedence == null) {
throw new MissingRequiredPropertyException("PccRuleConfigurationResponse", "rulePrecedence");
}
this.rulePrecedence = rulePrecedence;
return this;
}
@CustomType.Setter
public Builder ruleQosPolicy(@Nullable PccRuleQosPolicyResponse ruleQosPolicy) {
this.ruleQosPolicy = ruleQosPolicy;
return this;
}
@CustomType.Setter
public Builder serviceDataFlowTemplates(List serviceDataFlowTemplates) {
if (serviceDataFlowTemplates == null) {
throw new MissingRequiredPropertyException("PccRuleConfigurationResponse", "serviceDataFlowTemplates");
}
this.serviceDataFlowTemplates = serviceDataFlowTemplates;
return this;
}
public Builder serviceDataFlowTemplates(ServiceDataFlowTemplateResponse... serviceDataFlowTemplates) {
return serviceDataFlowTemplates(List.of(serviceDataFlowTemplates));
}
@CustomType.Setter
public Builder trafficControl(@Nullable String trafficControl) {
this.trafficControl = trafficControl;
return this;
}
public PccRuleConfigurationResponse build() {
final var _resultValue = new PccRuleConfigurationResponse();
_resultValue.ruleName = ruleName;
_resultValue.rulePrecedence = rulePrecedence;
_resultValue.ruleQosPolicy = ruleQosPolicy;
_resultValue.serviceDataFlowTemplates = serviceDataFlowTemplates;
_resultValue.trafficControl = trafficControl;
return _resultValue;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy