Skip to content

Commit d35224e

Browse files
authored
fix(tdmq): [118275490] rabbitmq resource supports import (#2703)
* fix/tdmq_vh * fix/tdmq_vh * fix/tdmq_vh * fix/tdmq_vh * fix/tdmq_vh * add * add * add
1 parent 39ce67e commit d35224e

18 files changed

+2061
-162
lines changed

.changelog/2703.txt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
```release-note:enhancement
2+
resource/tencentcloud_tdmq_rabbitmq_user: supports return `max_connections`, `max_channels` params; supports import this resource
3+
```
4+
5+
```release-note:enhancement
6+
resource/tencentcloud_tdmq_rabbitmq_virtual_host: supports set `trace_flag` params; supports import this resource
7+
```
8+
9+
```release-note:enhancement
10+
resource/tencentcloud_tdmq_rabbitmq_vip_instance: update document
11+
```

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ require (
4646
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.860
4747
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544
4848
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.952
49-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.952
49+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.955
5050
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624
5151
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762
5252
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.692
@@ -88,7 +88,7 @@ require (
8888
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcm v1.0.547
8989
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcr v1.0.696
9090
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdcpg v1.0.533
91-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdmq v1.0.932
91+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdmq v1.0.955
9292
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tem v1.0.578
9393
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/teo v1.0.912
9494
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.921

go.sum

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -937,8 +937,11 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.932 h1:MB1+
937937
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.932/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
938938
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.947 h1:obeD8UftWQ6XO1OlQQYMAJ2r6tqKPTQ/+8IrZAE0BMs=
939939
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.947/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
940+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.949/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
940941
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.952 h1:fqO77A01ayOji0F0ovFKRlbatbvVsDhyjO7h0MXJsFk=
941942
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.952/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
943+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.955 h1:kr5Kx0zMcPkO9f/ao0xhk0f6V8TxziFGo+AGa5BW5QY=
944+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.955/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
942945
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip v1.0.860 h1:F3esKBIT3HW9+7Gt8cVgf8X06VdGIczpgLBUECzSEzU=
943946
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip v1.0.860/go.mod h1:NZo1WplQcC314kMlCRUoy8NQju2BnolIJj7NAWgsuhY=
944947
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624 h1:nEZqsoqt1pEoaP9JjkHQy3/H00suCfzlHW1qOm2nYD8=
@@ -1037,6 +1040,10 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdmq v1.0.825 h1:jIAqpu
10371040
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdmq v1.0.825/go.mod h1:aaOidZKQTtM6vVgs5pnHryaLj9f+egPBpdQEylQxka4=
10381041
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdmq v1.0.932 h1:qBMRApryLiQOJ91xEybn3fb6zkWfa9sp8Tdult5Y1vY=
10391042
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdmq v1.0.932/go.mod h1:k2QG6A7u458viC4nZGM0Z0FNzKqQSJKgfqtxeqkqBDQ=
1043+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdmq v1.0.952 h1:wZJ4O3bRz8s5MOoLnhiwnewJ9oS08t6+RmDIc6LJw3A=
1044+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdmq v1.0.952/go.mod h1:jI50FED5YtHX3bzSQXEYgKEHWnUo4KH42xrKq/REkyk=
1045+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdmq v1.0.955 h1:bi7brFndAL9I2k+g0d6O0pk/FUPDXI1gfq9jKIBItkU=
1046+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdmq v1.0.955/go.mod h1:somZaVT0k2Egv/VPHLRU+McOkGUo6pagucyRrsLjpfI=
10401047
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tem v1.0.578 h1:vBpQhUroO+FAslUmsDWGi8nvczsqZBWVgQwlnyT0Aj8=
10411048
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tem v1.0.578/go.mod h1:UlojGQh/9wb7/uXPNi7PvMral1CNAskVDNgqJEV83l0=
10421049
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/teo v1.0.758 h1:PRxMkSm3MX0vuWQSRO7pY0bwT8M2PEZW2BnKpZdjzK0=

tencentcloud/services/trabbit/resource_tc_tdmq_rabbitmq_user.go

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ func ResourceTencentCloudTdmqRabbitmqUser() *schema.Resource {
2222
Read: resourceTencentCloudTdmqRabbitmqUserRead,
2323
Update: resourceTencentCloudTdmqRabbitmqUserUpdate,
2424
Delete: resourceTencentCloudTdmqRabbitmqUserDelete,
25-
25+
Importer: &schema.ResourceImporter{
26+
State: schema.ImportStatePassthrough,
27+
},
2628
Schema: map[string]*schema.Schema{
2729
"instance_id": {
2830
Required: true,
@@ -179,6 +181,14 @@ func resourceTencentCloudTdmqRabbitmqUserRead(d *schema.ResourceData, meta inter
179181
_ = d.Set("tags", rabbitmqUser.Tags)
180182
}
181183

184+
if rabbitmqUser.MaxConnections != nil {
185+
_ = d.Set("max_connections", rabbitmqUser.MaxConnections)
186+
}
187+
188+
if rabbitmqUser.MaxChannels != nil {
189+
_ = d.Set("max_channels", rabbitmqUser.MaxChannels)
190+
}
191+
182192
return nil
183193
}
184194

@@ -207,7 +217,7 @@ func resourceTencentCloudTdmqRabbitmqUserUpdate(d *schema.ResourceData, meta int
207217
}
208218
}
209219

210-
if d.HasChange("description") || d.HasChange("max_connections") || d.HasChange("max_channels") {
220+
if d.HasChange("description") || d.HasChange("tags") || d.HasChange("max_connections") || d.HasChange("max_channels") {
211221
request.InstanceId = &instanceId
212222
request.User = &user
213223

@@ -219,6 +229,10 @@ func resourceTencentCloudTdmqRabbitmqUserUpdate(d *schema.ResourceData, meta int
219229
request.Description = helper.String(v.(string))
220230
}
221231

232+
if v, ok := d.GetOk("tags"); ok {
233+
request.Tags = helper.InterfacesStringsPoint(v.([]interface{}))
234+
}
235+
222236
if v, ok := d.GetOkExists("max_connections"); ok {
223237
request.MaxConnections = helper.IntInt64(v.(int))
224238
}

tencentcloud/services/trabbit/resource_tc_tdmq_rabbitmq_user.md

Lines changed: 49 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,55 @@ Provides a resource to create a tdmq rabbitmq_user
33
Example Usage
44

55
```hcl
6-
resource "tencentcloud_tdmq_rabbitmq_user" "rabbitmq_user" {
7-
instance_id = "amqp-kzbe8p3n"
8-
user = "keep-user"
9-
password = "asdf1234"
10-
description = "test user"
11-
tags = ["management", "monitoring"]
6+
data "tencentcloud_availability_zones" "zones" {
7+
name = "ap-guangzhou-6"
8+
}
9+
10+
# create vpc
11+
resource "tencentcloud_vpc" "vpc" {
12+
name = "vpc"
13+
cidr_block = "10.0.0.0/16"
14+
}
15+
16+
# create vpc subnet
17+
resource "tencentcloud_subnet" "subnet" {
18+
name = "subnet"
19+
vpc_id = tencentcloud_vpc.vpc.id
20+
availability_zone = "ap-guangzhou-6"
21+
cidr_block = "10.0.20.0/28"
22+
is_multicast = false
23+
}
24+
25+
# create rabbitmq instance
26+
resource "tencentcloud_tdmq_rabbitmq_vip_instance" "example" {
27+
zone_ids = [data.tencentcloud_availability_zones.zones.zones.0.id]
28+
vpc_id = tencentcloud_vpc.vpc.id
29+
subnet_id = tencentcloud_subnet.subnet.id
30+
cluster_name = "tf-example-rabbitmq-vip-instance"
31+
node_spec = "rabbit-vip-basic-1"
32+
node_num = 1
33+
storage_size = 200
34+
enable_create_default_ha_mirror_queue = false
35+
auto_renew_flag = true
36+
time_span = 1
37+
}
38+
39+
# create rabbitmq user
40+
resource "tencentcloud_tdmq_rabbitmq_user" "example" {
41+
instance_id = tencentcloud_tdmq_rabbitmq_vip_instance.example.id
42+
user = "tf-example-user"
43+
password = "$Password"
44+
description = "desc."
45+
tags = ["management", "monitoring", "example"]
1246
max_connections = 3
1347
max_channels = 3
1448
}
15-
```
49+
```
50+
51+
Import
52+
53+
tdmq rabbitmq_user can be imported using the id, e.g.
54+
55+
```
56+
terraform import tencentcloud_tdmq_rabbitmq_user.example amqp-8xzx822q#tf-example-user
57+
```

tencentcloud/services/trabbit/resource_tc_tdmq_rabbitmq_user_test.go

Lines changed: 91 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ import (
88
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
99
)
1010

11-
// go test -i; go test -test.run TestAccTencentCloudNeedFixTdmqRabbitmqUserResource_basic -v
12-
func TestAccTencentCloudNeedFixTdmqRabbitmqUserResource_basic(t *testing.T) {
13-
t.Parallel()
11+
// go test -i; go test -test.run TestAccTencentCloudTdmqRabbitmqUserResource_basic -v
12+
func TestAccTencentCloudTdmqRabbitmqUserResource_basic(t *testing.T) {
13+
//t.Parallel()
1414
resource.Test(t, resource.TestCase{
1515
PreCheck: func() {
16-
tcacctest.AccPreCheckCommon(t, tcacctest.ACCOUNT_TYPE_PREPAY)
16+
tcacctest.AccPreCheck(t)
1717
},
1818
Providers: tcacctest.AccProviders,
1919
Steps: []resource.TestStep{
@@ -25,10 +25,13 @@ func TestAccTencentCloudNeedFixTdmqRabbitmqUserResource_basic(t *testing.T) {
2525
resource.TestCheckResourceAttrSet("tencentcloud_tdmq_rabbitmq_user.rabbitmq_user", "user"),
2626
resource.TestCheckResourceAttrSet("tencentcloud_tdmq_rabbitmq_user.rabbitmq_user", "password"),
2727
resource.TestCheckResourceAttrSet("tencentcloud_tdmq_rabbitmq_user.rabbitmq_user", "description"),
28-
resource.TestCheckResourceAttrSet("tencentcloud_tdmq_rabbitmq_user.rabbitmq_user", "max_connections"),
29-
resource.TestCheckResourceAttrSet("tencentcloud_tdmq_rabbitmq_user.rabbitmq_user", "max_channels"),
3028
),
3129
},
30+
{
31+
ResourceName: "tencentcloud_tdmq_rabbitmq_user.example",
32+
ImportState: true,
33+
ImportStateVerify: true,
34+
},
3235
{
3336
Config: testAccTdmqRabbitmqUserUpdate,
3437
Check: resource.ComposeTestCheckFunc(
@@ -46,25 +49,91 @@ func TestAccTencentCloudNeedFixTdmqRabbitmqUserResource_basic(t *testing.T) {
4649
}
4750

4851
const testAccTdmqRabbitmqUser = `
49-
resource "tencentcloud_tdmq_rabbitmq_user" "rabbitmq_user" {
50-
instance_id = "amqp-kzbe8p3n"
51-
user = "keep-user"
52-
password = "asdf1234"
53-
description = "test user"
54-
tags = ["management", "monitoring", "test"]
55-
max_connections = 3
56-
max_channels = 3
52+
data "tencentcloud_availability_zones" "zones" {
53+
name = "ap-guangzhou-6"
54+
}
55+
56+
# create vpc
57+
resource "tencentcloud_vpc" "vpc" {
58+
name = "vpc"
59+
cidr_block = "10.0.0.0/16"
60+
}
61+
62+
# create vpc subnet
63+
resource "tencentcloud_subnet" "subnet" {
64+
name = "subnet"
65+
vpc_id = tencentcloud_vpc.vpc.id
66+
availability_zone = "ap-guangzhou-6"
67+
cidr_block = "10.0.20.0/28"
68+
is_multicast = false
69+
}
70+
71+
# create rabbitmq instance
72+
resource "tencentcloud_tdmq_rabbitmq_vip_instance" "example" {
73+
zone_ids = [data.tencentcloud_availability_zones.zones.zones.0.id]
74+
vpc_id = tencentcloud_vpc.vpc.id
75+
subnet_id = tencentcloud_subnet.subnet.id
76+
cluster_name = "tf-example-rabbitmq-vip-instance"
77+
node_spec = "rabbit-vip-basic-1"
78+
node_num = 1
79+
storage_size = 200
80+
enable_create_default_ha_mirror_queue = false
81+
auto_renew_flag = true
82+
time_span = 1
83+
}
84+
85+
# create rabbitmq user
86+
resource "tencentcloud_tdmq_rabbitmq_user" "example" {
87+
instance_id = tencentcloud_tdmq_rabbitmq_vip_instance.example.id
88+
user = "tf-example-user"
89+
password = "$Password"
90+
description = "desc."
91+
tags = ["management", "monitoring", "example"]
5792
}
5893
`
5994

6095
const testAccTdmqRabbitmqUserUpdate = `
61-
resource "tencentcloud_tdmq_rabbitmq_user" "rabbitmq_user" {
62-
instance_id = "amqp-kzbe8p3n"
63-
user = "keep-user"
64-
password = "asdf1234"
65-
description = "test user update"
66-
tags = ["management", "monitoring"]
67-
max_connections = 10
68-
max_channels = 10
96+
data "tencentcloud_availability_zones" "zones" {
97+
name = "ap-guangzhou-6"
98+
}
99+
100+
# create vpc
101+
resource "tencentcloud_vpc" "vpc" {
102+
name = "vpc"
103+
cidr_block = "10.0.0.0/16"
104+
}
105+
106+
# create vpc subnet
107+
resource "tencentcloud_subnet" "subnet" {
108+
name = "subnet"
109+
vpc_id = tencentcloud_vpc.vpc.id
110+
availability_zone = "ap-guangzhou-6"
111+
cidr_block = "10.0.20.0/28"
112+
is_multicast = false
113+
}
114+
115+
# create rabbitmq instance
116+
resource "tencentcloud_tdmq_rabbitmq_vip_instance" "example" {
117+
zone_ids = [data.tencentcloud_availability_zones.zones.zones.0.id]
118+
vpc_id = tencentcloud_vpc.vpc.id
119+
subnet_id = tencentcloud_subnet.subnet.id
120+
cluster_name = "tf-example-rabbitmq-vip-instance"
121+
node_spec = "rabbit-vip-basic-1"
122+
node_num = 1
123+
storage_size = 200
124+
enable_create_default_ha_mirror_queue = false
125+
auto_renew_flag = true
126+
time_span = 1
127+
}
128+
129+
# create rabbitmq user
130+
resource "tencentcloud_tdmq_rabbitmq_user" "example" {
131+
instance_id = tencentcloud_tdmq_rabbitmq_vip_instance.example.id
132+
user = "tf-example-user"
133+
password = "$Password"
134+
description = "desc update."
135+
tags = ["management", "monitoring", "example_update"]
136+
max_connections = 3
137+
max_channels = 3
69138
}
70139
`

tencentcloud/services/trabbit/resource_tc_tdmq_rabbitmq_vip_instance.md

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,26 @@ Provides a resource to create a tdmq rabbitmq_vip_instance
33
Example Usage
44

55
```hcl
6-
data "tencentcloud_availability_zones" "zones" {}
6+
data "tencentcloud_availability_zones" "zones" {
7+
name = "ap-guangzhou-6"
8+
}
79
10+
# create vpc
811
resource "tencentcloud_vpc" "vpc" {
9-
name = "rabbitmq-vpc"
12+
name = "vpc"
1013
cidr_block = "10.0.0.0/16"
1114
}
1215
16+
# create vpc subnet
1317
resource "tencentcloud_subnet" "subnet" {
14-
availability_zone = data.tencentcloud_availability_zones.zones.zones.0.name
15-
name = "rabbitmq-subnet"
18+
name = "subnet"
1619
vpc_id = tencentcloud_vpc.vpc.id
17-
cidr_block = "10.0.0.0/16"
20+
availability_zone = "ap-guangzhou-6"
21+
cidr_block = "10.0.20.0/28"
1822
is_multicast = false
1923
}
2024
25+
# create rabbitmq instance
2126
resource "tencentcloud_tdmq_rabbitmq_vip_instance" "example" {
2227
zone_ids = [data.tencentcloud_availability_zones.zones.zones.0.id]
2328
vpc_id = tencentcloud_vpc.vpc.id

0 commit comments

Comments
 (0)