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

com.pulumi.azurenative.peering.outputs.BgpSessionResponse 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.peering.outputs;

import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class BgpSessionResponse {
    /**
     * @return The maximum number of prefixes advertised over the IPv4 session.
     * 
     */
    private @Nullable Integer maxPrefixesAdvertisedV4;
    /**
     * @return The maximum number of prefixes advertised over the IPv6 session.
     * 
     */
    private @Nullable Integer maxPrefixesAdvertisedV6;
    /**
     * @return The MD5 authentication key of the session.
     * 
     */
    private @Nullable String md5AuthenticationKey;
    /**
     * @return The IPv4 session address on Microsoft's end.
     * 
     */
    private @Nullable String microsoftSessionIPv4Address;
    /**
     * @return The IPv6 session address on Microsoft's end.
     * 
     */
    private @Nullable String microsoftSessionIPv6Address;
    /**
     * @return The IPv4 session address on peer's end.
     * 
     */
    private @Nullable String peerSessionIPv4Address;
    /**
     * @return The IPv6 session address on peer's end.
     * 
     */
    private @Nullable String peerSessionIPv6Address;
    /**
     * @return The IPv4 prefix that contains both ends' IPv4 addresses.
     * 
     */
    private @Nullable String sessionPrefixV4;
    /**
     * @return The IPv6 prefix that contains both ends' IPv6 addresses.
     * 
     */
    private @Nullable String sessionPrefixV6;
    /**
     * @return The state of the IPv4 session.
     * 
     */
    private String sessionStateV4;
    /**
     * @return The state of the IPv6 session.
     * 
     */
    private String sessionStateV6;

    private BgpSessionResponse() {}
    /**
     * @return The maximum number of prefixes advertised over the IPv4 session.
     * 
     */
    public Optional maxPrefixesAdvertisedV4() {
        return Optional.ofNullable(this.maxPrefixesAdvertisedV4);
    }
    /**
     * @return The maximum number of prefixes advertised over the IPv6 session.
     * 
     */
    public Optional maxPrefixesAdvertisedV6() {
        return Optional.ofNullable(this.maxPrefixesAdvertisedV6);
    }
    /**
     * @return The MD5 authentication key of the session.
     * 
     */
    public Optional md5AuthenticationKey() {
        return Optional.ofNullable(this.md5AuthenticationKey);
    }
    /**
     * @return The IPv4 session address on Microsoft's end.
     * 
     */
    public Optional microsoftSessionIPv4Address() {
        return Optional.ofNullable(this.microsoftSessionIPv4Address);
    }
    /**
     * @return The IPv6 session address on Microsoft's end.
     * 
     */
    public Optional microsoftSessionIPv6Address() {
        return Optional.ofNullable(this.microsoftSessionIPv6Address);
    }
    /**
     * @return The IPv4 session address on peer's end.
     * 
     */
    public Optional peerSessionIPv4Address() {
        return Optional.ofNullable(this.peerSessionIPv4Address);
    }
    /**
     * @return The IPv6 session address on peer's end.
     * 
     */
    public Optional peerSessionIPv6Address() {
        return Optional.ofNullable(this.peerSessionIPv6Address);
    }
    /**
     * @return The IPv4 prefix that contains both ends' IPv4 addresses.
     * 
     */
    public Optional sessionPrefixV4() {
        return Optional.ofNullable(this.sessionPrefixV4);
    }
    /**
     * @return The IPv6 prefix that contains both ends' IPv6 addresses.
     * 
     */
    public Optional sessionPrefixV6() {
        return Optional.ofNullable(this.sessionPrefixV6);
    }
    /**
     * @return The state of the IPv4 session.
     * 
     */
    public String sessionStateV4() {
        return this.sessionStateV4;
    }
    /**
     * @return The state of the IPv6 session.
     * 
     */
    public String sessionStateV6() {
        return this.sessionStateV6;
    }

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

    public static Builder builder(BgpSessionResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable Integer maxPrefixesAdvertisedV4;
        private @Nullable Integer maxPrefixesAdvertisedV6;
        private @Nullable String md5AuthenticationKey;
        private @Nullable String microsoftSessionIPv4Address;
        private @Nullable String microsoftSessionIPv6Address;
        private @Nullable String peerSessionIPv4Address;
        private @Nullable String peerSessionIPv6Address;
        private @Nullable String sessionPrefixV4;
        private @Nullable String sessionPrefixV6;
        private String sessionStateV4;
        private String sessionStateV6;
        public Builder() {}
        public Builder(BgpSessionResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.maxPrefixesAdvertisedV4 = defaults.maxPrefixesAdvertisedV4;
    	      this.maxPrefixesAdvertisedV6 = defaults.maxPrefixesAdvertisedV6;
    	      this.md5AuthenticationKey = defaults.md5AuthenticationKey;
    	      this.microsoftSessionIPv4Address = defaults.microsoftSessionIPv4Address;
    	      this.microsoftSessionIPv6Address = defaults.microsoftSessionIPv6Address;
    	      this.peerSessionIPv4Address = defaults.peerSessionIPv4Address;
    	      this.peerSessionIPv6Address = defaults.peerSessionIPv6Address;
    	      this.sessionPrefixV4 = defaults.sessionPrefixV4;
    	      this.sessionPrefixV6 = defaults.sessionPrefixV6;
    	      this.sessionStateV4 = defaults.sessionStateV4;
    	      this.sessionStateV6 = defaults.sessionStateV6;
        }

        @CustomType.Setter
        public Builder maxPrefixesAdvertisedV4(@Nullable Integer maxPrefixesAdvertisedV4) {

            this.maxPrefixesAdvertisedV4 = maxPrefixesAdvertisedV4;
            return this;
        }
        @CustomType.Setter
        public Builder maxPrefixesAdvertisedV6(@Nullable Integer maxPrefixesAdvertisedV6) {

            this.maxPrefixesAdvertisedV6 = maxPrefixesAdvertisedV6;
            return this;
        }
        @CustomType.Setter
        public Builder md5AuthenticationKey(@Nullable String md5AuthenticationKey) {

            this.md5AuthenticationKey = md5AuthenticationKey;
            return this;
        }
        @CustomType.Setter
        public Builder microsoftSessionIPv4Address(@Nullable String microsoftSessionIPv4Address) {

            this.microsoftSessionIPv4Address = microsoftSessionIPv4Address;
            return this;
        }
        @CustomType.Setter
        public Builder microsoftSessionIPv6Address(@Nullable String microsoftSessionIPv6Address) {

            this.microsoftSessionIPv6Address = microsoftSessionIPv6Address;
            return this;
        }
        @CustomType.Setter
        public Builder peerSessionIPv4Address(@Nullable String peerSessionIPv4Address) {

            this.peerSessionIPv4Address = peerSessionIPv4Address;
            return this;
        }
        @CustomType.Setter
        public Builder peerSessionIPv6Address(@Nullable String peerSessionIPv6Address) {

            this.peerSessionIPv6Address = peerSessionIPv6Address;
            return this;
        }
        @CustomType.Setter
        public Builder sessionPrefixV4(@Nullable String sessionPrefixV4) {

            this.sessionPrefixV4 = sessionPrefixV4;
            return this;
        }
        @CustomType.Setter
        public Builder sessionPrefixV6(@Nullable String sessionPrefixV6) {

            this.sessionPrefixV6 = sessionPrefixV6;
            return this;
        }
        @CustomType.Setter
        public Builder sessionStateV4(String sessionStateV4) {
            if (sessionStateV4 == null) {
              throw new MissingRequiredPropertyException("BgpSessionResponse", "sessionStateV4");
            }
            this.sessionStateV4 = sessionStateV4;
            return this;
        }
        @CustomType.Setter
        public Builder sessionStateV6(String sessionStateV6) {
            if (sessionStateV6 == null) {
              throw new MissingRequiredPropertyException("BgpSessionResponse", "sessionStateV6");
            }
            this.sessionStateV6 = sessionStateV6;
            return this;
        }
        public BgpSessionResponse build() {
            final var _resultValue = new BgpSessionResponse();
            _resultValue.maxPrefixesAdvertisedV4 = maxPrefixesAdvertisedV4;
            _resultValue.maxPrefixesAdvertisedV6 = maxPrefixesAdvertisedV6;
            _resultValue.md5AuthenticationKey = md5AuthenticationKey;
            _resultValue.microsoftSessionIPv4Address = microsoftSessionIPv4Address;
            _resultValue.microsoftSessionIPv6Address = microsoftSessionIPv6Address;
            _resultValue.peerSessionIPv4Address = peerSessionIPv4Address;
            _resultValue.peerSessionIPv6Address = peerSessionIPv6Address;
            _resultValue.sessionPrefixV4 = sessionPrefixV4;
            _resultValue.sessionPrefixV6 = sessionPrefixV6;
            _resultValue.sessionStateV4 = sessionStateV4;
            _resultValue.sessionStateV6 = sessionStateV6;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy