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

com.pulumi.azurenative.workloads.inputs.CentralServerFullResourceNamesArgs 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.workloads.inputs;

import com.pulumi.azurenative.workloads.inputs.LoadBalancerResourceNamesArgs;
import com.pulumi.azurenative.workloads.inputs.VirtualMachineResourceNamesArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * The full resource names object for central server layer resources.
 * 
 */
public final class CentralServerFullResourceNamesArgs extends com.pulumi.resources.ResourceArgs {

    public static final CentralServerFullResourceNamesArgs Empty = new CentralServerFullResourceNamesArgs();

    /**
     * The full name for availability set. In case name is not provided, it will be defaulted to {SID}-ASCS-AvSet.
     * 
     */
    @Import(name="availabilitySetName")
    private @Nullable Output availabilitySetName;

    /**
     * @return The full name for availability set. In case name is not provided, it will be defaulted to {SID}-ASCS-AvSet.
     * 
     */
    public Optional> availabilitySetName() {
        return Optional.ofNullable(this.availabilitySetName);
    }

    /**
     * The resource names object for load balancer and related resources.
     * 
     */
    @Import(name="loadBalancer")
    private @Nullable Output loadBalancer;

    /**
     * @return The resource names object for load balancer and related resources.
     * 
     */
    public Optional> loadBalancer() {
        return Optional.ofNullable(this.loadBalancer);
    }

    /**
     * The list of names for all ASCS virtual machines to be deployed. The number of entries in this list should be equal to the number VMs to be created for ASCS layer. At maximum, there can be two virtual machines at this layer: ASCS and ERS.
     * 
     */
    @Import(name="virtualMachines")
    private @Nullable Output> virtualMachines;

    /**
     * @return The list of names for all ASCS virtual machines to be deployed. The number of entries in this list should be equal to the number VMs to be created for ASCS layer. At maximum, there can be two virtual machines at this layer: ASCS and ERS.
     * 
     */
    public Optional>> virtualMachines() {
        return Optional.ofNullable(this.virtualMachines);
    }

    private CentralServerFullResourceNamesArgs() {}

    private CentralServerFullResourceNamesArgs(CentralServerFullResourceNamesArgs $) {
        this.availabilitySetName = $.availabilitySetName;
        this.loadBalancer = $.loadBalancer;
        this.virtualMachines = $.virtualMachines;
    }

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

    public static final class Builder {
        private CentralServerFullResourceNamesArgs $;

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

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

        /**
         * @param availabilitySetName The full name for availability set. In case name is not provided, it will be defaulted to {SID}-ASCS-AvSet.
         * 
         * @return builder
         * 
         */
        public Builder availabilitySetName(@Nullable Output availabilitySetName) {
            $.availabilitySetName = availabilitySetName;
            return this;
        }

        /**
         * @param availabilitySetName The full name for availability set. In case name is not provided, it will be defaulted to {SID}-ASCS-AvSet.
         * 
         * @return builder
         * 
         */
        public Builder availabilitySetName(String availabilitySetName) {
            return availabilitySetName(Output.of(availabilitySetName));
        }

        /**
         * @param loadBalancer The resource names object for load balancer and related resources.
         * 
         * @return builder
         * 
         */
        public Builder loadBalancer(@Nullable Output loadBalancer) {
            $.loadBalancer = loadBalancer;
            return this;
        }

        /**
         * @param loadBalancer The resource names object for load balancer and related resources.
         * 
         * @return builder
         * 
         */
        public Builder loadBalancer(LoadBalancerResourceNamesArgs loadBalancer) {
            return loadBalancer(Output.of(loadBalancer));
        }

        /**
         * @param virtualMachines The list of names for all ASCS virtual machines to be deployed. The number of entries in this list should be equal to the number VMs to be created for ASCS layer. At maximum, there can be two virtual machines at this layer: ASCS and ERS.
         * 
         * @return builder
         * 
         */
        public Builder virtualMachines(@Nullable Output> virtualMachines) {
            $.virtualMachines = virtualMachines;
            return this;
        }

        /**
         * @param virtualMachines The list of names for all ASCS virtual machines to be deployed. The number of entries in this list should be equal to the number VMs to be created for ASCS layer. At maximum, there can be two virtual machines at this layer: ASCS and ERS.
         * 
         * @return builder
         * 
         */
        public Builder virtualMachines(List virtualMachines) {
            return virtualMachines(Output.of(virtualMachines));
        }

        /**
         * @param virtualMachines The list of names for all ASCS virtual machines to be deployed. The number of entries in this list should be equal to the number VMs to be created for ASCS layer. At maximum, there can be two virtual machines at this layer: ASCS and ERS.
         * 
         * @return builder
         * 
         */
        public Builder virtualMachines(VirtualMachineResourceNamesArgs... virtualMachines) {
            return virtualMachines(List.of(virtualMachines));
        }

        public CentralServerFullResourceNamesArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy