com.pulumi.azure.containerservice.outputs.GetKubernetesClusterAgentPoolProfileUpgradeSetting 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.containerservice.outputs;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
@CustomType
public final class GetKubernetesClusterAgentPoolProfileUpgradeSetting {
/**
* @return The amount of time in minutes to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails.
*
*/
private Integer drainTimeoutInMinutes;
/**
* @return The maximum number or percentage of nodes that will be added to the Node Pool size during an upgrade.
*
*/
private String maxSurge;
/**
* @return The amount of time in minutes to wait after draining a node and before reimaging it and moving on to next node.
*
*/
private Integer nodeSoakDurationInMinutes;
private GetKubernetesClusterAgentPoolProfileUpgradeSetting() {}
/**
* @return The amount of time in minutes to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails.
*
*/
public Integer drainTimeoutInMinutes() {
return this.drainTimeoutInMinutes;
}
/**
* @return The maximum number or percentage of nodes that will be added to the Node Pool size during an upgrade.
*
*/
public String maxSurge() {
return this.maxSurge;
}
/**
* @return The amount of time in minutes to wait after draining a node and before reimaging it and moving on to next node.
*
*/
public Integer nodeSoakDurationInMinutes() {
return this.nodeSoakDurationInMinutes;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(GetKubernetesClusterAgentPoolProfileUpgradeSetting defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private Integer drainTimeoutInMinutes;
private String maxSurge;
private Integer nodeSoakDurationInMinutes;
public Builder() {}
public Builder(GetKubernetesClusterAgentPoolProfileUpgradeSetting defaults) {
Objects.requireNonNull(defaults);
this.drainTimeoutInMinutes = defaults.drainTimeoutInMinutes;
this.maxSurge = defaults.maxSurge;
this.nodeSoakDurationInMinutes = defaults.nodeSoakDurationInMinutes;
}
@CustomType.Setter
public Builder drainTimeoutInMinutes(Integer drainTimeoutInMinutes) {
if (drainTimeoutInMinutes == null) {
throw new MissingRequiredPropertyException("GetKubernetesClusterAgentPoolProfileUpgradeSetting", "drainTimeoutInMinutes");
}
this.drainTimeoutInMinutes = drainTimeoutInMinutes;
return this;
}
@CustomType.Setter
public Builder maxSurge(String maxSurge) {
if (maxSurge == null) {
throw new MissingRequiredPropertyException("GetKubernetesClusterAgentPoolProfileUpgradeSetting", "maxSurge");
}
this.maxSurge = maxSurge;
return this;
}
@CustomType.Setter
public Builder nodeSoakDurationInMinutes(Integer nodeSoakDurationInMinutes) {
if (nodeSoakDurationInMinutes == null) {
throw new MissingRequiredPropertyException("GetKubernetesClusterAgentPoolProfileUpgradeSetting", "nodeSoakDurationInMinutes");
}
this.nodeSoakDurationInMinutes = nodeSoakDurationInMinutes;
return this;
}
public GetKubernetesClusterAgentPoolProfileUpgradeSetting build() {
final var _resultValue = new GetKubernetesClusterAgentPoolProfileUpgradeSetting();
_resultValue.drainTimeoutInMinutes = drainTimeoutInMinutes;
_resultValue.maxSurge = maxSurge;
_resultValue.nodeSoakDurationInMinutes = nodeSoakDurationInMinutes;
return _resultValue;
}
}
}