@huaweicloudos/pulumi
Version:
A Pulumi package for creating and managing Huaweicloud cloud resources.
799 lines (798 loc) • 35.9 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import { input as inputs, output as outputs } from "../types";
/**
* Manages DRS job resource within HuaweiCloud.
*
* ## Example Usage
*
* ## Import
*
* The DRS job can be imported by `id`. e.g. bash
*
* ```sh
* $ pulumi import huaweicloud:Drs/job:Job test <id>
* ```
*
* Note that the imported state may not be identical to your resource definition, due to some attributes missing from the API response, security or some other reason. The missing attributes include`enterprise_project_id`, `force_destroy`, `source_db.0.password`, `destination_db.0.password`, `source_db.0.ip`, `destination_db.0.ip`, `source_db.0.kafka_security_config.0.trust_store_password`, `destination_db.0.kafka_security_config.0.trust_store_password`, `source_db.0.kafka_security_config.0.key_store_password`,`destination_db.0.kafka_security_config.0.key_store_password`, `source_db.0.kafka_security_config.0.key_password`, `destination_db.0.kafka_security_config.0.key_password`, `action`, `is_sync_re_edit`, `pause_mode`, `auto_renew`, `alarm_notify.0.topic_urn`, `policy_config`, `engine_type`, `public_ip_list`, `start_time`. It is generally recommended running **terraform plan** after importing a job. You can then decide if changes should be applied to the job, or the resource definition should be updated to align with the job. Also you can ignore changes as below. hcl resource "huaweicloud_drs_job" "test" {
*
* ...
*
* lifecycle {
*
* ignore_changes = [
*
* source_db.0.password, destination_db.0.password, action,
*
* ]
*
* } }
*/
export declare class Job extends pulumi.CustomResource {
/**
* Get an existing Job 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 state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: JobState, opts?: pulumi.CustomResourceOptions): Job;
/**
* Returns true if the given object is an instance of Job. 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 Job;
/**
* Specifies the action of job. The options are as follows:
* + **stop**: Stop the job. Available when job status is **FULL_TRANSFER_STARTED**, **FULL_TRANSFER_COMPLETE** or
* **INCRE_TRANSFER_STARTED**.
* + **restart**: Continue the job. Available when job status is **PAUSING**.
* + **reset**: Retry the job. Available when job status is **FULL_TRANSFER_FAILED** or **INCRE_TRANSFER_FAILED**.
* + **start**: Start the job. Available when job status is **WAITING_FOR_START**.
*/
readonly action: pulumi.Output<string | undefined>;
/**
* Specifies the information body for setting task exception notification.
* Changing this parameter will create a new resource.
* The alarmNotify structure is documented below.
*/
readonly alarmNotify: pulumi.Output<outputs.Drs.JobAlarmNotify>;
/**
* schema: Internal
*/
readonly autoRenew: pulumi.Output<string | undefined>;
/**
* schema: Internal
*/
readonly chargingMode: pulumi.Output<string>;
/**
* Create time. The format is ISO8601:YYYY-MM-DDThh:mm:ssZ.
*/
readonly createdAt: pulumi.Output<string>;
/**
* Specifies the list of the databases which the job migrates or synchronizes. Means to
* transfer database level data. This parameter conflicts with `tables`.
*/
readonly databases: pulumi.Output<string[] | undefined>;
/**
* Specifies the description of the job, which contain a
* maximum of 256 characters, and certain special characters (including !<>&'"\\) are not allowed.
*/
readonly description: pulumi.Output<string | undefined>;
/**
* Specifies the destination database configuration.
* The dbInfo structure of the `destinationDb` is documented below.
* Changing this parameter will create a new resource.
*/
readonly destinationDb: pulumi.Output<outputs.Drs.JobDestinationDb>;
/**
* Specifies the destination DB instance as read-only helps
* ensure the migration is successful. Once the migration is complete, the DB instance automatically changes to
* Read/Write. Changing this parameter will create a new resource.
*/
readonly destinationDbReadnoly: pulumi.Output<boolean | undefined>;
/**
* Specifies the direction of data flow.
* Changing this parameter will create a new resource. The options are as follows:
* + **up**: To the cloud. The destination database must be a database in the current cloud.
* + **down**: Out of the cloud. The source database must be a database in the current cloud.
* + **non-dbs**: self-built database.
*/
readonly direction: pulumi.Output<string>;
/**
* Specifies the engine type of database. Changing this parameter will
* create a new resource. The options are as follows: **mysql**, **mongodb**, **gaussdbv5**, **taurus**, **gaussdbv5ha**,
* **kafka**, **postgresql**.
*/
readonly engineType: pulumi.Output<string>;
/**
* Specifies the enterprise project id.
* Changing this parameter will create a new resource.
*/
readonly enterpriseProjectId: pulumi.Output<string | undefined>;
/**
* Specifies how many days after the task is abnormal, it will automatically
* end. The value ranges from 14 to 100. the default value is `14`. Changing this parameter will create a new resource.
*/
readonly expiredDays: pulumi.Output<number | undefined>;
/**
* Specifies whether to forcibly destroy the job even if it is running.
* The default value is **false**.
*/
readonly forceDestroy: pulumi.Output<boolean | undefined>;
/**
* Specifies whether to enable binlog clearing for RDS for MySQL or RDS
* for MariaDB. Defaults to **false**.
* Changing this parameter will create a new resource.
*/
readonly isOpenFastClean: pulumi.Output<boolean>;
/**
* Specifies whether to start the sync re-edit job. It's valid when `action` is **restart**.
*/
readonly isSyncReEdit: pulumi.Output<boolean | undefined>;
/**
* Specifies the migration speed by setting a time period.
* The default is no speed limit. The maximum length is 3. The limitSpeed structure is documented
* below. Changing this parameter will create a new resource.
*/
readonly limitSpeeds: pulumi.Output<outputs.Drs.JobLimitSpeed[] | undefined>;
/**
* Specifies the AZ where the primary task is located.
* Changing this parameter will create a new resource.
*/
readonly masterAz: pulumi.Output<string | undefined>;
/**
* The master job ID which will return if job is dual-AZ.
*/
readonly masterJobId: pulumi.Output<string>;
/**
* Specifies whether to migrate the definers of all source database
* objects to the `user` of `destinationDb`. The default value is **true**.
* Changing this parameter will create a new resource.
*/
readonly migrateDefiner: pulumi.Output<boolean | undefined>;
/**
* Specifies migration type.
* Changing this parameter will create a new resource. The default value is **FULL_INCR_TRANS**. The options are as follows:
* + **FULL_TRANS**: Full migration. Suitable for scenarios where services can be interrupted. It migrates all database
* objects and data, in a non-system database, to a destination database at a time.
* + **INCR_TRANS**: Incremental migration. Suitable for migration from an on-premises self-built database to a
* destination cloud database, or from one cloud database to another in a different region.
* + **FULL_INCR_TRANS**: Full+Incremental migration. This allows to migrate data with minimal downtime. After a full
* migration initializes the destination database, an incremental migration parses logs to ensure data consistency
* between the source and destination databases.
*/
readonly migrationType: pulumi.Output<string | undefined>;
/**
* Specifies whether to enable multi write. It is mandatory when `type`
* is **cloudDataGuard**. When the disaster recovery type is dual-active disaster recovery, set `multiWrite` to **true**,
* otherwise to **false**. The default value is **false**. Changing this parameter will create a new resource.
*/
readonly multiWrite: pulumi.Output<boolean | undefined>;
/**
* Specifies the name of database.
* Changing this parameter will create a new resource.
*/
readonly name: pulumi.Output<string>;
/**
* Specifies the network type.
* Changing this parameter will create a new resource. The default value is **eip**. The options are as follows:
* + **eip**: suitable for migration from an on-premises or other cloud database to a destination cloud database.
* An EIP will be automatically bound to the replication instance and released after the replication task is complete.
* + **vpc**: suitable for migration from one cloud database to another.
* + **vpn**: suitable for migration from an on-premises self-built database to a destination cloud database,
* or from one cloud database to another in a different region.
*/
readonly netType: pulumi.Output<string | undefined>;
/**
* Specifies the node flavor type. Valid values are **micro**, **small**,
* **medium**, **high**, **xlarge**, **2xlarge**. Default to **high**.
*/
readonly nodeType: pulumi.Output<string | undefined>;
/**
* The order ID which will return if `chargingMode` is **prePaid**.
*/
readonly orderId: pulumi.Output<string>;
/**
* The original job direction.
*/
readonly originalJobDirection: pulumi.Output<string>;
/**
* Specifies the stop type of job. It's valid when `action` is **stop**.
* Default value is **target**. The options are as follows:
* + **target**: Stop playback.
* + **all**: Stop log capture and playback.
*/
readonly pauseMode: pulumi.Output<string | undefined>;
/**
* schema: Internal
*/
readonly period: pulumi.Output<number | undefined>;
/**
* schema: Internal
*/
readonly periodUnit: pulumi.Output<string | undefined>;
/**
* Specifies the policy information used to configure migration and
* synchronization policies. The policyConfig structure is documented below.
* Changing this parameter will create a new resource.
*/
readonly policyConfig: pulumi.Output<outputs.Drs.JobPolicyConfig | undefined>;
/**
* Private IP.
*/
readonly privateIp: pulumi.Output<string>;
/**
* Progress.
*/
readonly progress: pulumi.Output<string>;
/**
* Specifies public IP.
* Changing this parameter will create a new resource.
*/
readonly publicIp: pulumi.Output<string>;
/**
* Specifies the public IP list.
* It can be specified when `netType` is **eip**, and if it's not specified, DRS job will automatically bind a public IP.
* Changing this parameter will create a new resource.
* The publicIpList structure is documented below.
*/
readonly publicIpLists: pulumi.Output<outputs.Drs.JobPublicIpList[] | undefined>;
/**
* Specifies the region which the database belongs when it is a RDS database.
* Changing this parameter will create a new resource.
*/
readonly region: pulumi.Output<string>;
/**
* The security group ID to which the databese instance belongs.
*/
readonly securityGroupId: pulumi.Output<string>;
/**
* Specifies the AZ where the standby task is located.
* Changing this parameter will create a new resource.
*/
readonly slaveAz: pulumi.Output<string | undefined>;
/**
* The slave job ID which will return if job is dual-AZ.
*/
readonly slaveJobId: pulumi.Output<string>;
/**
* Specifies the source database configuration.
* The dbInfo structure of the `sourceDb` is documented below.
* Changing this parameter will create a new resource.
*/
readonly sourceDb: pulumi.Output<outputs.Drs.JobSourceDb>;
/**
* Specifies the time to start speed limit, this time is UTC time. The start
* time is the whole hour, if there is a minute, it will be ignored, the format is **hh:mm**, and the hour number
* is two digits, for example: 01:00. Changing this parameter will create a new resource.
*/
readonly startTime: pulumi.Output<string | undefined>;
/**
* Status.
*/
readonly status: pulumi.Output<string>;
/**
* Specifies subnet ID of database when it is a RDS database.
* It is mandatory when `direction` is **down**. Changing this parameter will create a new resource.
*/
readonly subnetId: pulumi.Output<string>;
/**
* Specifies the list of the tables which the job migrates or synchronizes. Means to transfer
* table level data. This parameter conflicts with `databases`.
* The tables structure is documented below.
*/
readonly tables: pulumi.Output<outputs.Drs.JobTable[] | undefined>;
/**
* Specifies the key/value pairs to associate with the DRS job.
*/
readonly tags: pulumi.Output<{
[key: string]: string;
} | undefined>;
/**
* Specifies the type of a task with an EIP bound.
* Valid values are **master** and **slave**.
* + In a primary/standby task, **master** indicates the primary task, and **slave** indicates the standby task.
* + In other cases, the value is fixed to **master**.
*/
readonly type: pulumi.Output<string>;
/**
* Update time. The format is ISO8601:YYYY-MM-DDThh:mm:ssZ.
*/
readonly updatedAt: pulumi.Output<string>;
/**
* Specifies vpc ID of database.
* Changing this parameter will create a new resource.
*/
readonly vpcId: pulumi.Output<string>;
/**
* Create a Job 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: JobArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering Job resources.
*/
export interface JobState {
/**
* Specifies the action of job. The options are as follows:
* + **stop**: Stop the job. Available when job status is **FULL_TRANSFER_STARTED**, **FULL_TRANSFER_COMPLETE** or
* **INCRE_TRANSFER_STARTED**.
* + **restart**: Continue the job. Available when job status is **PAUSING**.
* + **reset**: Retry the job. Available when job status is **FULL_TRANSFER_FAILED** or **INCRE_TRANSFER_FAILED**.
* + **start**: Start the job. Available when job status is **WAITING_FOR_START**.
*/
action?: pulumi.Input<string>;
/**
* Specifies the information body for setting task exception notification.
* Changing this parameter will create a new resource.
* The alarmNotify structure is documented below.
*/
alarmNotify?: pulumi.Input<inputs.Drs.JobAlarmNotify>;
/**
* schema: Internal
*/
autoRenew?: pulumi.Input<string>;
/**
* schema: Internal
*/
chargingMode?: pulumi.Input<string>;
/**
* Create time. The format is ISO8601:YYYY-MM-DDThh:mm:ssZ.
*/
createdAt?: pulumi.Input<string>;
/**
* Specifies the list of the databases which the job migrates or synchronizes. Means to
* transfer database level data. This parameter conflicts with `tables`.
*/
databases?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Specifies the description of the job, which contain a
* maximum of 256 characters, and certain special characters (including !<>&'"\\) are not allowed.
*/
description?: pulumi.Input<string>;
/**
* Specifies the destination database configuration.
* The dbInfo structure of the `destinationDb` is documented below.
* Changing this parameter will create a new resource.
*/
destinationDb?: pulumi.Input<inputs.Drs.JobDestinationDb>;
/**
* Specifies the destination DB instance as read-only helps
* ensure the migration is successful. Once the migration is complete, the DB instance automatically changes to
* Read/Write. Changing this parameter will create a new resource.
*/
destinationDbReadnoly?: pulumi.Input<boolean>;
/**
* Specifies the direction of data flow.
* Changing this parameter will create a new resource. The options are as follows:
* + **up**: To the cloud. The destination database must be a database in the current cloud.
* + **down**: Out of the cloud. The source database must be a database in the current cloud.
* + **non-dbs**: self-built database.
*/
direction?: pulumi.Input<string>;
/**
* Specifies the engine type of database. Changing this parameter will
* create a new resource. The options are as follows: **mysql**, **mongodb**, **gaussdbv5**, **taurus**, **gaussdbv5ha**,
* **kafka**, **postgresql**.
*/
engineType?: pulumi.Input<string>;
/**
* Specifies the enterprise project id.
* Changing this parameter will create a new resource.
*/
enterpriseProjectId?: pulumi.Input<string>;
/**
* Specifies how many days after the task is abnormal, it will automatically
* end. The value ranges from 14 to 100. the default value is `14`. Changing this parameter will create a new resource.
*/
expiredDays?: pulumi.Input<number>;
/**
* Specifies whether to forcibly destroy the job even if it is running.
* The default value is **false**.
*/
forceDestroy?: pulumi.Input<boolean>;
/**
* Specifies whether to enable binlog clearing for RDS for MySQL or RDS
* for MariaDB. Defaults to **false**.
* Changing this parameter will create a new resource.
*/
isOpenFastClean?: pulumi.Input<boolean>;
/**
* Specifies whether to start the sync re-edit job. It's valid when `action` is **restart**.
*/
isSyncReEdit?: pulumi.Input<boolean>;
/**
* Specifies the migration speed by setting a time period.
* The default is no speed limit. The maximum length is 3. The limitSpeed structure is documented
* below. Changing this parameter will create a new resource.
*/
limitSpeeds?: pulumi.Input<pulumi.Input<inputs.Drs.JobLimitSpeed>[]>;
/**
* Specifies the AZ where the primary task is located.
* Changing this parameter will create a new resource.
*/
masterAz?: pulumi.Input<string>;
/**
* The master job ID which will return if job is dual-AZ.
*/
masterJobId?: pulumi.Input<string>;
/**
* Specifies whether to migrate the definers of all source database
* objects to the `user` of `destinationDb`. The default value is **true**.
* Changing this parameter will create a new resource.
*/
migrateDefiner?: pulumi.Input<boolean>;
/**
* Specifies migration type.
* Changing this parameter will create a new resource. The default value is **FULL_INCR_TRANS**. The options are as follows:
* + **FULL_TRANS**: Full migration. Suitable for scenarios where services can be interrupted. It migrates all database
* objects and data, in a non-system database, to a destination database at a time.
* + **INCR_TRANS**: Incremental migration. Suitable for migration from an on-premises self-built database to a
* destination cloud database, or from one cloud database to another in a different region.
* + **FULL_INCR_TRANS**: Full+Incremental migration. This allows to migrate data with minimal downtime. After a full
* migration initializes the destination database, an incremental migration parses logs to ensure data consistency
* between the source and destination databases.
*/
migrationType?: pulumi.Input<string>;
/**
* Specifies whether to enable multi write. It is mandatory when `type`
* is **cloudDataGuard**. When the disaster recovery type is dual-active disaster recovery, set `multiWrite` to **true**,
* otherwise to **false**. The default value is **false**. Changing this parameter will create a new resource.
*/
multiWrite?: pulumi.Input<boolean>;
/**
* Specifies the name of database.
* Changing this parameter will create a new resource.
*/
name?: pulumi.Input<string>;
/**
* Specifies the network type.
* Changing this parameter will create a new resource. The default value is **eip**. The options are as follows:
* + **eip**: suitable for migration from an on-premises or other cloud database to a destination cloud database.
* An EIP will be automatically bound to the replication instance and released after the replication task is complete.
* + **vpc**: suitable for migration from one cloud database to another.
* + **vpn**: suitable for migration from an on-premises self-built database to a destination cloud database,
* or from one cloud database to another in a different region.
*/
netType?: pulumi.Input<string>;
/**
* Specifies the node flavor type. Valid values are **micro**, **small**,
* **medium**, **high**, **xlarge**, **2xlarge**. Default to **high**.
*/
nodeType?: pulumi.Input<string>;
/**
* The order ID which will return if `chargingMode` is **prePaid**.
*/
orderId?: pulumi.Input<string>;
/**
* The original job direction.
*/
originalJobDirection?: pulumi.Input<string>;
/**
* Specifies the stop type of job. It's valid when `action` is **stop**.
* Default value is **target**. The options are as follows:
* + **target**: Stop playback.
* + **all**: Stop log capture and playback.
*/
pauseMode?: pulumi.Input<string>;
/**
* schema: Internal
*/
period?: pulumi.Input<number>;
/**
* schema: Internal
*/
periodUnit?: pulumi.Input<string>;
/**
* Specifies the policy information used to configure migration and
* synchronization policies. The policyConfig structure is documented below.
* Changing this parameter will create a new resource.
*/
policyConfig?: pulumi.Input<inputs.Drs.JobPolicyConfig>;
/**
* Private IP.
*/
privateIp?: pulumi.Input<string>;
/**
* Progress.
*/
progress?: pulumi.Input<string>;
/**
* Specifies public IP.
* Changing this parameter will create a new resource.
*/
publicIp?: pulumi.Input<string>;
/**
* Specifies the public IP list.
* It can be specified when `netType` is **eip**, and if it's not specified, DRS job will automatically bind a public IP.
* Changing this parameter will create a new resource.
* The publicIpList structure is documented below.
*/
publicIpLists?: pulumi.Input<pulumi.Input<inputs.Drs.JobPublicIpList>[]>;
/**
* Specifies the region which the database belongs when it is a RDS database.
* Changing this parameter will create a new resource.
*/
region?: pulumi.Input<string>;
/**
* The security group ID to which the databese instance belongs.
*/
securityGroupId?: pulumi.Input<string>;
/**
* Specifies the AZ where the standby task is located.
* Changing this parameter will create a new resource.
*/
slaveAz?: pulumi.Input<string>;
/**
* The slave job ID which will return if job is dual-AZ.
*/
slaveJobId?: pulumi.Input<string>;
/**
* Specifies the source database configuration.
* The dbInfo structure of the `sourceDb` is documented below.
* Changing this parameter will create a new resource.
*/
sourceDb?: pulumi.Input<inputs.Drs.JobSourceDb>;
/**
* Specifies the time to start speed limit, this time is UTC time. The start
* time is the whole hour, if there is a minute, it will be ignored, the format is **hh:mm**, and the hour number
* is two digits, for example: 01:00. Changing this parameter will create a new resource.
*/
startTime?: pulumi.Input<string>;
/**
* Status.
*/
status?: pulumi.Input<string>;
/**
* Specifies subnet ID of database when it is a RDS database.
* It is mandatory when `direction` is **down**. Changing this parameter will create a new resource.
*/
subnetId?: pulumi.Input<string>;
/**
* Specifies the list of the tables which the job migrates or synchronizes. Means to transfer
* table level data. This parameter conflicts with `databases`.
* The tables structure is documented below.
*/
tables?: pulumi.Input<pulumi.Input<inputs.Drs.JobTable>[]>;
/**
* Specifies the key/value pairs to associate with the DRS job.
*/
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* Specifies the type of a task with an EIP bound.
* Valid values are **master** and **slave**.
* + In a primary/standby task, **master** indicates the primary task, and **slave** indicates the standby task.
* + In other cases, the value is fixed to **master**.
*/
type?: pulumi.Input<string>;
/**
* Update time. The format is ISO8601:YYYY-MM-DDThh:mm:ssZ.
*/
updatedAt?: pulumi.Input<string>;
/**
* Specifies vpc ID of database.
* Changing this parameter will create a new resource.
*/
vpcId?: pulumi.Input<string>;
}
/**
* The set of arguments for constructing a Job resource.
*/
export interface JobArgs {
/**
* Specifies the action of job. The options are as follows:
* + **stop**: Stop the job. Available when job status is **FULL_TRANSFER_STARTED**, **FULL_TRANSFER_COMPLETE** or
* **INCRE_TRANSFER_STARTED**.
* + **restart**: Continue the job. Available when job status is **PAUSING**.
* + **reset**: Retry the job. Available when job status is **FULL_TRANSFER_FAILED** or **INCRE_TRANSFER_FAILED**.
* + **start**: Start the job. Available when job status is **WAITING_FOR_START**.
*/
action?: pulumi.Input<string>;
/**
* Specifies the information body for setting task exception notification.
* Changing this parameter will create a new resource.
* The alarmNotify structure is documented below.
*/
alarmNotify?: pulumi.Input<inputs.Drs.JobAlarmNotify>;
/**
* schema: Internal
*/
autoRenew?: pulumi.Input<string>;
/**
* schema: Internal
*/
chargingMode?: pulumi.Input<string>;
/**
* Specifies the list of the databases which the job migrates or synchronizes. Means to
* transfer database level data. This parameter conflicts with `tables`.
*/
databases?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Specifies the description of the job, which contain a
* maximum of 256 characters, and certain special characters (including !<>&'"\\) are not allowed.
*/
description?: pulumi.Input<string>;
/**
* Specifies the destination database configuration.
* The dbInfo structure of the `destinationDb` is documented below.
* Changing this parameter will create a new resource.
*/
destinationDb: pulumi.Input<inputs.Drs.JobDestinationDb>;
/**
* Specifies the destination DB instance as read-only helps
* ensure the migration is successful. Once the migration is complete, the DB instance automatically changes to
* Read/Write. Changing this parameter will create a new resource.
*/
destinationDbReadnoly?: pulumi.Input<boolean>;
/**
* Specifies the direction of data flow.
* Changing this parameter will create a new resource. The options are as follows:
* + **up**: To the cloud. The destination database must be a database in the current cloud.
* + **down**: Out of the cloud. The source database must be a database in the current cloud.
* + **non-dbs**: self-built database.
*/
direction: pulumi.Input<string>;
/**
* Specifies the engine type of database. Changing this parameter will
* create a new resource. The options are as follows: **mysql**, **mongodb**, **gaussdbv5**, **taurus**, **gaussdbv5ha**,
* **kafka**, **postgresql**.
*/
engineType: pulumi.Input<string>;
/**
* Specifies the enterprise project id.
* Changing this parameter will create a new resource.
*/
enterpriseProjectId?: pulumi.Input<string>;
/**
* Specifies how many days after the task is abnormal, it will automatically
* end. The value ranges from 14 to 100. the default value is `14`. Changing this parameter will create a new resource.
*/
expiredDays?: pulumi.Input<number>;
/**
* Specifies whether to forcibly destroy the job even if it is running.
* The default value is **false**.
*/
forceDestroy?: pulumi.Input<boolean>;
/**
* Specifies whether to enable binlog clearing for RDS for MySQL or RDS
* for MariaDB. Defaults to **false**.
* Changing this parameter will create a new resource.
*/
isOpenFastClean?: pulumi.Input<boolean>;
/**
* Specifies whether to start the sync re-edit job. It's valid when `action` is **restart**.
*/
isSyncReEdit?: pulumi.Input<boolean>;
/**
* Specifies the migration speed by setting a time period.
* The default is no speed limit. The maximum length is 3. The limitSpeed structure is documented
* below. Changing this parameter will create a new resource.
*/
limitSpeeds?: pulumi.Input<pulumi.Input<inputs.Drs.JobLimitSpeed>[]>;
/**
* Specifies the AZ where the primary task is located.
* Changing this parameter will create a new resource.
*/
masterAz?: pulumi.Input<string>;
/**
* Specifies whether to migrate the definers of all source database
* objects to the `user` of `destinationDb`. The default value is **true**.
* Changing this parameter will create a new resource.
*/
migrateDefiner?: pulumi.Input<boolean>;
/**
* Specifies migration type.
* Changing this parameter will create a new resource. The default value is **FULL_INCR_TRANS**. The options are as follows:
* + **FULL_TRANS**: Full migration. Suitable for scenarios where services can be interrupted. It migrates all database
* objects and data, in a non-system database, to a destination database at a time.
* + **INCR_TRANS**: Incremental migration. Suitable for migration from an on-premises self-built database to a
* destination cloud database, or from one cloud database to another in a different region.
* + **FULL_INCR_TRANS**: Full+Incremental migration. This allows to migrate data with minimal downtime. After a full
* migration initializes the destination database, an incremental migration parses logs to ensure data consistency
* between the source and destination databases.
*/
migrationType?: pulumi.Input<string>;
/**
* Specifies whether to enable multi write. It is mandatory when `type`
* is **cloudDataGuard**. When the disaster recovery type is dual-active disaster recovery, set `multiWrite` to **true**,
* otherwise to **false**. The default value is **false**. Changing this parameter will create a new resource.
*/
multiWrite?: pulumi.Input<boolean>;
/**
* Specifies the name of database.
* Changing this parameter will create a new resource.
*/
name?: pulumi.Input<string>;
/**
* Specifies the network type.
* Changing this parameter will create a new resource. The default value is **eip**. The options are as follows:
* + **eip**: suitable for migration from an on-premises or other cloud database to a destination cloud database.
* An EIP will be automatically bound to the replication instance and released after the replication task is complete.
* + **vpc**: suitable for migration from one cloud database to another.
* + **vpn**: suitable for migration from an on-premises self-built database to a destination cloud database,
* or from one cloud database to another in a different region.
*/
netType?: pulumi.Input<string>;
/**
* Specifies the node flavor type. Valid values are **micro**, **small**,
* **medium**, **high**, **xlarge**, **2xlarge**. Default to **high**.
*/
nodeType?: pulumi.Input<string>;
/**
* Specifies the stop type of job. It's valid when `action` is **stop**.
* Default value is **target**. The options are as follows:
* + **target**: Stop playback.
* + **all**: Stop log capture and playback.
*/
pauseMode?: pulumi.Input<string>;
/**
* schema: Internal
*/
period?: pulumi.Input<number>;
/**
* schema: Internal
*/
periodUnit?: pulumi.Input<string>;
/**
* Specifies the policy information used to configure migration and
* synchronization policies. The policyConfig structure is documented below.
* Changing this parameter will create a new resource.
*/
policyConfig?: pulumi.Input<inputs.Drs.JobPolicyConfig>;
/**
* Specifies the public IP list.
* It can be specified when `netType` is **eip**, and if it's not specified, DRS job will automatically bind a public IP.
* Changing this parameter will create a new resource.
* The publicIpList structure is documented below.
*/
publicIpLists?: pulumi.Input<pulumi.Input<inputs.Drs.JobPublicIpList>[]>;
/**
* Specifies the region which the database belongs when it is a RDS database.
* Changing this parameter will create a new resource.
*/
region?: pulumi.Input<string>;
/**
* Specifies the AZ where the standby task is located.
* Changing this parameter will create a new resource.
*/
slaveAz?: pulumi.Input<string>;
/**
* Specifies the source database configuration.
* The dbInfo structure of the `sourceDb` is documented below.
* Changing this parameter will create a new resource.
*/
sourceDb: pulumi.Input<inputs.Drs.JobSourceDb>;
/**
* Specifies the time to start speed limit, this time is UTC time. The start
* time is the whole hour, if there is a minute, it will be ignored, the format is **hh:mm**, and the hour number
* is two digits, for example: 01:00. Changing this parameter will create a new resource.
*/
startTime?: pulumi.Input<string>;
/**
* Specifies the list of the tables which the job migrates or synchronizes. Means to transfer
* table level data. This parameter conflicts with `databases`.
* The tables structure is documented below.
*/
tables?: pulumi.Input<pulumi.Input<inputs.Drs.JobTable>[]>;
/**
* Specifies the key/value pairs to associate with the DRS job.
*/
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* Specifies the type of a task with an EIP bound.
* Valid values are **master** and **slave**.
* + In a primary/standby task, **master** indicates the primary task, and **slave** indicates the standby task.
* + In other cases, the value is fixed to **master**.
*/
type: pulumi.Input<string>;
}