in alibabacloudstack/resource_apsarastack_dts_synchronization_job.go [17:229]
func resourceAlibabacloudStackDtsSynchronizationJob() *schema.Resource {
resource := &schema.Resource{
Timeouts: &schema.ResourceTimeout{
Update: schema.DefaultTimeout(10 * time.Minute),
},
Schema: map[string]*schema.Schema{
"dts_instance_id": {
Type: schema.TypeString,
Required: true,
ForceNew: true,
},
"dts_job_id": {
Type: schema.TypeString,
Optional: true,
ForceNew: true,
},
"dts_job_name": {
Type: schema.TypeString,
Optional: true,
Computed: true,
},
"checkpoint": {
Type: schema.TypeString,
Optional: true,
Computed: true,
ForceNew: true,
},
"instance_class": {
Type: schema.TypeString,
Optional: true,
Computed: true,
ValidateFunc: validation.StringInSlice([]string{"xxlarge", "xlarge", "large", "medium", "small"}, false),
},
"data_initialization": {
Type: schema.TypeBool,
Required: true,
ForceNew: true,
},
"data_synchronization": {
Type: schema.TypeBool,
Required: true,
ForceNew: true,
},
"structure_initialization": {
Type: schema.TypeBool,
Required: true,
ForceNew: true,
},
"synchronization_direction": {
Type: schema.TypeString,
Optional: true,
Computed: true,
ForceNew: true,
ValidateFunc: validation.StringInSlice([]string{"Forward", "Reverse"}, false),
},
"db_list": {
Type: schema.TypeString,
Required: true,
ForceNew: true,
},
"reserve": {
Type: schema.TypeString,
Optional: true,
ForceNew: true,
},
"source_endpoint_instance_type": {
Type: schema.TypeString,
Required: true,
ForceNew: true,
ValidateFunc: validation.StringInSlice([]string{"CEN", "DG", "DISTRIBUTED_DMSLOGICDB", "ECS", "EXPRESS", "MONGODB", "OTHER", "PolarDB", "POLARDBX20", "RDS"}, false),
},
"source_endpoint_engine_name": {
Type: schema.TypeString,
Required: true,
ForceNew: true,
ValidateFunc: validation.StringInSlice([]string{"AS400", "DB2", "DMSPOLARDB", "HBASE", "MONGODB", "MSSQL", "MySQL", "ORACLE", "PolarDB", "POLARDBX20", "POLARDB_O", "POSTGRESQL", "TERADATA"}, false),
},
"source_endpoint_instance_id": {
Type: schema.TypeString,
Optional: true,
ForceNew: true,
},
"source_endpoint_region": {
Type: schema.TypeString,
Optional: true,
ForceNew: true,
},
"source_endpoint_ip": {
Type: schema.TypeString,
Optional: true,
ForceNew: true,
},
"source_endpoint_port": {
Type: schema.TypeString,
Optional: true,
ForceNew: true,
},
"source_endpoint_oracle_sid": {
Type: schema.TypeString,
Optional: true,
ForceNew: true,
},
"source_endpoint_database_name": {
Type: schema.TypeString,
Optional: true,
ForceNew: true,
},
"source_endpoint_user_name": {
Type: schema.TypeString,
Optional: true,
ForceNew: true,
},
"source_endpoint_password": {
Type: schema.TypeString,
Optional: true,
},
"source_endpoint_owner_id": {
Type: schema.TypeString,
Optional: true,
ForceNew: true,
},
"source_endpoint_role": {
Type: schema.TypeString,
Optional: true,
ForceNew: true,
},
"destination_endpoint_instance_type": {
Type: schema.TypeString,
Required: true,
ForceNew: true,
ValidateFunc: validation.StringInSlice([]string{"ads", "CEN", "DATAHUB", "DG", "ECS", "EXPRESS", "GREENPLUM", "MONGODB", "OTHER", "PolarDB", "POLARDBX20", "RDS"}, false),
},
"destination_endpoint_engine_name": {
Type: schema.TypeString,
Required: true,
ForceNew: true,
ValidateFunc: validation.StringInSlice([]string{"ADB20", "ADB30", "AS400", "DATAHUB", "DB2", "GREENPLUM", "KAFKA", "MONGODB", "MSSQL", "MySQL", "ORACLE", "PolarDB", "POLARDBX20", "POLARDB_O", "PostgreSQL"}, false),
},
"destination_endpoint_instance_id": {
Type: schema.TypeString,
Optional: true,
ForceNew: true,
},
"destination_endpoint_region": {
Type: schema.TypeString,
Optional: true,
ForceNew: true,
},
"destination_endpoint_ip": {
Type: schema.TypeString,
Optional: true,
ForceNew: true,
},
"destination_endpoint_port": {
Type: schema.TypeString,
Optional: true,
ForceNew: true,
},
"destination_endpoint_database_name": {
Type: schema.TypeString,
Optional: true,
ForceNew: true,
},
"destination_endpoint_user_name": {
Type: schema.TypeString,
Optional: true,
ForceNew: true,
},
"destination_endpoint_password": {
Type: schema.TypeString,
Optional: true,
},
"destination_endpoint_oracle_sid": {
Type: schema.TypeString,
Optional: true,
ForceNew: true,
},
"delay_notice": {
Type: schema.TypeBool,
Optional: true,
ForceNew: true,
},
"delay_phone": {
Type: schema.TypeString,
Optional: true,
ForceNew: true,
},
"delay_rule_time": {
Type: schema.TypeString,
Optional: true,
ForceNew: true,
},
"error_notice": {
Type: schema.TypeBool,
Optional: true,
ForceNew: true,
},
"error_phone": {
Type: schema.TypeString,
Optional: true,
ForceNew: true,
},
"status": {
Type: schema.TypeString,
Optional: true,
Computed: true,
ValidateFunc: validation.StringInSlice([]string{"Synchronizing", "Suspending"}, false),
},
},
}
setResourceFunc(resource, resourceAlibabacloudStackDtsSynchronizationJobCreate, resourceAlibabacloudStackDtsSynchronizationJobRead, resourceAlibabacloudStackDtsSynchronizationJobUpdate, resourceAlibabacloudStackDtsSynchronizationJobDelete)
return resource
}