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

com.pulumi.scm.inputs.RemoteNetworkProtocolBgpArgs Maven / Gradle / Ivy

There is a newer version: 0.2.0-alpha.1732774506
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.scm.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final RemoteNetworkProtocolBgpArgs Empty = new RemoteNetworkProtocolBgpArgs();

    /**
     * The DoNotExportRoutes param.
     * 
     */
    @Import(name="doNotExportRoutes")
    private @Nullable Output doNotExportRoutes;

    /**
     * @return The DoNotExportRoutes param.
     * 
     */
    public Optional> doNotExportRoutes() {
        return Optional.ofNullable(this.doNotExportRoutes);
    }

    /**
     * to setup bgp protocol, enable need to set as true.
     * 
     */
    @Import(name="enable")
    private @Nullable Output enable;

    /**
     * @return to setup bgp protocol, enable need to set as true.
     * 
     */
    public Optional> enable() {
        return Optional.ofNullable(this.enable);
    }

    /**
     * The LocalIpAddress param.
     * 
     */
    @Import(name="localIpAddress")
    private @Nullable Output localIpAddress;

    /**
     * @return The LocalIpAddress param.
     * 
     */
    public Optional> localIpAddress() {
        return Optional.ofNullable(this.localIpAddress);
    }

    /**
     * The OriginateDefaultRoute param.
     * 
     */
    @Import(name="originateDefaultRoute")
    private @Nullable Output originateDefaultRoute;

    /**
     * @return The OriginateDefaultRoute param.
     * 
     */
    public Optional> originateDefaultRoute() {
        return Optional.ofNullable(this.originateDefaultRoute);
    }

    /**
     * The PeerAs param.
     * 
     */
    @Import(name="peerAs")
    private @Nullable Output peerAs;

    /**
     * @return The PeerAs param.
     * 
     */
    public Optional> peerAs() {
        return Optional.ofNullable(this.peerAs);
    }

    /**
     * The PeerIpAddress param.
     * 
     */
    @Import(name="peerIpAddress")
    private @Nullable Output peerIpAddress;

    /**
     * @return The PeerIpAddress param.
     * 
     */
    public Optional> peerIpAddress() {
        return Optional.ofNullable(this.peerIpAddress);
    }

    /**
     * Exchange Routes: exchange-v4-over-v4 stands for Exchange IPv4 routes over IPv4 peering. exchange-v4-v6-over-v4 stands for Exchange both IPv4 and IPv6 routes over IPv4 peering. exchange-v4-over-v4-v6-over-v6 stands for Exchange IPv4 routes over IPv4 peer and IPv6 route over IPv6 peer. exchange-v6-over-v6 stands for Exchange IPv6 routes over IPv6 peering. String must be one of these: `"exchange-v4-over-v4"`, `"exchange-v4-v6-over-v4"`, `"exchange-v4-over-v4-v6-over-v6"`, `"exchange-v6-over-v6"`.
     * 
     */
    @Import(name="peeringType")
    private @Nullable Output peeringType;

    /**
     * @return Exchange Routes: exchange-v4-over-v4 stands for Exchange IPv4 routes over IPv4 peering. exchange-v4-v6-over-v4 stands for Exchange both IPv4 and IPv6 routes over IPv4 peering. exchange-v4-over-v4-v6-over-v6 stands for Exchange IPv4 routes over IPv4 peer and IPv6 route over IPv6 peer. exchange-v6-over-v6 stands for Exchange IPv6 routes over IPv6 peering. String must be one of these: `"exchange-v4-over-v4"`, `"exchange-v4-v6-over-v4"`, `"exchange-v4-over-v4-v6-over-v6"`, `"exchange-v6-over-v6"`.
     * 
     */
    public Optional> peeringType() {
        return Optional.ofNullable(this.peeringType);
    }

    /**
     * The Secret param.
     * 
     */
    @Import(name="secret")
    private @Nullable Output secret;

    /**
     * @return The Secret param.
     * 
     */
    public Optional> secret() {
        return Optional.ofNullable(this.secret);
    }

    /**
     * The SummarizeMobileUserRoutes param.
     * 
     */
    @Import(name="summarizeMobileUserRoutes")
    private @Nullable Output summarizeMobileUserRoutes;

    /**
     * @return The SummarizeMobileUserRoutes param.
     * 
     */
    public Optional> summarizeMobileUserRoutes() {
        return Optional.ofNullable(this.summarizeMobileUserRoutes);
    }

    private RemoteNetworkProtocolBgpArgs() {}

    private RemoteNetworkProtocolBgpArgs(RemoteNetworkProtocolBgpArgs $) {
        this.doNotExportRoutes = $.doNotExportRoutes;
        this.enable = $.enable;
        this.localIpAddress = $.localIpAddress;
        this.originateDefaultRoute = $.originateDefaultRoute;
        this.peerAs = $.peerAs;
        this.peerIpAddress = $.peerIpAddress;
        this.peeringType = $.peeringType;
        this.secret = $.secret;
        this.summarizeMobileUserRoutes = $.summarizeMobileUserRoutes;
    }

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

    public static final class Builder {
        private RemoteNetworkProtocolBgpArgs $;

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

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

        /**
         * @param doNotExportRoutes The DoNotExportRoutes param.
         * 
         * @return builder
         * 
         */
        public Builder doNotExportRoutes(@Nullable Output doNotExportRoutes) {
            $.doNotExportRoutes = doNotExportRoutes;
            return this;
        }

        /**
         * @param doNotExportRoutes The DoNotExportRoutes param.
         * 
         * @return builder
         * 
         */
        public Builder doNotExportRoutes(Boolean doNotExportRoutes) {
            return doNotExportRoutes(Output.of(doNotExportRoutes));
        }

        /**
         * @param enable to setup bgp protocol, enable need to set as true.
         * 
         * @return builder
         * 
         */
        public Builder enable(@Nullable Output enable) {
            $.enable = enable;
            return this;
        }

        /**
         * @param enable to setup bgp protocol, enable need to set as true.
         * 
         * @return builder
         * 
         */
        public Builder enable(Boolean enable) {
            return enable(Output.of(enable));
        }

        /**
         * @param localIpAddress The LocalIpAddress param.
         * 
         * @return builder
         * 
         */
        public Builder localIpAddress(@Nullable Output localIpAddress) {
            $.localIpAddress = localIpAddress;
            return this;
        }

        /**
         * @param localIpAddress The LocalIpAddress param.
         * 
         * @return builder
         * 
         */
        public Builder localIpAddress(String localIpAddress) {
            return localIpAddress(Output.of(localIpAddress));
        }

        /**
         * @param originateDefaultRoute The OriginateDefaultRoute param.
         * 
         * @return builder
         * 
         */
        public Builder originateDefaultRoute(@Nullable Output originateDefaultRoute) {
            $.originateDefaultRoute = originateDefaultRoute;
            return this;
        }

        /**
         * @param originateDefaultRoute The OriginateDefaultRoute param.
         * 
         * @return builder
         * 
         */
        public Builder originateDefaultRoute(Boolean originateDefaultRoute) {
            return originateDefaultRoute(Output.of(originateDefaultRoute));
        }

        /**
         * @param peerAs The PeerAs param.
         * 
         * @return builder
         * 
         */
        public Builder peerAs(@Nullable Output peerAs) {
            $.peerAs = peerAs;
            return this;
        }

        /**
         * @param peerAs The PeerAs param.
         * 
         * @return builder
         * 
         */
        public Builder peerAs(String peerAs) {
            return peerAs(Output.of(peerAs));
        }

        /**
         * @param peerIpAddress The PeerIpAddress param.
         * 
         * @return builder
         * 
         */
        public Builder peerIpAddress(@Nullable Output peerIpAddress) {
            $.peerIpAddress = peerIpAddress;
            return this;
        }

        /**
         * @param peerIpAddress The PeerIpAddress param.
         * 
         * @return builder
         * 
         */
        public Builder peerIpAddress(String peerIpAddress) {
            return peerIpAddress(Output.of(peerIpAddress));
        }

        /**
         * @param peeringType Exchange Routes: exchange-v4-over-v4 stands for Exchange IPv4 routes over IPv4 peering. exchange-v4-v6-over-v4 stands for Exchange both IPv4 and IPv6 routes over IPv4 peering. exchange-v4-over-v4-v6-over-v6 stands for Exchange IPv4 routes over IPv4 peer and IPv6 route over IPv6 peer. exchange-v6-over-v6 stands for Exchange IPv6 routes over IPv6 peering. String must be one of these: `"exchange-v4-over-v4"`, `"exchange-v4-v6-over-v4"`, `"exchange-v4-over-v4-v6-over-v6"`, `"exchange-v6-over-v6"`.
         * 
         * @return builder
         * 
         */
        public Builder peeringType(@Nullable Output peeringType) {
            $.peeringType = peeringType;
            return this;
        }

        /**
         * @param peeringType Exchange Routes: exchange-v4-over-v4 stands for Exchange IPv4 routes over IPv4 peering. exchange-v4-v6-over-v4 stands for Exchange both IPv4 and IPv6 routes over IPv4 peering. exchange-v4-over-v4-v6-over-v6 stands for Exchange IPv4 routes over IPv4 peer and IPv6 route over IPv6 peer. exchange-v6-over-v6 stands for Exchange IPv6 routes over IPv6 peering. String must be one of these: `"exchange-v4-over-v4"`, `"exchange-v4-v6-over-v4"`, `"exchange-v4-over-v4-v6-over-v6"`, `"exchange-v6-over-v6"`.
         * 
         * @return builder
         * 
         */
        public Builder peeringType(String peeringType) {
            return peeringType(Output.of(peeringType));
        }

        /**
         * @param secret The Secret param.
         * 
         * @return builder
         * 
         */
        public Builder secret(@Nullable Output secret) {
            $.secret = secret;
            return this;
        }

        /**
         * @param secret The Secret param.
         * 
         * @return builder
         * 
         */
        public Builder secret(String secret) {
            return secret(Output.of(secret));
        }

        /**
         * @param summarizeMobileUserRoutes The SummarizeMobileUserRoutes param.
         * 
         * @return builder
         * 
         */
        public Builder summarizeMobileUserRoutes(@Nullable Output summarizeMobileUserRoutes) {
            $.summarizeMobileUserRoutes = summarizeMobileUserRoutes;
            return this;
        }

        /**
         * @param summarizeMobileUserRoutes The SummarizeMobileUserRoutes param.
         * 
         * @return builder
         * 
         */
        public Builder summarizeMobileUserRoutes(Boolean summarizeMobileUserRoutes) {
            return summarizeMobileUserRoutes(Output.of(summarizeMobileUserRoutes));
        }

        public RemoteNetworkProtocolBgpArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy