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

com.pulumi.azurenative.peering.inputs.BgpSessionArgs 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.peering.inputs;

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


/**
 * The properties that define a BGP session.
 * 
 */
public final class BgpSessionArgs extends com.pulumi.resources.ResourceArgs {

    public static final BgpSessionArgs Empty = new BgpSessionArgs();

    /**
     * The maximum number of prefixes advertised over the IPv4 session.
     * 
     */
    @Import(name="maxPrefixesAdvertisedV4")
    private @Nullable Output maxPrefixesAdvertisedV4;

    /**
     * @return The maximum number of prefixes advertised over the IPv4 session.
     * 
     */
    public Optional> maxPrefixesAdvertisedV4() {
        return Optional.ofNullable(this.maxPrefixesAdvertisedV4);
    }

    /**
     * The maximum number of prefixes advertised over the IPv6 session.
     * 
     */
    @Import(name="maxPrefixesAdvertisedV6")
    private @Nullable Output maxPrefixesAdvertisedV6;

    /**
     * @return The maximum number of prefixes advertised over the IPv6 session.
     * 
     */
    public Optional> maxPrefixesAdvertisedV6() {
        return Optional.ofNullable(this.maxPrefixesAdvertisedV6);
    }

    /**
     * The MD5 authentication key of the session.
     * 
     */
    @Import(name="md5AuthenticationKey")
    private @Nullable Output md5AuthenticationKey;

    /**
     * @return The MD5 authentication key of the session.
     * 
     */
    public Optional> md5AuthenticationKey() {
        return Optional.ofNullable(this.md5AuthenticationKey);
    }

    /**
     * The IPv4 session address on Microsoft's end.
     * 
     */
    @Import(name="microsoftSessionIPv4Address")
    private @Nullable Output microsoftSessionIPv4Address;

    /**
     * @return The IPv4 session address on Microsoft's end.
     * 
     */
    public Optional> microsoftSessionIPv4Address() {
        return Optional.ofNullable(this.microsoftSessionIPv4Address);
    }

    /**
     * The IPv6 session address on Microsoft's end.
     * 
     */
    @Import(name="microsoftSessionIPv6Address")
    private @Nullable Output microsoftSessionIPv6Address;

    /**
     * @return The IPv6 session address on Microsoft's end.
     * 
     */
    public Optional> microsoftSessionIPv6Address() {
        return Optional.ofNullable(this.microsoftSessionIPv6Address);
    }

    /**
     * The IPv4 session address on peer's end.
     * 
     */
    @Import(name="peerSessionIPv4Address")
    private @Nullable Output peerSessionIPv4Address;

    /**
     * @return The IPv4 session address on peer's end.
     * 
     */
    public Optional> peerSessionIPv4Address() {
        return Optional.ofNullable(this.peerSessionIPv4Address);
    }

    /**
     * The IPv6 session address on peer's end.
     * 
     */
    @Import(name="peerSessionIPv6Address")
    private @Nullable Output peerSessionIPv6Address;

    /**
     * @return The IPv6 session address on peer's end.
     * 
     */
    public Optional> peerSessionIPv6Address() {
        return Optional.ofNullable(this.peerSessionIPv6Address);
    }

    /**
     * The IPv4 prefix that contains both ends' IPv4 addresses.
     * 
     */
    @Import(name="sessionPrefixV4")
    private @Nullable Output sessionPrefixV4;

    /**
     * @return The IPv4 prefix that contains both ends' IPv4 addresses.
     * 
     */
    public Optional> sessionPrefixV4() {
        return Optional.ofNullable(this.sessionPrefixV4);
    }

    /**
     * The IPv6 prefix that contains both ends' IPv6 addresses.
     * 
     */
    @Import(name="sessionPrefixV6")
    private @Nullable Output sessionPrefixV6;

    /**
     * @return The IPv6 prefix that contains both ends' IPv6 addresses.
     * 
     */
    public Optional> sessionPrefixV6() {
        return Optional.ofNullable(this.sessionPrefixV6);
    }

    private BgpSessionArgs() {}

    private BgpSessionArgs(BgpSessionArgs $) {
        this.maxPrefixesAdvertisedV4 = $.maxPrefixesAdvertisedV4;
        this.maxPrefixesAdvertisedV6 = $.maxPrefixesAdvertisedV6;
        this.md5AuthenticationKey = $.md5AuthenticationKey;
        this.microsoftSessionIPv4Address = $.microsoftSessionIPv4Address;
        this.microsoftSessionIPv6Address = $.microsoftSessionIPv6Address;
        this.peerSessionIPv4Address = $.peerSessionIPv4Address;
        this.peerSessionIPv6Address = $.peerSessionIPv6Address;
        this.sessionPrefixV4 = $.sessionPrefixV4;
        this.sessionPrefixV6 = $.sessionPrefixV6;
    }

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

    public static final class Builder {
        private BgpSessionArgs $;

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

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

        /**
         * @param maxPrefixesAdvertisedV4 The maximum number of prefixes advertised over the IPv4 session.
         * 
         * @return builder
         * 
         */
        public Builder maxPrefixesAdvertisedV4(@Nullable Output maxPrefixesAdvertisedV4) {
            $.maxPrefixesAdvertisedV4 = maxPrefixesAdvertisedV4;
            return this;
        }

        /**
         * @param maxPrefixesAdvertisedV4 The maximum number of prefixes advertised over the IPv4 session.
         * 
         * @return builder
         * 
         */
        public Builder maxPrefixesAdvertisedV4(Integer maxPrefixesAdvertisedV4) {
            return maxPrefixesAdvertisedV4(Output.of(maxPrefixesAdvertisedV4));
        }

        /**
         * @param maxPrefixesAdvertisedV6 The maximum number of prefixes advertised over the IPv6 session.
         * 
         * @return builder
         * 
         */
        public Builder maxPrefixesAdvertisedV6(@Nullable Output maxPrefixesAdvertisedV6) {
            $.maxPrefixesAdvertisedV6 = maxPrefixesAdvertisedV6;
            return this;
        }

        /**
         * @param maxPrefixesAdvertisedV6 The maximum number of prefixes advertised over the IPv6 session.
         * 
         * @return builder
         * 
         */
        public Builder maxPrefixesAdvertisedV6(Integer maxPrefixesAdvertisedV6) {
            return maxPrefixesAdvertisedV6(Output.of(maxPrefixesAdvertisedV6));
        }

        /**
         * @param md5AuthenticationKey The MD5 authentication key of the session.
         * 
         * @return builder
         * 
         */
        public Builder md5AuthenticationKey(@Nullable Output md5AuthenticationKey) {
            $.md5AuthenticationKey = md5AuthenticationKey;
            return this;
        }

        /**
         * @param md5AuthenticationKey The MD5 authentication key of the session.
         * 
         * @return builder
         * 
         */
        public Builder md5AuthenticationKey(String md5AuthenticationKey) {
            return md5AuthenticationKey(Output.of(md5AuthenticationKey));
        }

        /**
         * @param microsoftSessionIPv4Address The IPv4 session address on Microsoft's end.
         * 
         * @return builder
         * 
         */
        public Builder microsoftSessionIPv4Address(@Nullable Output microsoftSessionIPv4Address) {
            $.microsoftSessionIPv4Address = microsoftSessionIPv4Address;
            return this;
        }

        /**
         * @param microsoftSessionIPv4Address The IPv4 session address on Microsoft's end.
         * 
         * @return builder
         * 
         */
        public Builder microsoftSessionIPv4Address(String microsoftSessionIPv4Address) {
            return microsoftSessionIPv4Address(Output.of(microsoftSessionIPv4Address));
        }

        /**
         * @param microsoftSessionIPv6Address The IPv6 session address on Microsoft's end.
         * 
         * @return builder
         * 
         */
        public Builder microsoftSessionIPv6Address(@Nullable Output microsoftSessionIPv6Address) {
            $.microsoftSessionIPv6Address = microsoftSessionIPv6Address;
            return this;
        }

        /**
         * @param microsoftSessionIPv6Address The IPv6 session address on Microsoft's end.
         * 
         * @return builder
         * 
         */
        public Builder microsoftSessionIPv6Address(String microsoftSessionIPv6Address) {
            return microsoftSessionIPv6Address(Output.of(microsoftSessionIPv6Address));
        }

        /**
         * @param peerSessionIPv4Address The IPv4 session address on peer's end.
         * 
         * @return builder
         * 
         */
        public Builder peerSessionIPv4Address(@Nullable Output peerSessionIPv4Address) {
            $.peerSessionIPv4Address = peerSessionIPv4Address;
            return this;
        }

        /**
         * @param peerSessionIPv4Address The IPv4 session address on peer's end.
         * 
         * @return builder
         * 
         */
        public Builder peerSessionIPv4Address(String peerSessionIPv4Address) {
            return peerSessionIPv4Address(Output.of(peerSessionIPv4Address));
        }

        /**
         * @param peerSessionIPv6Address The IPv6 session address on peer's end.
         * 
         * @return builder
         * 
         */
        public Builder peerSessionIPv6Address(@Nullable Output peerSessionIPv6Address) {
            $.peerSessionIPv6Address = peerSessionIPv6Address;
            return this;
        }

        /**
         * @param peerSessionIPv6Address The IPv6 session address on peer's end.
         * 
         * @return builder
         * 
         */
        public Builder peerSessionIPv6Address(String peerSessionIPv6Address) {
            return peerSessionIPv6Address(Output.of(peerSessionIPv6Address));
        }

        /**
         * @param sessionPrefixV4 The IPv4 prefix that contains both ends' IPv4 addresses.
         * 
         * @return builder
         * 
         */
        public Builder sessionPrefixV4(@Nullable Output sessionPrefixV4) {
            $.sessionPrefixV4 = sessionPrefixV4;
            return this;
        }

        /**
         * @param sessionPrefixV4 The IPv4 prefix that contains both ends' IPv4 addresses.
         * 
         * @return builder
         * 
         */
        public Builder sessionPrefixV4(String sessionPrefixV4) {
            return sessionPrefixV4(Output.of(sessionPrefixV4));
        }

        /**
         * @param sessionPrefixV6 The IPv6 prefix that contains both ends' IPv6 addresses.
         * 
         * @return builder
         * 
         */
        public Builder sessionPrefixV6(@Nullable Output sessionPrefixV6) {
            $.sessionPrefixV6 = sessionPrefixV6;
            return this;
        }

        /**
         * @param sessionPrefixV6 The IPv6 prefix that contains both ends' IPv6 addresses.
         * 
         * @return builder
         * 
         */
        public Builder sessionPrefixV6(String sessionPrefixV6) {
            return sessionPrefixV6(Output.of(sessionPrefixV6));
        }

        public BgpSessionArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy