From 9625b8441ad9a81fa791fbfc6d9fc7b7e6eefcc2 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Tue, 11 Nov 2025 19:58:46 +0800 Subject: [PATCH] refactor: lightweight ucloud vendor packages --- .../providers/ucloud-ucdn/ucloud_ucdn.go | 8 ++--- .../ucloud/ucdn/api_get_ucdn_domain_config.go | 32 +++++++++++++++++++ .../api_update_ucdn_domain_https_config_v2.go | 32 +++++++++++++++++++ pkg/sdk3rd/ucloud/ucdn/client.go | 18 +++++++++++ pkg/sdk3rd/ucloud/ucdn/types.go | 7 ++++ .../ucloud/udnr/api_delete_domain_dns.go | 2 +- .../ucloud/udnr/api_query_domain_dns.go | 2 +- .../ucloud/ufile/api_add_ufile_ssl_cert.go | 2 +- .../ucloud/ussl/api_download_certificate.go | 2 +- .../ussl/api_get_certificate_detail_info.go | 2 +- .../ucloud/ussl/api_get_certificate_list.go | 2 +- 11 files changed, 99 insertions(+), 10 deletions(-) create mode 100644 pkg/sdk3rd/ucloud/ucdn/api_get_ucdn_domain_config.go create mode 100644 pkg/sdk3rd/ucloud/ucdn/api_update_ucdn_domain_https_config_v2.go create mode 100644 pkg/sdk3rd/ucloud/ucdn/client.go create mode 100644 pkg/sdk3rd/ucloud/ucdn/types.go diff --git a/pkg/core/ssl-deployer/providers/ucloud-ucdn/ucloud_ucdn.go b/pkg/core/ssl-deployer/providers/ucloud-ucdn/ucloud_ucdn.go index 94717d3c..822680ae 100644 --- a/pkg/core/ssl-deployer/providers/ucloud-ucdn/ucloud_ucdn.go +++ b/pkg/core/ssl-deployer/providers/ucloud-ucdn/ucloud_ucdn.go @@ -7,12 +7,12 @@ import ( "log/slog" "strconv" - "github.com/ucloud/ucloud-sdk-go/services/ucdn" "github.com/ucloud/ucloud-sdk-go/ucloud" "github.com/ucloud/ucloud-sdk-go/ucloud/auth" "github.com/certimate-go/certimate/pkg/core" sslmgrsp "github.com/certimate-go/certimate/pkg/core/ssl-manager/providers/ucloud-ussl" + usdkCdn "github.com/certimate-go/certimate/pkg/sdk3rd/ucloud/ucdn" ) type SSLDeployerProviderConfig struct { @@ -29,7 +29,7 @@ type SSLDeployerProviderConfig struct { type SSLDeployerProvider struct { config *SSLDeployerProviderConfig logger *slog.Logger - sdkClient *ucdn.UCDNClient + sdkClient *usdkCdn.UCDNClient sslManager core.SSLManager } @@ -123,13 +123,13 @@ func (d *SSLDeployerProvider) Deploy(ctx context.Context, certPEM string, privke return &core.SSLDeployResult{}, nil } -func createSDKClient(privateKey, publicKey string) (*ucdn.UCDNClient, error) { +func createSDKClient(privateKey, publicKey string) (*usdkCdn.UCDNClient, error) { cfg := ucloud.NewConfig() credential := auth.NewCredential() credential.PrivateKey = privateKey credential.PublicKey = publicKey - client := ucdn.NewClient(&cfg, &credential) + client := usdkCdn.NewClient(&cfg, &credential) return client, nil } diff --git a/pkg/sdk3rd/ucloud/ucdn/api_get_ucdn_domain_config.go b/pkg/sdk3rd/ucloud/ucdn/api_get_ucdn_domain_config.go new file mode 100644 index 00000000..802b2930 --- /dev/null +++ b/pkg/sdk3rd/ucloud/ucdn/api_get_ucdn_domain_config.go @@ -0,0 +1,32 @@ +package ucdn + +import ( + ucloudcdn "github.com/ucloud/ucloud-sdk-go/services/ucdn" +) + +type GetUcdnDomainConfigRequest = ucloudcdn.GetUcdnDomainConfigRequest + +type GetUcdnDomainConfigResponse = ucloudcdn.GetUcdnDomainConfigResponse + +func (c *UCDNClient) NewGetUcdnDomainConfigRequest() *GetUcdnDomainConfigRequest { + req := &GetUcdnDomainConfigRequest{} + + c.Client.SetupRequest(req) + + req.SetRetryable(true) + return req +} + +func (c *UCDNClient) GetUcdnDomainConfig(req *GetUcdnDomainConfigRequest) (*GetUcdnDomainConfigResponse, error) { + var err error + var res GetUcdnDomainConfigResponse + + reqCopier := *req + + err = c.Client.InvokeAction("GetUcdnDomainConfig", &reqCopier, &res) + if err != nil { + return &res, err + } + + return &res, nil +} diff --git a/pkg/sdk3rd/ucloud/ucdn/api_update_ucdn_domain_https_config_v2.go b/pkg/sdk3rd/ucloud/ucdn/api_update_ucdn_domain_https_config_v2.go new file mode 100644 index 00000000..ffe16969 --- /dev/null +++ b/pkg/sdk3rd/ucloud/ucdn/api_update_ucdn_domain_https_config_v2.go @@ -0,0 +1,32 @@ +package ucdn + +import ( + ucloudcdn "github.com/ucloud/ucloud-sdk-go/services/ucdn" +) + +type UpdateUcdnDomainHttpsConfigV2Request = ucloudcdn.UpdateUcdnDomainHttpsConfigV2Request + +type UpdateUcdnDomainHttpsConfigV2Response = ucloudcdn.UpdateUcdnDomainHttpsConfigV2Response + +func (c *UCDNClient) NewUpdateUcdnDomainHttpsConfigV2Request() *UpdateUcdnDomainHttpsConfigV2Request { + req := &UpdateUcdnDomainHttpsConfigV2Request{} + + c.Client.SetupRequest(req) + + req.SetRetryable(true) + return req +} + +func (c *UCDNClient) UpdateUcdnDomainHttpsConfigV2(req *UpdateUcdnDomainHttpsConfigV2Request) (*UpdateUcdnDomainHttpsConfigV2Response, error) { + var err error + var res UpdateUcdnDomainHttpsConfigV2Response + + reqCopier := *req + + err = c.Client.InvokeAction("UpdateUcdnDomainHttpsConfigV2", &reqCopier, &res) + if err != nil { + return &res, err + } + + return &res, nil +} diff --git a/pkg/sdk3rd/ucloud/ucdn/client.go b/pkg/sdk3rd/ucloud/ucdn/client.go new file mode 100644 index 00000000..a9eb1bf0 --- /dev/null +++ b/pkg/sdk3rd/ucloud/ucdn/client.go @@ -0,0 +1,18 @@ +package ucdn + +import ( + "github.com/ucloud/ucloud-sdk-go/ucloud" + "github.com/ucloud/ucloud-sdk-go/ucloud/auth" +) + +type UCDNClient struct { + *ucloud.Client +} + +func NewClient(config *ucloud.Config, credential *auth.Credential) *UCDNClient { + meta := ucloud.ClientMeta{Product: "UCDN"} + client := ucloud.NewClientWithMeta(config, credential, meta) + return &UCDNClient{ + client, + } +} diff --git a/pkg/sdk3rd/ucloud/ucdn/types.go b/pkg/sdk3rd/ucloud/ucdn/types.go new file mode 100644 index 00000000..ebb297ff --- /dev/null +++ b/pkg/sdk3rd/ucloud/ucdn/types.go @@ -0,0 +1,7 @@ +package ucdn + +import ( + ucloudcdn "github.com/ucloud/ucloud-sdk-go/services/ucdn" +) + +type DomainConfigInfo = ucloudcdn.DomainConfigInfo diff --git a/pkg/sdk3rd/ucloud/udnr/api_delete_domain_dns.go b/pkg/sdk3rd/ucloud/udnr/api_delete_domain_dns.go index 11ddce01..a352ec4c 100644 --- a/pkg/sdk3rd/ucloud/udnr/api_delete_domain_dns.go +++ b/pkg/sdk3rd/ucloud/udnr/api_delete_domain_dns.go @@ -23,7 +23,7 @@ func (c *UDNRClient) NewDeleteDomainDNSRequest() *DeleteDomainDNSRequest { c.Client.SetupRequest(req) - req.SetRetryable(false) + req.SetRetryable(true) return req } diff --git a/pkg/sdk3rd/ucloud/udnr/api_query_domain_dns.go b/pkg/sdk3rd/ucloud/udnr/api_query_domain_dns.go index cabfd155..4a622653 100644 --- a/pkg/sdk3rd/ucloud/udnr/api_query_domain_dns.go +++ b/pkg/sdk3rd/ucloud/udnr/api_query_domain_dns.go @@ -22,7 +22,7 @@ func (c *UDNRClient) NewQueryDomainDNSRequest() *QueryDomainDNSRequest { c.Client.SetupRequest(req) - req.SetRetryable(false) + req.SetRetryable(true) return req } diff --git a/pkg/sdk3rd/ucloud/ufile/api_add_ufile_ssl_cert.go b/pkg/sdk3rd/ucloud/ufile/api_add_ufile_ssl_cert.go index 350b23a2..5c924998 100644 --- a/pkg/sdk3rd/ucloud/ufile/api_add_ufile_ssl_cert.go +++ b/pkg/sdk3rd/ucloud/ufile/api_add_ufile_ssl_cert.go @@ -23,7 +23,7 @@ func (c *UFileClient) NewAddUFileSSLCertRequest() *AddUFileSSLCertRequest { c.Client.SetupRequest(req) - req.SetRetryable(false) + req.SetRetryable(true) return req } diff --git a/pkg/sdk3rd/ucloud/ussl/api_download_certificate.go b/pkg/sdk3rd/ucloud/ussl/api_download_certificate.go index 3d262e9e..d9e6cc0d 100644 --- a/pkg/sdk3rd/ucloud/ussl/api_download_certificate.go +++ b/pkg/sdk3rd/ucloud/ussl/api_download_certificate.go @@ -24,7 +24,7 @@ func (c *USSLClient) NewDownloadCertificateRequest() *DownloadCertificateRequest c.Client.SetupRequest(req) - req.SetRetryable(false) + req.SetRetryable(true) return req } diff --git a/pkg/sdk3rd/ucloud/ussl/api_get_certificate_detail_info.go b/pkg/sdk3rd/ucloud/ussl/api_get_certificate_detail_info.go index 2ab11aa7..0c191247 100644 --- a/pkg/sdk3rd/ucloud/ussl/api_get_certificate_detail_info.go +++ b/pkg/sdk3rd/ucloud/ussl/api_get_certificate_detail_info.go @@ -22,7 +22,7 @@ func (c *USSLClient) NewGetCertificateDetailInfoRequest() *GetCertificateDetailI c.Client.SetupRequest(req) - req.SetRetryable(false) + req.SetRetryable(true) return req } diff --git a/pkg/sdk3rd/ucloud/ussl/api_get_certificate_list.go b/pkg/sdk3rd/ucloud/ussl/api_get_certificate_list.go index e746335d..30b7e8a7 100644 --- a/pkg/sdk3rd/ucloud/ussl/api_get_certificate_list.go +++ b/pkg/sdk3rd/ucloud/ussl/api_get_certificate_list.go @@ -30,7 +30,7 @@ func (c *USSLClient) NewGetCertificateListRequest() *GetCertificateListRequest { c.Client.SetupRequest(req) - req.SetRetryable(false) + req.SetRetryable(true) return req }