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

com.pulumi.azurenative.networkcloud.inputs.ControlPlaneNodeConfigurationArgs Maven / Gradle / Ivy

There is a newer version: 2.72.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.inputs;

import com.pulumi.azurenative.networkcloud.inputs.AdministratorConfigurationArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Double;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ControlPlaneNodeConfigurationArgs Empty = new ControlPlaneNodeConfigurationArgs();

    /**
     * The administrator credentials to be used for the nodes in the control plane.
     * 
     */
    @Import(name="administratorConfiguration")
    private @Nullable Output administratorConfiguration;

    /**
     * @return The administrator credentials to be used for the nodes in the control plane.
     * 
     */
    public Optional> administratorConfiguration() {
        return Optional.ofNullable(this.administratorConfiguration);
    }

    /**
     * The list of availability zones of the Network Cloud cluster to be used for the provisioning of nodes in the control plane. If not specified, all availability zones will be used.
     * 
     */
    @Import(name="availabilityZones")
    private @Nullable Output> availabilityZones;

    /**
     * @return The list of availability zones of the Network Cloud cluster to be used for the provisioning of nodes in the control plane. If not specified, all availability zones will be used.
     * 
     */
    public Optional>> availabilityZones() {
        return Optional.ofNullable(this.availabilityZones);
    }

    /**
     * The number of virtual machines that use this configuration.
     * 
     */
    @Import(name="count", required=true)
    private Output count;

    /**
     * @return The number of virtual machines that use this configuration.
     * 
     */
    public Output count() {
        return this.count;
    }

    /**
     * The name of the VM SKU supplied during creation.
     * 
     */
    @Import(name="vmSkuName", required=true)
    private Output vmSkuName;

    /**
     * @return The name of the VM SKU supplied during creation.
     * 
     */
    public Output vmSkuName() {
        return this.vmSkuName;
    }

    private ControlPlaneNodeConfigurationArgs() {}

    private ControlPlaneNodeConfigurationArgs(ControlPlaneNodeConfigurationArgs $) {
        this.administratorConfiguration = $.administratorConfiguration;
        this.availabilityZones = $.availabilityZones;
        this.count = $.count;
        this.vmSkuName = $.vmSkuName;
    }

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

    public static final class Builder {
        private ControlPlaneNodeConfigurationArgs $;

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

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

        /**
         * @param administratorConfiguration The administrator credentials to be used for the nodes in the control plane.
         * 
         * @return builder
         * 
         */
        public Builder administratorConfiguration(@Nullable Output administratorConfiguration) {
            $.administratorConfiguration = administratorConfiguration;
            return this;
        }

        /**
         * @param administratorConfiguration The administrator credentials to be used for the nodes in the control plane.
         * 
         * @return builder
         * 
         */
        public Builder administratorConfiguration(AdministratorConfigurationArgs administratorConfiguration) {
            return administratorConfiguration(Output.of(administratorConfiguration));
        }

        /**
         * @param availabilityZones The list of availability zones of the Network Cloud cluster to be used for the provisioning of nodes in the control plane. If not specified, all availability zones will be used.
         * 
         * @return builder
         * 
         */
        public Builder availabilityZones(@Nullable Output> availabilityZones) {
            $.availabilityZones = availabilityZones;
            return this;
        }

        /**
         * @param availabilityZones The list of availability zones of the Network Cloud cluster to be used for the provisioning of nodes in the control plane. If not specified, all availability zones will be used.
         * 
         * @return builder
         * 
         */
        public Builder availabilityZones(List availabilityZones) {
            return availabilityZones(Output.of(availabilityZones));
        }

        /**
         * @param availabilityZones The list of availability zones of the Network Cloud cluster to be used for the provisioning of nodes in the control plane. If not specified, all availability zones will be used.
         * 
         * @return builder
         * 
         */
        public Builder availabilityZones(String... availabilityZones) {
            return availabilityZones(List.of(availabilityZones));
        }

        /**
         * @param count The number of virtual machines that use this configuration.
         * 
         * @return builder
         * 
         */
        public Builder count(Output count) {
            $.count = count;
            return this;
        }

        /**
         * @param count The number of virtual machines that use this configuration.
         * 
         * @return builder
         * 
         */
        public Builder count(Double count) {
            return count(Output.of(count));
        }

        /**
         * @param vmSkuName The name of the VM SKU supplied during creation.
         * 
         * @return builder
         * 
         */
        public Builder vmSkuName(Output vmSkuName) {
            $.vmSkuName = vmSkuName;
            return this;
        }

        /**
         * @param vmSkuName The name of the VM SKU supplied during creation.
         * 
         * @return builder
         * 
         */
        public Builder vmSkuName(String vmSkuName) {
            return vmSkuName(Output.of(vmSkuName));
        }

        public ControlPlaneNodeConfigurationArgs build() {
            if ($.count == null) {
                throw new MissingRequiredPropertyException("ControlPlaneNodeConfigurationArgs", "count");
            }
            if ($.vmSkuName == null) {
                throw new MissingRequiredPropertyException("ControlPlaneNodeConfigurationArgs", "vmSkuName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy