Skip to content

Commit 0884e9c

Browse files
committed
support domain & url
1 parent 9617e6e commit 0884e9c

File tree

9 files changed

+160
-21
lines changed

9 files changed

+160
-21
lines changed

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,10 @@ require (
4343
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/chdfs v1.0.600
4444
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ciam v1.0.695
4545
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka v1.0.748
46-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.961
46+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.984
4747
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544
4848
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.970
49-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.978
49+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.984
5050
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.960
5151
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762
5252
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.692

go.sum

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -864,6 +864,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.960 h1:wiX0lVi
864864
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.960/go.mod h1:ge3NiZB+9eEL6gcnlX2CnyYq3Qvx1AW29aP8d9RiDxE=
865865
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.961 h1:H8oPv420A7TtLsrKQv1VYaHHboI6YmYT/kNbgZXfO1Y=
866866
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.961/go.mod h1:iEXw9vSSrx7vJ2v+ird8vpjRPmF7kqTa2/VypAs8n64=
867+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.984 h1:uvDvC8ip75yBSUiCOIu4dGv10AKkH7M3qnmOShLZZPQ=
868+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.984/go.mod h1:mqn4vGnC39CHBaniEgnGQqSoVXBnIH8F+O1F5KXhbec=
867869
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544 h1:ApY6rS7I9otgujOdAFy0+Epno1PNVCQmsOoWQxx724Y=
868870
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544/go.mod h1:c37rIdL3LrJXYwrfp9c8L4MabTqKIZUe1xvnWhN75oc=
869871
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.860 h1:IU20AhNd0fEbgFzTTGB8cdMkUCrgB0FsLd0puC4QDzU=
@@ -972,6 +974,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.971 h1:T5zE
972974
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.971/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
973975
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.978 h1:3piderD6Cl4bt8mnSOROm+My1nHM5jtReECZeAn15oQ=
974976
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.978/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
977+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.984 h1:QLSx+ibsV68NXKgzofPuo1gxFwYSWk2++rvxZxNjbVo=
978+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.984/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
975979
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip v1.0.860 h1:F3esKBIT3HW9+7Gt8cVgf8X06VdGIczpgLBUECzSEzU=
976980
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip v1.0.860/go.mod h1:NZo1WplQcC314kMlCRUoy8NQju2BnolIJj7NAWgsuhY=
977981
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624 h1:nEZqsoqt1pEoaP9JjkHQy3/H00suCfzlHW1qOm2nYD8=

tencentcloud/services/clb/resource_tc_clb_attachment.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ func resourceTencentCloudClbServerAttachmentRead(d *schema.ResourceData, meta in
225225
clbId := items[2]
226226

227227
if locationIdOrDomainUrl != "" {
228-
if strings.HasSuffix(locationIdOrDomainUrl, "loc-") && !strings.Contains(locationIdOrDomainUrl, ",") {
228+
if strings.HasPrefix(locationIdOrDomainUrl, "loc-") && !strings.Contains(locationIdOrDomainUrl, ",") {
229229
// get locationId
230230
locationId = locationIdOrDomainUrl
231231
} else {
@@ -252,7 +252,9 @@ func resourceTencentCloudClbServerAttachmentRead(d *schema.ResourceData, meta in
252252
}
253253

254254
//see if read empty
255-
if instance == nil || (len(instance.Targets) == 0 && locationId == "") || (len(instance.Rules) == 0 && locationId != "") {
255+
if instance == nil ||
256+
(len(instance.Targets) == 0 && locationId == "" && domain == "" && url == "") ||
257+
(len(instance.Rules) == 0 && locationId != "") {
256258
d.SetId("")
257259
return nil
258260
}
@@ -401,7 +403,7 @@ func resourceTencentCloudClbServerAttachmentDelete(d *schema.ResourceData, meta
401403
clbId := items[2]
402404

403405
if locationIdOrDomainUrl != "" {
404-
if strings.HasSuffix(locationIdOrDomainUrl, "loc-") && !strings.Contains(locationIdOrDomainUrl, ",") {
406+
if strings.HasPrefix(locationIdOrDomainUrl, "loc-") && !strings.Contains(locationIdOrDomainUrl, ",") {
405407
// get locationId
406408
locationId = locationIdOrDomainUrl
407409
} else {
@@ -497,7 +499,7 @@ func resourceTencentCloudClbServerAttachmentRemove(d *schema.ResourceData, meta
497499
listenerId := items[1]
498500
clbId := items[2]
499501
if locationIdOrDomainUrl != "" {
500-
if strings.HasSuffix(locationIdOrDomainUrl, "loc-") && !strings.Contains(locationIdOrDomainUrl, ",") {
502+
if strings.HasPrefix(locationIdOrDomainUrl, "loc-") && !strings.Contains(locationIdOrDomainUrl, ",") {
501503
// get locationId
502504
locationId = locationIdOrDomainUrl
503505
} else {

tencentcloud/services/clb/resource_tc_clb_attachment.md

Lines changed: 65 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Provides a resource to create a CLB attachment.
44

55
Example Usage
66

7-
Bind a Cvm instance
7+
Bind a Cvm instance by using `rule_id`
88

99
```hcl
1010
resource "tencentcloud_clb_attachment" "example" {
@@ -20,7 +20,24 @@ resource "tencentcloud_clb_attachment" "example" {
2020
}
2121
```
2222

23-
Bind multiple Cvm instances
23+
Bind a Cvm instance by using `domian` and `url`
24+
25+
```hcl
26+
resource "tencentcloud_clb_attachment" "example" {
27+
clb_id = "lb-k2zjp9lv"
28+
listener_id = "lbl-hh141sn9"
29+
domain = "test.com"
30+
url = "/"
31+
32+
targets {
33+
instance_id = "ins-1flbqyp8"
34+
port = 80
35+
weight = 10
36+
}
37+
}
38+
```
39+
40+
Bind multiple Cvm instances by using `rule_id`
2441

2542
```hcl
2643
resource "tencentcloud_clb_attachment" "example" {
@@ -42,7 +59,30 @@ resource "tencentcloud_clb_attachment" "example" {
4259
}
4360
```
4461

45-
Bind backend target is ENI
62+
Bind multiple Cvm instances by using `domian` and `url`
63+
64+
```hcl
65+
resource "tencentcloud_clb_attachment" "example" {
66+
clb_id = "lb-k2zjp9lv"
67+
listener_id = "lbl-hh141sn9"
68+
domain = "test.com"
69+
url = "/"
70+
71+
targets {
72+
instance_id = "ins-1flbqyp8"
73+
port = 80
74+
weight = 10
75+
}
76+
77+
targets {
78+
instance_id = "ins-ekloqpa1"
79+
port = 81
80+
weight = 10
81+
}
82+
}
83+
```
84+
85+
Bind backend target is ENI by using `rule_id`
4686

4787
```hcl
4888
resource "tencentcloud_clb_attachment" "example" {
@@ -58,10 +98,31 @@ resource "tencentcloud_clb_attachment" "example" {
5898
}
5999
```
60100

101+
Bind backend target is ENI by using `domian` and `url`
102+
103+
```hcl
104+
resource "tencentcloud_clb_attachment" "example" {
105+
clb_id = "lb-k2zjp9lv"
106+
listener_id = "lbl-hh141sn9"
107+
domain = "test.com"
108+
url = "/"
109+
110+
targets {
111+
eni_ip = "172.16.16.52"
112+
port = 8090
113+
weight = 50
114+
}
115+
}
116+
```
117+
61118
Import
62119

63120
CLB attachment can be imported using the id, e.g.
64121

65122
```
66-
$ terraform import tencentcloud_clb_attachment.foo loc-4xxr2cy7#lbl-hh141sn9#lb-7a0t6zqb
123+
$ terraform import tencentcloud_clb_attachment.example loc-4xxr2cy7#lbl-hh141sn9#lb-7a0t6zqb
124+
125+
Or
126+
127+
$ terraform import tencentcloud_clb_attachment.example test.com,/#lbl-hh141sn9#lb-7a0t6zqb
67128
```

vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb/v20180317/client.go

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb/v20180317/models.go

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/modules.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1151,7 +1151,7 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ciam/v20220331
11511151
# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka v1.0.748
11521152
## explicit; go 1.14
11531153
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka/v20190819
1154-
# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.961
1154+
# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.984
11551155
## explicit; go 1.14
11561156
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb/v20180317
11571157
# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544
@@ -1160,7 +1160,7 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit/v20190319
11601160
# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.970
11611161
## explicit; go 1.14
11621162
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls/v20201016
1163-
# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.978
1163+
# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.984
11641164
## explicit; go 1.11
11651165
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common
11661166
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors

website/docs/r/clb_attachment.html.markdown

Lines changed: 69 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,8 @@ Provides a resource to create a CLB attachment.
1515

1616
## Example Usage
1717

18-
### Bind a Cvm instance
19-
2018
```hcl
21-
resource "tencentcloud_clb_attachment" "foo" {
19+
resource "tencentcloud_clb_attachment" "example" {
2220
clb_id = "lb-k2zjp9lv"
2321
listener_id = "lbl-hh141sn9"
2422
rule_id = "loc-4xxr2cy7"
@@ -31,10 +29,27 @@ resource "tencentcloud_clb_attachment" "foo" {
3129
}
3230
```
3331

34-
### Bind multiple Cvm instances
32+
33+
34+
```hcl
35+
resource "tencentcloud_clb_attachment" "example" {
36+
clb_id = "lb-k2zjp9lv"
37+
listener_id = "lbl-hh141sn9"
38+
domain = "test.com"
39+
url = "/"
40+
41+
targets {
42+
instance_id = "ins-1flbqyp8"
43+
port = 80
44+
weight = 10
45+
}
46+
}
47+
```
48+
49+
3550

3651
```hcl
37-
resource "tencentcloud_clb_attachment" "foo" {
52+
resource "tencentcloud_clb_attachment" "example" {
3853
clb_id = "lb-k2zjp9lv"
3954
listener_id = "lbl-hh141sn9"
4055
rule_id = "loc-4xxr2cy7"
@@ -53,10 +68,33 @@ resource "tencentcloud_clb_attachment" "foo" {
5368
}
5469
```
5570

56-
### Bind backend target is ENI
71+
5772

5873
```hcl
59-
resource "tencentcloud_clb_attachment" "foo" {
74+
resource "tencentcloud_clb_attachment" "example" {
75+
clb_id = "lb-k2zjp9lv"
76+
listener_id = "lbl-hh141sn9"
77+
domain = "test.com"
78+
url = "/"
79+
80+
targets {
81+
instance_id = "ins-1flbqyp8"
82+
port = 80
83+
weight = 10
84+
}
85+
86+
targets {
87+
instance_id = "ins-ekloqpa1"
88+
port = 81
89+
weight = 10
90+
}
91+
}
92+
```
93+
94+
95+
96+
```hcl
97+
resource "tencentcloud_clb_attachment" "example" {
6098
clb_id = "lb-k2zjp9lv"
6199
listener_id = "lbl-hh141sn9"
62100
rule_id = "loc-4xxr2cy7"
@@ -69,14 +107,33 @@ resource "tencentcloud_clb_attachment" "foo" {
69107
}
70108
```
71109

110+
111+
112+
```hcl
113+
resource "tencentcloud_clb_attachment" "example" {
114+
clb_id = "lb-k2zjp9lv"
115+
listener_id = "lbl-hh141sn9"
116+
domain = "test.com"
117+
url = "/"
118+
119+
targets {
120+
eni_ip = "172.16.16.52"
121+
port = 8090
122+
weight = 50
123+
}
124+
}
125+
```
126+
72127
## Argument Reference
73128

74129
The following arguments are supported:
75130

76131
* `clb_id` - (Required, String, ForceNew) ID of the CLB.
77132
* `listener_id` - (Required, String, ForceNew) ID of the CLB listener.
78133
* `targets` - (Required, Set) Information of the backends to be attached.
134+
* `domain` - (Optional, String, ForceNew) Domain of the target forwarding rule. Does not take effect when parameter `rule_id` is provided.
79135
* `rule_id` - (Optional, String, ForceNew) ID of the CLB listener rule. Only supports listeners of `HTTPS` and `HTTP` protocol.
136+
* `url` - (Optional, String, ForceNew) URL of the target forwarding rule. Does not take effect when parameter `rule_id` is provided.
80137

81138
The `targets` object supports the following:
82139

@@ -98,6 +155,10 @@ In addition to all arguments above, the following attributes are exported:
98155
CLB attachment can be imported using the id, e.g.
99156

100157
```
101-
$ terraform import tencentcloud_clb_attachment.foo loc-4xxr2cy7#lbl-hh141sn9#lb-7a0t6zqb
158+
$ terraform import tencentcloud_clb_attachment.example loc-4xxr2cy7#lbl-hh141sn9#lb-7a0t6zqb
159+
160+
Or
161+
162+
$ terraform import tencentcloud_clb_attachment.example test.com,/#lbl-hh141sn9#lb-7a0t6zqb
102163
```
103164

0 commit comments

Comments
 (0)