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

com.pulumi.alicloud.cs.KubernetesAddonArgs Maven / Gradle / Ivy

There is a newer version: 3.63.0-alpha.1727424957
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.pulumi.alicloud.cs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class KubernetesAddonArgs extends com.pulumi.resources.ResourceArgs {

    public static final KubernetesAddonArgs Empty = new KubernetesAddonArgs();

    /**
     * Whether to clean up cloud resources when deleting. Currently only works for addon `ack-virtual-node` and you must specify it when uninstall addon `ack-virtual-node`. Valid values: `true`: clean up, `false`: do not clean up.
     * 
     */
    @Import(name="cleanupCloudResources")
    private @Nullable Output cleanupCloudResources;

    /**
     * @return Whether to clean up cloud resources when deleting. Currently only works for addon `ack-virtual-node` and you must specify it when uninstall addon `ack-virtual-node`. Valid values: `true`: clean up, `false`: do not clean up.
     * 
     */
    public Optional> cleanupCloudResources() {
        return Optional.ofNullable(this.cleanupCloudResources);
    }

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

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

    /**
     * The customized configuration of addon. Your customized configuration will be merged to existed configuration stored in server. If you want to clean one configuration, you must set the configuration to empty value, removing from code cannot make effect. You can checkout the customized configuration of the addon through datasource `alicloud.cs.getKubernetesAddonMetadata`, the returned format is the standard json schema. If return empty, it means that the addon does not support custom configuration yet. You can also checkout the current custom configuration through the data source `alicloud.cs.getKubernetesAddons`.
     * 
     */
    @Import(name="config")
    private @Nullable Output config;

    /**
     * @return The customized configuration of addon. Your customized configuration will be merged to existed configuration stored in server. If you want to clean one configuration, you must set the configuration to empty value, removing from code cannot make effect. You can checkout the customized configuration of the addon through datasource `alicloud.cs.getKubernetesAddonMetadata`, the returned format is the standard json schema. If return empty, it means that the addon does not support custom configuration yet. You can also checkout the current custom configuration through the data source `alicloud.cs.getKubernetesAddons`.
     * 
     */
    public Optional> config() {
        return Optional.ofNullable(this.config);
    }

    /**
     * The name of addon.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The name of addon.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * The current version of addon.
     * 
     */
    @Import(name="version")
    private @Nullable Output version;

    /**
     * @return The current version of addon.
     * 
     */
    public Optional> version() {
        return Optional.ofNullable(this.version);
    }

    private KubernetesAddonArgs() {}

    private KubernetesAddonArgs(KubernetesAddonArgs $) {
        this.cleanupCloudResources = $.cleanupCloudResources;
        this.clusterId = $.clusterId;
        this.config = $.config;
        this.name = $.name;
        this.version = $.version;
    }

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

    public static final class Builder {
        private KubernetesAddonArgs $;

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

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

        /**
         * @param cleanupCloudResources Whether to clean up cloud resources when deleting. Currently only works for addon `ack-virtual-node` and you must specify it when uninstall addon `ack-virtual-node`. Valid values: `true`: clean up, `false`: do not clean up.
         * 
         * @return builder
         * 
         */
        public Builder cleanupCloudResources(@Nullable Output cleanupCloudResources) {
            $.cleanupCloudResources = cleanupCloudResources;
            return this;
        }

        /**
         * @param cleanupCloudResources Whether to clean up cloud resources when deleting. Currently only works for addon `ack-virtual-node` and you must specify it when uninstall addon `ack-virtual-node`. Valid values: `true`: clean up, `false`: do not clean up.
         * 
         * @return builder
         * 
         */
        public Builder cleanupCloudResources(Boolean cleanupCloudResources) {
            return cleanupCloudResources(Output.of(cleanupCloudResources));
        }

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

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

        /**
         * @param config The customized configuration of addon. Your customized configuration will be merged to existed configuration stored in server. If you want to clean one configuration, you must set the configuration to empty value, removing from code cannot make effect. You can checkout the customized configuration of the addon through datasource `alicloud.cs.getKubernetesAddonMetadata`, the returned format is the standard json schema. If return empty, it means that the addon does not support custom configuration yet. You can also checkout the current custom configuration through the data source `alicloud.cs.getKubernetesAddons`.
         * 
         * @return builder
         * 
         */
        public Builder config(@Nullable Output config) {
            $.config = config;
            return this;
        }

        /**
         * @param config The customized configuration of addon. Your customized configuration will be merged to existed configuration stored in server. If you want to clean one configuration, you must set the configuration to empty value, removing from code cannot make effect. You can checkout the customized configuration of the addon through datasource `alicloud.cs.getKubernetesAddonMetadata`, the returned format is the standard json schema. If return empty, it means that the addon does not support custom configuration yet. You can also checkout the current custom configuration through the data source `alicloud.cs.getKubernetesAddons`.
         * 
         * @return builder
         * 
         */
        public Builder config(String config) {
            return config(Output.of(config));
        }

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

        /**
         * @param name The name of addon.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param version The current version of addon.
         * 
         * @return builder
         * 
         */
        public Builder version(@Nullable Output version) {
            $.version = version;
            return this;
        }

        /**
         * @param version The current version of addon.
         * 
         * @return builder
         * 
         */
        public Builder version(String version) {
            return version(Output.of(version));
        }

        public KubernetesAddonArgs build() {
            if ($.clusterId == null) {
                throw new MissingRequiredPropertyException("KubernetesAddonArgs", "clusterId");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy