Skip to content

Commit 949440e

Browse files
authored
support dynamic domain (#1954)
* support dynamic domain * add changelog
1 parent 1b74ffa commit 949440e

File tree

10 files changed

+149
-34
lines changed

10 files changed

+149
-34
lines changed

.changelog/1954.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
resource/tencentcloud_clb_instance: support set `dynamic_vip` and export `domain`
3+
```

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ require (
3838
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/chdfs v1.0.600
3939
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ciam v1.0.695
4040
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka v1.0.667
41-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.659
41+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.693
4242
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544
4343
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.663
4444
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.696

go.sum

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -798,8 +798,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ciam v1.0.695 h1:FGwsF1
798798
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ciam v1.0.695/go.mod h1:HAasVoWz8ed6kAg7Q/DTg+8uZXiOgW7lmJeAGGrquEQ=
799799
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka v1.0.667 h1:cecrsRRZ5bvKC/3DHvngMkkHe52+Run+73kLy/I/xLU=
800800
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka v1.0.667/go.mod h1:oMEFOM7AR1K/5pJyhQ9x+TXWX3AsxCqYACdqZLxH/kA=
801-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.659 h1:Hleh17bTIva3PWprkgA/qR1mkHlzV0TSBBOEzqxI500=
802-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.659/go.mod h1:fyVWBJDuBRQ1xd6EtyfCvGYc/NajNSu1Sa3lWrFYVNk=
801+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.693 h1:3eI2Ciq3NOXgoxeW/eY6vgCzi8vcqEZv+FzHww6K9oU=
802+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.693/go.mod h1:WhFqrn14QuRHB01xA5Q9sC+xw73BpqSE5+ZnqEznCW8=
803803
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544 h1:ApY6rS7I9otgujOdAFy0+Epno1PNVCQmsOoWQxx724Y=
804804
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544/go.mod h1:c37rIdL3LrJXYwrfp9c8L4MabTqKIZUe1xvnWhN75oc=
805805
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.663 h1:onri8SDXzJDoKdPLmHAlhJD5xSrsWU34QoOojETi2Q0=
@@ -838,7 +838,6 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.652/go.mod
838838
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.655/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
839839
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.656/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
840840
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.657/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
841-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.659/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
842841
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.663/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
843842
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.664/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
844843
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.667/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
@@ -848,13 +847,12 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.673/go.mod
848847
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.674/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
849848
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.676/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
850849
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.677/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
851-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.680/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
852850
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.688/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
853851
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.689/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
854852
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.691/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
855853
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.692/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
856-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.694 h1:4dqnDVXv3l7I7lixwAHW7tfFtdg9qfY6rwbq/KUkltQ=
857-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.694/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
854+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.693/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
855+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.695/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
858856
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.696 h1:DcHz4rxqICf1U+fgNaDLqCmaBxUl2EmPu4F1yfa6eIg=
859857
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.696/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
860858
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624 h1:nEZqsoqt1pEoaP9JjkHQy3/H00suCfzlHW1qOm2nYD8=
@@ -931,10 +929,6 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcaplusdb v1.0.199 h1:i
931929
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcaplusdb v1.0.199/go.mod h1:PUgbrkzA9IaKBj1urk+W4L6Jr5TuBhQ4xB/96QvLf/U=
932930
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcm v1.0.547 h1:6bukohygmfu4riewOMCuYYZSkg3vTad8PCjpGyWD0Gs=
933931
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcm v1.0.547/go.mod h1:C7b++Lr8Xh+2KtTUMBjbb+/BrBhfFhAxDMjXzT2GLhY=
934-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcr v1.0.680 h1:e5xJXZYxSw65xjy259AgsBG1NG3Q0fuyYcPm5dp3lkg=
935-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcr v1.0.680/go.mod h1:pwgZJLN5WL93J44Q8HfkUYDvHYgkSFxL9EuqPv28nLs=
936-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcr v1.0.694 h1:4j/dtPGQU+RzPkv/irUG2h1cppeVIHrJFMsbWYFr9EA=
937-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcr v1.0.694/go.mod h1:PGMiM8w+UWFCsk90rxJzIPOHtPrZuZ4UCgPVzA3QAYs=
938932
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcr v1.0.696 h1:hTfJtxk5WDj84SfOFKg5Mk+DVtSmjVtkyj3gvVKAYkk=
939933
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcr v1.0.696/go.mod h1:DgY9Kgh9093fBl2M/vEFGJZwytDIrPQlYoxoT4rE7O0=
940934
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdcpg v1.0.533 h1:r6HQhmHzPp1oSGhwkNzUzIRlpnpb8Jhtcn1yKhg9ml4=

tencentcloud/resource_tc_clb_instance.go

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,39 @@ resource "tencentcloud_clb_instance" "open_clb" {
3737
}
3838
```
3939
40+
Dynamic Vip Instance
41+
42+
```hcl
43+
resource "tencentcloud_security_group" "foo" {
44+
name = "clb-instance-open-sg"
45+
}
46+
47+
resource "tencentcloud_vpc" "foo" {
48+
name = "clb-instance-open-vpc"
49+
cidr_block = "10.0.0.0/16"
50+
}
51+
52+
resource "tencentcloud_clb_instance" "clb_open" {
53+
network_type = "OPEN"
54+
clb_name = "clb-instance-open"
55+
project_id = 0
56+
vpc_id = tencentcloud_vpc.foo.id
57+
target_region_info_region = "ap-guangzhou"
58+
target_region_info_vpc_id = tencentcloud_vpc.foo.id
59+
security_groups = [tencentcloud_security_group.foo.id]
60+
61+
dynamic_vip = true
62+
63+
tags = {
64+
test = "tf"
65+
}
66+
}
67+
68+
output "domain" {
69+
value = tencentcloud_clb_instance.clb_open.domain
70+
}
71+
```
72+
4073
Default enable
4174
4275
```hcl
@@ -318,6 +351,16 @@ func resourceTencentCloudClbInstance() *schema.Resource {
318351
Optional: true,
319352
Description: "The id of log topic.",
320353
},
354+
"dynamic_vip": {
355+
Type: schema.TypeBool,
356+
Optional: true,
357+
Description: "If create dynamic vip CLB instance, `true` or `false`.",
358+
},
359+
"domain": {
360+
Type: schema.TypeString,
361+
Computed: true,
362+
Description: "Domain name of the CLB instance.",
363+
},
321364
},
322365
}
323366
}
@@ -461,6 +504,10 @@ func resourceTencentCloudClbInstanceCreate(d *schema.ResourceData, meta interfac
461504
request.LoadBalancerPassToTarget = helper.Bool(v.(bool))
462505
}
463506

507+
if v, ok := d.GetOkExists("dynamic_vip"); ok {
508+
request.DynamicVip = helper.Bool(v.(bool))
509+
}
510+
464511
if tags := helper.GetTags(d, "tags"); len(tags) > 0 {
465512
for k, v := range tags {
466513
tmpKey := k
@@ -638,6 +685,7 @@ func resourceTencentCloudClbInstanceRead(d *schema.ResourceData, meta interface{
638685
_ = d.Set("target_region_info_vpc_id", instance.TargetRegionInfo.VpcId)
639686
_ = d.Set("project_id", instance.ProjectId)
640687
_ = d.Set("security_groups", helper.StringsInterfaces(instance.SecureGroups))
688+
_ = d.Set("domain", instance.LoadBalancerDomain)
641689

642690
if instance.VipIsp != nil {
643691
_ = d.Set("vip_isp", instance.VipIsp)

tencentcloud/resource_tc_clb_instance_test.go

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -88,9 +88,10 @@ func TestAccTencentCloudClbInstance_basic(t *testing.T) {
8888
),
8989
},
9090
{
91-
ResourceName: "tencentcloud_clb_instance.clb_basic",
92-
ImportState: true,
93-
ImportStateVerify: true,
91+
ResourceName: "tencentcloud_clb_instance.clb_basic",
92+
ImportState: true,
93+
ImportStateVerify: true,
94+
ImportStateVerifyIgnore: []string{"dynamic_vip"},
9495
},
9596
},
9697
})
@@ -191,9 +192,10 @@ func TestAccTencentCloudClbInstance_internal(t *testing.T) {
191192
),
192193
},
193194
{
194-
ResourceName: "tencentcloud_clb_instance.clb_internal",
195-
ImportState: true,
196-
ImportStateVerify: true,
195+
ResourceName: "tencentcloud_clb_instance.clb_internal",
196+
ImportState: true,
197+
ImportStateVerify: true,
198+
ImportStateVerifyIgnore: []string{"dynamic_vip"},
197199
},
198200
},
199201
})

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

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

0 commit comments

Comments
 (0)