Skip to content

Commit 4b3d172

Browse files
committed
add
1 parent fc8ef63 commit 4b3d172

File tree

10 files changed

+1659
-354
lines changed

10 files changed

+1659
-354
lines changed

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.1107
4747
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.1033
4848
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.1135
49-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1145
49+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1148
5050
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.1128
5151
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762
5252
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.1111
@@ -96,7 +96,7 @@ require (
9696
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tse v1.0.857
9797
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tsf v1.0.674
9898
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.0.860
99-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.1122
99+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.1148
100100
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/waf v1.0.1037
101101
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wedata v1.0.792
102102
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wss v1.0.199

go.sum

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -942,8 +942,11 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1133/go.mod
942942
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1135 h1:NAu4sH5c+kGTZQ0rwhnuYjIXbentw3Np+TbwimH22uc=
943943
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1135/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
944944
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1136/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
945+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1142/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
945946
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1145 h1:DETyir/MtG+GLOD0OatzjrQTTXRguFSJo1ZtPXtbIQw=
946947
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1145/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
948+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1148 h1:+2jHvXzO0ljzTtqdnZ6ug0wMLYSaMwyr1zJa0z/DqyE=
949+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1148/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
947950
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993 h1:WlPgXldQCxt7qi5Xrc6j6zTrsXWzN5BcOGs7Irq7fwQ=
948951
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993/go.mod h1:Z9U8zNtyuyKhjS0698wqsrG/kLx1TQ5CEixXBwVe7xY=
949952
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip v1.0.860 h1:F3esKBIT3HW9+7Gt8cVgf8X06VdGIczpgLBUECzSEzU=
@@ -1068,6 +1071,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.0.860 h1:vW2NgAH
10681071
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.0.860/go.mod h1:uCkDh/AW/tb8JGq5b2kqLjqZuhCFR+6oTsq1SrrvT44=
10691072
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.1122 h1:K9uRaby+EqZdqZHcTsRRIxgyaCWomFHPqQMZDrsiTM0=
10701073
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.1122/go.mod h1:8xCo14lGkAvl5EhpYpmLk5ztoFcHdpBLzLzAawxjl+Y=
1074+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.1148 h1:qtzL3QscVftBw9ZVKI7fmebCkc6zL+3zSkRFtj77HpI=
1075+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.1148/go.mod h1:NHVGgF5BAXq5emdefxsC+P1/MsL3ryr5s2jHpxDTYJM=
10711076
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/waf v1.0.1037 h1:sgHOHqVFcO266dnoh0KJ0CoxrRglRZYKW78iBh41Giw=
10721077
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/waf v1.0.1037/go.mod h1:QM5m6aZ65kaxaES0D44BNKmemn+9WBf5vr3HDDPrh8U=
10731078
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wedata v1.0.792 h1:NLgKNOIHWa38AmW7dyfI9Jlcp2Kr9VRD94f48pPNmxM=

tencentcloud/services/vpc/resource_tc_vpc_ipv6_cidr_block.go

Lines changed: 34 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,20 @@ func ResourceTencentCloudVpcIpv6CidrBlock() *schema.Resource {
2323
},
2424
Schema: map[string]*schema.Schema{
2525
"vpc_id": {
26-
Required: true,
2726
Type: schema.TypeString,
27+
Required: true,
2828
ForceNew: true,
2929
Description: "`VPC` instance `ID`, in the form of `vpc-f49l6u0z`.",
3030
},
31+
32+
"address_type": {
33+
Type: schema.TypeString,
34+
Optional: true,
35+
Computed: true,
36+
ForceNew: true,
37+
Description: "Apply for the type of IPv6 Cidr, GUA (Global Unicast Address), ULA (Unique Local Address).",
38+
},
39+
3140
"ipv6_cidr_block": {
3241
Type: schema.TypeString,
3342
Computed: true,
@@ -41,26 +50,32 @@ func resourceTencentCloudVpcIpv6CidrBlockCreate(d *schema.ResourceData, meta int
4150
defer tccommon.LogElapsed("resource.tencentcloud_vpc_ipv6_cidr_block.create")()
4251
defer tccommon.InconsistentCheck(d, meta)()
4352

44-
logId := tccommon.GetLogId(tccommon.ContextNil)
45-
4653
var (
54+
logId = tccommon.GetLogId(tccommon.ContextNil)
4755
request = vpc.NewAssignIpv6CidrBlockRequest()
4856
vpcId string
4957
)
58+
5059
if v, ok := d.GetOk("vpc_id"); ok {
5160
vpcId = v.(string)
5261
request.VpcId = helper.String(vpcId)
5362
}
5463

64+
if v, ok := d.GetOk("address_type"); ok {
65+
request.AddressType = helper.String(v.(string))
66+
}
67+
5568
err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
5669
result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseVpcClient().AssignIpv6CidrBlock(request)
5770
if e != nil {
5871
return tccommon.RetryError(e)
5972
} else {
6073
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString())
6174
}
75+
6276
return nil
6377
})
78+
6479
if err != nil {
6580
log.Printf("[CRITAL]%s create vpc ipv6CidrBlock failed, reason:%+v", logId, err)
6681
return err
@@ -75,13 +90,12 @@ func resourceTencentCloudVpcIpv6CidrBlockRead(d *schema.ResourceData, meta inter
7590
defer tccommon.LogElapsed("resource.tencentcloud_vpc_ipv6_cidr_block.read")()
7691
defer tccommon.InconsistentCheck(d, meta)()
7792

78-
logId := tccommon.GetLogId(tccommon.ContextNil)
79-
80-
ctx := context.WithValue(context.TODO(), tccommon.LogIdKey, logId)
81-
82-
service := VpcService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()}
83-
84-
vpcId := d.Id()
93+
var (
94+
logId = tccommon.GetLogId(tccommon.ContextNil)
95+
ctx = context.WithValue(context.TODO(), tccommon.LogIdKey, logId)
96+
service = VpcService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()}
97+
vpcId = d.Id()
98+
)
8599

86100
instance, err := service.DescribeVpcById(ctx, vpcId)
87101
if err != nil {
@@ -98,6 +112,10 @@ func resourceTencentCloudVpcIpv6CidrBlockRead(d *schema.ResourceData, meta inter
98112
_ = d.Set("vpc_id", instance.VpcId)
99113
}
100114

115+
if instance.Ipv6CidrBlockSet != nil && len(instance.Ipv6CidrBlockSet) != 0 {
116+
_ = d.Set("address_type", instance.Ipv6CidrBlockSet[0].AddressType)
117+
}
118+
101119
if instance.Ipv6CidrBlock != nil {
102120
_ = d.Set("ipv6_cidr_block", instance.Ipv6CidrBlock)
103121
}
@@ -109,11 +127,12 @@ func resourceTencentCloudVpcIpv6CidrBlockDelete(d *schema.ResourceData, meta int
109127
defer tccommon.LogElapsed("resource.tencentcloud_vpc_ipv6_cidr_block.delete")()
110128
defer tccommon.InconsistentCheck(d, meta)()
111129

112-
logId := tccommon.GetLogId(tccommon.ContextNil)
113-
ctx := context.WithValue(context.TODO(), tccommon.LogIdKey, logId)
114-
115-
service := VpcService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()}
116-
vpcId := d.Id()
130+
var (
131+
logId = tccommon.GetLogId(tccommon.ContextNil)
132+
ctx = context.WithValue(context.TODO(), tccommon.LogIdKey, logId)
133+
service = VpcService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()}
134+
vpcId = d.Id()
135+
)
117136

118137
if err := service.DeleteVpcIpv6CidrBlockById(ctx, vpcId); err != nil {
119138
return err

tencentcloud/services/vpc/resource_tc_vpc_ipv6_cidr_block.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Provides a resource to create a vpc ipv6_cidr_block
1+
Provides a resource to create a VPC ipv6 cidr block
22

33
Example Usage
44

@@ -13,10 +13,19 @@ resource "tencentcloud_vpc_ipv6_cidr_block" "example" {
1313
}
1414
```
1515

16+
Or
17+
18+
```hcl
19+
resource "tencentcloud_vpc_ipv6_cidr_block" "example" {
20+
vpc_id = tencentcloud_vpc.vpc.id
21+
address_type = "ULA"
22+
}
23+
```
24+
1625
Import
1726

1827
vpc ipv6_cidr_block can be imported using the id, e.g.
1928

2029
```
21-
terraform import tencentcloud_vpc_ipv6_cidr_block.ipv6_cidr_block vpc_id
22-
```
30+
terraform import tencentcloud_vpc_ipv6_cidr_block.example vpc-826mi3hd
31+
```

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.

0 commit comments

Comments
 (0)