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

com.pulumi.azurenative.datamigration.inputs.MigrateSqlServerSqlMITaskInputArgs 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.datamigration.inputs;

import com.pulumi.azurenative.datamigration.enums.BackupMode;
import com.pulumi.azurenative.datamigration.inputs.BlobShareArgs;
import com.pulumi.azurenative.datamigration.inputs.FileShareArgs;
import com.pulumi.azurenative.datamigration.inputs.MigrateSqlServerSqlMIDatabaseInputArgs;
import com.pulumi.azurenative.datamigration.inputs.SqlConnectionInfoArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance.
 * 
 */
public final class MigrateSqlServerSqlMITaskInputArgs extends com.pulumi.resources.ResourceArgs {

    public static final MigrateSqlServerSqlMITaskInputArgs Empty = new MigrateSqlServerSqlMITaskInputArgs();

    /**
     * Azure Active Directory domain name in the format of 'contoso.com' for federated Azure AD or 'contoso.onmicrosoft.com' for managed domain, required if and only if Windows logins are selected
     * 
     */
    @Import(name="aadDomainName")
    private @Nullable Output aadDomainName;

    /**
     * @return Azure Active Directory domain name in the format of 'contoso.com' for federated Azure AD or 'contoso.onmicrosoft.com' for managed domain, required if and only if Windows logins are selected
     * 
     */
    public Optional> aadDomainName() {
        return Optional.ofNullable(this.aadDomainName);
    }

    /**
     * SAS URI of Azure Storage Account Container to be used for storing backup files.
     * 
     */
    @Import(name="backupBlobShare", required=true)
    private Output backupBlobShare;

    /**
     * @return SAS URI of Azure Storage Account Container to be used for storing backup files.
     * 
     */
    public Output backupBlobShare() {
        return this.backupBlobShare;
    }

    /**
     * Backup file share information for all selected databases.
     * 
     */
    @Import(name="backupFileShare")
    private @Nullable Output backupFileShare;

    /**
     * @return Backup file share information for all selected databases.
     * 
     */
    public Optional> backupFileShare() {
        return Optional.ofNullable(this.backupFileShare);
    }

    /**
     * Backup Mode to specify whether to use existing backup or create new backup. If using existing backups, backup file paths are required to be provided in selectedDatabases.
     * 
     */
    @Import(name="backupMode")
    private @Nullable Output> backupMode;

    /**
     * @return Backup Mode to specify whether to use existing backup or create new backup. If using existing backups, backup file paths are required to be provided in selectedDatabases.
     * 
     */
    public Optional>> backupMode() {
        return Optional.ofNullable(this.backupMode);
    }

    /**
     * Agent Jobs to migrate.
     * 
     */
    @Import(name="selectedAgentJobs")
    private @Nullable Output> selectedAgentJobs;

    /**
     * @return Agent Jobs to migrate.
     * 
     */
    public Optional>> selectedAgentJobs() {
        return Optional.ofNullable(this.selectedAgentJobs);
    }

    /**
     * Databases to migrate
     * 
     */
    @Import(name="selectedDatabases", required=true)
    private Output> selectedDatabases;

    /**
     * @return Databases to migrate
     * 
     */
    public Output> selectedDatabases() {
        return this.selectedDatabases;
    }

    /**
     * Logins to migrate.
     * 
     */
    @Import(name="selectedLogins")
    private @Nullable Output> selectedLogins;

    /**
     * @return Logins to migrate.
     * 
     */
    public Optional>> selectedLogins() {
        return Optional.ofNullable(this.selectedLogins);
    }

    /**
     * Information for connecting to source
     * 
     */
    @Import(name="sourceConnectionInfo", required=true)
    private Output sourceConnectionInfo;

    /**
     * @return Information for connecting to source
     * 
     */
    public Output sourceConnectionInfo() {
        return this.sourceConnectionInfo;
    }

    /**
     * Information for connecting to target
     * 
     */
    @Import(name="targetConnectionInfo", required=true)
    private Output targetConnectionInfo;

    /**
     * @return Information for connecting to target
     * 
     */
    public Output targetConnectionInfo() {
        return this.targetConnectionInfo;
    }

    private MigrateSqlServerSqlMITaskInputArgs() {}

    private MigrateSqlServerSqlMITaskInputArgs(MigrateSqlServerSqlMITaskInputArgs $) {
        this.aadDomainName = $.aadDomainName;
        this.backupBlobShare = $.backupBlobShare;
        this.backupFileShare = $.backupFileShare;
        this.backupMode = $.backupMode;
        this.selectedAgentJobs = $.selectedAgentJobs;
        this.selectedDatabases = $.selectedDatabases;
        this.selectedLogins = $.selectedLogins;
        this.sourceConnectionInfo = $.sourceConnectionInfo;
        this.targetConnectionInfo = $.targetConnectionInfo;
    }

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

    public static final class Builder {
        private MigrateSqlServerSqlMITaskInputArgs $;

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

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

        /**
         * @param aadDomainName Azure Active Directory domain name in the format of 'contoso.com' for federated Azure AD or 'contoso.onmicrosoft.com' for managed domain, required if and only if Windows logins are selected
         * 
         * @return builder
         * 
         */
        public Builder aadDomainName(@Nullable Output aadDomainName) {
            $.aadDomainName = aadDomainName;
            return this;
        }

        /**
         * @param aadDomainName Azure Active Directory domain name in the format of 'contoso.com' for federated Azure AD or 'contoso.onmicrosoft.com' for managed domain, required if and only if Windows logins are selected
         * 
         * @return builder
         * 
         */
        public Builder aadDomainName(String aadDomainName) {
            return aadDomainName(Output.of(aadDomainName));
        }

        /**
         * @param backupBlobShare SAS URI of Azure Storage Account Container to be used for storing backup files.
         * 
         * @return builder
         * 
         */
        public Builder backupBlobShare(Output backupBlobShare) {
            $.backupBlobShare = backupBlobShare;
            return this;
        }

        /**
         * @param backupBlobShare SAS URI of Azure Storage Account Container to be used for storing backup files.
         * 
         * @return builder
         * 
         */
        public Builder backupBlobShare(BlobShareArgs backupBlobShare) {
            return backupBlobShare(Output.of(backupBlobShare));
        }

        /**
         * @param backupFileShare Backup file share information for all selected databases.
         * 
         * @return builder
         * 
         */
        public Builder backupFileShare(@Nullable Output backupFileShare) {
            $.backupFileShare = backupFileShare;
            return this;
        }

        /**
         * @param backupFileShare Backup file share information for all selected databases.
         * 
         * @return builder
         * 
         */
        public Builder backupFileShare(FileShareArgs backupFileShare) {
            return backupFileShare(Output.of(backupFileShare));
        }

        /**
         * @param backupMode Backup Mode to specify whether to use existing backup or create new backup. If using existing backups, backup file paths are required to be provided in selectedDatabases.
         * 
         * @return builder
         * 
         */
        public Builder backupMode(@Nullable Output> backupMode) {
            $.backupMode = backupMode;
            return this;
        }

        /**
         * @param backupMode Backup Mode to specify whether to use existing backup or create new backup. If using existing backups, backup file paths are required to be provided in selectedDatabases.
         * 
         * @return builder
         * 
         */
        public Builder backupMode(Either backupMode) {
            return backupMode(Output.of(backupMode));
        }

        /**
         * @param backupMode Backup Mode to specify whether to use existing backup or create new backup. If using existing backups, backup file paths are required to be provided in selectedDatabases.
         * 
         * @return builder
         * 
         */
        public Builder backupMode(String backupMode) {
            return backupMode(Either.ofLeft(backupMode));
        }

        /**
         * @param backupMode Backup Mode to specify whether to use existing backup or create new backup. If using existing backups, backup file paths are required to be provided in selectedDatabases.
         * 
         * @return builder
         * 
         */
        public Builder backupMode(BackupMode backupMode) {
            return backupMode(Either.ofRight(backupMode));
        }

        /**
         * @param selectedAgentJobs Agent Jobs to migrate.
         * 
         * @return builder
         * 
         */
        public Builder selectedAgentJobs(@Nullable Output> selectedAgentJobs) {
            $.selectedAgentJobs = selectedAgentJobs;
            return this;
        }

        /**
         * @param selectedAgentJobs Agent Jobs to migrate.
         * 
         * @return builder
         * 
         */
        public Builder selectedAgentJobs(List selectedAgentJobs) {
            return selectedAgentJobs(Output.of(selectedAgentJobs));
        }

        /**
         * @param selectedAgentJobs Agent Jobs to migrate.
         * 
         * @return builder
         * 
         */
        public Builder selectedAgentJobs(String... selectedAgentJobs) {
            return selectedAgentJobs(List.of(selectedAgentJobs));
        }

        /**
         * @param selectedDatabases Databases to migrate
         * 
         * @return builder
         * 
         */
        public Builder selectedDatabases(Output> selectedDatabases) {
            $.selectedDatabases = selectedDatabases;
            return this;
        }

        /**
         * @param selectedDatabases Databases to migrate
         * 
         * @return builder
         * 
         */
        public Builder selectedDatabases(List selectedDatabases) {
            return selectedDatabases(Output.of(selectedDatabases));
        }

        /**
         * @param selectedDatabases Databases to migrate
         * 
         * @return builder
         * 
         */
        public Builder selectedDatabases(MigrateSqlServerSqlMIDatabaseInputArgs... selectedDatabases) {
            return selectedDatabases(List.of(selectedDatabases));
        }

        /**
         * @param selectedLogins Logins to migrate.
         * 
         * @return builder
         * 
         */
        public Builder selectedLogins(@Nullable Output> selectedLogins) {
            $.selectedLogins = selectedLogins;
            return this;
        }

        /**
         * @param selectedLogins Logins to migrate.
         * 
         * @return builder
         * 
         */
        public Builder selectedLogins(List selectedLogins) {
            return selectedLogins(Output.of(selectedLogins));
        }

        /**
         * @param selectedLogins Logins to migrate.
         * 
         * @return builder
         * 
         */
        public Builder selectedLogins(String... selectedLogins) {
            return selectedLogins(List.of(selectedLogins));
        }

        /**
         * @param sourceConnectionInfo Information for connecting to source
         * 
         * @return builder
         * 
         */
        public Builder sourceConnectionInfo(Output sourceConnectionInfo) {
            $.sourceConnectionInfo = sourceConnectionInfo;
            return this;
        }

        /**
         * @param sourceConnectionInfo Information for connecting to source
         * 
         * @return builder
         * 
         */
        public Builder sourceConnectionInfo(SqlConnectionInfoArgs sourceConnectionInfo) {
            return sourceConnectionInfo(Output.of(sourceConnectionInfo));
        }

        /**
         * @param targetConnectionInfo Information for connecting to target
         * 
         * @return builder
         * 
         */
        public Builder targetConnectionInfo(Output targetConnectionInfo) {
            $.targetConnectionInfo = targetConnectionInfo;
            return this;
        }

        /**
         * @param targetConnectionInfo Information for connecting to target
         * 
         * @return builder
         * 
         */
        public Builder targetConnectionInfo(SqlConnectionInfoArgs targetConnectionInfo) {
            return targetConnectionInfo(Output.of(targetConnectionInfo));
        }

        public MigrateSqlServerSqlMITaskInputArgs build() {
            if ($.backupBlobShare == null) {
                throw new MissingRequiredPropertyException("MigrateSqlServerSqlMITaskInputArgs", "backupBlobShare");
            }
            if ($.selectedDatabases == null) {
                throw new MissingRequiredPropertyException("MigrateSqlServerSqlMITaskInputArgs", "selectedDatabases");
            }
            if ($.sourceConnectionInfo == null) {
                throw new MissingRequiredPropertyException("MigrateSqlServerSqlMITaskInputArgs", "sourceConnectionInfo");
            }
            if ($.targetConnectionInfo == null) {
                throw new MissingRequiredPropertyException("MigrateSqlServerSqlMITaskInputArgs", "targetConnectionInfo");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy