mirror of
https://github.com/woodchen-ink/certimate.git
synced 2025-07-18 17:31:55 +08:00
feat: add baiducloud cert deployer
This commit is contained in:
parent
5de033814b
commit
4d710a1aaf
@ -27,6 +27,7 @@ import (
|
|||||||
pBaiduCloudAppBLB "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/baiducloud-appblb"
|
pBaiduCloudAppBLB "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/baiducloud-appblb"
|
||||||
pBaiduCloudBLB "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/baiducloud-blb"
|
pBaiduCloudBLB "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/baiducloud-blb"
|
||||||
pBaiduCloudCDN "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/baiducloud-cdn"
|
pBaiduCloudCDN "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/baiducloud-cdn"
|
||||||
|
pBaiduCloudCert "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/baiducloud-cert"
|
||||||
pBaishanCDN "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/baishan-cdn"
|
pBaishanCDN "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/baishan-cdn"
|
||||||
pBaotaPanelConsole "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/baotapanel-console"
|
pBaotaPanelConsole "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/baotapanel-console"
|
||||||
pBaotaPanelSite "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/baotapanel-site"
|
pBaotaPanelSite "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/baotapanel-site"
|
||||||
@ -305,7 +306,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
case domain.DeployProviderTypeBaiduCloudAppBLB, domain.DeployProviderTypeBaiduCloudBLB, domain.DeployProviderTypeBaiduCloudCDN:
|
case domain.DeployProviderTypeBaiduCloudAppBLB, domain.DeployProviderTypeBaiduCloudBLB, domain.DeployProviderTypeBaiduCloudCDN, domain.DeployProviderTypeBaiduCloudCert:
|
||||||
{
|
{
|
||||||
access := domain.AccessConfigForBaiduCloud{}
|
access := domain.AccessConfigForBaiduCloud{}
|
||||||
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil {
|
||||||
@ -345,6 +346,13 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) {
|
|||||||
})
|
})
|
||||||
return deployer, err
|
return deployer, err
|
||||||
|
|
||||||
|
case domain.DeployProviderTypeBaiduCloudCert:
|
||||||
|
deployer, err := pBaiduCloudCert.NewDeployer(&pBaiduCloudCert.DeployerConfig{
|
||||||
|
AccessKeyId: access.AccessKeyId,
|
||||||
|
SecretAccessKey: access.SecretAccessKey,
|
||||||
|
})
|
||||||
|
return deployer, err
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
@ -138,6 +138,7 @@ const (
|
|||||||
DeployProviderTypeBaiduCloudAppBLB = DeployProviderType("baiducloud-appblb")
|
DeployProviderTypeBaiduCloudAppBLB = DeployProviderType("baiducloud-appblb")
|
||||||
DeployProviderTypeBaiduCloudBLB = DeployProviderType("baiducloud-blb")
|
DeployProviderTypeBaiduCloudBLB = DeployProviderType("baiducloud-blb")
|
||||||
DeployProviderTypeBaiduCloudCDN = DeployProviderType("baiducloud-cdn")
|
DeployProviderTypeBaiduCloudCDN = DeployProviderType("baiducloud-cdn")
|
||||||
|
DeployProviderTypeBaiduCloudCert = DeployProviderType("baiducloud-cert")
|
||||||
DeployProviderTypeBaishanCDN = DeployProviderType("baishan-cdn")
|
DeployProviderTypeBaishanCDN = DeployProviderType("baishan-cdn")
|
||||||
DeployProviderTypeBaotaPanelConsole = DeployProviderType("baotapanel-console")
|
DeployProviderTypeBaotaPanelConsole = DeployProviderType("baotapanel-console")
|
||||||
DeployProviderTypeBaotaPanelSite = DeployProviderType("baotapanel-site")
|
DeployProviderTypeBaotaPanelSite = DeployProviderType("baotapanel-site")
|
||||||
|
@ -14,7 +14,7 @@ import (
|
|||||||
|
|
||||||
"github.com/usual2970/certimate/internal/pkg/core/deployer"
|
"github.com/usual2970/certimate/internal/pkg/core/deployer"
|
||||||
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
||||||
uploadersp "github.com/usual2970/certimate/internal/pkg/core/uploader/providers/baiducloud-cas"
|
uploadersp "github.com/usual2970/certimate/internal/pkg/core/uploader/providers/baiducloud-cert"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/sliceutil"
|
"github.com/usual2970/certimate/internal/pkg/utils/sliceutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ import (
|
|||||||
|
|
||||||
"github.com/usual2970/certimate/internal/pkg/core/deployer"
|
"github.com/usual2970/certimate/internal/pkg/core/deployer"
|
||||||
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
||||||
uploadersp "github.com/usual2970/certimate/internal/pkg/core/uploader/providers/baiducloud-cas"
|
uploadersp "github.com/usual2970/certimate/internal/pkg/core/uploader/providers/baiducloud-cert"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/sliceutil"
|
"github.com/usual2970/certimate/internal/pkg/utils/sliceutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -0,0 +1,68 @@
|
|||||||
|
package baiducloudcert
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"log/slog"
|
||||||
|
|
||||||
|
xerrors "github.com/pkg/errors"
|
||||||
|
|
||||||
|
"github.com/usual2970/certimate/internal/pkg/core/deployer"
|
||||||
|
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
||||||
|
uploadersp "github.com/usual2970/certimate/internal/pkg/core/uploader/providers/baiducloud-cert"
|
||||||
|
)
|
||||||
|
|
||||||
|
type DeployerConfig struct {
|
||||||
|
// 百度智能云 AccessKeyId。
|
||||||
|
AccessKeyId string `json:"accessKeyId"`
|
||||||
|
// 百度智能云 SecretAccessKey。
|
||||||
|
SecretAccessKey string `json:"secretAccessKey"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type DeployerProvider struct {
|
||||||
|
config *DeployerConfig
|
||||||
|
logger *slog.Logger
|
||||||
|
sslUploader uploader.Uploader
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ deployer.Deployer = (*DeployerProvider)(nil)
|
||||||
|
|
||||||
|
func NewDeployer(config *DeployerConfig) (*DeployerProvider, error) {
|
||||||
|
if config == nil {
|
||||||
|
panic("config is nil")
|
||||||
|
}
|
||||||
|
|
||||||
|
uploader, err := uploadersp.NewUploader(&uploadersp.UploaderConfig{
|
||||||
|
AccessKeyId: config.AccessKeyId,
|
||||||
|
SecretAccessKey: config.SecretAccessKey,
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return nil, xerrors.Wrap(err, "failed to create ssl uploader")
|
||||||
|
}
|
||||||
|
|
||||||
|
return &DeployerProvider{
|
||||||
|
config: config,
|
||||||
|
logger: slog.Default(),
|
||||||
|
sslUploader: uploader,
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d *DeployerProvider) WithLogger(logger *slog.Logger) deployer.Deployer {
|
||||||
|
if logger == nil {
|
||||||
|
d.logger = slog.Default()
|
||||||
|
} else {
|
||||||
|
d.logger = logger
|
||||||
|
}
|
||||||
|
return d
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d *DeployerProvider) Deploy(ctx context.Context, certPem string, privkeyPem string) (*deployer.DeployResult, error) {
|
||||||
|
// 上传证书到 CAS
|
||||||
|
upres, err := d.sslUploader.Upload(ctx, certPem, privkeyPem)
|
||||||
|
if err != nil {
|
||||||
|
return nil, xerrors.Wrap(err, "failed to upload certificate file")
|
||||||
|
} else {
|
||||||
|
d.logger.Info("ssl certificate uploaded", slog.Any("result", upres))
|
||||||
|
}
|
||||||
|
|
||||||
|
return &deployer.DeployResult{}, nil
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package baiducloudcas
|
package baiducloudcert
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
@ -11,7 +11,7 @@ import (
|
|||||||
|
|
||||||
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/certutil"
|
"github.com/usual2970/certimate/internal/pkg/utils/certutil"
|
||||||
bdsdk "github.com/usual2970/certimate/internal/pkg/vendors/baiducloud-sdk/cas"
|
bdsdk "github.com/usual2970/certimate/internal/pkg/vendors/baiducloud-sdk/cert"
|
||||||
)
|
)
|
||||||
|
|
||||||
type UploaderConfig struct {
|
type UploaderConfig struct {
|
@ -1,4 +1,4 @@
|
|||||||
package baiducloudcas_test
|
package baiducloudcert_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
@ -9,7 +9,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
provider "github.com/usual2970/certimate/internal/pkg/core/uploader/providers/baiducloud-cas"
|
provider "github.com/usual2970/certimate/internal/pkg/core/uploader/providers/baiducloud-cert"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
@ -252,6 +252,7 @@ export const DEPLOY_PROVIDERS = Object.freeze({
|
|||||||
BAIDUCLOUD_APPBLB: `${ACCESS_PROVIDERS.BAIDUCLOUD}-appblb`,
|
BAIDUCLOUD_APPBLB: `${ACCESS_PROVIDERS.BAIDUCLOUD}-appblb`,
|
||||||
BAIDUCLOUD_BLB: `${ACCESS_PROVIDERS.BAIDUCLOUD}-blb`,
|
BAIDUCLOUD_BLB: `${ACCESS_PROVIDERS.BAIDUCLOUD}-blb`,
|
||||||
BAIDUCLOUD_CDN: `${ACCESS_PROVIDERS.BAIDUCLOUD}-cdn`,
|
BAIDUCLOUD_CDN: `${ACCESS_PROVIDERS.BAIDUCLOUD}-cdn`,
|
||||||
|
BAIDUCLOUD_CERT: `${ACCESS_PROVIDERS.BAIDUCLOUD}-cert`,
|
||||||
BAISHAN_CDN: `${ACCESS_PROVIDERS.BAISHAN}-cdn`,
|
BAISHAN_CDN: `${ACCESS_PROVIDERS.BAISHAN}-cdn`,
|
||||||
BAOTAPANEL_CONSOLE: `${ACCESS_PROVIDERS.BAOTAPANEL}-console`,
|
BAOTAPANEL_CONSOLE: `${ACCESS_PROVIDERS.BAOTAPANEL}-console`,
|
||||||
BAOTAPANEL_SITE: `${ACCESS_PROVIDERS.BAOTAPANEL}-site`,
|
BAOTAPANEL_SITE: `${ACCESS_PROVIDERS.BAOTAPANEL}-site`,
|
||||||
@ -358,12 +359,13 @@ export const deployProvidersMap: Map<DeployProvider["type"] | string, DeployProv
|
|||||||
[DEPLOY_PROVIDERS.TENCENTCLOUD_SCF, "provider.tencentcloud.scf", DEPLOY_CATEGORIES.SERVERLESS],
|
[DEPLOY_PROVIDERS.TENCENTCLOUD_SCF, "provider.tencentcloud.scf", DEPLOY_CATEGORIES.SERVERLESS],
|
||||||
[DEPLOY_PROVIDERS.TENCENTCLOUD_SSL, "provider.tencentcloud.ssl", DEPLOY_CATEGORIES.OTHER],
|
[DEPLOY_PROVIDERS.TENCENTCLOUD_SSL, "provider.tencentcloud.ssl", DEPLOY_CATEGORIES.OTHER],
|
||||||
[DEPLOY_PROVIDERS.TENCENTCLOUD_SSL_DEPLOY, "provider.tencentcloud.ssl_deploy", DEPLOY_CATEGORIES.OTHER],
|
[DEPLOY_PROVIDERS.TENCENTCLOUD_SSL_DEPLOY, "provider.tencentcloud.ssl_deploy", DEPLOY_CATEGORIES.OTHER],
|
||||||
[DEPLOY_PROVIDERS.HUAWEICLOUD_CDN, "provider.huaweicloud.cdn", DEPLOY_CATEGORIES.CDN],
|
|
||||||
[DEPLOY_PROVIDERS.HUAWEICLOUD_ELB, "provider.huaweicloud.elb", DEPLOY_CATEGORIES.LOADBALANCE],
|
|
||||||
[DEPLOY_PROVIDERS.HUAWEICLOUD_WAF, "provider.huaweicloud.waf", DEPLOY_CATEGORIES.FIREWALL],
|
|
||||||
[DEPLOY_PROVIDERS.BAIDUCLOUD_CDN, "provider.baiducloud.cdn", DEPLOY_CATEGORIES.CDN],
|
[DEPLOY_PROVIDERS.BAIDUCLOUD_CDN, "provider.baiducloud.cdn", DEPLOY_CATEGORIES.CDN],
|
||||||
[DEPLOY_PROVIDERS.BAIDUCLOUD_BLB, "provider.baiducloud.blb", DEPLOY_CATEGORIES.LOADBALANCE],
|
[DEPLOY_PROVIDERS.BAIDUCLOUD_BLB, "provider.baiducloud.blb", DEPLOY_CATEGORIES.LOADBALANCE],
|
||||||
[DEPLOY_PROVIDERS.BAIDUCLOUD_APPBLB, "provider.baiducloud.appblb", DEPLOY_CATEGORIES.LOADBALANCE],
|
[DEPLOY_PROVIDERS.BAIDUCLOUD_APPBLB, "provider.baiducloud.appblb", DEPLOY_CATEGORIES.LOADBALANCE],
|
||||||
|
[DEPLOY_PROVIDERS.BAIDUCLOUD_CERT, "provider.baiducloud.cert", DEPLOY_CATEGORIES.OTHER],
|
||||||
|
[DEPLOY_PROVIDERS.HUAWEICLOUD_CDN, "provider.huaweicloud.cdn", DEPLOY_CATEGORIES.CDN],
|
||||||
|
[DEPLOY_PROVIDERS.HUAWEICLOUD_ELB, "provider.huaweicloud.elb", DEPLOY_CATEGORIES.LOADBALANCE],
|
||||||
|
[DEPLOY_PROVIDERS.HUAWEICLOUD_WAF, "provider.huaweicloud.waf", DEPLOY_CATEGORIES.FIREWALL],
|
||||||
[DEPLOY_PROVIDERS.VOLCENGINE_TOS, "provider.volcengine.tos", DEPLOY_CATEGORIES.STORAGE],
|
[DEPLOY_PROVIDERS.VOLCENGINE_TOS, "provider.volcengine.tos", DEPLOY_CATEGORIES.STORAGE],
|
||||||
[DEPLOY_PROVIDERS.VOLCENGINE_CDN, "provider.volcengine.cdn", DEPLOY_CATEGORIES.CDN],
|
[DEPLOY_PROVIDERS.VOLCENGINE_CDN, "provider.volcengine.cdn", DEPLOY_CATEGORIES.CDN],
|
||||||
[DEPLOY_PROVIDERS.VOLCENGINE_DCDN, "provider.volcengine.dcdn", DEPLOY_CATEGORIES.CDN],
|
[DEPLOY_PROVIDERS.VOLCENGINE_DCDN, "provider.volcengine.dcdn", DEPLOY_CATEGORIES.CDN],
|
||||||
|
@ -5,8 +5,8 @@
|
|||||||
"provider.acmehttpreq": "Http Request (ACME Proxy)",
|
"provider.acmehttpreq": "Http Request (ACME Proxy)",
|
||||||
"provider.aliyun": "Alibaba Cloud",
|
"provider.aliyun": "Alibaba Cloud",
|
||||||
"provider.aliyun.alb": "Alibaba Cloud - ALB (Application Load Balancer)",
|
"provider.aliyun.alb": "Alibaba Cloud - ALB (Application Load Balancer)",
|
||||||
"provider.aliyun.cas": "Alibaba Cloud - CAS (Certificate Management Service)",
|
"provider.aliyun.cas": "Alibaba Cloud - Upload to CAS (Certificate Management Service)",
|
||||||
"provider.aliyun.cas_deploy": "Alibaba Cloud - via CAS (Certificate Management Service) Deployment Job",
|
"provider.aliyun.cas_deploy": "Alibaba Cloud - Deploy via CAS (Certificate Management Service)",
|
||||||
"provider.aliyun.cdn": "Alibaba Cloud - CDN (Content Delivery Network)",
|
"provider.aliyun.cdn": "Alibaba Cloud - CDN (Content Delivery Network)",
|
||||||
"provider.aliyun.clb": "Alibaba Cloud - CLB (Classic Load Balancer)",
|
"provider.aliyun.clb": "Alibaba Cloud - CLB (Classic Load Balancer)",
|
||||||
"provider.aliyun.dcdn": "Alibaba Cloud - DCDN (Dynamic Route for Content Delivery Network)",
|
"provider.aliyun.dcdn": "Alibaba Cloud - DCDN (Dynamic Route for Content Delivery Network)",
|
||||||
@ -31,6 +31,7 @@
|
|||||||
"provider.baiducloud.appblb": "Baidu Cloud - AppBLB (Application Baidu Load Balancer)",
|
"provider.baiducloud.appblb": "Baidu Cloud - AppBLB (Application Baidu Load Balancer)",
|
||||||
"provider.baiducloud.blb": "Baidu Cloud - BLB (Baidu Load Balancer)",
|
"provider.baiducloud.blb": "Baidu Cloud - BLB (Baidu Load Balancer)",
|
||||||
"provider.baiducloud.cdn": "Baidu Cloud - CDN (Content Delivery Network)",
|
"provider.baiducloud.cdn": "Baidu Cloud - CDN (Content Delivery Network)",
|
||||||
|
"provider.baiducloud.cert": "Baidu Cloud - Upload to SSL Certificate Service",
|
||||||
"provider.baiducloud.dns": "Baidu Cloud - DNS (Domain Name Service)",
|
"provider.baiducloud.dns": "Baidu Cloud - DNS (Domain Name Service)",
|
||||||
"provider.baishan": "Baishan",
|
"provider.baishan": "Baishan",
|
||||||
"provider.baishan.cdn": "Baishan - CDN (Content Delivery Network)",
|
"provider.baishan.cdn": "Baishan - CDN (Content Delivery Network)",
|
||||||
@ -96,8 +97,8 @@
|
|||||||
"provider.tencentcloud.ecdn": "Tencent Cloud - ECDN (Enterprise Content Delivery Network)",
|
"provider.tencentcloud.ecdn": "Tencent Cloud - ECDN (Enterprise Content Delivery Network)",
|
||||||
"provider.tencentcloud.eo": "Tencent Cloud - EdgeOne",
|
"provider.tencentcloud.eo": "Tencent Cloud - EdgeOne",
|
||||||
"provider.tencentcloud.scf": "Tencent Cloud - SCF (Serverless Cloud Function)",
|
"provider.tencentcloud.scf": "Tencent Cloud - SCF (Serverless Cloud Function)",
|
||||||
"provider.tencentcloud.ssl": "Tencent Cloud - SSL Certificate Service",
|
"provider.tencentcloud.ssl": "Tencent Cloud - Upload to SSL Certificate Service",
|
||||||
"provider.tencentcloud.ssl_deploy": "Tencent Cloud - via SSL Certificate Service Deployment Job",
|
"provider.tencentcloud.ssl_deploy": "Tencent Cloud - Deploy via SSL Certificate Service",
|
||||||
"provider.tencentcloud.vod": "Tencent Cloud - VOD (Video on Demand)",
|
"provider.tencentcloud.vod": "Tencent Cloud - VOD (Video on Demand)",
|
||||||
"provider.tencentcloud.waf": "Tencent Cloud - WAF (Web Application Firewall)",
|
"provider.tencentcloud.waf": "Tencent Cloud - WAF (Web Application Firewall)",
|
||||||
"provider.ucloud": "UCloud",
|
"provider.ucloud": "UCloud",
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
"provider.acmehttpreq": "Http Request (ACME Proxy)",
|
"provider.acmehttpreq": "Http Request (ACME Proxy)",
|
||||||
"provider.aliyun": "阿里云",
|
"provider.aliyun": "阿里云",
|
||||||
"provider.aliyun.alb": "阿里云 - 应用型负载均衡 ALB",
|
"provider.aliyun.alb": "阿里云 - 应用型负载均衡 ALB",
|
||||||
"provider.aliyun.cas": "阿里云 - 数字证书管理服务 CAS",
|
"provider.aliyun.cas": "阿里云 - 上传到数字证书管理服务 CAS",
|
||||||
"provider.aliyun.cas_deploy": "阿里云 - 通过数字证书管理服务 CAS 创建部署任务",
|
"provider.aliyun.cas_deploy": "阿里云 - 通过数字证书管理服务 CAS 创建部署任务",
|
||||||
"provider.aliyun.cdn": "阿里云 - 内容分发网络 CDN",
|
"provider.aliyun.cdn": "阿里云 - 内容分发网络 CDN",
|
||||||
"provider.aliyun.clb": "阿里云 - 传统型负载均衡 CLB",
|
"provider.aliyun.clb": "阿里云 - 传统型负载均衡 CLB",
|
||||||
@ -31,6 +31,7 @@
|
|||||||
"provider.baiducloud.appblb": "百度智能云 - 应用型负载均衡 BLB",
|
"provider.baiducloud.appblb": "百度智能云 - 应用型负载均衡 BLB",
|
||||||
"provider.baiducloud.blb": "百度智能云 - 普通型负载均衡 BLB",
|
"provider.baiducloud.blb": "百度智能云 - 普通型负载均衡 BLB",
|
||||||
"provider.baiducloud.cdn": "百度智能云 - 内容分发网络 CDN",
|
"provider.baiducloud.cdn": "百度智能云 - 内容分发网络 CDN",
|
||||||
|
"provider.baiducloud.cert": "百度智能云 - 上传到 SSL 证书服务",
|
||||||
"provider.baiducloud.dns": "百度智能云 - 智能云解析 DNS",
|
"provider.baiducloud.dns": "百度智能云 - 智能云解析 DNS",
|
||||||
"provider.baishan": "白山云",
|
"provider.baishan": "白山云",
|
||||||
"provider.baishan.cdn": "白山云 - 内容分发网络 CDN",
|
"provider.baishan.cdn": "白山云 - 内容分发网络 CDN",
|
||||||
@ -96,7 +97,7 @@
|
|||||||
"provider.tencentcloud.ecdn": "腾讯云 - 全站加速网络 ECDN",
|
"provider.tencentcloud.ecdn": "腾讯云 - 全站加速网络 ECDN",
|
||||||
"provider.tencentcloud.eo": "腾讯云 - 边缘安全加速平台 EdgeOne",
|
"provider.tencentcloud.eo": "腾讯云 - 边缘安全加速平台 EdgeOne",
|
||||||
"provider.tencentcloud.scf": "腾讯云 - 云函数 SCF",
|
"provider.tencentcloud.scf": "腾讯云 - 云函数 SCF",
|
||||||
"provider.tencentcloud.ssl": "腾讯云 - SSL 证书服务",
|
"provider.tencentcloud.ssl": "腾讯云 - 上传到 SSL 证书服务",
|
||||||
"provider.tencentcloud.ssl_deploy": "腾讯云 - 通过 SSL 证书服务创建部署任务",
|
"provider.tencentcloud.ssl_deploy": "腾讯云 - 通过 SSL 证书服务创建部署任务",
|
||||||
"provider.tencentcloud.vod": "腾讯云 - 云点播 VOD",
|
"provider.tencentcloud.vod": "腾讯云 - 云点播 VOD",
|
||||||
"provider.tencentcloud.waf": "腾讯云 - Web 应用防火墙 WAF",
|
"provider.tencentcloud.waf": "腾讯云 - Web 应用防火墙 WAF",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user