Skip to content

Commit 20f2aba

Browse files
committed
set empty id;add filter for attach rules
1 parent d1a3a3f commit 20f2aba

File tree

4 files changed

+28
-37
lines changed

4 files changed

+28
-37
lines changed

tencentcloud/data_source_tc_vpc_acls.go

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -197,30 +197,11 @@ func dataSourceTencentCloudVpcACLRead(d *schema.ResourceData, meta interface{})
197197
ctx = context.WithValue(context.TODO(), logIdKey, logId)
198198
service = VpcService{client: meta.(*TencentCloudClient).apiV3Conn}
199199

200-
vpcID string
201-
name string
202-
id string
200+
vpcID = d.Get("vpc_id").(string)
201+
name = d.Get("name").(string)
202+
id = d.Get("id").(string)
203203
)
204204

205-
if temp, ok := d.GetOk("vpc_id"); ok {
206-
tempStr := temp.(string)
207-
if tempStr != "" {
208-
vpcID = tempStr
209-
}
210-
}
211-
if temp, ok := d.GetOk("name"); ok {
212-
tempStr := temp.(string)
213-
if tempStr != "" {
214-
name = tempStr
215-
}
216-
}
217-
if temp, ok := d.GetOk("id"); ok {
218-
tempStr := temp.(string)
219-
if tempStr != "" {
220-
id = tempStr
221-
}
222-
}
223-
224205
networkAcls, err := service.DescribeNetWorkAcls(ctx, id, vpcID, name)
225206
if err != nil {
226207
return err

tencentcloud/resource_tc_vpc_acl.go

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import (
3535
"context"
3636
"fmt"
3737
"log"
38+
"strings"
3839

3940
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
4041
"github.com/terraform-providers/terraform-provider-tencentcloud/tencentcloud/internal/helper"
@@ -131,7 +132,6 @@ func resourceTencentCloudVpcACLCreate(d *schema.ResourceData, meta interface{})
131132
if err != nil {
132133
return err
133134
}
134-
135135
return resourceTencentCloudVpcACLRead(d, meta)
136136
}
137137

@@ -164,26 +164,32 @@ func resourceTencentCloudVpcACLRead(d *schema.ResourceData, meta interface{}) er
164164
_ = d.Set("vpc_id", info.VpcId)
165165
_ = d.Set("create_time", info.CreatedTime)
166166
_ = d.Set("name", info.NetworkAclName)
167-
egressList := make([]map[string]interface{}, 0, len(info.EgressEntries))
167+
egressList := make([]string, 0, len(info.EgressEntries))
168168
for i := range info.EgressEntries {
169-
result := map[string]interface{}{
170-
"protocol": info.EgressEntries[i].Protocol,
171-
"port": info.EgressEntries[i].Port,
172-
"cidr_ip": info.EgressEntries[i].CidrBlock,
173-
"policy": info.EgressEntries[i].Action,
169+
if info.EgressEntries[i].Port == nil || *info.EgressEntries[i].Port == "" {
170+
continue
174171
}
175-
egressList = append(egressList, result)
172+
result := strings.Join([]string{
173+
*info.EgressEntries[i].Action,
174+
*info.EgressEntries[i].CidrBlock,
175+
*info.EgressEntries[i].Port,
176+
*info.EgressEntries[i].Protocol,
177+
}, "#")
178+
egressList = append(egressList, strings.ToUpper(result))
176179
}
177180

178-
ingressList := make([]map[string]interface{}, 0, len(info.IngressEntries))
181+
ingressList := make([]string, 0, len(info.IngressEntries))
179182
for i := range info.IngressEntries {
180-
result := map[string]interface{}{
181-
"protocol": info.IngressEntries[i].Protocol,
182-
"port": info.IngressEntries[i].Port,
183-
"cidr_ip": info.IngressEntries[i].CidrBlock,
184-
"policy": info.IngressEntries[i].Action,
183+
if info.IngressEntries[i].Port == nil || *info.IngressEntries[i].Port == "" {
184+
continue
185185
}
186-
ingressList = append(ingressList, result)
186+
result := strings.Join([]string{
187+
*info.IngressEntries[i].Action,
188+
*info.IngressEntries[i].CidrBlock,
189+
*info.IngressEntries[i].Port,
190+
*info.IngressEntries[i].Protocol,
191+
}, "#")
192+
ingressList = append(ingressList, strings.ToUpper(result))
187193
}
188194
_ = d.Set("egress", egressList)
189195
_ = d.Set("ingress", ingressList)

tencentcloud/resource_tc_vpc_acl_attachment.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ func resourceTencentCloudVpcAclAttachmentRead(d *schema.ResourceData, meta inter
109109
return err
110110
}
111111
if len(results) > 0 && len(results[0].SubnetSet) < 1 {
112+
d.SetId("")
112113
return fmt.Errorf("[TECENT_TERRAFORM_CHECK][ACL attachment][Read] check: acl attachment is not create")
113114
}
114115
return nil

tencentcloud/service_tencentcloud_vpc.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2858,6 +2858,9 @@ func (me *VpcService) CreateVpcNetworkAcl(ctx context.Context, vpcID string, nam
28582858
func (me *VpcService) AttachRulesToACL(ctx context.Context, aclID string, ingressParm, egressParm []VpcACLRule) (errRet error) {
28592859
logId := getLogId(ctx)
28602860

2861+
if len(ingressParm) == 0 && len(egressParm) == 0 {
2862+
return
2863+
}
28612864
if errRet = me.ModifyNetWorkAclRules(ctx, aclID, ingressParm, egressParm); errRet != nil {
28622865
log.Printf("[CRITAL]%s attach rules to acl failed, reason: %v", logId, errRet)
28632866
}

0 commit comments

Comments
 (0)