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

com.pulumi.azurenative.workloads.outputs.CentralServerFullResourceNamesResponse 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.outputs;

import com.pulumi.azurenative.workloads.outputs.LoadBalancerResourceNamesResponse;
import com.pulumi.azurenative.workloads.outputs.VirtualMachineResourceNamesResponse;
import com.pulumi.core.annotations.CustomType;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class CentralServerFullResourceNamesResponse {
    /**
     * @return The full name for availability set. In case name is not provided, it will be defaulted to {SID}-ASCS-AvSet.
     * 
     */
    private @Nullable String availabilitySetName;
    /**
     * @return The resource names object for load balancer and related resources.
     * 
     */
    private @Nullable LoadBalancerResourceNamesResponse loadBalancer;
    /**
     * @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.
     * 
     */
    private @Nullable List virtualMachines;

    private CentralServerFullResourceNamesResponse() {}
    /**
     * @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);
    }
    /**
     * @return The resource names object for load balancer and related resources.
     * 
     */
    public Optional loadBalancer() {
        return Optional.ofNullable(this.loadBalancer);
    }
    /**
     * @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 List virtualMachines() {
        return this.virtualMachines == null ? List.of() : this.virtualMachines;
    }

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

    public static Builder builder(CentralServerFullResourceNamesResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable String availabilitySetName;
        private @Nullable LoadBalancerResourceNamesResponse loadBalancer;
        private @Nullable List virtualMachines;
        public Builder() {}
        public Builder(CentralServerFullResourceNamesResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.availabilitySetName = defaults.availabilitySetName;
    	      this.loadBalancer = defaults.loadBalancer;
    	      this.virtualMachines = defaults.virtualMachines;
        }

        @CustomType.Setter
        public Builder availabilitySetName(@Nullable String availabilitySetName) {

            this.availabilitySetName = availabilitySetName;
            return this;
        }
        @CustomType.Setter
        public Builder loadBalancer(@Nullable LoadBalancerResourceNamesResponse loadBalancer) {

            this.loadBalancer = loadBalancer;
            return this;
        }
        @CustomType.Setter
        public Builder virtualMachines(@Nullable List virtualMachines) {

            this.virtualMachines = virtualMachines;
            return this;
        }
        public Builder virtualMachines(VirtualMachineResourceNamesResponse... virtualMachines) {
            return virtualMachines(List.of(virtualMachines));
        }
        public CentralServerFullResourceNamesResponse build() {
            final var _resultValue = new CentralServerFullResourceNamesResponse();
            _resultValue.availabilitySetName = availabilitySetName;
            _resultValue.loadBalancer = loadBalancer;
            _resultValue.virtualMachines = virtualMachines;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy