
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