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

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

import com.pulumi.azurenative.network.inputs.RouteMapRuleArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final RouteMapArgs Empty = new RouteMapArgs();

    /**
     * List of connections which have this RoutMap associated for inbound traffic.
     * 
     */
    @Import(name="associatedInboundConnections")
    private @Nullable Output> associatedInboundConnections;

    /**
     * @return List of connections which have this RoutMap associated for inbound traffic.
     * 
     */
    public Optional>> associatedInboundConnections() {
        return Optional.ofNullable(this.associatedInboundConnections);
    }

    /**
     * List of connections which have this RoutMap associated for outbound traffic.
     * 
     */
    @Import(name="associatedOutboundConnections")
    private @Nullable Output> associatedOutboundConnections;

    /**
     * @return List of connections which have this RoutMap associated for outbound traffic.
     * 
     */
    public Optional>> associatedOutboundConnections() {
        return Optional.ofNullable(this.associatedOutboundConnections);
    }

    /**
     * Resource ID.
     * 
     */
    @Import(name="id")
    private @Nullable Output id;

    /**
     * @return Resource ID.
     * 
     */
    public Optional> id() {
        return Optional.ofNullable(this.id);
    }

    /**
     * The resource group name of the RouteMap's resource group.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The resource group name of the RouteMap's resource group.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * The name of the RouteMap.
     * 
     */
    @Import(name="routeMapName")
    private @Nullable Output routeMapName;

    /**
     * @return The name of the RouteMap.
     * 
     */
    public Optional> routeMapName() {
        return Optional.ofNullable(this.routeMapName);
    }

    /**
     * List of RouteMap rules to be applied.
     * 
     */
    @Import(name="rules")
    private @Nullable Output> rules;

    /**
     * @return List of RouteMap rules to be applied.
     * 
     */
    public Optional>> rules() {
        return Optional.ofNullable(this.rules);
    }

    /**
     * The name of the VirtualHub containing the RouteMap.
     * 
     */
    @Import(name="virtualHubName", required=true)
    private Output virtualHubName;

    /**
     * @return The name of the VirtualHub containing the RouteMap.
     * 
     */
    public Output virtualHubName() {
        return this.virtualHubName;
    }

    private RouteMapArgs() {}

    private RouteMapArgs(RouteMapArgs $) {
        this.associatedInboundConnections = $.associatedInboundConnections;
        this.associatedOutboundConnections = $.associatedOutboundConnections;
        this.id = $.id;
        this.resourceGroupName = $.resourceGroupName;
        this.routeMapName = $.routeMapName;
        this.rules = $.rules;
        this.virtualHubName = $.virtualHubName;
    }

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

    public static final class Builder {
        private RouteMapArgs $;

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

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

        /**
         * @param associatedInboundConnections List of connections which have this RoutMap associated for inbound traffic.
         * 
         * @return builder
         * 
         */
        public Builder associatedInboundConnections(@Nullable Output> associatedInboundConnections) {
            $.associatedInboundConnections = associatedInboundConnections;
            return this;
        }

        /**
         * @param associatedInboundConnections List of connections which have this RoutMap associated for inbound traffic.
         * 
         * @return builder
         * 
         */
        public Builder associatedInboundConnections(List associatedInboundConnections) {
            return associatedInboundConnections(Output.of(associatedInboundConnections));
        }

        /**
         * @param associatedInboundConnections List of connections which have this RoutMap associated for inbound traffic.
         * 
         * @return builder
         * 
         */
        public Builder associatedInboundConnections(String... associatedInboundConnections) {
            return associatedInboundConnections(List.of(associatedInboundConnections));
        }

        /**
         * @param associatedOutboundConnections List of connections which have this RoutMap associated for outbound traffic.
         * 
         * @return builder
         * 
         */
        public Builder associatedOutboundConnections(@Nullable Output> associatedOutboundConnections) {
            $.associatedOutboundConnections = associatedOutboundConnections;
            return this;
        }

        /**
         * @param associatedOutboundConnections List of connections which have this RoutMap associated for outbound traffic.
         * 
         * @return builder
         * 
         */
        public Builder associatedOutboundConnections(List associatedOutboundConnections) {
            return associatedOutboundConnections(Output.of(associatedOutboundConnections));
        }

        /**
         * @param associatedOutboundConnections List of connections which have this RoutMap associated for outbound traffic.
         * 
         * @return builder
         * 
         */
        public Builder associatedOutboundConnections(String... associatedOutboundConnections) {
            return associatedOutboundConnections(List.of(associatedOutboundConnections));
        }

        /**
         * @param id Resource ID.
         * 
         * @return builder
         * 
         */
        public Builder id(@Nullable Output id) {
            $.id = id;
            return this;
        }

        /**
         * @param id Resource ID.
         * 
         * @return builder
         * 
         */
        public Builder id(String id) {
            return id(Output.of(id));
        }

        /**
         * @param resourceGroupName The resource group name of the RouteMap's resource group.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The resource group name of the RouteMap's resource group.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param routeMapName The name of the RouteMap.
         * 
         * @return builder
         * 
         */
        public Builder routeMapName(@Nullable Output routeMapName) {
            $.routeMapName = routeMapName;
            return this;
        }

        /**
         * @param routeMapName The name of the RouteMap.
         * 
         * @return builder
         * 
         */
        public Builder routeMapName(String routeMapName) {
            return routeMapName(Output.of(routeMapName));
        }

        /**
         * @param rules List of RouteMap rules to be applied.
         * 
         * @return builder
         * 
         */
        public Builder rules(@Nullable Output> rules) {
            $.rules = rules;
            return this;
        }

        /**
         * @param rules List of RouteMap rules to be applied.
         * 
         * @return builder
         * 
         */
        public Builder rules(List rules) {
            return rules(Output.of(rules));
        }

        /**
         * @param rules List of RouteMap rules to be applied.
         * 
         * @return builder
         * 
         */
        public Builder rules(RouteMapRuleArgs... rules) {
            return rules(List.of(rules));
        }

        /**
         * @param virtualHubName The name of the VirtualHub containing the RouteMap.
         * 
         * @return builder
         * 
         */
        public Builder virtualHubName(Output virtualHubName) {
            $.virtualHubName = virtualHubName;
            return this;
        }

        /**
         * @param virtualHubName The name of the VirtualHub containing the RouteMap.
         * 
         * @return builder
         * 
         */
        public Builder virtualHubName(String virtualHubName) {
            return virtualHubName(Output.of(virtualHubName));
        }

        public RouteMapArgs build() {
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("RouteMapArgs", "resourceGroupName");
            }
            if ($.virtualHubName == null) {
                throw new MissingRequiredPropertyException("RouteMapArgs", "virtualHubName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy