feat: do not use region from access when deploy to huaweicloud cdn

This commit is contained in:
Fu Diwei 2024-10-20 17:51:36 +08:00
parent f0e7fe695d
commit 3a213dc9c3

View File

@ -41,7 +41,8 @@ func (d *HuaweiCloudCDNDeployer) Deploy(ctx context.Context) error {
return err return err
} }
client, err := d.createClient(access) // TODO: CDN 服务与 DNS 服务所支持的区域可能不一致,这里暂时不传而是使用默认值,仅支持华为云国内版
client, err := d.createClient("", access.AccessKeyId, access.SecretAccessKey)
if err != nil { if err != nil {
return err return err
} }
@ -62,13 +63,14 @@ func (d *HuaweiCloudCDNDeployer) Deploy(ctx context.Context) error {
// 更新加速域名配置 // 更新加速域名配置
// REF: https://support.huaweicloud.com/api-cdn/UpdateDomainMultiCertificates.html // REF: https://support.huaweicloud.com/api-cdn/UpdateDomainMultiCertificates.html
// REF: https://support.huaweicloud.com/usermanual-cdn/cdn_01_0306.html
updateDomainMultiCertificatesReqBodyContent := &huaweicloudCDNUpdateDomainMultiCertificatesRequestBodyContent{} updateDomainMultiCertificatesReqBodyContent := &huaweicloudCDNUpdateDomainMultiCertificatesRequestBodyContent{}
updateDomainMultiCertificatesReqBodyContent.DomainName = d.option.DeployConfig.GetConfigAsString("domain") updateDomainMultiCertificatesReqBodyContent.DomainName = d.option.DeployConfig.GetConfigAsString("domain")
updateDomainMultiCertificatesReqBodyContent.HttpsSwitch = 1 updateDomainMultiCertificatesReqBodyContent.HttpsSwitch = 1
var updateDomainMultiCertificatesResp *cdnModel.UpdateDomainMultiCertificatesResponse var updateDomainMultiCertificatesResp *cdnModel.UpdateDomainMultiCertificatesResponse
if d.option.DeployConfig.GetConfigAsBool("useSCM") { if d.option.DeployConfig.GetConfigAsBool("useSCM") {
uploader, err := uploaderImpl.NewHuaweiCloudSCMUploader(&uploaderImpl.HuaweiCloudSCMUploaderConfig{ uploader, err := uploaderImpl.NewHuaweiCloudSCMUploader(&uploaderImpl.HuaweiCloudSCMUploaderConfig{
Region: "", // TODO: SCM 服务与 CDN 服务的区域不一致,这里暂时不传而是使用默认值,仅支持华为云国内版 Region: "", // TODO: SCM 服务与 DNS 服务所支持的区域可能不一致,这里暂时不传而是使用默认值,仅支持华为云国内版
AccessKeyId: access.AccessKeyId, AccessKeyId: access.AccessKeyId,
SecretAccessKey: access.SecretAccessKey, SecretAccessKey: access.SecretAccessKey,
}) })
@ -109,22 +111,26 @@ func (d *HuaweiCloudCDNDeployer) Deploy(ctx context.Context) error {
return nil return nil
} }
func (d *HuaweiCloudCDNDeployer) createClient(access *domain.HuaweiCloudAccess) (*cdn.CdnClient, error) { func (d *HuaweiCloudCDNDeployer) createClient(region, accessKeyId, secretAccessKey string) (*cdn.CdnClient, error) {
auth, err := global.NewCredentialsBuilder(). auth, err := global.NewCredentialsBuilder().
WithAk(access.AccessKeyId). WithAk(accessKeyId).
WithSk(access.SecretAccessKey). WithSk(secretAccessKey).
SafeBuild() SafeBuild()
if err != nil { if err != nil {
return nil, err return nil, err
} }
region, err := cdnRegion.SafeValueOf(access.Region) if region == "" {
region = "cn-north-1" // CDN 服务默认区域:华北北京一
}
hcRegion, err := cdnRegion.SafeValueOf(region)
if err != nil { if err != nil {
return nil, err return nil, err
} }
hcClient, err := cdn.CdnClientBuilder(). hcClient, err := cdn.CdnClientBuilder().
WithRegion(region). WithRegion(hcRegion).
WithCredential(auth). WithCredential(auth).
SafeBuild() SafeBuild()
if err != nil { if err != nil {