From 38d975a3bbface9d2a30122f8ea5d96d467d15b7 Mon Sep 17 00:00:00 2001
From: yoan <536464346@qq.com>
Date: Sun, 22 Sep 2024 22:36:08 +0800
Subject: [PATCH] optimize tencent cdn deploy

---
 internal/deployer/tencent_cdn.go | 74 ++------------------------------
 1 file changed, 3 insertions(+), 71 deletions(-)

diff --git a/internal/deployer/tencent_cdn.go b/internal/deployer/tencent_cdn.go
index 8821fcd8..9c1ceeb0 100644
--- a/internal/deployer/tencent_cdn.go
+++ b/internal/deployer/tencent_cdn.go
@@ -5,14 +5,11 @@ import (
 	"certimate/internal/utils/rand"
 	"context"
 	"encoding/json"
-	"errors"
 	"fmt"
-	"strings"
 
 	"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common"
 	"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile"
 	ssl "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ssl/v20191205"
-	tag "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tag/v20180813"
 )
 
 type tencentCdn struct {
@@ -50,14 +47,6 @@ func (t *tencentCdn) GetInfo() []string {
 
 func (t *tencentCdn) Deploy(ctx context.Context) error {
 
-	// 查询有没有对应的资源
-	resource, err := t.resource()
-	if err != nil {
-		return fmt.Errorf("failed to get resource: %w", err)
-	}
-
-	t.infos = append(t.infos, toStr("查询对应的资源", resource))
-
 	// 上传证书
 	certId, err := t.uploadCert()
 	if err != nil {
@@ -65,7 +54,7 @@ func (t *tencentCdn) Deploy(ctx context.Context) error {
 	}
 	t.infos = append(t.infos, toStr("上传证书", certId))
 
-	if err := t.deploy(resource, certId); err != nil {
+	if err := t.deploy(certId); err != nil {
 		return fmt.Errorf("failed to deploy: %w", err)
 	}
 
@@ -94,22 +83,17 @@ func (t *tencentCdn) uploadCert() (string, error) {
 	return *response.Response.CertificateId, nil
 }
 
-func (t *tencentCdn) deploy(resource *tag.ResourceTagMapping, certId string) error {
+func (t *tencentCdn) deploy(certId string) error {
 	cpf := profile.NewClientProfile()
 	cpf.HttpProfile.Endpoint = "ssl.tencentcloudapi.com"
 	// 实例化要请求产品的client对象,clientProfile是可选的
 	client, _ := ssl.NewClient(t.credential, "", cpf)
 
-	resourceId, err := getResourceId(resource)
-	if err != nil {
-		return fmt.Errorf("failed to get resource id: %w", err)
-	}
-
 	// 实例化一个请求对象,每个接口都会对应一个request对象
 	request := ssl.NewDeployCertificateInstanceRequest()
 
 	request.CertificateId = common.StringPtr(certId)
-	request.InstanceIdList = common.StringPtrs([]string{resourceId})
+	request.InstanceIdList = common.StringPtrs([]string{t.option.Domain})
 	request.ResourceType = common.StringPtr("cdn")
 	request.Status = common.Int64Ptr(1)
 
@@ -122,55 +106,3 @@ func (t *tencentCdn) deploy(resource *tag.ResourceTagMapping, certId string) err
 	t.infos = append(t.infos, toStr("部署证书", resp.Response))
 	return nil
 }
-
-func (t *tencentCdn) resource() (*tag.ResourceTagMapping, error) {
-	request := tag.NewGetResourcesRequest()
-	cpf := profile.NewClientProfile()
-	cpf.HttpProfile.Endpoint = "tag.tencentcloudapi.com"
-
-	client, err := tag.NewClient(t.credential, "", cpf)
-	if err != nil {
-		return nil, fmt.Errorf("failed to create client: %w", err)
-	}
-
-	response, err := client.GetResources(request)
-	if err != nil {
-		return nil, fmt.Errorf("failed to get resources: %w", err)
-	}
-
-	for _, resource := range response.Response.ResourceTagMappingList {
-		if t.compare(resource) {
-			return resource, nil
-		}
-	}
-
-	return nil, errors.New("no resource found")
-
-}
-
-func (t *tencentCdn) compare(resource *tag.ResourceTagMapping) bool {
-	slices := strings.Split(*resource.Resource, "/")
-	if len(slices) != 3 {
-		return false
-	}
-
-	typeSlices := strings.Split(slices[0], "::")
-	if len(typeSlices) != 3 {
-		return false
-	}
-
-	if typeSlices[1] != "cdn" || slices[2] != t.option.Domain {
-		return false
-	}
-
-	return true
-
-}
-
-func getResourceId(resource *tag.ResourceTagMapping) (string, error) {
-	slices := strings.Split(*resource.Resource, "/")
-	if len(slices) != 3 {
-		return "", errors.New("invalid resource")
-	}
-	return slices[2], nil
-}