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

com.pulumi.googlenative.networkservices.v1.inputs.TcpRouteRouteActionArgs 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.googlenative.networkservices.v1.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.googlenative.networkservices.v1.inputs.TcpRouteRouteDestinationArgs;
import java.lang.Boolean;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * The specifications for routing traffic and applying associated policies.
 * 
 */
public final class TcpRouteRouteActionArgs extends com.pulumi.resources.ResourceArgs {

    public static final TcpRouteRouteActionArgs Empty = new TcpRouteRouteActionArgs();

    /**
     * Optional. The destination services to which traffic should be forwarded. At least one destination service is required. Only one of route destination or original destination can be set.
     * 
     */
    @Import(name="destinations")
    private @Nullable Output> destinations;

    /**
     * @return Optional. The destination services to which traffic should be forwarded. At least one destination service is required. Only one of route destination or original destination can be set.
     * 
     */
    public Optional>> destinations() {
        return Optional.ofNullable(this.destinations);
    }

    /**
     * Optional. If true, Router will use the destination IP and port of the original connection as the destination of the request. Default is false. Only one of route destinations or original destination can be set.
     * 
     */
    @Import(name="originalDestination")
    private @Nullable Output originalDestination;

    /**
     * @return Optional. If true, Router will use the destination IP and port of the original connection as the destination of the request. Default is false. Only one of route destinations or original destination can be set.
     * 
     */
    public Optional> originalDestination() {
        return Optional.ofNullable(this.originalDestination);
    }

    private TcpRouteRouteActionArgs() {}

    private TcpRouteRouteActionArgs(TcpRouteRouteActionArgs $) {
        this.destinations = $.destinations;
        this.originalDestination = $.originalDestination;
    }

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

    public static final class Builder {
        private TcpRouteRouteActionArgs $;

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

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

        /**
         * @param destinations Optional. The destination services to which traffic should be forwarded. At least one destination service is required. Only one of route destination or original destination can be set.
         * 
         * @return builder
         * 
         */
        public Builder destinations(@Nullable Output> destinations) {
            $.destinations = destinations;
            return this;
        }

        /**
         * @param destinations Optional. The destination services to which traffic should be forwarded. At least one destination service is required. Only one of route destination or original destination can be set.
         * 
         * @return builder
         * 
         */
        public Builder destinations(List destinations) {
            return destinations(Output.of(destinations));
        }

        /**
         * @param destinations Optional. The destination services to which traffic should be forwarded. At least one destination service is required. Only one of route destination or original destination can be set.
         * 
         * @return builder
         * 
         */
        public Builder destinations(TcpRouteRouteDestinationArgs... destinations) {
            return destinations(List.of(destinations));
        }

        /**
         * @param originalDestination Optional. If true, Router will use the destination IP and port of the original connection as the destination of the request. Default is false. Only one of route destinations or original destination can be set.
         * 
         * @return builder
         * 
         */
        public Builder originalDestination(@Nullable Output originalDestination) {
            $.originalDestination = originalDestination;
            return this;
        }

        /**
         * @param originalDestination Optional. If true, Router will use the destination IP and port of the original connection as the destination of the request. Default is false. Only one of route destinations or original destination can be set.
         * 
         * @return builder
         * 
         */
        public Builder originalDestination(Boolean originalDestination) {
            return originalDestination(Output.of(originalDestination));
        }

        public TcpRouteRouteActionArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy