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

com.pulumi.azurenative.migrate.outputs.LoadBalancerResourceSettingsResponse Maven / Gradle / Ivy

// *** 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.migrate.outputs;

import com.pulumi.azurenative.migrate.outputs.LBBackendAddressPoolResourceSettingsResponse;
import com.pulumi.azurenative.migrate.outputs.LBFrontendIPConfigurationResourceSettingsResponse;
import com.pulumi.core.annotations.CustomType;
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;

@CustomType
public final class LoadBalancerResourceSettingsResponse {
    /**
     * @return Gets or sets the backend address pools of the load balancer.
     * 
     */
    private @Nullable List backendAddressPools;
    /**
     * @return Gets or sets the frontend IP configurations of the load balancer.
     * 
     */
    private @Nullable List frontendIPConfigurations;
    /**
     * @return The resource type. For example, the value can be Microsoft.Compute/virtualMachines.
     * Expected value is 'Microsoft.Network/loadBalancers'.
     * 
     */
    private String resourceType;
    /**
     * @return Gets or sets load balancer sku (Basic/Standard).
     * 
     */
    private @Nullable String sku;
    /**
     * @return Gets or sets the Resource tags.
     * 
     */
    private @Nullable Map tags;
    /**
     * @return Gets or sets the target resource group name.
     * 
     */
    private @Nullable String targetResourceGroupName;
    /**
     * @return Gets or sets the target Resource name.
     * 
     */
    private String targetResourceName;
    /**
     * @return Gets or sets the csv list of zones common for all frontend IP configurations. Note this is given
     *  precedence only if frontend IP configurations settings are not present.
     * 
     */
    private @Nullable String zones;

    private LoadBalancerResourceSettingsResponse() {}
    /**
     * @return Gets or sets the backend address pools of the load balancer.
     * 
     */
    public List backendAddressPools() {
        return this.backendAddressPools == null ? List.of() : this.backendAddressPools;
    }
    /**
     * @return Gets or sets the frontend IP configurations of the load balancer.
     * 
     */
    public List frontendIPConfigurations() {
        return this.frontendIPConfigurations == null ? List.of() : this.frontendIPConfigurations;
    }
    /**
     * @return The resource type. For example, the value can be Microsoft.Compute/virtualMachines.
     * Expected value is 'Microsoft.Network/loadBalancers'.
     * 
     */
    public String resourceType() {
        return this.resourceType;
    }
    /**
     * @return Gets or sets load balancer sku (Basic/Standard).
     * 
     */
    public Optional sku() {
        return Optional.ofNullable(this.sku);
    }
    /**
     * @return Gets or sets the Resource tags.
     * 
     */
    public Map tags() {
        return this.tags == null ? Map.of() : this.tags;
    }
    /**
     * @return Gets or sets the target resource group name.
     * 
     */
    public Optional targetResourceGroupName() {
        return Optional.ofNullable(this.targetResourceGroupName);
    }
    /**
     * @return Gets or sets the target Resource name.
     * 
     */
    public String targetResourceName() {
        return this.targetResourceName;
    }
    /**
     * @return Gets or sets the csv list of zones common for all frontend IP configurations. Note this is given
     *  precedence only if frontend IP configurations settings are not present.
     * 
     */
    public Optional zones() {
        return Optional.ofNullable(this.zones);
    }

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

    public static Builder builder(LoadBalancerResourceSettingsResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable List backendAddressPools;
        private @Nullable List frontendIPConfigurations;
        private String resourceType;
        private @Nullable String sku;
        private @Nullable Map tags;
        private @Nullable String targetResourceGroupName;
        private String targetResourceName;
        private @Nullable String zones;
        public Builder() {}
        public Builder(LoadBalancerResourceSettingsResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.backendAddressPools = defaults.backendAddressPools;
    	      this.frontendIPConfigurations = defaults.frontendIPConfigurations;
    	      this.resourceType = defaults.resourceType;
    	      this.sku = defaults.sku;
    	      this.tags = defaults.tags;
    	      this.targetResourceGroupName = defaults.targetResourceGroupName;
    	      this.targetResourceName = defaults.targetResourceName;
    	      this.zones = defaults.zones;
        }

        @CustomType.Setter
        public Builder backendAddressPools(@Nullable List backendAddressPools) {

            this.backendAddressPools = backendAddressPools;
            return this;
        }
        public Builder backendAddressPools(LBBackendAddressPoolResourceSettingsResponse... backendAddressPools) {
            return backendAddressPools(List.of(backendAddressPools));
        }
        @CustomType.Setter
        public Builder frontendIPConfigurations(@Nullable List frontendIPConfigurations) {

            this.frontendIPConfigurations = frontendIPConfigurations;
            return this;
        }
        public Builder frontendIPConfigurations(LBFrontendIPConfigurationResourceSettingsResponse... frontendIPConfigurations) {
            return frontendIPConfigurations(List.of(frontendIPConfigurations));
        }
        @CustomType.Setter
        public Builder resourceType(String resourceType) {
            if (resourceType == null) {
              throw new MissingRequiredPropertyException("LoadBalancerResourceSettingsResponse", "resourceType");
            }
            this.resourceType = resourceType;
            return this;
        }
        @CustomType.Setter
        public Builder sku(@Nullable String sku) {

            this.sku = sku;
            return this;
        }
        @CustomType.Setter
        public Builder tags(@Nullable Map tags) {

            this.tags = tags;
            return this;
        }
        @CustomType.Setter
        public Builder targetResourceGroupName(@Nullable String targetResourceGroupName) {

            this.targetResourceGroupName = targetResourceGroupName;
            return this;
        }
        @CustomType.Setter
        public Builder targetResourceName(String targetResourceName) {
            if (targetResourceName == null) {
              throw new MissingRequiredPropertyException("LoadBalancerResourceSettingsResponse", "targetResourceName");
            }
            this.targetResourceName = targetResourceName;
            return this;
        }
        @CustomType.Setter
        public Builder zones(@Nullable String zones) {

            this.zones = zones;
            return this;
        }
        public LoadBalancerResourceSettingsResponse build() {
            final var _resultValue = new LoadBalancerResourceSettingsResponse();
            _resultValue.backendAddressPools = backendAddressPools;
            _resultValue.frontendIPConfigurations = frontendIPConfigurations;
            _resultValue.resourceType = resourceType;
            _resultValue.sku = sku;
            _resultValue.tags = tags;
            _resultValue.targetResourceGroupName = targetResourceGroupName;
            _resultValue.targetResourceName = targetResourceName;
            _resultValue.zones = zones;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy