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

com.pulumi.azurenative.network.inputs.RoutingConfigurationArgs 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.network.inputs;

import com.pulumi.azurenative.network.inputs.PropagatedRouteTableArgs;
import com.pulumi.azurenative.network.inputs.SubResourceArgs;
import com.pulumi.azurenative.network.inputs.VnetRouteArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Routing Configuration indicating the associated and propagated route tables for this connection.
 * 
 */
public final class RoutingConfigurationArgs extends com.pulumi.resources.ResourceArgs {

    public static final RoutingConfigurationArgs Empty = new RoutingConfigurationArgs();

    /**
     * The resource id RouteTable associated with this RoutingConfiguration.
     * 
     */
    @Import(name="associatedRouteTable")
    private @Nullable Output associatedRouteTable;

    /**
     * @return The resource id RouteTable associated with this RoutingConfiguration.
     * 
     */
    public Optional> associatedRouteTable() {
        return Optional.ofNullable(this.associatedRouteTable);
    }

    /**
     * The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes.
     * 
     */
    @Import(name="inboundRouteMap")
    private @Nullable Output inboundRouteMap;

    /**
     * @return The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes.
     * 
     */
    public Optional> inboundRouteMap() {
        return Optional.ofNullable(this.inboundRouteMap);
    }

    /**
     * The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes.
     * 
     */
    @Import(name="outboundRouteMap")
    private @Nullable Output outboundRouteMap;

    /**
     * @return The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes.
     * 
     */
    public Optional> outboundRouteMap() {
        return Optional.ofNullable(this.outboundRouteMap);
    }

    /**
     * The list of RouteTables to advertise the routes to.
     * 
     */
    @Import(name="propagatedRouteTables")
    private @Nullable Output propagatedRouteTables;

    /**
     * @return The list of RouteTables to advertise the routes to.
     * 
     */
    public Optional> propagatedRouteTables() {
        return Optional.ofNullable(this.propagatedRouteTables);
    }

    /**
     * List of routes that control routing from VirtualHub into a virtual network connection.
     * 
     */
    @Import(name="vnetRoutes")
    private @Nullable Output vnetRoutes;

    /**
     * @return List of routes that control routing from VirtualHub into a virtual network connection.
     * 
     */
    public Optional> vnetRoutes() {
        return Optional.ofNullable(this.vnetRoutes);
    }

    private RoutingConfigurationArgs() {}

    private RoutingConfigurationArgs(RoutingConfigurationArgs $) {
        this.associatedRouteTable = $.associatedRouteTable;
        this.inboundRouteMap = $.inboundRouteMap;
        this.outboundRouteMap = $.outboundRouteMap;
        this.propagatedRouteTables = $.propagatedRouteTables;
        this.vnetRoutes = $.vnetRoutes;
    }

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

    public static final class Builder {
        private RoutingConfigurationArgs $;

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

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

        /**
         * @param associatedRouteTable The resource id RouteTable associated with this RoutingConfiguration.
         * 
         * @return builder
         * 
         */
        public Builder associatedRouteTable(@Nullable Output associatedRouteTable) {
            $.associatedRouteTable = associatedRouteTable;
            return this;
        }

        /**
         * @param associatedRouteTable The resource id RouteTable associated with this RoutingConfiguration.
         * 
         * @return builder
         * 
         */
        public Builder associatedRouteTable(SubResourceArgs associatedRouteTable) {
            return associatedRouteTable(Output.of(associatedRouteTable));
        }

        /**
         * @param inboundRouteMap The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes.
         * 
         * @return builder
         * 
         */
        public Builder inboundRouteMap(@Nullable Output inboundRouteMap) {
            $.inboundRouteMap = inboundRouteMap;
            return this;
        }

        /**
         * @param inboundRouteMap The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes.
         * 
         * @return builder
         * 
         */
        public Builder inboundRouteMap(SubResourceArgs inboundRouteMap) {
            return inboundRouteMap(Output.of(inboundRouteMap));
        }

        /**
         * @param outboundRouteMap The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes.
         * 
         * @return builder
         * 
         */
        public Builder outboundRouteMap(@Nullable Output outboundRouteMap) {
            $.outboundRouteMap = outboundRouteMap;
            return this;
        }

        /**
         * @param outboundRouteMap The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes.
         * 
         * @return builder
         * 
         */
        public Builder outboundRouteMap(SubResourceArgs outboundRouteMap) {
            return outboundRouteMap(Output.of(outboundRouteMap));
        }

        /**
         * @param propagatedRouteTables The list of RouteTables to advertise the routes to.
         * 
         * @return builder
         * 
         */
        public Builder propagatedRouteTables(@Nullable Output propagatedRouteTables) {
            $.propagatedRouteTables = propagatedRouteTables;
            return this;
        }

        /**
         * @param propagatedRouteTables The list of RouteTables to advertise the routes to.
         * 
         * @return builder
         * 
         */
        public Builder propagatedRouteTables(PropagatedRouteTableArgs propagatedRouteTables) {
            return propagatedRouteTables(Output.of(propagatedRouteTables));
        }

        /**
         * @param vnetRoutes List of routes that control routing from VirtualHub into a virtual network connection.
         * 
         * @return builder
         * 
         */
        public Builder vnetRoutes(@Nullable Output vnetRoutes) {
            $.vnetRoutes = vnetRoutes;
            return this;
        }

        /**
         * @param vnetRoutes List of routes that control routing from VirtualHub into a virtual network connection.
         * 
         * @return builder
         * 
         */
        public Builder vnetRoutes(VnetRouteArgs vnetRoutes) {
            return vnetRoutes(Output.of(vnetRoutes));
        }

        public RoutingConfigurationArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy