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

com.pulumi.aws.opensearch.OutboundConnectionArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

The 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.aws.opensearch;

import com.pulumi.aws.opensearch.inputs.OutboundConnectionConnectionPropertiesArgs;
import com.pulumi.aws.opensearch.inputs.OutboundConnectionLocalDomainInfoArgs;
import com.pulumi.aws.opensearch.inputs.OutboundConnectionRemoteDomainInfoArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final OutboundConnectionArgs Empty = new OutboundConnectionArgs();

    /**
     * Accepts the connection.
     * 
     */
    @Import(name="acceptConnection")
    private @Nullable Output acceptConnection;

    /**
     * @return Accepts the connection.
     * 
     */
    public Optional> acceptConnection() {
        return Optional.ofNullable(this.acceptConnection);
    }

    /**
     * Specifies the connection alias that will be used by the customer for this connection.
     * 
     */
    @Import(name="connectionAlias", required=true)
    private Output connectionAlias;

    /**
     * @return Specifies the connection alias that will be used by the customer for this connection.
     * 
     */
    public Output connectionAlias() {
        return this.connectionAlias;
    }

    /**
     * Specifies the connection mode. Accepted values are `DIRECT` or `VPC_ENDPOINT`.
     * 
     */
    @Import(name="connectionMode")
    private @Nullable Output connectionMode;

    /**
     * @return Specifies the connection mode. Accepted values are `DIRECT` or `VPC_ENDPOINT`.
     * 
     */
    public Optional> connectionMode() {
        return Optional.ofNullable(this.connectionMode);
    }

    /**
     * Configuration block for the outbound connection.
     * 
     */
    @Import(name="connectionProperties")
    private @Nullable Output connectionProperties;

    /**
     * @return Configuration block for the outbound connection.
     * 
     */
    public Optional> connectionProperties() {
        return Optional.ofNullable(this.connectionProperties);
    }

    /**
     * Configuration block for the local Opensearch domain.
     * 
     */
    @Import(name="localDomainInfo", required=true)
    private Output localDomainInfo;

    /**
     * @return Configuration block for the local Opensearch domain.
     * 
     */
    public Output localDomainInfo() {
        return this.localDomainInfo;
    }

    /**
     * Configuration block for the remote Opensearch domain.
     * 
     */
    @Import(name="remoteDomainInfo", required=true)
    private Output remoteDomainInfo;

    /**
     * @return Configuration block for the remote Opensearch domain.
     * 
     */
    public Output remoteDomainInfo() {
        return this.remoteDomainInfo;
    }

    private OutboundConnectionArgs() {}

    private OutboundConnectionArgs(OutboundConnectionArgs $) {
        this.acceptConnection = $.acceptConnection;
        this.connectionAlias = $.connectionAlias;
        this.connectionMode = $.connectionMode;
        this.connectionProperties = $.connectionProperties;
        this.localDomainInfo = $.localDomainInfo;
        this.remoteDomainInfo = $.remoteDomainInfo;
    }

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

    public static final class Builder {
        private OutboundConnectionArgs $;

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

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

        /**
         * @param acceptConnection Accepts the connection.
         * 
         * @return builder
         * 
         */
        public Builder acceptConnection(@Nullable Output acceptConnection) {
            $.acceptConnection = acceptConnection;
            return this;
        }

        /**
         * @param acceptConnection Accepts the connection.
         * 
         * @return builder
         * 
         */
        public Builder acceptConnection(Boolean acceptConnection) {
            return acceptConnection(Output.of(acceptConnection));
        }

        /**
         * @param connectionAlias Specifies the connection alias that will be used by the customer for this connection.
         * 
         * @return builder
         * 
         */
        public Builder connectionAlias(Output connectionAlias) {
            $.connectionAlias = connectionAlias;
            return this;
        }

        /**
         * @param connectionAlias Specifies the connection alias that will be used by the customer for this connection.
         * 
         * @return builder
         * 
         */
        public Builder connectionAlias(String connectionAlias) {
            return connectionAlias(Output.of(connectionAlias));
        }

        /**
         * @param connectionMode Specifies the connection mode. Accepted values are `DIRECT` or `VPC_ENDPOINT`.
         * 
         * @return builder
         * 
         */
        public Builder connectionMode(@Nullable Output connectionMode) {
            $.connectionMode = connectionMode;
            return this;
        }

        /**
         * @param connectionMode Specifies the connection mode. Accepted values are `DIRECT` or `VPC_ENDPOINT`.
         * 
         * @return builder
         * 
         */
        public Builder connectionMode(String connectionMode) {
            return connectionMode(Output.of(connectionMode));
        }

        /**
         * @param connectionProperties Configuration block for the outbound connection.
         * 
         * @return builder
         * 
         */
        public Builder connectionProperties(@Nullable Output connectionProperties) {
            $.connectionProperties = connectionProperties;
            return this;
        }

        /**
         * @param connectionProperties Configuration block for the outbound connection.
         * 
         * @return builder
         * 
         */
        public Builder connectionProperties(OutboundConnectionConnectionPropertiesArgs connectionProperties) {
            return connectionProperties(Output.of(connectionProperties));
        }

        /**
         * @param localDomainInfo Configuration block for the local Opensearch domain.
         * 
         * @return builder
         * 
         */
        public Builder localDomainInfo(Output localDomainInfo) {
            $.localDomainInfo = localDomainInfo;
            return this;
        }

        /**
         * @param localDomainInfo Configuration block for the local Opensearch domain.
         * 
         * @return builder
         * 
         */
        public Builder localDomainInfo(OutboundConnectionLocalDomainInfoArgs localDomainInfo) {
            return localDomainInfo(Output.of(localDomainInfo));
        }

        /**
         * @param remoteDomainInfo Configuration block for the remote Opensearch domain.
         * 
         * @return builder
         * 
         */
        public Builder remoteDomainInfo(Output remoteDomainInfo) {
            $.remoteDomainInfo = remoteDomainInfo;
            return this;
        }

        /**
         * @param remoteDomainInfo Configuration block for the remote Opensearch domain.
         * 
         * @return builder
         * 
         */
        public Builder remoteDomainInfo(OutboundConnectionRemoteDomainInfoArgs remoteDomainInfo) {
            return remoteDomainInfo(Output.of(remoteDomainInfo));
        }

        public OutboundConnectionArgs build() {
            if ($.connectionAlias == null) {
                throw new MissingRequiredPropertyException("OutboundConnectionArgs", "connectionAlias");
            }
            if ($.localDomainInfo == null) {
                throw new MissingRequiredPropertyException("OutboundConnectionArgs", "localDomainInfo");
            }
            if ($.remoteDomainInfo == null) {
                throw new MissingRequiredPropertyException("OutboundConnectionArgs", "remoteDomainInfo");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy