@pulumi/azure-native
Version:
[](https://slack.pulumi.com) [](https://npmjs.com/package/@pulumi/azure-native) [ • 12.4 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
* Migration.
*
* Uses Azure REST API version 2024-08-01. In version 2.x of the Azure Native provider, it used API version 2023-03-01-preview.
*
* Other available API versions: 2023-03-01-preview, 2023-06-01-preview, 2023-12-01-preview, 2024-03-01-preview, 2024-11-01-preview, 2025-01-01-preview, 2025-06-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native dbforpostgresql [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.
*/
export declare class Migration extends pulumi.CustomResource {
/**
* Get an existing Migration resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): Migration;
/**
* Returns true if the given object is an instance of Migration. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is Migration;
/**
* The Azure API version of the resource.
*/
readonly azureApiVersion: pulumi.Output<string>;
/**
* Indicates if cancel must be triggered for the entire migration.
*/
readonly cancel: pulumi.Output<string | undefined>;
/**
* Current status of a migration.
*/
readonly currentStatus: pulumi.Output<outputs.dbforpostgresql.MigrationStatusResponse>;
/**
* When you want to trigger cancel for specific databases set 'triggerCutover' to 'True' and the names of the specific databases in this array.
*/
readonly dbsToCancelMigrationOn: pulumi.Output<string[] | undefined>;
/**
* Names of databases to migrate.
*/
readonly dbsToMigrate: pulumi.Output<string[] | undefined>;
/**
* When you want to trigger cutover for specific databases set 'triggerCutover' to 'True' and the names of the specific databases in this array.
*/
readonly dbsToTriggerCutoverOn: pulumi.Output<string[] | undefined>;
/**
* The geo-location where the resource lives
*/
readonly location: pulumi.Output<string>;
/**
* Indicates if roles and permissions must be migrated.
*/
readonly migrateRoles: pulumi.Output<string | undefined>;
/**
* Identifier of a migration.
*/
readonly migrationId: pulumi.Output<string>;
/**
* Identifier of the private endpoint migration instance.
*/
readonly migrationInstanceResourceId: pulumi.Output<string | undefined>;
/**
* Mode used to perform the migration: Online or Offline.
*/
readonly migrationMode: pulumi.Output<string | undefined>;
/**
* Supported option for a migration.
*/
readonly migrationOption: pulumi.Output<string | undefined>;
/**
* End time (UTC) for migration window.
*/
readonly migrationWindowEndTimeInUtc: pulumi.Output<string | undefined>;
/**
* Start time (UTC) for migration window.
*/
readonly migrationWindowStartTimeInUtc: pulumi.Output<string | undefined>;
/**
* The name of the resource
*/
readonly name: pulumi.Output<string>;
/**
* Indicates if databases on the target server can be overwritten when already present. If set to 'False', when the migration workflow detects that the database already exists on the target server, it will wait for a confirmation.
*/
readonly overwriteDbsInTarget: pulumi.Output<string | undefined>;
/**
* Indicates whether to setup LogicalReplicationOnSourceDb, if needed.
*/
readonly setupLogicalReplicationOnSourceDbIfNeeded: pulumi.Output<string | undefined>;
/**
* Fully qualified domain name (FQDN) or IP address of the source server. This property is optional. When provided, the migration service will always use it to connect to the source server.
*/
readonly sourceDbServerFullyQualifiedDomainName: pulumi.Output<string | undefined>;
/**
* Metadata of source database server.
*/
readonly sourceDbServerMetadata: pulumi.Output<outputs.dbforpostgresql.DbServerMetadataResponse>;
/**
* Identifier of the source database server resource, when 'sourceType' is 'PostgreSQLSingleServer'. For other source types this must be set to ipaddress:port@username or hostname:port@username.
*/
readonly sourceDbServerResourceId: pulumi.Output<string | undefined>;
/**
* Source server type used for the migration: ApsaraDB_RDS, AWS, AWS_AURORA, AWS_EC2, AWS_RDS, AzureVM, Crunchy_PostgreSQL, Digital_Ocean_Droplets, Digital_Ocean_PostgreSQL, EDB, EDB_Oracle_Server, EDB_PostgreSQL, GCP, GCP_AlloyDB, GCP_CloudSQL, GCP_Compute, Heroku_PostgreSQL, Huawei_Compute, Huawei_RDS, OnPremises, PostgreSQLCosmosDB, PostgreSQLFlexibleServer, PostgreSQLSingleServer, or Supabase_PostgreSQL
*/
readonly sourceType: pulumi.Output<string | undefined>;
/**
* SSL mode used by a migration. Default SSL mode for 'PostgreSQLSingleServer' is 'VerifyFull'. Default SSL mode for other source types is 'Prefer'.
*/
readonly sslMode: pulumi.Output<string | undefined>;
/**
* Indicates if data migration must start right away.
*/
readonly startDataMigration: pulumi.Output<string | undefined>;
/**
* Azure Resource Manager metadata containing createdBy and modifiedBy information.
*/
readonly systemData: pulumi.Output<outputs.dbforpostgresql.SystemDataResponse>;
/**
* Resource tags.
*/
readonly tags: pulumi.Output<{
[key: string]: string;
} | undefined>;
/**
* Fully qualified domain name (FQDN) or IP address of the target server. This property is optional. When provided, the migration service will always use it to connect to the target server.
*/
readonly targetDbServerFullyQualifiedDomainName: pulumi.Output<string | undefined>;
/**
* Metadata of target database server.
*/
readonly targetDbServerMetadata: pulumi.Output<outputs.dbforpostgresql.DbServerMetadataResponse>;
/**
* Identifier of the target database server resource.
*/
readonly targetDbServerResourceId: pulumi.Output<string>;
/**
* Indicates if cutover must be triggered for the entire migration.
*/
readonly triggerCutover: pulumi.Output<string | undefined>;
/**
* The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
*/
readonly type: pulumi.Output<string>;
/**
* Create a Migration resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: MigrationArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* The set of arguments for constructing a Migration resource.
*/
export interface MigrationArgs {
/**
* Indicates if cancel must be triggered for the entire migration.
*/
cancel?: pulumi.Input<string | enums.dbforpostgresql.CancelEnum>;
/**
* When you want to trigger cancel for specific databases set 'triggerCutover' to 'True' and the names of the specific databases in this array.
*/
dbsToCancelMigrationOn?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Names of databases to migrate.
*/
dbsToMigrate?: pulumi.Input<pulumi.Input<string>[]>;
/**
* When you want to trigger cutover for specific databases set 'triggerCutover' to 'True' and the names of the specific databases in this array.
*/
dbsToTriggerCutoverOn?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The geo-location where the resource lives
*/
location?: pulumi.Input<string>;
/**
* Indicates if roles and permissions must be migrated.
*/
migrateRoles?: pulumi.Input<string | enums.dbforpostgresql.MigrateRolesEnum>;
/**
* Identifier of the private endpoint migration instance.
*/
migrationInstanceResourceId?: pulumi.Input<string>;
/**
* Mode used to perform the migration: Online or Offline.
*/
migrationMode?: pulumi.Input<string | enums.dbforpostgresql.MigrationMode>;
/**
* Name of migration.
*/
migrationName?: pulumi.Input<string>;
/**
* Supported option for a migration.
*/
migrationOption?: pulumi.Input<string | enums.dbforpostgresql.MigrationOption>;
/**
* End time (UTC) for migration window.
*/
migrationWindowEndTimeInUtc?: pulumi.Input<string>;
/**
* Start time (UTC) for migration window.
*/
migrationWindowStartTimeInUtc?: pulumi.Input<string>;
/**
* Indicates if databases on the target server can be overwritten when already present. If set to 'False', when the migration workflow detects that the database already exists on the target server, it will wait for a confirmation.
*/
overwriteDbsInTarget?: pulumi.Input<string | enums.dbforpostgresql.OverwriteDbsInTargetEnum>;
/**
* Name of resource group of target database server.
*/
resourceGroupName: pulumi.Input<string>;
/**
* Migration secret parameters.
*/
secretParameters?: pulumi.Input<inputs.dbforpostgresql.MigrationSecretParametersArgs>;
/**
* Indicates whether to setup LogicalReplicationOnSourceDb, if needed.
*/
setupLogicalReplicationOnSourceDbIfNeeded?: pulumi.Input<string | enums.dbforpostgresql.LogicalReplicationOnSourceDbEnum>;
/**
* Fully qualified domain name (FQDN) or IP address of the source server. This property is optional. When provided, the migration service will always use it to connect to the source server.
*/
sourceDbServerFullyQualifiedDomainName?: pulumi.Input<string>;
/**
* Identifier of the source database server resource, when 'sourceType' is 'PostgreSQLSingleServer'. For other source types this must be set to ipaddress:port@username or hostname:port@username.
*/
sourceDbServerResourceId?: pulumi.Input<string>;
/**
* Source server type used for the migration: ApsaraDB_RDS, AWS, AWS_AURORA, AWS_EC2, AWS_RDS, AzureVM, Crunchy_PostgreSQL, Digital_Ocean_Droplets, Digital_Ocean_PostgreSQL, EDB, EDB_Oracle_Server, EDB_PostgreSQL, GCP, GCP_AlloyDB, GCP_CloudSQL, GCP_Compute, Heroku_PostgreSQL, Huawei_Compute, Huawei_RDS, OnPremises, PostgreSQLCosmosDB, PostgreSQLFlexibleServer, PostgreSQLSingleServer, or Supabase_PostgreSQL
*/
sourceType?: pulumi.Input<string | enums.dbforpostgresql.SourceType>;
/**
* SSL mode used by a migration. Default SSL mode for 'PostgreSQLSingleServer' is 'VerifyFull'. Default SSL mode for other source types is 'Prefer'.
*/
sslMode?: pulumi.Input<string | enums.dbforpostgresql.SslMode>;
/**
* Indicates if data migration must start right away.
*/
startDataMigration?: pulumi.Input<string | enums.dbforpostgresql.StartDataMigrationEnum>;
/**
* Identifier of subscription of target database server.
*/
subscriptionId?: pulumi.Input<string>;
/**
* Resource tags.
*/
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* Fully qualified domain name (FQDN) or IP address of the target server. This property is optional. When provided, the migration service will always use it to connect to the target server.
*/
targetDbServerFullyQualifiedDomainName?: pulumi.Input<string>;
/**
* Name of target database server.
*/
targetDbServerName: pulumi.Input<string>;
/**
* Indicates if cutover must be triggered for the entire migration.
*/
triggerCutover?: pulumi.Input<string | enums.dbforpostgresql.TriggerCutoverEnum>;
}