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

com.pulumi.azurenative.peering.inputs.DirectConnectionArgs 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.azurenative.peering.enums.SessionAddressProvider;
import com.pulumi.azurenative.peering.inputs.BgpSessionArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
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 direct connection.
 * 
 */
public final class DirectConnectionArgs extends com.pulumi.resources.ResourceArgs {

    public static final DirectConnectionArgs Empty = new DirectConnectionArgs();

    /**
     * The bandwidth of the connection.
     * 
     */
    @Import(name="bandwidthInMbps")
    private @Nullable Output bandwidthInMbps;

    /**
     * @return The bandwidth of the connection.
     * 
     */
    public Optional> bandwidthInMbps() {
        return Optional.ofNullable(this.bandwidthInMbps);
    }

    /**
     * The BGP session associated with the connection.
     * 
     */
    @Import(name="bgpSession")
    private @Nullable Output bgpSession;

    /**
     * @return The BGP session associated with the connection.
     * 
     */
    public Optional> bgpSession() {
        return Optional.ofNullable(this.bgpSession);
    }

    /**
     * The unique identifier (GUID) for the connection.
     * 
     */
    @Import(name="connectionIdentifier")
    private @Nullable Output connectionIdentifier;

    /**
     * @return The unique identifier (GUID) for the connection.
     * 
     */
    public Optional> connectionIdentifier() {
        return Optional.ofNullable(this.connectionIdentifier);
    }

    /**
     * The PeeringDB.com ID of the facility at which the connection has to be set up.
     * 
     */
    @Import(name="peeringDBFacilityId")
    private @Nullable Output peeringDBFacilityId;

    /**
     * @return The PeeringDB.com ID of the facility at which the connection has to be set up.
     * 
     */
    public Optional> peeringDBFacilityId() {
        return Optional.ofNullable(this.peeringDBFacilityId);
    }

    /**
     * The field indicating if Microsoft provides session ip addresses.
     * 
     */
    @Import(name="sessionAddressProvider")
    private @Nullable Output> sessionAddressProvider;

    /**
     * @return The field indicating if Microsoft provides session ip addresses.
     * 
     */
    public Optional>> sessionAddressProvider() {
        return Optional.ofNullable(this.sessionAddressProvider);
    }

    /**
     * The flag that indicates whether or not the connection is used for peering service.
     * 
     */
    @Import(name="useForPeeringService")
    private @Nullable Output useForPeeringService;

    /**
     * @return The flag that indicates whether or not the connection is used for peering service.
     * 
     */
    public Optional> useForPeeringService() {
        return Optional.ofNullable(this.useForPeeringService);
    }

    private DirectConnectionArgs() {}

    private DirectConnectionArgs(DirectConnectionArgs $) {
        this.bandwidthInMbps = $.bandwidthInMbps;
        this.bgpSession = $.bgpSession;
        this.connectionIdentifier = $.connectionIdentifier;
        this.peeringDBFacilityId = $.peeringDBFacilityId;
        this.sessionAddressProvider = $.sessionAddressProvider;
        this.useForPeeringService = $.useForPeeringService;
    }

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

    public static final class Builder {
        private DirectConnectionArgs $;

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

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

        /**
         * @param bandwidthInMbps The bandwidth of the connection.
         * 
         * @return builder
         * 
         */
        public Builder bandwidthInMbps(@Nullable Output bandwidthInMbps) {
            $.bandwidthInMbps = bandwidthInMbps;
            return this;
        }

        /**
         * @param bandwidthInMbps The bandwidth of the connection.
         * 
         * @return builder
         * 
         */
        public Builder bandwidthInMbps(Integer bandwidthInMbps) {
            return bandwidthInMbps(Output.of(bandwidthInMbps));
        }

        /**
         * @param bgpSession The BGP session associated with the connection.
         * 
         * @return builder
         * 
         */
        public Builder bgpSession(@Nullable Output bgpSession) {
            $.bgpSession = bgpSession;
            return this;
        }

        /**
         * @param bgpSession The BGP session associated with the connection.
         * 
         * @return builder
         * 
         */
        public Builder bgpSession(BgpSessionArgs bgpSession) {
            return bgpSession(Output.of(bgpSession));
        }

        /**
         * @param connectionIdentifier The unique identifier (GUID) for the connection.
         * 
         * @return builder
         * 
         */
        public Builder connectionIdentifier(@Nullable Output connectionIdentifier) {
            $.connectionIdentifier = connectionIdentifier;
            return this;
        }

        /**
         * @param connectionIdentifier The unique identifier (GUID) for the connection.
         * 
         * @return builder
         * 
         */
        public Builder connectionIdentifier(String connectionIdentifier) {
            return connectionIdentifier(Output.of(connectionIdentifier));
        }

        /**
         * @param peeringDBFacilityId The PeeringDB.com ID of the facility at which the connection has to be set up.
         * 
         * @return builder
         * 
         */
        public Builder peeringDBFacilityId(@Nullable Output peeringDBFacilityId) {
            $.peeringDBFacilityId = peeringDBFacilityId;
            return this;
        }

        /**
         * @param peeringDBFacilityId The PeeringDB.com ID of the facility at which the connection has to be set up.
         * 
         * @return builder
         * 
         */
        public Builder peeringDBFacilityId(Integer peeringDBFacilityId) {
            return peeringDBFacilityId(Output.of(peeringDBFacilityId));
        }

        /**
         * @param sessionAddressProvider The field indicating if Microsoft provides session ip addresses.
         * 
         * @return builder
         * 
         */
        public Builder sessionAddressProvider(@Nullable Output> sessionAddressProvider) {
            $.sessionAddressProvider = sessionAddressProvider;
            return this;
        }

        /**
         * @param sessionAddressProvider The field indicating if Microsoft provides session ip addresses.
         * 
         * @return builder
         * 
         */
        public Builder sessionAddressProvider(Either sessionAddressProvider) {
            return sessionAddressProvider(Output.of(sessionAddressProvider));
        }

        /**
         * @param sessionAddressProvider The field indicating if Microsoft provides session ip addresses.
         * 
         * @return builder
         * 
         */
        public Builder sessionAddressProvider(String sessionAddressProvider) {
            return sessionAddressProvider(Either.ofLeft(sessionAddressProvider));
        }

        /**
         * @param sessionAddressProvider The field indicating if Microsoft provides session ip addresses.
         * 
         * @return builder
         * 
         */
        public Builder sessionAddressProvider(SessionAddressProvider sessionAddressProvider) {
            return sessionAddressProvider(Either.ofRight(sessionAddressProvider));
        }

        /**
         * @param useForPeeringService The flag that indicates whether or not the connection is used for peering service.
         * 
         * @return builder
         * 
         */
        public Builder useForPeeringService(@Nullable Output useForPeeringService) {
            $.useForPeeringService = useForPeeringService;
            return this;
        }

        /**
         * @param useForPeeringService The flag that indicates whether or not the connection is used for peering service.
         * 
         * @return builder
         * 
         */
        public Builder useForPeeringService(Boolean useForPeeringService) {
            return useForPeeringService(Output.of(useForPeeringService));
        }

        public DirectConnectionArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy