sdk/java/src/main/java/com/pulumi/ovh/CloudProject/outputs/KubePrivateNetworkConfiguration.java
// *** 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.ovh.CloudProject.outputs;

import com.pulumi.core.annotations.CustomType;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;

@CustomType
public final class KubePrivateNetworkConfiguration {
    /**
     * @return If defined, all egress traffic will be routed towards this IP address, which should belong to the private network. Empty string means disabled.
     * 
     */
    private String defaultVrackGateway;
    /**
     * @return Defines whether routing should default to using the nodes&#39; private interface, instead of their public interface. Default is false.
     * 
     */
    private Boolean privateNetworkRoutingAsDefault;

    private KubePrivateNetworkConfiguration() {}
    /**
     * @return If defined, all egress traffic will be routed towards this IP address, which should belong to the private network. Empty string means disabled.
     * 
     */
    public String defaultVrackGateway() {
        return this.defaultVrackGateway;
    }
    /**
     * @return Defines whether routing should default to using the nodes&#39; private interface, instead of their public interface. Default is false.
     * 
     */
    public Boolean privateNetworkRoutingAsDefault() {
        return this.privateNetworkRoutingAsDefault;
    }

    public static Builder builder() {
        return new Builder();
    }

    public static Builder builder(KubePrivateNetworkConfiguration defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private String defaultVrackGateway;
        private Boolean privateNetworkRoutingAsDefault;
        public Builder() {}
        public Builder(KubePrivateNetworkConfiguration defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.defaultVrackGateway = defaults.defaultVrackGateway;
    	      this.privateNetworkRoutingAsDefault = defaults.privateNetworkRoutingAsDefault;
        }

        @CustomType.Setter
        public Builder defaultVrackGateway(String defaultVrackGateway) {
            this.defaultVrackGateway = Objects.requireNonNull(defaultVrackGateway);
            return this;
        }
        @CustomType.Setter
        public Builder privateNetworkRoutingAsDefault(Boolean privateNetworkRoutingAsDefault) {
            this.privateNetworkRoutingAsDefault = Objects.requireNonNull(privateNetworkRoutingAsDefault);
            return this;
        }
        public KubePrivateNetworkConfiguration build() {
            final var o = new KubePrivateNetworkConfiguration();
            o.defaultVrackGateway = defaultVrackGateway;
            o.privateNetworkRoutingAsDefault = privateNetworkRoutingAsDefault;
            return o;
        }
    }
}
