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

com.pulumi.azurenative.apimanagement.outputs.AdditionalLocationResponse Maven / Gradle / Ivy

There is a newer version: 2.78.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.apimanagement.outputs;

import com.pulumi.azurenative.apimanagement.outputs.ApiManagementServiceSkuPropertiesResponse;
import com.pulumi.azurenative.apimanagement.outputs.VirtualNetworkConfigurationResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class AdditionalLocationResponse {
    /**
     * @return Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in this additional location.
     * 
     */
    private @Nullable Boolean disableGateway;
    /**
     * @return Gateway URL of the API Management service in the Region.
     * 
     */
    private String gatewayRegionalUrl;
    /**
     * @return The location name of the additional region among Azure Data center regions.
     * 
     */
    private String location;
    /**
     * @return Property can be used to enable NAT Gateway for this API Management service.
     * 
     */
    private @Nullable String natGatewayState;
    /**
     * @return Outbound public IPV4 address prefixes associated with NAT Gateway deployed service. Available only for Premium SKU on stv2 platform.
     * 
     */
    private List outboundPublicIPAddresses;
    /**
     * @return Compute Platform Version running the service.
     * 
     */
    private String platformVersion;
    /**
     * @return Private Static Load Balanced IP addresses of the API Management service which is deployed in an Internal Virtual Network in a particular additional location. Available only for Basic, Standard, Premium and Isolated SKU.
     * 
     */
    private List privateIPAddresses;
    /**
     * @return Public Static Load Balanced IP addresses of the API Management service in the additional location. Available only for Basic, Standard, Premium and Isolated SKU.
     * 
     */
    private List publicIPAddresses;
    /**
     * @return Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in the location. Supported only for Premium SKU being deployed in Virtual Network.
     * 
     */
    private @Nullable String publicIpAddressId;
    /**
     * @return SKU properties of the API Management service.
     * 
     */
    private ApiManagementServiceSkuPropertiesResponse sku;
    /**
     * @return Virtual network configuration for the location.
     * 
     */
    private @Nullable VirtualNetworkConfigurationResponse virtualNetworkConfiguration;
    /**
     * @return A list of availability zones denoting where the resource needs to come from.
     * 
     */
    private @Nullable List zones;

    private AdditionalLocationResponse() {}
    /**
     * @return Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in this additional location.
     * 
     */
    public Optional disableGateway() {
        return Optional.ofNullable(this.disableGateway);
    }
    /**
     * @return Gateway URL of the API Management service in the Region.
     * 
     */
    public String gatewayRegionalUrl() {
        return this.gatewayRegionalUrl;
    }
    /**
     * @return The location name of the additional region among Azure Data center regions.
     * 
     */
    public String location() {
        return this.location;
    }
    /**
     * @return Property can be used to enable NAT Gateway for this API Management service.
     * 
     */
    public Optional natGatewayState() {
        return Optional.ofNullable(this.natGatewayState);
    }
    /**
     * @return Outbound public IPV4 address prefixes associated with NAT Gateway deployed service. Available only for Premium SKU on stv2 platform.
     * 
     */
    public List outboundPublicIPAddresses() {
        return this.outboundPublicIPAddresses;
    }
    /**
     * @return Compute Platform Version running the service.
     * 
     */
    public String platformVersion() {
        return this.platformVersion;
    }
    /**
     * @return Private Static Load Balanced IP addresses of the API Management service which is deployed in an Internal Virtual Network in a particular additional location. Available only for Basic, Standard, Premium and Isolated SKU.
     * 
     */
    public List privateIPAddresses() {
        return this.privateIPAddresses;
    }
    /**
     * @return Public Static Load Balanced IP addresses of the API Management service in the additional location. Available only for Basic, Standard, Premium and Isolated SKU.
     * 
     */
    public List publicIPAddresses() {
        return this.publicIPAddresses;
    }
    /**
     * @return Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in the location. Supported only for Premium SKU being deployed in Virtual Network.
     * 
     */
    public Optional publicIpAddressId() {
        return Optional.ofNullable(this.publicIpAddressId);
    }
    /**
     * @return SKU properties of the API Management service.
     * 
     */
    public ApiManagementServiceSkuPropertiesResponse sku() {
        return this.sku;
    }
    /**
     * @return Virtual network configuration for the location.
     * 
     */
    public Optional virtualNetworkConfiguration() {
        return Optional.ofNullable(this.virtualNetworkConfiguration);
    }
    /**
     * @return A list of availability zones denoting where the resource needs to come from.
     * 
     */
    public List zones() {
        return this.zones == null ? List.of() : this.zones;
    }

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

    public static Builder builder(AdditionalLocationResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable Boolean disableGateway;
        private String gatewayRegionalUrl;
        private String location;
        private @Nullable String natGatewayState;
        private List outboundPublicIPAddresses;
        private String platformVersion;
        private List privateIPAddresses;
        private List publicIPAddresses;
        private @Nullable String publicIpAddressId;
        private ApiManagementServiceSkuPropertiesResponse sku;
        private @Nullable VirtualNetworkConfigurationResponse virtualNetworkConfiguration;
        private @Nullable List zones;
        public Builder() {}
        public Builder(AdditionalLocationResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.disableGateway = defaults.disableGateway;
    	      this.gatewayRegionalUrl = defaults.gatewayRegionalUrl;
    	      this.location = defaults.location;
    	      this.natGatewayState = defaults.natGatewayState;
    	      this.outboundPublicIPAddresses = defaults.outboundPublicIPAddresses;
    	      this.platformVersion = defaults.platformVersion;
    	      this.privateIPAddresses = defaults.privateIPAddresses;
    	      this.publicIPAddresses = defaults.publicIPAddresses;
    	      this.publicIpAddressId = defaults.publicIpAddressId;
    	      this.sku = defaults.sku;
    	      this.virtualNetworkConfiguration = defaults.virtualNetworkConfiguration;
    	      this.zones = defaults.zones;
        }

        @CustomType.Setter
        public Builder disableGateway(@Nullable Boolean disableGateway) {

            this.disableGateway = disableGateway;
            return this;
        }
        @CustomType.Setter
        public Builder gatewayRegionalUrl(String gatewayRegionalUrl) {
            if (gatewayRegionalUrl == null) {
              throw new MissingRequiredPropertyException("AdditionalLocationResponse", "gatewayRegionalUrl");
            }
            this.gatewayRegionalUrl = gatewayRegionalUrl;
            return this;
        }
        @CustomType.Setter
        public Builder location(String location) {
            if (location == null) {
              throw new MissingRequiredPropertyException("AdditionalLocationResponse", "location");
            }
            this.location = location;
            return this;
        }
        @CustomType.Setter
        public Builder natGatewayState(@Nullable String natGatewayState) {

            this.natGatewayState = natGatewayState;
            return this;
        }
        @CustomType.Setter
        public Builder outboundPublicIPAddresses(List outboundPublicIPAddresses) {
            if (outboundPublicIPAddresses == null) {
              throw new MissingRequiredPropertyException("AdditionalLocationResponse", "outboundPublicIPAddresses");
            }
            this.outboundPublicIPAddresses = outboundPublicIPAddresses;
            return this;
        }
        public Builder outboundPublicIPAddresses(String... outboundPublicIPAddresses) {
            return outboundPublicIPAddresses(List.of(outboundPublicIPAddresses));
        }
        @CustomType.Setter
        public Builder platformVersion(String platformVersion) {
            if (platformVersion == null) {
              throw new MissingRequiredPropertyException("AdditionalLocationResponse", "platformVersion");
            }
            this.platformVersion = platformVersion;
            return this;
        }
        @CustomType.Setter
        public Builder privateIPAddresses(List privateIPAddresses) {
            if (privateIPAddresses == null) {
              throw new MissingRequiredPropertyException("AdditionalLocationResponse", "privateIPAddresses");
            }
            this.privateIPAddresses = privateIPAddresses;
            return this;
        }
        public Builder privateIPAddresses(String... privateIPAddresses) {
            return privateIPAddresses(List.of(privateIPAddresses));
        }
        @CustomType.Setter
        public Builder publicIPAddresses(List publicIPAddresses) {
            if (publicIPAddresses == null) {
              throw new MissingRequiredPropertyException("AdditionalLocationResponse", "publicIPAddresses");
            }
            this.publicIPAddresses = publicIPAddresses;
            return this;
        }
        public Builder publicIPAddresses(String... publicIPAddresses) {
            return publicIPAddresses(List.of(publicIPAddresses));
        }
        @CustomType.Setter
        public Builder publicIpAddressId(@Nullable String publicIpAddressId) {

            this.publicIpAddressId = publicIpAddressId;
            return this;
        }
        @CustomType.Setter
        public Builder sku(ApiManagementServiceSkuPropertiesResponse sku) {
            if (sku == null) {
              throw new MissingRequiredPropertyException("AdditionalLocationResponse", "sku");
            }
            this.sku = sku;
            return this;
        }
        @CustomType.Setter
        public Builder virtualNetworkConfiguration(@Nullable VirtualNetworkConfigurationResponse virtualNetworkConfiguration) {

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

            this.zones = zones;
            return this;
        }
        public Builder zones(String... zones) {
            return zones(List.of(zones));
        }
        public AdditionalLocationResponse build() {
            final var _resultValue = new AdditionalLocationResponse();
            _resultValue.disableGateway = disableGateway;
            _resultValue.gatewayRegionalUrl = gatewayRegionalUrl;
            _resultValue.location = location;
            _resultValue.natGatewayState = natGatewayState;
            _resultValue.outboundPublicIPAddresses = outboundPublicIPAddresses;
            _resultValue.platformVersion = platformVersion;
            _resultValue.privateIPAddresses = privateIPAddresses;
            _resultValue.publicIPAddresses = publicIPAddresses;
            _resultValue.publicIpAddressId = publicIpAddressId;
            _resultValue.sku = sku;
            _resultValue.virtualNetworkConfiguration = virtualNetworkConfiguration;
            _resultValue.zones = zones;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy