diff --git a/internal/domain/access.go b/internal/domain/access.go index 60dd2d3e..6ee3b052 100644 --- a/internal/domain/access.go +++ b/internal/domain/access.go @@ -103,7 +103,7 @@ type AccessConfigForQiniu struct { type AccessConfigForSSH struct { Host string `json:"host"` - Port int `json:"port"` + Port int32 `json:"port"` Username string `json:"username"` Password string `json:"password"` Key string `json:"key"` diff --git a/internal/pkg/core/deployer/providers/huaweicloud-cdn/huaweicloud_cdn.go b/internal/pkg/core/deployer/providers/huaweicloud-cdn/huaweicloud_cdn.go index 2879168b..1b2de807 100644 --- a/internal/pkg/core/deployer/providers/huaweicloud-cdn/huaweicloud_cdn.go +++ b/internal/pkg/core/deployer/providers/huaweicloud-cdn/huaweicloud_cdn.go @@ -14,8 +14,8 @@ import ( "github.com/usual2970/certimate/internal/pkg/core/logger" "github.com/usual2970/certimate/internal/pkg/core/uploader" providerScm "github.com/usual2970/certimate/internal/pkg/core/uploader/providers/huaweicloud-scm" - "github.com/usual2970/certimate/internal/pkg/utils/cast" - hcCdnSdk "github.com/usual2970/certimate/internal/pkg/vendors/huaweicloud-sdk/cdn" + hwsdk "github.com/usual2970/certimate/internal/pkg/vendors/huaweicloud-sdk" + hwsdkCdn "github.com/usual2970/certimate/internal/pkg/vendors/huaweicloud-sdk/cdn" ) type HuaweiCloudCDNDeployerConfig struct { @@ -32,7 +32,7 @@ type HuaweiCloudCDNDeployerConfig struct { type HuaweiCloudCDNDeployer struct { config *HuaweiCloudCDNDeployerConfig logger logger.Logger - sdkClient *hcCdnSdk.Client + sdkClient *hwsdkCdn.Client sslUploader uploader.Uploader } @@ -100,15 +100,15 @@ func (d *HuaweiCloudCDNDeployer) Deploy(ctx context.Context, certPem string, pri // 更新加速域名配置 // REF: https://support.huaweicloud.com/api-cdn/UpdateDomainMultiCertificates.html // REF: https://support.huaweicloud.com/usermanual-cdn/cdn_01_0306.html - updateDomainMultiCertificatesReqBodyContent := &hcCdnSdk.UpdateDomainMultiCertificatesExRequestBodyContent{} + updateDomainMultiCertificatesReqBodyContent := &hwsdkCdn.UpdateDomainMultiCertificatesExRequestBodyContent{} updateDomainMultiCertificatesReqBodyContent.DomainName = d.config.Domain updateDomainMultiCertificatesReqBodyContent.HttpsSwitch = 1 - updateDomainMultiCertificatesReqBodyContent.CertificateType = cast.Int32Ptr(2) - updateDomainMultiCertificatesReqBodyContent.SCMCertificateId = cast.StringPtr(upres.CertId) - updateDomainMultiCertificatesReqBodyContent.CertName = cast.StringPtr(upres.CertName) + updateDomainMultiCertificatesReqBodyContent.CertificateType = hwsdk.Int32Ptr(2) + updateDomainMultiCertificatesReqBodyContent.SCMCertificateId = hwsdk.StringPtr(upres.CertId) + updateDomainMultiCertificatesReqBodyContent.CertName = hwsdk.StringPtr(upres.CertName) updateDomainMultiCertificatesReqBodyContent = updateDomainMultiCertificatesReqBodyContent.MergeConfig(showDomainFullConfigResp.Configs) - updateDomainMultiCertificatesReq := &hcCdnSdk.UpdateDomainMultiCertificatesExRequest{ - Body: &hcCdnSdk.UpdateDomainMultiCertificatesExRequestBody{ + updateDomainMultiCertificatesReq := &hwsdkCdn.UpdateDomainMultiCertificatesExRequest{ + Body: &hwsdkCdn.UpdateDomainMultiCertificatesExRequestBody{ Https: updateDomainMultiCertificatesReqBodyContent, }, } @@ -122,7 +122,7 @@ func (d *HuaweiCloudCDNDeployer) Deploy(ctx context.Context, certPem string, pri return &deployer.DeployResult{}, nil } -func createSdkClient(accessKeyId, secretAccessKey, region string) (*hcCdnSdk.Client, error) { +func createSdkClient(accessKeyId, secretAccessKey, region string) (*hwsdkCdn.Client, error) { if region == "" { region = "cn-north-1" // CDN 服务默认区域:华北一北京 } @@ -148,6 +148,6 @@ func createSdkClient(accessKeyId, secretAccessKey, region string) (*hcCdnSdk.Cli return nil, err } - client := hcCdnSdk.NewClient(hcClient) + client := hwsdkCdn.NewClient(hcClient) return client, nil } diff --git a/internal/pkg/core/deployer/providers/huaweicloud-elb/huaweicloud_elb.go b/internal/pkg/core/deployer/providers/huaweicloud-elb/huaweicloud_elb.go index 010bdd2b..5a12e101 100644 --- a/internal/pkg/core/deployer/providers/huaweicloud-elb/huaweicloud_elb.go +++ b/internal/pkg/core/deployer/providers/huaweicloud-elb/huaweicloud_elb.go @@ -20,7 +20,7 @@ import ( "github.com/usual2970/certimate/internal/pkg/core/logger" "github.com/usual2970/certimate/internal/pkg/core/uploader" providerElb "github.com/usual2970/certimate/internal/pkg/core/uploader/providers/huaweicloud-elb" - "github.com/usual2970/certimate/internal/pkg/utils/cast" + hwsdk "github.com/usual2970/certimate/internal/pkg/vendors/huaweicloud-sdk" ) type HuaweiCloudELBDeployerConfig struct { @@ -131,8 +131,8 @@ func (d *HuaweiCloudELBDeployer) deployToCertificate(ctx context.Context, certPe CertificateId: d.config.CertificateId, Body: &hcElbModel.UpdateCertificateRequestBody{ Certificate: &hcElbModel.UpdateCertificateOption{ - Certificate: cast.StringPtr(certPem), - PrivateKey: cast.StringPtr(privkeyPem), + Certificate: hwsdk.StringPtr(certPem), + PrivateKey: hwsdk.StringPtr(privkeyPem), }, }, } @@ -151,8 +151,6 @@ func (d *HuaweiCloudELBDeployer) deployToLoadbalancer(ctx context.Context, certP return errors.New("config `loadbalancerId` is required") } - listenerIds := make([]string, 0) - // 查询负载均衡器详情 // REF: https://support.huaweicloud.com/api-elb/ShowLoadBalancer.html showLoadBalancerReq := &hcElbModel.ShowLoadBalancerRequest{ @@ -167,11 +165,12 @@ func (d *HuaweiCloudELBDeployer) deployToLoadbalancer(ctx context.Context, certP // 查询监听器列表 // REF: https://support.huaweicloud.com/api-elb/ListListeners.html + listenerIds := make([]string, 0) listListenersLimit := int32(2000) var listListenersMarker *string = nil for { listListenersReq := &hcElbModel.ListListenersRequest{ - Limit: cast.Int32Ptr(listListenersLimit), + Limit: hwsdk.Int32Ptr(listListenersLimit), Marker: listListenersMarker, Protocol: &[]string{"HTTPS", "TERMINATED_HTTPS"}, LoadbalancerId: &[]string{showLoadBalancerResp.Loadbalancer.Id}, @@ -204,15 +203,21 @@ func (d *HuaweiCloudELBDeployer) deployToLoadbalancer(ctx context.Context, certP d.logger.Logt("certificate file uploaded", upres) - // 批量更新监听器证书 - var errs []error - for _, listenerId := range listenerIds { - if err := d.modifyListenerCertificate(ctx, listenerId, upres.CertId); err != nil { - errs = append(errs, err) + // 遍历更新监听器证书 + if len(listenerIds) == 0 { + return xerrors.New("listener not found") + } else { + var errs []error + + for _, listenerId := range listenerIds { + if err := d.modifyListenerCertificate(ctx, listenerId, upres.CertId); err != nil { + errs = append(errs, err) + } + } + + if len(errs) > 0 { + return errors.Join(errs...) } - } - if len(errs) > 0 { - return errors.Join(errs...) } return nil @@ -258,7 +263,7 @@ func (d *HuaweiCloudELBDeployer) modifyListenerCertificate(ctx context.Context, ListenerId: cloudListenerId, Body: &hcElbModel.UpdateListenerRequestBody{ Listener: &hcElbModel.UpdateListenerOption{ - DefaultTlsContainerRef: cast.StringPtr(cloudCertId), + DefaultTlsContainerRef: hwsdk.StringPtr(cloudCertId), }, }, } @@ -305,7 +310,7 @@ func (d *HuaweiCloudELBDeployer) modifyListenerCertificate(ctx context.Context, } if showListenerResp.Listener.SniMatchAlgo != "" { - updateListenerReq.Body.Listener.SniMatchAlgo = cast.StringPtr(showListenerResp.Listener.SniMatchAlgo) + updateListenerReq.Body.Listener.SniMatchAlgo = hwsdk.StringPtr(showListenerResp.Listener.SniMatchAlgo) } } updateListenerResp, err := d.sdkClient.UpdateListener(updateListenerReq) @@ -319,10 +324,6 @@ func (d *HuaweiCloudELBDeployer) modifyListenerCertificate(ctx context.Context, } func createSdkClient(accessKeyId, secretAccessKey, region string) (*hcElb.ElbClient, error) { - if region == "" { - region = "cn-north-4" // ELB 服务默认区域:华北四北京 - } - projectId, err := getSdkProjectId(accessKeyId, secretAccessKey, region) if err != nil { return nil, err diff --git a/internal/pkg/core/deployer/providers/tencentcloud-cdn/tencentcloud_cdn.go b/internal/pkg/core/deployer/providers/tencentcloud-cdn/tencentcloud_cdn.go index 7aee8434..a4a05a1b 100644 --- a/internal/pkg/core/deployer/providers/tencentcloud-cdn/tencentcloud_cdn.go +++ b/internal/pkg/core/deployer/providers/tencentcloud-cdn/tencentcloud_cdn.go @@ -30,13 +30,13 @@ type TencentCloudCDNDeployerConfig struct { type TencentCloudCDNDeployer struct { config *TencentCloudCDNDeployerConfig logger logger.Logger - sdkClients *tencentCloudCDNDeployerSdkClients + sdkClients *wSdkClients sslUploader uploader.Uploader } var _ deployer.Deployer = (*TencentCloudCDNDeployer)(nil) -type tencentCloudCDNDeployerSdkClients struct { +type wSdkClients struct { ssl *tcSsl.Client cdn *tcCdn.Client } @@ -179,7 +179,7 @@ func (d *TencentCloudCDNDeployer) getDeployedDomainsByCertificateId(cloudCertId return domains, nil } -func createSdkClients(secretId, secretKey string) (*tencentCloudCDNDeployerSdkClients, error) { +func createSdkClients(secretId, secretKey string) (*wSdkClients, error) { credential := common.NewCredential(secretId, secretKey) sslClient, err := tcSsl.NewClient(credential, "", profile.NewClientProfile()) @@ -192,7 +192,7 @@ func createSdkClients(secretId, secretKey string) (*tencentCloudCDNDeployerSdkCl return nil, err } - return &tencentCloudCDNDeployerSdkClients{ + return &wSdkClients{ ssl: sslClient, cdn: cdnClient, }, nil diff --git a/internal/pkg/core/deployer/providers/tencentcloud-clb/tencentcloud_clb.go b/internal/pkg/core/deployer/providers/tencentcloud-clb/tencentcloud_clb.go index ed00e1c9..17958eac 100644 --- a/internal/pkg/core/deployer/providers/tencentcloud-clb/tencentcloud_clb.go +++ b/internal/pkg/core/deployer/providers/tencentcloud-clb/tencentcloud_clb.go @@ -138,10 +138,10 @@ func (d *TencentCloudCLBDeployer) deployToInstanceUseSsl(ctx context.Context, cl deployCertificateInstanceReq.ResourceType = common.StringPtr("clb") deployCertificateInstanceReq.Status = common.Int64Ptr(1) if d.config.Domain == "" { - // 未开启 SNI,只需指定到监听器 + // 未指定 SNI,只需部署到监听器 deployCertificateInstanceReq.InstanceIdList = common.StringPtrs([]string{fmt.Sprintf("%s|%s", d.config.LoadbalancerId, d.config.ListenerId)}) } else { - // 开启 SNI,需指定到域名(支持泛域名) + // 指定 SNI,需部署到域名(支持泛域名) deployCertificateInstanceReq.InstanceIdList = common.StringPtrs([]string{fmt.Sprintf("%s|%s|%s", d.config.LoadbalancerId, d.config.ListenerId, d.config.Domain)}) } deployCertificateInstanceResp, err := d.sdkClients.ssl.DeployCertificateInstance(deployCertificateInstanceReq) @@ -159,10 +159,9 @@ func (d *TencentCloudCLBDeployer) deployToLoadbalancer(ctx context.Context, clou return errors.New("config `loadbalancerId` is required") } - listenerIds := make([]string, 0) - // 查询监听器列表 // REF: https://cloud.tencent.com/document/api/214/30686 + listenerIds := make([]string, 0) describeListenersReq := tcClb.NewDescribeListenersRequest() describeListenersReq.LoadBalancerId = common.StringPtr(d.config.LoadbalancerId) describeListenersResp, err := d.sdkClients.clb.DescribeListeners(describeListenersReq) @@ -182,8 +181,10 @@ func (d *TencentCloudCLBDeployer) deployToLoadbalancer(ctx context.Context, clou d.logger.Logt("已查询到负载均衡器下的监听器", listenerIds) - // 批量更新监听器证书 - if len(listenerIds) > 0 { + // 遍历更新监听器证书 + if len(listenerIds) == 0 { + return xerrors.New("listener not found") + } else { var errs []error for _, listenerId := range listenerIds { diff --git a/internal/pkg/core/deployer/providers/volcengine-dcdn/volcengine_dcdn.go b/internal/pkg/core/deployer/providers/volcengine-dcdn/volcengine_dcdn.go index d53760a1..e89ce05d 100644 --- a/internal/pkg/core/deployer/providers/volcengine-dcdn/volcengine_dcdn.go +++ b/internal/pkg/core/deployer/providers/volcengine-dcdn/volcengine_dcdn.go @@ -102,7 +102,7 @@ func (d *VolcEngineDCDNDeployer) Deploy(ctx context.Context, certPem string, pri func createSdkClient(accessKeyId, accessKeySecret, region string) (*veDcdn.DCDN, error) { if region == "" { - region = "cn-beijing" // 证书中心默认区域:北京 + region = "cn-beijing" // DCDN 服务默认区域:北京 } config := ve.NewConfig().WithRegion(region).WithAkSk(accessKeyId, accessKeySecret) diff --git a/internal/pkg/core/deployer/providers/volcengine-live/volcengine_live.go b/internal/pkg/core/deployer/providers/volcengine-live/volcengine_live.go index b90ac6c0..b904987c 100644 --- a/internal/pkg/core/deployer/providers/volcengine-live/volcengine_live.go +++ b/internal/pkg/core/deployer/providers/volcengine-live/volcengine_live.go @@ -8,12 +8,12 @@ import ( xerrors "github.com/pkg/errors" veLive "github.com/volcengine/volc-sdk-golang/service/live/v20230101" + ve "github.com/volcengine/volcengine-go-sdk/volcengine" "github.com/usual2970/certimate/internal/pkg/core/deployer" "github.com/usual2970/certimate/internal/pkg/core/logger" "github.com/usual2970/certimate/internal/pkg/core/uploader" providerLive "github.com/usual2970/certimate/internal/pkg/core/uploader/providers/volcengine-live" - "github.com/usual2970/certimate/internal/pkg/utils/cast" ) type VolcEngineLiveDeployerConfig struct { @@ -128,7 +128,7 @@ func (d *VolcEngineLiveDeployer) Deploy(ctx context.Context, certPem string, pri bindCertReq := &veLive.BindCertBody{ ChainID: upres.CertId, Domain: domain, - HTTPS: cast.BoolPtr(true), + HTTPS: ve.Bool(true), } bindCertResp, err := d.sdkClient.BindCert(ctx, bindCertReq) if err != nil { diff --git a/internal/pkg/core/uploader/providers/aliyun-cas/aliyun_cas.go b/internal/pkg/core/uploader/providers/aliyun-cas/aliyun_cas.go index 27633ca0..7649f618 100644 --- a/internal/pkg/core/uploader/providers/aliyun-cas/aliyun_cas.go +++ b/internal/pkg/core/uploader/providers/aliyun-cas/aliyun_cas.go @@ -113,9 +113,6 @@ func (u *AliyunCASUploader) Upload(ctx context.Context, certPem string, privkeyP break } else { listUserCertificateOrderPage += 1 - if listUserCertificateOrderPage > 99 { // 避免死循环 - break - } } } diff --git a/internal/pkg/core/uploader/providers/aliyun-slb/aliyun_slb.go b/internal/pkg/core/uploader/providers/aliyun-slb/aliyun_slb.go index f5939354..2df26ebc 100644 --- a/internal/pkg/core/uploader/providers/aliyun-slb/aliyun_slb.go +++ b/internal/pkg/core/uploader/providers/aliyun-slb/aliyun_slb.go @@ -120,10 +120,6 @@ func (u *AliyunSLBUploader) Upload(ctx context.Context, certPem string, privkeyP } func createSdkClient(accessKeyId, accessKeySecret, region string) (*aliyunSlb.Client, error) { - if region == "" { - region = "cn-hangzhou" // SLB 服务默认区域:华东一杭州 - } - // 接入点一览 https://help.aliyun.com/zh/slb/classic-load-balancer/developer-reference/api-slb-2014-05-15-endpoint var endpoint string switch region { diff --git a/internal/pkg/core/uploader/providers/byteplus-cdn/byteplus_cdn.go b/internal/pkg/core/uploader/providers/byteplus-cdn/byteplus_cdn.go index 471debdd..e564bba1 100644 --- a/internal/pkg/core/uploader/providers/byteplus-cdn/byteplus_cdn.go +++ b/internal/pkg/core/uploader/providers/byteplus-cdn/byteplus_cdn.go @@ -14,7 +14,6 @@ import ( xerrors "github.com/pkg/errors" "github.com/usual2970/certimate/internal/pkg/core/uploader" - "github.com/usual2970/certimate/internal/pkg/utils/cast" "github.com/usual2970/certimate/internal/pkg/utils/x509" ) @@ -60,9 +59,9 @@ func (u *ByteplusCDNUploader) Upload(ctx context.Context, certPem string, privke listCertInfoPageSize := int64(100) listCertInfoTotal := 0 listCertInfoReq := &bpCdn.ListCertInfoRequest{ - PageNum: cast.Int64Ptr(listCertInfoPageNum), - PageSize: cast.Int64Ptr(listCertInfoPageSize), - Source: cast.StringPtr("cert_center"), + PageNum: bpCdn.GetInt64Ptr(listCertInfoPageNum), + PageSize: bpCdn.GetInt64Ptr(listCertInfoPageSize), + Source: bpCdn.GetStrPtr("cert_center"), } for { listCertInfoResp, err := u.sdkClient.ListCertInfo(listCertInfoReq) @@ -104,8 +103,8 @@ func (u *ByteplusCDNUploader) Upload(ctx context.Context, certPem string, privke addCertificateReq := &bpCdn.AddCertificateRequest{ Certificate: certPem, PrivateKey: privkeyPem, - Source: cast.StringPtr("cert_center"), - Desc: cast.StringPtr(certName), + Source: bpCdn.GetStrPtr("cert_center"), + Desc: bpCdn.GetStrPtr(certName), } addCertificateResp, err := u.sdkClient.AddCertificate(addCertificateReq) if err != nil { diff --git a/internal/pkg/core/uploader/providers/huaweicloud-elb/huaweicloud_elb.go b/internal/pkg/core/uploader/providers/huaweicloud-elb/huaweicloud_elb.go index 6cc667a4..83ccc0b7 100644 --- a/internal/pkg/core/uploader/providers/huaweicloud-elb/huaweicloud_elb.go +++ b/internal/pkg/core/uploader/providers/huaweicloud-elb/huaweicloud_elb.go @@ -17,8 +17,8 @@ import ( xerrors "github.com/pkg/errors" "github.com/usual2970/certimate/internal/pkg/core/uploader" - "github.com/usual2970/certimate/internal/pkg/utils/cast" "github.com/usual2970/certimate/internal/pkg/utils/x509" + hwsdk "github.com/usual2970/certimate/internal/pkg/vendors/huaweicloud-sdk" ) type HuaweiCloudELBUploaderConfig struct { @@ -66,12 +66,11 @@ func (u *HuaweiCloudELBUploader) Upload(ctx context.Context, certPem string, pri // 遍历查询已有证书,避免重复上传 // REF: https://support.huaweicloud.com/api-elb/ListCertificates.html - listCertificatesPage := 1 listCertificatesLimit := int32(2000) var listCertificatesMarker *string = nil for { listCertificatesReq := &hcElbModel.ListCertificatesRequest{ - Limit: cast.Int32Ptr(listCertificatesLimit), + Limit: hwsdk.Int32Ptr(listCertificatesLimit), Marker: listCertificatesMarker, Type: &[]string{"server"}, } @@ -108,10 +107,6 @@ func (u *HuaweiCloudELBUploader) Upload(ctx context.Context, certPem string, pri break } else { listCertificatesMarker = listCertificatesResp.PageInfo.NextMarker - listCertificatesPage++ - if listCertificatesPage >= 9 { // 避免死循环 - break - } } } @@ -131,10 +126,10 @@ func (u *HuaweiCloudELBUploader) Upload(ctx context.Context, certPem string, pri createCertificateReq := &hcElbModel.CreateCertificateRequest{ Body: &hcElbModel.CreateCertificateRequestBody{ Certificate: &hcElbModel.CreateCertificateOption{ - ProjectId: cast.StringPtr(projectId), - Name: cast.StringPtr(certName), - Certificate: cast.StringPtr(certPem), - PrivateKey: cast.StringPtr(privkeyPem), + ProjectId: hwsdk.StringPtr(projectId), + Name: hwsdk.StringPtr(certName), + Certificate: hwsdk.StringPtr(certPem), + PrivateKey: hwsdk.StringPtr(privkeyPem), }, }, } diff --git a/internal/pkg/core/uploader/providers/huaweicloud-scm/huaweicloud_scm.go b/internal/pkg/core/uploader/providers/huaweicloud-scm/huaweicloud_scm.go index 5662f9b1..0c6721a1 100644 --- a/internal/pkg/core/uploader/providers/huaweicloud-scm/huaweicloud_scm.go +++ b/internal/pkg/core/uploader/providers/huaweicloud-scm/huaweicloud_scm.go @@ -13,8 +13,8 @@ import ( xerrors "github.com/pkg/errors" "github.com/usual2970/certimate/internal/pkg/core/uploader" - "github.com/usual2970/certimate/internal/pkg/utils/cast" "github.com/usual2970/certimate/internal/pkg/utils/x509" + hwsdk "github.com/usual2970/certimate/internal/pkg/vendors/huaweicloud-sdk" ) type HuaweiCloudSCMUploaderConfig struct { @@ -63,15 +63,14 @@ func (u *HuaweiCloudSCMUploader) Upload(ctx context.Context, certPem string, pri // 遍历查询已有证书,避免重复上传 // REF: https://support.huaweicloud.com/api-ccm/ListCertificates.html // REF: https://support.huaweicloud.com/api-ccm/ExportCertificate_0.html - listCertificatesPage := 1 listCertificatesLimit := int32(50) listCertificatesOffset := int32(0) for { listCertificatesReq := &hcScmModel.ListCertificatesRequest{ - Limit: cast.Int32Ptr(listCertificatesLimit), - Offset: cast.Int32Ptr(listCertificatesOffset), - SortDir: cast.StringPtr("DESC"), - SortKey: cast.StringPtr("certExpiredTime"), + Limit: hwsdk.Int32Ptr(listCertificatesLimit), + Offset: hwsdk.Int32Ptr(listCertificatesOffset), + SortDir: hwsdk.StringPtr("DESC"), + SortKey: hwsdk.StringPtr("certExpiredTime"), } listCertificatesResp, err := u.sdkClient.ListCertificates(listCertificatesReq) if err != nil { @@ -117,10 +116,6 @@ func (u *HuaweiCloudSCMUploader) Upload(ctx context.Context, certPem string, pri break } else { listCertificatesOffset += listCertificatesLimit - listCertificatesPage += 1 - if listCertificatesPage > 99 { // 避免死循环 - break - } } } diff --git a/internal/pkg/core/uploader/providers/volcengine-cdn/volcengine_cdn.go b/internal/pkg/core/uploader/providers/volcengine-cdn/volcengine_cdn.go index 3da0d732..7a766895 100644 --- a/internal/pkg/core/uploader/providers/volcengine-cdn/volcengine_cdn.go +++ b/internal/pkg/core/uploader/providers/volcengine-cdn/volcengine_cdn.go @@ -12,9 +12,9 @@ import ( xerrors "github.com/pkg/errors" veCdn "github.com/volcengine/volc-sdk-golang/service/cdn" + ve "github.com/volcengine/volcengine-go-sdk/volcengine" "github.com/usual2970/certimate/internal/pkg/core/uploader" - "github.com/usual2970/certimate/internal/pkg/utils/cast" "github.com/usual2970/certimate/internal/pkg/utils/x509" ) @@ -60,8 +60,8 @@ func (u *VolcEngineCDNUploader) Upload(ctx context.Context, certPem string, priv listCertInfoPageSize := int64(100) listCertInfoTotal := 0 listCertInfoReq := &veCdn.ListCertInfoRequest{ - PageNum: cast.Int64Ptr(listCertInfoPageNum), - PageSize: cast.Int64Ptr(listCertInfoPageSize), + PageNum: ve.Int64(listCertInfoPageNum), + PageSize: ve.Int64(listCertInfoPageSize), Source: "volc_cert_center", } for { @@ -104,8 +104,8 @@ func (u *VolcEngineCDNUploader) Upload(ctx context.Context, certPem string, priv addCertificateReq := &veCdn.AddCertificateRequest{ Certificate: certPem, PrivateKey: privkeyPem, - Source: cast.StringPtr("volc_cert_center"), - Desc: cast.StringPtr(certName), + Source: ve.String("volc_cert_center"), + Desc: ve.String(certName), } addCertificateResp, err := u.sdkClient.AddCertificate(addCertificateReq) if err != nil { diff --git a/internal/pkg/core/uploader/providers/volcengine-live/volcengine_live.go b/internal/pkg/core/uploader/providers/volcengine-live/volcengine_live.go index bad76a67..b71c5d9d 100644 --- a/internal/pkg/core/uploader/providers/volcengine-live/volcengine_live.go +++ b/internal/pkg/core/uploader/providers/volcengine-live/volcengine_live.go @@ -9,9 +9,9 @@ import ( xerrors "github.com/pkg/errors" veLive "github.com/volcengine/volc-sdk-golang/service/live/v20230101" + ve "github.com/volcengine/volcengine-go-sdk/volcengine" "github.com/usual2970/certimate/internal/pkg/core/uploader" - "github.com/usual2970/certimate/internal/pkg/utils/cast" "github.com/usual2970/certimate/internal/pkg/utils/x509" ) @@ -63,7 +63,7 @@ func (u *VolcEngineLiveUploader) Upload(ctx context.Context, certPem string, pri // 查询证书详细信息 // REF: https://www.volcengine.com/docs/6469/1186278#%E6%9F%A5%E7%9C%8B%E8%AF%81%E4%B9%A6%E8%AF%A6%E6%83%85 describeCertDetailSecretReq := &veLive.DescribeCertDetailSecretV2Body{ - ChainID: cast.StringPtr(certDetail.ChainID), + ChainID: ve.String(certDetail.ChainID), } describeCertDetailSecretResp, err := u.sdkClient.DescribeCertDetailSecretV2(ctx, describeCertDetailSecretReq) if err != nil { @@ -100,9 +100,9 @@ func (u *VolcEngineLiveUploader) Upload(ctx context.Context, certPem string, pri // 上传新证书 // REF: https://www.volcengine.com/docs/6469/1186278#%E6%B7%BB%E5%8A%A0%E8%AF%81%E4%B9%A6 createCertReq := &veLive.CreateCertBody{ - CertName: &certName, + CertName: ve.String(certName), UseWay: "https", - ProjectName: cast.StringPtr("default"), + ProjectName: ve.String("default"), Rsa: veLive.CreateCertBodyRsa{ Prikey: privkeyPem, Pubkey: certPem, diff --git a/internal/pkg/utils/cast/cast.go b/internal/pkg/utils/cast/cast.go deleted file mode 100644 index a83ad164..00000000 --- a/internal/pkg/utils/cast/cast.go +++ /dev/null @@ -1,25 +0,0 @@ -package cast - -func Int32Ptr(i int32) *int32 { - return &i -} - -func Int64Ptr(i int64) *int64 { - return &i -} - -func UInt32Ptr(i uint32) *uint32 { - return &i -} - -func UInt64Ptr(i uint64) *uint64 { - return &i -} - -func StringPtr(s string) *string { - return &s -} - -func BoolPtr(b bool) *bool { - return &b -} diff --git a/internal/pkg/vendors/huaweicloud-sdk/cast.go b/internal/pkg/vendors/huaweicloud-sdk/cast.go new file mode 100644 index 00000000..2abb9c87 --- /dev/null +++ b/internal/pkg/vendors/huaweicloud-sdk/cast.go @@ -0,0 +1,9 @@ +package huaweicloudsdk + +func Int32Ptr(i int32) *int32 { + return &i +} + +func StringPtr(s string) *string { + return &s +} diff --git a/internal/pkg/vendors/huaweicloud-sdk/cdn/models.go b/internal/pkg/vendors/huaweicloud-sdk/cdn/models.go index ff0def2a..5aa167f0 100644 --- a/internal/pkg/vendors/huaweicloud-sdk/cdn/models.go +++ b/internal/pkg/vendors/huaweicloud-sdk/cdn/models.go @@ -3,7 +3,7 @@ import ( hcCdnModel "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cdn/v2/model" - "github.com/usual2970/certimate/internal/pkg/utils/cast" + hwsdk "github.com/usual2970/certimate/internal/pkg/vendors/huaweicloud-sdk" ) type UpdateDomainMultiCertificatesExRequestBodyContent struct { @@ -34,11 +34,11 @@ func (m *UpdateDomainMultiCertificatesExRequestBodyContent) MergeConfig(src *hcC // 而且蛋疼的是查询接口返回的数据结构和更新接口传入的参数结构不一致,需要做很多转化。 if *src.OriginProtocol == "follow" { - m.AccessOriginWay = cast.Int32Ptr(1) + m.AccessOriginWay = hwsdk.Int32Ptr(1) } else if *src.OriginProtocol == "http" { - m.AccessOriginWay = cast.Int32Ptr(2) + m.AccessOriginWay = hwsdk.Int32Ptr(2) } else if *src.OriginProtocol == "https" { - m.AccessOriginWay = cast.Int32Ptr(3) + m.AccessOriginWay = hwsdk.Int32Ptr(3) } if src.ForceRedirect != nil { @@ -54,7 +54,7 @@ func (m *UpdateDomainMultiCertificatesExRequestBodyContent) MergeConfig(src *hcC if src.Https != nil { if *src.Https.Http2Status == "on" { - m.Http2 = cast.Int32Ptr(1) + m.Http2 = hwsdk.Int32Ptr(1) } }