refactor: clean code

This commit is contained in:
Fu Diwei 2025-03-21 18:25:21 +08:00
parent 752acb591f
commit 82735f3c02
7 changed files with 76 additions and 74 deletions

View File

@ -51,8 +51,8 @@ type DeployerProvider struct {
var _ deployer.Deployer = (*DeployerProvider)(nil) var _ deployer.Deployer = (*DeployerProvider)(nil)
type wSdkClients struct { type wSdkClients struct {
alb *alialb.Client ALB *alialb.Client
cas *alicas.Client CAS *alicas.Client
} }
func NewDeployer(config *DeployerConfig) (*DeployerProvider, error) { func NewDeployer(config *DeployerConfig) (*DeployerProvider, error) {
@ -126,7 +126,7 @@ func (d *DeployerProvider) deployToLoadbalancer(ctx context.Context, cloudCertId
getLoadBalancerAttributeReq := &alialb.GetLoadBalancerAttributeRequest{ getLoadBalancerAttributeReq := &alialb.GetLoadBalancerAttributeRequest{
LoadBalancerId: tea.String(d.config.LoadbalancerId), LoadBalancerId: tea.String(d.config.LoadbalancerId),
} }
getLoadBalancerAttributeResp, err := d.sdkClients.alb.GetLoadBalancerAttribute(getLoadBalancerAttributeReq) getLoadBalancerAttributeResp, err := d.sdkClients.ALB.GetLoadBalancerAttribute(getLoadBalancerAttributeReq)
d.logger.Debug("sdk request 'alb.GetLoadBalancerAttribute'", slog.Any("request", getLoadBalancerAttributeReq), slog.Any("response", getLoadBalancerAttributeResp)) d.logger.Debug("sdk request 'alb.GetLoadBalancerAttribute'", slog.Any("request", getLoadBalancerAttributeReq), slog.Any("response", getLoadBalancerAttributeResp))
if err != nil { if err != nil {
return xerrors.Wrap(err, "failed to execute sdk request 'alb.GetLoadBalancerAttribute'") return xerrors.Wrap(err, "failed to execute sdk request 'alb.GetLoadBalancerAttribute'")
@ -144,7 +144,7 @@ func (d *DeployerProvider) deployToLoadbalancer(ctx context.Context, cloudCertId
LoadBalancerIds: []*string{tea.String(d.config.LoadbalancerId)}, LoadBalancerIds: []*string{tea.String(d.config.LoadbalancerId)},
ListenerProtocol: tea.String("HTTPS"), ListenerProtocol: tea.String("HTTPS"),
} }
listListenersResp, err := d.sdkClients.alb.ListListeners(listListenersReq) listListenersResp, err := d.sdkClients.ALB.ListListeners(listListenersReq)
d.logger.Debug("sdk request 'alb.ListListeners'", slog.Any("request", listListenersReq), slog.Any("response", listListenersResp)) d.logger.Debug("sdk request 'alb.ListListeners'", slog.Any("request", listListenersReq), slog.Any("response", listListenersResp))
if err != nil { if err != nil {
return xerrors.Wrap(err, "failed to execute sdk request 'alb.ListListeners'") return xerrors.Wrap(err, "failed to execute sdk request 'alb.ListListeners'")
@ -173,7 +173,7 @@ func (d *DeployerProvider) deployToLoadbalancer(ctx context.Context, cloudCertId
LoadBalancerIds: []*string{tea.String(d.config.LoadbalancerId)}, LoadBalancerIds: []*string{tea.String(d.config.LoadbalancerId)},
ListenerProtocol: tea.String("QUIC"), ListenerProtocol: tea.String("QUIC"),
} }
listListenersResp, err := d.sdkClients.alb.ListListeners(listListenersReq) listListenersResp, err := d.sdkClients.ALB.ListListeners(listListenersReq)
d.logger.Debug("sdk request 'alb.ListListeners'", slog.Any("request", listListenersReq), slog.Any("response", listListenersResp)) d.logger.Debug("sdk request 'alb.ListListeners'", slog.Any("request", listListenersReq), slog.Any("response", listListenersResp))
if err != nil { if err != nil {
return xerrors.Wrap(err, "failed to execute sdk request 'alb.ListListeners'") return xerrors.Wrap(err, "failed to execute sdk request 'alb.ListListeners'")
@ -232,7 +232,7 @@ func (d *DeployerProvider) updateListenerCertificate(ctx context.Context, cloudL
getListenerAttributeReq := &alialb.GetListenerAttributeRequest{ getListenerAttributeReq := &alialb.GetListenerAttributeRequest{
ListenerId: tea.String(cloudListenerId), ListenerId: tea.String(cloudListenerId),
} }
getListenerAttributeResp, err := d.sdkClients.alb.GetListenerAttribute(getListenerAttributeReq) getListenerAttributeResp, err := d.sdkClients.ALB.GetListenerAttribute(getListenerAttributeReq)
d.logger.Debug("sdk request 'alb.GetListenerAttribute'", slog.Any("request", getListenerAttributeReq), slog.Any("response", getListenerAttributeResp)) d.logger.Debug("sdk request 'alb.GetListenerAttribute'", slog.Any("request", getListenerAttributeReq), slog.Any("response", getListenerAttributeResp))
if err != nil { if err != nil {
return xerrors.Wrap(err, "failed to execute sdk request 'alb.GetListenerAttribute'") return xerrors.Wrap(err, "failed to execute sdk request 'alb.GetListenerAttribute'")
@ -249,7 +249,7 @@ func (d *DeployerProvider) updateListenerCertificate(ctx context.Context, cloudL
CertificateId: tea.String(cloudCertId), CertificateId: tea.String(cloudCertId),
}}, }},
} }
updateListenerAttributeResp, err := d.sdkClients.alb.UpdateListenerAttribute(updateListenerAttributeReq) updateListenerAttributeResp, err := d.sdkClients.ALB.UpdateListenerAttribute(updateListenerAttributeReq)
d.logger.Debug("sdk request 'alb.UpdateListenerAttribute'", slog.Any("request", updateListenerAttributeReq), slog.Any("response", updateListenerAttributeResp)) d.logger.Debug("sdk request 'alb.UpdateListenerAttribute'", slog.Any("request", updateListenerAttributeReq), slog.Any("response", updateListenerAttributeResp))
if err != nil { if err != nil {
return xerrors.Wrap(err, "failed to execute sdk request 'alb.UpdateListenerAttribute'") return xerrors.Wrap(err, "failed to execute sdk request 'alb.UpdateListenerAttribute'")
@ -269,7 +269,7 @@ func (d *DeployerProvider) updateListenerCertificate(ctx context.Context, cloudL
ListenerId: tea.String(cloudListenerId), ListenerId: tea.String(cloudListenerId),
CertificateType: tea.String("Server"), CertificateType: tea.String("Server"),
} }
listListenerCertificatesResp, err := d.sdkClients.alb.ListListenerCertificates(listListenerCertificatesReq) listListenerCertificatesResp, err := d.sdkClients.ALB.ListListenerCertificates(listListenerCertificatesReq)
d.logger.Debug("sdk request 'alb.ListListenerCertificates'", slog.Any("request", listListenerCertificatesReq), slog.Any("response", listListenerCertificatesResp)) d.logger.Debug("sdk request 'alb.ListListenerCertificates'", slog.Any("request", listListenerCertificatesReq), slog.Any("response", listListenerCertificatesResp))
if err != nil { if err != nil {
return xerrors.Wrap(err, "failed to execute sdk request 'alb.ListListenerCertificates'") return xerrors.Wrap(err, "failed to execute sdk request 'alb.ListListenerCertificates'")
@ -318,7 +318,7 @@ func (d *DeployerProvider) updateListenerCertificate(ctx context.Context, cloudL
getUserCertificateDetailReq := &alicas.GetUserCertificateDetailRequest{ getUserCertificateDetailReq := &alicas.GetUserCertificateDetailRequest{
CertId: tea.Int64(certificateIdAsInt64), CertId: tea.Int64(certificateIdAsInt64),
} }
getUserCertificateDetailResp, err := d.sdkClients.cas.GetUserCertificateDetail(getUserCertificateDetailReq) getUserCertificateDetailResp, err := d.sdkClients.CAS.GetUserCertificateDetail(getUserCertificateDetailReq)
d.logger.Debug("sdk request 'cas.GetUserCertificateDetail'", slog.Any("request", getUserCertificateDetailReq), slog.Any("response", getUserCertificateDetailResp)) d.logger.Debug("sdk request 'cas.GetUserCertificateDetail'", slog.Any("request", getUserCertificateDetailReq), slog.Any("response", getUserCertificateDetailResp))
if err != nil { if err != nil {
errs = append(errs, xerrors.Wrap(err, "failed to execute sdk request 'cas.GetUserCertificateDetail'")) errs = append(errs, xerrors.Wrap(err, "failed to execute sdk request 'cas.GetUserCertificateDetail'"))
@ -355,7 +355,7 @@ func (d *DeployerProvider) updateListenerCertificate(ctx context.Context, cloudL
}, },
}, },
} }
associateAdditionalCertificatesFromListenerResp, err := d.sdkClients.alb.AssociateAdditionalCertificatesWithListener(associateAdditionalCertificatesFromListenerReq) associateAdditionalCertificatesFromListenerResp, err := d.sdkClients.ALB.AssociateAdditionalCertificatesWithListener(associateAdditionalCertificatesFromListenerReq)
d.logger.Debug("sdk request 'alb.AssociateAdditionalCertificatesWithListener'", slog.Any("request", associateAdditionalCertificatesFromListenerReq), slog.Any("response", associateAdditionalCertificatesFromListenerResp)) d.logger.Debug("sdk request 'alb.AssociateAdditionalCertificatesWithListener'", slog.Any("request", associateAdditionalCertificatesFromListenerReq), slog.Any("response", associateAdditionalCertificatesFromListenerResp))
if err != nil { if err != nil {
return xerrors.Wrap(err, "failed to execute sdk request 'alb.AssociateAdditionalCertificatesWithListener'") return xerrors.Wrap(err, "failed to execute sdk request 'alb.AssociateAdditionalCertificatesWithListener'")
@ -376,7 +376,7 @@ func (d *DeployerProvider) updateListenerCertificate(ctx context.Context, cloudL
ListenerId: tea.String(cloudListenerId), ListenerId: tea.String(cloudListenerId),
Certificates: dissociateAdditionalCertificates, Certificates: dissociateAdditionalCertificates,
} }
dissociateAdditionalCertificatesFromListenerResp, err := d.sdkClients.alb.DissociateAdditionalCertificatesFromListener(dissociateAdditionalCertificatesFromListenerReq) dissociateAdditionalCertificatesFromListenerResp, err := d.sdkClients.ALB.DissociateAdditionalCertificatesFromListener(dissociateAdditionalCertificatesFromListenerReq)
d.logger.Debug("sdk request 'alb.DissociateAdditionalCertificatesFromListener'", slog.Any("request", dissociateAdditionalCertificatesFromListenerReq), slog.Any("response", dissociateAdditionalCertificatesFromListenerResp)) d.logger.Debug("sdk request 'alb.DissociateAdditionalCertificatesFromListener'", slog.Any("request", dissociateAdditionalCertificatesFromListenerReq), slog.Any("response", dissociateAdditionalCertificatesFromListenerResp))
if err != nil { if err != nil {
return xerrors.Wrap(err, "failed to execute sdk request 'alb.DissociateAdditionalCertificatesFromListener'") return xerrors.Wrap(err, "failed to execute sdk request 'alb.DissociateAdditionalCertificatesFromListener'")
@ -426,8 +426,8 @@ func createSdkClients(accessKeyId, accessKeySecret, region string) (*wSdkClients
} }
return &wSdkClients{ return &wSdkClients{
alb: albClient, ALB: albClient,
cas: casClient, CAS: casClient,
}, nil }, nil
} }

View File

@ -37,8 +37,8 @@ type DeployerProvider struct {
var _ deployer.Deployer = (*DeployerProvider)(nil) var _ deployer.Deployer = (*DeployerProvider)(nil)
type wSdkClients struct { type wSdkClients struct {
fc2 *alifc2.Client FC2 *alifc2.Client
fc3 *alifc3.Client FC3 *alifc3.Client
} }
func NewDeployer(config *DeployerConfig) (*DeployerProvider, error) { func NewDeployer(config *DeployerConfig) (*DeployerProvider, error) {
@ -89,7 +89,7 @@ func (d *DeployerProvider) Deploy(ctx context.Context, certPem string, privkeyPe
func (d *DeployerProvider) deployToFC3(ctx context.Context, certPem string, privkeyPem string) error { func (d *DeployerProvider) deployToFC3(ctx context.Context, certPem string, privkeyPem string) error {
// 获取自定义域名 // 获取自定义域名
// REF: https://help.aliyun.com/zh/functioncompute/fc-3-0/developer-reference/api-fc-2023-03-30-getcustomdomain // REF: https://help.aliyun.com/zh/functioncompute/fc-3-0/developer-reference/api-fc-2023-03-30-getcustomdomain
getCustomDomainResp, err := d.sdkClients.fc3.GetCustomDomain(tea.String(d.config.Domain)) getCustomDomainResp, err := d.sdkClients.FC3.GetCustomDomain(tea.String(d.config.Domain))
d.logger.Debug("sdk request 'fc.GetCustomDomain'", slog.Any("response", getCustomDomainResp)) d.logger.Debug("sdk request 'fc.GetCustomDomain'", slog.Any("response", getCustomDomainResp))
if err != nil { if err != nil {
return xerrors.Wrap(err, "failed to execute sdk request 'fc.GetCustomDomain'") return xerrors.Wrap(err, "failed to execute sdk request 'fc.GetCustomDomain'")
@ -108,7 +108,7 @@ func (d *DeployerProvider) deployToFC3(ctx context.Context, certPem string, priv
TlsConfig: getCustomDomainResp.Body.TlsConfig, TlsConfig: getCustomDomainResp.Body.TlsConfig,
}, },
} }
updateCustomDomainResp, err := d.sdkClients.fc3.UpdateCustomDomain(tea.String(d.config.Domain), updateCustomDomainReq) updateCustomDomainResp, err := d.sdkClients.FC3.UpdateCustomDomain(tea.String(d.config.Domain), updateCustomDomainReq)
d.logger.Debug("sdk request 'fc.UpdateCustomDomain'", slog.Any("request", updateCustomDomainReq), slog.Any("response", updateCustomDomainResp)) d.logger.Debug("sdk request 'fc.UpdateCustomDomain'", slog.Any("request", updateCustomDomainReq), slog.Any("response", updateCustomDomainResp))
if err != nil { if err != nil {
return xerrors.Wrap(err, "failed to execute sdk request 'fc.UpdateCustomDomain'") return xerrors.Wrap(err, "failed to execute sdk request 'fc.UpdateCustomDomain'")
@ -120,7 +120,7 @@ func (d *DeployerProvider) deployToFC3(ctx context.Context, certPem string, priv
func (d *DeployerProvider) deployToFC2(ctx context.Context, certPem string, privkeyPem string) error { func (d *DeployerProvider) deployToFC2(ctx context.Context, certPem string, privkeyPem string) error {
// 获取自定义域名 // 获取自定义域名
// REF: https://help.aliyun.com/zh/functioncompute/fc-2-0/developer-reference/api-fc-open-2021-04-06-getcustomdomain // REF: https://help.aliyun.com/zh/functioncompute/fc-2-0/developer-reference/api-fc-open-2021-04-06-getcustomdomain
getCustomDomainResp, err := d.sdkClients.fc2.GetCustomDomain(tea.String(d.config.Domain)) getCustomDomainResp, err := d.sdkClients.FC2.GetCustomDomain(tea.String(d.config.Domain))
d.logger.Debug("sdk request 'fc.GetCustomDomain'", slog.Any("response", getCustomDomainResp)) d.logger.Debug("sdk request 'fc.GetCustomDomain'", slog.Any("response", getCustomDomainResp))
if err != nil { if err != nil {
return xerrors.Wrap(err, "failed to execute sdk request 'fc.GetCustomDomain'") return xerrors.Wrap(err, "failed to execute sdk request 'fc.GetCustomDomain'")
@ -137,7 +137,7 @@ func (d *DeployerProvider) deployToFC2(ctx context.Context, certPem string, priv
Protocol: getCustomDomainResp.Body.Protocol, Protocol: getCustomDomainResp.Body.Protocol,
TlsConfig: getCustomDomainResp.Body.TlsConfig, TlsConfig: getCustomDomainResp.Body.TlsConfig,
} }
updateCustomDomainResp, err := d.sdkClients.fc2.UpdateCustomDomain(tea.String(d.config.Domain), updateCustomDomainReq) updateCustomDomainResp, err := d.sdkClients.FC2.UpdateCustomDomain(tea.String(d.config.Domain), updateCustomDomainReq)
d.logger.Debug("sdk request 'fc.UpdateCustomDomain'", slog.Any("request", updateCustomDomainReq), slog.Any("response", updateCustomDomainResp)) d.logger.Debug("sdk request 'fc.UpdateCustomDomain'", slog.Any("request", updateCustomDomainReq), slog.Any("response", updateCustomDomainResp))
if err != nil { if err != nil {
return xerrors.Wrap(err, "failed to execute sdk request 'fc.UpdateCustomDomain'") return xerrors.Wrap(err, "failed to execute sdk request 'fc.UpdateCustomDomain'")
@ -179,7 +179,7 @@ func createSdkClients(accessKeyId, accessKeySecret, region string) (*wSdkClients
} }
return &wSdkClients{ return &wSdkClients{
fc2: fc2Client, FC2: fc2Client,
fc3: fc3Client, FC3: fc3Client,
}, nil }, nil
} }

View File

@ -36,8 +36,8 @@ type DeployerProvider struct {
var _ deployer.Deployer = (*DeployerProvider)(nil) var _ deployer.Deployer = (*DeployerProvider)(nil)
type wSdkClients struct { type wSdkClients struct {
ssl *tcssl.Client SSL *tcssl.Client
cdn *tccdn.Client CDN *tccdn.Client
} }
func NewDeployer(config *DeployerConfig) (*DeployerProvider, error) { func NewDeployer(config *DeployerConfig) (*DeployerProvider, error) {
@ -127,7 +127,7 @@ func (d *DeployerProvider) Deploy(ctx context.Context, certPem string, privkeyPe
deployCertificateInstanceReq.ResourceType = common.StringPtr("cdn") deployCertificateInstanceReq.ResourceType = common.StringPtr("cdn")
deployCertificateInstanceReq.Status = common.Int64Ptr(1) deployCertificateInstanceReq.Status = common.Int64Ptr(1)
deployCertificateInstanceReq.InstanceIdList = common.StringPtrs(instanceIds) deployCertificateInstanceReq.InstanceIdList = common.StringPtrs(instanceIds)
deployCertificateInstanceResp, err := d.sdkClients.ssl.DeployCertificateInstance(deployCertificateInstanceReq) deployCertificateInstanceResp, err := d.sdkClients.SSL.DeployCertificateInstance(deployCertificateInstanceReq)
d.logger.Debug("sdk request 'ssl.DeployCertificateInstance'", slog.Any("request", deployCertificateInstanceReq), slog.Any("response", deployCertificateInstanceResp)) d.logger.Debug("sdk request 'ssl.DeployCertificateInstance'", slog.Any("request", deployCertificateInstanceReq), slog.Any("response", deployCertificateInstanceResp))
if err != nil { if err != nil {
return nil, xerrors.Wrap(err, "failed to execute sdk request 'ssl.DeployCertificateInstance'") return nil, xerrors.Wrap(err, "failed to execute sdk request 'ssl.DeployCertificateInstance'")
@ -143,7 +143,7 @@ func (d *DeployerProvider) getDomainsByCertificateId(cloudCertId string) ([]stri
describeCertDomainsReq := tccdn.NewDescribeCertDomainsRequest() describeCertDomainsReq := tccdn.NewDescribeCertDomainsRequest()
describeCertDomainsReq.CertId = common.StringPtr(cloudCertId) describeCertDomainsReq.CertId = common.StringPtr(cloudCertId)
describeCertDomainsReq.Product = common.StringPtr("cdn") describeCertDomainsReq.Product = common.StringPtr("cdn")
describeCertDomainsResp, err := d.sdkClients.cdn.DescribeCertDomains(describeCertDomainsReq) describeCertDomainsResp, err := d.sdkClients.CDN.DescribeCertDomains(describeCertDomainsReq)
d.logger.Debug("sdk request 'cdn.DescribeCertDomains'", slog.Any("request", describeCertDomainsReq), slog.Any("response", describeCertDomainsResp)) d.logger.Debug("sdk request 'cdn.DescribeCertDomains'", slog.Any("request", describeCertDomainsReq), slog.Any("response", describeCertDomainsResp))
if err != nil { if err != nil {
return nil, xerrors.Wrap(err, "failed to execute sdk request 'cdn.DescribeCertDomains'") return nil, xerrors.Wrap(err, "failed to execute sdk request 'cdn.DescribeCertDomains'")
@ -165,7 +165,7 @@ func (d *DeployerProvider) getDeployedDomainsByCertificateId(cloudCertId string)
describeDeployedResourcesReq := tcssl.NewDescribeDeployedResourcesRequest() describeDeployedResourcesReq := tcssl.NewDescribeDeployedResourcesRequest()
describeDeployedResourcesReq.CertificateIds = common.StringPtrs([]string{cloudCertId}) describeDeployedResourcesReq.CertificateIds = common.StringPtrs([]string{cloudCertId})
describeDeployedResourcesReq.ResourceType = common.StringPtr("cdn") describeDeployedResourcesReq.ResourceType = common.StringPtr("cdn")
describeDeployedResourcesResp, err := d.sdkClients.ssl.DescribeDeployedResources(describeDeployedResourcesReq) describeDeployedResourcesResp, err := d.sdkClients.SSL.DescribeDeployedResources(describeDeployedResourcesReq)
d.logger.Debug("sdk request 'cdn.DescribeDeployedResources'", slog.Any("request", describeDeployedResourcesReq), slog.Any("response", describeDeployedResourcesResp)) d.logger.Debug("sdk request 'cdn.DescribeDeployedResources'", slog.Any("request", describeDeployedResourcesReq), slog.Any("response", describeDeployedResourcesResp))
if err != nil { if err != nil {
return nil, xerrors.Wrap(err, "failed to execute sdk request 'cdn.DescribeDeployedResources'") return nil, xerrors.Wrap(err, "failed to execute sdk request 'cdn.DescribeDeployedResources'")
@ -197,7 +197,7 @@ func createSdkClients(secretId, secretKey string) (*wSdkClients, error) {
} }
return &wSdkClients{ return &wSdkClients{
ssl: sslClient, SSL: sslClient,
cdn: cdnClient, CDN: cdnClient,
}, nil }, nil
} }

View File

@ -47,8 +47,8 @@ type DeployerProvider struct {
var _ deployer.Deployer = (*DeployerProvider)(nil) var _ deployer.Deployer = (*DeployerProvider)(nil)
type wSdkClients struct { type wSdkClients struct {
ssl *tcssl.Client SSL *tcssl.Client
clb *tcclb.Client CLB *tcclb.Client
} }
func NewDeployer(config *DeployerConfig) (*DeployerProvider, error) { func NewDeployer(config *DeployerConfig) (*DeployerProvider, error) {
@ -146,7 +146,7 @@ func (d *DeployerProvider) deployViaSslService(ctx context.Context, cloudCertId
// 指定 SNI需部署到域名 // 指定 SNI需部署到域名
deployCertificateInstanceReq.InstanceIdList = common.StringPtrs([]string{fmt.Sprintf("%s|%s|%s", d.config.LoadbalancerId, d.config.ListenerId, d.config.Domain)}) 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) deployCertificateInstanceResp, err := d.sdkClients.SSL.DeployCertificateInstance(deployCertificateInstanceReq)
d.logger.Debug("sdk request 'ssl.DeployCertificateInstance'", slog.Any("request", deployCertificateInstanceReq), slog.Any("response", deployCertificateInstanceResp)) d.logger.Debug("sdk request 'ssl.DeployCertificateInstance'", slog.Any("request", deployCertificateInstanceReq), slog.Any("response", deployCertificateInstanceResp))
if err != nil { if err != nil {
return xerrors.Wrap(err, "failed to execute sdk request 'ssl.DeployCertificateInstance'") return xerrors.Wrap(err, "failed to execute sdk request 'ssl.DeployCertificateInstance'")
@ -165,7 +165,7 @@ func (d *DeployerProvider) deployToLoadbalancer(ctx context.Context, cloudCertId
listenerIds := make([]string, 0) listenerIds := make([]string, 0)
describeListenersReq := tcclb.NewDescribeListenersRequest() describeListenersReq := tcclb.NewDescribeListenersRequest()
describeListenersReq.LoadBalancerId = common.StringPtr(d.config.LoadbalancerId) describeListenersReq.LoadBalancerId = common.StringPtr(d.config.LoadbalancerId)
describeListenersResp, err := d.sdkClients.clb.DescribeListeners(describeListenersReq) describeListenersResp, err := d.sdkClients.CLB.DescribeListeners(describeListenersReq)
d.logger.Debug("sdk request 'clb.DescribeListeners'", slog.Any("request", describeListenersReq), slog.Any("response", describeListenersResp)) d.logger.Debug("sdk request 'clb.DescribeListeners'", slog.Any("request", describeListenersReq), slog.Any("response", describeListenersResp))
if err != nil { if err != nil {
return xerrors.Wrap(err, "failed to execute sdk request 'clb.DescribeListeners'") return xerrors.Wrap(err, "failed to execute sdk request 'clb.DescribeListeners'")
@ -239,7 +239,7 @@ func (d *DeployerProvider) deployToRuleDomain(ctx context.Context, cloudCertId s
SSLMode: common.StringPtr("UNIDIRECTIONAL"), SSLMode: common.StringPtr("UNIDIRECTIONAL"),
CertId: common.StringPtr(cloudCertId), CertId: common.StringPtr(cloudCertId),
} }
modifyDomainAttributesResp, err := d.sdkClients.clb.ModifyDomainAttributes(modifyDomainAttributesReq) modifyDomainAttributesResp, err := d.sdkClients.CLB.ModifyDomainAttributes(modifyDomainAttributesReq)
d.logger.Debug("sdk request 'clb.ModifyDomainAttributes'", slog.Any("request", modifyDomainAttributesReq), slog.Any("response", modifyDomainAttributesResp)) d.logger.Debug("sdk request 'clb.ModifyDomainAttributes'", slog.Any("request", modifyDomainAttributesReq), slog.Any("response", modifyDomainAttributesResp))
if err != nil { if err != nil {
return xerrors.Wrap(err, "failed to execute sdk request 'clb.ModifyDomainAttributes'") return xerrors.Wrap(err, "failed to execute sdk request 'clb.ModifyDomainAttributes'")
@ -254,7 +254,7 @@ func (d *DeployerProvider) modifyListenerCertificate(ctx context.Context, cloudL
describeListenersReq := tcclb.NewDescribeListenersRequest() describeListenersReq := tcclb.NewDescribeListenersRequest()
describeListenersReq.LoadBalancerId = common.StringPtr(cloudLoadbalancerId) describeListenersReq.LoadBalancerId = common.StringPtr(cloudLoadbalancerId)
describeListenersReq.ListenerIds = common.StringPtrs([]string{cloudListenerId}) describeListenersReq.ListenerIds = common.StringPtrs([]string{cloudListenerId})
describeListenersResp, err := d.sdkClients.clb.DescribeListeners(describeListenersReq) describeListenersResp, err := d.sdkClients.CLB.DescribeListeners(describeListenersReq)
d.logger.Debug("sdk request 'clb.DescribeListeners'", slog.Any("request", describeListenersReq), slog.Any("response", describeListenersResp)) d.logger.Debug("sdk request 'clb.DescribeListeners'", slog.Any("request", describeListenersReq), slog.Any("response", describeListenersResp))
if err != nil { if err != nil {
return xerrors.Wrap(err, "failed to execute sdk request 'clb.DescribeListeners'") return xerrors.Wrap(err, "failed to execute sdk request 'clb.DescribeListeners'")
@ -274,7 +274,7 @@ func (d *DeployerProvider) modifyListenerCertificate(ctx context.Context, cloudL
} else { } else {
modifyListenerReq.Certificate.SSLMode = common.StringPtr("UNIDIRECTIONAL") modifyListenerReq.Certificate.SSLMode = common.StringPtr("UNIDIRECTIONAL")
} }
modifyListenerResp, err := d.sdkClients.clb.ModifyListener(modifyListenerReq) modifyListenerResp, err := d.sdkClients.CLB.ModifyListener(modifyListenerReq)
d.logger.Debug("sdk request 'clb.ModifyListener'", slog.Any("request", modifyListenerReq), slog.Any("response", modifyListenerResp)) d.logger.Debug("sdk request 'clb.ModifyListener'", slog.Any("request", modifyListenerReq), slog.Any("response", modifyListenerResp))
if err != nil { if err != nil {
return xerrors.Wrap(err, "failed to execute sdk request 'clb.ModifyListener'") return xerrors.Wrap(err, "failed to execute sdk request 'clb.ModifyListener'")
@ -298,7 +298,7 @@ func createSdkClients(secretId, secretKey, region string) (*wSdkClients, error)
} }
return &wSdkClients{ return &wSdkClients{
ssl: sslClient, SSL: sslClient,
clb: clbClient, CLB: clbClient,
}, nil }, nil
} }

View File

@ -35,8 +35,8 @@ type DeployerProvider struct {
var _ deployer.Deployer = (*DeployerProvider)(nil) var _ deployer.Deployer = (*DeployerProvider)(nil)
type wSdkClients struct { type wSdkClients struct {
ssl *tcssl.Client SSL *tcssl.Client
cdn *tccdn.Client CDN *tccdn.Client
} }
func NewDeployer(config *DeployerConfig) (*DeployerProvider, error) { func NewDeployer(config *DeployerConfig) (*DeployerProvider, error) {
@ -110,7 +110,7 @@ func (d *DeployerProvider) Deploy(ctx context.Context, certPem string, privkeyPe
deployCertificateInstanceReq.ResourceType = common.StringPtr("ecdn") deployCertificateInstanceReq.ResourceType = common.StringPtr("ecdn")
deployCertificateInstanceReq.Status = common.Int64Ptr(1) deployCertificateInstanceReq.Status = common.Int64Ptr(1)
deployCertificateInstanceReq.InstanceIdList = common.StringPtrs(instanceIds) deployCertificateInstanceReq.InstanceIdList = common.StringPtrs(instanceIds)
deployCertificateInstanceResp, err := d.sdkClients.ssl.DeployCertificateInstance(deployCertificateInstanceReq) deployCertificateInstanceResp, err := d.sdkClients.SSL.DeployCertificateInstance(deployCertificateInstanceReq)
d.logger.Debug("sdk request 'ssl.DeployCertificateInstance'", slog.Any("request", deployCertificateInstanceReq), slog.Any("response", deployCertificateInstanceResp)) d.logger.Debug("sdk request 'ssl.DeployCertificateInstance'", slog.Any("request", deployCertificateInstanceReq), slog.Any("response", deployCertificateInstanceResp))
if err != nil { if err != nil {
return nil, xerrors.Wrap(err, "failed to execute sdk request 'ssl.DeployCertificateInstance'") return nil, xerrors.Wrap(err, "failed to execute sdk request 'ssl.DeployCertificateInstance'")
@ -126,7 +126,7 @@ func (d *DeployerProvider) getDomainsByCertificateId(cloudCertId string) ([]stri
describeCertDomainsReq := tccdn.NewDescribeCertDomainsRequest() describeCertDomainsReq := tccdn.NewDescribeCertDomainsRequest()
describeCertDomainsReq.CertId = common.StringPtr(cloudCertId) describeCertDomainsReq.CertId = common.StringPtr(cloudCertId)
describeCertDomainsReq.Product = common.StringPtr("ecdn") describeCertDomainsReq.Product = common.StringPtr("ecdn")
describeCertDomainsResp, err := d.sdkClients.cdn.DescribeCertDomains(describeCertDomainsReq) describeCertDomainsResp, err := d.sdkClients.CDN.DescribeCertDomains(describeCertDomainsReq)
d.logger.Debug("sdk request 'cdn.DescribeCertDomains'", slog.Any("request", describeCertDomainsReq), slog.Any("response", describeCertDomainsResp)) d.logger.Debug("sdk request 'cdn.DescribeCertDomains'", slog.Any("request", describeCertDomainsReq), slog.Any("response", describeCertDomainsResp))
if err != nil { if err != nil {
return nil, xerrors.Wrap(err, "failed to execute sdk request 'cdn.DescribeCertDomains'") return nil, xerrors.Wrap(err, "failed to execute sdk request 'cdn.DescribeCertDomains'")
@ -156,7 +156,7 @@ func createSdkClients(secretId, secretKey string) (*wSdkClients, error) {
} }
return &wSdkClients{ return &wSdkClients{
ssl: sslClient, SSL: sslClient,
cdn: cdnClient, CDN: cdnClient,
}, nil }, nil
} }

View File

@ -37,8 +37,8 @@ type DeployerProvider struct {
var _ deployer.Deployer = (*DeployerProvider)(nil) var _ deployer.Deployer = (*DeployerProvider)(nil)
type wSdkClients struct { type wSdkClients struct {
ssl *tcssl.Client SSL *tcssl.Client
teo *tcteo.Client TEO *tcteo.Client
} }
func NewDeployer(config *DeployerConfig) (*DeployerProvider, error) { func NewDeployer(config *DeployerConfig) (*DeployerProvider, error) {
@ -97,7 +97,7 @@ func (d *DeployerProvider) Deploy(ctx context.Context, certPem string, privkeyPe
modifyHostsCertificateReq.Mode = common.StringPtr("sslcert") modifyHostsCertificateReq.Mode = common.StringPtr("sslcert")
modifyHostsCertificateReq.Hosts = common.StringPtrs([]string{d.config.Domain}) modifyHostsCertificateReq.Hosts = common.StringPtrs([]string{d.config.Domain})
modifyHostsCertificateReq.ServerCertInfo = []*tcteo.ServerCertInfo{{CertId: common.StringPtr(upres.CertId)}} modifyHostsCertificateReq.ServerCertInfo = []*tcteo.ServerCertInfo{{CertId: common.StringPtr(upres.CertId)}}
modifyHostsCertificateResp, err := d.sdkClients.teo.ModifyHostsCertificate(modifyHostsCertificateReq) modifyHostsCertificateResp, err := d.sdkClients.TEO.ModifyHostsCertificate(modifyHostsCertificateReq)
d.logger.Debug("sdk request 'teo.ModifyHostsCertificate'", slog.Any("request", modifyHostsCertificateReq), slog.Any("response", modifyHostsCertificateResp)) d.logger.Debug("sdk request 'teo.ModifyHostsCertificate'", slog.Any("request", modifyHostsCertificateReq), slog.Any("response", modifyHostsCertificateResp))
if err != nil { if err != nil {
return nil, xerrors.Wrap(err, "failed to execute sdk request 'teo.ModifyHostsCertificate'") return nil, xerrors.Wrap(err, "failed to execute sdk request 'teo.ModifyHostsCertificate'")
@ -120,7 +120,7 @@ func createSdkClients(secretId, secretKey string) (*wSdkClients, error) {
} }
return &wSdkClients{ return &wSdkClients{
ssl: sslClient, SSL: sslClient,
teo: teoClient, TEO: teoClient,
}, nil }, nil
} }

View File

@ -85,36 +85,38 @@ func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPe
if listUserCertificateOrderResp.Body.CertificateOrderList != nil { if listUserCertificateOrderResp.Body.CertificateOrderList != nil {
for _, certDetail := range listUserCertificateOrderResp.Body.CertificateOrderList { for _, certDetail := range listUserCertificateOrderResp.Body.CertificateOrderList {
if strings.EqualFold(certX509.SerialNumber.Text(16), *certDetail.SerialNo) { if !strings.EqualFold(certX509.SerialNumber.Text(16), *certDetail.SerialNo) {
getUserCertificateDetailReq := &alicas.GetUserCertificateDetailRequest{ continue
CertId: certDetail.CertificateId, }
}
getUserCertificateDetailResp, err := u.sdkClient.GetUserCertificateDetail(getUserCertificateDetailReq) getUserCertificateDetailReq := &alicas.GetUserCertificateDetailRequest{
u.logger.Debug("sdk request 'cas.GetUserCertificateDetail'", slog.Any("request", getUserCertificateDetailReq), slog.Any("response", getUserCertificateDetailResp)) CertId: certDetail.CertificateId,
}
getUserCertificateDetailResp, err := u.sdkClient.GetUserCertificateDetail(getUserCertificateDetailReq)
u.logger.Debug("sdk request 'cas.GetUserCertificateDetail'", slog.Any("request", getUserCertificateDetailReq), slog.Any("response", getUserCertificateDetailResp))
if err != nil {
return nil, xerrors.Wrap(err, "failed to execute sdk request 'cas.GetUserCertificateDetail'")
}
var isSameCert bool
if *getUserCertificateDetailResp.Body.Cert == certPem {
isSameCert = true
} else {
oldCertX509, err := certutil.ParseCertificateFromPEM(*getUserCertificateDetailResp.Body.Cert)
if err != nil { if err != nil {
return nil, xerrors.Wrap(err, "failed to execute sdk request 'cas.GetUserCertificateDetail'") continue
} }
var isSameCert bool isSameCert = certutil.EqualCertificate(certX509, oldCertX509)
if *getUserCertificateDetailResp.Body.Cert == certPem { }
isSameCert = true
} else {
oldCertX509, err := certutil.ParseCertificateFromPEM(*getUserCertificateDetailResp.Body.Cert)
if err != nil {
continue
}
isSameCert = certutil.EqualCertificate(certX509, oldCertX509) // 如果已存在相同证书,直接返回
} if isSameCert {
u.logger.Info("ssl certificate already exists")
// 如果已存在相同证书,直接返回 return &uploader.UploadResult{
if isSameCert { CertId: fmt.Sprintf("%d", tea.Int64Value(certDetail.CertificateId)),
u.logger.Info("ssl certificate already exists") CertName: *certDetail.Name,
return &uploader.UploadResult{ }, nil
CertId: fmt.Sprintf("%d", tea.Int64Value(certDetail.CertificateId)),
CertName: *certDetail.Name,
}, nil
}
} }
} }
} }