Skip to content

Commit 902cdb6

Browse files
bruceybianlyu571
authored andcommitted
feat(es): [115889723]Fix resource scanning issue (#2602)
* Fix resource scanning issue * Modify variable name string * update tencentcloud_kubernetes_scale_worker sweeper * update tencentcloud_as_scaling_config sweeper
1 parent 58f77ad commit 902cdb6

File tree

47 files changed

+451
-98
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+451
-98
lines changed

tencentcloud/common/cloud_common.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,15 +58,15 @@ func GetResourceCreatorAccountInfo(client *connectivity.TencentCloudClient, reso
5858
response, err := client.UseClsClient().SearchLog(request)
5959
if err != nil {
6060
log.Printf("[CRITAL] search resource[%v] log data error: %v", r.Id, err.Error())
61-
return resourceIdToSubAccountInfoMap
61+
continue
6262
}
6363
if response == nil || response.Response == nil {
6464
log.Printf("[CRITAL] search resource[%v] log data response is nil", r.Id)
65-
return resourceIdToSubAccountInfoMap
65+
continue
6666
}
6767
if len(response.Response.Results) == 0 {
6868
log.Printf("[CRITAL] search resource[%v] log data response results is empty", r.Id)
69-
return resourceIdToSubAccountInfoMap
69+
continue
7070
}
7171

7272
result := response.Response.Results[0]

tencentcloud/common/resource_scan.go

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ import (
1313
const (
1414
KeepResource = "keep"
1515
NonKeepResource = "non-keep"
16+
17+
SystemUserName = "system"
1618
)
1719

1820
// TimeFormats add all possible time formats
@@ -25,7 +27,7 @@ var TimeFormats = []string{
2527
type ResourceInstance struct {
2628
Id string
2729
Name string
28-
CreatTime string
30+
CreateTime string
2931
DefaultKeep bool
3032
}
3133

@@ -47,7 +49,7 @@ func ProcessResources(client *connectivity.TencentCloudClient, resources []*Reso
4749
isResourceKeep = KeepResource
4850
}
4951

50-
creationDuration, err := DaysSinceCreation(r.CreatTime)
52+
creationDuration, err := DaysSinceCreation(r.CreateTime)
5153
if err != nil {
5254
log.Printf("[CRITAL] compute resource creation duration error: %v", err.Error())
5355
}
@@ -59,6 +61,11 @@ func ProcessResources(client *connectivity.TencentCloudClient, resources []*Reso
5961
resourceName = creatorAccountInfo.ResourceName
6062
principalId = creatorAccountInfo.PrincipalId
6163
userName = creatorAccountInfo.UserName
64+
} else {
65+
parsedTime, _ := ParsedTime(r.CreateTime)
66+
if IsDefaultSearchLogStartTimestampAfter(*parsedTime) {
67+
userName = SystemUserName
68+
}
6269
}
6370

6471
data[i] = []string{
@@ -139,6 +146,9 @@ func DaysSinceCreation(createTime string) (string, error) {
139146
if err != nil {
140147
return "", err
141148
}
149+
if parsedTime == nil {
150+
return "", nil
151+
}
142152

143153
duration := time.Since(*parsedTime)
144154
days := duration.Hours() / 24
@@ -174,3 +184,12 @@ func ParsedTime(createTime string) (*time.Time, error) {
174184
}
175185
return &parsedTime, nil
176186
}
187+
188+
// IsDefaultSearchLogStartTimestampAfter check whether the resource creation time is after the default search log start time
189+
func IsDefaultSearchLogStartTimestampAfter(parsedTime time.Time) bool {
190+
// 将 DefaultSearchLogStartTimestamp 转换为 time.Time 类型
191+
startTime := time.Unix(DefaultSearchLogStartTimestamp/1000, 0)
192+
193+
// 判断 parsedTime 是否在 startTime 之后
194+
return parsedTime.After(startTime)
195+
}

tencentcloud/services/as/resource_tc_as_attachment_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,9 @@ func testSweepAsAttachment(r string) error {
4646
})
4747
}
4848
resources = append(resources, &tccommon.ResourceInstance{
49-
Id: *v.AutoScalingGroupId,
50-
Name: *v.AutoScalingGroupName,
51-
CreatTime: *v.CreatedTime,
49+
Id: *v.AutoScalingGroupId,
50+
Name: *v.AutoScalingGroupName,
51+
CreateTime: *v.CreatedTime,
5252
})
5353
}
5454
tccommon.ProcessScanCloudResources(client, resources, nonKeepResources, "CreateAutoScalingGroup")

tencentcloud/services/as/resource_tc_as_scaling_config_test.go

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,30 @@ func init() {
2727
if err != nil {
2828
return fmt.Errorf("getting tencentcloud client error: %s", err.Error())
2929
}
30-
client := sharedClient.(tccommon.ProviderMeta)
31-
asService := svcas.NewAsService(client.GetAPIV3Conn())
30+
client := sharedClient.(tccommon.ProviderMeta).GetAPIV3Conn()
31+
asService := svcas.NewAsService(client)
3232
configs, err := asService.DescribeLaunchConfigurationByFilter(ctx, "", "")
3333
if err != nil {
3434
return err
3535
}
36+
37+
// add scanning resources
38+
var resources, nonKeepResources []*tccommon.ResourceInstance
39+
for _, v := range configs {
40+
if !tccommon.CheckResourcePersist(*v.LaunchConfigurationName, *v.CreatedTime) {
41+
nonKeepResources = append(nonKeepResources, &tccommon.ResourceInstance{
42+
Id: *v.LaunchConfigurationId,
43+
Name: *v.LaunchConfigurationName,
44+
})
45+
}
46+
resources = append(resources, &tccommon.ResourceInstance{
47+
Id: *v.LaunchConfigurationId,
48+
Name: *v.LaunchConfigurationName,
49+
CreateTime: *v.CreatedTime,
50+
})
51+
}
52+
tccommon.ProcessScanCloudResources(client, resources, nonKeepResources, "CreateLaunchConfiguration")
53+
3654
for _, config := range configs {
3755
instanceName := *config.LaunchConfigurationName
3856
now := time.Now()

tencentcloud/services/as/resource_tc_as_scaling_group_test.go

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,31 @@ func testSweepAsScalingGroups(region string) error {
3030
if err != nil {
3131
return fmt.Errorf("getting tencentcloud client error: %s", err.Error())
3232
}
33-
client := sharedClient.(tccommon.ProviderMeta)
33+
client := sharedClient.(tccommon.ProviderMeta).GetAPIV3Conn()
3434

35-
asService := svcas.NewAsService(client.GetAPIV3Conn())
35+
asService := svcas.NewAsService(client)
3636
scalingGroups, err := asService.DescribeAutoScalingGroupByFilter(ctx, "", "", "", nil)
3737
if err != nil {
3838
return fmt.Errorf("list scaling group error: %s", err.Error())
3939
}
4040

41+
// add scanning resources
42+
var resources, nonKeepResources []*tccommon.ResourceInstance
43+
for _, v := range scalingGroups {
44+
if !tccommon.CheckResourcePersist(*v.AutoScalingGroupName, *v.CreatedTime) {
45+
nonKeepResources = append(nonKeepResources, &tccommon.ResourceInstance{
46+
Id: *v.AutoScalingGroupId,
47+
Name: *v.AutoScalingGroupName,
48+
})
49+
}
50+
resources = append(resources, &tccommon.ResourceInstance{
51+
Id: *v.AutoScalingGroupId,
52+
Name: *v.AutoScalingGroupName,
53+
CreateTime: *v.CreatedTime,
54+
})
55+
}
56+
tccommon.ProcessScanCloudResources(client, resources, nonKeepResources, "CreateAutoScalingGroup")
57+
4158
for _, v := range scalingGroups {
4259
scalingGroupId := *v.AutoScalingGroupId
4360
scalingGroupName := *v.AutoScalingGroupName

tencentcloud/services/cam/resource_tc_cam_group_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,9 @@ func init() {
4545
})
4646
}
4747
resources = append(resources, &tccommon.ResourceInstance{
48-
Id: strconv.FormatUint(*v.GroupId, 10),
49-
Name: *v.GroupName,
50-
CreatTime: *v.CreateTime,
48+
Id: strconv.FormatUint(*v.GroupId, 10),
49+
Name: *v.GroupName,
50+
CreateTime: *v.CreateTime,
5151
})
5252
}
5353
tccommon.ProcessScanCloudResources(client, resources, nonKeepResources, "CreateGroup")

tencentcloud/services/cam/resource_tc_cam_role_test.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,24 @@ func init() {
3333
if err != nil {
3434
return err
3535
}
36+
37+
// add scanning resources
38+
var resources, nonKeepResources []*tccommon.ResourceInstance
39+
for _, v := range groups {
40+
if !tccommon.CheckResourcePersist(*v.RoleName, *v.AddTime) {
41+
nonKeepResources = append(nonKeepResources, &tccommon.ResourceInstance{
42+
Id: *v.RoleId,
43+
Name: *v.RoleName,
44+
})
45+
}
46+
resources = append(resources, &tccommon.ResourceInstance{
47+
Id: *v.RoleId,
48+
Name: *v.RoleName,
49+
CreateTime: *v.AddTime,
50+
})
51+
}
52+
tccommon.ProcessScanCloudResources(client, resources, nonKeepResources, "CreateRole")
53+
3654
for _, v := range groups {
3755
name := *v.RoleName
3856

tencentcloud/services/cam/resource_tc_cam_user_test.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"fmt"
66
"log"
7+
"strconv"
78
"strings"
89
"testing"
910

@@ -36,6 +37,23 @@ func init() {
3637
return err
3738
}
3839

40+
// add scanning resources
41+
var resources, nonKeepResources []*tccommon.ResourceInstance
42+
for _, v := range users {
43+
if !tccommon.CheckResourcePersist(*v.Name, *v.CreateTime) {
44+
nonKeepResources = append(nonKeepResources, &tccommon.ResourceInstance{
45+
Id: strconv.FormatUint(*v.Uin, 10),
46+
Name: *v.Name,
47+
})
48+
}
49+
resources = append(resources, &tccommon.ResourceInstance{
50+
Id: strconv.FormatUint(*v.Uin, 10),
51+
Name: *v.Name,
52+
CreateTime: *v.CreateTime,
53+
})
54+
}
55+
tccommon.ProcessScanCloudResources(client, resources, nonKeepResources, "AddUser")
56+
3957
for _, v := range users {
4058
if tcacctest.PersistResource.MatchString(*v.Name) {
4159
continue

tencentcloud/services/cbs/resource_tc_cbs_storage_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,9 @@ func init() {
4141
})
4242
}
4343
resources = append(resources, &tccommon.ResourceInstance{
44-
Id: *v.DiskId,
45-
Name: *v.DiskName,
46-
CreatTime: *v.CreateTime,
44+
Id: *v.DiskId,
45+
Name: *v.DiskName,
46+
CreateTime: *v.CreateTime,
4747
})
4848
}
4949
tccommon.ProcessScanCloudResources(client, resources, nonKeepResources, "CreateDisks")

tencentcloud/services/ccn/resource_tc_ccn_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,9 @@ func testSweepCcnInstance(region string) error {
5151
})
5252
}
5353
resources = append(resources, &tccommon.ResourceInstance{
54-
Id: v.CcnId(),
55-
Name: v.Name(),
56-
CreatTime: v.CreateTime(),
54+
Id: v.CcnId(),
55+
Name: v.Name(),
56+
CreateTime: v.CreateTime(),
5757
})
5858
}
5959
tccommon.ProcessScanCloudResources(client, resources, nonKeepResources, "CreateCcn")

tencentcloud/services/cdb/resource_tc_mysql_instance_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,9 @@ func testSweepMySQLInstance(region string) error {
6363
})
6464
}
6565
resources = append(resources, &tccommon.ResourceInstance{
66-
Id: *v.InstanceId,
67-
Name: *v.InstanceName,
68-
CreatTime: *v.CreateTime,
66+
Id: *v.InstanceId,
67+
Name: *v.InstanceName,
68+
CreateTime: *v.CreateTime,
6969
})
7070
}
7171
tccommon.ProcessScanCloudResources(client, resources, nonKeepResources, "CreateDBInstance")

tencentcloud/services/cfs/resource_tc_cfs_access_group_test.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,23 @@ func init() {
3333
return err
3434
}
3535

36+
// add scanning resources
37+
var resources, nonKeepResources []*tccommon.ResourceInstance
38+
for _, v := range groups {
39+
if !tccommon.CheckResourcePersist(*v.Name, *v.CDate) {
40+
nonKeepResources = append(nonKeepResources, &tccommon.ResourceInstance{
41+
Id: *v.PGroupId,
42+
Name: *v.Name,
43+
})
44+
}
45+
resources = append(resources, &tccommon.ResourceInstance{
46+
Id: *v.PGroupId,
47+
Name: *v.Name,
48+
CreateTime: *v.CDate,
49+
})
50+
}
51+
tccommon.ProcessScanCloudResources(client, resources, nonKeepResources, "CreateCfsPGroup")
52+
3653
for i := range groups {
3754
id := *groups[i].PGroupId
3855
name := *groups[i].Name

tencentcloud/services/cfs/resource_tc_cfs_file_system_test.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,24 @@ func init() {
3131
if err != nil {
3232
return err
3333
}
34+
35+
// add scanning resources
36+
var resources, nonKeepResources []*tccommon.ResourceInstance
37+
for _, v := range fsList {
38+
if !tccommon.CheckResourcePersist(*v.FileSystemId, *v.CreationTime) {
39+
nonKeepResources = append(nonKeepResources, &tccommon.ResourceInstance{
40+
Id: *v.FileSystemId,
41+
Name: *v.FsName,
42+
})
43+
}
44+
resources = append(resources, &tccommon.ResourceInstance{
45+
Id: *v.FileSystemId,
46+
Name: *v.FsName,
47+
CreateTime: *v.CreationTime,
48+
})
49+
}
50+
tccommon.ProcessScanCloudResources(client, resources, nonKeepResources, "CreateCfsFileSystem")
51+
3452
for i := range fsList {
3553
item := fsList[i]
3654
id := *item.FileSystemId

tencentcloud/services/clb/resource_tc_clb_instance_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,9 @@ func testSweepClbInstance(region string) error {
5757
})
5858
}
5959
resources = append(resources, &tccommon.ResourceInstance{
60-
Id: *v.LoadBalancerId,
61-
Name: *v.LoadBalancerName,
62-
CreatTime: *v.CreateTime,
60+
Id: *v.LoadBalancerId,
61+
Name: *v.LoadBalancerName,
62+
CreateTime: *v.CreateTime,
6363
})
6464
}
6565
tccommon.ProcessScanCloudResources(client, resources, nonKeepResources, "CreateLoadBalancer")

tencentcloud/services/clb/resource_tc_clb_target_group_test.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,23 @@ func init() {
3131
return err
3232
}
3333

34+
// add scanning resources
35+
var resources, nonKeepResources []*tccommon.ResourceInstance
36+
for _, v := range tgs {
37+
if !tccommon.CheckResourcePersist(*v.TargetGroupName, *v.CreatedTime) {
38+
nonKeepResources = append(nonKeepResources, &tccommon.ResourceInstance{
39+
Id: *v.TargetGroupId,
40+
Name: *v.TargetGroupName,
41+
})
42+
}
43+
resources = append(resources, &tccommon.ResourceInstance{
44+
Id: *v.TargetGroupId,
45+
Name: *v.TargetGroupName,
46+
CreateTime: *v.CreatedTime,
47+
})
48+
}
49+
tccommon.ProcessScanCloudResources(client, resources, nonKeepResources, "CreateTargetGroup")
50+
3451
for i := range tgs {
3552
tg := tgs[i]
3653
created := tccommon.ParseTimeFromCommonLayout(tg.CreatedTime)

tencentcloud/services/cls/resource_tc_cls_logset_test.go

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,32 @@ func testSweepClsLogset(region string) error {
3131
if err != nil {
3232
return fmt.Errorf("getting tencentcloud client error: %s", err.Error())
3333
}
34-
client := sharedClient.(tccommon.ProviderMeta)
34+
client := sharedClient.(tccommon.ProviderMeta).GetAPIV3Conn()
3535

36-
clsService := localcls.NewClsService(client.GetAPIV3Conn())
36+
clsService := localcls.NewClsService(client)
3737

3838
instances, err := clsService.DescribeClsLogsetByFilter(ctx, nil)
3939
if err != nil {
4040
return fmt.Errorf("get instance list error: %s", err.Error())
4141
}
4242

43+
// add scanning resources
44+
var resources, nonKeepResources []*tccommon.ResourceInstance
45+
for _, v := range instances {
46+
if !tccommon.CheckResourcePersist(*v.LogsetName, *v.CreateTime) {
47+
nonKeepResources = append(nonKeepResources, &tccommon.ResourceInstance{
48+
Id: *v.LogsetId,
49+
Name: *v.LogsetName,
50+
})
51+
}
52+
resources = append(resources, &tccommon.ResourceInstance{
53+
Id: *v.LogsetId,
54+
Name: *v.LogsetName,
55+
CreateTime: *v.CreateTime,
56+
})
57+
}
58+
tccommon.ProcessScanCloudResources(client, resources, nonKeepResources, "CreateLogset")
59+
4360
for _, v := range instances {
4461
instanceId := v.LogsetId
4562
instanceName := v.LogsetName

0 commit comments

Comments
 (0)