Skip to content

Commit 0e70ebe

Browse files
modify sqlserver resource id Associated references
1 parent a056dd3 commit 0e70ebe

6 files changed

+162
-58
lines changed

tencentcloud/data_source_tc_sqlserver_publish_subscribes.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ Example Usage
55
66
```hcl
77
resource "tencentcloud_sqlserver_publish_subscribe" "example" {
8-
publish_instance_id = "mssql-ahgcanf3"
9-
subscribe_instance_id = "mssql-cc1kh85p"
8+
publish_instance_id = tencentcloud_sqlserver_instance.publish_instance.id
9+
subscribe_instance_id = tencentcloud_sqlserver_instance.subscribe_instance.id
1010
publish_subscribe_name = "example"
1111
database_tuples {
12-
publish_database = "db_test_name"
13-
subscribe_database = "db_test_name"
12+
publish_database = tencentcloud_sqlserver_db.test_publish_subscribe.name
13+
subscribe_database = tencentcloud_sqlserver_db.test_publish_subscribe.name
1414
}
1515
}
1616
```
@@ -42,12 +42,12 @@ func dataSourceTencentSqlserverPublishSubscribes() *schema.Resource {
4242
"pub_or_sub_instance_id": {
4343
Type: schema.TypeString,
4444
Optional: true,
45-
Description: "The subscribe/publish instance ID is related to whether the `instance_id` is a publish instance or a subscribe instance, when `instance_id` is a publish instance, this field is filtered according to the subscribe instance ID, when `instance_id` is a subscribe instance, this field is filtering according to the publish instance ID.",
45+
Description: "The subscribe/publish instance ID is related to whether the `instance_id` is a publish instance or a subscribe instance. when `instance_id` is a publish instance, this field is filtered according to the subscribe instance ID; when `instance_id` is a subscribe instance, this field is filtering according to the publish instance ID.",
4646
},
4747
"pub_or_sub_instance_ip": {
4848
Type: schema.TypeString,
4949
Optional: true,
50-
Description: "The intranet IP of the subscribe/publish instance is related to whether the `instance_id` is a publish instance or a subscribe instance, when `instance_id` is a publish instance, this field is filtered according to the intranet IP of the subscribe instance; when `instance_id` is a subscribe instance, this field is based on the publish instance intranet IP filter.",
50+
Description: "The intranet IP of the subscribe/publish instance is related to whether the `instance_id` is a publish instance or a subscribe instance. when `instance_id` is a publish instance, this field is filtered according to the intranet IP of the subscribe instance; when `instance_id` is a subscribe instance, this field is based on the publish instance intranet IP filter.",
5151
},
5252
"publish_subscribe_id": {
5353
Type: schema.TypeInt,
@@ -72,7 +72,7 @@ func dataSourceTencentSqlserverPublishSubscribes() *schema.Resource {
7272
"publish_subscribe_list": {
7373
Type: schema.TypeList,
7474
Computed: true,
75-
Description: "Publish and subscribe list, Each element contains the following attributes.",
75+
Description: "Publish and subscribe list. Each element contains the following attributes.",
7676
Elem: &schema.Resource{
7777
Schema: map[string]*schema.Schema{
7878
"publish_subscribe_id": {

tencentcloud/data_source_tc_sqlserver_publish_subscribes_test.go

Lines changed: 50 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,31 +16,68 @@ func TestAccTencentCloudSqlserverPublishSubscribeDataSource(t *testing.T) {
1616
Config: testAccTencentCloudSqlServerPublishSubscribeDataSourceConfig,
1717
Check: resource.ComposeTestCheckFunc(
1818
testAccCheckSqlserverPublishSubscribeExists("tencentcloud_sqlserver_publish_subscribe.example"),
19-
resource.TestCheckResourceAttr("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.publish_instance_id", "mssql-82lhybgn"),
20-
resource.TestCheckResourceAttr("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.subscribe_instance_id", "mssql-12a60qdd"),
19+
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.publish_instance_id"),
20+
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.subscribe_instance_id"),
2121
resource.TestCheckResourceAttr("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.publish_subscribe_name", "example"),
22-
resource.TestCheckResourceAttr("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.publish_instance_ip", "10.1.0.17"),
23-
resource.TestCheckResourceAttr("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.subscribe_instance_ip", "10.1.0.11"),
24-
resource.TestCheckResourceAttr("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.publish_instance_name", "pub-keep"),
25-
resource.TestCheckResourceAttr("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.subscribe_instance_name", "sub-keep"),
22+
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.publish_instance_ip"),
23+
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.subscribe_instance_ip"),
24+
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.publish_instance_name"),
25+
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.subscribe_instance_name"),
2626
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.publish_subscribe_id"),
2727
resource.TestCheckResourceAttr("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.database_tuples.#", "1"),
28-
resource.TestCheckResourceAttr("data.tencentcloud_sqlserver_publish_subscribes.publish_foos", "publish_subscribe_list.0.publish_instance_id", "mssql-82lhybgn"),
29-
resource.TestCheckResourceAttr("data.tencentcloud_sqlserver_publish_subscribes.subscribe_foos", "publish_subscribe_list.0.subscribe_instance_id", "mssql-12a60qdd"),
28+
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_publish_subscribes.publish_foos", "publish_subscribe_list.0.publish_instance_id"),
29+
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_publish_subscribes.subscribe_foos", "publish_subscribe_list.0.subscribe_instance_id"),
3030
),
3131
},
3232
},
3333
})
3434
}
3535

36-
const testAccTencentCloudSqlServerPublishSubscribeDataSourceConfig = `
36+
const testAccTencentCloudSqlServerPublishSubscribeDataSourceConfig = testAccSqlserverInstanceBasic + `
37+
resource "tencentcloud_sqlserver_instance" "publish_instance" {
38+
name = "tf_sqlserver_publish_instance"
39+
availability_zone = var.availability_zone
40+
charge_type = "POSTPAID_BY_HOUR"
41+
vpc_id = "` + defaultVpcId + `"
42+
subnet_id = "` + defaultSubnetId + `"
43+
project_id = 0
44+
memory = 2
45+
storage = 10
46+
maintenance_week_set = [1,2,3]
47+
maintenance_start_time = "09:00"
48+
maintenance_time_span = 3
49+
security_groups = ["sg-nltpbqg1"]
50+
}
51+
52+
resource "tencentcloud_sqlserver_instance" "subscribe_instance" {
53+
name = "tf_sqlserver_subscribe_instance"
54+
availability_zone = var.availability_zone
55+
charge_type = "POSTPAID_BY_HOUR"
56+
vpc_id = "` + defaultVpcId + `"
57+
subnet_id = "` + defaultSubnetId + `"
58+
project_id = 0
59+
memory = 2
60+
storage = 10
61+
maintenance_week_set = [1,2,3]
62+
maintenance_start_time = "09:00"
63+
maintenance_time_span = 3
64+
security_groups = ["sg-nltpbqg1"]
65+
}
66+
67+
resource "tencentcloud_sqlserver_db" "test_publish_subscribe" {
68+
instance_id = tencentcloud_sqlserver_instance.publish_instance.id
69+
name = "test111"
70+
charset = "Chinese_PRC_BIN"
71+
remark = "testACC-remark"
72+
}
73+
3774
resource "tencentcloud_sqlserver_publish_subscribe" "example" {
38-
publish_instance_id = "mssql-82lhybgn"
39-
subscribe_instance_id = "mssql-12a60qdd"
75+
publish_instance_id = tencentcloud_sqlserver_instance.publish_instance.id
76+
subscribe_instance_id = tencentcloud_sqlserver_instance.subscribe_instance.id
4077
publish_subscribe_name = "example"
4178
database_tuples {
42-
publish_database = "db_test_name"
43-
subscribe_database = "db_test_name"
79+
publish_database = tencentcloud_sqlserver_db.test_publish_subscribe.name
80+
subscribe_database = tencentcloud_sqlserver_db.test_publish_subscribe.name
4481
}
4582
}
4683

tencentcloud/resource_tc_sqlserver_publish_subscribe.go

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ Example Usage
55
66
```hcl
77
resource "tencentcloud_sqlserver_publish_subscribe" "example" {
8-
publish_instance_id = tencentcloud_sqlserver_instance.example.id
9-
subscribe_instance_id = tencentcloud_sqlserver_instance.example.id
8+
publish_instance_id = tencentcloud_sqlserver_instance.publish_instance.id
9+
subscribe_instance_id = tencentcloud_sqlserver_instance.subscribe_instance.id
1010
publish_subscribe_name = "example"
1111
database_tuples {
12-
publish_database = "db_test_name"
13-
subscribe_database = "db_test_name"
12+
publish_database = tencentcloud_sqlserver_db.test_publish_subscribe.name
13+
subscribe_database = tencentcloud_sqlserver_db.test_publish_subscribe.name
1414
}
1515
}
1616
```
@@ -61,14 +61,14 @@ func resourceTencentCloudSqlserverPublishSubscribe() *schema.Resource {
6161
Type: schema.TypeString,
6262
Optional: true,
6363
Default: "default_name",
64-
Description: "The name of the Publish and Subscribe in the SQLServer instance, default is `default_name`.",
64+
Description: "The name of the Publish and Subscribe in the SQLServer instance. default is `default_name`.",
6565
},
6666
"database_tuples": {
6767
Type: schema.TypeSet,
6868
Required: true,
6969
MinItems: 1,
7070
MaxItems: 80,
71-
Description: "Database Publish and Publish relationship list, Modify database is not allowed.",
71+
Description: "Database Publish and Publish relationship list. Modify database is not allowed.",
7272
Elem: &schema.Resource{
7373
Schema: map[string]*schema.Schema{
7474
"publish_database": {
@@ -270,20 +270,13 @@ func resourceTencentCloudSqlserverPublishSubscribeDelete(d *schema.ResourceData,
270270

271271
oldDatabaseTuples, _ := d.GetChange("database_tuples")
272272
var oldDatabaseTupleSet []*sqlserver.DatabaseTuple
273-
var subscribeDatabases []*string
274273
for _, inst_ := range oldDatabaseTuples.(*schema.Set).List() {
275274
inst := inst_.(map[string]interface{})
276-
subDatabase := inst["subscribe_database"].(string)
277275
oldDatabaseTupleSet = append(oldDatabaseTupleSet, sqlServerNewDatabaseTuple(inst["publish_database"], inst["subscribe_database"]))
278-
subscribeDatabases = append(subscribeDatabases, &subDatabase)
279276
}
280277

281278
if err := sqlserverService.DeletePublishSubscribe(ctx, publishSubscribe, oldDatabaseTupleSet); err != nil {
282279
return err
283280
}
284-
//delete subscribe databases
285-
if err = sqlserverService.DeleteSqlserverDB(ctx, subscribeInstanceId, subscribeDatabases); err != nil {
286-
return err
287-
}
288281
return nil
289282
}

tencentcloud/resource_tc_sqlserver_publish_subscribe_test.go

Lines changed: 86 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ func TestAccTencentCloudSqlserverPublishSubscribeResource(t *testing.T) {
2020
Config: testAccSqlserverPublishSubscribe_basic,
2121
Check: resource.ComposeAggregateTestCheckFunc(
2222
testAccCheckSqlserverPublishSubscribeExists("tencentcloud_sqlserver_publish_subscribe.example"),
23-
resource.TestCheckResourceAttr("tencentcloud_sqlserver_publish_subscribe.example", "publish_instance_id", "mssql-82lhybgn"),
24-
resource.TestCheckResourceAttr("tencentcloud_sqlserver_publish_subscribe.example", "subscribe_instance_id", "mssql-12a60qdd"),
23+
resource.TestCheckResourceAttrSet("tencentcloud_sqlserver_publish_subscribe.example", "publish_instance_id"),
24+
resource.TestCheckResourceAttrSet("tencentcloud_sqlserver_publish_subscribe.example", "subscribe_instance_id"),
2525
resource.TestCheckResourceAttr("tencentcloud_sqlserver_publish_subscribe.example", "publish_subscribe_name", "example"),
2626
resource.TestCheckResourceAttr("tencentcloud_sqlserver_publish_subscribe.example", "database_tuples.#", "1"),
2727
),
@@ -95,24 +95,98 @@ func testAccCheckSqlserverPublishSubscribeExists(n string) resource.TestCheckFun
9595
}
9696
}
9797

98-
const testAccSqlserverPublishSubscribe_basic = `
98+
const testAccSqlserverPublishSubscribe_basic = testAccSqlserverInstanceBasic + `
99+
resource "tencentcloud_sqlserver_instance" "publish_instance" {
100+
name = "tf_sqlserver_publish_instance"
101+
availability_zone = var.availability_zone
102+
charge_type = "POSTPAID_BY_HOUR"
103+
vpc_id = "` + defaultVpcId + `"
104+
subnet_id = "` + defaultSubnetId + `"
105+
project_id = 0
106+
memory = 2
107+
storage = 10
108+
maintenance_week_set = [1,2,3]
109+
maintenance_start_time = "09:00"
110+
maintenance_time_span = 3
111+
security_groups = ["sg-nltpbqg1"]
112+
}
113+
114+
resource "tencentcloud_sqlserver_instance" "subscribe_instance" {
115+
name = "tf_sqlserver_subscribe_instance"
116+
availability_zone = var.availability_zone
117+
charge_type = "POSTPAID_BY_HOUR"
118+
vpc_id = "` + defaultVpcId + `"
119+
subnet_id = "` + defaultSubnetId + `"
120+
project_id = 0
121+
memory = 2
122+
storage = 10
123+
maintenance_week_set = [1,2,3]
124+
maintenance_start_time = "09:00"
125+
maintenance_time_span = 3
126+
security_groups = ["sg-nltpbqg1"]
127+
}
128+
129+
resource "tencentcloud_sqlserver_db" "test_publish_subscribe" {
130+
instance_id = tencentcloud_sqlserver_instance.publish_instance.id
131+
name = "test111"
132+
charset = "Chinese_PRC_BIN"
133+
remark = "testACC-remark"
134+
}
135+
99136
resource "tencentcloud_sqlserver_publish_subscribe" "example" {
100-
publish_instance_id = "mssql-82lhybgn"
101-
subscribe_instance_id = "mssql-12a60qdd"
137+
publish_instance_id = tencentcloud_sqlserver_instance.publish_instance.id
138+
subscribe_instance_id = tencentcloud_sqlserver_instance.subscribe_instance.id
102139
publish_subscribe_name = "example"
103140
database_tuples {
104-
publish_database = "db_test_name"
105-
subscribe_database = "db_test_name"
141+
publish_database = tencentcloud_sqlserver_db.test_publish_subscribe.name
142+
subscribe_database = tencentcloud_sqlserver_db.test_publish_subscribe.name
106143
}
107144
}`
108145

109-
const testAccSqlserverPublishSubscribe_basic_update_name = `
146+
const testAccSqlserverPublishSubscribe_basic_update_name = testAccSqlserverInstanceBasic + `
147+
resource "tencentcloud_sqlserver_instance" "publish_instance" {
148+
name = "tf_sqlserver_publish_instance"
149+
availability_zone = var.availability_zone
150+
charge_type = "POSTPAID_BY_HOUR"
151+
vpc_id = "` + defaultVpcId + `"
152+
subnet_id = "` + defaultSubnetId + `"
153+
project_id = 0
154+
memory = 2
155+
storage = 10
156+
maintenance_week_set = [1,2,3]
157+
maintenance_start_time = "09:00"
158+
maintenance_time_span = 3
159+
security_groups = ["sg-nltpbqg1"]
160+
}
161+
162+
resource "tencentcloud_sqlserver_instance" "subscribe_instance" {
163+
name = "tf_sqlserver_subscribe_instance"
164+
availability_zone = var.availability_zone
165+
charge_type = "POSTPAID_BY_HOUR"
166+
vpc_id = "` + defaultVpcId + `"
167+
subnet_id = "` + defaultSubnetId + `"
168+
project_id = 0
169+
memory = 2
170+
storage = 10
171+
maintenance_week_set = [1,2,3]
172+
maintenance_start_time = "09:00"
173+
maintenance_time_span = 3
174+
security_groups = ["sg-nltpbqg1"]
175+
}
176+
177+
resource "tencentcloud_sqlserver_db" "test_publish_subscribe" {
178+
instance_id = tencentcloud_sqlserver_instance.publish_instance.id
179+
name = "test111"
180+
charset = "Chinese_PRC_BIN"
181+
remark = "testACC-remark"
182+
}
183+
110184
resource "tencentcloud_sqlserver_publish_subscribe" "example" {
111-
publish_instance_id = "mssql-82lhybgn"
112-
subscribe_instance_id = "mssql-12a60qdd"
185+
publish_instance_id = tencentcloud_sqlserver_instance.publish_instance.id
186+
subscribe_instance_id = tencentcloud_sqlserver_instance.subscribe_instance.id
113187
publish_subscribe_name = "example1"
114188
database_tuples {
115-
publish_database = "db_test_name"
116-
subscribe_database = "db_test_name"
189+
publish_database = tencentcloud_sqlserver_db.test_publish_subscribe.name
190+
subscribe_database = tencentcloud_sqlserver_db.test_publish_subscribe.name
117191
}
118192
}`

website/docs/d/sqlserver_publish_subscribes.html.markdown

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ Use this data source to query Publish Subscribe resources for the specific SQL S
1515

1616
```hcl
1717
resource "tencentcloud_sqlserver_publish_subscribe" "example" {
18-
publish_instance_id = "mssql-ahgcanf3"
19-
subscribe_instance_id = "mssql-cc1kh85p"
18+
publish_instance_id = tencentcloud_sqlserver_instance.publish_instance.id
19+
subscribe_instance_id = tencentcloud_sqlserver_instance.subscribe_instance.id
2020
publish_subscribe_name = "example"
2121
database_tuples {
22-
publish_database = "db_test_name"
23-
subscribe_database = "db_test_name"
22+
publish_database = tencentcloud_sqlserver_db.test_publish_subscribe.name
23+
subscribe_database = tencentcloud_sqlserver_db.test_publish_subscribe.name
2424
}
2525
}
2626
```
@@ -30,8 +30,8 @@ resource "tencentcloud_sqlserver_publish_subscribe" "example" {
3030
The following arguments are supported:
3131

3232
* `instance_id` - (Required) ID of the SQL Server instance.
33-
* `pub_or_sub_instance_id` - (Optional) The subscribe/publish instance ID is related to whether the `instance_id` is a publish instance or a subscribe instance, when `instance_id` is a publish instance, this field is filtered according to the subscribe instance ID, when `instance_id` is a subscribe instance, this field is filtering according to the publish instance ID.
34-
* `pub_or_sub_instance_ip` - (Optional) The intranet IP of the subscribe/publish instance is related to whether the `instance_id` is a publish instance or a subscribe instance, when `instance_id` is a publish instance, this field is filtered according to the intranet IP of the subscribe instance; when `instance_id` is a subscribe instance, this field is based on the publish instance intranet IP filter.
33+
* `pub_or_sub_instance_id` - (Optional) The subscribe/publish instance ID is related to whether the `instance_id` is a publish instance or a subscribe instance. when `instance_id` is a publish instance, this field is filtered according to the subscribe instance ID; when `instance_id` is a subscribe instance, this field is filtering according to the publish instance ID.
34+
* `pub_or_sub_instance_ip` - (Optional) The intranet IP of the subscribe/publish instance is related to whether the `instance_id` is a publish instance or a subscribe instance. when `instance_id` is a publish instance, this field is filtered according to the intranet IP of the subscribe instance; when `instance_id` is a subscribe instance, this field is based on the publish instance intranet IP filter.
3535
* `publish_database` - (Optional) Publish the database.
3636
* `publish_subscribe_id` - (Optional) The id of the Publish and Subscribe in the SQLServer instance.
3737
* `publish_subscribe_name` - (Optional) The name of the Publish and Subscribe in the SQLServer instance.
@@ -42,7 +42,7 @@ The following arguments are supported:
4242

4343
In addition to all arguments above, the following attributes are exported:
4444

45-
* `publish_subscribe_list` - Publish and subscribe list, Each element contains the following attributes.
45+
* `publish_subscribe_list` - Publish and subscribe list. Each element contains the following attributes.
4646
* `database_tuples` - Database Publish and Publish relationship list.
4747
* `last_sync_time` - Last sync time.
4848
* `publish_database` - Publish the database.

0 commit comments

Comments
 (0)