in alibabacloudstack/resource_apsarastack_dts_subscriptionjob.go [18:198]
func resourceAlibabacloudStackDtsSubscriptionJob() *schema.Resource {
resource := &schema.Resource{
Timeouts: &schema.ResourceTimeout{
Update: schema.DefaultTimeout(5 * time.Minute),
},
Schema: map[string]*schema.Schema{
"checkpoint": {
Type: schema.TypeString,
Optional: true,
Computed: true,
},
"compute_unit": {
Type: schema.TypeInt,
Optional: true,
},
"database_count": {
Type: schema.TypeInt,
Optional: true,
},
"db_list": {
Type: schema.TypeString,
Optional: true,
},
"delay_notice": {
Type: schema.TypeBool,
Optional: true,
},
"delay_phone": {
Type: schema.TypeString,
Optional: true,
},
"delay_rule_time": {
Type: schema.TypeString,
Optional: true,
},
"destination_endpoint_engine_name": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validation.StringInSlice([]string{"ADS", "DB2", "DRDS", "DataHub", "Greenplum", "MSSQL", "MySQL", "PolarDB", "PostgreSQL", "Redis", "Tablestore", "as400", "clickhouse", "kafka", "mongodb", "odps", "oracle", "polardb_o", "polardb_pg", "tidb"}, false),
},
"destination_region": {
Type: schema.TypeString,
Optional: true,
},
"dts_instance_id": {
Type: schema.TypeString,
Optional: true,
ForceNew: true,
Computed: true,
},
"dts_job_name": {
Type: schema.TypeString,
Optional: true,
},
"error_notice": {
Type: schema.TypeBool,
Optional: true,
},
"error_phone": {
Type: schema.TypeString,
Optional: true,
},
"instance_class": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validation.StringInSlice([]string{"large", "medium", "micro", "small", "xlarge", "xxlarge"}, false),
},
"payment_type": {
Type: schema.TypeString,
Required: true,
ForceNew: true,
ValidateFunc: validation.StringInSlice([]string{"PayAsYouGo", "Subscription"}, false),
},
"payment_duration_unit": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validation.StringInSlice([]string{"Month", "Year"}, false),
},
"payment_duration": {
Type: schema.TypeInt,
Optional: true,
},
"reserve": {
Type: schema.TypeString,
Optional: true,
},
"source_endpoint_database_name": {
Type: schema.TypeString,
Optional: true,
},
"source_endpoint_engine_name": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validation.StringInSlice([]string{"MySQL", "Oracle"}, false),
},
"source_endpoint_ip": {
Type: schema.TypeString,
Optional: true,
},
"source_endpoint_instance_id": {
Type: schema.TypeString,
Optional: true,
},
"source_endpoint_instance_type": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validation.StringInSlice([]string{"CEN", "DRDS", "ECS", "Express", "LocalInstance", "PolarDB", "RDS", "dg"}, false),
},
"source_endpoint_oracle_sid": {
Type: schema.TypeString,
Optional: true,
},
"source_endpoint_owner_id": {
Type: schema.TypeString,
Optional: true,
},
"source_endpoint_password": {
Type: schema.TypeString,
Optional: true,
},
"source_endpoint_port": {
Type: schema.TypeString,
Optional: true,
},
"source_endpoint_region": {
Type: schema.TypeString,
Optional: true,
},
"source_endpoint_role": {
Type: schema.TypeString,
Optional: true,
},
"source_endpoint_user_name": {
Type: schema.TypeString,
Optional: true,
},
"status": {
Type: schema.TypeString,
Optional: true,
Computed: true,
ValidateFunc: validation.StringInSlice([]string{"Abnormal", "Downgrade", "Locked", "Normal", "NotStarted", "NotStarted", "PreCheckPass", "PrecheckFailed", "Prechecking", "Retrying", "Starting", "Upgrade"}, false),
},
"subscription_data_type_ddl": {
Type: schema.TypeBool,
Optional: true,
Computed: true,
},
"subscription_data_type_dml": {
Type: schema.TypeBool,
Optional: true,
Computed: true,
},
"subscription_instance_network_type": {
Type: schema.TypeString,
Optional: true,
ForceNew: true,
ValidateFunc: validation.StringInSlice([]string{"classic", "vpc"}, false),
},
"subscription_instance_vpc_id": {
Type: schema.TypeString,
Optional: true,
},
"subscription_instance_vswitch_id": {
Type: schema.TypeString,
Optional: true,
},
"sync_architecture": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validation.StringInSlice([]string{"bidirectional", "oneway"}, false),
},
"synchronization_direction": {
Type: schema.TypeString,
Optional: true,
},
"tags": tagsSchema(),
},
}
setResourceFunc(resource, resourceAlibabacloudStackDtsSubscriptionJobCreate, resourceAlibabacloudStackDtsSubscriptionJobRead, resourceAlibabacloudStackDtsSubscriptionJobUpdate, resourceAlibabacloudStackDtsSubscriptionJobDelete)
return resource
}