Skip to content

Commit 255a4e6

Browse files
authored
CLB support import (#548)
CLB support import
1 parent 123d55f commit 255a4e6

28 files changed

+561
-89
lines changed

CHANGELOG.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
1-
## 1.46.5 (Unreleased)
1+
## 1.47.0 (Unreleased)
2+
3+
ENHANCEMENTS:
4+
* Resource: `tencentcloud_clb_listener` support import.
5+
* Resource: `tencentcloud_clb_listener` add computed argument `listener_id`.
6+
* Resource: `tencentcloud_clb_listener_rule` support import.
7+
* Resource: `tencentcloud_cdn_domain` add example that use COS bucket url as origin.
8+
* Data Source: `tencentcloud_instance_types` add argument `exclude_sold_out` to support filtering sold out instance types.
29

310
BUG FIXES:
411

examples/tencentcloud-clb/main.tf

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ resource "tencentcloud_clb_listener" "listener_tcp" {
5252

5353
resource "tencentcloud_clb_attachment" "attachment_tcp" {
5454
clb_id = tencentcloud_clb_instance.example.id
55-
listener_id = tencentcloud_clb_listener.listener_tcp.id
55+
listener_id = tencentcloud_clb_listener.listener_tcp.listener_id
5656

5757
targets {
5858
instance_id = tencentcloud_instance.foo.id
@@ -72,7 +72,7 @@ resource "tencentcloud_clb_listener" "listener_https" {
7272

7373
resource "tencentcloud_clb_listener_rule" "rule_https" {
7474
clb_id = tencentcloud_clb_instance.example.id
75-
listener_id = tencentcloud_clb_listener.listener_https.id
75+
listener_id = tencentcloud_clb_listener.listener_https.listener_id
7676
domain = "abc.com"
7777
url = "/"
7878
session_expire_time = 30
@@ -81,8 +81,8 @@ resource "tencentcloud_clb_listener_rule" "rule_https" {
8181

8282
resource "tencentcloud_clb_attachment" "attachment_https" {
8383
clb_id = tencentcloud_clb_instance.example.id
84-
listener_id = tencentcloud_clb_listener.listener_https.id
85-
rule_id = tencentcloud_clb_listener_rule.rule_https.id
84+
listener_id = tencentcloud_clb_listener.listener_https.listener_id
85+
rule_id = tencentcloud_clb_listener_rule.rule_https.rule_id
8686

8787
targets {
8888
instance_id = tencentcloud_instance.foo.id
@@ -100,7 +100,7 @@ resource "tencentcloud_clb_listener" "listener_http_src" {
100100

101101
resource "tencentcloud_clb_listener_rule" "rule_http_src" {
102102
clb_id = tencentcloud_clb_instance.example.id
103-
listener_id = tencentcloud_clb_listener.listener_http_src.id
103+
listener_id = tencentcloud_clb_listener.listener_http_src.listener_id
104104
domain = "abc.com"
105105
url = "/"
106106
session_expire_time = 30
@@ -116,7 +116,7 @@ resource "tencentcloud_clb_listener" "listener_http_dst" {
116116

117117
resource "tencentcloud_clb_listener_rule" "rule_http_dst" {
118118
clb_id = tencentcloud_clb_instance.example.id
119-
listener_id = tencentcloud_clb_listener.listener_http_dst.id
119+
listener_id = tencentcloud_clb_listener.listener_http_dst.listener_id
120120
domain = "abcd.com"
121121
url = "/"
122122
session_expire_time = 30
@@ -125,10 +125,10 @@ resource "tencentcloud_clb_listener_rule" "rule_http_dst" {
125125

126126
resource "tencentcloud_clb_redirection" "redirection_http" {
127127
clb_id = tencentcloud_clb_instance.example.id
128-
source_listener_id = tencentcloud_clb_listener.listener_http_src.id
129-
target_listener_id = tencentcloud_clb_listener.listener_http_dst.id
130-
source_rule_id = tencentcloud_clb_listener_rule.rule_http_src.id
131-
target_rule_id = tencentcloud_clb_listener_rule.rule_http_dst.id
128+
source_listener_id = tencentcloud_clb_listener.listener_http_src.listener_id
129+
target_listener_id = tencentcloud_clb_listener.listener_http_dst.listener_id
130+
source_rule_id = tencentcloud_clb_listener_rule.rule_http_src.listener_id
131+
target_rule_id = tencentcloud_clb_listener_rule.rule_http_dst.listener_id
132132
}
133133

134134
resource "tencentcloud_clb_instance" "clb_basic" {
@@ -145,7 +145,7 @@ resource "tencentcloud_clb_listener" "listener_basic" {
145145

146146
resource "tencentcloud_clb_listener_rule" "rule_basic" {
147147
clb_id = tencentcloud_clb_instance.clb_basic.id
148-
listener_id = tencentcloud_clb_listener.listener_basic.id
148+
listener_id = tencentcloud_clb_listener.listener_basic.listener_id
149149
domain = "abc.com"
150150
url = "/"
151151
session_expire_time = 30
@@ -166,8 +166,8 @@ resource "tencentcloud_clb_target_group_instance_attachment" "test"{
166166

167167
resource "tencentcloud_clb_target_group_attachment" "group" {
168168
clb_id = tencentcloud_clb_instance.clb_basic.id
169-
listener_id = tencentcloud_clb_listener.listener_basic.id
170-
rule_id = tencentcloud_clb_listener_rule.rule_basic.id
169+
listener_id = tencentcloud_clb_listener.listener_basic.listener_id
170+
rule_id = tencentcloud_clb_listener_rule.rule_basic.rule_id
171171
targrt_group_id = tencentcloud_clb_target_group.test.id
172172
}
173173

@@ -181,20 +181,20 @@ data "tencentcloud_clb_instances" "instances" {
181181

182182
data "tencentcloud_clb_listeners" "listeners" {
183183
clb_id = tencentcloud_clb_instance.example.id
184-
listener_id = tencentcloud_clb_listener.listener_tcp.id
184+
listener_id = tencentcloud_clb_listener.listener_tcp.listener_id
185185
}
186186

187187
data "tencentcloud_clb_listener_rules" "rules" {
188188
clb_id = tencentcloud_clb_instance.example.id
189-
listener_id = tencentcloud_clb_listener.listener_https.id
189+
listener_id = tencentcloud_clb_listener.listener_https.listener_id
190190
domain = tencentcloud_clb_listener_rule.rule_https.domain
191191
url = tencentcloud_clb_listener_rule.rule_https.url
192192
}
193193

194194
data "tencentcloud_clb_attachments" "attachments" {
195195
clb_id = tencentcloud_clb_instance.example.id
196-
listener_id = tencentcloud_clb_listener.listener_https.id
197-
rule_id = tencentcloud_clb_attachment.attachment_https.id
196+
listener_id = tencentcloud_clb_listener.listener_https.listener_id
197+
rule_id = tencentcloud_clb_attachment.attachment_https.rule_id
198198
}
199199

200200
data "tencentcloud_clb_redirections" "redirections" {

tencentcloud/basic_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ const (
2323
defaultInsName = "tf-ci-test"
2424
defaultInsNameUpdate = "tf-ci-test-update"
2525

26-
defaultSshCertificate = "VjANRdz8"
27-
defaultSshCertificateB = "VfqO4zkB"
26+
defaultSshCertificate = "f8kGFR2T"
27+
defaultSshCertificateB = "fbW9Spiy"
2828

2929
defaultDayuBgp = "bgp-000006mq"
3030
defaultDayuBgpMul = "bgp-0000008o"

tencentcloud/data_source_tc_availability_regions.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ func dataSourceTencentCloudAvailabilityRegions() *schema.Resource {
2929
"name": {
3030
Type: schema.TypeString,
3131
Optional: true,
32-
Description: "When specified, only the region with the exactly name match will be returned.",
32+
Description: "When specified, only the region with the exactly name match will be returned. `default` value means it consistent with the provider region.",
3333
},
3434
"include_unavailable": {
3535
Type: schema.TypeBool,

tencentcloud/data_source_tc_clb_attachments.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,9 +114,17 @@ func dataSourceTencentCloudClbServerAttachmentsRead(d *schema.ResourceData, meta
114114
params := make(map[string]string)
115115
clbId := d.Get("clb_id").(string)
116116
listenerId := d.Get("listener_id").(string)
117+
checkErr := ListenerIdCheck(listenerId)
118+
if checkErr != nil {
119+
return checkErr
120+
}
117121
locationId := ""
118122
if v, ok := d.GetOk("rule_id"); ok {
119123
locationId = v.(string)
124+
checkErr := RuleIdCheck(locationId)
125+
if checkErr != nil {
126+
return checkErr
127+
}
120128
params["rule_id"] = locationId
121129
}
122130
params["clb_id"] = clbId

tencentcloud/data_source_tc_clb_listener_rules.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,10 @@ func dataSourceTencentCloudClbListenerRulesRead(d *schema.ResourceData, meta int
178178
ctx := context.WithValue(context.TODO(), logIdKey, logId)
179179

180180
listenerId := d.Get("listener_id").(string)
181+
checkErr := ListenerIdCheck(listenerId)
182+
if checkErr != nil {
183+
return checkErr
184+
}
181185
clbId := d.Get("clb_id").(string)
182186
params := make(map[string]string)
183187
params["clb_id"] = clbId
@@ -190,6 +194,10 @@ func dataSourceTencentCloudClbListenerRulesRead(d *schema.ResourceData, meta int
190194
}
191195
if v, ok := d.GetOk("rule_id"); ok {
192196
params["rule_id"] = v.(string)
197+
checkErr := RuleIdCheck(params["rule_id"])
198+
if checkErr != nil {
199+
return checkErr
200+
}
193201
}
194202
if v, ok := d.GetOk("domain"); ok {
195203
params["domain"] = v.(string)

tencentcloud/data_source_tc_clb_listener_rules_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ resource "tencentcloud_clb_listener" "listener" {
4545
4646
resource "tencentcloud_clb_listener_rule" "rule" {
4747
clb_id = tencentcloud_clb_instance.clb.id
48-
listener_id = tencentcloud_clb_listener.listener.id
48+
listener_id = tencentcloud_clb_listener.listener.listener_id
4949
domain = "abcde.com"
5050
url = "/"
5151
session_expire_time = 30
@@ -54,7 +54,7 @@ resource "tencentcloud_clb_listener_rule" "rule" {
5454
5555
data "tencentcloud_clb_listener_rules" "rules" {
5656
clb_id = tencentcloud_clb_instance.clb.id
57-
listener_id = tencentcloud_clb_listener.listener.id
57+
listener_id = tencentcloud_clb_listener.listener.listener_id
5858
domain = tencentcloud_clb_listener_rule.rule.domain
5959
url = tencentcloud_clb_listener_rule.rule.url
6060
}

tencentcloud/data_source_tc_clb_listeners.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,12 @@ func dataSourceTencentCloudClbListenersRead(d *schema.ResourceData, meta interfa
160160
params := make(map[string]interface{})
161161
params["clb_id"] = clbId
162162
if v, ok := d.GetOk("listener_id"); ok {
163-
params["listener_id"] = v.(string)
163+
listenerId := v.(string)
164+
params["listener_id"] = listenerId
165+
checkErr := ListenerIdCheck(listenerId)
166+
if checkErr != nil {
167+
return checkErr
168+
}
164169
}
165170
if v, ok := d.GetOk("port"); ok {
166171
params["port"] = v.(int)

tencentcloud/data_source_tc_clb_listeners_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,6 @@ resource "tencentcloud_clb_listener" "listener" {
4949
5050
data "tencentcloud_clb_listeners" "listeners" {
5151
clb_id = tencentcloud_clb_instance.clb.id
52-
listener_id = tencentcloud_clb_listener.listener.id
52+
listener_id = tencentcloud_clb_listener.listener.listener_id
5353
}
5454
`

tencentcloud/data_source_tc_clb_redirections.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,12 +107,28 @@ func dataSourceTencentCloudClbRedirectionsRead(d *schema.ResourceData, meta inte
107107
params := make(map[string]string)
108108
params["clb_id"] = d.Get("clb_id").(string)
109109
params["source_listener_id"] = d.Get("source_listener_id").(string)
110+
checkErr := ListenerIdCheck(params["source_listener_id"])
111+
if checkErr != nil {
112+
return checkErr
113+
}
110114
params["source_rule_id"] = d.Get("source_rule_id").(string)
115+
checkErr = RuleIdCheck(params["source_rule_id"])
116+
if checkErr != nil {
117+
return checkErr
118+
}
111119
if v, ok := d.GetOk("target_listener_id"); ok {
112120
params["target_listener_id"] = v.(string)
121+
checkErr := ListenerIdCheck(params["target_listener_id"])
122+
if checkErr != nil {
123+
return checkErr
124+
}
113125
}
114126
if v, ok := d.GetOk("target_rule_id"); ok {
115127
params["target_rule_id"] = v.(string)
128+
checkErr = RuleIdCheck(params["target_rule_id"])
129+
if checkErr != nil {
130+
return checkErr
131+
}
116132
}
117133

118134
clbService := ClbService{

0 commit comments

Comments
 (0)