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

com.pulumi.googlenative.datamigration.v1.ConnectionProfileArgs 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.googlenative.datamigration.v1;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.googlenative.datamigration.v1.enums.ConnectionProfileProvider;
import com.pulumi.googlenative.datamigration.v1.enums.ConnectionProfileState;
import com.pulumi.googlenative.datamigration.v1.inputs.AlloyDbConnectionProfileArgs;
import com.pulumi.googlenative.datamigration.v1.inputs.CloudSqlConnectionProfileArgs;
import com.pulumi.googlenative.datamigration.v1.inputs.MySqlConnectionProfileArgs;
import com.pulumi.googlenative.datamigration.v1.inputs.OracleConnectionProfileArgs;
import com.pulumi.googlenative.datamigration.v1.inputs.PostgreSqlConnectionProfileArgs;
import java.lang.Boolean;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ConnectionProfileArgs Empty = new ConnectionProfileArgs();

    /**
     * An AlloyDB cluster connection profile.
     * 
     */
    @Import(name="alloydb")
    private @Nullable Output alloydb;

    /**
     * @return An AlloyDB cluster connection profile.
     * 
     */
    public Optional> alloydb() {
        return Optional.ofNullable(this.alloydb);
    }

    /**
     * A CloudSQL database connection profile.
     * 
     */
    @Import(name="cloudsql")
    private @Nullable Output cloudsql;

    /**
     * @return A CloudSQL database connection profile.
     * 
     */
    public Optional> cloudsql() {
        return Optional.ofNullable(this.cloudsql);
    }

    /**
     * Required. The connection profile identifier.
     * 
     */
    @Import(name="connectionProfileId", required=true)
    private Output connectionProfileId;

    /**
     * @return Required. The connection profile identifier.
     * 
     */
    public Output connectionProfileId() {
        return this.connectionProfileId;
    }

    /**
     * The connection profile display name.
     * 
     */
    @Import(name="displayName")
    private @Nullable Output displayName;

    /**
     * @return The connection profile display name.
     * 
     */
    public Optional> displayName() {
        return Optional.ofNullable(this.displayName);
    }

    /**
     * The resource labels for connection profile to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of "key": "value" pairs. Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`.
     * 
     */
    @Import(name="labels")
    private @Nullable Output> labels;

    /**
     * @return The resource labels for connection profile to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of "key": "value" pairs. Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`.
     * 
     */
    public Optional>> labels() {
        return Optional.ofNullable(this.labels);
    }

    @Import(name="location")
    private @Nullable Output location;

    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * A MySQL database connection profile.
     * 
     */
    @Import(name="mysql")
    private @Nullable Output mysql;

    /**
     * @return A MySQL database connection profile.
     * 
     */
    public Optional> mysql() {
        return Optional.ofNullable(this.mysql);
    }

    /**
     * The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * An Oracle database connection profile.
     * 
     */
    @Import(name="oracle")
    private @Nullable Output oracle;

    /**
     * @return An Oracle database connection profile.
     * 
     */
    public Optional> oracle() {
        return Optional.ofNullable(this.oracle);
    }

    /**
     * A PostgreSQL database connection profile.
     * 
     */
    @Import(name="postgresql")
    private @Nullable Output postgresql;

    /**
     * @return A PostgreSQL database connection profile.
     * 
     */
    public Optional> postgresql() {
        return Optional.ofNullable(this.postgresql);
    }

    @Import(name="project")
    private @Nullable Output project;

    public Optional> project() {
        return Optional.ofNullable(this.project);
    }

    /**
     * The database provider.
     * 
     */
    @Import(name="provider")
    private @Nullable Output provider;

    /**
     * @return The database provider.
     * 
     */
    public Optional> provider() {
        return Optional.ofNullable(this.provider);
    }

    /**
     * Optional. A unique ID used to identify the request. If the server receives two requests with the same ID, then the second request is ignored. It is recommended to always set this value to a UUID. The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.
     * 
     */
    @Import(name="requestId")
    private @Nullable Output requestId;

    /**
     * @return Optional. A unique ID used to identify the request. If the server receives two requests with the same ID, then the second request is ignored. It is recommended to always set this value to a UUID. The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.
     * 
     */
    public Optional> requestId() {
        return Optional.ofNullable(this.requestId);
    }

    /**
     * Optional. Create the connection profile without validating it. The default is false. Only supported for Oracle connection profiles.
     * 
     */
    @Import(name="skipValidation")
    private @Nullable Output skipValidation;

    /**
     * @return Optional. Create the connection profile without validating it. The default is false. Only supported for Oracle connection profiles.
     * 
     */
    public Optional> skipValidation() {
        return Optional.ofNullable(this.skipValidation);
    }

    /**
     * The current connection profile state (e.g. DRAFT, READY, or FAILED).
     * 
     */
    @Import(name="state")
    private @Nullable Output state;

    /**
     * @return The current connection profile state (e.g. DRAFT, READY, or FAILED).
     * 
     */
    public Optional> state() {
        return Optional.ofNullable(this.state);
    }

    private ConnectionProfileArgs() {}

    private ConnectionProfileArgs(ConnectionProfileArgs $) {
        this.alloydb = $.alloydb;
        this.cloudsql = $.cloudsql;
        this.connectionProfileId = $.connectionProfileId;
        this.displayName = $.displayName;
        this.labels = $.labels;
        this.location = $.location;
        this.mysql = $.mysql;
        this.name = $.name;
        this.oracle = $.oracle;
        this.postgresql = $.postgresql;
        this.project = $.project;
        this.provider = $.provider;
        this.requestId = $.requestId;
        this.skipValidation = $.skipValidation;
        this.state = $.state;
    }

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

    public static final class Builder {
        private ConnectionProfileArgs $;

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

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

        /**
         * @param alloydb An AlloyDB cluster connection profile.
         * 
         * @return builder
         * 
         */
        public Builder alloydb(@Nullable Output alloydb) {
            $.alloydb = alloydb;
            return this;
        }

        /**
         * @param alloydb An AlloyDB cluster connection profile.
         * 
         * @return builder
         * 
         */
        public Builder alloydb(AlloyDbConnectionProfileArgs alloydb) {
            return alloydb(Output.of(alloydb));
        }

        /**
         * @param cloudsql A CloudSQL database connection profile.
         * 
         * @return builder
         * 
         */
        public Builder cloudsql(@Nullable Output cloudsql) {
            $.cloudsql = cloudsql;
            return this;
        }

        /**
         * @param cloudsql A CloudSQL database connection profile.
         * 
         * @return builder
         * 
         */
        public Builder cloudsql(CloudSqlConnectionProfileArgs cloudsql) {
            return cloudsql(Output.of(cloudsql));
        }

        /**
         * @param connectionProfileId Required. The connection profile identifier.
         * 
         * @return builder
         * 
         */
        public Builder connectionProfileId(Output connectionProfileId) {
            $.connectionProfileId = connectionProfileId;
            return this;
        }

        /**
         * @param connectionProfileId Required. The connection profile identifier.
         * 
         * @return builder
         * 
         */
        public Builder connectionProfileId(String connectionProfileId) {
            return connectionProfileId(Output.of(connectionProfileId));
        }

        /**
         * @param displayName The connection profile display name.
         * 
         * @return builder
         * 
         */
        public Builder displayName(@Nullable Output displayName) {
            $.displayName = displayName;
            return this;
        }

        /**
         * @param displayName The connection profile display name.
         * 
         * @return builder
         * 
         */
        public Builder displayName(String displayName) {
            return displayName(Output.of(displayName));
        }

        /**
         * @param labels The resource labels for connection profile to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of "key": "value" pairs. Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`.
         * 
         * @return builder
         * 
         */
        public Builder labels(@Nullable Output> labels) {
            $.labels = labels;
            return this;
        }

        /**
         * @param labels The resource labels for connection profile to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of "key": "value" pairs. Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`.
         * 
         * @return builder
         * 
         */
        public Builder labels(Map labels) {
            return labels(Output.of(labels));
        }

        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param mysql A MySQL database connection profile.
         * 
         * @return builder
         * 
         */
        public Builder mysql(@Nullable Output mysql) {
            $.mysql = mysql;
            return this;
        }

        /**
         * @param mysql A MySQL database connection profile.
         * 
         * @return builder
         * 
         */
        public Builder mysql(MySqlConnectionProfileArgs mysql) {
            return mysql(Output.of(mysql));
        }

        /**
         * @param name The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param oracle An Oracle database connection profile.
         * 
         * @return builder
         * 
         */
        public Builder oracle(@Nullable Output oracle) {
            $.oracle = oracle;
            return this;
        }

        /**
         * @param oracle An Oracle database connection profile.
         * 
         * @return builder
         * 
         */
        public Builder oracle(OracleConnectionProfileArgs oracle) {
            return oracle(Output.of(oracle));
        }

        /**
         * @param postgresql A PostgreSQL database connection profile.
         * 
         * @return builder
         * 
         */
        public Builder postgresql(@Nullable Output postgresql) {
            $.postgresql = postgresql;
            return this;
        }

        /**
         * @param postgresql A PostgreSQL database connection profile.
         * 
         * @return builder
         * 
         */
        public Builder postgresql(PostgreSqlConnectionProfileArgs postgresql) {
            return postgresql(Output.of(postgresql));
        }

        public Builder project(@Nullable Output project) {
            $.project = project;
            return this;
        }

        public Builder project(String project) {
            return project(Output.of(project));
        }

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

        /**
         * @param provider The database provider.
         * 
         * @return builder
         * 
         */
        public Builder provider(ConnectionProfileProvider provider) {
            return provider(Output.of(provider));
        }

        /**
         * @param requestId Optional. A unique ID used to identify the request. If the server receives two requests with the same ID, then the second request is ignored. It is recommended to always set this value to a UUID. The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.
         * 
         * @return builder
         * 
         */
        public Builder requestId(@Nullable Output requestId) {
            $.requestId = requestId;
            return this;
        }

        /**
         * @param requestId Optional. A unique ID used to identify the request. If the server receives two requests with the same ID, then the second request is ignored. It is recommended to always set this value to a UUID. The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.
         * 
         * @return builder
         * 
         */
        public Builder requestId(String requestId) {
            return requestId(Output.of(requestId));
        }

        /**
         * @param skipValidation Optional. Create the connection profile without validating it. The default is false. Only supported for Oracle connection profiles.
         * 
         * @return builder
         * 
         */
        public Builder skipValidation(@Nullable Output skipValidation) {
            $.skipValidation = skipValidation;
            return this;
        }

        /**
         * @param skipValidation Optional. Create the connection profile without validating it. The default is false. Only supported for Oracle connection profiles.
         * 
         * @return builder
         * 
         */
        public Builder skipValidation(Boolean skipValidation) {
            return skipValidation(Output.of(skipValidation));
        }

        /**
         * @param state The current connection profile state (e.g. DRAFT, READY, or FAILED).
         * 
         * @return builder
         * 
         */
        public Builder state(@Nullable Output state) {
            $.state = state;
            return this;
        }

        /**
         * @param state The current connection profile state (e.g. DRAFT, READY, or FAILED).
         * 
         * @return builder
         * 
         */
        public Builder state(ConnectionProfileState state) {
            return state(Output.of(state));
        }

        public ConnectionProfileArgs build() {
            $.connectionProfileId = Objects.requireNonNull($.connectionProfileId, "expected parameter 'connectionProfileId' to be non-null");
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy