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

com.pulumi.azurenative.sql.SyncMemberArgs Maven / Gradle / Ivy

There is a newer version: 2.82.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.sql;

import com.pulumi.azurenative.sql.enums.SyncDirection;
import com.pulumi.azurenative.sql.enums.SyncMemberDbType;
import com.pulumi.core.Either;
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 SyncMemberArgs extends com.pulumi.resources.ResourceArgs {

    public static final SyncMemberArgs Empty = new SyncMemberArgs();

    /**
     * Database name of the member database in the sync member.
     * 
     */
    @Import(name="databaseName", required=true)
    private Output databaseName;

    /**
     * @return Database name of the member database in the sync member.
     * 
     */
    public Output databaseName() {
        return this.databaseName;
    }

    /**
     * Database type of the sync member.
     * 
     */
    @Import(name="databaseType")
    private @Nullable Output> databaseType;

    /**
     * @return Database type of the sync member.
     * 
     */
    public Optional>> databaseType() {
        return Optional.ofNullable(this.databaseType);
    }

    /**
     * Password of the member database in the sync member.
     * 
     */
    @Import(name="password")
    private @Nullable Output password;

    /**
     * @return Password of the member database in the sync member.
     * 
     */
    public Optional> password() {
        return Optional.ofNullable(this.password);
    }

    /**
     * The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * Server name of the member database in the sync member
     * 
     */
    @Import(name="serverName", required=true)
    private Output serverName;

    /**
     * @return Server name of the member database in the sync member
     * 
     */
    public Output serverName() {
        return this.serverName;
    }

    /**
     * SQL Server database id of the sync member.
     * 
     */
    @Import(name="sqlServerDatabaseId")
    private @Nullable Output sqlServerDatabaseId;

    /**
     * @return SQL Server database id of the sync member.
     * 
     */
    public Optional> sqlServerDatabaseId() {
        return Optional.ofNullable(this.sqlServerDatabaseId);
    }

    /**
     * ARM resource id of the sync agent in the sync member.
     * 
     */
    @Import(name="syncAgentId")
    private @Nullable Output syncAgentId;

    /**
     * @return ARM resource id of the sync agent in the sync member.
     * 
     */
    public Optional> syncAgentId() {
        return Optional.ofNullable(this.syncAgentId);
    }

    /**
     * Sync direction of the sync member.
     * 
     */
    @Import(name="syncDirection")
    private @Nullable Output> syncDirection;

    /**
     * @return Sync direction of the sync member.
     * 
     */
    public Optional>> syncDirection() {
        return Optional.ofNullable(this.syncDirection);
    }

    /**
     * The name of the sync group on which the sync member is hosted.
     * 
     */
    @Import(name="syncGroupName", required=true)
    private Output syncGroupName;

    /**
     * @return The name of the sync group on which the sync member is hosted.
     * 
     */
    public Output syncGroupName() {
        return this.syncGroupName;
    }

    /**
     * ARM resource id of the sync member logical database, for sync members in Azure.
     * 
     */
    @Import(name="syncMemberAzureDatabaseResourceId")
    private @Nullable Output syncMemberAzureDatabaseResourceId;

    /**
     * @return ARM resource id of the sync member logical database, for sync members in Azure.
     * 
     */
    public Optional> syncMemberAzureDatabaseResourceId() {
        return Optional.ofNullable(this.syncMemberAzureDatabaseResourceId);
    }

    /**
     * The name of the sync member.
     * 
     */
    @Import(name="syncMemberName")
    private @Nullable Output syncMemberName;

    /**
     * @return The name of the sync member.
     * 
     */
    public Optional> syncMemberName() {
        return Optional.ofNullable(this.syncMemberName);
    }

    /**
     * Whether to use private link connection.
     * 
     */
    @Import(name="usePrivateLinkConnection")
    private @Nullable Output usePrivateLinkConnection;

    /**
     * @return Whether to use private link connection.
     * 
     */
    public Optional> usePrivateLinkConnection() {
        return Optional.ofNullable(this.usePrivateLinkConnection);
    }

    /**
     * User name of the member database in the sync member.
     * 
     */
    @Import(name="userName")
    private @Nullable Output userName;

    /**
     * @return User name of the member database in the sync member.
     * 
     */
    public Optional> userName() {
        return Optional.ofNullable(this.userName);
    }

    private SyncMemberArgs() {}

    private SyncMemberArgs(SyncMemberArgs $) {
        this.databaseName = $.databaseName;
        this.databaseType = $.databaseType;
        this.password = $.password;
        this.resourceGroupName = $.resourceGroupName;
        this.serverName = $.serverName;
        this.sqlServerDatabaseId = $.sqlServerDatabaseId;
        this.syncAgentId = $.syncAgentId;
        this.syncDirection = $.syncDirection;
        this.syncGroupName = $.syncGroupName;
        this.syncMemberAzureDatabaseResourceId = $.syncMemberAzureDatabaseResourceId;
        this.syncMemberName = $.syncMemberName;
        this.usePrivateLinkConnection = $.usePrivateLinkConnection;
        this.userName = $.userName;
    }

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

    public static final class Builder {
        private SyncMemberArgs $;

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

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

        /**
         * @param databaseName Database name of the member database in the sync member.
         * 
         * @return builder
         * 
         */
        public Builder databaseName(Output databaseName) {
            $.databaseName = databaseName;
            return this;
        }

        /**
         * @param databaseName Database name of the member database in the sync member.
         * 
         * @return builder
         * 
         */
        public Builder databaseName(String databaseName) {
            return databaseName(Output.of(databaseName));
        }

        /**
         * @param databaseType Database type of the sync member.
         * 
         * @return builder
         * 
         */
        public Builder databaseType(@Nullable Output> databaseType) {
            $.databaseType = databaseType;
            return this;
        }

        /**
         * @param databaseType Database type of the sync member.
         * 
         * @return builder
         * 
         */
        public Builder databaseType(Either databaseType) {
            return databaseType(Output.of(databaseType));
        }

        /**
         * @param databaseType Database type of the sync member.
         * 
         * @return builder
         * 
         */
        public Builder databaseType(String databaseType) {
            return databaseType(Either.ofLeft(databaseType));
        }

        /**
         * @param databaseType Database type of the sync member.
         * 
         * @return builder
         * 
         */
        public Builder databaseType(SyncMemberDbType databaseType) {
            return databaseType(Either.ofRight(databaseType));
        }

        /**
         * @param password Password of the member database in the sync member.
         * 
         * @return builder
         * 
         */
        public Builder password(@Nullable Output password) {
            $.password = password;
            return this;
        }

        /**
         * @param password Password of the member database in the sync member.
         * 
         * @return builder
         * 
         */
        public Builder password(String password) {
            return password(Output.of(password));
        }

        /**
         * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param serverName Server name of the member database in the sync member
         * 
         * @return builder
         * 
         */
        public Builder serverName(Output serverName) {
            $.serverName = serverName;
            return this;
        }

        /**
         * @param serverName Server name of the member database in the sync member
         * 
         * @return builder
         * 
         */
        public Builder serverName(String serverName) {
            return serverName(Output.of(serverName));
        }

        /**
         * @param sqlServerDatabaseId SQL Server database id of the sync member.
         * 
         * @return builder
         * 
         */
        public Builder sqlServerDatabaseId(@Nullable Output sqlServerDatabaseId) {
            $.sqlServerDatabaseId = sqlServerDatabaseId;
            return this;
        }

        /**
         * @param sqlServerDatabaseId SQL Server database id of the sync member.
         * 
         * @return builder
         * 
         */
        public Builder sqlServerDatabaseId(String sqlServerDatabaseId) {
            return sqlServerDatabaseId(Output.of(sqlServerDatabaseId));
        }

        /**
         * @param syncAgentId ARM resource id of the sync agent in the sync member.
         * 
         * @return builder
         * 
         */
        public Builder syncAgentId(@Nullable Output syncAgentId) {
            $.syncAgentId = syncAgentId;
            return this;
        }

        /**
         * @param syncAgentId ARM resource id of the sync agent in the sync member.
         * 
         * @return builder
         * 
         */
        public Builder syncAgentId(String syncAgentId) {
            return syncAgentId(Output.of(syncAgentId));
        }

        /**
         * @param syncDirection Sync direction of the sync member.
         * 
         * @return builder
         * 
         */
        public Builder syncDirection(@Nullable Output> syncDirection) {
            $.syncDirection = syncDirection;
            return this;
        }

        /**
         * @param syncDirection Sync direction of the sync member.
         * 
         * @return builder
         * 
         */
        public Builder syncDirection(Either syncDirection) {
            return syncDirection(Output.of(syncDirection));
        }

        /**
         * @param syncDirection Sync direction of the sync member.
         * 
         * @return builder
         * 
         */
        public Builder syncDirection(String syncDirection) {
            return syncDirection(Either.ofLeft(syncDirection));
        }

        /**
         * @param syncDirection Sync direction of the sync member.
         * 
         * @return builder
         * 
         */
        public Builder syncDirection(SyncDirection syncDirection) {
            return syncDirection(Either.ofRight(syncDirection));
        }

        /**
         * @param syncGroupName The name of the sync group on which the sync member is hosted.
         * 
         * @return builder
         * 
         */
        public Builder syncGroupName(Output syncGroupName) {
            $.syncGroupName = syncGroupName;
            return this;
        }

        /**
         * @param syncGroupName The name of the sync group on which the sync member is hosted.
         * 
         * @return builder
         * 
         */
        public Builder syncGroupName(String syncGroupName) {
            return syncGroupName(Output.of(syncGroupName));
        }

        /**
         * @param syncMemberAzureDatabaseResourceId ARM resource id of the sync member logical database, for sync members in Azure.
         * 
         * @return builder
         * 
         */
        public Builder syncMemberAzureDatabaseResourceId(@Nullable Output syncMemberAzureDatabaseResourceId) {
            $.syncMemberAzureDatabaseResourceId = syncMemberAzureDatabaseResourceId;
            return this;
        }

        /**
         * @param syncMemberAzureDatabaseResourceId ARM resource id of the sync member logical database, for sync members in Azure.
         * 
         * @return builder
         * 
         */
        public Builder syncMemberAzureDatabaseResourceId(String syncMemberAzureDatabaseResourceId) {
            return syncMemberAzureDatabaseResourceId(Output.of(syncMemberAzureDatabaseResourceId));
        }

        /**
         * @param syncMemberName The name of the sync member.
         * 
         * @return builder
         * 
         */
        public Builder syncMemberName(@Nullable Output syncMemberName) {
            $.syncMemberName = syncMemberName;
            return this;
        }

        /**
         * @param syncMemberName The name of the sync member.
         * 
         * @return builder
         * 
         */
        public Builder syncMemberName(String syncMemberName) {
            return syncMemberName(Output.of(syncMemberName));
        }

        /**
         * @param usePrivateLinkConnection Whether to use private link connection.
         * 
         * @return builder
         * 
         */
        public Builder usePrivateLinkConnection(@Nullable Output usePrivateLinkConnection) {
            $.usePrivateLinkConnection = usePrivateLinkConnection;
            return this;
        }

        /**
         * @param usePrivateLinkConnection Whether to use private link connection.
         * 
         * @return builder
         * 
         */
        public Builder usePrivateLinkConnection(Boolean usePrivateLinkConnection) {
            return usePrivateLinkConnection(Output.of(usePrivateLinkConnection));
        }

        /**
         * @param userName User name of the member database in the sync member.
         * 
         * @return builder
         * 
         */
        public Builder userName(@Nullable Output userName) {
            $.userName = userName;
            return this;
        }

        /**
         * @param userName User name of the member database in the sync member.
         * 
         * @return builder
         * 
         */
        public Builder userName(String userName) {
            return userName(Output.of(userName));
        }

        public SyncMemberArgs build() {
            if ($.databaseName == null) {
                throw new MissingRequiredPropertyException("SyncMemberArgs", "databaseName");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("SyncMemberArgs", "resourceGroupName");
            }
            if ($.serverName == null) {
                throw new MissingRequiredPropertyException("SyncMemberArgs", "serverName");
            }
            if ($.syncGroupName == null) {
                throw new MissingRequiredPropertyException("SyncMemberArgs", "syncGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy