SynchronizationInstanceArgs

data class SynchronizationInstanceArgs(val autoPay: Output<String>? = null, val autoStart: Output<String>? = null, val computeUnit: Output<Int>? = null, val databaseCount: Output<Int>? = null, val destinationEndpointEngineName: Output<String>? = null, val destinationEndpointRegion: Output<String>? = null, val instanceClass: Output<String>? = null, val paymentDuration: Output<Int>? = null, val paymentDurationUnit: Output<String>? = null, val paymentType: Output<String>? = null, val quantity: Output<Int>? = null, val sourceEndpointEngineName: Output<String>? = null, val sourceEndpointRegion: Output<String>? = null, val syncArchitecture: Output<String>? = null) : ConvertibleToJava<SynchronizationInstanceArgs>

Provides a DTS Synchronization Instance resource. For information about DTS Synchronization Instance and how to use it, see What is Synchronization Instance.

NOTE: Available since v1.138.0.

Example Usage

Basic Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const _default = alicloud.getRegions({
current: true,
});
const defaultSynchronizationInstance = new alicloud.dts.SynchronizationInstance("default", {
paymentType: "PayAsYouGo",
sourceEndpointEngineName: "MySQL",
sourceEndpointRegion: _default.then(_default => _default.regions?.[0]?.id),
destinationEndpointEngineName: "MySQL",
destinationEndpointRegion: _default.then(_default => _default.regions?.[0]?.id),
instanceClass: "small",
syncArchitecture: "oneway",
});
import pulumi
import pulumi_alicloud as alicloud
default = alicloud.get_regions(current=True)
default_synchronization_instance = alicloud.dts.SynchronizationInstance("default",
payment_type="PayAsYouGo",
source_endpoint_engine_name="MySQL",
source_endpoint_region=default.regions[0].id,
destination_endpoint_engine_name="MySQL",
destination_endpoint_region=default.regions[0].id,
instance_class="small",
sync_architecture="oneway")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var @default = AliCloud.GetRegions.Invoke(new()
{
Current = true,
});
var defaultSynchronizationInstance = new AliCloud.Dts.SynchronizationInstance("default", new()
{
PaymentType = "PayAsYouGo",
SourceEndpointEngineName = "MySQL",
SourceEndpointRegion = @default.Apply(@default => @default.Apply(getRegionsResult => getRegionsResult.Regions[0]?.Id)),
DestinationEndpointEngineName = "MySQL",
DestinationEndpointRegion = @default.Apply(@default => @default.Apply(getRegionsResult => getRegionsResult.Regions[0]?.Id)),
InstanceClass = "small",
SyncArchitecture = "oneway",
});
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dts"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := alicloud.GetRegions(ctx, &alicloud.GetRegionsArgs{
Current: pulumi.BoolRef(true),
}, nil)
if err != nil {
return err
}
_, err = dts.NewSynchronizationInstance(ctx, "default", &dts.SynchronizationInstanceArgs{
PaymentType: pulumi.String("PayAsYouGo"),
SourceEndpointEngineName: pulumi.String("MySQL"),
SourceEndpointRegion: pulumi.String(_default.Regions[0].Id),
DestinationEndpointEngineName: pulumi.String("MySQL"),
DestinationEndpointRegion: pulumi.String(_default.Regions[0].Id),
InstanceClass: pulumi.String("small"),
SyncArchitecture: pulumi.String("oneway"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.AlicloudFunctions;
import com.pulumi.alicloud.inputs.GetRegionsArgs;
import com.pulumi.alicloud.dts.SynchronizationInstance;
import com.pulumi.alicloud.dts.SynchronizationInstanceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()
.current(true)
.build());
var defaultSynchronizationInstance = new SynchronizationInstance("defaultSynchronizationInstance", SynchronizationInstanceArgs.builder()
.paymentType("PayAsYouGo")
.sourceEndpointEngineName("MySQL")
.sourceEndpointRegion(default_.regions()[0].id())
.destinationEndpointEngineName("MySQL")
.destinationEndpointRegion(default_.regions()[0].id())
.instanceClass("small")
.syncArchitecture("oneway")
.build());
}
}
resources:
defaultSynchronizationInstance:
type: alicloud:dts:SynchronizationInstance
name: default
properties:
paymentType: PayAsYouGo
sourceEndpointEngineName: MySQL
sourceEndpointRegion: ${default.regions[0].id}
destinationEndpointEngineName: MySQL
destinationEndpointRegion: ${default.regions[0].id}
instanceClass: small
syncArchitecture: oneway
variables:
default:
fn::invoke:
function: alicloud:getRegions
arguments:
current: true

Import

DTS Synchronization Instance can be imported using the id, e.g.

$ pulumi import alicloud:dts/synchronizationInstance:SynchronizationInstance example <id>

Constructors

Link copied to clipboard
constructor(autoPay: Output<String>? = null, autoStart: Output<String>? = null, computeUnit: Output<Int>? = null, databaseCount: Output<Int>? = null, destinationEndpointEngineName: Output<String>? = null, destinationEndpointRegion: Output<String>? = null, instanceClass: Output<String>? = null, paymentDuration: Output<Int>? = null, paymentDurationUnit: Output<String>? = null, paymentType: Output<String>? = null, quantity: Output<Int>? = null, sourceEndpointEngineName: Output<String>? = null, sourceEndpointRegion: Output<String>? = null, syncArchitecture: Output<String>? = null)

Properties

Link copied to clipboard
val autoPay: Output<String>? = null

Whether to automatically renew when it expires. Valid values: true, false.

Link copied to clipboard
val autoStart: Output<String>? = null

Whether to automatically start the task after the purchase completed. Valid values: true, false.

Link copied to clipboard
val computeUnit: Output<Int>? = null

ETL specifications. The unit is the computing unit ComputeUnit (CU), 1CU=1vCPU+4 GB memory. The value range is an integer greater than or equal to 2.

Link copied to clipboard
val databaseCount: Output<Int>? = null

The number of private customized RDS instances under PolarDB-X. The default value is 1. This parameter needs to be passed only when source_endpoint_engine_name equals drds.

Link copied to clipboard

The type of destination engine. Valid values: ADS, DB2, DRDS, DataHub, Greenplum, MSSQL, MySQL, PolarDB, PostgreSQL, Redis, Tablestore, as400, clickhouse, kafka, mongodb, odps, oracle, polardb_o, polardb_pg, tidb. For the correspondence between the supported source and target libraries, see Supported Databases, Synchronization Initialization Types and Synchronization Topologies, Supported Databases and Migration Types.

Link copied to clipboard
val destinationEndpointRegion: Output<String>? = null

The region of destination instance. List of supported regions.

Link copied to clipboard
val instanceClass: Output<String>? = null

The instance class. Valid values: large, medium, micro, small, xlarge, xxlarge. You can only upgrade the configuration, not downgrade the configuration. If you downgrade the instance, you need to submit a ticket.

Link copied to clipboard
val paymentDuration: Output<Int>? = null

The duration of prepaid instance purchase. this parameter is required When payment_type equals Subscription.

Link copied to clipboard
val paymentDurationUnit: Output<String>? = null

The payment duration unit. Valid values: Month, Year. When payment_type is Subscription, this parameter is valid and must be passed in.

Link copied to clipboard
val paymentType: Output<String>? = null

The payment type of the resource. Valid values: Subscription, PayAsYouGo.

Link copied to clipboard
val quantity: Output<Int>? = null

The number of instances purchased.

Link copied to clipboard
val sourceEndpointEngineName: Output<String>? = null

The type of source endpoint engine. Valid values: ADS, DB2, DRDS, DataHub, Greenplum, MSSQL, MySQL, PolarDB, PostgreSQL, Redis, Tablestore, as400, clickhouse, kafka, mongodb, odps, oracle, polardb_o, polardb_pg, tidb. For the correspondence between the supported source and target libraries, see Supported Databases, Synchronization Initialization Types and Synchronization Topologies, Supported Databases and Migration Types.

Link copied to clipboard
val sourceEndpointRegion: Output<String>? = null

The region of source instance.

Link copied to clipboard
val syncArchitecture: Output<String>? = null

The sync architecture. Valid values: oneway, bidirectional.

Functions

Link copied to clipboard
open override fun toJava(): SynchronizationInstanceArgs