All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.ovhcloud.pulumi.ovh.CloudProject.inputs.GetKubeArgs Maven / Gradle / Ivy

There is a newer version: 1.1.0
Show newest version
// *** 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.ovhcloud.pulumi.ovh.CloudProject.inputs;

import com.ovhcloud.pulumi.ovh.CloudProject.inputs.GetKubeCustomizationApiserverArgs;
import com.ovhcloud.pulumi.ovh.CloudProject.inputs.GetKubeCustomizationArgs;
import com.ovhcloud.pulumi.ovh.CloudProject.inputs.GetKubeCustomizationKubeProxyArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class GetKubeArgs extends com.pulumi.resources.InvokeArgs {

    public static final GetKubeArgs Empty = new GetKubeArgs();

    /**
     * Kubernetes API server customization
     * 
     */
    @Import(name="customizationApiservers")
    private @Nullable Output> customizationApiservers;

    /**
     * @return Kubernetes API server customization
     * 
     */
    public Optional>> customizationApiservers() {
        return Optional.ofNullable(this.customizationApiservers);
    }

    /**
     * Kubernetes kube-proxy customization
     * 
     */
    @Import(name="customizationKubeProxy")
    private @Nullable Output customizationKubeProxy;

    /**
     * @return Kubernetes kube-proxy customization
     * 
     */
    public Optional> customizationKubeProxy() {
        return Optional.ofNullable(this.customizationKubeProxy);
    }

    /**
     * **Deprecated** (Optional) Use `customization_apiserver` and `customization_kube_proxy` instead. Kubernetes cluster customization
     * 
     * @deprecated
     * Use customization_apiserver instead
     * 
     */
    @Deprecated /* Use customization_apiserver instead */
    @Import(name="customizations")
    private @Nullable Output> customizations;

    /**
     * @return **Deprecated** (Optional) Use `customization_apiserver` and `customization_kube_proxy` instead. Kubernetes cluster customization
     * 
     * @deprecated
     * Use customization_apiserver instead
     * 
     */
    @Deprecated /* Use customization_apiserver instead */
    public Optional>> customizations() {
        return Optional.ofNullable(this.customizations);
    }

    /**
     * The id of the managed kubernetes cluster.
     * 
     */
    @Import(name="kubeId", required=true)
    private Output kubeId;

    /**
     * @return The id of the managed kubernetes cluster.
     * 
     */
    public Output kubeId() {
        return this.kubeId;
    }

    /**
     * Selected mode for kube-proxy.
     * 
     */
    @Import(name="kubeProxyMode")
    private @Nullable Output kubeProxyMode;

    /**
     * @return Selected mode for kube-proxy.
     * 
     */
    public Optional> kubeProxyMode() {
        return Optional.ofNullable(this.kubeProxyMode);
    }

    /**
     * The name of the managed kubernetes cluster.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The name of the managed kubernetes cluster.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * The OVHcloud public cloud region ID of the managed kubernetes cluster.
     * 
     */
    @Import(name="region")
    private @Nullable Output region;

    /**
     * @return The OVHcloud public cloud region ID of the managed kubernetes cluster.
     * 
     */
    public Optional> region() {
        return Optional.ofNullable(this.region);
    }

    /**
     * The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used.
     * 
     */
    @Import(name="serviceName", required=true)
    private Output serviceName;

    /**
     * @return The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used.
     * 
     */
    public Output serviceName() {
        return this.serviceName;
    }

    /**
     * Cluster update policy. Choose between [ALWAYS_UPDATE,MINIMAL_DOWNTIME,NEVER_UPDATE]'.
     * 
     */
    @Import(name="updatePolicy")
    private @Nullable Output updatePolicy;

    /**
     * @return Cluster update policy. Choose between [ALWAYS_UPDATE,MINIMAL_DOWNTIME,NEVER_UPDATE]'.
     * 
     */
    public Optional> updatePolicy() {
        return Optional.ofNullable(this.updatePolicy);
    }

    /**
     * Kubernetes version of the managed kubernetes cluster.
     * 
     */
    @Import(name="version")
    private @Nullable Output version;

    /**
     * @return Kubernetes version of the managed kubernetes cluster.
     * 
     */
    public Optional> version() {
        return Optional.ofNullable(this.version);
    }

    private GetKubeArgs() {}

    private GetKubeArgs(GetKubeArgs $) {
        this.customizationApiservers = $.customizationApiservers;
        this.customizationKubeProxy = $.customizationKubeProxy;
        this.customizations = $.customizations;
        this.kubeId = $.kubeId;
        this.kubeProxyMode = $.kubeProxyMode;
        this.name = $.name;
        this.region = $.region;
        this.serviceName = $.serviceName;
        this.updatePolicy = $.updatePolicy;
        this.version = $.version;
    }

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

    public static final class Builder {
        private GetKubeArgs $;

        public Builder() {
            $ = new GetKubeArgs();
        }

        public Builder(GetKubeArgs defaults) {
            $ = new GetKubeArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param customizationApiservers Kubernetes API server customization
         * 
         * @return builder
         * 
         */
        public Builder customizationApiservers(@Nullable Output> customizationApiservers) {
            $.customizationApiservers = customizationApiservers;
            return this;
        }

        /**
         * @param customizationApiservers Kubernetes API server customization
         * 
         * @return builder
         * 
         */
        public Builder customizationApiservers(List customizationApiservers) {
            return customizationApiservers(Output.of(customizationApiservers));
        }

        /**
         * @param customizationApiservers Kubernetes API server customization
         * 
         * @return builder
         * 
         */
        public Builder customizationApiservers(GetKubeCustomizationApiserverArgs... customizationApiservers) {
            return customizationApiservers(List.of(customizationApiservers));
        }

        /**
         * @param customizationKubeProxy Kubernetes kube-proxy customization
         * 
         * @return builder
         * 
         */
        public Builder customizationKubeProxy(@Nullable Output customizationKubeProxy) {
            $.customizationKubeProxy = customizationKubeProxy;
            return this;
        }

        /**
         * @param customizationKubeProxy Kubernetes kube-proxy customization
         * 
         * @return builder
         * 
         */
        public Builder customizationKubeProxy(GetKubeCustomizationKubeProxyArgs customizationKubeProxy) {
            return customizationKubeProxy(Output.of(customizationKubeProxy));
        }

        /**
         * @param customizations **Deprecated** (Optional) Use `customization_apiserver` and `customization_kube_proxy` instead. Kubernetes cluster customization
         * 
         * @return builder
         * 
         * @deprecated
         * Use customization_apiserver instead
         * 
         */
        @Deprecated /* Use customization_apiserver instead */
        public Builder customizations(@Nullable Output> customizations) {
            $.customizations = customizations;
            return this;
        }

        /**
         * @param customizations **Deprecated** (Optional) Use `customization_apiserver` and `customization_kube_proxy` instead. Kubernetes cluster customization
         * 
         * @return builder
         * 
         * @deprecated
         * Use customization_apiserver instead
         * 
         */
        @Deprecated /* Use customization_apiserver instead */
        public Builder customizations(List customizations) {
            return customizations(Output.of(customizations));
        }

        /**
         * @param customizations **Deprecated** (Optional) Use `customization_apiserver` and `customization_kube_proxy` instead. Kubernetes cluster customization
         * 
         * @return builder
         * 
         * @deprecated
         * Use customization_apiserver instead
         * 
         */
        @Deprecated /* Use customization_apiserver instead */
        public Builder customizations(GetKubeCustomizationArgs... customizations) {
            return customizations(List.of(customizations));
        }

        /**
         * @param kubeId The id of the managed kubernetes cluster.
         * 
         * @return builder
         * 
         */
        public Builder kubeId(Output kubeId) {
            $.kubeId = kubeId;
            return this;
        }

        /**
         * @param kubeId The id of the managed kubernetes cluster.
         * 
         * @return builder
         * 
         */
        public Builder kubeId(String kubeId) {
            return kubeId(Output.of(kubeId));
        }

        /**
         * @param kubeProxyMode Selected mode for kube-proxy.
         * 
         * @return builder
         * 
         */
        public Builder kubeProxyMode(@Nullable Output kubeProxyMode) {
            $.kubeProxyMode = kubeProxyMode;
            return this;
        }

        /**
         * @param kubeProxyMode Selected mode for kube-proxy.
         * 
         * @return builder
         * 
         */
        public Builder kubeProxyMode(String kubeProxyMode) {
            return kubeProxyMode(Output.of(kubeProxyMode));
        }

        /**
         * @param name The name of the managed kubernetes cluster.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name The name of the managed kubernetes cluster.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param region The OVHcloud public cloud region ID of the managed kubernetes cluster.
         * 
         * @return builder
         * 
         */
        public Builder region(@Nullable Output region) {
            $.region = region;
            return this;
        }

        /**
         * @param region The OVHcloud public cloud region ID of the managed kubernetes cluster.
         * 
         * @return builder
         * 
         */
        public Builder region(String region) {
            return region(Output.of(region));
        }

        /**
         * @param serviceName The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used.
         * 
         * @return builder
         * 
         */
        public Builder serviceName(Output serviceName) {
            $.serviceName = serviceName;
            return this;
        }

        /**
         * @param serviceName The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used.
         * 
         * @return builder
         * 
         */
        public Builder serviceName(String serviceName) {
            return serviceName(Output.of(serviceName));
        }

        /**
         * @param updatePolicy Cluster update policy. Choose between [ALWAYS_UPDATE,MINIMAL_DOWNTIME,NEVER_UPDATE]'.
         * 
         * @return builder
         * 
         */
        public Builder updatePolicy(@Nullable Output updatePolicy) {
            $.updatePolicy = updatePolicy;
            return this;
        }

        /**
         * @param updatePolicy Cluster update policy. Choose between [ALWAYS_UPDATE,MINIMAL_DOWNTIME,NEVER_UPDATE]'.
         * 
         * @return builder
         * 
         */
        public Builder updatePolicy(String updatePolicy) {
            return updatePolicy(Output.of(updatePolicy));
        }

        /**
         * @param version Kubernetes version of the managed kubernetes cluster.
         * 
         * @return builder
         * 
         */
        public Builder version(@Nullable Output version) {
            $.version = version;
            return this;
        }

        /**
         * @param version Kubernetes version of the managed kubernetes cluster.
         * 
         * @return builder
         * 
         */
        public Builder version(String version) {
            return version(Output.of(version));
        }

        public GetKubeArgs build() {
            if ($.kubeId == null) {
                throw new MissingRequiredPropertyException("GetKubeArgs", "kubeId");
            }
            if ($.serviceName == null) {
                throw new MissingRequiredPropertyException("GetKubeArgs", "serviceName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy