com.pulumi.azure.frontdoor.outputs.FrontdoorBackendPoolLoadBalancing Maven / Gradle / Ivy
// *** 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.frontdoor.outputs;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class FrontdoorBackendPoolLoadBalancing {
/**
* @return The additional latency in milliseconds for probes to fall into the lowest latency bucket. Defaults to `0`.
*
*/
private @Nullable Integer additionalLatencyMilliseconds;
/**
* @return The ID of the FrontDoor.
*
*/
private @Nullable String id;
/**
* @return Specifies the name of the Load Balancer.
*
*/
private String name;
/**
* @return The number of samples to consider for load balancing decisions. Defaults to `4`.
*
*/
private @Nullable Integer sampleSize;
/**
* @return The number of samples within the sample period that must succeed. Defaults to `2`.
*
*/
private @Nullable Integer successfulSamplesRequired;
private FrontdoorBackendPoolLoadBalancing() {}
/**
* @return The additional latency in milliseconds for probes to fall into the lowest latency bucket. Defaults to `0`.
*
*/
public Optional additionalLatencyMilliseconds() {
return Optional.ofNullable(this.additionalLatencyMilliseconds);
}
/**
* @return The ID of the FrontDoor.
*
*/
public Optional id() {
return Optional.ofNullable(this.id);
}
/**
* @return Specifies the name of the Load Balancer.
*
*/
public String name() {
return this.name;
}
/**
* @return The number of samples to consider for load balancing decisions. Defaults to `4`.
*
*/
public Optional sampleSize() {
return Optional.ofNullable(this.sampleSize);
}
/**
* @return The number of samples within the sample period that must succeed. Defaults to `2`.
*
*/
public Optional successfulSamplesRequired() {
return Optional.ofNullable(this.successfulSamplesRequired);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(FrontdoorBackendPoolLoadBalancing defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable Integer additionalLatencyMilliseconds;
private @Nullable String id;
private String name;
private @Nullable Integer sampleSize;
private @Nullable Integer successfulSamplesRequired;
public Builder() {}
public Builder(FrontdoorBackendPoolLoadBalancing defaults) {
Objects.requireNonNull(defaults);
this.additionalLatencyMilliseconds = defaults.additionalLatencyMilliseconds;
this.id = defaults.id;
this.name = defaults.name;
this.sampleSize = defaults.sampleSize;
this.successfulSamplesRequired = defaults.successfulSamplesRequired;
}
@CustomType.Setter
public Builder additionalLatencyMilliseconds(@Nullable Integer additionalLatencyMilliseconds) {
this.additionalLatencyMilliseconds = additionalLatencyMilliseconds;
return this;
}
@CustomType.Setter
public Builder id(@Nullable String id) {
this.id = id;
return this;
}
@CustomType.Setter
public Builder name(String name) {
if (name == null) {
throw new MissingRequiredPropertyException("FrontdoorBackendPoolLoadBalancing", "name");
}
this.name = name;
return this;
}
@CustomType.Setter
public Builder sampleSize(@Nullable Integer sampleSize) {
this.sampleSize = sampleSize;
return this;
}
@CustomType.Setter
public Builder successfulSamplesRequired(@Nullable Integer successfulSamplesRequired) {
this.successfulSamplesRequired = successfulSamplesRequired;
return this;
}
public FrontdoorBackendPoolLoadBalancing build() {
final var _resultValue = new FrontdoorBackendPoolLoadBalancing();
_resultValue.additionalLatencyMilliseconds = additionalLatencyMilliseconds;
_resultValue.id = id;
_resultValue.name = name;
_resultValue.sampleSize = sampleSize;
_resultValue.successfulSamplesRequired = successfulSamplesRequired;
return _resultValue;
}
}
}