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

com.pulumi.azure.apimanagement.inputs.ServiceAdditionalLocationArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.

There is a newer version: 6.10.0-alpha.1731737215
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.azure.apimanagement.inputs;

import com.pulumi.azure.apimanagement.inputs.ServiceAdditionalLocationVirtualNetworkConfigurationArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class ServiceAdditionalLocationArgs extends com.pulumi.resources.ResourceArgs {

    public static final ServiceAdditionalLocationArgs Empty = new ServiceAdditionalLocationArgs();

    /**
     * The number of compute units in this region. Defaults to the capacity of the main region.
     * 
     */
    @Import(name="capacity")
    private @Nullable Output capacity;

    /**
     * @return The number of compute units in this region. Defaults to the capacity of the main region.
     * 
     */
    public Optional> capacity() {
        return Optional.ofNullable(this.capacity);
    }

    /**
     * Only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in this additional location.
     * 
     */
    @Import(name="gatewayDisabled")
    private @Nullable Output gatewayDisabled;

    /**
     * @return 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> gatewayDisabled() {
        return Optional.ofNullable(this.gatewayDisabled);
    }

    /**
     * The URL of the Regional Gateway for the API Management Service in the specified region.
     * 
     */
    @Import(name="gatewayRegionalUrl")
    private @Nullable Output gatewayRegionalUrl;

    /**
     * @return The URL of the Regional Gateway for the API Management Service in the specified region.
     * 
     */
    public Optional> gatewayRegionalUrl() {
        return Optional.ofNullable(this.gatewayRegionalUrl);
    }

    /**
     * The name of the Azure Region in which the API Management Service should be expanded to.
     * 
     */
    @Import(name="location", required=true)
    private Output location;

    /**
     * @return The name of the Azure Region in which the API Management Service should be expanded to.
     * 
     */
    public Output location() {
        return this.location;
    }

    /**
     * The Private IP addresses of the API Management Service. Available only when the API Manager instance is using Virtual Network mode.
     * 
     */
    @Import(name="privateIpAddresses")
    private @Nullable Output> privateIpAddresses;

    /**
     * @return The Private IP addresses of the API Management Service. Available only when the API Manager instance is using Virtual Network mode.
     * 
     */
    public Optional>> privateIpAddresses() {
        return Optional.ofNullable(this.privateIpAddresses);
    }

    /**
     * ID of a standard SKU IPv4 Public IP.
     * 
     * > **NOTE:** Availability zones and custom public IPs are only supported in the Premium tier.
     * 
     */
    @Import(name="publicIpAddressId")
    private @Nullable Output publicIpAddressId;

    /**
     * @return ID of a standard SKU IPv4 Public IP.
     * 
     * > **NOTE:** Availability zones and custom public IPs are only supported in the Premium tier.
     * 
     */
    public Optional> publicIpAddressId() {
        return Optional.ofNullable(this.publicIpAddressId);
    }

    /**
     * Public Static Load Balanced IP addresses of the API Management service in the additional location. Available only for Basic, Standard and Premium SKU.
     * 
     */
    @Import(name="publicIpAddresses")
    private @Nullable Output> publicIpAddresses;

    /**
     * @return Public Static Load Balanced IP addresses of the API Management service in the additional location. Available only for Basic, Standard and Premium SKU.
     * 
     */
    public Optional>> publicIpAddresses() {
        return Optional.ofNullable(this.publicIpAddresses);
    }

    /**
     * A `virtual_network_configuration` block as defined below. Required when `virtual_network_type` is `External` or `Internal`.
     * 
     */
    @Import(name="virtualNetworkConfiguration")
    private @Nullable Output virtualNetworkConfiguration;

    /**
     * @return A `virtual_network_configuration` block as defined below. Required when `virtual_network_type` is `External` or `Internal`.
     * 
     */
    public Optional> virtualNetworkConfiguration() {
        return Optional.ofNullable(this.virtualNetworkConfiguration);
    }

    /**
     * A list of availability zones.
     * 
     */
    @Import(name="zones")
    private @Nullable Output> zones;

    /**
     * @return A list of availability zones.
     * 
     */
    public Optional>> zones() {
        return Optional.ofNullable(this.zones);
    }

    private ServiceAdditionalLocationArgs() {}

    private ServiceAdditionalLocationArgs(ServiceAdditionalLocationArgs $) {
        this.capacity = $.capacity;
        this.gatewayDisabled = $.gatewayDisabled;
        this.gatewayRegionalUrl = $.gatewayRegionalUrl;
        this.location = $.location;
        this.privateIpAddresses = $.privateIpAddresses;
        this.publicIpAddressId = $.publicIpAddressId;
        this.publicIpAddresses = $.publicIpAddresses;
        this.virtualNetworkConfiguration = $.virtualNetworkConfiguration;
        this.zones = $.zones;
    }

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

    public static final class Builder {
        private ServiceAdditionalLocationArgs $;

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

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

        /**
         * @param capacity The number of compute units in this region. Defaults to the capacity of the main region.
         * 
         * @return builder
         * 
         */
        public Builder capacity(@Nullable Output capacity) {
            $.capacity = capacity;
            return this;
        }

        /**
         * @param capacity The number of compute units in this region. Defaults to the capacity of the main region.
         * 
         * @return builder
         * 
         */
        public Builder capacity(Integer capacity) {
            return capacity(Output.of(capacity));
        }

        /**
         * @param gatewayDisabled Only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in this additional location.
         * 
         * @return builder
         * 
         */
        public Builder gatewayDisabled(@Nullable Output gatewayDisabled) {
            $.gatewayDisabled = gatewayDisabled;
            return this;
        }

        /**
         * @param gatewayDisabled Only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in this additional location.
         * 
         * @return builder
         * 
         */
        public Builder gatewayDisabled(Boolean gatewayDisabled) {
            return gatewayDisabled(Output.of(gatewayDisabled));
        }

        /**
         * @param gatewayRegionalUrl The URL of the Regional Gateway for the API Management Service in the specified region.
         * 
         * @return builder
         * 
         */
        public Builder gatewayRegionalUrl(@Nullable Output gatewayRegionalUrl) {
            $.gatewayRegionalUrl = gatewayRegionalUrl;
            return this;
        }

        /**
         * @param gatewayRegionalUrl The URL of the Regional Gateway for the API Management Service in the specified region.
         * 
         * @return builder
         * 
         */
        public Builder gatewayRegionalUrl(String gatewayRegionalUrl) {
            return gatewayRegionalUrl(Output.of(gatewayRegionalUrl));
        }

        /**
         * @param location The name of the Azure Region in which the API Management Service should be expanded to.
         * 
         * @return builder
         * 
         */
        public Builder location(Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location The name of the Azure Region in which the API Management Service should be expanded to.
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param privateIpAddresses The Private IP addresses of the API Management Service. Available only when the API Manager instance is using Virtual Network mode.
         * 
         * @return builder
         * 
         */
        public Builder privateIpAddresses(@Nullable Output> privateIpAddresses) {
            $.privateIpAddresses = privateIpAddresses;
            return this;
        }

        /**
         * @param privateIpAddresses The Private IP addresses of the API Management Service. Available only when the API Manager instance is using Virtual Network mode.
         * 
         * @return builder
         * 
         */
        public Builder privateIpAddresses(List privateIpAddresses) {
            return privateIpAddresses(Output.of(privateIpAddresses));
        }

        /**
         * @param privateIpAddresses The Private IP addresses of the API Management Service. Available only when the API Manager instance is using Virtual Network mode.
         * 
         * @return builder
         * 
         */
        public Builder privateIpAddresses(String... privateIpAddresses) {
            return privateIpAddresses(List.of(privateIpAddresses));
        }

        /**
         * @param publicIpAddressId ID of a standard SKU IPv4 Public IP.
         * 
         * > **NOTE:** Availability zones and custom public IPs are only supported in the Premium tier.
         * 
         * @return builder
         * 
         */
        public Builder publicIpAddressId(@Nullable Output publicIpAddressId) {
            $.publicIpAddressId = publicIpAddressId;
            return this;
        }

        /**
         * @param publicIpAddressId ID of a standard SKU IPv4 Public IP.
         * 
         * > **NOTE:** Availability zones and custom public IPs are only supported in the Premium tier.
         * 
         * @return builder
         * 
         */
        public Builder publicIpAddressId(String publicIpAddressId) {
            return publicIpAddressId(Output.of(publicIpAddressId));
        }

        /**
         * @param publicIpAddresses Public Static Load Balanced IP addresses of the API Management service in the additional location. Available only for Basic, Standard and Premium SKU.
         * 
         * @return builder
         * 
         */
        public Builder publicIpAddresses(@Nullable Output> publicIpAddresses) {
            $.publicIpAddresses = publicIpAddresses;
            return this;
        }

        /**
         * @param publicIpAddresses Public Static Load Balanced IP addresses of the API Management service in the additional location. Available only for Basic, Standard and Premium SKU.
         * 
         * @return builder
         * 
         */
        public Builder publicIpAddresses(List publicIpAddresses) {
            return publicIpAddresses(Output.of(publicIpAddresses));
        }

        /**
         * @param publicIpAddresses Public Static Load Balanced IP addresses of the API Management service in the additional location. Available only for Basic, Standard and Premium SKU.
         * 
         * @return builder
         * 
         */
        public Builder publicIpAddresses(String... publicIpAddresses) {
            return publicIpAddresses(List.of(publicIpAddresses));
        }

        /**
         * @param virtualNetworkConfiguration A `virtual_network_configuration` block as defined below. Required when `virtual_network_type` is `External` or `Internal`.
         * 
         * @return builder
         * 
         */
        public Builder virtualNetworkConfiguration(@Nullable Output virtualNetworkConfiguration) {
            $.virtualNetworkConfiguration = virtualNetworkConfiguration;
            return this;
        }

        /**
         * @param virtualNetworkConfiguration A `virtual_network_configuration` block as defined below. Required when `virtual_network_type` is `External` or `Internal`.
         * 
         * @return builder
         * 
         */
        public Builder virtualNetworkConfiguration(ServiceAdditionalLocationVirtualNetworkConfigurationArgs virtualNetworkConfiguration) {
            return virtualNetworkConfiguration(Output.of(virtualNetworkConfiguration));
        }

        /**
         * @param zones A list of availability zones.
         * 
         * @return builder
         * 
         */
        public Builder zones(@Nullable Output> zones) {
            $.zones = zones;
            return this;
        }

        /**
         * @param zones A list of availability zones.
         * 
         * @return builder
         * 
         */
        public Builder zones(List zones) {
            return zones(Output.of(zones));
        }

        /**
         * @param zones A list of availability zones.
         * 
         * @return builder
         * 
         */
        public Builder zones(String... zones) {
            return zones(List.of(zones));
        }

        public ServiceAdditionalLocationArgs build() {
            if ($.location == null) {
                throw new MissingRequiredPropertyException("ServiceAdditionalLocationArgs", "location");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy