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

com.pulumi.azurenative.networkcloud.KubernetesClusterArgs Maven / Gradle / Ivy

There is a newer version: 2.82.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.pulumi.azurenative.networkcloud;

import com.pulumi.azurenative.networkcloud.inputs.AadConfigurationArgs;
import com.pulumi.azurenative.networkcloud.inputs.AdministratorConfigurationArgs;
import com.pulumi.azurenative.networkcloud.inputs.ControlPlaneNodeConfigurationArgs;
import com.pulumi.azurenative.networkcloud.inputs.ExtendedLocationArgs;
import com.pulumi.azurenative.networkcloud.inputs.InitialAgentPoolConfigurationArgs;
import com.pulumi.azurenative.networkcloud.inputs.ManagedResourceGroupConfigurationArgs;
import com.pulumi.azurenative.networkcloud.inputs.NetworkConfigurationArgs;
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.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final KubernetesClusterArgs Empty = new KubernetesClusterArgs();

    /**
     * The Azure Active Directory Integration properties.
     * 
     */
    @Import(name="aadConfiguration")
    private @Nullable Output aadConfiguration;

    /**
     * @return The Azure Active Directory Integration properties.
     * 
     */
    public Optional> aadConfiguration() {
        return Optional.ofNullable(this.aadConfiguration);
    }

    /**
     * The administrative credentials that will be applied to the control plane and agent pool nodes that do not specify their own values.
     * 
     */
    @Import(name="administratorConfiguration")
    private @Nullable Output administratorConfiguration;

    /**
     * @return The administrative credentials that will be applied to the control plane and agent pool nodes that do not specify their own values.
     * 
     */
    public Optional> administratorConfiguration() {
        return Optional.ofNullable(this.administratorConfiguration);
    }

    /**
     * The defining characteristics of the control plane for this Kubernetes Cluster.
     * 
     */
    @Import(name="controlPlaneNodeConfiguration", required=true)
    private Output controlPlaneNodeConfiguration;

    /**
     * @return The defining characteristics of the control plane for this Kubernetes Cluster.
     * 
     */
    public Output controlPlaneNodeConfiguration() {
        return this.controlPlaneNodeConfiguration;
    }

    /**
     * The extended location of the cluster associated with the resource.
     * 
     */
    @Import(name="extendedLocation", required=true)
    private Output extendedLocation;

    /**
     * @return The extended location of the cluster associated with the resource.
     * 
     */
    public Output extendedLocation() {
        return this.extendedLocation;
    }

    /**
     * The agent pools that are created with this Kubernetes cluster for running critical system services and workloads. This data in this field is only used during creation, and the field will be empty following the creation of the Kubernetes Cluster. After creation, the management of agent pools is done using the agentPools sub-resource.
     * 
     */
    @Import(name="initialAgentPoolConfigurations", required=true)
    private Output> initialAgentPoolConfigurations;

    /**
     * @return The agent pools that are created with this Kubernetes cluster for running critical system services and workloads. This data in this field is only used during creation, and the field will be empty following the creation of the Kubernetes Cluster. After creation, the management of agent pools is done using the agentPools sub-resource.
     * 
     */
    public Output> initialAgentPoolConfigurations() {
        return this.initialAgentPoolConfigurations;
    }

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

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

    /**
     * The Kubernetes version for this cluster. Accepts n.n, n.n.n, and n.n.n-n format. The interpreted version used will be resolved into this field after creation or update.
     * 
     */
    @Import(name="kubernetesVersion", required=true)
    private Output kubernetesVersion;

    /**
     * @return The Kubernetes version for this cluster. Accepts n.n, n.n.n, and n.n.n-n format. The interpreted version used will be resolved into this field after creation or update.
     * 
     */
    public Output kubernetesVersion() {
        return this.kubernetesVersion;
    }

    /**
     * The geo-location where the resource lives
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return The geo-location where the resource lives
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * The configuration of the managed resource group associated with the resource.
     * 
     */
    @Import(name="managedResourceGroupConfiguration")
    private @Nullable Output managedResourceGroupConfiguration;

    /**
     * @return The configuration of the managed resource group associated with the resource.
     * 
     */
    public Optional> managedResourceGroupConfiguration() {
        return Optional.ofNullable(this.managedResourceGroupConfiguration);
    }

    /**
     * The configuration of the Kubernetes cluster networking, including the attachment of networks that span the cluster.
     * 
     */
    @Import(name="networkConfiguration", required=true)
    private Output networkConfiguration;

    /**
     * @return The configuration of the Kubernetes cluster networking, including the attachment of networks that span the cluster.
     * 
     */
    public Output networkConfiguration() {
        return this.networkConfiguration;
    }

    /**
     * The name of the resource group. The name is case insensitive.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group. The name is case insensitive.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * Resource tags.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Resource tags.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    private KubernetesClusterArgs() {}

    private KubernetesClusterArgs(KubernetesClusterArgs $) {
        this.aadConfiguration = $.aadConfiguration;
        this.administratorConfiguration = $.administratorConfiguration;
        this.controlPlaneNodeConfiguration = $.controlPlaneNodeConfiguration;
        this.extendedLocation = $.extendedLocation;
        this.initialAgentPoolConfigurations = $.initialAgentPoolConfigurations;
        this.kubernetesClusterName = $.kubernetesClusterName;
        this.kubernetesVersion = $.kubernetesVersion;
        this.location = $.location;
        this.managedResourceGroupConfiguration = $.managedResourceGroupConfiguration;
        this.networkConfiguration = $.networkConfiguration;
        this.resourceGroupName = $.resourceGroupName;
        this.tags = $.tags;
    }

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

    public static final class Builder {
        private KubernetesClusterArgs $;

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

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

        /**
         * @param aadConfiguration The Azure Active Directory Integration properties.
         * 
         * @return builder
         * 
         */
        public Builder aadConfiguration(@Nullable Output aadConfiguration) {
            $.aadConfiguration = aadConfiguration;
            return this;
        }

        /**
         * @param aadConfiguration The Azure Active Directory Integration properties.
         * 
         * @return builder
         * 
         */
        public Builder aadConfiguration(AadConfigurationArgs aadConfiguration) {
            return aadConfiguration(Output.of(aadConfiguration));
        }

        /**
         * @param administratorConfiguration The administrative credentials that will be applied to the control plane and agent pool nodes that do not specify their own values.
         * 
         * @return builder
         * 
         */
        public Builder administratorConfiguration(@Nullable Output administratorConfiguration) {
            $.administratorConfiguration = administratorConfiguration;
            return this;
        }

        /**
         * @param administratorConfiguration The administrative credentials that will be applied to the control plane and agent pool nodes that do not specify their own values.
         * 
         * @return builder
         * 
         */
        public Builder administratorConfiguration(AdministratorConfigurationArgs administratorConfiguration) {
            return administratorConfiguration(Output.of(administratorConfiguration));
        }

        /**
         * @param controlPlaneNodeConfiguration The defining characteristics of the control plane for this Kubernetes Cluster.
         * 
         * @return builder
         * 
         */
        public Builder controlPlaneNodeConfiguration(Output controlPlaneNodeConfiguration) {
            $.controlPlaneNodeConfiguration = controlPlaneNodeConfiguration;
            return this;
        }

        /**
         * @param controlPlaneNodeConfiguration The defining characteristics of the control plane for this Kubernetes Cluster.
         * 
         * @return builder
         * 
         */
        public Builder controlPlaneNodeConfiguration(ControlPlaneNodeConfigurationArgs controlPlaneNodeConfiguration) {
            return controlPlaneNodeConfiguration(Output.of(controlPlaneNodeConfiguration));
        }

        /**
         * @param extendedLocation The extended location of the cluster associated with the resource.
         * 
         * @return builder
         * 
         */
        public Builder extendedLocation(Output extendedLocation) {
            $.extendedLocation = extendedLocation;
            return this;
        }

        /**
         * @param extendedLocation The extended location of the cluster associated with the resource.
         * 
         * @return builder
         * 
         */
        public Builder extendedLocation(ExtendedLocationArgs extendedLocation) {
            return extendedLocation(Output.of(extendedLocation));
        }

        /**
         * @param initialAgentPoolConfigurations The agent pools that are created with this Kubernetes cluster for running critical system services and workloads. This data in this field is only used during creation, and the field will be empty following the creation of the Kubernetes Cluster. After creation, the management of agent pools is done using the agentPools sub-resource.
         * 
         * @return builder
         * 
         */
        public Builder initialAgentPoolConfigurations(Output> initialAgentPoolConfigurations) {
            $.initialAgentPoolConfigurations = initialAgentPoolConfigurations;
            return this;
        }

        /**
         * @param initialAgentPoolConfigurations The agent pools that are created with this Kubernetes cluster for running critical system services and workloads. This data in this field is only used during creation, and the field will be empty following the creation of the Kubernetes Cluster. After creation, the management of agent pools is done using the agentPools sub-resource.
         * 
         * @return builder
         * 
         */
        public Builder initialAgentPoolConfigurations(List initialAgentPoolConfigurations) {
            return initialAgentPoolConfigurations(Output.of(initialAgentPoolConfigurations));
        }

        /**
         * @param initialAgentPoolConfigurations The agent pools that are created with this Kubernetes cluster for running critical system services and workloads. This data in this field is only used during creation, and the field will be empty following the creation of the Kubernetes Cluster. After creation, the management of agent pools is done using the agentPools sub-resource.
         * 
         * @return builder
         * 
         */
        public Builder initialAgentPoolConfigurations(InitialAgentPoolConfigurationArgs... initialAgentPoolConfigurations) {
            return initialAgentPoolConfigurations(List.of(initialAgentPoolConfigurations));
        }

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

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

        /**
         * @param kubernetesVersion The Kubernetes version for this cluster. Accepts n.n, n.n.n, and n.n.n-n format. The interpreted version used will be resolved into this field after creation or update.
         * 
         * @return builder
         * 
         */
        public Builder kubernetesVersion(Output kubernetesVersion) {
            $.kubernetesVersion = kubernetesVersion;
            return this;
        }

        /**
         * @param kubernetesVersion The Kubernetes version for this cluster. Accepts n.n, n.n.n, and n.n.n-n format. The interpreted version used will be resolved into this field after creation or update.
         * 
         * @return builder
         * 
         */
        public Builder kubernetesVersion(String kubernetesVersion) {
            return kubernetesVersion(Output.of(kubernetesVersion));
        }

        /**
         * @param location The geo-location where the resource lives
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location The geo-location where the resource lives
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param managedResourceGroupConfiguration The configuration of the managed resource group associated with the resource.
         * 
         * @return builder
         * 
         */
        public Builder managedResourceGroupConfiguration(@Nullable Output managedResourceGroupConfiguration) {
            $.managedResourceGroupConfiguration = managedResourceGroupConfiguration;
            return this;
        }

        /**
         * @param managedResourceGroupConfiguration The configuration of the managed resource group associated with the resource.
         * 
         * @return builder
         * 
         */
        public Builder managedResourceGroupConfiguration(ManagedResourceGroupConfigurationArgs managedResourceGroupConfiguration) {
            return managedResourceGroupConfiguration(Output.of(managedResourceGroupConfiguration));
        }

        /**
         * @param networkConfiguration The configuration of the Kubernetes cluster networking, including the attachment of networks that span the cluster.
         * 
         * @return builder
         * 
         */
        public Builder networkConfiguration(Output networkConfiguration) {
            $.networkConfiguration = networkConfiguration;
            return this;
        }

        /**
         * @param networkConfiguration The configuration of the Kubernetes cluster networking, including the attachment of networks that span the cluster.
         * 
         * @return builder
         * 
         */
        public Builder networkConfiguration(NetworkConfigurationArgs networkConfiguration) {
            return networkConfiguration(Output.of(networkConfiguration));
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param tags Resource tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Resource tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        public KubernetesClusterArgs build() {
            if ($.controlPlaneNodeConfiguration == null) {
                throw new MissingRequiredPropertyException("KubernetesClusterArgs", "controlPlaneNodeConfiguration");
            }
            if ($.extendedLocation == null) {
                throw new MissingRequiredPropertyException("KubernetesClusterArgs", "extendedLocation");
            }
            if ($.initialAgentPoolConfigurations == null) {
                throw new MissingRequiredPropertyException("KubernetesClusterArgs", "initialAgentPoolConfigurations");
            }
            if ($.kubernetesVersion == null) {
                throw new MissingRequiredPropertyException("KubernetesClusterArgs", "kubernetesVersion");
            }
            if ($.networkConfiguration == null) {
                throw new MissingRequiredPropertyException("KubernetesClusterArgs", "networkConfiguration");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("KubernetesClusterArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy