Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azurenative.network.inputs.ProbeArgs Maven / Gradle / Ivy
Go to download
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.network.inputs;
import com.pulumi.azurenative.network.enums.ProbeProtocol;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
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;
/**
* A load balancer probe.
*
*/
public final class ProbeArgs extends com.pulumi.resources.ResourceArgs {
public static final ProbeArgs Empty = new ProbeArgs();
/**
* Resource ID.
*
*/
@Import(name="id")
private @Nullable Output id;
/**
* @return Resource ID.
*
*/
public Optional> id() {
return Optional.ofNullable(this.id);
}
/**
* The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking the instance out of rotation. The default value is 15, the minimum value is 5.
*
*/
@Import(name="intervalInSeconds")
private @Nullable Output intervalInSeconds;
/**
* @return The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking the instance out of rotation. The default value is 15, the minimum value is 5.
*
*/
public Optional> intervalInSeconds() {
return Optional.ofNullable(this.intervalInSeconds);
}
/**
* The name of the resource that is unique within the set of probes used by the load balancer. This name can be used to access the resource.
*
*/
@Import(name="name")
private @Nullable Output name;
/**
* @return The name of the resource that is unique within the set of probes used by the load balancer. This name can be used to access the resource.
*
*/
public Optional> name() {
return Optional.ofNullable(this.name);
}
/**
* The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used in Azure.
*
*/
@Import(name="numberOfProbes")
private @Nullable Output numberOfProbes;
/**
* @return The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used in Azure.
*
*/
public Optional> numberOfProbes() {
return Optional.ofNullable(this.numberOfProbes);
}
/**
* The port for communicating the probe. Possible values range from 1 to 65535, inclusive.
*
*/
@Import(name="port", required=true)
private Output port;
/**
* @return The port for communicating the probe. Possible values range from 1 to 65535, inclusive.
*
*/
public Output port() {
return this.port;
}
/**
* The number of consecutive successful or failed probes in order to allow or deny traffic from being delivered to this endpoint. After failing the number of consecutive probes equal to this value, the endpoint will be taken out of rotation and require the same number of successful consecutive probes to be placed back in rotation.
*
*/
@Import(name="probeThreshold")
private @Nullable Output probeThreshold;
/**
* @return The number of consecutive successful or failed probes in order to allow or deny traffic from being delivered to this endpoint. After failing the number of consecutive probes equal to this value, the endpoint will be taken out of rotation and require the same number of successful consecutive probes to be placed back in rotation.
*
*/
public Optional> probeThreshold() {
return Optional.ofNullable(this.probeThreshold);
}
/**
* The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be successful.
*
*/
@Import(name="protocol", required=true)
private Output> protocol;
/**
* @return The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be successful.
*
*/
public Output> protocol() {
return this.protocol;
}
/**
* The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed. There is no default value.
*
*/
@Import(name="requestPath")
private @Nullable Output requestPath;
/**
* @return The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed. There is no default value.
*
*/
public Optional> requestPath() {
return Optional.ofNullable(this.requestPath);
}
private ProbeArgs() {}
private ProbeArgs(ProbeArgs $) {
this.id = $.id;
this.intervalInSeconds = $.intervalInSeconds;
this.name = $.name;
this.numberOfProbes = $.numberOfProbes;
this.port = $.port;
this.probeThreshold = $.probeThreshold;
this.protocol = $.protocol;
this.requestPath = $.requestPath;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(ProbeArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private ProbeArgs $;
public Builder() {
$ = new ProbeArgs();
}
public Builder(ProbeArgs defaults) {
$ = new ProbeArgs(Objects.requireNonNull(defaults));
}
/**
* @param id Resource ID.
*
* @return builder
*
*/
public Builder id(@Nullable Output id) {
$.id = id;
return this;
}
/**
* @param id Resource ID.
*
* @return builder
*
*/
public Builder id(String id) {
return id(Output.of(id));
}
/**
* @param intervalInSeconds The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking the instance out of rotation. The default value is 15, the minimum value is 5.
*
* @return builder
*
*/
public Builder intervalInSeconds(@Nullable Output intervalInSeconds) {
$.intervalInSeconds = intervalInSeconds;
return this;
}
/**
* @param intervalInSeconds The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking the instance out of rotation. The default value is 15, the minimum value is 5.
*
* @return builder
*
*/
public Builder intervalInSeconds(Integer intervalInSeconds) {
return intervalInSeconds(Output.of(intervalInSeconds));
}
/**
* @param name The name of the resource that is unique within the set of probes used by the load balancer. This name can be used to access the resource.
*
* @return builder
*
*/
public Builder name(@Nullable Output name) {
$.name = name;
return this;
}
/**
* @param name The name of the resource that is unique within the set of probes used by the load balancer. This name can be used to access the resource.
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param numberOfProbes The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used in Azure.
*
* @return builder
*
*/
public Builder numberOfProbes(@Nullable Output numberOfProbes) {
$.numberOfProbes = numberOfProbes;
return this;
}
/**
* @param numberOfProbes The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used in Azure.
*
* @return builder
*
*/
public Builder numberOfProbes(Integer numberOfProbes) {
return numberOfProbes(Output.of(numberOfProbes));
}
/**
* @param port The port for communicating the probe. Possible values range from 1 to 65535, inclusive.
*
* @return builder
*
*/
public Builder port(Output port) {
$.port = port;
return this;
}
/**
* @param port The port for communicating the probe. Possible values range from 1 to 65535, inclusive.
*
* @return builder
*
*/
public Builder port(Integer port) {
return port(Output.of(port));
}
/**
* @param probeThreshold The number of consecutive successful or failed probes in order to allow or deny traffic from being delivered to this endpoint. After failing the number of consecutive probes equal to this value, the endpoint will be taken out of rotation and require the same number of successful consecutive probes to be placed back in rotation.
*
* @return builder
*
*/
public Builder probeThreshold(@Nullable Output probeThreshold) {
$.probeThreshold = probeThreshold;
return this;
}
/**
* @param probeThreshold The number of consecutive successful or failed probes in order to allow or deny traffic from being delivered to this endpoint. After failing the number of consecutive probes equal to this value, the endpoint will be taken out of rotation and require the same number of successful consecutive probes to be placed back in rotation.
*
* @return builder
*
*/
public Builder probeThreshold(Integer probeThreshold) {
return probeThreshold(Output.of(probeThreshold));
}
/**
* @param protocol The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be successful.
*
* @return builder
*
*/
public Builder protocol(Output> protocol) {
$.protocol = protocol;
return this;
}
/**
* @param protocol The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be successful.
*
* @return builder
*
*/
public Builder protocol(Either protocol) {
return protocol(Output.of(protocol));
}
/**
* @param protocol The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be successful.
*
* @return builder
*
*/
public Builder protocol(String protocol) {
return protocol(Either.ofLeft(protocol));
}
/**
* @param protocol The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be successful.
*
* @return builder
*
*/
public Builder protocol(ProbeProtocol protocol) {
return protocol(Either.ofRight(protocol));
}
/**
* @param requestPath The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed. There is no default value.
*
* @return builder
*
*/
public Builder requestPath(@Nullable Output requestPath) {
$.requestPath = requestPath;
return this;
}
/**
* @param requestPath The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed. There is no default value.
*
* @return builder
*
*/
public Builder requestPath(String requestPath) {
return requestPath(Output.of(requestPath));
}
public ProbeArgs build() {
if ($.port == null) {
throw new MissingRequiredPropertyException("ProbeArgs", "port");
}
if ($.protocol == null) {
throw new MissingRequiredPropertyException("ProbeArgs", "protocol");
}
return $;
}
}
}