Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azurenative.dbforpostgresql.MigrationArgs Maven / Gradle / Ivy
Go to download
A native Pulumi package for creating and managing Azure resources.
// *** 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.dbforpostgresql;
import com.pulumi.azurenative.dbforpostgresql.enums.CancelEnum;
import com.pulumi.azurenative.dbforpostgresql.enums.LogicalReplicationOnSourceDbEnum;
import com.pulumi.azurenative.dbforpostgresql.enums.MigrationMode;
import com.pulumi.azurenative.dbforpostgresql.enums.OverwriteDbsInTargetEnum;
import com.pulumi.azurenative.dbforpostgresql.enums.StartDataMigrationEnum;
import com.pulumi.azurenative.dbforpostgresql.enums.TriggerCutoverEnum;
import com.pulumi.azurenative.dbforpostgresql.inputs.MigrationSecretParametersArgs;
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.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class MigrationArgs extends com.pulumi.resources.ResourceArgs {
public static final MigrationArgs Empty = new MigrationArgs();
/**
* To trigger cancel for entire migration we need to send this flag as True
*
*/
@Import(name="cancel")
private @Nullable Output> cancel;
/**
* @return To trigger cancel for entire migration we need to send this flag as True
*
*/
public Optional>> cancel() {
return Optional.ofNullable(this.cancel);
}
/**
* When you want to trigger cancel for specific databases send cancel flag as True and database names in this array
*
*/
@Import(name="dbsToCancelMigrationOn")
private @Nullable Output> dbsToCancelMigrationOn;
/**
* @return When you want to trigger cancel for specific databases send cancel flag as True and database names in this array
*
*/
public Optional>> dbsToCancelMigrationOn() {
return Optional.ofNullable(this.dbsToCancelMigrationOn);
}
/**
* Number of databases to migrate
*
*/
@Import(name="dbsToMigrate")
private @Nullable Output> dbsToMigrate;
/**
* @return Number of databases to migrate
*
*/
public Optional>> dbsToMigrate() {
return Optional.ofNullable(this.dbsToMigrate);
}
/**
* When you want to trigger cutover for specific databases send triggerCutover flag as True and database names in this array
*
*/
@Import(name="dbsToTriggerCutoverOn")
private @Nullable Output> dbsToTriggerCutoverOn;
/**
* @return When you want to trigger cutover for specific databases send triggerCutover flag as True and database names in this array
*
*/
public Optional>> dbsToTriggerCutoverOn() {
return Optional.ofNullable(this.dbsToTriggerCutoverOn);
}
/**
* The geo-location where the resource lives
*
*/
@Import(name="location")
private @Nullable Output location;
/**
* @return The geo-location where the resource lives
*
*/
public Optional> location() {
return Optional.ofNullable(this.location);
}
/**
* There are two types of migration modes Online and Offline
*
*/
@Import(name="migrationMode")
private @Nullable Output> migrationMode;
/**
* @return There are two types of migration modes Online and Offline
*
*/
public Optional>> migrationMode() {
return Optional.ofNullable(this.migrationMode);
}
/**
* The name of the migration.
*
*/
@Import(name="migrationName")
private @Nullable Output migrationName;
/**
* @return The name of the migration.
*
*/
public Optional> migrationName() {
return Optional.ofNullable(this.migrationName);
}
/**
* End time in UTC for migration window
*
*/
@Import(name="migrationWindowEndTimeInUtc")
private @Nullable Output migrationWindowEndTimeInUtc;
/**
* @return End time in UTC for migration window
*
*/
public Optional> migrationWindowEndTimeInUtc() {
return Optional.ofNullable(this.migrationWindowEndTimeInUtc);
}
/**
* Start time in UTC for migration window
*
*/
@Import(name="migrationWindowStartTimeInUtc")
private @Nullable Output migrationWindowStartTimeInUtc;
/**
* @return Start time in UTC for migration window
*
*/
public Optional> migrationWindowStartTimeInUtc() {
return Optional.ofNullable(this.migrationWindowStartTimeInUtc);
}
/**
* Indicates whether the databases on the target server can be overwritten, if already present. If set to False, the migration workflow will wait for a confirmation, if it detects that the database already exists.
*
*/
@Import(name="overwriteDbsInTarget")
private @Nullable Output> overwriteDbsInTarget;
/**
* @return Indicates whether the databases on the target server can be overwritten, if already present. If set to False, the migration workflow will wait for a confirmation, if it detects that the database already exists.
*
*/
public Optional>> overwriteDbsInTarget() {
return Optional.ofNullable(this.overwriteDbsInTarget);
}
/**
* The resource group name of the target database server.
*
*/
@Import(name="resourceGroupName", required=true)
private Output resourceGroupName;
/**
* @return The resource group name of the target database server.
*
*/
public Output resourceGroupName() {
return this.resourceGroupName;
}
/**
* Migration secret parameters
*
*/
@Import(name="secretParameters")
private @Nullable Output secretParameters;
/**
* @return Migration secret parameters
*
*/
public Optional> secretParameters() {
return Optional.ofNullable(this.secretParameters);
}
/**
* Indicates whether to setup LogicalReplicationOnSourceDb, if needed
*
*/
@Import(name="setupLogicalReplicationOnSourceDbIfNeeded")
private @Nullable Output> setupLogicalReplicationOnSourceDbIfNeeded;
/**
* @return Indicates whether to setup LogicalReplicationOnSourceDb, if needed
*
*/
public Optional>> setupLogicalReplicationOnSourceDbIfNeeded() {
return Optional.ofNullable(this.setupLogicalReplicationOnSourceDbIfNeeded);
}
/**
* Source server fully qualified domain name or ip. It is a optional value, if customer provide it, dms will always use it for connection
*
*/
@Import(name="sourceDbServerFullyQualifiedDomainName")
private @Nullable Output sourceDbServerFullyQualifiedDomainName;
/**
* @return Source server fully qualified domain name or ip. It is a optional value, if customer provide it, dms will always use it for connection
*
*/
public Optional> sourceDbServerFullyQualifiedDomainName() {
return Optional.ofNullable(this.sourceDbServerFullyQualifiedDomainName);
}
/**
* ResourceId of the source database server
*
*/
@Import(name="sourceDbServerResourceId")
private @Nullable Output sourceDbServerResourceId;
/**
* @return ResourceId of the source database server
*
*/
public Optional> sourceDbServerResourceId() {
return Optional.ofNullable(this.sourceDbServerResourceId);
}
/**
* Indicates whether the data migration should start right away
*
*/
@Import(name="startDataMigration")
private @Nullable Output> startDataMigration;
/**
* @return Indicates whether the data migration should start right away
*
*/
public Optional>> startDataMigration() {
return Optional.ofNullable(this.startDataMigration);
}
/**
* The subscription ID of the target database server.
*
*/
@Import(name="subscriptionId")
private @Nullable Output subscriptionId;
/**
* @return The subscription ID of the target database server.
*
*/
public Optional> subscriptionId() {
return Optional.ofNullable(this.subscriptionId);
}
/**
* Resource tags.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return Resource tags.
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
/**
* Target server fully qualified domain name or ip. It is a optional value, if customer provide it, dms will always use it for connection
*
*/
@Import(name="targetDbServerFullyQualifiedDomainName")
private @Nullable Output targetDbServerFullyQualifiedDomainName;
/**
* @return Target server fully qualified domain name or ip. It is a optional value, if customer provide it, dms will always use it for connection
*
*/
public Optional> targetDbServerFullyQualifiedDomainName() {
return Optional.ofNullable(this.targetDbServerFullyQualifiedDomainName);
}
/**
* The name of the target database server.
*
*/
@Import(name="targetDbServerName", required=true)
private Output targetDbServerName;
/**
* @return The name of the target database server.
*
*/
public Output targetDbServerName() {
return this.targetDbServerName;
}
/**
* To trigger cutover for entire migration we need to send this flag as True
*
*/
@Import(name="triggerCutover")
private @Nullable Output> triggerCutover;
/**
* @return To trigger cutover for entire migration we need to send this flag as True
*
*/
public Optional>> triggerCutover() {
return Optional.ofNullable(this.triggerCutover);
}
private MigrationArgs() {}
private MigrationArgs(MigrationArgs $) {
this.cancel = $.cancel;
this.dbsToCancelMigrationOn = $.dbsToCancelMigrationOn;
this.dbsToMigrate = $.dbsToMigrate;
this.dbsToTriggerCutoverOn = $.dbsToTriggerCutoverOn;
this.location = $.location;
this.migrationMode = $.migrationMode;
this.migrationName = $.migrationName;
this.migrationWindowEndTimeInUtc = $.migrationWindowEndTimeInUtc;
this.migrationWindowStartTimeInUtc = $.migrationWindowStartTimeInUtc;
this.overwriteDbsInTarget = $.overwriteDbsInTarget;
this.resourceGroupName = $.resourceGroupName;
this.secretParameters = $.secretParameters;
this.setupLogicalReplicationOnSourceDbIfNeeded = $.setupLogicalReplicationOnSourceDbIfNeeded;
this.sourceDbServerFullyQualifiedDomainName = $.sourceDbServerFullyQualifiedDomainName;
this.sourceDbServerResourceId = $.sourceDbServerResourceId;
this.startDataMigration = $.startDataMigration;
this.subscriptionId = $.subscriptionId;
this.tags = $.tags;
this.targetDbServerFullyQualifiedDomainName = $.targetDbServerFullyQualifiedDomainName;
this.targetDbServerName = $.targetDbServerName;
this.triggerCutover = $.triggerCutover;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(MigrationArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private MigrationArgs $;
public Builder() {
$ = new MigrationArgs();
}
public Builder(MigrationArgs defaults) {
$ = new MigrationArgs(Objects.requireNonNull(defaults));
}
/**
* @param cancel To trigger cancel for entire migration we need to send this flag as True
*
* @return builder
*
*/
public Builder cancel(@Nullable Output> cancel) {
$.cancel = cancel;
return this;
}
/**
* @param cancel To trigger cancel for entire migration we need to send this flag as True
*
* @return builder
*
*/
public Builder cancel(Either cancel) {
return cancel(Output.of(cancel));
}
/**
* @param cancel To trigger cancel for entire migration we need to send this flag as True
*
* @return builder
*
*/
public Builder cancel(String cancel) {
return cancel(Either.ofLeft(cancel));
}
/**
* @param cancel To trigger cancel for entire migration we need to send this flag as True
*
* @return builder
*
*/
public Builder cancel(CancelEnum cancel) {
return cancel(Either.ofRight(cancel));
}
/**
* @param dbsToCancelMigrationOn When you want to trigger cancel for specific databases send cancel flag as True and database names in this array
*
* @return builder
*
*/
public Builder dbsToCancelMigrationOn(@Nullable Output> dbsToCancelMigrationOn) {
$.dbsToCancelMigrationOn = dbsToCancelMigrationOn;
return this;
}
/**
* @param dbsToCancelMigrationOn When you want to trigger cancel for specific databases send cancel flag as True and database names in this array
*
* @return builder
*
*/
public Builder dbsToCancelMigrationOn(List dbsToCancelMigrationOn) {
return dbsToCancelMigrationOn(Output.of(dbsToCancelMigrationOn));
}
/**
* @param dbsToCancelMigrationOn When you want to trigger cancel for specific databases send cancel flag as True and database names in this array
*
* @return builder
*
*/
public Builder dbsToCancelMigrationOn(String... dbsToCancelMigrationOn) {
return dbsToCancelMigrationOn(List.of(dbsToCancelMigrationOn));
}
/**
* @param dbsToMigrate Number of databases to migrate
*
* @return builder
*
*/
public Builder dbsToMigrate(@Nullable Output> dbsToMigrate) {
$.dbsToMigrate = dbsToMigrate;
return this;
}
/**
* @param dbsToMigrate Number of databases to migrate
*
* @return builder
*
*/
public Builder dbsToMigrate(List dbsToMigrate) {
return dbsToMigrate(Output.of(dbsToMigrate));
}
/**
* @param dbsToMigrate Number of databases to migrate
*
* @return builder
*
*/
public Builder dbsToMigrate(String... dbsToMigrate) {
return dbsToMigrate(List.of(dbsToMigrate));
}
/**
* @param dbsToTriggerCutoverOn When you want to trigger cutover for specific databases send triggerCutover flag as True and database names in this array
*
* @return builder
*
*/
public Builder dbsToTriggerCutoverOn(@Nullable Output> dbsToTriggerCutoverOn) {
$.dbsToTriggerCutoverOn = dbsToTriggerCutoverOn;
return this;
}
/**
* @param dbsToTriggerCutoverOn When you want to trigger cutover for specific databases send triggerCutover flag as True and database names in this array
*
* @return builder
*
*/
public Builder dbsToTriggerCutoverOn(List dbsToTriggerCutoverOn) {
return dbsToTriggerCutoverOn(Output.of(dbsToTriggerCutoverOn));
}
/**
* @param dbsToTriggerCutoverOn When you want to trigger cutover for specific databases send triggerCutover flag as True and database names in this array
*
* @return builder
*
*/
public Builder dbsToTriggerCutoverOn(String... dbsToTriggerCutoverOn) {
return dbsToTriggerCutoverOn(List.of(dbsToTriggerCutoverOn));
}
/**
* @param location The geo-location where the resource lives
*
* @return builder
*
*/
public Builder location(@Nullable Output location) {
$.location = location;
return this;
}
/**
* @param location The geo-location where the resource lives
*
* @return builder
*
*/
public Builder location(String location) {
return location(Output.of(location));
}
/**
* @param migrationMode There are two types of migration modes Online and Offline
*
* @return builder
*
*/
public Builder migrationMode(@Nullable Output> migrationMode) {
$.migrationMode = migrationMode;
return this;
}
/**
* @param migrationMode There are two types of migration modes Online and Offline
*
* @return builder
*
*/
public Builder migrationMode(Either migrationMode) {
return migrationMode(Output.of(migrationMode));
}
/**
* @param migrationMode There are two types of migration modes Online and Offline
*
* @return builder
*
*/
public Builder migrationMode(String migrationMode) {
return migrationMode(Either.ofLeft(migrationMode));
}
/**
* @param migrationMode There are two types of migration modes Online and Offline
*
* @return builder
*
*/
public Builder migrationMode(MigrationMode migrationMode) {
return migrationMode(Either.ofRight(migrationMode));
}
/**
* @param migrationName The name of the migration.
*
* @return builder
*
*/
public Builder migrationName(@Nullable Output migrationName) {
$.migrationName = migrationName;
return this;
}
/**
* @param migrationName The name of the migration.
*
* @return builder
*
*/
public Builder migrationName(String migrationName) {
return migrationName(Output.of(migrationName));
}
/**
* @param migrationWindowEndTimeInUtc End time in UTC for migration window
*
* @return builder
*
*/
public Builder migrationWindowEndTimeInUtc(@Nullable Output migrationWindowEndTimeInUtc) {
$.migrationWindowEndTimeInUtc = migrationWindowEndTimeInUtc;
return this;
}
/**
* @param migrationWindowEndTimeInUtc End time in UTC for migration window
*
* @return builder
*
*/
public Builder migrationWindowEndTimeInUtc(String migrationWindowEndTimeInUtc) {
return migrationWindowEndTimeInUtc(Output.of(migrationWindowEndTimeInUtc));
}
/**
* @param migrationWindowStartTimeInUtc Start time in UTC for migration window
*
* @return builder
*
*/
public Builder migrationWindowStartTimeInUtc(@Nullable Output migrationWindowStartTimeInUtc) {
$.migrationWindowStartTimeInUtc = migrationWindowStartTimeInUtc;
return this;
}
/**
* @param migrationWindowStartTimeInUtc Start time in UTC for migration window
*
* @return builder
*
*/
public Builder migrationWindowStartTimeInUtc(String migrationWindowStartTimeInUtc) {
return migrationWindowStartTimeInUtc(Output.of(migrationWindowStartTimeInUtc));
}
/**
* @param overwriteDbsInTarget Indicates whether the databases on the target server can be overwritten, if already present. If set to False, the migration workflow will wait for a confirmation, if it detects that the database already exists.
*
* @return builder
*
*/
public Builder overwriteDbsInTarget(@Nullable Output> overwriteDbsInTarget) {
$.overwriteDbsInTarget = overwriteDbsInTarget;
return this;
}
/**
* @param overwriteDbsInTarget Indicates whether the databases on the target server can be overwritten, if already present. If set to False, the migration workflow will wait for a confirmation, if it detects that the database already exists.
*
* @return builder
*
*/
public Builder overwriteDbsInTarget(Either overwriteDbsInTarget) {
return overwriteDbsInTarget(Output.of(overwriteDbsInTarget));
}
/**
* @param overwriteDbsInTarget Indicates whether the databases on the target server can be overwritten, if already present. If set to False, the migration workflow will wait for a confirmation, if it detects that the database already exists.
*
* @return builder
*
*/
public Builder overwriteDbsInTarget(String overwriteDbsInTarget) {
return overwriteDbsInTarget(Either.ofLeft(overwriteDbsInTarget));
}
/**
* @param overwriteDbsInTarget Indicates whether the databases on the target server can be overwritten, if already present. If set to False, the migration workflow will wait for a confirmation, if it detects that the database already exists.
*
* @return builder
*
*/
public Builder overwriteDbsInTarget(OverwriteDbsInTargetEnum overwriteDbsInTarget) {
return overwriteDbsInTarget(Either.ofRight(overwriteDbsInTarget));
}
/**
* @param resourceGroupName The resource group name of the target database server.
*
* @return builder
*
*/
public Builder resourceGroupName(Output resourceGroupName) {
$.resourceGroupName = resourceGroupName;
return this;
}
/**
* @param resourceGroupName The resource group name of the target database server.
*
* @return builder
*
*/
public Builder resourceGroupName(String resourceGroupName) {
return resourceGroupName(Output.of(resourceGroupName));
}
/**
* @param secretParameters Migration secret parameters
*
* @return builder
*
*/
public Builder secretParameters(@Nullable Output secretParameters) {
$.secretParameters = secretParameters;
return this;
}
/**
* @param secretParameters Migration secret parameters
*
* @return builder
*
*/
public Builder secretParameters(MigrationSecretParametersArgs secretParameters) {
return secretParameters(Output.of(secretParameters));
}
/**
* @param setupLogicalReplicationOnSourceDbIfNeeded Indicates whether to setup LogicalReplicationOnSourceDb, if needed
*
* @return builder
*
*/
public Builder setupLogicalReplicationOnSourceDbIfNeeded(@Nullable Output> setupLogicalReplicationOnSourceDbIfNeeded) {
$.setupLogicalReplicationOnSourceDbIfNeeded = setupLogicalReplicationOnSourceDbIfNeeded;
return this;
}
/**
* @param setupLogicalReplicationOnSourceDbIfNeeded Indicates whether to setup LogicalReplicationOnSourceDb, if needed
*
* @return builder
*
*/
public Builder setupLogicalReplicationOnSourceDbIfNeeded(Either setupLogicalReplicationOnSourceDbIfNeeded) {
return setupLogicalReplicationOnSourceDbIfNeeded(Output.of(setupLogicalReplicationOnSourceDbIfNeeded));
}
/**
* @param setupLogicalReplicationOnSourceDbIfNeeded Indicates whether to setup LogicalReplicationOnSourceDb, if needed
*
* @return builder
*
*/
public Builder setupLogicalReplicationOnSourceDbIfNeeded(String setupLogicalReplicationOnSourceDbIfNeeded) {
return setupLogicalReplicationOnSourceDbIfNeeded(Either.ofLeft(setupLogicalReplicationOnSourceDbIfNeeded));
}
/**
* @param setupLogicalReplicationOnSourceDbIfNeeded Indicates whether to setup LogicalReplicationOnSourceDb, if needed
*
* @return builder
*
*/
public Builder setupLogicalReplicationOnSourceDbIfNeeded(LogicalReplicationOnSourceDbEnum setupLogicalReplicationOnSourceDbIfNeeded) {
return setupLogicalReplicationOnSourceDbIfNeeded(Either.ofRight(setupLogicalReplicationOnSourceDbIfNeeded));
}
/**
* @param sourceDbServerFullyQualifiedDomainName Source server fully qualified domain name or ip. It is a optional value, if customer provide it, dms will always use it for connection
*
* @return builder
*
*/
public Builder sourceDbServerFullyQualifiedDomainName(@Nullable Output sourceDbServerFullyQualifiedDomainName) {
$.sourceDbServerFullyQualifiedDomainName = sourceDbServerFullyQualifiedDomainName;
return this;
}
/**
* @param sourceDbServerFullyQualifiedDomainName Source server fully qualified domain name or ip. It is a optional value, if customer provide it, dms will always use it for connection
*
* @return builder
*
*/
public Builder sourceDbServerFullyQualifiedDomainName(String sourceDbServerFullyQualifiedDomainName) {
return sourceDbServerFullyQualifiedDomainName(Output.of(sourceDbServerFullyQualifiedDomainName));
}
/**
* @param sourceDbServerResourceId ResourceId of the source database server
*
* @return builder
*
*/
public Builder sourceDbServerResourceId(@Nullable Output sourceDbServerResourceId) {
$.sourceDbServerResourceId = sourceDbServerResourceId;
return this;
}
/**
* @param sourceDbServerResourceId ResourceId of the source database server
*
* @return builder
*
*/
public Builder sourceDbServerResourceId(String sourceDbServerResourceId) {
return sourceDbServerResourceId(Output.of(sourceDbServerResourceId));
}
/**
* @param startDataMigration Indicates whether the data migration should start right away
*
* @return builder
*
*/
public Builder startDataMigration(@Nullable Output> startDataMigration) {
$.startDataMigration = startDataMigration;
return this;
}
/**
* @param startDataMigration Indicates whether the data migration should start right away
*
* @return builder
*
*/
public Builder startDataMigration(Either startDataMigration) {
return startDataMigration(Output.of(startDataMigration));
}
/**
* @param startDataMigration Indicates whether the data migration should start right away
*
* @return builder
*
*/
public Builder startDataMigration(String startDataMigration) {
return startDataMigration(Either.ofLeft(startDataMigration));
}
/**
* @param startDataMigration Indicates whether the data migration should start right away
*
* @return builder
*
*/
public Builder startDataMigration(StartDataMigrationEnum startDataMigration) {
return startDataMigration(Either.ofRight(startDataMigration));
}
/**
* @param subscriptionId The subscription ID of the target database server.
*
* @return builder
*
*/
public Builder subscriptionId(@Nullable Output subscriptionId) {
$.subscriptionId = subscriptionId;
return this;
}
/**
* @param subscriptionId The subscription ID of the target database server.
*
* @return builder
*
*/
public Builder subscriptionId(String subscriptionId) {
return subscriptionId(Output.of(subscriptionId));
}
/**
* @param tags Resource tags.
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags Resource tags.
*
* @return builder
*
*/
public Builder tags(Map tags) {
return tags(Output.of(tags));
}
/**
* @param targetDbServerFullyQualifiedDomainName Target server fully qualified domain name or ip. It is a optional value, if customer provide it, dms will always use it for connection
*
* @return builder
*
*/
public Builder targetDbServerFullyQualifiedDomainName(@Nullable Output targetDbServerFullyQualifiedDomainName) {
$.targetDbServerFullyQualifiedDomainName = targetDbServerFullyQualifiedDomainName;
return this;
}
/**
* @param targetDbServerFullyQualifiedDomainName Target server fully qualified domain name or ip. It is a optional value, if customer provide it, dms will always use it for connection
*
* @return builder
*
*/
public Builder targetDbServerFullyQualifiedDomainName(String targetDbServerFullyQualifiedDomainName) {
return targetDbServerFullyQualifiedDomainName(Output.of(targetDbServerFullyQualifiedDomainName));
}
/**
* @param targetDbServerName The name of the target database server.
*
* @return builder
*
*/
public Builder targetDbServerName(Output targetDbServerName) {
$.targetDbServerName = targetDbServerName;
return this;
}
/**
* @param targetDbServerName The name of the target database server.
*
* @return builder
*
*/
public Builder targetDbServerName(String targetDbServerName) {
return targetDbServerName(Output.of(targetDbServerName));
}
/**
* @param triggerCutover To trigger cutover for entire migration we need to send this flag as True
*
* @return builder
*
*/
public Builder triggerCutover(@Nullable Output> triggerCutover) {
$.triggerCutover = triggerCutover;
return this;
}
/**
* @param triggerCutover To trigger cutover for entire migration we need to send this flag as True
*
* @return builder
*
*/
public Builder triggerCutover(Either triggerCutover) {
return triggerCutover(Output.of(triggerCutover));
}
/**
* @param triggerCutover To trigger cutover for entire migration we need to send this flag as True
*
* @return builder
*
*/
public Builder triggerCutover(String triggerCutover) {
return triggerCutover(Either.ofLeft(triggerCutover));
}
/**
* @param triggerCutover To trigger cutover for entire migration we need to send this flag as True
*
* @return builder
*
*/
public Builder triggerCutover(TriggerCutoverEnum triggerCutover) {
return triggerCutover(Either.ofRight(triggerCutover));
}
public MigrationArgs build() {
if ($.resourceGroupName == null) {
throw new MissingRequiredPropertyException("MigrationArgs", "resourceGroupName");
}
if ($.targetDbServerName == null) {
throw new MissingRequiredPropertyException("MigrationArgs", "targetDbServerName");
}
return $;
}
}
}