diff --git a/go.mod b/go.mod index 02a8e543..f861ed21 100644 --- a/go.mod +++ b/go.mod @@ -52,6 +52,7 @@ require ( github.com/libdns/dynv6 v1.1.1 github.com/libdns/libdns v1.1.1 github.com/luthermonson/go-proxmox v0.2.3 + github.com/mohuatech/mohuacloud-go-sdk v0.0.0-20251115182757-6fba4d0a4c47 github.com/pavlo-v-chernykh/keystore-go/v4 v4.5.0 github.com/pkg/sftp v1.13.10 github.com/pocketbase/dbx v1.11.0 diff --git a/go.sum b/go.sum index c6ba7980..641eacd1 100644 --- a/go.sum +++ b/go.sum @@ -669,6 +669,8 @@ github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3Rllmb github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8= github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/mohuatech/mohuacloud-go-sdk v0.0.0-20251115182757-6fba4d0a4c47 h1:ymaxpfg8BH3Jlecq943X/+QWOBuMp1qmRUCK+SCoN+c= +github.com/mohuatech/mohuacloud-go-sdk v0.0.0-20251115182757-6fba4d0a4c47/go.mod h1:+GS72hJwcVILclv1ghdmowvKX+iT9gS42bhYLw9hcQg= github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= diff --git a/internal/certmgmt/deployers/sp_mohua_mvh.go b/internal/certmgmt/deployers/sp_mohua_mvh.go new file mode 100644 index 00000000..5e183f55 --- /dev/null +++ b/internal/certmgmt/deployers/sp_mohua_mvh.go @@ -0,0 +1,27 @@ +package deployers + +import ( + "fmt" + + "github.com/certimate-go/certimate/internal/domain" + "github.com/certimate-go/certimate/pkg/core/deployer" + mohuamvh "github.com/certimate-go/certimate/pkg/core/deployer/providers/mohua-mvh" + xmaps "github.com/certimate-go/certimate/pkg/utils/maps" +) + +func init() { + Registries.MustRegister(domain.DeploymentProviderTypeMohuaMVH, func(options *ProviderFactoryOptions) (deployer.Provider, error) { + credentials := domain.AccessConfigForMohua{} + if err := xmaps.Populate(options.ProviderAccessConfig, &credentials); err != nil { + return nil, fmt.Errorf("failed to populate provider access config: %w", err) + } + + provider, err := mohuamvh.NewDeployer(&mohuamvh.DeployerConfig{ + Username: credentials.Username, + ApiPassword: credentials.ApiPassword, + HostId: xmaps.GetString(options.ProviderExtendedConfig, "hostId"), + DomainId: xmaps.GetString(options.ProviderExtendedConfig, "domainId"), + }) + return provider, err + }) +} diff --git a/internal/domain/access.go b/internal/domain/access.go index 9ccf3f09..64693f99 100644 --- a/internal/domain/access.go +++ b/internal/domain/access.go @@ -411,6 +411,11 @@ type AccessConfigForQiniu struct { SecretKey string `json:"secretKey"` } +type AccessConfigForMohua struct { + Username string `json:"username"` + ApiPassword string `json:"apiPassword"` +} + type AccessConfigForRainYun struct { ApiKey string `json:"apiKey"` } diff --git a/internal/domain/provider.go b/internal/domain/provider.go index ede78ee4..ca2199a9 100644 --- a/internal/domain/provider.go +++ b/internal/domain/provider.go @@ -75,6 +75,7 @@ const ( AccessProviderTypeLiteSSL = AccessProviderType("litessl") AccessProviderTypeLocal = AccessProviderType("local") AccessProviderTypeMattermost = AccessProviderType("mattermost") + AccessProviderTypeMohua = AccessProviderType("mohua") AccessProviderTypeNamecheap = AccessProviderType("namecheap") AccessProviderTypeNameDotCom = AccessProviderType("namedotcom") AccessProviderTypeNameSilo = AccessProviderType("namesilo") @@ -304,6 +305,7 @@ const ( DeploymentProviderTypeKsyunCDN = DeploymentProviderType(AccessProviderTypeKsyun + "-cdn") DeploymentProviderTypeLeCDN = DeploymentProviderType(AccessProviderTypeLeCDN) DeploymentProviderTypeLocal = DeploymentProviderType(AccessProviderTypeLocal) + DeploymentProviderTypeMohuaMVH = DeploymentProviderType(AccessProviderTypeMohua + "-mvh") DeploymentProviderTypeNetlifySite = DeploymentProviderType(AccessProviderTypeNetlify + "-site") DeploymentProviderTypeProxmoxVE = DeploymentProviderType(AccessProviderTypeProxmoxVE) DeploymentProviderTypeQiniuCDN = DeploymentProviderType(AccessProviderTypeQiniu + "-cdn") diff --git a/pkg/core/deployer/providers/mohua-mvh/mohua_mvh.go b/pkg/core/deployer/providers/mohua-mvh/mohua_mvh.go new file mode 100644 index 00000000..c21db16d --- /dev/null +++ b/pkg/core/deployer/providers/mohua-mvh/mohua_mvh.go @@ -0,0 +1,106 @@ +package mohuamvh + +import ( + "context" + "errors" + "fmt" + "log/slog" + "strconv" + + mohuasdk "github.com/mohuatech/mohuacloud-go-sdk" + mohuasdktypes "github.com/mohuatech/mohuacloud-go-sdk/types" + + "github.com/certimate-go/certimate/pkg/core/deployer" +) + +type DeployerConfig struct { + // 嘿华云账号。 + Username string `json:"username"` + // 嘿华云 API 密钥。 + ApiPassword string `json:"apiPassword"` + // 虚拟主机 ID。 + HostId string `json:"hostId"` + // 域名 ID。 + DomainId string `json:"domainId"` +} + +type Deployer struct { + config *DeployerConfig + logger *slog.Logger + sdkClient *mohuasdk.Client +} + +var _ deployer.Provider = (*Deployer)(nil) + +func NewDeployer(config *DeployerConfig) (*Deployer, error) { + if config == nil { + return nil, errors.New("the configuration of the deployer provider is nil") + } + + client, err := createSDKClient(config.Username, config.ApiPassword) + if err != nil { + return nil, fmt.Errorf("could not create client: %w", err) + } + + return &Deployer{ + config: config, + logger: slog.Default(), + sdkClient: client, + }, nil +} + +func (d *Deployer) SetLogger(logger *slog.Logger) { + if logger == nil { + d.logger = slog.New(slog.DiscardHandler) + } else { + d.logger = logger + } +} + +func (d *Deployer) Deploy(ctx context.Context, certPEM, privkeyPEM string) (*deployer.DeployResult, error) { + if d.config.HostId == "" { + return nil, errors.New("config `hostId` is required") + } + if d.config.DomainId == "" { + return nil, errors.New("config `domainId` is required") + } + + domainId, err := strconv.ParseInt(d.config.DomainId, 10, 64) + if err != nil { + return nil, err + } + + // 登录获取 Token + _, err = d.sdkClient.Auth.Login("", "") + if err != nil { + return nil, fmt.Errorf("failed to login mohua: %w", err) + } + + // 设置 SSL 证书 + setSSLReq := &mohuasdktypes.SetSSLRequest{ + ID: int(domainId), + SSLCert: certPEM, + SSLKey: privkeyPEM, + } + setSSLResp, err := d.sdkClient.VirtualHost.SetSSL(d.config.HostId, setSSLReq) + d.logger.Debug("sdk request 'mvh.SetSSL'", slog.Any("request", setSSLReq), slog.Any("response", setSSLResp)) + if err != nil { + return nil, fmt.Errorf("failed to execute sdk request 'mvh.SetSSL': %w", err) + } + + return &deployer.DeployResult{}, nil +} + +func createSDKClient(username, apiPassword string) (*mohuasdk.Client, error) { + if username == "" { + return nil, errors.New("invalid mohua username") + } + if apiPassword == "" { + return nil, errors.New("invalid mohua api password") + } + + client := mohuasdk.NewClient( + mohuasdk.WithCredentials(username, apiPassword), + ) + return client, nil +} diff --git a/pkg/core/deployer/providers/mohua-mvh/mohua_mvh_test.go b/pkg/core/deployer/providers/mohua-mvh/mohua_mvh_test.go new file mode 100644 index 00000000..21647319 --- /dev/null +++ b/pkg/core/deployer/providers/mohua-mvh/mohua_mvh_test.go @@ -0,0 +1,80 @@ +package mohuamvh_test + +import ( + "context" + "flag" + "fmt" + "os" + "strings" + "testing" + + provider "github.com/certimate-go/certimate/pkg/core/deployer/providers/mohua-mvh" +) + +var ( + fInputCertPath string + fInputKeyPath string + fUsername string + fApiPassword string + fHostID string + fDomainID string +) + +func init() { + argsPrefix := "MOHUAMVH_" + + flag.StringVar(&fInputCertPath, argsPrefix+"INPUTCERTPATH", "", "") + flag.StringVar(&fInputKeyPath, argsPrefix+"INPUTKEYPATH", "", "") + flag.StringVar(&fUsername, argsPrefix+"USERNAME", "", "") + flag.StringVar(&fApiPassword, argsPrefix+"APIPASSWORD", "", "") + flag.StringVar(&fHostID, argsPrefix+"HOSTID", "", "") + flag.StringVar(&fDomainID, argsPrefix+"DOMAINID", "", "") +} + +/* +Shell command to run this test: + + go test -v ./mohuamvh_test.go -args \ + --MOHUAMVH_INPUTCERTPATH="/path/to/your-input-cert.pem" \ + --MOHUAMVH_INPUTKEYPATH="/path/to/your-input-key.pem" \ + --MOHUAMVH_USERNAME="your-username" \ + --MOHUAMVH_APIPASSWORD="your-api-password" \ + --MOHUAMVH_HOSTID="your-virtual-host-id" \ + --MOHUAMVH_DOMAINID="your-domain-id" +*/ +func TestDeploy(t *testing.T) { + flag.Parse() + + t.Run("Deploy", func(t *testing.T) { + t.Log(strings.Join([]string{ + "args:", + fmt.Sprintf("INPUTCERTPATH: %v", fInputCertPath), + fmt.Sprintf("INPUTKEYPATH: %v", fInputKeyPath), + fmt.Sprintf("USERNAME: %v", fUsername), + fmt.Sprintf("APIPASSWORD: %v", fApiPassword), + fmt.Sprintf("HOSTID: %v", fHostID), + fmt.Sprintf("DOMAINID: %v", fDomainID), + }, "\n")) + + provider, err := provider.NewDeployer(&provider.DeployerConfig{ + Username: fUsername, + ApiPassword: fApiPassword, + HostId: fHostID, + DomainId: fDomainID, + }) + if err != nil { + t.Errorf("err: %+v", err) + return + } + + fInputCertData, _ := os.ReadFile(fInputCertPath) + fInputKeyData, _ := os.ReadFile(fInputKeyPath) + res, err := provider.Deploy(context.Background(), string(fInputCertData), string(fInputKeyData)) + if err != nil { + t.Errorf("err: %+v", err) + return + } + + t.Logf("ok: %v", res) + }) +} diff --git a/ui/public/imgs/providers/mohua.png b/ui/public/imgs/providers/mohua.png new file mode 100755 index 00000000..b8a77639 Binary files /dev/null and b/ui/public/imgs/providers/mohua.png differ diff --git a/ui/src/components/access/forms/AccessConfigFieldsProvider.tsx b/ui/src/components/access/forms/AccessConfigFieldsProvider.tsx index 7ad9bdaa..140a5077 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProvider.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProvider.tsx @@ -1,232 +1,234 @@ -import { useEffect, useState } from "react"; - -import { ACCESS_PROVIDERS, type AccessProviderType } from "@/domain/provider"; - -import AccessConfigFieldsProvider1Panel from "./AccessConfigFieldsProvider1Panel"; -import AccessConfigFieldsProvider35cn from "./AccessConfigFieldsProvider35cn"; -import AccessConfigFieldsProviderACMECA from "./AccessConfigFieldsProviderACMECA"; -import AccessConfigFieldsProviderACMEDNS from "./AccessConfigFieldsProviderACMEDNS"; -import AccessConfigFieldsProviderACMEHttpReq from "./AccessConfigFieldsProviderACMEHttpReq"; -import AccessConfigFieldsProviderActalisSSL from "./AccessConfigFieldsProviderActalisSSL"; -import AccessConfigFieldsProviderAkamai from "./AccessConfigFieldsProviderAkamai"; -import AccessConfigFieldsProviderAliyun from "./AccessConfigFieldsProviderAliyun"; -import AccessConfigFieldsProviderAPISIX from "./AccessConfigFieldsProviderAPISIX"; -import AccessConfigFieldsProviderArvanCloud from "./AccessConfigFieldsProviderArvanCloud"; -import AccessConfigFieldsProviderAWS from "./AccessConfigFieldsProviderAWS"; -import AccessConfigFieldsProviderAzure from "./AccessConfigFieldsProviderAzure"; -import AccessConfigFieldsProviderBaiduCloud from "./AccessConfigFieldsProviderBaiduCloud"; -import AccessConfigFieldsProviderBaishan from "./AccessConfigFieldsProviderBaishan"; -import AccessConfigFieldsProviderBaotaPanel from "./AccessConfigFieldsProviderBaotaPanel"; -import AccessConfigFieldsProviderBaotaPanelGo from "./AccessConfigFieldsProviderBaotaPanelGo"; -import AccessConfigFieldsProviderBaotaWAF from "./AccessConfigFieldsProviderBaotaWAF"; -import AccessConfigFieldsProviderBookMyName from "./AccessConfigFieldsProviderBookMyName"; -import AccessConfigFieldsProviderBunny from "./AccessConfigFieldsProviderBunny"; -import AccessConfigFieldsProviderBytePlus from "./AccessConfigFieldsProviderBytePlus"; -import AccessConfigFieldsProviderCacheFly from "./AccessConfigFieldsProviderCacheFly"; -import AccessConfigFieldsProviderCdnfly from "./AccessConfigFieldsProviderCdnfly"; -import AccessConfigFieldsProviderCloudflare from "./AccessConfigFieldsProviderCloudflare"; -import AccessConfigFieldsProviderClouDNS from "./AccessConfigFieldsProviderClouDNS"; -import AccessConfigFieldsProviderCMCCCloud from "./AccessConfigFieldsProviderCMCCCloud"; -import AccessConfigFieldsProviderConstellix from "./AccessConfigFieldsProviderConstellix"; -import AccessConfigFieldsProviderCTCCCloud from "./AccessConfigFieldsProviderCTCCCloud"; -import AccessConfigFieldsProviderDeSEC from "./AccessConfigFieldsProviderDeSEC"; -import AccessConfigFieldsProviderDigitalOcean from "./AccessConfigFieldsProviderDigitalOcean"; -import AccessConfigFieldsProviderDingTalkBot from "./AccessConfigFieldsProviderDingTalkBot"; -import AccessConfigFieldsProviderDiscordBot from "./AccessConfigFieldsProviderDiscordBot"; -import AccessConfigFieldsProviderDNSLA from "./AccessConfigFieldsProviderDNSLA"; -import AccessConfigFieldsProviderDNSMadeEasy from "./AccessConfigFieldsProviderDNSMadeEasy"; -import AccessConfigFieldsProviderDogeCloud from "./AccessConfigFieldsProviderDogeCloud"; -import AccessConfigFieldsProviderDuckDNS from "./AccessConfigFieldsProviderDuckDNS"; -import AccessConfigFieldsProviderDynu from "./AccessConfigFieldsProviderDynu"; -import AccessConfigFieldsProviderDynv6 from "./AccessConfigFieldsProviderDynv6"; -import AccessConfigFieldsProviderEmail from "./AccessConfigFieldsProviderEmail"; -import AccessConfigFieldsProviderFlexCDN from "./AccessConfigFieldsProviderFlexCDN"; -import AccessConfigFieldsProviderGandinet from "./AccessConfigFieldsProviderGandinet"; -import AccessConfigFieldsProviderGcore from "./AccessConfigFieldsProviderGcore"; -import AccessConfigFieldsProviderGlobalSignAtlas from "./AccessConfigFieldsProviderGlobalSignAtlas"; -import AccessConfigFieldsProviderGname from "./AccessConfigFieldsProviderGname"; -import AccessConfigFieldsProviderGoDaddy from "./AccessConfigFieldsProviderGoDaddy"; -import AccessConfigFieldsProviderGoEdge from "./AccessConfigFieldsProviderGoEdge"; -import AccessConfigFieldsProviderGoogleTrustServices from "./AccessConfigFieldsProviderGoogleTrustServices"; -import AccessConfigFieldsProviderHetzner from "./AccessConfigFieldsProviderHetzner"; -import AccessConfigFieldsProviderHostingde from "./AccessConfigFieldsProviderHostingde"; -import AccessConfigFieldsProviderHostinger from "./AccessConfigFieldsProviderHostinger"; -import AccessConfigFieldsProviderHuaweiCloud from "./AccessConfigFieldsProviderHuaweiCloud"; -import AccessConfigFieldsProviderInfomaniak from "./AccessConfigFieldsProviderInfomaniak"; -import AccessConfigFieldsProviderIONOS from "./AccessConfigFieldsProviderIONOS"; -import AccessConfigFieldsProviderJDCloud from "./AccessConfigFieldsProviderJDCloud"; -import AccessConfigFieldsProviderKong from "./AccessConfigFieldsProviderKong"; -import AccessConfigFieldsProviderKsyun from "./AccessConfigFieldsProviderKsyun"; -import AccessConfigFieldsProviderKubernetes from "./AccessConfigFieldsProviderKubernetes"; -import AccessConfigFieldsProviderLarkBot from "./AccessConfigFieldsProviderLarkBot"; -import AccessConfigFieldsProviderLeCDN from "./AccessConfigFieldsProviderLeCDN"; -import AccessConfigFieldsProviderLinode from "./AccessConfigFieldsProviderLinode"; -import AccessConfigFieldsProviderLiteSSL from "./AccessConfigFieldsProviderLiteSSL"; -import AccessConfigFieldsProviderMattermost from "./AccessConfigFieldsProviderMattermost"; -import AccessConfigFieldsProviderNamecheap from "./AccessConfigFieldsProviderNamecheap"; -import AccessConfigFieldsProviderNameDotCom from "./AccessConfigFieldsProviderNameDotCom"; -import AccessConfigFieldsProviderNameSilo from "./AccessConfigFieldsProviderNameSilo"; -import AccessConfigFieldsProviderNetcup from "./AccessConfigFieldsProviderNetcup"; -import AccessConfigFieldsProviderNetlify from "./AccessConfigFieldsProviderNetlify"; -import AccessConfigFieldsProviderNS1 from "./AccessConfigFieldsProviderNS1"; -import AccessConfigFieldsProviderOVHcloud from "./AccessConfigFieldsProviderOVHcloud"; -import AccessConfigFieldsProviderPorkbun from "./AccessConfigFieldsProviderPorkbun"; -import AccessConfigFieldsProviderPowerDNS from "./AccessConfigFieldsProviderPowerDNS"; -import AccessConfigFieldsProviderProxmoxVE from "./AccessConfigFieldsProviderProxmoxVE"; -import AccessConfigFieldsProviderQingCloud from "./AccessConfigFieldsProviderQingCloud"; -import AccessConfigFieldsProviderQiniu from "./AccessConfigFieldsProviderQiniu"; -import AccessConfigFieldsProviderRainYun from "./AccessConfigFieldsProviderRainYun"; -import AccessConfigFieldsProviderRatPanel from "./AccessConfigFieldsProviderRatPanel"; -import AccessConfigFieldsProviderRFC2136 from "./AccessConfigFieldsProviderRFC2136"; -import AccessConfigFieldsProviderSafeLine from "./AccessConfigFieldsProviderSafeLine"; -import AccessConfigFieldsProviderSectigo from "./AccessConfigFieldsProviderSectigo"; -import AccessConfigFieldsProviderSlackBot from "./AccessConfigFieldsProviderSlackBot"; -import AccessConfigFieldsProviderSpaceship from "./AccessConfigFieldsProviderSpaceship"; -import AccessConfigFieldsProviderSSH from "./AccessConfigFieldsProviderSSH"; -import AccessConfigFieldsProviderSSLCom from "./AccessConfigFieldsProviderSSLCom"; -import AccessConfigFieldsProviderTechnitiumDNS from "./AccessConfigFieldsProviderTechnitiumDNS"; -import AccessConfigFieldsProviderTelegramBot from "./AccessConfigFieldsProviderTelegramBot"; -import AccessConfigFieldsProviderTencentCloud from "./AccessConfigFieldsProviderTencentCloud"; -import AccessConfigFieldsProviderUCloud from "./AccessConfigFieldsProviderUCloud"; -import AccessConfigFieldsProviderUniCloud from "./AccessConfigFieldsProviderUniCloud"; -import AccessConfigFieldsProviderUpyun from "./AccessConfigFieldsProviderUpyun"; -import AccessConfigFieldsProviderVercel from "./AccessConfigFieldsProviderVercel"; -import AccessConfigFieldsProviderVolcEngine from "./AccessConfigFieldsProviderVolcEngine"; -import AccessConfigFieldsProviderVultr from "./AccessConfigFieldsProviderVultr"; -import AccessConfigFieldsProviderWangsu from "./AccessConfigFieldsProviderWangsu"; -import AccessConfigFieldsProviderWebhook from "./AccessConfigFieldsProviderWebhook"; -import AccessConfigFieldsProviderWeComBot from "./AccessConfigFieldsProviderWeComBot"; -import AccessConfigFieldsProviderWestcn from "./AccessConfigFieldsProviderWestcn"; -import AccessConfigFieldsProviderXinnet from "./AccessConfigFieldsProviderXinnet"; -import AccessConfigFieldsProviderZeroSSL from "./AccessConfigFieldsProviderZeroSSL"; - -const providerComponentMap: Partial>> = { - /* - 注意:如果追加新的子组件,请保持以 ASCII 排序。 - NOTICE: If you add new child component, please keep ASCII order. - */ - [ACCESS_PROVIDERS["1PANEL"]]: AccessConfigFieldsProvider1Panel, - [ACCESS_PROVIDERS["35CN"]]: AccessConfigFieldsProvider35cn, - [ACCESS_PROVIDERS.ACMECA]: AccessConfigFieldsProviderACMECA, - [ACCESS_PROVIDERS.ACMEDNS]: AccessConfigFieldsProviderACMEDNS, - [ACCESS_PROVIDERS.ACMEHTTPREQ]: AccessConfigFieldsProviderACMEHttpReq, - [ACCESS_PROVIDERS.ACTALISSSL]: AccessConfigFieldsProviderActalisSSL, - [ACCESS_PROVIDERS.AKAMAI]: AccessConfigFieldsProviderAkamai, - [ACCESS_PROVIDERS.ALIYUN]: AccessConfigFieldsProviderAliyun, - [ACCESS_PROVIDERS.APISIX]: AccessConfigFieldsProviderAPISIX, - [ACCESS_PROVIDERS.ARVANCLOUD]: AccessConfigFieldsProviderArvanCloud, - [ACCESS_PROVIDERS.AWS]: AccessConfigFieldsProviderAWS, - [ACCESS_PROVIDERS.AZURE]: AccessConfigFieldsProviderAzure, - [ACCESS_PROVIDERS.BAIDUCLOUD]: AccessConfigFieldsProviderBaiduCloud, - [ACCESS_PROVIDERS.BAISHAN]: AccessConfigFieldsProviderBaishan, - [ACCESS_PROVIDERS.BAOTAPANEL]: AccessConfigFieldsProviderBaotaPanel, - [ACCESS_PROVIDERS.BAOTAPANELGO]: AccessConfigFieldsProviderBaotaPanelGo, - [ACCESS_PROVIDERS.BAOTAWAF]: AccessConfigFieldsProviderBaotaWAF, - [ACCESS_PROVIDERS.BOOKMYNAME]: AccessConfigFieldsProviderBookMyName, - [ACCESS_PROVIDERS.BUNNY]: AccessConfigFieldsProviderBunny, - [ACCESS_PROVIDERS.BYTEPLUS]: AccessConfigFieldsProviderBytePlus, - [ACCESS_PROVIDERS.CACHEFLY]: AccessConfigFieldsProviderCacheFly, - [ACCESS_PROVIDERS.CDNFLY]: AccessConfigFieldsProviderCdnfly, - [ACCESS_PROVIDERS.CLOUDFLARE]: AccessConfigFieldsProviderCloudflare, - [ACCESS_PROVIDERS.CLOUDNS]: AccessConfigFieldsProviderClouDNS, - [ACCESS_PROVIDERS.CMCCCLOUD]: AccessConfigFieldsProviderCMCCCloud, - [ACCESS_PROVIDERS.CONSTELLIX]: AccessConfigFieldsProviderConstellix, - [ACCESS_PROVIDERS.CTCCCLOUD]: AccessConfigFieldsProviderCTCCCloud, - [ACCESS_PROVIDERS.DESEC]: AccessConfigFieldsProviderDeSEC, - [ACCESS_PROVIDERS.DIGITALOCEAN]: AccessConfigFieldsProviderDigitalOcean, - [ACCESS_PROVIDERS.DINGTALKBOT]: AccessConfigFieldsProviderDingTalkBot, - [ACCESS_PROVIDERS.DISCORDBOT]: AccessConfigFieldsProviderDiscordBot, - [ACCESS_PROVIDERS.DNSLA]: AccessConfigFieldsProviderDNSLA, - [ACCESS_PROVIDERS.DNSMADEEASY]: AccessConfigFieldsProviderDNSMadeEasy, - [ACCESS_PROVIDERS.DOGECLOUD]: AccessConfigFieldsProviderDogeCloud, - [ACCESS_PROVIDERS.DUCKDNS]: AccessConfigFieldsProviderDuckDNS, - [ACCESS_PROVIDERS.DYNU]: AccessConfigFieldsProviderDynu, - [ACCESS_PROVIDERS.DYNV6]: AccessConfigFieldsProviderDynv6, - [ACCESS_PROVIDERS.EMAIL]: AccessConfigFieldsProviderEmail, - [ACCESS_PROVIDERS.FLEXCDN]: AccessConfigFieldsProviderFlexCDN, - [ACCESS_PROVIDERS.GANDINET]: AccessConfigFieldsProviderGandinet, - [ACCESS_PROVIDERS.GCORE]: AccessConfigFieldsProviderGcore, - [ACCESS_PROVIDERS.GNAME]: AccessConfigFieldsProviderGname, - [ACCESS_PROVIDERS.GODADDY]: AccessConfigFieldsProviderGoDaddy, - [ACCESS_PROVIDERS.GOEDGE]: AccessConfigFieldsProviderGoEdge, - [ACCESS_PROVIDERS.GLOBALSIGNATLAS]: AccessConfigFieldsProviderGlobalSignAtlas, - [ACCESS_PROVIDERS.GOOGLETRUSTSERVICES]: AccessConfigFieldsProviderGoogleTrustServices, - [ACCESS_PROVIDERS.HETZNER]: AccessConfigFieldsProviderHetzner, - [ACCESS_PROVIDERS.HOSTINGDE]: AccessConfigFieldsProviderHostingde, - [ACCESS_PROVIDERS.HOSTINGER]: AccessConfigFieldsProviderHostinger, - [ACCESS_PROVIDERS.HUAWEICLOUD]: AccessConfigFieldsProviderHuaweiCloud, - [ACCESS_PROVIDERS.IONOS]: AccessConfigFieldsProviderIONOS, - [ACCESS_PROVIDERS.JDCLOUD]: AccessConfigFieldsProviderJDCloud, - [ACCESS_PROVIDERS.KONG]: AccessConfigFieldsProviderKong, - [ACCESS_PROVIDERS.KUBERNETES]: AccessConfigFieldsProviderKubernetes, - [ACCESS_PROVIDERS.KSYUN]: AccessConfigFieldsProviderKsyun, - [ACCESS_PROVIDERS.LARKBOT]: AccessConfigFieldsProviderLarkBot, - [ACCESS_PROVIDERS.LECDN]: AccessConfigFieldsProviderLeCDN, - [ACCESS_PROVIDERS.INFOMANIAK]: AccessConfigFieldsProviderInfomaniak, - [ACCESS_PROVIDERS.LINODE]: AccessConfigFieldsProviderLinode, - [ACCESS_PROVIDERS.LITESSL]: AccessConfigFieldsProviderLiteSSL, - [ACCESS_PROVIDERS.MATTERMOST]: AccessConfigFieldsProviderMattermost, - [ACCESS_PROVIDERS.NAMECHEAP]: AccessConfigFieldsProviderNamecheap, - [ACCESS_PROVIDERS.NAMEDOTCOM]: AccessConfigFieldsProviderNameDotCom, - [ACCESS_PROVIDERS.NAMESILO]: AccessConfigFieldsProviderNameSilo, - [ACCESS_PROVIDERS.NETCUP]: AccessConfigFieldsProviderNetcup, - [ACCESS_PROVIDERS.NETLIFY]: AccessConfigFieldsProviderNetlify, - [ACCESS_PROVIDERS.NS1]: AccessConfigFieldsProviderNS1, - [ACCESS_PROVIDERS.OVHCLOUD]: AccessConfigFieldsProviderOVHcloud, - [ACCESS_PROVIDERS.PORKBUN]: AccessConfigFieldsProviderPorkbun, - [ACCESS_PROVIDERS.POWERDNS]: AccessConfigFieldsProviderPowerDNS, - [ACCESS_PROVIDERS.PROXMOXVE]: AccessConfigFieldsProviderProxmoxVE, - [ACCESS_PROVIDERS.QINGCLOUD]: AccessConfigFieldsProviderQingCloud, - [ACCESS_PROVIDERS.QINIU]: AccessConfigFieldsProviderQiniu, - [ACCESS_PROVIDERS.RAINYUN]: AccessConfigFieldsProviderRainYun, - [ACCESS_PROVIDERS.RATPANEL]: AccessConfigFieldsProviderRatPanel, - [ACCESS_PROVIDERS.RFC2136]: AccessConfigFieldsProviderRFC2136, - [ACCESS_PROVIDERS.SAFELINE]: AccessConfigFieldsProviderSafeLine, - [ACCESS_PROVIDERS.SECTIGO]: AccessConfigFieldsProviderSectigo, - [ACCESS_PROVIDERS.SLACKBOT]: AccessConfigFieldsProviderSlackBot, - [ACCESS_PROVIDERS.SPACESHIP]: AccessConfigFieldsProviderSpaceship, - [ACCESS_PROVIDERS.SSLCOM]: AccessConfigFieldsProviderSSLCom, - [ACCESS_PROVIDERS.SSH]: AccessConfigFieldsProviderSSH, - [ACCESS_PROVIDERS.TECHNITIUMDNS]: AccessConfigFieldsProviderTechnitiumDNS, - [ACCESS_PROVIDERS.TELEGRAMBOT]: AccessConfigFieldsProviderTelegramBot, - [ACCESS_PROVIDERS.TENCENTCLOUD]: AccessConfigFieldsProviderTencentCloud, - [ACCESS_PROVIDERS.UCLOUD]: AccessConfigFieldsProviderUCloud, - [ACCESS_PROVIDERS.UNICLOUD]: AccessConfigFieldsProviderUniCloud, - [ACCESS_PROVIDERS.UPYUN]: AccessConfigFieldsProviderUpyun, - [ACCESS_PROVIDERS.VERCEL]: AccessConfigFieldsProviderVercel, - [ACCESS_PROVIDERS.VOLCENGINE]: AccessConfigFieldsProviderVolcEngine, - [ACCESS_PROVIDERS.VULTR]: AccessConfigFieldsProviderVultr, - [ACCESS_PROVIDERS.WANGSU]: AccessConfigFieldsProviderWangsu, - [ACCESS_PROVIDERS.WEBHOOK]: AccessConfigFieldsProviderWebhook, - [ACCESS_PROVIDERS.WECOMBOT]: AccessConfigFieldsProviderWeComBot, - [ACCESS_PROVIDERS.WESTCN]: AccessConfigFieldsProviderWestcn, - [ACCESS_PROVIDERS.XINNET]: AccessConfigFieldsProviderXinnet, - [ACCESS_PROVIDERS.ZEROSSL]: AccessConfigFieldsProviderZeroSSL, -}; - -const useComponent = (provider: string, { initProps, deps = [] }: { initProps?: (provider: string) => any; deps?: unknown[] }) => { - const initComponent = () => { - const Component = providerComponentMap[provider as AccessProviderType]; - if (!Component) return null; - - const props = initProps?.(provider); - if (props) { - return ; - } - - return ; - }; - - const [component, setComponent] = useState(() => initComponent()); - - useEffect(() => setComponent(initComponent()), [provider]); - useEffect(() => setComponent(initComponent()), deps); - - return component; -}; - -const _default = { - useComponent, -}; - -export default _default; +import { useEffect, useState } from "react"; + +import { ACCESS_PROVIDERS, type AccessProviderType } from "@/domain/provider"; + +import AccessConfigFieldsProvider1Panel from "./AccessConfigFieldsProvider1Panel"; +import AccessConfigFieldsProvider35cn from "./AccessConfigFieldsProvider35cn"; +import AccessConfigFieldsProviderACMECA from "./AccessConfigFieldsProviderACMECA"; +import AccessConfigFieldsProviderACMEDNS from "./AccessConfigFieldsProviderACMEDNS"; +import AccessConfigFieldsProviderACMEHttpReq from "./AccessConfigFieldsProviderACMEHttpReq"; +import AccessConfigFieldsProviderActalisSSL from "./AccessConfigFieldsProviderActalisSSL"; +import AccessConfigFieldsProviderAkamai from "./AccessConfigFieldsProviderAkamai"; +import AccessConfigFieldsProviderAliyun from "./AccessConfigFieldsProviderAliyun"; +import AccessConfigFieldsProviderAPISIX from "./AccessConfigFieldsProviderAPISIX"; +import AccessConfigFieldsProviderArvanCloud from "./AccessConfigFieldsProviderArvanCloud"; +import AccessConfigFieldsProviderAWS from "./AccessConfigFieldsProviderAWS"; +import AccessConfigFieldsProviderAzure from "./AccessConfigFieldsProviderAzure"; +import AccessConfigFieldsProviderBaiduCloud from "./AccessConfigFieldsProviderBaiduCloud"; +import AccessConfigFieldsProviderBaishan from "./AccessConfigFieldsProviderBaishan"; +import AccessConfigFieldsProviderBaotaPanel from "./AccessConfigFieldsProviderBaotaPanel"; +import AccessConfigFieldsProviderBaotaPanelGo from "./AccessConfigFieldsProviderBaotaPanelGo"; +import AccessConfigFieldsProviderBaotaWAF from "./AccessConfigFieldsProviderBaotaWAF"; +import AccessConfigFieldsProviderBookMyName from "./AccessConfigFieldsProviderBookMyName"; +import AccessConfigFieldsProviderBunny from "./AccessConfigFieldsProviderBunny"; +import AccessConfigFieldsProviderBytePlus from "./AccessConfigFieldsProviderBytePlus"; +import AccessConfigFieldsProviderCacheFly from "./AccessConfigFieldsProviderCacheFly"; +import AccessConfigFieldsProviderCdnfly from "./AccessConfigFieldsProviderCdnfly"; +import AccessConfigFieldsProviderCloudflare from "./AccessConfigFieldsProviderCloudflare"; +import AccessConfigFieldsProviderClouDNS from "./AccessConfigFieldsProviderClouDNS"; +import AccessConfigFieldsProviderCMCCCloud from "./AccessConfigFieldsProviderCMCCCloud"; +import AccessConfigFieldsProviderConstellix from "./AccessConfigFieldsProviderConstellix"; +import AccessConfigFieldsProviderCTCCCloud from "./AccessConfigFieldsProviderCTCCCloud"; +import AccessConfigFieldsProviderDeSEC from "./AccessConfigFieldsProviderDeSEC"; +import AccessConfigFieldsProviderDigitalOcean from "./AccessConfigFieldsProviderDigitalOcean"; +import AccessConfigFieldsProviderDingTalkBot from "./AccessConfigFieldsProviderDingTalkBot"; +import AccessConfigFieldsProviderDiscordBot from "./AccessConfigFieldsProviderDiscordBot"; +import AccessConfigFieldsProviderDNSLA from "./AccessConfigFieldsProviderDNSLA"; +import AccessConfigFieldsProviderDNSMadeEasy from "./AccessConfigFieldsProviderDNSMadeEasy"; +import AccessConfigFieldsProviderDogeCloud from "./AccessConfigFieldsProviderDogeCloud"; +import AccessConfigFieldsProviderDuckDNS from "./AccessConfigFieldsProviderDuckDNS"; +import AccessConfigFieldsProviderDynu from "./AccessConfigFieldsProviderDynu"; +import AccessConfigFieldsProviderDynv6 from "./AccessConfigFieldsProviderDynv6"; +import AccessConfigFieldsProviderEmail from "./AccessConfigFieldsProviderEmail"; +import AccessConfigFieldsProviderFlexCDN from "./AccessConfigFieldsProviderFlexCDN"; +import AccessConfigFieldsProviderGandinet from "./AccessConfigFieldsProviderGandinet"; +import AccessConfigFieldsProviderGcore from "./AccessConfigFieldsProviderGcore"; +import AccessConfigFieldsProviderGlobalSignAtlas from "./AccessConfigFieldsProviderGlobalSignAtlas"; +import AccessConfigFieldsProviderGname from "./AccessConfigFieldsProviderGname"; +import AccessConfigFieldsProviderGoDaddy from "./AccessConfigFieldsProviderGoDaddy"; +import AccessConfigFieldsProviderGoEdge from "./AccessConfigFieldsProviderGoEdge"; +import AccessConfigFieldsProviderGoogleTrustServices from "./AccessConfigFieldsProviderGoogleTrustServices"; +import AccessConfigFieldsProviderHetzner from "./AccessConfigFieldsProviderHetzner"; +import AccessConfigFieldsProviderHostingde from "./AccessConfigFieldsProviderHostingde"; +import AccessConfigFieldsProviderHostinger from "./AccessConfigFieldsProviderHostinger"; +import AccessConfigFieldsProviderHuaweiCloud from "./AccessConfigFieldsProviderHuaweiCloud"; +import AccessConfigFieldsProviderInfomaniak from "./AccessConfigFieldsProviderInfomaniak"; +import AccessConfigFieldsProviderIONOS from "./AccessConfigFieldsProviderIONOS"; +import AccessConfigFieldsProviderJDCloud from "./AccessConfigFieldsProviderJDCloud"; +import AccessConfigFieldsProviderKong from "./AccessConfigFieldsProviderKong"; +import AccessConfigFieldsProviderKsyun from "./AccessConfigFieldsProviderKsyun"; +import AccessConfigFieldsProviderKubernetes from "./AccessConfigFieldsProviderKubernetes"; +import AccessConfigFieldsProviderLarkBot from "./AccessConfigFieldsProviderLarkBot"; +import AccessConfigFieldsProviderLeCDN from "./AccessConfigFieldsProviderLeCDN"; +import AccessConfigFieldsProviderLinode from "./AccessConfigFieldsProviderLinode"; +import AccessConfigFieldsProviderLiteSSL from "./AccessConfigFieldsProviderLiteSSL"; +import AccessConfigFieldsProviderMattermost from "./AccessConfigFieldsProviderMattermost"; +import AccessConfigFieldsProviderMohua from "./AccessConfigFieldsProviderMohua"; +import AccessConfigFieldsProviderNamecheap from "./AccessConfigFieldsProviderNamecheap"; +import AccessConfigFieldsProviderNameDotCom from "./AccessConfigFieldsProviderNameDotCom"; +import AccessConfigFieldsProviderNameSilo from "./AccessConfigFieldsProviderNameSilo"; +import AccessConfigFieldsProviderNetcup from "./AccessConfigFieldsProviderNetcup"; +import AccessConfigFieldsProviderNetlify from "./AccessConfigFieldsProviderNetlify"; +import AccessConfigFieldsProviderNS1 from "./AccessConfigFieldsProviderNS1"; +import AccessConfigFieldsProviderOVHcloud from "./AccessConfigFieldsProviderOVHcloud"; +import AccessConfigFieldsProviderPorkbun from "./AccessConfigFieldsProviderPorkbun"; +import AccessConfigFieldsProviderPowerDNS from "./AccessConfigFieldsProviderPowerDNS"; +import AccessConfigFieldsProviderProxmoxVE from "./AccessConfigFieldsProviderProxmoxVE"; +import AccessConfigFieldsProviderQingCloud from "./AccessConfigFieldsProviderQingCloud"; +import AccessConfigFieldsProviderQiniu from "./AccessConfigFieldsProviderQiniu"; +import AccessConfigFieldsProviderRainYun from "./AccessConfigFieldsProviderRainYun"; +import AccessConfigFieldsProviderRatPanel from "./AccessConfigFieldsProviderRatPanel"; +import AccessConfigFieldsProviderRFC2136 from "./AccessConfigFieldsProviderRFC2136"; +import AccessConfigFieldsProviderSafeLine from "./AccessConfigFieldsProviderSafeLine"; +import AccessConfigFieldsProviderSectigo from "./AccessConfigFieldsProviderSectigo"; +import AccessConfigFieldsProviderSlackBot from "./AccessConfigFieldsProviderSlackBot"; +import AccessConfigFieldsProviderSpaceship from "./AccessConfigFieldsProviderSpaceship"; +import AccessConfigFieldsProviderSSH from "./AccessConfigFieldsProviderSSH"; +import AccessConfigFieldsProviderSSLCom from "./AccessConfigFieldsProviderSSLCom"; +import AccessConfigFieldsProviderTechnitiumDNS from "./AccessConfigFieldsProviderTechnitiumDNS"; +import AccessConfigFieldsProviderTelegramBot from "./AccessConfigFieldsProviderTelegramBot"; +import AccessConfigFieldsProviderTencentCloud from "./AccessConfigFieldsProviderTencentCloud"; +import AccessConfigFieldsProviderUCloud from "./AccessConfigFieldsProviderUCloud"; +import AccessConfigFieldsProviderUniCloud from "./AccessConfigFieldsProviderUniCloud"; +import AccessConfigFieldsProviderUpyun from "./AccessConfigFieldsProviderUpyun"; +import AccessConfigFieldsProviderVercel from "./AccessConfigFieldsProviderVercel"; +import AccessConfigFieldsProviderVolcEngine from "./AccessConfigFieldsProviderVolcEngine"; +import AccessConfigFieldsProviderVultr from "./AccessConfigFieldsProviderVultr"; +import AccessConfigFieldsProviderWangsu from "./AccessConfigFieldsProviderWangsu"; +import AccessConfigFieldsProviderWebhook from "./AccessConfigFieldsProviderWebhook"; +import AccessConfigFieldsProviderWeComBot from "./AccessConfigFieldsProviderWeComBot"; +import AccessConfigFieldsProviderWestcn from "./AccessConfigFieldsProviderWestcn"; +import AccessConfigFieldsProviderXinnet from "./AccessConfigFieldsProviderXinnet"; +import AccessConfigFieldsProviderZeroSSL from "./AccessConfigFieldsProviderZeroSSL"; + +const providerComponentMap: Partial>> = { + /* + 注意:如果追加新的子组件,请保持以 ASCII 排序。 + NOTICE: If you add new child component, please keep ASCII order. + */ + [ACCESS_PROVIDERS["1PANEL"]]: AccessConfigFieldsProvider1Panel, + [ACCESS_PROVIDERS["35CN"]]: AccessConfigFieldsProvider35cn, + [ACCESS_PROVIDERS.ACMECA]: AccessConfigFieldsProviderACMECA, + [ACCESS_PROVIDERS.ACMEDNS]: AccessConfigFieldsProviderACMEDNS, + [ACCESS_PROVIDERS.ACMEHTTPREQ]: AccessConfigFieldsProviderACMEHttpReq, + [ACCESS_PROVIDERS.ACTALISSSL]: AccessConfigFieldsProviderActalisSSL, + [ACCESS_PROVIDERS.AKAMAI]: AccessConfigFieldsProviderAkamai, + [ACCESS_PROVIDERS.ALIYUN]: AccessConfigFieldsProviderAliyun, + [ACCESS_PROVIDERS.APISIX]: AccessConfigFieldsProviderAPISIX, + [ACCESS_PROVIDERS.ARVANCLOUD]: AccessConfigFieldsProviderArvanCloud, + [ACCESS_PROVIDERS.AWS]: AccessConfigFieldsProviderAWS, + [ACCESS_PROVIDERS.AZURE]: AccessConfigFieldsProviderAzure, + [ACCESS_PROVIDERS.BAIDUCLOUD]: AccessConfigFieldsProviderBaiduCloud, + [ACCESS_PROVIDERS.BAISHAN]: AccessConfigFieldsProviderBaishan, + [ACCESS_PROVIDERS.BAOTAPANEL]: AccessConfigFieldsProviderBaotaPanel, + [ACCESS_PROVIDERS.BAOTAPANELGO]: AccessConfigFieldsProviderBaotaPanelGo, + [ACCESS_PROVIDERS.BAOTAWAF]: AccessConfigFieldsProviderBaotaWAF, + [ACCESS_PROVIDERS.BOOKMYNAME]: AccessConfigFieldsProviderBookMyName, + [ACCESS_PROVIDERS.BUNNY]: AccessConfigFieldsProviderBunny, + [ACCESS_PROVIDERS.BYTEPLUS]: AccessConfigFieldsProviderBytePlus, + [ACCESS_PROVIDERS.CACHEFLY]: AccessConfigFieldsProviderCacheFly, + [ACCESS_PROVIDERS.CDNFLY]: AccessConfigFieldsProviderCdnfly, + [ACCESS_PROVIDERS.CLOUDFLARE]: AccessConfigFieldsProviderCloudflare, + [ACCESS_PROVIDERS.CLOUDNS]: AccessConfigFieldsProviderClouDNS, + [ACCESS_PROVIDERS.CMCCCLOUD]: AccessConfigFieldsProviderCMCCCloud, + [ACCESS_PROVIDERS.CONSTELLIX]: AccessConfigFieldsProviderConstellix, + [ACCESS_PROVIDERS.CTCCCLOUD]: AccessConfigFieldsProviderCTCCCloud, + [ACCESS_PROVIDERS.DESEC]: AccessConfigFieldsProviderDeSEC, + [ACCESS_PROVIDERS.DIGITALOCEAN]: AccessConfigFieldsProviderDigitalOcean, + [ACCESS_PROVIDERS.DINGTALKBOT]: AccessConfigFieldsProviderDingTalkBot, + [ACCESS_PROVIDERS.DISCORDBOT]: AccessConfigFieldsProviderDiscordBot, + [ACCESS_PROVIDERS.DNSLA]: AccessConfigFieldsProviderDNSLA, + [ACCESS_PROVIDERS.DNSMADEEASY]: AccessConfigFieldsProviderDNSMadeEasy, + [ACCESS_PROVIDERS.DOGECLOUD]: AccessConfigFieldsProviderDogeCloud, + [ACCESS_PROVIDERS.DUCKDNS]: AccessConfigFieldsProviderDuckDNS, + [ACCESS_PROVIDERS.DYNU]: AccessConfigFieldsProviderDynu, + [ACCESS_PROVIDERS.DYNV6]: AccessConfigFieldsProviderDynv6, + [ACCESS_PROVIDERS.EMAIL]: AccessConfigFieldsProviderEmail, + [ACCESS_PROVIDERS.FLEXCDN]: AccessConfigFieldsProviderFlexCDN, + [ACCESS_PROVIDERS.GANDINET]: AccessConfigFieldsProviderGandinet, + [ACCESS_PROVIDERS.GCORE]: AccessConfigFieldsProviderGcore, + [ACCESS_PROVIDERS.GNAME]: AccessConfigFieldsProviderGname, + [ACCESS_PROVIDERS.GODADDY]: AccessConfigFieldsProviderGoDaddy, + [ACCESS_PROVIDERS.GOEDGE]: AccessConfigFieldsProviderGoEdge, + [ACCESS_PROVIDERS.GLOBALSIGNATLAS]: AccessConfigFieldsProviderGlobalSignAtlas, + [ACCESS_PROVIDERS.GOOGLETRUSTSERVICES]: AccessConfigFieldsProviderGoogleTrustServices, + [ACCESS_PROVIDERS.HETZNER]: AccessConfigFieldsProviderHetzner, + [ACCESS_PROVIDERS.HOSTINGDE]: AccessConfigFieldsProviderHostingde, + [ACCESS_PROVIDERS.HOSTINGER]: AccessConfigFieldsProviderHostinger, + [ACCESS_PROVIDERS.HUAWEICLOUD]: AccessConfigFieldsProviderHuaweiCloud, + [ACCESS_PROVIDERS.IONOS]: AccessConfigFieldsProviderIONOS, + [ACCESS_PROVIDERS.JDCLOUD]: AccessConfigFieldsProviderJDCloud, + [ACCESS_PROVIDERS.KONG]: AccessConfigFieldsProviderKong, + [ACCESS_PROVIDERS.KUBERNETES]: AccessConfigFieldsProviderKubernetes, + [ACCESS_PROVIDERS.KSYUN]: AccessConfigFieldsProviderKsyun, + [ACCESS_PROVIDERS.LARKBOT]: AccessConfigFieldsProviderLarkBot, + [ACCESS_PROVIDERS.LECDN]: AccessConfigFieldsProviderLeCDN, + [ACCESS_PROVIDERS.INFOMANIAK]: AccessConfigFieldsProviderInfomaniak, + [ACCESS_PROVIDERS.LINODE]: AccessConfigFieldsProviderLinode, + [ACCESS_PROVIDERS.LITESSL]: AccessConfigFieldsProviderLiteSSL, + [ACCESS_PROVIDERS.MATTERMOST]: AccessConfigFieldsProviderMattermost, + [ACCESS_PROVIDERS.MOHUA]: AccessConfigFieldsProviderMohua, + [ACCESS_PROVIDERS.NAMECHEAP]: AccessConfigFieldsProviderNamecheap, + [ACCESS_PROVIDERS.NAMEDOTCOM]: AccessConfigFieldsProviderNameDotCom, + [ACCESS_PROVIDERS.NAMESILO]: AccessConfigFieldsProviderNameSilo, + [ACCESS_PROVIDERS.NETCUP]: AccessConfigFieldsProviderNetcup, + [ACCESS_PROVIDERS.NETLIFY]: AccessConfigFieldsProviderNetlify, + [ACCESS_PROVIDERS.NS1]: AccessConfigFieldsProviderNS1, + [ACCESS_PROVIDERS.OVHCLOUD]: AccessConfigFieldsProviderOVHcloud, + [ACCESS_PROVIDERS.PORKBUN]: AccessConfigFieldsProviderPorkbun, + [ACCESS_PROVIDERS.POWERDNS]: AccessConfigFieldsProviderPowerDNS, + [ACCESS_PROVIDERS.PROXMOXVE]: AccessConfigFieldsProviderProxmoxVE, + [ACCESS_PROVIDERS.QINGCLOUD]: AccessConfigFieldsProviderQingCloud, + [ACCESS_PROVIDERS.QINIU]: AccessConfigFieldsProviderQiniu, + [ACCESS_PROVIDERS.RAINYUN]: AccessConfigFieldsProviderRainYun, + [ACCESS_PROVIDERS.RATPANEL]: AccessConfigFieldsProviderRatPanel, + [ACCESS_PROVIDERS.RFC2136]: AccessConfigFieldsProviderRFC2136, + [ACCESS_PROVIDERS.SAFELINE]: AccessConfigFieldsProviderSafeLine, + [ACCESS_PROVIDERS.SECTIGO]: AccessConfigFieldsProviderSectigo, + [ACCESS_PROVIDERS.SLACKBOT]: AccessConfigFieldsProviderSlackBot, + [ACCESS_PROVIDERS.SPACESHIP]: AccessConfigFieldsProviderSpaceship, + [ACCESS_PROVIDERS.SSLCOM]: AccessConfigFieldsProviderSSLCom, + [ACCESS_PROVIDERS.SSH]: AccessConfigFieldsProviderSSH, + [ACCESS_PROVIDERS.TECHNITIUMDNS]: AccessConfigFieldsProviderTechnitiumDNS, + [ACCESS_PROVIDERS.TELEGRAMBOT]: AccessConfigFieldsProviderTelegramBot, + [ACCESS_PROVIDERS.TENCENTCLOUD]: AccessConfigFieldsProviderTencentCloud, + [ACCESS_PROVIDERS.UCLOUD]: AccessConfigFieldsProviderUCloud, + [ACCESS_PROVIDERS.UNICLOUD]: AccessConfigFieldsProviderUniCloud, + [ACCESS_PROVIDERS.UPYUN]: AccessConfigFieldsProviderUpyun, + [ACCESS_PROVIDERS.VERCEL]: AccessConfigFieldsProviderVercel, + [ACCESS_PROVIDERS.VOLCENGINE]: AccessConfigFieldsProviderVolcEngine, + [ACCESS_PROVIDERS.VULTR]: AccessConfigFieldsProviderVultr, + [ACCESS_PROVIDERS.WANGSU]: AccessConfigFieldsProviderWangsu, + [ACCESS_PROVIDERS.WEBHOOK]: AccessConfigFieldsProviderWebhook, + [ACCESS_PROVIDERS.WECOMBOT]: AccessConfigFieldsProviderWeComBot, + [ACCESS_PROVIDERS.WESTCN]: AccessConfigFieldsProviderWestcn, + [ACCESS_PROVIDERS.XINNET]: AccessConfigFieldsProviderXinnet, + [ACCESS_PROVIDERS.ZEROSSL]: AccessConfigFieldsProviderZeroSSL, +}; + +const useComponent = (provider: string, { initProps, deps = [] }: { initProps?: (provider: string) => any; deps?: unknown[] }) => { + const initComponent = () => { + const Component = providerComponentMap[provider as AccessProviderType]; + if (!Component) return null; + + const props = initProps?.(provider); + if (props) { + return ; + } + + return ; + }; + + const [component, setComponent] = useState(() => initComponent()); + + useEffect(() => setComponent(initComponent()), [provider]); + useEffect(() => setComponent(initComponent()), deps); + + return component; +}; + +const _default = { + useComponent, +}; + +export default _default; diff --git a/ui/src/components/access/forms/AccessConfigFieldsProviderMohua.tsx b/ui/src/components/access/forms/AccessConfigFieldsProviderMohua.tsx new file mode 100644 index 00000000..7c64cc27 --- /dev/null +++ b/ui/src/components/access/forms/AccessConfigFieldsProviderMohua.tsx @@ -0,0 +1,63 @@ +import { getI18n, useTranslation } from "react-i18next"; +import { Form, Input } from "antd"; +import { createSchemaFieldRule } from "antd-zod"; +import { z } from "zod"; + +import { useFormNestedFieldsContext } from "./_context"; + +const AccessConfigFormFieldsProviderMohua = () => { + const { i18n, t } = useTranslation(); + + const { parentNamePath } = useFormNestedFieldsContext(); + const formSchema = z.object({ + [parentNamePath]: getSchema({ i18n }), + }); + const formRule = createSchemaFieldRule(formSchema); + const initialValues = getInitialValues(); + + return ( + <> + + + + + } + > + + + + ); +}; + +const getInitialValues = (): Nullish>> => { + return { + username: "", + apiPassword: "", + }; +}; + +const getSchema = ({ i18n = getI18n() }: { i18n: ReturnType }) => { + const { t } = i18n; + + return z.object({ + username: z.string().nonempty(t("access.form.mohua_username.placeholder")), + apiPassword: z.string().nonempty(t("access.form.mohua_api_password.placeholder")), + }); +}; + +const _default = Object.assign(AccessConfigFormFieldsProviderMohua, { + getInitialValues, + getSchema, +}); + +export default _default; diff --git a/ui/src/components/workflow/designer/forms/BizDeployNodeConfigFieldsProvider.tsx b/ui/src/components/workflow/designer/forms/BizDeployNodeConfigFieldsProvider.tsx index c9848a8c..4ae7ef0b 100644 --- a/ui/src/components/workflow/designer/forms/BizDeployNodeConfigFieldsProvider.tsx +++ b/ui/src/components/workflow/designer/forms/BizDeployNodeConfigFieldsProvider.tsx @@ -1,230 +1,232 @@ -import { useEffect, useState } from "react"; - -import { DEPLOYMENT_PROVIDERS, type DeploymentProviderType } from "@/domain/provider"; - -import BizDeployNodeConfigFieldsProvider1PanelConsole from "./BizDeployNodeConfigFieldsProvider1PanelConsole"; -import BizDeployNodeConfigFieldsProvider1PanelSite from "./BizDeployNodeConfigFieldsProvider1PanelSite"; -import BizDeployNodeConfigFieldsProviderAliyunALB from "./BizDeployNodeConfigFieldsProviderAliyunALB"; -import BizDeployNodeConfigFieldsProviderAliyunAPIGW from "./BizDeployNodeConfigFieldsProviderAliyunAPIGW"; -import BizDeployNodeConfigFieldsProviderAliyunCAS from "./BizDeployNodeConfigFieldsProviderAliyunCAS"; -import BizDeployNodeConfigFieldsProviderAliyunCASDeploy from "./BizDeployNodeConfigFieldsProviderAliyunCASDeploy"; -import BizDeployNodeConfigFieldsProviderAliyunCDN from "./BizDeployNodeConfigFieldsProviderAliyunCDN"; -import BizDeployNodeConfigFieldsProviderAliyunCLB from "./BizDeployNodeConfigFieldsProviderAliyunCLB"; -import BizDeployNodeConfigFieldsProviderAliyunDCDN from "./BizDeployNodeConfigFieldsProviderAliyunDCDN"; -import BizDeployNodeConfigFieldsProviderAliyunDDoSPro from "./BizDeployNodeConfigFieldsProviderAliyunDDoSPro"; -import BizDeployNodeConfigFieldsProviderAliyunESA from "./BizDeployNodeConfigFieldsProviderAliyunESA"; -import BizDeployNodeConfigFieldsProviderAliyunFC from "./BizDeployNodeConfigFieldsProviderAliyunFC"; -import BizDeployNodeConfigFieldsProviderAliyunGA from "./BizDeployNodeConfigFieldsProviderAliyunGA"; -import BizDeployNodeConfigFieldsProviderAliyunLive from "./BizDeployNodeConfigFieldsProviderAliyunLive"; -import BizDeployNodeConfigFieldsProviderAliyunNLB from "./BizDeployNodeConfigFieldsProviderAliyunNLB"; -import BizDeployNodeConfigFieldsProviderAliyunOSS from "./BizDeployNodeConfigFieldsProviderAliyunOSS"; -import BizDeployNodeConfigFieldsProviderAliyunVOD from "./BizDeployNodeConfigFieldsProviderAliyunVOD"; -import BizDeployNodeConfigFieldsProviderAliyunWAF from "./BizDeployNodeConfigFieldsProviderAliyunWAF"; -import BizDeployNodeConfigFieldsProviderAPISIX from "./BizDeployNodeConfigFieldsProviderAPISIX"; -import BizDeployNodeConfigFieldsProviderAWSACM from "./BizDeployNodeConfigFieldsProviderAWSACM"; -import BizDeployNodeConfigFieldsProviderAWSCloudFront from "./BizDeployNodeConfigFieldsProviderAWSCloudFront"; -import BizDeployNodeConfigFieldsProviderAWSIAM from "./BizDeployNodeConfigFieldsProviderAWSIAM"; -import BizDeployNodeConfigFieldsProviderAzureKeyVault from "./BizDeployNodeConfigFieldsProviderAzureKeyVault"; -import BizDeployNodeConfigFieldsProviderBaiduCloudAppBLB from "./BizDeployNodeConfigFieldsProviderBaiduCloudAppBLB"; -import BizDeployNodeConfigFieldsProviderBaiduCloudBLB from "./BizDeployNodeConfigFieldsProviderBaiduCloudBLB"; -import BizDeployNodeConfigFieldsProviderBaiduCloudCDN from "./BizDeployNodeConfigFieldsProviderBaiduCloudCDN"; -import BizDeployNodeConfigFieldsProviderBaishanCDN from "./BizDeployNodeConfigFieldsProviderBaishanCDN"; -import BizDeployNodeConfigFieldsProviderBaotaPanelConsole from "./BizDeployNodeConfigFieldsProviderBaotaPanelConsole"; -import BizDeployNodeConfigFieldsProviderBaotaPanelGoConsole from "./BizDeployNodeConfigFieldsProviderBaotaPanelGoConsole"; -import BizDeployNodeConfigFieldsProviderBaotaPanelGoSite from "./BizDeployNodeConfigFieldsProviderBaotaPanelGoSite"; -import BizDeployNodeConfigFieldsProviderBaotaPanelSite from "./BizDeployNodeConfigFieldsProviderBaotaPanelSite"; -import BizDeployNodeConfigFieldsProviderBaotaWAFSite from "./BizDeployNodeConfigFieldsProviderBaotaWAFSite"; -import BizDeployNodeConfigFieldsProviderBunnyCDN from "./BizDeployNodeConfigFieldsProviderBunnyCDN"; -import BizDeployNodeConfigFieldsProviderBytePlusCDN from "./BizDeployNodeConfigFieldsProviderBytePlusCDN"; -import BizDeployNodeConfigFieldsProviderCdnfly from "./BizDeployNodeConfigFieldsProviderCdnfly"; -import BizDeployNodeConfigFieldsProviderCTCCCloudAO from "./BizDeployNodeConfigFieldsProviderCTCCCloudAO"; -import BizDeployNodeConfigFieldsProviderCTCCCloudCDN from "./BizDeployNodeConfigFieldsProviderCTCCCloudCDN"; -import BizDeployNodeConfigFieldsProviderCTCCCloudELB from "./BizDeployNodeConfigFieldsProviderCTCCCloudELB"; -import BizDeployNodeConfigFieldsProviderCTCCCloudICDN from "./BizDeployNodeConfigFieldsProviderCTCCCloudICDN"; -import BizDeployNodeConfigFieldsProviderCTCCCloudLVDN from "./BizDeployNodeConfigFieldsProviderCTCCCloudLVDN"; -import BizDeployNodeConfigFieldsProviderDogeCloudCDN from "./BizDeployNodeConfigFieldsProviderDogeCloudCDN"; -import BizDeployNodeConfigFieldsProviderFlexCDN from "./BizDeployNodeConfigFieldsProviderFlexCDN"; -import BizDeployNodeConfigFieldsProviderGcoreCDN from "./BizDeployNodeConfigFieldsProviderGcoreCDN"; -import BizDeployNodeConfigFieldsProviderGoEdge from "./BizDeployNodeConfigFieldsProviderGoEdge"; -import BizDeployNodeConfigFieldsProviderHuaweiCloudCDN from "./BizDeployNodeConfigFieldsProviderHuaweiCloudCDN"; -import BizDeployNodeConfigFieldsProviderHuaweiCloudELB from "./BizDeployNodeConfigFieldsProviderHuaweiCloudELB"; -import BizDeployNodeConfigFieldsProviderHuaweiCloudOBS from "./BizDeployNodeConfigFieldsProviderHuaweiCloudOBS"; -import BizDeployNodeConfigFieldsProviderHuaweiCloudWAF from "./BizDeployNodeConfigFieldsProviderHuaweiCloudWAF"; -import BizDeployNodeConfigFieldsProviderJDCloudALB from "./BizDeployNodeConfigFieldsProviderJDCloudALB"; -import BizDeployNodeConfigFieldsProviderJDCloudCDN from "./BizDeployNodeConfigFieldsProviderJDCloudCDN"; -import BizDeployNodeConfigFieldsProviderJDCloudLive from "./BizDeployNodeConfigFieldsProviderJDCloudLive"; -import BizDeployNodeConfigFieldsProviderJDCloudVOD from "./BizDeployNodeConfigFieldsProviderJDCloudVOD"; -import BizDeployNodeConfigFieldsProviderKong from "./BizDeployNodeConfigFieldsProviderKong"; -import BizDeployNodeConfigFieldsProviderKsyunCDN from "./BizDeployNodeConfigFieldsProviderKsyunCDN"; -import BizDeployNodeConfigFieldsProviderKubernetesSecret from "./BizDeployNodeConfigFieldsProviderKubernetesSecret"; -import BizDeployNodeConfigFieldsProviderLeCDN from "./BizDeployNodeConfigFieldsProviderLeCDN"; -import BizDeployNodeConfigFieldsProviderLocal from "./BizDeployNodeConfigFieldsProviderLocal"; -import BizDeployNodeConfigFieldsProviderNetlifySite from "./BizDeployNodeConfigFieldsProviderNetlifySite"; -import BizDeployNodeConfigFieldsProviderProxmoxVE from "./BizDeployNodeConfigFieldsProviderProxmoxVE"; -import BizDeployNodeConfigFieldsProviderQiniuCDN from "./BizDeployNodeConfigFieldsProviderQiniuCDN"; -import BizDeployNodeConfigFieldsProviderQiniuKodo from "./BizDeployNodeConfigFieldsProviderQiniuKodo"; -import BizDeployNodeConfigFieldsProviderQiniuPili from "./BizDeployNodeConfigFieldsProviderQiniuPili"; -import BizDeployNodeConfigFieldsProviderRainYunRCDN from "./BizDeployNodeConfigFieldsProviderRainYunRCDN"; -import BizDeployNodeConfigFieldsProviderRatPanelSite from "./BizDeployNodeConfigFieldsProviderRatPanelSite"; -import BizDeployNodeConfigFieldsProviderSafeLineSite from "./BizDeployNodeConfigFieldsProviderSafeLineSite"; -import BizDeployNodeConfigFieldsProviderSSH from "./BizDeployNodeConfigFieldsProviderSSH"; -import BizDeployNodeConfigFieldsProviderTencentCloudCDN from "./BizDeployNodeConfigFieldsProviderTencentCloudCDN"; -import BizDeployNodeConfigFieldsProviderTencentCloudCLB from "./BizDeployNodeConfigFieldsProviderTencentCloudCLB"; -import BizDeployNodeConfigFieldsProviderTencentCloudCOS from "./BizDeployNodeConfigFieldsProviderTencentCloudCOS"; -import BizDeployNodeConfigFieldsProviderTencentCloudCSS from "./BizDeployNodeConfigFieldsProviderTencentCloudCSS"; -import BizDeployNodeConfigFieldsProviderTencentCloudECDN from "./BizDeployNodeConfigFieldsProviderTencentCloudECDN"; -import BizDeployNodeConfigFieldsProviderTencentCloudEO from "./BizDeployNodeConfigFieldsProviderTencentCloudEO"; -import BizDeployNodeConfigFieldsProviderTencentCloudGAAP from "./BizDeployNodeConfigFieldsProviderTencentCloudGAAP"; -import BizDeployNodeConfigFieldsProviderTencentCloudSCF from "./BizDeployNodeConfigFieldsProviderTencentCloudSCF"; -import BizDeployNodeConfigFieldsProviderTencentCloudSSL from "./BizDeployNodeConfigFieldsProviderTencentCloudSSL"; -import BizDeployNodeConfigFieldsProviderTencentCloudSSLDeploy from "./BizDeployNodeConfigFieldsProviderTencentCloudSSLDeploy"; -import BizDeployNodeConfigFieldsProviderTencentCloudSSLUpdate from "./BizDeployNodeConfigFieldsProviderTencentCloudSSLUpdate"; -import BizDeployNodeConfigFieldsProviderTencentCloudVOD from "./BizDeployNodeConfigFieldsProviderTencentCloudVOD"; -import BizDeployNodeConfigFieldsProviderTencentCloudWAF from "./BizDeployNodeConfigFieldsProviderTencentCloudWAF"; -import BizDeployNodeConfigFieldsProviderUCloudUCDN from "./BizDeployNodeConfigFieldsProviderUCloudUCDN"; -import BizDeployNodeConfigFieldsProviderUCloudUS3 from "./BizDeployNodeConfigFieldsProviderUCloudUS3"; -import BizDeployNodeConfigFieldsProviderUniCloudWebHost from "./BizDeployNodeConfigFieldsProviderUniCloudWebHost"; -import BizDeployNodeConfigFieldsProviderUpyunCDN from "./BizDeployNodeConfigFieldsProviderUpyunCDN"; -import BizDeployNodeConfigFieldsProviderUpyunFile from "./BizDeployNodeConfigFieldsProviderUpyunFile"; -import BizDeployNodeConfigFieldsProviderVolcEngineALB from "./BizDeployNodeConfigFieldsProviderVolcEngineALB"; -import BizDeployNodeConfigFieldsProviderVolcEngineCDN from "./BizDeployNodeConfigFieldsProviderVolcEngineCDN"; -import BizDeployNodeConfigFieldsProviderVolcEngineCertCenter from "./BizDeployNodeConfigFieldsProviderVolcEngineCertCenter"; -import BizDeployNodeConfigFieldsProviderVolcEngineCLB from "./BizDeployNodeConfigFieldsProviderVolcEngineCLB"; -import BizDeployNodeConfigFieldsProviderVolcEngineDCDN from "./BizDeployNodeConfigFieldsProviderVolcEngineDCDN"; -import BizDeployNodeConfigFieldsProviderVolcEngineImageX from "./BizDeployNodeConfigFieldsProviderVolcEngineImageX"; -import BizDeployNodeConfigFieldsProviderVolcEngineLive from "./BizDeployNodeConfigFieldsProviderVolcEngineLive"; -import BizDeployNodeConfigFieldsProviderVolcEngineTOS from "./BizDeployNodeConfigFieldsProviderVolcEngineTOS"; -import BizDeployNodeConfigFieldsProviderWangsuCDN from "./BizDeployNodeConfigFieldsProviderWangsuCDN"; -import BizDeployNodeConfigFieldsProviderWangsuCDNPro from "./BizDeployNodeConfigFieldsProviderWangsuCDNPro"; -import BizDeployNodeConfigFieldsProviderWangsuCertificate from "./BizDeployNodeConfigFieldsProviderWangsuCertificate"; -import BizDeployNodeConfigFieldsProviderWebhook from "./BizDeployNodeConfigFieldsProviderWebhook"; - -const providerComponentMap: Partial>> = { - /* - 注意:如果追加新的子组件,请保持以 ASCII 排序。 - NOTICE: If you add new child component, please keep ASCII order. - */ - [DEPLOYMENT_PROVIDERS["1PANEL_CONSOLE"]]: BizDeployNodeConfigFieldsProvider1PanelConsole, - [DEPLOYMENT_PROVIDERS["1PANEL_SITE"]]: BizDeployNodeConfigFieldsProvider1PanelSite, - [DEPLOYMENT_PROVIDERS.ALIYUN_ALB]: BizDeployNodeConfigFieldsProviderAliyunALB, - [DEPLOYMENT_PROVIDERS.ALIYUN_APIGW]: BizDeployNodeConfigFieldsProviderAliyunAPIGW, - [DEPLOYMENT_PROVIDERS.ALIYUN_CAS]: BizDeployNodeConfigFieldsProviderAliyunCAS, - [DEPLOYMENT_PROVIDERS.ALIYUN_CAS_DEPLOY]: BizDeployNodeConfigFieldsProviderAliyunCASDeploy, - [DEPLOYMENT_PROVIDERS.ALIYUN_CLB]: BizDeployNodeConfigFieldsProviderAliyunCLB, - [DEPLOYMENT_PROVIDERS.ALIYUN_CDN]: BizDeployNodeConfigFieldsProviderAliyunCDN, - [DEPLOYMENT_PROVIDERS.ALIYUN_DCDN]: BizDeployNodeConfigFieldsProviderAliyunDCDN, - [DEPLOYMENT_PROVIDERS.ALIYUN_DDOSPRO]: BizDeployNodeConfigFieldsProviderAliyunDDoSPro, - [DEPLOYMENT_PROVIDERS.ALIYUN_ESA]: BizDeployNodeConfigFieldsProviderAliyunESA, - [DEPLOYMENT_PROVIDERS.ALIYUN_FC]: BizDeployNodeConfigFieldsProviderAliyunFC, - [DEPLOYMENT_PROVIDERS.ALIYUN_GA]: BizDeployNodeConfigFieldsProviderAliyunGA, - [DEPLOYMENT_PROVIDERS.ALIYUN_LIVE]: BizDeployNodeConfigFieldsProviderAliyunLive, - [DEPLOYMENT_PROVIDERS.ALIYUN_NLB]: BizDeployNodeConfigFieldsProviderAliyunNLB, - [DEPLOYMENT_PROVIDERS.ALIYUN_OSS]: BizDeployNodeConfigFieldsProviderAliyunOSS, - [DEPLOYMENT_PROVIDERS.ALIYUN_VOD]: BizDeployNodeConfigFieldsProviderAliyunVOD, - [DEPLOYMENT_PROVIDERS.ALIYUN_WAF]: BizDeployNodeConfigFieldsProviderAliyunWAF, - [DEPLOYMENT_PROVIDERS.APISIX]: BizDeployNodeConfigFieldsProviderAPISIX, - [DEPLOYMENT_PROVIDERS.AWS_ACM]: BizDeployNodeConfigFieldsProviderAWSACM, - [DEPLOYMENT_PROVIDERS.AWS_CLOUDFRONT]: BizDeployNodeConfigFieldsProviderAWSCloudFront, - [DEPLOYMENT_PROVIDERS.AWS_IAM]: BizDeployNodeConfigFieldsProviderAWSIAM, - [DEPLOYMENT_PROVIDERS.AZURE_KEYVAULT]: BizDeployNodeConfigFieldsProviderAzureKeyVault, - [DEPLOYMENT_PROVIDERS.BAIDUCLOUD_APPBLB]: BizDeployNodeConfigFieldsProviderBaiduCloudAppBLB, - [DEPLOYMENT_PROVIDERS.BAIDUCLOUD_BLB]: BizDeployNodeConfigFieldsProviderBaiduCloudBLB, - [DEPLOYMENT_PROVIDERS.BAIDUCLOUD_CDN]: BizDeployNodeConfigFieldsProviderBaiduCloudCDN, - [DEPLOYMENT_PROVIDERS.BAISHAN_CDN]: BizDeployNodeConfigFieldsProviderBaishanCDN, - [DEPLOYMENT_PROVIDERS.BAOTAPANEL_CONSOLE]: BizDeployNodeConfigFieldsProviderBaotaPanelConsole, - [DEPLOYMENT_PROVIDERS.BAOTAPANEL_SITE]: BizDeployNodeConfigFieldsProviderBaotaPanelSite, - [DEPLOYMENT_PROVIDERS.BAOTAPANELGO_CONSOLE]: BizDeployNodeConfigFieldsProviderBaotaPanelGoConsole, - [DEPLOYMENT_PROVIDERS.BAOTAPANELGO_SITE]: BizDeployNodeConfigFieldsProviderBaotaPanelGoSite, - [DEPLOYMENT_PROVIDERS.BAOTAWAF_SITE]: BizDeployNodeConfigFieldsProviderBaotaWAFSite, - [DEPLOYMENT_PROVIDERS.BUNNY_CDN]: BizDeployNodeConfigFieldsProviderBunnyCDN, - [DEPLOYMENT_PROVIDERS.BYTEPLUS_CDN]: BizDeployNodeConfigFieldsProviderBytePlusCDN, - [DEPLOYMENT_PROVIDERS.CDNFLY]: BizDeployNodeConfigFieldsProviderCdnfly, - [DEPLOYMENT_PROVIDERS.CTCCCLOUD_AO]: BizDeployNodeConfigFieldsProviderCTCCCloudAO, - [DEPLOYMENT_PROVIDERS.CTCCCLOUD_CDN]: BizDeployNodeConfigFieldsProviderCTCCCloudCDN, - [DEPLOYMENT_PROVIDERS.CTCCCLOUD_ELB]: BizDeployNodeConfigFieldsProviderCTCCCloudELB, - [DEPLOYMENT_PROVIDERS.CTCCCLOUD_ICDN]: BizDeployNodeConfigFieldsProviderCTCCCloudICDN, - [DEPLOYMENT_PROVIDERS.CTCCCLOUD_LVDN]: BizDeployNodeConfigFieldsProviderCTCCCloudLVDN, - [DEPLOYMENT_PROVIDERS.DOGECLOUD_CDN]: BizDeployNodeConfigFieldsProviderDogeCloudCDN, - [DEPLOYMENT_PROVIDERS.FLEXCDN]: BizDeployNodeConfigFieldsProviderFlexCDN, - [DEPLOYMENT_PROVIDERS.GCORE_CDN]: BizDeployNodeConfigFieldsProviderGcoreCDN, - [DEPLOYMENT_PROVIDERS.GOEDGE]: BizDeployNodeConfigFieldsProviderGoEdge, - [DEPLOYMENT_PROVIDERS.HUAWEICLOUD_CDN]: BizDeployNodeConfigFieldsProviderHuaweiCloudCDN, - [DEPLOYMENT_PROVIDERS.HUAWEICLOUD_ELB]: BizDeployNodeConfigFieldsProviderHuaweiCloudELB, - [DEPLOYMENT_PROVIDERS.HUAWEICLOUD_OBS]: BizDeployNodeConfigFieldsProviderHuaweiCloudOBS, - [DEPLOYMENT_PROVIDERS.HUAWEICLOUD_WAF]: BizDeployNodeConfigFieldsProviderHuaweiCloudWAF, - [DEPLOYMENT_PROVIDERS.JDCLOUD_ALB]: BizDeployNodeConfigFieldsProviderJDCloudALB, - [DEPLOYMENT_PROVIDERS.JDCLOUD_CDN]: BizDeployNodeConfigFieldsProviderJDCloudCDN, - [DEPLOYMENT_PROVIDERS.JDCLOUD_LIVE]: BizDeployNodeConfigFieldsProviderJDCloudLive, - [DEPLOYMENT_PROVIDERS.JDCLOUD_VOD]: BizDeployNodeConfigFieldsProviderJDCloudVOD, - [DEPLOYMENT_PROVIDERS.KONG]: BizDeployNodeConfigFieldsProviderKong, - [DEPLOYMENT_PROVIDERS.KUBERNETES_SECRET]: BizDeployNodeConfigFieldsProviderKubernetesSecret, - [DEPLOYMENT_PROVIDERS.KSYUN_CDN]: BizDeployNodeConfigFieldsProviderKsyunCDN, - [DEPLOYMENT_PROVIDERS.LECDN]: BizDeployNodeConfigFieldsProviderLeCDN, - [DEPLOYMENT_PROVIDERS.LOCAL]: BizDeployNodeConfigFieldsProviderLocal, - [DEPLOYMENT_PROVIDERS.NETLIFY_SITE]: BizDeployNodeConfigFieldsProviderNetlifySite, - [DEPLOYMENT_PROVIDERS.PROXMOXVE]: BizDeployNodeConfigFieldsProviderProxmoxVE, - [DEPLOYMENT_PROVIDERS.QINIU_CDN]: BizDeployNodeConfigFieldsProviderQiniuCDN, - [DEPLOYMENT_PROVIDERS.QINIU_KODO]: BizDeployNodeConfigFieldsProviderQiniuKodo, - [DEPLOYMENT_PROVIDERS.QINIU_PILI]: BizDeployNodeConfigFieldsProviderQiniuPili, - [DEPLOYMENT_PROVIDERS.RAINYUN_RCDN]: BizDeployNodeConfigFieldsProviderRainYunRCDN, - [DEPLOYMENT_PROVIDERS.RATPANEL_SITE]: BizDeployNodeConfigFieldsProviderRatPanelSite, - [DEPLOYMENT_PROVIDERS.SAFELINE_SITE]: BizDeployNodeConfigFieldsProviderSafeLineSite, - [DEPLOYMENT_PROVIDERS.SSH]: BizDeployNodeConfigFieldsProviderSSH, - [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_CDN]: BizDeployNodeConfigFieldsProviderTencentCloudCDN, - [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_CLB]: BizDeployNodeConfigFieldsProviderTencentCloudCLB, - [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_COS]: BizDeployNodeConfigFieldsProviderTencentCloudCOS, - [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_CSS]: BizDeployNodeConfigFieldsProviderTencentCloudCSS, - [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_ECDN]: BizDeployNodeConfigFieldsProviderTencentCloudECDN, - [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_EO]: BizDeployNodeConfigFieldsProviderTencentCloudEO, - [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_GAAP]: BizDeployNodeConfigFieldsProviderTencentCloudGAAP, - [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_SCF]: BizDeployNodeConfigFieldsProviderTencentCloudSCF, - [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_SSL]: BizDeployNodeConfigFieldsProviderTencentCloudSSL, - [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_SSL_DEPLOY]: BizDeployNodeConfigFieldsProviderTencentCloudSSLDeploy, - [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_SSL_UPDATE]: BizDeployNodeConfigFieldsProviderTencentCloudSSLUpdate, - [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_VOD]: BizDeployNodeConfigFieldsProviderTencentCloudVOD, - [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_WAF]: BizDeployNodeConfigFieldsProviderTencentCloudWAF, - [DEPLOYMENT_PROVIDERS.UCLOUD_UCDN]: BizDeployNodeConfigFieldsProviderUCloudUCDN, - [DEPLOYMENT_PROVIDERS.UCLOUD_US3]: BizDeployNodeConfigFieldsProviderUCloudUS3, - [DEPLOYMENT_PROVIDERS.UNICLOUD_WEBHOST]: BizDeployNodeConfigFieldsProviderUniCloudWebHost, - [DEPLOYMENT_PROVIDERS.UPYUN_CDN]: BizDeployNodeConfigFieldsProviderUpyunCDN, - [DEPLOYMENT_PROVIDERS.UPYUN_FILE]: BizDeployNodeConfigFieldsProviderUpyunFile, - [DEPLOYMENT_PROVIDERS.VOLCENGINE_ALB]: BizDeployNodeConfigFieldsProviderVolcEngineALB, - [DEPLOYMENT_PROVIDERS.VOLCENGINE_CDN]: BizDeployNodeConfigFieldsProviderVolcEngineCDN, - [DEPLOYMENT_PROVIDERS.VOLCENGINE_CERTCENTER]: BizDeployNodeConfigFieldsProviderVolcEngineCertCenter, - [DEPLOYMENT_PROVIDERS.VOLCENGINE_CLB]: BizDeployNodeConfigFieldsProviderVolcEngineCLB, - [DEPLOYMENT_PROVIDERS.VOLCENGINE_DCDN]: BizDeployNodeConfigFieldsProviderVolcEngineDCDN, - [DEPLOYMENT_PROVIDERS.VOLCENGINE_IMAGEX]: BizDeployNodeConfigFieldsProviderVolcEngineImageX, - [DEPLOYMENT_PROVIDERS.VOLCENGINE_LIVE]: BizDeployNodeConfigFieldsProviderVolcEngineLive, - [DEPLOYMENT_PROVIDERS.VOLCENGINE_TOS]: BizDeployNodeConfigFieldsProviderVolcEngineTOS, - [DEPLOYMENT_PROVIDERS.WANGSU_CDN]: BizDeployNodeConfigFieldsProviderWangsuCDN, - [DEPLOYMENT_PROVIDERS.WANGSU_CDNPRO]: BizDeployNodeConfigFieldsProviderWangsuCDNPro, - [DEPLOYMENT_PROVIDERS.WANGSU_CERTIFICATE]: BizDeployNodeConfigFieldsProviderWangsuCertificate, - [DEPLOYMENT_PROVIDERS.WEBHOOK]: BizDeployNodeConfigFieldsProviderWebhook, -}; - -const useComponent = (provider: string, { initProps, deps = [] }: { initProps?: (provider: string) => any; deps?: unknown[] }) => { - const initComponent = () => { - const Component = providerComponentMap[provider as DeploymentProviderType]; - if (!Component) return null; - - const props = initProps?.(provider); - if (props) { - return ; - } - - return ; - }; - - const [component, setComponent] = useState(() => initComponent()); - - useEffect(() => setComponent(initComponent()), [provider]); - useEffect(() => setComponent(initComponent()), deps); - - return component; -}; - -const _default = { - useComponent, -}; - -export default _default; +import { useEffect, useState } from "react"; + +import { DEPLOYMENT_PROVIDERS, type DeploymentProviderType } from "@/domain/provider"; + +import BizDeployNodeConfigFieldsProvider1PanelConsole from "./BizDeployNodeConfigFieldsProvider1PanelConsole"; +import BizDeployNodeConfigFieldsProvider1PanelSite from "./BizDeployNodeConfigFieldsProvider1PanelSite"; +import BizDeployNodeConfigFieldsProviderAliyunALB from "./BizDeployNodeConfigFieldsProviderAliyunALB"; +import BizDeployNodeConfigFieldsProviderAliyunAPIGW from "./BizDeployNodeConfigFieldsProviderAliyunAPIGW"; +import BizDeployNodeConfigFieldsProviderAliyunCAS from "./BizDeployNodeConfigFieldsProviderAliyunCAS"; +import BizDeployNodeConfigFieldsProviderAliyunCASDeploy from "./BizDeployNodeConfigFieldsProviderAliyunCASDeploy"; +import BizDeployNodeConfigFieldsProviderAliyunCDN from "./BizDeployNodeConfigFieldsProviderAliyunCDN"; +import BizDeployNodeConfigFieldsProviderAliyunCLB from "./BizDeployNodeConfigFieldsProviderAliyunCLB"; +import BizDeployNodeConfigFieldsProviderAliyunDCDN from "./BizDeployNodeConfigFieldsProviderAliyunDCDN"; +import BizDeployNodeConfigFieldsProviderAliyunDDoSPro from "./BizDeployNodeConfigFieldsProviderAliyunDDoSPro"; +import BizDeployNodeConfigFieldsProviderAliyunESA from "./BizDeployNodeConfigFieldsProviderAliyunESA"; +import BizDeployNodeConfigFieldsProviderAliyunFC from "./BizDeployNodeConfigFieldsProviderAliyunFC"; +import BizDeployNodeConfigFieldsProviderAliyunGA from "./BizDeployNodeConfigFieldsProviderAliyunGA"; +import BizDeployNodeConfigFieldsProviderAliyunLive from "./BizDeployNodeConfigFieldsProviderAliyunLive"; +import BizDeployNodeConfigFieldsProviderAliyunNLB from "./BizDeployNodeConfigFieldsProviderAliyunNLB"; +import BizDeployNodeConfigFieldsProviderAliyunOSS from "./BizDeployNodeConfigFieldsProviderAliyunOSS"; +import BizDeployNodeConfigFieldsProviderAliyunVOD from "./BizDeployNodeConfigFieldsProviderAliyunVOD"; +import BizDeployNodeConfigFieldsProviderAliyunWAF from "./BizDeployNodeConfigFieldsProviderAliyunWAF"; +import BizDeployNodeConfigFieldsProviderAPISIX from "./BizDeployNodeConfigFieldsProviderAPISIX"; +import BizDeployNodeConfigFieldsProviderAWSACM from "./BizDeployNodeConfigFieldsProviderAWSACM"; +import BizDeployNodeConfigFieldsProviderAWSCloudFront from "./BizDeployNodeConfigFieldsProviderAWSCloudFront"; +import BizDeployNodeConfigFieldsProviderAWSIAM from "./BizDeployNodeConfigFieldsProviderAWSIAM"; +import BizDeployNodeConfigFieldsProviderAzureKeyVault from "./BizDeployNodeConfigFieldsProviderAzureKeyVault"; +import BizDeployNodeConfigFieldsProviderBaiduCloudAppBLB from "./BizDeployNodeConfigFieldsProviderBaiduCloudAppBLB"; +import BizDeployNodeConfigFieldsProviderBaiduCloudBLB from "./BizDeployNodeConfigFieldsProviderBaiduCloudBLB"; +import BizDeployNodeConfigFieldsProviderBaiduCloudCDN from "./BizDeployNodeConfigFieldsProviderBaiduCloudCDN"; +import BizDeployNodeConfigFieldsProviderBaishanCDN from "./BizDeployNodeConfigFieldsProviderBaishanCDN"; +import BizDeployNodeConfigFieldsProviderBaotaPanelConsole from "./BizDeployNodeConfigFieldsProviderBaotaPanelConsole"; +import BizDeployNodeConfigFieldsProviderBaotaPanelGoConsole from "./BizDeployNodeConfigFieldsProviderBaotaPanelGoConsole"; +import BizDeployNodeConfigFieldsProviderBaotaPanelGoSite from "./BizDeployNodeConfigFieldsProviderBaotaPanelGoSite"; +import BizDeployNodeConfigFieldsProviderBaotaPanelSite from "./BizDeployNodeConfigFieldsProviderBaotaPanelSite"; +import BizDeployNodeConfigFieldsProviderBaotaWAFSite from "./BizDeployNodeConfigFieldsProviderBaotaWAFSite"; +import BizDeployNodeConfigFieldsProviderBunnyCDN from "./BizDeployNodeConfigFieldsProviderBunnyCDN"; +import BizDeployNodeConfigFieldsProviderBytePlusCDN from "./BizDeployNodeConfigFieldsProviderBytePlusCDN"; +import BizDeployNodeConfigFieldsProviderCdnfly from "./BizDeployNodeConfigFieldsProviderCdnfly"; +import BizDeployNodeConfigFieldsProviderCTCCCloudAO from "./BizDeployNodeConfigFieldsProviderCTCCCloudAO"; +import BizDeployNodeConfigFieldsProviderCTCCCloudCDN from "./BizDeployNodeConfigFieldsProviderCTCCCloudCDN"; +import BizDeployNodeConfigFieldsProviderCTCCCloudELB from "./BizDeployNodeConfigFieldsProviderCTCCCloudELB"; +import BizDeployNodeConfigFieldsProviderCTCCCloudICDN from "./BizDeployNodeConfigFieldsProviderCTCCCloudICDN"; +import BizDeployNodeConfigFieldsProviderCTCCCloudLVDN from "./BizDeployNodeConfigFieldsProviderCTCCCloudLVDN"; +import BizDeployNodeConfigFieldsProviderDogeCloudCDN from "./BizDeployNodeConfigFieldsProviderDogeCloudCDN"; +import BizDeployNodeConfigFieldsProviderFlexCDN from "./BizDeployNodeConfigFieldsProviderFlexCDN"; +import BizDeployNodeConfigFieldsProviderGcoreCDN from "./BizDeployNodeConfigFieldsProviderGcoreCDN"; +import BizDeployNodeConfigFieldsProviderGoEdge from "./BizDeployNodeConfigFieldsProviderGoEdge"; +import BizDeployNodeConfigFieldsProviderHuaweiCloudCDN from "./BizDeployNodeConfigFieldsProviderHuaweiCloudCDN"; +import BizDeployNodeConfigFieldsProviderHuaweiCloudELB from "./BizDeployNodeConfigFieldsProviderHuaweiCloudELB"; +import BizDeployNodeConfigFieldsProviderHuaweiCloudOBS from "./BizDeployNodeConfigFieldsProviderHuaweiCloudOBS"; +import BizDeployNodeConfigFieldsProviderHuaweiCloudWAF from "./BizDeployNodeConfigFieldsProviderHuaweiCloudWAF"; +import BizDeployNodeConfigFieldsProviderJDCloudALB from "./BizDeployNodeConfigFieldsProviderJDCloudALB"; +import BizDeployNodeConfigFieldsProviderJDCloudCDN from "./BizDeployNodeConfigFieldsProviderJDCloudCDN"; +import BizDeployNodeConfigFieldsProviderJDCloudLive from "./BizDeployNodeConfigFieldsProviderJDCloudLive"; +import BizDeployNodeConfigFieldsProviderJDCloudVOD from "./BizDeployNodeConfigFieldsProviderJDCloudVOD"; +import BizDeployNodeConfigFieldsProviderKong from "./BizDeployNodeConfigFieldsProviderKong"; +import BizDeployNodeConfigFieldsProviderKsyunCDN from "./BizDeployNodeConfigFieldsProviderKsyunCDN"; +import BizDeployNodeConfigFieldsProviderKubernetesSecret from "./BizDeployNodeConfigFieldsProviderKubernetesSecret"; +import BizDeployNodeConfigFieldsProviderLeCDN from "./BizDeployNodeConfigFieldsProviderLeCDN"; +import BizDeployNodeConfigFieldsProviderLocal from "./BizDeployNodeConfigFieldsProviderLocal"; +import BizDeployNodeConfigFieldsProviderMohuaMVH from "./BizDeployNodeConfigFieldsProviderMohuaMVH"; +import BizDeployNodeConfigFieldsProviderNetlifySite from "./BizDeployNodeConfigFieldsProviderNetlifySite"; +import BizDeployNodeConfigFieldsProviderProxmoxVE from "./BizDeployNodeConfigFieldsProviderProxmoxVE"; +import BizDeployNodeConfigFieldsProviderQiniuCDN from "./BizDeployNodeConfigFieldsProviderQiniuCDN"; +import BizDeployNodeConfigFieldsProviderQiniuKodo from "./BizDeployNodeConfigFieldsProviderQiniuKodo"; +import BizDeployNodeConfigFieldsProviderQiniuPili from "./BizDeployNodeConfigFieldsProviderQiniuPili"; +import BizDeployNodeConfigFieldsProviderRainYunRCDN from "./BizDeployNodeConfigFieldsProviderRainYunRCDN"; +import BizDeployNodeConfigFieldsProviderRatPanelSite from "./BizDeployNodeConfigFieldsProviderRatPanelSite"; +import BizDeployNodeConfigFieldsProviderSafeLineSite from "./BizDeployNodeConfigFieldsProviderSafeLineSite"; +import BizDeployNodeConfigFieldsProviderSSH from "./BizDeployNodeConfigFieldsProviderSSH"; +import BizDeployNodeConfigFieldsProviderTencentCloudCDN from "./BizDeployNodeConfigFieldsProviderTencentCloudCDN"; +import BizDeployNodeConfigFieldsProviderTencentCloudCLB from "./BizDeployNodeConfigFieldsProviderTencentCloudCLB"; +import BizDeployNodeConfigFieldsProviderTencentCloudCOS from "./BizDeployNodeConfigFieldsProviderTencentCloudCOS"; +import BizDeployNodeConfigFieldsProviderTencentCloudCSS from "./BizDeployNodeConfigFieldsProviderTencentCloudCSS"; +import BizDeployNodeConfigFieldsProviderTencentCloudECDN from "./BizDeployNodeConfigFieldsProviderTencentCloudECDN"; +import BizDeployNodeConfigFieldsProviderTencentCloudEO from "./BizDeployNodeConfigFieldsProviderTencentCloudEO"; +import BizDeployNodeConfigFieldsProviderTencentCloudGAAP from "./BizDeployNodeConfigFieldsProviderTencentCloudGAAP"; +import BizDeployNodeConfigFieldsProviderTencentCloudSCF from "./BizDeployNodeConfigFieldsProviderTencentCloudSCF"; +import BizDeployNodeConfigFieldsProviderTencentCloudSSL from "./BizDeployNodeConfigFieldsProviderTencentCloudSSL"; +import BizDeployNodeConfigFieldsProviderTencentCloudSSLDeploy from "./BizDeployNodeConfigFieldsProviderTencentCloudSSLDeploy"; +import BizDeployNodeConfigFieldsProviderTencentCloudSSLUpdate from "./BizDeployNodeConfigFieldsProviderTencentCloudSSLUpdate"; +import BizDeployNodeConfigFieldsProviderTencentCloudVOD from "./BizDeployNodeConfigFieldsProviderTencentCloudVOD"; +import BizDeployNodeConfigFieldsProviderTencentCloudWAF from "./BizDeployNodeConfigFieldsProviderTencentCloudWAF"; +import BizDeployNodeConfigFieldsProviderUCloudUCDN from "./BizDeployNodeConfigFieldsProviderUCloudUCDN"; +import BizDeployNodeConfigFieldsProviderUCloudUS3 from "./BizDeployNodeConfigFieldsProviderUCloudUS3"; +import BizDeployNodeConfigFieldsProviderUniCloudWebHost from "./BizDeployNodeConfigFieldsProviderUniCloudWebHost"; +import BizDeployNodeConfigFieldsProviderUpyunCDN from "./BizDeployNodeConfigFieldsProviderUpyunCDN"; +import BizDeployNodeConfigFieldsProviderUpyunFile from "./BizDeployNodeConfigFieldsProviderUpyunFile"; +import BizDeployNodeConfigFieldsProviderVolcEngineALB from "./BizDeployNodeConfigFieldsProviderVolcEngineALB"; +import BizDeployNodeConfigFieldsProviderVolcEngineCDN from "./BizDeployNodeConfigFieldsProviderVolcEngineCDN"; +import BizDeployNodeConfigFieldsProviderVolcEngineCertCenter from "./BizDeployNodeConfigFieldsProviderVolcEngineCertCenter"; +import BizDeployNodeConfigFieldsProviderVolcEngineCLB from "./BizDeployNodeConfigFieldsProviderVolcEngineCLB"; +import BizDeployNodeConfigFieldsProviderVolcEngineDCDN from "./BizDeployNodeConfigFieldsProviderVolcEngineDCDN"; +import BizDeployNodeConfigFieldsProviderVolcEngineImageX from "./BizDeployNodeConfigFieldsProviderVolcEngineImageX"; +import BizDeployNodeConfigFieldsProviderVolcEngineLive from "./BizDeployNodeConfigFieldsProviderVolcEngineLive"; +import BizDeployNodeConfigFieldsProviderVolcEngineTOS from "./BizDeployNodeConfigFieldsProviderVolcEngineTOS"; +import BizDeployNodeConfigFieldsProviderWangsuCDN from "./BizDeployNodeConfigFieldsProviderWangsuCDN"; +import BizDeployNodeConfigFieldsProviderWangsuCDNPro from "./BizDeployNodeConfigFieldsProviderWangsuCDNPro"; +import BizDeployNodeConfigFieldsProviderWangsuCertificate from "./BizDeployNodeConfigFieldsProviderWangsuCertificate"; +import BizDeployNodeConfigFieldsProviderWebhook from "./BizDeployNodeConfigFieldsProviderWebhook"; + +const providerComponentMap: Partial>> = { + /* + 注意:如果追加新的子组件,请保持以 ASCII 排序。 + NOTICE: If you add new child component, please keep ASCII order. + */ + [DEPLOYMENT_PROVIDERS["1PANEL_CONSOLE"]]: BizDeployNodeConfigFieldsProvider1PanelConsole, + [DEPLOYMENT_PROVIDERS["1PANEL_SITE"]]: BizDeployNodeConfigFieldsProvider1PanelSite, + [DEPLOYMENT_PROVIDERS.ALIYUN_ALB]: BizDeployNodeConfigFieldsProviderAliyunALB, + [DEPLOYMENT_PROVIDERS.ALIYUN_APIGW]: BizDeployNodeConfigFieldsProviderAliyunAPIGW, + [DEPLOYMENT_PROVIDERS.ALIYUN_CAS]: BizDeployNodeConfigFieldsProviderAliyunCAS, + [DEPLOYMENT_PROVIDERS.ALIYUN_CAS_DEPLOY]: BizDeployNodeConfigFieldsProviderAliyunCASDeploy, + [DEPLOYMENT_PROVIDERS.ALIYUN_CLB]: BizDeployNodeConfigFieldsProviderAliyunCLB, + [DEPLOYMENT_PROVIDERS.ALIYUN_CDN]: BizDeployNodeConfigFieldsProviderAliyunCDN, + [DEPLOYMENT_PROVIDERS.ALIYUN_DCDN]: BizDeployNodeConfigFieldsProviderAliyunDCDN, + [DEPLOYMENT_PROVIDERS.ALIYUN_DDOSPRO]: BizDeployNodeConfigFieldsProviderAliyunDDoSPro, + [DEPLOYMENT_PROVIDERS.ALIYUN_ESA]: BizDeployNodeConfigFieldsProviderAliyunESA, + [DEPLOYMENT_PROVIDERS.ALIYUN_FC]: BizDeployNodeConfigFieldsProviderAliyunFC, + [DEPLOYMENT_PROVIDERS.ALIYUN_GA]: BizDeployNodeConfigFieldsProviderAliyunGA, + [DEPLOYMENT_PROVIDERS.ALIYUN_LIVE]: BizDeployNodeConfigFieldsProviderAliyunLive, + [DEPLOYMENT_PROVIDERS.ALIYUN_NLB]: BizDeployNodeConfigFieldsProviderAliyunNLB, + [DEPLOYMENT_PROVIDERS.ALIYUN_OSS]: BizDeployNodeConfigFieldsProviderAliyunOSS, + [DEPLOYMENT_PROVIDERS.ALIYUN_VOD]: BizDeployNodeConfigFieldsProviderAliyunVOD, + [DEPLOYMENT_PROVIDERS.ALIYUN_WAF]: BizDeployNodeConfigFieldsProviderAliyunWAF, + [DEPLOYMENT_PROVIDERS.APISIX]: BizDeployNodeConfigFieldsProviderAPISIX, + [DEPLOYMENT_PROVIDERS.AWS_ACM]: BizDeployNodeConfigFieldsProviderAWSACM, + [DEPLOYMENT_PROVIDERS.AWS_CLOUDFRONT]: BizDeployNodeConfigFieldsProviderAWSCloudFront, + [DEPLOYMENT_PROVIDERS.AWS_IAM]: BizDeployNodeConfigFieldsProviderAWSIAM, + [DEPLOYMENT_PROVIDERS.AZURE_KEYVAULT]: BizDeployNodeConfigFieldsProviderAzureKeyVault, + [DEPLOYMENT_PROVIDERS.BAIDUCLOUD_APPBLB]: BizDeployNodeConfigFieldsProviderBaiduCloudAppBLB, + [DEPLOYMENT_PROVIDERS.BAIDUCLOUD_BLB]: BizDeployNodeConfigFieldsProviderBaiduCloudBLB, + [DEPLOYMENT_PROVIDERS.BAIDUCLOUD_CDN]: BizDeployNodeConfigFieldsProviderBaiduCloudCDN, + [DEPLOYMENT_PROVIDERS.BAISHAN_CDN]: BizDeployNodeConfigFieldsProviderBaishanCDN, + [DEPLOYMENT_PROVIDERS.BAOTAPANEL_CONSOLE]: BizDeployNodeConfigFieldsProviderBaotaPanelConsole, + [DEPLOYMENT_PROVIDERS.BAOTAPANEL_SITE]: BizDeployNodeConfigFieldsProviderBaotaPanelSite, + [DEPLOYMENT_PROVIDERS.BAOTAPANELGO_CONSOLE]: BizDeployNodeConfigFieldsProviderBaotaPanelGoConsole, + [DEPLOYMENT_PROVIDERS.BAOTAPANELGO_SITE]: BizDeployNodeConfigFieldsProviderBaotaPanelGoSite, + [DEPLOYMENT_PROVIDERS.BAOTAWAF_SITE]: BizDeployNodeConfigFieldsProviderBaotaWAFSite, + [DEPLOYMENT_PROVIDERS.BUNNY_CDN]: BizDeployNodeConfigFieldsProviderBunnyCDN, + [DEPLOYMENT_PROVIDERS.BYTEPLUS_CDN]: BizDeployNodeConfigFieldsProviderBytePlusCDN, + [DEPLOYMENT_PROVIDERS.CDNFLY]: BizDeployNodeConfigFieldsProviderCdnfly, + [DEPLOYMENT_PROVIDERS.CTCCCLOUD_AO]: BizDeployNodeConfigFieldsProviderCTCCCloudAO, + [DEPLOYMENT_PROVIDERS.CTCCCLOUD_CDN]: BizDeployNodeConfigFieldsProviderCTCCCloudCDN, + [DEPLOYMENT_PROVIDERS.CTCCCLOUD_ELB]: BizDeployNodeConfigFieldsProviderCTCCCloudELB, + [DEPLOYMENT_PROVIDERS.CTCCCLOUD_ICDN]: BizDeployNodeConfigFieldsProviderCTCCCloudICDN, + [DEPLOYMENT_PROVIDERS.CTCCCLOUD_LVDN]: BizDeployNodeConfigFieldsProviderCTCCCloudLVDN, + [DEPLOYMENT_PROVIDERS.DOGECLOUD_CDN]: BizDeployNodeConfigFieldsProviderDogeCloudCDN, + [DEPLOYMENT_PROVIDERS.FLEXCDN]: BizDeployNodeConfigFieldsProviderFlexCDN, + [DEPLOYMENT_PROVIDERS.GCORE_CDN]: BizDeployNodeConfigFieldsProviderGcoreCDN, + [DEPLOYMENT_PROVIDERS.GOEDGE]: BizDeployNodeConfigFieldsProviderGoEdge, + [DEPLOYMENT_PROVIDERS.HUAWEICLOUD_CDN]: BizDeployNodeConfigFieldsProviderHuaweiCloudCDN, + [DEPLOYMENT_PROVIDERS.HUAWEICLOUD_ELB]: BizDeployNodeConfigFieldsProviderHuaweiCloudELB, + [DEPLOYMENT_PROVIDERS.HUAWEICLOUD_OBS]: BizDeployNodeConfigFieldsProviderHuaweiCloudOBS, + [DEPLOYMENT_PROVIDERS.HUAWEICLOUD_WAF]: BizDeployNodeConfigFieldsProviderHuaweiCloudWAF, + [DEPLOYMENT_PROVIDERS.JDCLOUD_ALB]: BizDeployNodeConfigFieldsProviderJDCloudALB, + [DEPLOYMENT_PROVIDERS.JDCLOUD_CDN]: BizDeployNodeConfigFieldsProviderJDCloudCDN, + [DEPLOYMENT_PROVIDERS.JDCLOUD_LIVE]: BizDeployNodeConfigFieldsProviderJDCloudLive, + [DEPLOYMENT_PROVIDERS.JDCLOUD_VOD]: BizDeployNodeConfigFieldsProviderJDCloudVOD, + [DEPLOYMENT_PROVIDERS.KONG]: BizDeployNodeConfigFieldsProviderKong, + [DEPLOYMENT_PROVIDERS.KUBERNETES_SECRET]: BizDeployNodeConfigFieldsProviderKubernetesSecret, + [DEPLOYMENT_PROVIDERS.KSYUN_CDN]: BizDeployNodeConfigFieldsProviderKsyunCDN, + [DEPLOYMENT_PROVIDERS.LECDN]: BizDeployNodeConfigFieldsProviderLeCDN, + [DEPLOYMENT_PROVIDERS.LOCAL]: BizDeployNodeConfigFieldsProviderLocal, + [DEPLOYMENT_PROVIDERS.MOHUA_MVH]: BizDeployNodeConfigFieldsProviderMohuaMVH, + [DEPLOYMENT_PROVIDERS.NETLIFY_SITE]: BizDeployNodeConfigFieldsProviderNetlifySite, + [DEPLOYMENT_PROVIDERS.PROXMOXVE]: BizDeployNodeConfigFieldsProviderProxmoxVE, + [DEPLOYMENT_PROVIDERS.QINIU_CDN]: BizDeployNodeConfigFieldsProviderQiniuCDN, + [DEPLOYMENT_PROVIDERS.QINIU_KODO]: BizDeployNodeConfigFieldsProviderQiniuKodo, + [DEPLOYMENT_PROVIDERS.QINIU_PILI]: BizDeployNodeConfigFieldsProviderQiniuPili, + [DEPLOYMENT_PROVIDERS.RAINYUN_RCDN]: BizDeployNodeConfigFieldsProviderRainYunRCDN, + [DEPLOYMENT_PROVIDERS.RATPANEL_SITE]: BizDeployNodeConfigFieldsProviderRatPanelSite, + [DEPLOYMENT_PROVIDERS.SAFELINE_SITE]: BizDeployNodeConfigFieldsProviderSafeLineSite, + [DEPLOYMENT_PROVIDERS.SSH]: BizDeployNodeConfigFieldsProviderSSH, + [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_CDN]: BizDeployNodeConfigFieldsProviderTencentCloudCDN, + [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_CLB]: BizDeployNodeConfigFieldsProviderTencentCloudCLB, + [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_COS]: BizDeployNodeConfigFieldsProviderTencentCloudCOS, + [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_CSS]: BizDeployNodeConfigFieldsProviderTencentCloudCSS, + [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_ECDN]: BizDeployNodeConfigFieldsProviderTencentCloudECDN, + [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_EO]: BizDeployNodeConfigFieldsProviderTencentCloudEO, + [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_GAAP]: BizDeployNodeConfigFieldsProviderTencentCloudGAAP, + [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_SCF]: BizDeployNodeConfigFieldsProviderTencentCloudSCF, + [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_SSL]: BizDeployNodeConfigFieldsProviderTencentCloudSSL, + [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_SSL_DEPLOY]: BizDeployNodeConfigFieldsProviderTencentCloudSSLDeploy, + [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_SSL_UPDATE]: BizDeployNodeConfigFieldsProviderTencentCloudSSLUpdate, + [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_VOD]: BizDeployNodeConfigFieldsProviderTencentCloudVOD, + [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_WAF]: BizDeployNodeConfigFieldsProviderTencentCloudWAF, + [DEPLOYMENT_PROVIDERS.UCLOUD_UCDN]: BizDeployNodeConfigFieldsProviderUCloudUCDN, + [DEPLOYMENT_PROVIDERS.UCLOUD_US3]: BizDeployNodeConfigFieldsProviderUCloudUS3, + [DEPLOYMENT_PROVIDERS.UNICLOUD_WEBHOST]: BizDeployNodeConfigFieldsProviderUniCloudWebHost, + [DEPLOYMENT_PROVIDERS.UPYUN_CDN]: BizDeployNodeConfigFieldsProviderUpyunCDN, + [DEPLOYMENT_PROVIDERS.UPYUN_FILE]: BizDeployNodeConfigFieldsProviderUpyunFile, + [DEPLOYMENT_PROVIDERS.VOLCENGINE_ALB]: BizDeployNodeConfigFieldsProviderVolcEngineALB, + [DEPLOYMENT_PROVIDERS.VOLCENGINE_CDN]: BizDeployNodeConfigFieldsProviderVolcEngineCDN, + [DEPLOYMENT_PROVIDERS.VOLCENGINE_CERTCENTER]: BizDeployNodeConfigFieldsProviderVolcEngineCertCenter, + [DEPLOYMENT_PROVIDERS.VOLCENGINE_CLB]: BizDeployNodeConfigFieldsProviderVolcEngineCLB, + [DEPLOYMENT_PROVIDERS.VOLCENGINE_DCDN]: BizDeployNodeConfigFieldsProviderVolcEngineDCDN, + [DEPLOYMENT_PROVIDERS.VOLCENGINE_IMAGEX]: BizDeployNodeConfigFieldsProviderVolcEngineImageX, + [DEPLOYMENT_PROVIDERS.VOLCENGINE_LIVE]: BizDeployNodeConfigFieldsProviderVolcEngineLive, + [DEPLOYMENT_PROVIDERS.VOLCENGINE_TOS]: BizDeployNodeConfigFieldsProviderVolcEngineTOS, + [DEPLOYMENT_PROVIDERS.WANGSU_CDN]: BizDeployNodeConfigFieldsProviderWangsuCDN, + [DEPLOYMENT_PROVIDERS.WANGSU_CDNPRO]: BizDeployNodeConfigFieldsProviderWangsuCDNPro, + [DEPLOYMENT_PROVIDERS.WANGSU_CERTIFICATE]: BizDeployNodeConfigFieldsProviderWangsuCertificate, + [DEPLOYMENT_PROVIDERS.WEBHOOK]: BizDeployNodeConfigFieldsProviderWebhook, +}; + +const useComponent = (provider: string, { initProps, deps = [] }: { initProps?: (provider: string) => any; deps?: unknown[] }) => { + const initComponent = () => { + const Component = providerComponentMap[provider as DeploymentProviderType]; + if (!Component) return null; + + const props = initProps?.(provider); + if (props) { + return ; + } + + return ; + }; + + const [component, setComponent] = useState(() => initComponent()); + + useEffect(() => setComponent(initComponent()), [provider]); + useEffect(() => setComponent(initComponent()), deps); + + return component; +}; + +const _default = { + useComponent, +}; + +export default _default; diff --git a/ui/src/components/workflow/designer/forms/BizDeployNodeConfigFieldsProvider1PanelSite.tsx b/ui/src/components/workflow/designer/forms/BizDeployNodeConfigFieldsProvider1PanelSite.tsx index 7567d7ea..532cd798 100644 --- a/ui/src/components/workflow/designer/forms/BizDeployNodeConfigFieldsProvider1PanelSite.tsx +++ b/ui/src/components/workflow/designer/forms/BizDeployNodeConfigFieldsProvider1PanelSite.tsx @@ -122,8 +122,8 @@ const getSchema = ({ i18n = getI18n() }: { i18n?: ReturnType }) nodeName: z.string().nullish(), resourceType: z.literal([RESOURCE_TYPE_WEBSITE, RESOURCE_TYPE_CERTIFICATE], t("workflow_node.deploy.form.shared_resource_type.placeholder")), websiteMatchPattern: z.string().nullish(), - websiteId: z.union([z.string(), z.number()]).nullish(), - certificateId: z.union([z.string(), z.number()]).nullish(), + websiteId: z.union([z.string(), z.number().int()]).nullish(), + certificateId: z.union([z.string(), z.number().int()]).nullish(), }) .superRefine((values, ctx) => { switch (values.resourceType) { diff --git a/ui/src/components/workflow/designer/forms/BizDeployNodeConfigFieldsProviderMohuaMVH.tsx b/ui/src/components/workflow/designer/forms/BizDeployNodeConfigFieldsProviderMohuaMVH.tsx new file mode 100644 index 00000000..bd258db8 --- /dev/null +++ b/ui/src/components/workflow/designer/forms/BizDeployNodeConfigFieldsProviderMohuaMVH.tsx @@ -0,0 +1,70 @@ +import { getI18n, useTranslation } from "react-i18next"; +import { Form, Input } from "antd"; +import { createSchemaFieldRule } from "antd-zod"; +import { z } from "zod"; + +import { useFormNestedFieldsContext } from "./_context"; + +const BizDeployNodeConfigFieldsProviderMohuaMVH = () => { + const { i18n, t } = useTranslation(); + + const { parentNamePath } = useFormNestedFieldsContext(); + const formSchema = z.object({ + [parentNamePath]: getSchema({ i18n }), + }); + const formRule = createSchemaFieldRule(formSchema); + const initialValues = getInitialValues(); + + return ( + <> + } + > + + + + } + > + + + + ); +}; + +const getInitialValues = (): Nullish>> => { + return { + hostId: "", + domainId: "", + }; +}; + +const getSchema = ({ i18n = getI18n() }: { i18n?: ReturnType }) => { + const { t } = i18n; + + return z.object({ + hostId: z.union([ + z.string().nonempty(t("workflow_node.deploy.form.mohua_mvh_host_id.placeholder")), + z.number().int(t("workflow_node.deploy.form.mohua_mvh_host_id.placeholder")), + ]), + domainId: z.union([ + z.string().nonempty(t("workflow_node.deploy.form.mohua_mvh_domain_id.placeholder")), + z.number().int(t("workflow_node.deploy.form.mohua_mvh_domain_id.placeholder")), + ]), + }); +}; + +const _default = Object.assign(BizDeployNodeConfigFieldsProviderMohuaMVH, { + getInitialValues, + getSchema, +}); + +export default _default; diff --git a/ui/src/domain/provider.ts b/ui/src/domain/provider.ts index edfffd10..45ca2b13 100644 --- a/ui/src/domain/provider.ts +++ b/ui/src/domain/provider.ts @@ -1,820 +1,824 @@ -interface BaseProvider

{ - type: P; - name: string; - icon: string; - builtin: boolean; -} - -interface BaseProviderWithAccess

extends BaseProvider

{ - provider: AccessProviderType; -} - -// #region AccessProvider -/* - 注意:如果追加新的常量值,请保持以 ASCII 排序。 - NOTICE: If you add new constant, please keep ASCII order. - */ -export const ACCESS_PROVIDERS = Object.freeze({ - ["1PANEL"]: "1panel", - ["35CN"]: "35cn", - ACMECA: "acmeca", - ACMEDNS: "acmedns", - ACMEHTTPREQ: "acmehttpreq", - ACTALISSSL: "actalisssl", - AKAMAI: "akamai", - ALIYUN: "aliyun", - APISIX: "apisix", - ARVANCLOUD: "arvancloud", - AWS: "aws", - AZURE: "azure", - BAIDUCLOUD: "baiducloud", - BAISHAN: "baishan", - BAOTAPANEL: "baotapanel", - BAOTAPANELGO: "baotapanelgo", - BAOTAWAF: "baotawaf", - BOOKMYNAME: "bookmyname", - BUNNY: "bunny", - BYTEPLUS: "byteplus", - CACHEFLY: "cachefly", - CDNFLY: "cdnfly", - CLOUDFLARE: "cloudflare", - CLOUDNS: "cloudns", - CMCCCLOUD: "cmcccloud", - CONSTELLIX: "constellix", - CTCCCLOUD: "ctcccloud", - DESEC: "desec", - DIGITALOCEAN: "digitalocean", - DINGTALKBOT: "dingtalkbot", - DISCORDBOT: "discordbot", - DNSLA: "dnsla", - DNSMADEEASY: "dnsmadeeasy", - DOGECLOUD: "dogecloud", - DUCKDNS: "duckdns", - DYNU: "dynu", - DYNV6: "dynv6", - EMAIL: "email", - FLEXCDN: "flexcdn", - GANDINET: "gandinet", - GCORE: "gcore", - GLOBALSIGNATLAS: "globalsignatlas", - GNAME: "gname", - GODADDY: "godaddy", - GOEDGE: "goedge", - GOOGLETRUSTSERVICES: "googletrustservices", - HETZNER: "hetzner", - HOSTINGDE: "hostingde", - HOSTINGER: "hostinger", - HUAWEICLOUD: "huaweicloud", - INFOMANIAK: "infomaniak", - IONOS: "ionos", - JDCLOUD: "jdcloud", - KONG: "kong", - KUBERNETES: "k8s", - KSYUN: "ksyun", - LARKBOT: "larkbot", - LECDN: "lecdn", - LETSENCRYPT: "letsencrypt", - LETSENCRYPTSTAGING: "letsencryptstaging", - LINODE: "linode", - LITESSL: "litessl", - LOCAL: "local", - MATTERMOST: "mattermost", - NAMECHEAP: "namecheap", - NAMEDOTCOM: "namedotcom", - NAMESILO: "namesilo", - NETCUP: "netcup", - NETLIFY: "netlify", - NS1: "ns1", - OVHCLOUD: "ovhcloud", - PORKBUN: "porkbun", - POWERDNS: "powerdns", - PROXMOXVE: "proxmoxve", - QINGCLOUD: "qingcloud", - QINIU: "qiniu", - RAINYUN: "rainyun", - RATPANEL: "ratpanel", - RFC2136: "rfc2136", - SAFELINE: "safeline", - SECTIGO: "sectigo", - SLACKBOT: "slackbot", - SPACESHIP: "spaceship", - SSH: "ssh", - SSLCOM: "sslcom", - TECHNITIUMDNS: "technitiumdns", - TELEGRAMBOT: "telegrambot", - TENCENTCLOUD: "tencentcloud", - UCLOUD: "ucloud", - UNICLOUD: "unicloud", - UPYUN: "upyun", - VERCEL: "vercel", - VOLCENGINE: "volcengine", - VULTR: "vultr", - WANGSU: "wangsu", - WEBHOOK: "webhook", - WECOMBOT: "wecombot", - WESTCN: "westcn", - XINNET: "xinnet", - ZEROSSL: "zerossl", -} as const); - -export type AccessProviderType = (typeof ACCESS_PROVIDERS)[keyof typeof ACCESS_PROVIDERS]; - -export const ACCESS_USAGES = Object.freeze({ - DNS: "dns", - HOSTING: "hosting", - CA: "ca", - NOTIFICATION: "notification", -} as const); - -export type AccessUsageType = (typeof ACCESS_USAGES)[keyof typeof ACCESS_USAGES]; - -export interface AccessProvider extends BaseProvider { - usages: AccessUsageType[]; -} - -export const accessProvidersMap: Map = new Map( - /* - 注意:此处的顺序决定显示在前端的顺序。 - NOTICE: The following order determines the order displayed at the frontend. - */ - ( - [ - [ACCESS_PROVIDERS.LOCAL, "provider.local", "/imgs/providers/local.svg", [ACCESS_USAGES.HOSTING], "builtin"], - [ACCESS_PROVIDERS.SSH, "provider.ssh", "/imgs/providers/ssh.svg", [ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.WEBHOOK, "provider.webhook", "/imgs/providers/webhook.svg", [ACCESS_USAGES.HOSTING, ACCESS_USAGES.NOTIFICATION]], - [ACCESS_PROVIDERS.KUBERNETES, "provider.kubernetes", "/imgs/providers/kubernetes.svg", [ACCESS_USAGES.HOSTING]], - - [ACCESS_PROVIDERS.ALIYUN, "provider.aliyun", "/imgs/providers/aliyun.svg", [ACCESS_USAGES.DNS, ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.TENCENTCLOUD, "provider.tencentcloud", "/imgs/providers/tencentcloud.svg", [ACCESS_USAGES.DNS, ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.BAIDUCLOUD, "provider.baiducloud", "/imgs/providers/baiducloud.svg", [ACCESS_USAGES.DNS, ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.HUAWEICLOUD, "provider.huaweicloud", "/imgs/providers/huaweicloud.svg", [ACCESS_USAGES.DNS, ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.VOLCENGINE, "provider.volcengine", "/imgs/providers/volcengine.svg", [ACCESS_USAGES.DNS, ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.JDCLOUD, "provider.jdcloud", "/imgs/providers/jdcloud.svg", [ACCESS_USAGES.DNS, ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.AWS, "provider.aws", "/imgs/providers/aws.svg", [ACCESS_USAGES.DNS, ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.AZURE, "provider.azure", "/imgs/providers/azure.svg", [ACCESS_USAGES.DNS, ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.BUNNY, "provider.bunny", "/imgs/providers/bunny.svg", [ACCESS_USAGES.DNS, ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.GCORE, "provider.gcore", "/imgs/providers/gcore.png", [ACCESS_USAGES.DNS, ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.NETLIFY, "provider.netlify", "/imgs/providers/netlify.png", [ACCESS_USAGES.DNS, ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.RAINYUN, "provider.rainyun", "/imgs/providers/rainyun.svg", [ACCESS_USAGES.DNS, ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.UCLOUD, "provider.ucloud", "/imgs/providers/ucloud.svg", [ACCESS_USAGES.DNS, ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.CTCCCLOUD, "provider.ctcccloud", "/imgs/providers/ctcccloud.svg", [ACCESS_USAGES.DNS, ACCESS_USAGES.HOSTING]], - - [ACCESS_PROVIDERS.QINIU, "provider.qiniu", "/imgs/providers/qiniu.svg", [ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.UPYUN, "provider.upyun", "/imgs/providers/upyun.svg", [ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.BAISHAN, "provider.baishan", "/imgs/providers/baishan.png", [ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.WANGSU, "provider.wangsu", "/imgs/providers/wangsu.svg", [ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.DOGECLOUD, "provider.dogecloud", "/imgs/providers/dogecloud.png", [ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.KSYUN, "provider.ksyun", "/imgs/providers/ksyun.svg", [ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.BYTEPLUS, "provider.byteplus", "/imgs/providers/byteplus.svg", [ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.UNICLOUD, "provider.unicloud", "/imgs/providers/unicloud.png", [ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS["1PANEL"], "provider.1panel", "/imgs/providers/1panel.svg", [ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.BAOTAPANEL, "provider.baotapanel", "/imgs/providers/baotapanel.svg", [ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.BAOTAPANELGO, "provider.baotapanelgo", "/imgs/providers/baotapanel.svg", [ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.BAOTAWAF, "provider.baotawaf", "/imgs/providers/baotawaf.svg", [ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.RATPANEL, "provider.ratpanel", "/imgs/providers/ratpanel.png", [ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.SAFELINE, "provider.safeline", "/imgs/providers/safeline.svg", [ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.CDNFLY, "provider.cdnfly", "/imgs/providers/cdnfly.png", [ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.FLEXCDN, "provider.flexcdn", "/imgs/providers/flexcdn.png", [ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.GOEDGE, "provider.goedge", "/imgs/providers/goedge.png", [ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.LECDN, "provider.lecdn", "/imgs/providers/lecdn.svg", [ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.CACHEFLY, "provider.cachefly", "/imgs/providers/cachefly.png", [ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.APISIX, "provider.apisix", "/imgs/providers/apisix.svg", [ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.KONG, "provider.kong", "/imgs/providers/kong.png", [ACCESS_USAGES.HOSTING]], - [ACCESS_PROVIDERS.PROXMOXVE, "provider.proxmoxve", "/imgs/providers/proxmoxve.svg", [ACCESS_USAGES.HOSTING]], - - [ACCESS_PROVIDERS.AKAMAI, "provider.akamai", "/imgs/providers/akamai.svg", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.ARVANCLOUD, "provider.arvancloud", "/imgs/providers/arvancloud.svg", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.BOOKMYNAME, "provider.bookmyname", "/imgs/providers/bookmyname.png", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.CLOUDFLARE, "provider.cloudflare", "/imgs/providers/cloudflare.svg", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.CLOUDNS, "provider.cloudns", "/imgs/providers/cloudns.png", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.CONSTELLIX, "provider.constellix", "/imgs/providers/constellix.png", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.DESEC, "provider.desec", "/imgs/providers/desec.svg", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.DIGITALOCEAN, "provider.digitalocean", "/imgs/providers/digitalocean.svg", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.DNSLA, "provider.dnsla", "/imgs/providers/dnsla.svg", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.DNSMADEEASY, "provider.dnsmadeeasy", "/imgs/providers/dnsmadeeasy.png", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.DUCKDNS, "provider.duckdns", "/imgs/providers/duckdns.png", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.DYNU, "provider.dynu", "/imgs/providers/dynu.png", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.DYNV6, "provider.dynv6", "/imgs/providers/dynv6.svg", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.GANDINET, "provider.gandinet", "/imgs/providers/gandinet.svg", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.GNAME, "provider.gname", "/imgs/providers/gname.png", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.GODADDY, "provider.godaddy", "/imgs/providers/godaddy.svg", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.HETZNER, "provider.hetzner", "/imgs/providers/hetzner.svg", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.HOSTINGDE, "provider.hostingde", "/imgs/providers/hostingde.svg", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.HOSTINGER, "provider.hostinger", "/imgs/providers/hostinger.svg", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.INFOMANIAK, "provider.infomaniak", "/imgs/providers/infomaniak.png", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.IONOS, "provider.ionos", "/imgs/providers/ionos.svg", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.LINODE, "provider.linode", "/imgs/providers/linode.svg", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.NAMECHEAP, "provider.namecheap", "/imgs/providers/namecheap.svg", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.NAMEDOTCOM, "provider.namedotcom", "/imgs/providers/namedotcom.svg", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.NAMESILO, "provider.namesilo", "/imgs/providers/namesilo.svg", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.NETCUP, "provider.netcup", "/imgs/providers/netcup.png", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.NS1, "provider.ns1", "/imgs/providers/ns1.svg", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.OVHCLOUD, "provider.ovhcloud", "/imgs/providers/ovhcloud.svg", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.PORKBUN, "provider.porkbun", "/imgs/providers/porkbun.svg", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.SPACESHIP, "provider.spaceship", "/imgs/providers/spaceship.png", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.VERCEL, "provider.vercel", "/imgs/providers/vercel.svg", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.VULTR, "provider.vultr", "/imgs/providers/vultr.svg", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.CMCCCLOUD, "provider.cmcccloud", "/imgs/providers/cmcccloud.svg", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.QINGCLOUD, "provider.qingcloud", "/imgs/providers/qingcloud.svg", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.WESTCN, "provider.westcn", "/imgs/providers/westcn.svg", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS["35CN"], "provider.35cn", "/imgs/providers/35cn.png", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.XINNET, "provider.xinnet", "/imgs/providers/xinnet.png", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.POWERDNS, "provider.powerdns", "/imgs/providers/powerdns.svg", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.TECHNITIUMDNS, "provider.technitiumdns", "/imgs/providers/technitiumdns.png", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.RFC2136, "provider.rfc2136", "/imgs/providers/rfc.png", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.ACMEDNS, "provider.acmedns", "/imgs/providers/acmedns.png", [ACCESS_USAGES.DNS]], - [ACCESS_PROVIDERS.ACMEHTTPREQ, "provider.acmehttpreq", "/imgs/providers/acmehttpreq.svg", [ACCESS_USAGES.DNS]], - - [ACCESS_PROVIDERS.LETSENCRYPT, "provider.letsencrypt", "/imgs/providers/letsencrypt.svg", [ACCESS_USAGES.CA], "builtin"], - [ACCESS_PROVIDERS.LETSENCRYPTSTAGING, "provider.letsencryptstaging", "/imgs/providers/letsencrypt.svg", [ACCESS_USAGES.CA], "builtin"], - [ACCESS_PROVIDERS.ACTALISSSL, "provider.actalisssl", "/imgs/providers/actalisssl.png", [ACCESS_USAGES.CA]], - [ACCESS_PROVIDERS.GLOBALSIGNATLAS, "provider.globalsignatlas", "/imgs/providers/globalsignatlas.png", [ACCESS_USAGES.CA]], - [ACCESS_PROVIDERS.GOOGLETRUSTSERVICES, "provider.googletrustservices", "/imgs/providers/google.svg", [ACCESS_USAGES.CA]], - [ACCESS_PROVIDERS.LITESSL, "provider.litessl", "/imgs/providers/litessl.svg", [ACCESS_USAGES.CA]], - [ACCESS_PROVIDERS.SECTIGO, "provider.sectigo", "/imgs/providers/sectigo.svg", [ACCESS_USAGES.CA]], - [ACCESS_PROVIDERS.SSLCOM, "provider.sslcom", "/imgs/providers/sslcom.svg", [ACCESS_USAGES.CA]], - [ACCESS_PROVIDERS.ZEROSSL, "provider.zerossl", "/imgs/providers/zerossl.svg", [ACCESS_USAGES.CA]], - [ACCESS_PROVIDERS.ACMECA, "provider.acmeca", "/imgs/providers/acmeca.svg", [ACCESS_USAGES.CA]], - - [ACCESS_PROVIDERS.EMAIL, "provider.email", "/imgs/providers/email.svg", [ACCESS_USAGES.NOTIFICATION]], - [ACCESS_PROVIDERS.DINGTALKBOT, "provider.dingtalkbot", "/imgs/providers/dingtalk.svg", [ACCESS_USAGES.NOTIFICATION]], - [ACCESS_PROVIDERS.LARKBOT, "provider.larkbot", "/imgs/providers/lark.svg", [ACCESS_USAGES.NOTIFICATION]], - [ACCESS_PROVIDERS.WECOMBOT, "provider.wecombot", "/imgs/providers/wecom.svg", [ACCESS_USAGES.NOTIFICATION]], - [ACCESS_PROVIDERS.DISCORDBOT, "provider.discordbot", "/imgs/providers/discord.svg", [ACCESS_USAGES.NOTIFICATION]], - [ACCESS_PROVIDERS.SLACKBOT, "provider.slackbot", "/imgs/providers/slack.svg", [ACCESS_USAGES.NOTIFICATION]], - [ACCESS_PROVIDERS.TELEGRAMBOT, "provider.telegrambot", "/imgs/providers/telegram.svg", [ACCESS_USAGES.NOTIFICATION]], - [ACCESS_PROVIDERS.MATTERMOST, "provider.mattermost", "/imgs/providers/mattermost.svg", [ACCESS_USAGES.NOTIFICATION]], - ] satisfies Array<[AccessProviderType, string, string, AccessUsageType[], "builtin"] | [AccessProviderType, string, string, AccessUsageType[]]> - ).map(([type, name, icon, usages, builtin]) => [ - type, - { - type: type, - name: name, - icon: icon, - usages: usages, - builtin: builtin === "builtin", - }, - ]) -); -// #endregion - -// #region CAProvider -/* - 注意:如果追加新的常量值,请保持以 ASCII 排序。 - NOTICE: If you add new constant, please keep ASCII order. - */ -export const CA_PROVIDERS = Object.freeze({ - ACMECA: `${ACCESS_PROVIDERS.ACMECA}`, - ACTALISSSL: `${ACCESS_PROVIDERS.ACTALISSSL}`, - GLOBALSIGNATLAS: `${ACCESS_PROVIDERS.GLOBALSIGNATLAS}`, - GOOGLETRUSTSERVICES: `${ACCESS_PROVIDERS.GOOGLETRUSTSERVICES}`, - LETSENCRYPT: `${ACCESS_PROVIDERS.LETSENCRYPT}`, - LETSENCRYPTSTAGING: `${ACCESS_PROVIDERS.LETSENCRYPTSTAGING}`, - LITESSL: `${ACCESS_PROVIDERS.LITESSL}`, - SECTIGO: `${ACCESS_PROVIDERS.SECTIGO}`, - SSLCOM: `${ACCESS_PROVIDERS.SSLCOM}`, - ZEROSSL: `${ACCESS_PROVIDERS.ZEROSSL}`, -} as const); - -export type CAProviderType = (typeof CA_PROVIDERS)[keyof typeof CA_PROVIDERS]; - -export interface CAProvider extends BaseProviderWithAccess {} - -export const caProvidersMap: Map = new Map( - /* - 注意:此处的顺序决定显示在前端的顺序。 - NOTICE: The following order determines the order displayed at the frontend. - */ - ( - [ - [CA_PROVIDERS.LETSENCRYPT, "builtin"], - [CA_PROVIDERS.LETSENCRYPTSTAGING, "builtin"], - [CA_PROVIDERS.ACTALISSSL], - [CA_PROVIDERS.GLOBALSIGNATLAS], - [CA_PROVIDERS.GOOGLETRUSTSERVICES], - [CA_PROVIDERS.SECTIGO], - [CA_PROVIDERS.SSLCOM], - [CA_PROVIDERS.ZEROSSL], - [CA_PROVIDERS.LITESSL], - [CA_PROVIDERS.ACMECA], - ] satisfies Array<[CAProviderType, "builtin"] | [CAProviderType]> - ).map(([type, builtin]) => [ - type, - { - type: type, - name: accessProvidersMap.get(type.split("-")[0])!.name, - icon: accessProvidersMap.get(type.split("-")[0])!.icon, - provider: type.split("-")[0] as AccessProviderType, - builtin: builtin === "builtin", - }, - ]) -); -// #endregion - -// #region ACMEDNS01Provider -/* - 注意:如果追加新的常量值,请保持以 ASCII 排序。 - NOTICE: If you add new constant, please keep ASCII order. - */ -export const ACME_DNS01_PROVIDERS = Object.freeze({ - ["35CN"]: `${ACCESS_PROVIDERS["35CN"]}`, - ACMEDNS: `${ACCESS_PROVIDERS.ACMEDNS}`, - ACMEHTTPREQ: `${ACCESS_PROVIDERS.ACMEHTTPREQ}`, - AKAMAI: `${ACCESS_PROVIDERS.AKAMAI}`, // 兼容旧值,等同于 `AKAMAI_EDGEDNS` - AKAMAI_EDGEDNS: `${ACCESS_PROVIDERS.AKAMAI}-edgedns`, - ALIYUN: `${ACCESS_PROVIDERS.ALIYUN}`, // 兼容旧值,等同于 `ALIYUN_DNS` - ALIYUN_DNS: `${ACCESS_PROVIDERS.ALIYUN}-dns`, - ALIYUN_ESA: `${ACCESS_PROVIDERS.ALIYUN}-esa`, - ARVANCLOUD: `${ACCESS_PROVIDERS.ARVANCLOUD}`, - AWS: `${ACCESS_PROVIDERS.AWS}`, // 兼容旧值,等同于 `AWS_ROUTE53` - AWS_ROUTE53: `${ACCESS_PROVIDERS.AWS}-route53`, - AZURE: `${ACCESS_PROVIDERS.AZURE}`, // 兼容旧值,等同于 `AZURE_DNS` - AZURE_DNS: `${ACCESS_PROVIDERS.AZURE}-dns`, - BAIDUCLOUD: `${ACCESS_PROVIDERS.BAIDUCLOUD}`, // 兼容旧值,等同于 `BAIDUCLOUD_DNS` - BAIDUCLOUD_DNS: `${ACCESS_PROVIDERS.BAIDUCLOUD}-dns`, - BOOKMYNAME: `${ACCESS_PROVIDERS.BOOKMYNAME}`, - BUNNY: `${ACCESS_PROVIDERS.BUNNY}`, - CLOUDFLARE: `${ACCESS_PROVIDERS.CLOUDFLARE}`, - CLOUDNS: `${ACCESS_PROVIDERS.CLOUDNS}`, - CMCCCLOUD: `${ACCESS_PROVIDERS.CMCCCLOUD}`, // 兼容旧值,等同于 `CMCCCLOUD_DNS` - CMCCCLOUD_DNS: `${ACCESS_PROVIDERS.CMCCCLOUD}-dns`, - CONSTELLIX: `${ACCESS_PROVIDERS.CONSTELLIX}`, - CTCCCLOUD: `${ACCESS_PROVIDERS.CTCCCLOUD}`, // 兼容旧值,等同于 `CTCCCLOUD_SMARTDNS` - CTCCCLOUD_SMARTDNS: `${ACCESS_PROVIDERS.CTCCCLOUD}-smartdns`, - DESEC: `${ACCESS_PROVIDERS.DESEC}`, - DIGITALOCEAN: `${ACCESS_PROVIDERS.DIGITALOCEAN}`, - DNSLA: `${ACCESS_PROVIDERS.DNSLA}`, - DNSMADEEASY: `${ACCESS_PROVIDERS.DNSMADEEASY}`, - DUCKDNS: `${ACCESS_PROVIDERS.DUCKDNS}`, - DYNU: `${ACCESS_PROVIDERS.DYNU}`, - DYNV6: `${ACCESS_PROVIDERS.DYNV6}`, - GANDINET: `${ACCESS_PROVIDERS.GANDINET}`, - GCORE: `${ACCESS_PROVIDERS.GCORE}`, - GNAME: `${ACCESS_PROVIDERS.GNAME}`, - GODADDY: `${ACCESS_PROVIDERS.GODADDY}`, - HETZNER: `${ACCESS_PROVIDERS.HETZNER}`, - HOSTINGDE: `${ACCESS_PROVIDERS.HOSTINGDE}`, - HOSTINGER: `${ACCESS_PROVIDERS.HOSTINGER}`, - HUAWEICLOUD: `${ACCESS_PROVIDERS.HUAWEICLOUD}`, // 兼容旧值,等同于 `HUAWEICLOUD_DNS` - HUAWEICLOUD_DNS: `${ACCESS_PROVIDERS.HUAWEICLOUD}-dns`, - INFOMANIAK: `${ACCESS_PROVIDERS.INFOMANIAK}`, - IONOS: `${ACCESS_PROVIDERS.IONOS}`, - JDCLOUD: `${ACCESS_PROVIDERS.JDCLOUD}`, // 兼容旧值,等同于 `JDCLOUD_DNS` - JDCLOUD_DNS: `${ACCESS_PROVIDERS.JDCLOUD}-dns`, - LINODE: `${ACCESS_PROVIDERS.LINODE}`, - NAMECHEAP: `${ACCESS_PROVIDERS.NAMECHEAP}`, - NAMEDOTCOM: `${ACCESS_PROVIDERS.NAMEDOTCOM}`, - NAMESILO: `${ACCESS_PROVIDERS.NAMESILO}`, - NETCUP: `${ACCESS_PROVIDERS.NETCUP}`, - NETLIFY: `${ACCESS_PROVIDERS.NETLIFY}`, - NS1: `${ACCESS_PROVIDERS.NS1}`, - OVHCLOUD: `${ACCESS_PROVIDERS.OVHCLOUD}`, - PORKBUN: `${ACCESS_PROVIDERS.PORKBUN}`, - POWERDNS: `${ACCESS_PROVIDERS.POWERDNS}`, - QINGCLOUD: `${ACCESS_PROVIDERS.QINGCLOUD}`, // 兼容旧值,等同于 `QINGCLOUD_DNS` - QINGCLOUD_DNS: `${ACCESS_PROVIDERS.QINGCLOUD}-dns`, - RAINYUN: `${ACCESS_PROVIDERS.RAINYUN}`, - RFC2136: `${ACCESS_PROVIDERS.RFC2136}`, - SPACESHIP: `${ACCESS_PROVIDERS.SPACESHIP}`, - UCLOUD: `${ACCESS_PROVIDERS.UCLOUD}`, // 兼容旧值,等同于 `UCLOUD_UDNR` - UCLOUD_UDNR: `${ACCESS_PROVIDERS.UCLOUD}-udnr`, - TECHNITIUMDNS: `${ACCESS_PROVIDERS.TECHNITIUMDNS}`, - TENCENTCLOUD: `${ACCESS_PROVIDERS.TENCENTCLOUD}`, // 兼容旧值,等同于 `TENCENTCLOUD_DNS` - TENCENTCLOUD_DNS: `${ACCESS_PROVIDERS.TENCENTCLOUD}-dns`, - TENCENTCLOUD_EO: `${ACCESS_PROVIDERS.TENCENTCLOUD}-eo`, - VERCEL: `${ACCESS_PROVIDERS.VERCEL}`, - VOLCENGINE: `${ACCESS_PROVIDERS.VOLCENGINE}`, // 兼容旧值,等同于 `VOLCENGINE_DNS` - VOLCENGINE_DNS: `${ACCESS_PROVIDERS.VOLCENGINE}-dns`, - VULTR: `${ACCESS_PROVIDERS.VULTR}`, - WESTCN: `${ACCESS_PROVIDERS.WESTCN}`, - XINNET: `${ACCESS_PROVIDERS.XINNET}`, -} as const); - -export type ACMEDns01ProviderType = (typeof ACME_DNS01_PROVIDERS)[keyof typeof ACME_DNS01_PROVIDERS]; - -export interface ACMEDns01Provider extends BaseProviderWithAccess {} - -export const acmeDns01ProvidersMap: Map = new Map( - /* - 注意:此处的顺序决定显示在前端的顺序。 - NOTICE: The following order determines the order displayed at the frontend. - */ - ( - [ - [ACME_DNS01_PROVIDERS.ALIYUN_DNS, "provider.aliyun.dns"], - [ACME_DNS01_PROVIDERS.ALIYUN_ESA, "provider.aliyun.esa"], - [ACME_DNS01_PROVIDERS.TENCENTCLOUD_DNS, "provider.tencentcloud.dns"], - [ACME_DNS01_PROVIDERS.TENCENTCLOUD_EO, "provider.tencentcloud.eo"], - [ACME_DNS01_PROVIDERS.BAIDUCLOUD_DNS, "provider.baiducloud.dns"], - [ACME_DNS01_PROVIDERS.HUAWEICLOUD_DNS, "provider.huaweicloud.dns"], - [ACME_DNS01_PROVIDERS.VOLCENGINE_DNS, "provider.volcengine.dns"], - [ACME_DNS01_PROVIDERS.JDCLOUD_DNS, "provider.jdcloud.dns"], - [ACME_DNS01_PROVIDERS.AWS_ROUTE53, "provider.aws.route53"], - [ACME_DNS01_PROVIDERS.AZURE_DNS, "provider.azure.dns"], - [ACME_DNS01_PROVIDERS.AKAMAI_EDGEDNS, "provider.akamai.edgedns"], - [ACME_DNS01_PROVIDERS.ARVANCLOUD, "provider.arvancloud"], - [ACME_DNS01_PROVIDERS.BOOKMYNAME, "provider.bookmyname"], - [ACME_DNS01_PROVIDERS.BUNNY, "provider.bunny"], - [ACME_DNS01_PROVIDERS.CLOUDFLARE, "provider.cloudflare"], - [ACME_DNS01_PROVIDERS.CLOUDNS, "provider.cloudns"], - [ACME_DNS01_PROVIDERS.CONSTELLIX, "provider.constellix"], - [ACME_DNS01_PROVIDERS.DESEC, "provider.desec"], - [ACME_DNS01_PROVIDERS.DIGITALOCEAN, "provider.digitalocean"], - [ACME_DNS01_PROVIDERS.DNSLA, "provider.dnsla"], - [ACME_DNS01_PROVIDERS.DNSMADEEASY, "provider.dnsmadeeasy"], - [ACME_DNS01_PROVIDERS.DUCKDNS, "provider.duckdns"], - [ACME_DNS01_PROVIDERS.DYNU, "provider.dynu"], - [ACME_DNS01_PROVIDERS.DYNV6, "provider.dynv6"], - [ACME_DNS01_PROVIDERS.GANDINET, "provider.gandinet"], - [ACME_DNS01_PROVIDERS.GCORE, "provider.gcore"], - [ACME_DNS01_PROVIDERS.GNAME, "provider.gname"], - [ACME_DNS01_PROVIDERS.GODADDY, "provider.godaddy"], - [ACME_DNS01_PROVIDERS.HETZNER, "provider.hetzner"], - [ACME_DNS01_PROVIDERS.HOSTINGDE, "provider.hostingde"], - [ACME_DNS01_PROVIDERS.HOSTINGER, "provider.hostinger"], - [ACME_DNS01_PROVIDERS.INFOMANIAK, "provider.infomaniak"], - [ACME_DNS01_PROVIDERS.IONOS, "provider.ionos"], - [ACME_DNS01_PROVIDERS.LINODE, "provider.linode"], - [ACME_DNS01_PROVIDERS.NAMECHEAP, "provider.namecheap"], - [ACME_DNS01_PROVIDERS.NAMEDOTCOM, "provider.namedotcom"], - [ACME_DNS01_PROVIDERS.NAMESILO, "provider.namesilo"], - [ACME_DNS01_PROVIDERS.NETCUP, "provider.netcup"], - [ACME_DNS01_PROVIDERS.NETLIFY, "provider.netlify"], - [ACME_DNS01_PROVIDERS.NS1, "provider.ns1"], - [ACME_DNS01_PROVIDERS.OVHCLOUD, "provider.ovhcloud"], - [ACME_DNS01_PROVIDERS.PORKBUN, "provider.porkbun"], - [ACME_DNS01_PROVIDERS.SPACESHIP, "provider.spaceship"], - [ACME_DNS01_PROVIDERS.VERCEL, "provider.vercel"], - [ACME_DNS01_PROVIDERS.VULTR, "provider.vultr"], - [ACME_DNS01_PROVIDERS.CMCCCLOUD_DNS, "provider.cmcccloud.dns"], - [ACME_DNS01_PROVIDERS.CTCCCLOUD_SMARTDNS, "provider.ctcccloud.smartdns"], - [ACME_DNS01_PROVIDERS.RAINYUN, "provider.rainyun"], - [ACME_DNS01_PROVIDERS.UCLOUD_UDNR, "provider.ucloud.udnr"], - [ACME_DNS01_PROVIDERS.QINGCLOUD_DNS, "provider.qingcloud.dns"], - [ACME_DNS01_PROVIDERS.WESTCN, "provider.westcn"], - [ACME_DNS01_PROVIDERS["35CN"], "provider.35cn"], - [ACME_DNS01_PROVIDERS.XINNET, "provider.xinnet"], - [ACME_DNS01_PROVIDERS.POWERDNS, "provider.powerdns"], - [ACME_DNS01_PROVIDERS.TECHNITIUMDNS, "provider.technitiumdns"], - [ACME_DNS01_PROVIDERS.RFC2136, "provider.rfc2136"], - [ACME_DNS01_PROVIDERS.ACMEDNS, "provider.acmedns"], - [ACME_DNS01_PROVIDERS.ACMEHTTPREQ, "provider.acmehttpreq"], - ] satisfies Array<[ACMEDns01ProviderType, string]> - ).map(([type, name]) => [ - type, - { - type: type, - name: name, - icon: accessProvidersMap.get(type.split("-")[0])!.icon, - provider: type.split("-")[0] as AccessProviderType, - builtin: false, - }, - ]) -); -// #endregion - -// #region ACMEHTTP01Provider -/* - 注意:如果追加新的常量值,请保持以 ASCII 排序。 - NOTICE: If you add new constant, please keep ASCII order. - */ -export const ACME_HTTP01_PROVIDERS = Object.freeze({ - LOCAL: `${ACCESS_PROVIDERS.LOCAL}`, - SSH: `${ACCESS_PROVIDERS.SSH}`, -} as const); - -export type ACMEHttp01ProviderType = (typeof ACME_HTTP01_PROVIDERS)[keyof typeof ACME_HTTP01_PROVIDERS]; - -export interface ACMEHttp01Provider extends BaseProviderWithAccess {} - -export const acmeHttp01ProvidersMap: Map = new Map( - /* - 注意:此处的顺序决定显示在前端的顺序。 - NOTICE: The following order determines the order displayed at the frontend. - */ - ( - [ - [ACME_HTTP01_PROVIDERS.LOCAL, "provider.local", "builtin"], - [ACME_HTTP01_PROVIDERS.SSH, "provider.ssh"], - ] satisfies Array<[ACMEHttp01ProviderType, string, "builtin"] | [ACMEHttp01ProviderType, string]> - ).map(([type, name, builtin]) => [ - type, - { - type: type, - name: name, - icon: accessProvidersMap.get(type.split("-")[0])!.icon, - provider: type.split("-")[0] as AccessProviderType, - builtin: builtin === "builtin", - }, - ]) -); -// #endregion - -// #region DeploymentProvider -/* - 注意:如果追加新的常量值,请保持以 ASCII 排序。 - NOTICE: If you add new constant, please keep ASCII order. - */ -export const DEPLOYMENT_PROVIDERS = Object.freeze({ - ["1PANEL_CONSOLE"]: `${ACCESS_PROVIDERS["1PANEL"]}-console`, - ["1PANEL_SITE"]: `${ACCESS_PROVIDERS["1PANEL"]}-site`, - ALIYUN_ALB: `${ACCESS_PROVIDERS.ALIYUN}-alb`, - ALIYUN_APIGW: `${ACCESS_PROVIDERS.ALIYUN}-apigw`, - ALIYUN_CAS: `${ACCESS_PROVIDERS.ALIYUN}-cas`, - ALIYUN_CAS_DEPLOY: `${ACCESS_PROVIDERS.ALIYUN}-casdeploy`, - ALIYUN_CDN: `${ACCESS_PROVIDERS.ALIYUN}-cdn`, - ALIYUN_CLB: `${ACCESS_PROVIDERS.ALIYUN}-clb`, - ALIYUN_DCDN: `${ACCESS_PROVIDERS.ALIYUN}-dcdn`, - ALIYUN_DDOSPRO: `${ACCESS_PROVIDERS.ALIYUN}-ddospro`, - ALIYUN_ESA: `${ACCESS_PROVIDERS.ALIYUN}-esa`, - ALIYUN_FC: `${ACCESS_PROVIDERS.ALIYUN}-fc`, - ALIYUN_GA: `${ACCESS_PROVIDERS.ALIYUN}-ga`, - ALIYUN_LIVE: `${ACCESS_PROVIDERS.ALIYUN}-live`, - ALIYUN_NLB: `${ACCESS_PROVIDERS.ALIYUN}-nlb`, - ALIYUN_OSS: `${ACCESS_PROVIDERS.ALIYUN}-oss`, - ALIYUN_VOD: `${ACCESS_PROVIDERS.ALIYUN}-vod`, - ALIYUN_WAF: `${ACCESS_PROVIDERS.ALIYUN}-waf`, - APISIX: `${ACCESS_PROVIDERS.APISIX}`, - AWS_ACM: `${ACCESS_PROVIDERS.AWS}-acm`, - AWS_CLOUDFRONT: `${ACCESS_PROVIDERS.AWS}-cloudfront`, - AWS_IAM: `${ACCESS_PROVIDERS.AWS}-iam`, - AZURE_KEYVAULT: `${ACCESS_PROVIDERS.AZURE}-keyvault`, - BAIDUCLOUD_APPBLB: `${ACCESS_PROVIDERS.BAIDUCLOUD}-appblb`, - BAIDUCLOUD_BLB: `${ACCESS_PROVIDERS.BAIDUCLOUD}-blb`, - BAIDUCLOUD_CDN: `${ACCESS_PROVIDERS.BAIDUCLOUD}-cdn`, - BAIDUCLOUD_CERT: `${ACCESS_PROVIDERS.BAIDUCLOUD}-cert`, - BAISHAN_CDN: `${ACCESS_PROVIDERS.BAISHAN}-cdn`, - BAOTAPANEL_CONSOLE: `${ACCESS_PROVIDERS.BAOTAPANEL}-console`, - BAOTAPANEL_SITE: `${ACCESS_PROVIDERS.BAOTAPANEL}-site`, - BAOTAPANELGO_CONSOLE: `${ACCESS_PROVIDERS.BAOTAPANELGO}-console`, - BAOTAPANELGO_SITE: `${ACCESS_PROVIDERS.BAOTAPANELGO}-site`, - BAOTAWAF_CONSOLE: `${ACCESS_PROVIDERS.BAOTAWAF}-console`, - BAOTAWAF_SITE: `${ACCESS_PROVIDERS.BAOTAWAF}-site`, - BUNNY_CDN: `${ACCESS_PROVIDERS.BUNNY}-cdn`, - BYTEPLUS_CDN: `${ACCESS_PROVIDERS.BYTEPLUS}-cdn`, - CACHEFLY: `${ACCESS_PROVIDERS.CACHEFLY}`, - CDNFLY: `${ACCESS_PROVIDERS.CDNFLY}`, - CTCCCLOUD_AO: `${ACCESS_PROVIDERS.CTCCCLOUD}-ao`, - CTCCCLOUD_CDN: `${ACCESS_PROVIDERS.CTCCCLOUD}-cdn`, - CTCCCLOUD_CMS: `${ACCESS_PROVIDERS.CTCCCLOUD}-cms`, - CTCCCLOUD_ELB: `${ACCESS_PROVIDERS.CTCCCLOUD}-elb`, - CTCCCLOUD_ICDN: `${ACCESS_PROVIDERS.CTCCCLOUD}-icdn`, - CTCCCLOUD_LVDN: `${ACCESS_PROVIDERS.CTCCCLOUD}-lvdn`, - DOGECLOUD_CDN: `${ACCESS_PROVIDERS.DOGECLOUD}-cdn`, - FLEXCDN: `${ACCESS_PROVIDERS.FLEXCDN}`, - GCORE_CDN: `${ACCESS_PROVIDERS.GCORE}-cdn`, - GOEDGE: `${ACCESS_PROVIDERS.GOEDGE}`, - HUAWEICLOUD_CDN: `${ACCESS_PROVIDERS.HUAWEICLOUD}-cdn`, - HUAWEICLOUD_ELB: `${ACCESS_PROVIDERS.HUAWEICLOUD}-elb`, - HUAWEICLOUD_SCM: `${ACCESS_PROVIDERS.HUAWEICLOUD}-scm`, - HUAWEICLOUD_OBS: `${ACCESS_PROVIDERS.HUAWEICLOUD}-obs`, - HUAWEICLOUD_WAF: `${ACCESS_PROVIDERS.HUAWEICLOUD}-waf`, - JDCLOUD_ALB: `${ACCESS_PROVIDERS.JDCLOUD}-alb`, - JDCLOUD_CDN: `${ACCESS_PROVIDERS.JDCLOUD}-cdn`, - JDCLOUD_LIVE: `${ACCESS_PROVIDERS.JDCLOUD}-live`, - JDCLOUD_VOD: `${ACCESS_PROVIDERS.JDCLOUD}-vod`, - KONG: `${ACCESS_PROVIDERS.KONG}`, - KUBERNETES_SECRET: `${ACCESS_PROVIDERS.KUBERNETES}-secret`, - KSYUN_CDN: `${ACCESS_PROVIDERS.KSYUN}-cdn`, - LECDN: `${ACCESS_PROVIDERS.LECDN}`, - LOCAL: `${ACCESS_PROVIDERS.LOCAL}`, - NETLIFY_SITE: `${ACCESS_PROVIDERS.NETLIFY}-site`, - PROXMOXVE: `${ACCESS_PROVIDERS.PROXMOXVE}`, - QINIU_CDN: `${ACCESS_PROVIDERS.QINIU}-cdn`, - QINIU_KODO: `${ACCESS_PROVIDERS.QINIU}-kodo`, - QINIU_PILI: `${ACCESS_PROVIDERS.QINIU}-pili`, - RAINYUN_RCDN: `${ACCESS_PROVIDERS.RAINYUN}-rcdn`, - RATPANEL_CONSOLE: `${ACCESS_PROVIDERS.RATPANEL}-console`, - RATPANEL_SITE: `${ACCESS_PROVIDERS.RATPANEL}-site`, - SAFELINE_SITE: `${ACCESS_PROVIDERS.SAFELINE}-site`, - SSH: `${ACCESS_PROVIDERS.SSH}`, - TENCENTCLOUD_CDN: `${ACCESS_PROVIDERS.TENCENTCLOUD}-cdn`, - TENCENTCLOUD_CLB: `${ACCESS_PROVIDERS.TENCENTCLOUD}-clb`, - TENCENTCLOUD_COS: `${ACCESS_PROVIDERS.TENCENTCLOUD}-cos`, - TENCENTCLOUD_CSS: `${ACCESS_PROVIDERS.TENCENTCLOUD}-css`, - TENCENTCLOUD_ECDN: `${ACCESS_PROVIDERS.TENCENTCLOUD}-ecdn`, - TENCENTCLOUD_EO: `${ACCESS_PROVIDERS.TENCENTCLOUD}-eo`, - TENCENTCLOUD_GAAP: `${ACCESS_PROVIDERS.TENCENTCLOUD}-gaap`, - TENCENTCLOUD_SCF: `${ACCESS_PROVIDERS.TENCENTCLOUD}-scf`, - TENCENTCLOUD_SSL: `${ACCESS_PROVIDERS.TENCENTCLOUD}-ssl`, - TENCENTCLOUD_SSL_DEPLOY: `${ACCESS_PROVIDERS.TENCENTCLOUD}-ssldeploy`, - TENCENTCLOUD_SSL_UPDATE: `${ACCESS_PROVIDERS.TENCENTCLOUD}-sslupdate`, - TENCENTCLOUD_VOD: `${ACCESS_PROVIDERS.TENCENTCLOUD}-vod`, - TENCENTCLOUD_WAF: `${ACCESS_PROVIDERS.TENCENTCLOUD}-waf`, - UCLOUD_UCDN: `${ACCESS_PROVIDERS.UCLOUD}-ucdn`, - UCLOUD_US3: `${ACCESS_PROVIDERS.UCLOUD}-us3`, - UNICLOUD_WEBHOST: `${ACCESS_PROVIDERS.UNICLOUD}-webhost`, - UPYUN_CDN: `${ACCESS_PROVIDERS.UPYUN}-cdn`, - UPYUN_FILE: `${ACCESS_PROVIDERS.UPYUN}-file`, - VOLCENGINE_ALB: `${ACCESS_PROVIDERS.VOLCENGINE}-alb`, - VOLCENGINE_CDN: `${ACCESS_PROVIDERS.VOLCENGINE}-cdn`, - VOLCENGINE_CERTCENTER: `${ACCESS_PROVIDERS.VOLCENGINE}-certcenter`, - VOLCENGINE_CLB: `${ACCESS_PROVIDERS.VOLCENGINE}-clb`, - VOLCENGINE_DCDN: `${ACCESS_PROVIDERS.VOLCENGINE}-dcdn`, - VOLCENGINE_IMAGEX: `${ACCESS_PROVIDERS.VOLCENGINE}-imagex`, - VOLCENGINE_LIVE: `${ACCESS_PROVIDERS.VOLCENGINE}-live`, - VOLCENGINE_TOS: `${ACCESS_PROVIDERS.VOLCENGINE}-tos`, - WANGSU_CDN: `${ACCESS_PROVIDERS.WANGSU}-cdn`, - WANGSU_CDNPRO: `${ACCESS_PROVIDERS.WANGSU}-cdnpro`, - WANGSU_CERTIFICATE: `${ACCESS_PROVIDERS.WANGSU}-certificate`, - WEBHOOK: `${ACCESS_PROVIDERS.WEBHOOK}`, -} as const); - -export type DeploymentProviderType = (typeof DEPLOYMENT_PROVIDERS)[keyof typeof DEPLOYMENT_PROVIDERS]; - -export const DEPLOYMENT_CATEGORIES = Object.freeze({ - ALL: "all", - CDN: "cdn", - STORAGE: "storage", - LOADBALANCE: "loadbalance", - FIREWALL: "firewall", - AV: "av", - ACCELERATOR: "accelerator", - APIGATEWAY: "apigw", - SERVERLESS: "serverless", - WEBSITE: "website", - SSL: "ssl", - NAS: "nas", - OTHER: "other", -} as const); - -export type DeploymentCategoryType = (typeof DEPLOYMENT_CATEGORIES)[keyof typeof DEPLOYMENT_CATEGORIES]; - -export interface DeploymentProvider extends BaseProviderWithAccess { - category: DeploymentCategoryType; -} - -export const deploymentProvidersMap: Map = new Map( - /* - 注意:此处的顺序决定显示在前端的顺序。 - NOTICE: The following order determines the order displayed at the frontend. - */ - ( - [ - [DEPLOYMENT_PROVIDERS.LOCAL, "provider.local", DEPLOYMENT_CATEGORIES.OTHER, "builtin"], - [DEPLOYMENT_PROVIDERS.SSH, "provider.ssh", DEPLOYMENT_CATEGORIES.OTHER], - [DEPLOYMENT_PROVIDERS.WEBHOOK, "provider.webhook", DEPLOYMENT_CATEGORIES.OTHER], - [DEPLOYMENT_PROVIDERS.KUBERNETES_SECRET, "provider.kubernetes.secret", DEPLOYMENT_CATEGORIES.OTHER], - [DEPLOYMENT_PROVIDERS.ALIYUN_OSS, "provider.aliyun.oss", DEPLOYMENT_CATEGORIES.STORAGE], - [DEPLOYMENT_PROVIDERS.ALIYUN_CDN, "provider.aliyun.cdn", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.ALIYUN_DCDN, "provider.aliyun.dcdn", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.ALIYUN_ESA, "provider.aliyun.esa", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.ALIYUN_CLB, "provider.aliyun.clb", DEPLOYMENT_CATEGORIES.LOADBALANCE], - [DEPLOYMENT_PROVIDERS.ALIYUN_ALB, "provider.aliyun.alb", DEPLOYMENT_CATEGORIES.LOADBALANCE], - [DEPLOYMENT_PROVIDERS.ALIYUN_NLB, "provider.aliyun.nlb", DEPLOYMENT_CATEGORIES.LOADBALANCE], - [DEPLOYMENT_PROVIDERS.ALIYUN_WAF, "provider.aliyun.waf", DEPLOYMENT_CATEGORIES.FIREWALL], - [DEPLOYMENT_PROVIDERS.ALIYUN_DDOSPRO, "provider.aliyun.ddospro", DEPLOYMENT_CATEGORIES.FIREWALL], - [DEPLOYMENT_PROVIDERS.ALIYUN_LIVE, "provider.aliyun.live", DEPLOYMENT_CATEGORIES.AV], - [DEPLOYMENT_PROVIDERS.ALIYUN_VOD, "provider.aliyun.vod", DEPLOYMENT_CATEGORIES.AV], - [DEPLOYMENT_PROVIDERS.ALIYUN_FC, "provider.aliyun.fc", DEPLOYMENT_CATEGORIES.SERVERLESS], - [DEPLOYMENT_PROVIDERS.ALIYUN_APIGW, "provider.aliyun.apigw", DEPLOYMENT_CATEGORIES.APIGATEWAY], - [DEPLOYMENT_PROVIDERS.ALIYUN_GA, "provider.aliyun.ga", DEPLOYMENT_CATEGORIES.ACCELERATOR], - [DEPLOYMENT_PROVIDERS.ALIYUN_CAS, "provider.aliyun.cas_upload", DEPLOYMENT_CATEGORIES.SSL], - [DEPLOYMENT_PROVIDERS.ALIYUN_CAS_DEPLOY, "provider.aliyun.cas_deploy", DEPLOYMENT_CATEGORIES.SSL], - [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_COS, "provider.tencentcloud.cos", DEPLOYMENT_CATEGORIES.STORAGE], - [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_CDN, "provider.tencentcloud.cdn", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_ECDN, "provider.tencentcloud.ecdn", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_EO, "provider.tencentcloud.eo", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_CLB, "provider.tencentcloud.clb", DEPLOYMENT_CATEGORIES.LOADBALANCE], - [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_WAF, "provider.tencentcloud.waf", DEPLOYMENT_CATEGORIES.FIREWALL], - [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_CSS, "provider.tencentcloud.css", DEPLOYMENT_CATEGORIES.AV], - [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_VOD, "provider.tencentcloud.vod", DEPLOYMENT_CATEGORIES.AV], - [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_SCF, "provider.tencentcloud.scf", DEPLOYMENT_CATEGORIES.SERVERLESS], - [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_GAAP, "provider.tencentcloud.gaap", DEPLOYMENT_CATEGORIES.ACCELERATOR], - [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_SSL, "provider.tencentcloud.ssl_upload", DEPLOYMENT_CATEGORIES.SSL], - [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_SSL_DEPLOY, "provider.tencentcloud.ssl_deploy", DEPLOYMENT_CATEGORIES.SSL], - [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_SSL_UPDATE, "provider.tencentcloud.ssl_update", DEPLOYMENT_CATEGORIES.SSL], - [DEPLOYMENT_PROVIDERS.BAIDUCLOUD_CDN, "provider.baiducloud.cdn", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.BAIDUCLOUD_BLB, "provider.baiducloud.blb", DEPLOYMENT_CATEGORIES.LOADBALANCE], - [DEPLOYMENT_PROVIDERS.BAIDUCLOUD_APPBLB, "provider.baiducloud.appblb", DEPLOYMENT_CATEGORIES.LOADBALANCE], - [DEPLOYMENT_PROVIDERS.BAIDUCLOUD_CERT, "provider.baiducloud.cert_upload", DEPLOYMENT_CATEGORIES.SSL], - [DEPLOYMENT_PROVIDERS.HUAWEICLOUD_CDN, "provider.huaweicloud.cdn", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.HUAWEICLOUD_OBS, "provider.huaweicloud.obs", DEPLOYMENT_CATEGORIES.STORAGE], - [DEPLOYMENT_PROVIDERS.HUAWEICLOUD_ELB, "provider.huaweicloud.elb", DEPLOYMENT_CATEGORIES.LOADBALANCE], - [DEPLOYMENT_PROVIDERS.HUAWEICLOUD_WAF, "provider.huaweicloud.waf", DEPLOYMENT_CATEGORIES.FIREWALL], - [DEPLOYMENT_PROVIDERS.HUAWEICLOUD_SCM, "provider.huaweicloud.scm_upload", DEPLOYMENT_CATEGORIES.SSL], - [DEPLOYMENT_PROVIDERS.VOLCENGINE_TOS, "provider.volcengine.tos", DEPLOYMENT_CATEGORIES.STORAGE], - [DEPLOYMENT_PROVIDERS.VOLCENGINE_CDN, "provider.volcengine.cdn", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.VOLCENGINE_DCDN, "provider.volcengine.dcdn", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.VOLCENGINE_CLB, "provider.volcengine.clb", DEPLOYMENT_CATEGORIES.LOADBALANCE], - [DEPLOYMENT_PROVIDERS.VOLCENGINE_ALB, "provider.volcengine.alb", DEPLOYMENT_CATEGORIES.LOADBALANCE], - [DEPLOYMENT_PROVIDERS.VOLCENGINE_IMAGEX, "provider.volcengine.imagex", DEPLOYMENT_CATEGORIES.STORAGE], - [DEPLOYMENT_PROVIDERS.VOLCENGINE_LIVE, "provider.volcengine.live", DEPLOYMENT_CATEGORIES.AV], - [DEPLOYMENT_PROVIDERS.VOLCENGINE_CERTCENTER, "provider.volcengine.certcenter_upload", DEPLOYMENT_CATEGORIES.SSL], - [DEPLOYMENT_PROVIDERS.JDCLOUD_ALB, "provider.jdcloud.alb", DEPLOYMENT_CATEGORIES.LOADBALANCE], - [DEPLOYMENT_PROVIDERS.JDCLOUD_CDN, "provider.jdcloud.cdn", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.JDCLOUD_LIVE, "provider.jdcloud.live", DEPLOYMENT_CATEGORIES.AV], - [DEPLOYMENT_PROVIDERS.JDCLOUD_VOD, "provider.jdcloud.vod", DEPLOYMENT_CATEGORIES.AV], - [DEPLOYMENT_PROVIDERS.QINIU_KODO, "provider.qiniu.kodo", DEPLOYMENT_CATEGORIES.STORAGE], - [DEPLOYMENT_PROVIDERS.QINIU_CDN, "provider.qiniu.cdn", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.QINIU_PILI, "provider.qiniu.pili", DEPLOYMENT_CATEGORIES.AV], - [DEPLOYMENT_PROVIDERS.UPYUN_FILE, "provider.upyun.file", DEPLOYMENT_CATEGORIES.STORAGE], - [DEPLOYMENT_PROVIDERS.UPYUN_CDN, "provider.upyun.cdn", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.BAISHAN_CDN, "provider.baishan.cdn", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.WANGSU_CDN, "provider.wangsu.cdn", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.WANGSU_CDNPRO, "provider.wangsu.cdnpro", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.WANGSU_CERTIFICATE, "provider.wangsu.certificate_upload", DEPLOYMENT_CATEGORIES.SSL], - [DEPLOYMENT_PROVIDERS.DOGECLOUD_CDN, "provider.dogecloud.cdn", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.KSYUN_CDN, "provider.ksyun.cdn", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.BYTEPLUS_CDN, "provider.byteplus.cdn", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.UCLOUD_US3, "provider.ucloud.us3", DEPLOYMENT_CATEGORIES.STORAGE], - [DEPLOYMENT_PROVIDERS.UCLOUD_UCDN, "provider.ucloud.ucdn", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.CTCCCLOUD_CDN, "provider.ctcccloud.cdn", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.CTCCCLOUD_ICDN, "provider.ctcccloud.icdn", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.CTCCCLOUD_AO, "provider.ctcccloud.ao", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.CTCCCLOUD_ELB, "provider.ctcccloud.elb", DEPLOYMENT_CATEGORIES.LOADBALANCE], - [DEPLOYMENT_PROVIDERS.CTCCCLOUD_LVDN, "provider.ctcccloud.lvdn", DEPLOYMENT_CATEGORIES.AV], - [DEPLOYMENT_PROVIDERS.CTCCCLOUD_CMS, "provider.ctcccloud.cms_upload", DEPLOYMENT_CATEGORIES.SSL], - [DEPLOYMENT_PROVIDERS.RAINYUN_RCDN, "provider.rainyun.rcdn", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.UNICLOUD_WEBHOST, "provider.unicloud.webhost", DEPLOYMENT_CATEGORIES.WEBSITE], - [DEPLOYMENT_PROVIDERS.AWS_CLOUDFRONT, "provider.aws.cloudfront", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.AWS_ACM, "provider.aws.acm", DEPLOYMENT_CATEGORIES.SSL], - [DEPLOYMENT_PROVIDERS.AWS_IAM, "provider.aws.iam", DEPLOYMENT_CATEGORIES.SSL], - [DEPLOYMENT_PROVIDERS.AZURE_KEYVAULT, "provider.azure.keyvault", DEPLOYMENT_CATEGORIES.SSL], - [DEPLOYMENT_PROVIDERS.BUNNY_CDN, "provider.bunny.cdn", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.CACHEFLY, "provider.cachefly", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.GCORE_CDN, "provider.gcore.cdn", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.NETLIFY_SITE, "provider.netlify.site", DEPLOYMENT_CATEGORIES.WEBSITE], - [DEPLOYMENT_PROVIDERS.CDNFLY, "provider.cdnfly", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.FLEXCDN, "provider.flexcdn", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.GOEDGE, "provider.goedge", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS.LECDN, "provider.lecdn", DEPLOYMENT_CATEGORIES.CDN], - [DEPLOYMENT_PROVIDERS["1PANEL_SITE"], "provider.1panel.site", DEPLOYMENT_CATEGORIES.WEBSITE], - [DEPLOYMENT_PROVIDERS["1PANEL_CONSOLE"], "provider.1panel.console", DEPLOYMENT_CATEGORIES.OTHER], - [DEPLOYMENT_PROVIDERS.BAOTAPANEL_SITE, "provider.baotapanel.site", DEPLOYMENT_CATEGORIES.WEBSITE], - [DEPLOYMENT_PROVIDERS.BAOTAPANEL_CONSOLE, "provider.baotapanel.console", DEPLOYMENT_CATEGORIES.OTHER], - [DEPLOYMENT_PROVIDERS.BAOTAPANELGO_SITE, "provider.baotapanelgo.site", DEPLOYMENT_CATEGORIES.WEBSITE], - [DEPLOYMENT_PROVIDERS.BAOTAPANELGO_CONSOLE, "provider.baotapanelgo.console", DEPLOYMENT_CATEGORIES.OTHER], - [DEPLOYMENT_PROVIDERS.RATPANEL_SITE, "provider.ratpanel.site", DEPLOYMENT_CATEGORIES.WEBSITE], - [DEPLOYMENT_PROVIDERS.RATPANEL_CONSOLE, "provider.ratpanel.console", DEPLOYMENT_CATEGORIES.OTHER], - [DEPLOYMENT_PROVIDERS.BAOTAWAF_SITE, "provider.baotawaf.site", DEPLOYMENT_CATEGORIES.FIREWALL], - [DEPLOYMENT_PROVIDERS.BAOTAWAF_CONSOLE, "provider.baotawaf.console", DEPLOYMENT_CATEGORIES.OTHER], - [DEPLOYMENT_PROVIDERS.SAFELINE_SITE, "provider.safeline.site", DEPLOYMENT_CATEGORIES.FIREWALL], - [DEPLOYMENT_PROVIDERS.APISIX, "provider.apisix", DEPLOYMENT_CATEGORIES.APIGATEWAY], - [DEPLOYMENT_PROVIDERS.KONG, "provider.kong", DEPLOYMENT_CATEGORIES.APIGATEWAY], - [DEPLOYMENT_PROVIDERS.PROXMOXVE, "provider.proxmoxve", DEPLOYMENT_CATEGORIES.NAS], - ] satisfies Array<[DeploymentProviderType, string, DeploymentCategoryType, "builtin"] | [DeploymentProviderType, string, DeploymentCategoryType]> - ).map(([type, name, category, builtin]) => [ - type, - { - type: type, - name: name, - icon: accessProvidersMap.get(type.split("-")[0])!.icon, - provider: type.split("-")[0] as AccessProviderType, - category: category, - builtin: builtin === "builtin", - }, - ]) -); -// #endregion - -// #region NotificationProvider -/* - 注意:如果追加新的常量值,请保持以 ASCII 排序。 - NOTICE: If you add new constant, please keep ASCII order. - */ -export const NOTIFICATION_PROVIDERS = Object.freeze({ - DINGTALKBOT: `${ACCESS_PROVIDERS.DINGTALKBOT}`, - DISCORDBOT: `${ACCESS_PROVIDERS.DISCORDBOT}`, - EMAIL: `${ACCESS_PROVIDERS.EMAIL}`, - LARKBOT: `${ACCESS_PROVIDERS.LARKBOT}`, - MATTERMOST: `${ACCESS_PROVIDERS.MATTERMOST}`, - SLACKBOT: `${ACCESS_PROVIDERS.SLACKBOT}`, - TELEGRAMBOT: `${ACCESS_PROVIDERS.TELEGRAMBOT}`, - WEBHOOK: `${ACCESS_PROVIDERS.WEBHOOK}`, - WECOMBOT: `${ACCESS_PROVIDERS.WECOMBOT}`, -} as const); - -export type NotificationProviderType = (typeof NOTIFICATION_PROVIDERS)[keyof typeof NOTIFICATION_PROVIDERS]; - -export interface NotificationProvider extends BaseProviderWithAccess {} - -export const notificationProvidersMap: Map = new Map( - /* - 注意:此处的顺序决定显示在前端的顺序。 - NOTICE: The following order determines the order displayed at the frontend. - */ - ( - [ - [NOTIFICATION_PROVIDERS.EMAIL], - [NOTIFICATION_PROVIDERS.WEBHOOK], - [NOTIFICATION_PROVIDERS.DINGTALKBOT], - [NOTIFICATION_PROVIDERS.LARKBOT], - [NOTIFICATION_PROVIDERS.WECOMBOT], - [NOTIFICATION_PROVIDERS.DISCORDBOT], - [NOTIFICATION_PROVIDERS.SLACKBOT], - [NOTIFICATION_PROVIDERS.TELEGRAMBOT], - [NOTIFICATION_PROVIDERS.MATTERMOST], - ] satisfies Array<[NotificationProviderType]> - ).map(([type]) => [ - type, - { - type: type, - name: accessProvidersMap.get(type.split("-")[0])!.name, - icon: accessProvidersMap.get(type.split("-")[0])!.icon, - provider: type.split("-")[0] as AccessProviderType, - builtin: false, - }, - ]) -); -// #endregion +interface BaseProvider

{ + type: P; + name: string; + icon: string; + builtin: boolean; +} + +interface BaseProviderWithAccess

extends BaseProvider

{ + provider: AccessProviderType; +} + +// #region AccessProvider +/* + 注意:如果追加新的常量值,请保持以 ASCII 排序。 + NOTICE: If you add new constant, please keep ASCII order. + */ +export const ACCESS_PROVIDERS = Object.freeze({ + ["1PANEL"]: "1panel", + ["35CN"]: "35cn", + ACMECA: "acmeca", + ACMEDNS: "acmedns", + ACMEHTTPREQ: "acmehttpreq", + ACTALISSSL: "actalisssl", + AKAMAI: "akamai", + ALIYUN: "aliyun", + APISIX: "apisix", + ARVANCLOUD: "arvancloud", + AWS: "aws", + AZURE: "azure", + BAIDUCLOUD: "baiducloud", + BAISHAN: "baishan", + BAOTAPANEL: "baotapanel", + BAOTAPANELGO: "baotapanelgo", + BAOTAWAF: "baotawaf", + BOOKMYNAME: "bookmyname", + BUNNY: "bunny", + BYTEPLUS: "byteplus", + CACHEFLY: "cachefly", + CDNFLY: "cdnfly", + CLOUDFLARE: "cloudflare", + CLOUDNS: "cloudns", + CMCCCLOUD: "cmcccloud", + CONSTELLIX: "constellix", + CTCCCLOUD: "ctcccloud", + DESEC: "desec", + DIGITALOCEAN: "digitalocean", + DINGTALKBOT: "dingtalkbot", + DISCORDBOT: "discordbot", + DNSLA: "dnsla", + DNSMADEEASY: "dnsmadeeasy", + DOGECLOUD: "dogecloud", + DUCKDNS: "duckdns", + DYNU: "dynu", + DYNV6: "dynv6", + EMAIL: "email", + FLEXCDN: "flexcdn", + GANDINET: "gandinet", + GCORE: "gcore", + GLOBALSIGNATLAS: "globalsignatlas", + GNAME: "gname", + GODADDY: "godaddy", + GOEDGE: "goedge", + GOOGLETRUSTSERVICES: "googletrustservices", + HETZNER: "hetzner", + HOSTINGDE: "hostingde", + HOSTINGER: "hostinger", + HUAWEICLOUD: "huaweicloud", + INFOMANIAK: "infomaniak", + IONOS: "ionos", + JDCLOUD: "jdcloud", + KONG: "kong", + KUBERNETES: "k8s", + KSYUN: "ksyun", + LARKBOT: "larkbot", + LECDN: "lecdn", + LETSENCRYPT: "letsencrypt", + LETSENCRYPTSTAGING: "letsencryptstaging", + LINODE: "linode", + LITESSL: "litessl", + LOCAL: "local", + MATTERMOST: "mattermost", + NAMECHEAP: "namecheap", + NAMEDOTCOM: "namedotcom", + NAMESILO: "namesilo", + NETCUP: "netcup", + NETLIFY: "netlify", + NS1: "ns1", + OVHCLOUD: "ovhcloud", + PORKBUN: "porkbun", + POWERDNS: "powerdns", + PROXMOXVE: "proxmoxve", + QINGCLOUD: "qingcloud", + QINIU: "qiniu", + RAINYUN: "rainyun", + RATPANEL: "ratpanel", + RFC2136: "rfc2136", + SAFELINE: "safeline", + SECTIGO: "sectigo", + SLACKBOT: "slackbot", + SPACESHIP: "spaceship", + SSH: "ssh", + SSLCOM: "sslcom", + TECHNITIUMDNS: "technitiumdns", + TELEGRAMBOT: "telegrambot", + TENCENTCLOUD: "tencentcloud", + UCLOUD: "ucloud", + UNICLOUD: "unicloud", + UPYUN: "upyun", + VERCEL: "vercel", + VOLCENGINE: "volcengine", + VULTR: "vultr", + WANGSU: "wangsu", + WEBHOOK: "webhook", + WECOMBOT: "wecombot", + WESTCN: "westcn", + XINNET: "xinnet", + ZEROSSL: "zerossl", + MOHUA: "mohua", +} as const); + +export type AccessProviderType = (typeof ACCESS_PROVIDERS)[keyof typeof ACCESS_PROVIDERS]; + +export const ACCESS_USAGES = Object.freeze({ + DNS: "dns", + HOSTING: "hosting", + CA: "ca", + NOTIFICATION: "notification", +} as const); + +export type AccessUsageType = (typeof ACCESS_USAGES)[keyof typeof ACCESS_USAGES]; + +export interface AccessProvider extends BaseProvider { + usages: AccessUsageType[]; +} + +export const accessProvidersMap: Map = new Map( + /* + 注意:此处的顺序决定显示在前端的顺序。 + NOTICE: The following order determines the order displayed at the frontend. + */ + ( + [ + [ACCESS_PROVIDERS.LOCAL, "provider.local", "/imgs/providers/local.svg", [ACCESS_USAGES.HOSTING], "builtin"], + [ACCESS_PROVIDERS.SSH, "provider.ssh", "/imgs/providers/ssh.svg", [ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.WEBHOOK, "provider.webhook", "/imgs/providers/webhook.svg", [ACCESS_USAGES.HOSTING, ACCESS_USAGES.NOTIFICATION]], + [ACCESS_PROVIDERS.KUBERNETES, "provider.kubernetes", "/imgs/providers/kubernetes.svg", [ACCESS_USAGES.HOSTING]], + + [ACCESS_PROVIDERS.ALIYUN, "provider.aliyun", "/imgs/providers/aliyun.svg", [ACCESS_USAGES.DNS, ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.TENCENTCLOUD, "provider.tencentcloud", "/imgs/providers/tencentcloud.svg", [ACCESS_USAGES.DNS, ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.BAIDUCLOUD, "provider.baiducloud", "/imgs/providers/baiducloud.svg", [ACCESS_USAGES.DNS, ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.HUAWEICLOUD, "provider.huaweicloud", "/imgs/providers/huaweicloud.svg", [ACCESS_USAGES.DNS, ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.VOLCENGINE, "provider.volcengine", "/imgs/providers/volcengine.svg", [ACCESS_USAGES.DNS, ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.JDCLOUD, "provider.jdcloud", "/imgs/providers/jdcloud.svg", [ACCESS_USAGES.DNS, ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.AWS, "provider.aws", "/imgs/providers/aws.svg", [ACCESS_USAGES.DNS, ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.AZURE, "provider.azure", "/imgs/providers/azure.svg", [ACCESS_USAGES.DNS, ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.BUNNY, "provider.bunny", "/imgs/providers/bunny.svg", [ACCESS_USAGES.DNS, ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.GCORE, "provider.gcore", "/imgs/providers/gcore.png", [ACCESS_USAGES.DNS, ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.NETLIFY, "provider.netlify", "/imgs/providers/netlify.png", [ACCESS_USAGES.DNS, ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.RAINYUN, "provider.rainyun", "/imgs/providers/rainyun.svg", [ACCESS_USAGES.DNS, ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.UCLOUD, "provider.ucloud", "/imgs/providers/ucloud.svg", [ACCESS_USAGES.DNS, ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.CTCCCLOUD, "provider.ctcccloud", "/imgs/providers/ctcccloud.svg", [ACCESS_USAGES.DNS, ACCESS_USAGES.HOSTING]], + + [ACCESS_PROVIDERS.QINIU, "provider.qiniu", "/imgs/providers/qiniu.svg", [ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.UPYUN, "provider.upyun", "/imgs/providers/upyun.svg", [ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.BAISHAN, "provider.baishan", "/imgs/providers/baishan.png", [ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.WANGSU, "provider.wangsu", "/imgs/providers/wangsu.svg", [ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.DOGECLOUD, "provider.dogecloud", "/imgs/providers/dogecloud.png", [ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.KSYUN, "provider.ksyun", "/imgs/providers/ksyun.svg", [ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.BYTEPLUS, "provider.byteplus", "/imgs/providers/byteplus.svg", [ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.UNICLOUD, "provider.unicloud", "/imgs/providers/unicloud.png", [ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS["1PANEL"], "provider.1panel", "/imgs/providers/1panel.svg", [ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.BAOTAPANEL, "provider.baotapanel", "/imgs/providers/baotapanel.svg", [ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.BAOTAPANELGO, "provider.baotapanelgo", "/imgs/providers/baotapanel.svg", [ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.BAOTAWAF, "provider.baotawaf", "/imgs/providers/baotawaf.svg", [ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.RATPANEL, "provider.ratpanel", "/imgs/providers/ratpanel.png", [ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.SAFELINE, "provider.safeline", "/imgs/providers/safeline.svg", [ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.CDNFLY, "provider.cdnfly", "/imgs/providers/cdnfly.png", [ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.FLEXCDN, "provider.flexcdn", "/imgs/providers/flexcdn.png", [ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.GOEDGE, "provider.goedge", "/imgs/providers/goedge.png", [ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.LECDN, "provider.lecdn", "/imgs/providers/lecdn.svg", [ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.CACHEFLY, "provider.cachefly", "/imgs/providers/cachefly.png", [ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.APISIX, "provider.apisix", "/imgs/providers/apisix.svg", [ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.KONG, "provider.kong", "/imgs/providers/kong.png", [ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.PROXMOXVE, "provider.proxmoxve", "/imgs/providers/proxmoxve.svg", [ACCESS_USAGES.HOSTING]], + [ACCESS_PROVIDERS.MOHUA, "provider.mohua", "/imgs/providers/mohua.png", [ACCESS_USAGES.HOSTING]], + + [ACCESS_PROVIDERS.AKAMAI, "provider.akamai", "/imgs/providers/akamai.svg", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.ARVANCLOUD, "provider.arvancloud", "/imgs/providers/arvancloud.svg", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.BOOKMYNAME, "provider.bookmyname", "/imgs/providers/bookmyname.png", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.CLOUDFLARE, "provider.cloudflare", "/imgs/providers/cloudflare.svg", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.CLOUDNS, "provider.cloudns", "/imgs/providers/cloudns.png", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.CONSTELLIX, "provider.constellix", "/imgs/providers/constellix.png", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.DESEC, "provider.desec", "/imgs/providers/desec.svg", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.DIGITALOCEAN, "provider.digitalocean", "/imgs/providers/digitalocean.svg", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.DNSLA, "provider.dnsla", "/imgs/providers/dnsla.svg", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.DNSMADEEASY, "provider.dnsmadeeasy", "/imgs/providers/dnsmadeeasy.png", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.DUCKDNS, "provider.duckdns", "/imgs/providers/duckdns.png", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.DYNU, "provider.dynu", "/imgs/providers/dynu.png", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.DYNV6, "provider.dynv6", "/imgs/providers/dynv6.svg", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.GANDINET, "provider.gandinet", "/imgs/providers/gandinet.svg", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.GNAME, "provider.gname", "/imgs/providers/gname.png", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.GODADDY, "provider.godaddy", "/imgs/providers/godaddy.svg", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.HETZNER, "provider.hetzner", "/imgs/providers/hetzner.svg", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.HOSTINGDE, "provider.hostingde", "/imgs/providers/hostingde.svg", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.HOSTINGER, "provider.hostinger", "/imgs/providers/hostinger.svg", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.INFOMANIAK, "provider.infomaniak", "/imgs/providers/infomaniak.png", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.IONOS, "provider.ionos", "/imgs/providers/ionos.svg", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.LINODE, "provider.linode", "/imgs/providers/linode.svg", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.NAMECHEAP, "provider.namecheap", "/imgs/providers/namecheap.svg", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.NAMEDOTCOM, "provider.namedotcom", "/imgs/providers/namedotcom.svg", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.NAMESILO, "provider.namesilo", "/imgs/providers/namesilo.svg", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.NETCUP, "provider.netcup", "/imgs/providers/netcup.png", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.NS1, "provider.ns1", "/imgs/providers/ns1.svg", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.OVHCLOUD, "provider.ovhcloud", "/imgs/providers/ovhcloud.svg", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.PORKBUN, "provider.porkbun", "/imgs/providers/porkbun.svg", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.SPACESHIP, "provider.spaceship", "/imgs/providers/spaceship.png", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.VERCEL, "provider.vercel", "/imgs/providers/vercel.svg", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.VULTR, "provider.vultr", "/imgs/providers/vultr.svg", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.CMCCCLOUD, "provider.cmcccloud", "/imgs/providers/cmcccloud.svg", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.QINGCLOUD, "provider.qingcloud", "/imgs/providers/qingcloud.svg", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.WESTCN, "provider.westcn", "/imgs/providers/westcn.svg", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS["35CN"], "provider.35cn", "/imgs/providers/35cn.png", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.XINNET, "provider.xinnet", "/imgs/providers/xinnet.png", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.POWERDNS, "provider.powerdns", "/imgs/providers/powerdns.svg", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.TECHNITIUMDNS, "provider.technitiumdns", "/imgs/providers/technitiumdns.png", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.RFC2136, "provider.rfc2136", "/imgs/providers/rfc.png", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.ACMEDNS, "provider.acmedns", "/imgs/providers/acmedns.png", [ACCESS_USAGES.DNS]], + [ACCESS_PROVIDERS.ACMEHTTPREQ, "provider.acmehttpreq", "/imgs/providers/acmehttpreq.svg", [ACCESS_USAGES.DNS]], + + [ACCESS_PROVIDERS.LETSENCRYPT, "provider.letsencrypt", "/imgs/providers/letsencrypt.svg", [ACCESS_USAGES.CA], "builtin"], + [ACCESS_PROVIDERS.LETSENCRYPTSTAGING, "provider.letsencryptstaging", "/imgs/providers/letsencrypt.svg", [ACCESS_USAGES.CA], "builtin"], + [ACCESS_PROVIDERS.ACTALISSSL, "provider.actalisssl", "/imgs/providers/actalisssl.png", [ACCESS_USAGES.CA]], + [ACCESS_PROVIDERS.GLOBALSIGNATLAS, "provider.globalsignatlas", "/imgs/providers/globalsignatlas.png", [ACCESS_USAGES.CA]], + [ACCESS_PROVIDERS.GOOGLETRUSTSERVICES, "provider.googletrustservices", "/imgs/providers/google.svg", [ACCESS_USAGES.CA]], + [ACCESS_PROVIDERS.LITESSL, "provider.litessl", "/imgs/providers/litessl.svg", [ACCESS_USAGES.CA]], + [ACCESS_PROVIDERS.SECTIGO, "provider.sectigo", "/imgs/providers/sectigo.svg", [ACCESS_USAGES.CA]], + [ACCESS_PROVIDERS.SSLCOM, "provider.sslcom", "/imgs/providers/sslcom.svg", [ACCESS_USAGES.CA]], + [ACCESS_PROVIDERS.ZEROSSL, "provider.zerossl", "/imgs/providers/zerossl.svg", [ACCESS_USAGES.CA]], + [ACCESS_PROVIDERS.ACMECA, "provider.acmeca", "/imgs/providers/acmeca.svg", [ACCESS_USAGES.CA]], + + [ACCESS_PROVIDERS.EMAIL, "provider.email", "/imgs/providers/email.svg", [ACCESS_USAGES.NOTIFICATION]], + [ACCESS_PROVIDERS.DINGTALKBOT, "provider.dingtalkbot", "/imgs/providers/dingtalk.svg", [ACCESS_USAGES.NOTIFICATION]], + [ACCESS_PROVIDERS.LARKBOT, "provider.larkbot", "/imgs/providers/lark.svg", [ACCESS_USAGES.NOTIFICATION]], + [ACCESS_PROVIDERS.WECOMBOT, "provider.wecombot", "/imgs/providers/wecom.svg", [ACCESS_USAGES.NOTIFICATION]], + [ACCESS_PROVIDERS.DISCORDBOT, "provider.discordbot", "/imgs/providers/discord.svg", [ACCESS_USAGES.NOTIFICATION]], + [ACCESS_PROVIDERS.SLACKBOT, "provider.slackbot", "/imgs/providers/slack.svg", [ACCESS_USAGES.NOTIFICATION]], + [ACCESS_PROVIDERS.TELEGRAMBOT, "provider.telegrambot", "/imgs/providers/telegram.svg", [ACCESS_USAGES.NOTIFICATION]], + [ACCESS_PROVIDERS.MATTERMOST, "provider.mattermost", "/imgs/providers/mattermost.svg", [ACCESS_USAGES.NOTIFICATION]], + ] satisfies Array<[AccessProviderType, string, string, AccessUsageType[], "builtin"] | [AccessProviderType, string, string, AccessUsageType[]]> + ).map(([type, name, icon, usages, builtin]) => [ + type, + { + type: type, + name: name, + icon: icon, + usages: usages, + builtin: builtin === "builtin", + }, + ]) +); +// #endregion + +// #region CAProvider +/* + 注意:如果追加新的常量值,请保持以 ASCII 排序。 + NOTICE: If you add new constant, please keep ASCII order. + */ +export const CA_PROVIDERS = Object.freeze({ + ACMECA: `${ACCESS_PROVIDERS.ACMECA}`, + ACTALISSSL: `${ACCESS_PROVIDERS.ACTALISSSL}`, + GLOBALSIGNATLAS: `${ACCESS_PROVIDERS.GLOBALSIGNATLAS}`, + GOOGLETRUSTSERVICES: `${ACCESS_PROVIDERS.GOOGLETRUSTSERVICES}`, + LETSENCRYPT: `${ACCESS_PROVIDERS.LETSENCRYPT}`, + LETSENCRYPTSTAGING: `${ACCESS_PROVIDERS.LETSENCRYPTSTAGING}`, + LITESSL: `${ACCESS_PROVIDERS.LITESSL}`, + SECTIGO: `${ACCESS_PROVIDERS.SECTIGO}`, + SSLCOM: `${ACCESS_PROVIDERS.SSLCOM}`, + ZEROSSL: `${ACCESS_PROVIDERS.ZEROSSL}`, +} as const); + +export type CAProviderType = (typeof CA_PROVIDERS)[keyof typeof CA_PROVIDERS]; + +export interface CAProvider extends BaseProviderWithAccess {} + +export const caProvidersMap: Map = new Map( + /* + 注意:此处的顺序决定显示在前端的顺序。 + NOTICE: The following order determines the order displayed at the frontend. + */ + ( + [ + [CA_PROVIDERS.LETSENCRYPT, "builtin"], + [CA_PROVIDERS.LETSENCRYPTSTAGING, "builtin"], + [CA_PROVIDERS.ACTALISSSL], + [CA_PROVIDERS.GLOBALSIGNATLAS], + [CA_PROVIDERS.GOOGLETRUSTSERVICES], + [CA_PROVIDERS.SECTIGO], + [CA_PROVIDERS.SSLCOM], + [CA_PROVIDERS.ZEROSSL], + [CA_PROVIDERS.LITESSL], + [CA_PROVIDERS.ACMECA], + ] satisfies Array<[CAProviderType, "builtin"] | [CAProviderType]> + ).map(([type, builtin]) => [ + type, + { + type: type, + name: accessProvidersMap.get(type.split("-")[0])!.name, + icon: accessProvidersMap.get(type.split("-")[0])!.icon, + provider: type.split("-")[0] as AccessProviderType, + builtin: builtin === "builtin", + }, + ]) +); +// #endregion + +// #region ACMEDNS01Provider +/* + 注意:如果追加新的常量值,请保持以 ASCII 排序。 + NOTICE: If you add new constant, please keep ASCII order. + */ +export const ACME_DNS01_PROVIDERS = Object.freeze({ + ["35CN"]: `${ACCESS_PROVIDERS["35CN"]}`, + ACMEDNS: `${ACCESS_PROVIDERS.ACMEDNS}`, + ACMEHTTPREQ: `${ACCESS_PROVIDERS.ACMEHTTPREQ}`, + AKAMAI: `${ACCESS_PROVIDERS.AKAMAI}`, // 兼容旧值,等同于 `AKAMAI_EDGEDNS` + AKAMAI_EDGEDNS: `${ACCESS_PROVIDERS.AKAMAI}-edgedns`, + ALIYUN: `${ACCESS_PROVIDERS.ALIYUN}`, // 兼容旧值,等同于 `ALIYUN_DNS` + ALIYUN_DNS: `${ACCESS_PROVIDERS.ALIYUN}-dns`, + ALIYUN_ESA: `${ACCESS_PROVIDERS.ALIYUN}-esa`, + ARVANCLOUD: `${ACCESS_PROVIDERS.ARVANCLOUD}`, + AWS: `${ACCESS_PROVIDERS.AWS}`, // 兼容旧值,等同于 `AWS_ROUTE53` + AWS_ROUTE53: `${ACCESS_PROVIDERS.AWS}-route53`, + AZURE: `${ACCESS_PROVIDERS.AZURE}`, // 兼容旧值,等同于 `AZURE_DNS` + AZURE_DNS: `${ACCESS_PROVIDERS.AZURE}-dns`, + BAIDUCLOUD: `${ACCESS_PROVIDERS.BAIDUCLOUD}`, // 兼容旧值,等同于 `BAIDUCLOUD_DNS` + BAIDUCLOUD_DNS: `${ACCESS_PROVIDERS.BAIDUCLOUD}-dns`, + BOOKMYNAME: `${ACCESS_PROVIDERS.BOOKMYNAME}`, + BUNNY: `${ACCESS_PROVIDERS.BUNNY}`, + CLOUDFLARE: `${ACCESS_PROVIDERS.CLOUDFLARE}`, + CLOUDNS: `${ACCESS_PROVIDERS.CLOUDNS}`, + CMCCCLOUD: `${ACCESS_PROVIDERS.CMCCCLOUD}`, // 兼容旧值,等同于 `CMCCCLOUD_DNS` + CMCCCLOUD_DNS: `${ACCESS_PROVIDERS.CMCCCLOUD}-dns`, + CONSTELLIX: `${ACCESS_PROVIDERS.CONSTELLIX}`, + CTCCCLOUD: `${ACCESS_PROVIDERS.CTCCCLOUD}`, // 兼容旧值,等同于 `CTCCCLOUD_SMARTDNS` + CTCCCLOUD_SMARTDNS: `${ACCESS_PROVIDERS.CTCCCLOUD}-smartdns`, + DESEC: `${ACCESS_PROVIDERS.DESEC}`, + DIGITALOCEAN: `${ACCESS_PROVIDERS.DIGITALOCEAN}`, + DNSLA: `${ACCESS_PROVIDERS.DNSLA}`, + DNSMADEEASY: `${ACCESS_PROVIDERS.DNSMADEEASY}`, + DUCKDNS: `${ACCESS_PROVIDERS.DUCKDNS}`, + DYNU: `${ACCESS_PROVIDERS.DYNU}`, + DYNV6: `${ACCESS_PROVIDERS.DYNV6}`, + GANDINET: `${ACCESS_PROVIDERS.GANDINET}`, + GCORE: `${ACCESS_PROVIDERS.GCORE}`, + GNAME: `${ACCESS_PROVIDERS.GNAME}`, + GODADDY: `${ACCESS_PROVIDERS.GODADDY}`, + HETZNER: `${ACCESS_PROVIDERS.HETZNER}`, + HOSTINGDE: `${ACCESS_PROVIDERS.HOSTINGDE}`, + HOSTINGER: `${ACCESS_PROVIDERS.HOSTINGER}`, + HUAWEICLOUD: `${ACCESS_PROVIDERS.HUAWEICLOUD}`, // 兼容旧值,等同于 `HUAWEICLOUD_DNS` + HUAWEICLOUD_DNS: `${ACCESS_PROVIDERS.HUAWEICLOUD}-dns`, + INFOMANIAK: `${ACCESS_PROVIDERS.INFOMANIAK}`, + IONOS: `${ACCESS_PROVIDERS.IONOS}`, + JDCLOUD: `${ACCESS_PROVIDERS.JDCLOUD}`, // 兼容旧值,等同于 `JDCLOUD_DNS` + JDCLOUD_DNS: `${ACCESS_PROVIDERS.JDCLOUD}-dns`, + LINODE: `${ACCESS_PROVIDERS.LINODE}`, + NAMECHEAP: `${ACCESS_PROVIDERS.NAMECHEAP}`, + NAMEDOTCOM: `${ACCESS_PROVIDERS.NAMEDOTCOM}`, + NAMESILO: `${ACCESS_PROVIDERS.NAMESILO}`, + NETCUP: `${ACCESS_PROVIDERS.NETCUP}`, + NETLIFY: `${ACCESS_PROVIDERS.NETLIFY}`, + NS1: `${ACCESS_PROVIDERS.NS1}`, + OVHCLOUD: `${ACCESS_PROVIDERS.OVHCLOUD}`, + PORKBUN: `${ACCESS_PROVIDERS.PORKBUN}`, + POWERDNS: `${ACCESS_PROVIDERS.POWERDNS}`, + QINGCLOUD: `${ACCESS_PROVIDERS.QINGCLOUD}`, // 兼容旧值,等同于 `QINGCLOUD_DNS` + QINGCLOUD_DNS: `${ACCESS_PROVIDERS.QINGCLOUD}-dns`, + RAINYUN: `${ACCESS_PROVIDERS.RAINYUN}`, + RFC2136: `${ACCESS_PROVIDERS.RFC2136}`, + SPACESHIP: `${ACCESS_PROVIDERS.SPACESHIP}`, + UCLOUD: `${ACCESS_PROVIDERS.UCLOUD}`, // 兼容旧值,等同于 `UCLOUD_UDNR` + UCLOUD_UDNR: `${ACCESS_PROVIDERS.UCLOUD}-udnr`, + TECHNITIUMDNS: `${ACCESS_PROVIDERS.TECHNITIUMDNS}`, + TENCENTCLOUD: `${ACCESS_PROVIDERS.TENCENTCLOUD}`, // 兼容旧值,等同于 `TENCENTCLOUD_DNS` + TENCENTCLOUD_DNS: `${ACCESS_PROVIDERS.TENCENTCLOUD}-dns`, + TENCENTCLOUD_EO: `${ACCESS_PROVIDERS.TENCENTCLOUD}-eo`, + VERCEL: `${ACCESS_PROVIDERS.VERCEL}`, + VOLCENGINE: `${ACCESS_PROVIDERS.VOLCENGINE}`, // 兼容旧值,等同于 `VOLCENGINE_DNS` + VOLCENGINE_DNS: `${ACCESS_PROVIDERS.VOLCENGINE}-dns`, + VULTR: `${ACCESS_PROVIDERS.VULTR}`, + WESTCN: `${ACCESS_PROVIDERS.WESTCN}`, + XINNET: `${ACCESS_PROVIDERS.XINNET}`, +} as const); + +export type ACMEDns01ProviderType = (typeof ACME_DNS01_PROVIDERS)[keyof typeof ACME_DNS01_PROVIDERS]; + +export interface ACMEDns01Provider extends BaseProviderWithAccess {} + +export const acmeDns01ProvidersMap: Map = new Map( + /* + 注意:此处的顺序决定显示在前端的顺序。 + NOTICE: The following order determines the order displayed at the frontend. + */ + ( + [ + [ACME_DNS01_PROVIDERS.ALIYUN_DNS, "provider.aliyun.dns"], + [ACME_DNS01_PROVIDERS.ALIYUN_ESA, "provider.aliyun.esa"], + [ACME_DNS01_PROVIDERS.TENCENTCLOUD_DNS, "provider.tencentcloud.dns"], + [ACME_DNS01_PROVIDERS.TENCENTCLOUD_EO, "provider.tencentcloud.eo"], + [ACME_DNS01_PROVIDERS.BAIDUCLOUD_DNS, "provider.baiducloud.dns"], + [ACME_DNS01_PROVIDERS.HUAWEICLOUD_DNS, "provider.huaweicloud.dns"], + [ACME_DNS01_PROVIDERS.VOLCENGINE_DNS, "provider.volcengine.dns"], + [ACME_DNS01_PROVIDERS.JDCLOUD_DNS, "provider.jdcloud.dns"], + [ACME_DNS01_PROVIDERS.AWS_ROUTE53, "provider.aws.route53"], + [ACME_DNS01_PROVIDERS.AZURE_DNS, "provider.azure.dns"], + [ACME_DNS01_PROVIDERS.AKAMAI_EDGEDNS, "provider.akamai.edgedns"], + [ACME_DNS01_PROVIDERS.ARVANCLOUD, "provider.arvancloud"], + [ACME_DNS01_PROVIDERS.BOOKMYNAME, "provider.bookmyname"], + [ACME_DNS01_PROVIDERS.BUNNY, "provider.bunny"], + [ACME_DNS01_PROVIDERS.CLOUDFLARE, "provider.cloudflare"], + [ACME_DNS01_PROVIDERS.CLOUDNS, "provider.cloudns"], + [ACME_DNS01_PROVIDERS.CONSTELLIX, "provider.constellix"], + [ACME_DNS01_PROVIDERS.DESEC, "provider.desec"], + [ACME_DNS01_PROVIDERS.DIGITALOCEAN, "provider.digitalocean"], + [ACME_DNS01_PROVIDERS.DNSLA, "provider.dnsla"], + [ACME_DNS01_PROVIDERS.DNSMADEEASY, "provider.dnsmadeeasy"], + [ACME_DNS01_PROVIDERS.DUCKDNS, "provider.duckdns"], + [ACME_DNS01_PROVIDERS.DYNU, "provider.dynu"], + [ACME_DNS01_PROVIDERS.DYNV6, "provider.dynv6"], + [ACME_DNS01_PROVIDERS.GANDINET, "provider.gandinet"], + [ACME_DNS01_PROVIDERS.GCORE, "provider.gcore"], + [ACME_DNS01_PROVIDERS.GNAME, "provider.gname"], + [ACME_DNS01_PROVIDERS.GODADDY, "provider.godaddy"], + [ACME_DNS01_PROVIDERS.HETZNER, "provider.hetzner"], + [ACME_DNS01_PROVIDERS.HOSTINGDE, "provider.hostingde"], + [ACME_DNS01_PROVIDERS.HOSTINGER, "provider.hostinger"], + [ACME_DNS01_PROVIDERS.INFOMANIAK, "provider.infomaniak"], + [ACME_DNS01_PROVIDERS.IONOS, "provider.ionos"], + [ACME_DNS01_PROVIDERS.LINODE, "provider.linode"], + [ACME_DNS01_PROVIDERS.NAMECHEAP, "provider.namecheap"], + [ACME_DNS01_PROVIDERS.NAMEDOTCOM, "provider.namedotcom"], + [ACME_DNS01_PROVIDERS.NAMESILO, "provider.namesilo"], + [ACME_DNS01_PROVIDERS.NETCUP, "provider.netcup"], + [ACME_DNS01_PROVIDERS.NETLIFY, "provider.netlify"], + [ACME_DNS01_PROVIDERS.NS1, "provider.ns1"], + [ACME_DNS01_PROVIDERS.OVHCLOUD, "provider.ovhcloud"], + [ACME_DNS01_PROVIDERS.PORKBUN, "provider.porkbun"], + [ACME_DNS01_PROVIDERS.SPACESHIP, "provider.spaceship"], + [ACME_DNS01_PROVIDERS.VERCEL, "provider.vercel"], + [ACME_DNS01_PROVIDERS.VULTR, "provider.vultr"], + [ACME_DNS01_PROVIDERS.CMCCCLOUD_DNS, "provider.cmcccloud.dns"], + [ACME_DNS01_PROVIDERS.CTCCCLOUD_SMARTDNS, "provider.ctcccloud.smartdns"], + [ACME_DNS01_PROVIDERS.RAINYUN, "provider.rainyun"], + [ACME_DNS01_PROVIDERS.UCLOUD_UDNR, "provider.ucloud.udnr"], + [ACME_DNS01_PROVIDERS.QINGCLOUD_DNS, "provider.qingcloud.dns"], + [ACME_DNS01_PROVIDERS.WESTCN, "provider.westcn"], + [ACME_DNS01_PROVIDERS["35CN"], "provider.35cn"], + [ACME_DNS01_PROVIDERS.XINNET, "provider.xinnet"], + [ACME_DNS01_PROVIDERS.POWERDNS, "provider.powerdns"], + [ACME_DNS01_PROVIDERS.TECHNITIUMDNS, "provider.technitiumdns"], + [ACME_DNS01_PROVIDERS.RFC2136, "provider.rfc2136"], + [ACME_DNS01_PROVIDERS.ACMEDNS, "provider.acmedns"], + [ACME_DNS01_PROVIDERS.ACMEHTTPREQ, "provider.acmehttpreq"], + ] satisfies Array<[ACMEDns01ProviderType, string]> + ).map(([type, name]) => [ + type, + { + type: type, + name: name, + icon: accessProvidersMap.get(type.split("-")[0])!.icon, + provider: type.split("-")[0] as AccessProviderType, + builtin: false, + }, + ]) +); +// #endregion + +// #region ACMEHTTP01Provider +/* + 注意:如果追加新的常量值,请保持以 ASCII 排序。 + NOTICE: If you add new constant, please keep ASCII order. + */ +export const ACME_HTTP01_PROVIDERS = Object.freeze({ + LOCAL: `${ACCESS_PROVIDERS.LOCAL}`, + SSH: `${ACCESS_PROVIDERS.SSH}`, +} as const); + +export type ACMEHttp01ProviderType = (typeof ACME_HTTP01_PROVIDERS)[keyof typeof ACME_HTTP01_PROVIDERS]; + +export interface ACMEHttp01Provider extends BaseProviderWithAccess {} + +export const acmeHttp01ProvidersMap: Map = new Map( + /* + 注意:此处的顺序决定显示在前端的顺序。 + NOTICE: The following order determines the order displayed at the frontend. + */ + ( + [ + [ACME_HTTP01_PROVIDERS.LOCAL, "provider.local", "builtin"], + [ACME_HTTP01_PROVIDERS.SSH, "provider.ssh"], + ] satisfies Array<[ACMEHttp01ProviderType, string, "builtin"] | [ACMEHttp01ProviderType, string]> + ).map(([type, name, builtin]) => [ + type, + { + type: type, + name: name, + icon: accessProvidersMap.get(type.split("-")[0])!.icon, + provider: type.split("-")[0] as AccessProviderType, + builtin: builtin === "builtin", + }, + ]) +); +// #endregion + +// #region DeploymentProvider +/* + 注意:如果追加新的常量值,请保持以 ASCII 排序。 + NOTICE: If you add new constant, please keep ASCII order. + */ +export const DEPLOYMENT_PROVIDERS = Object.freeze({ + ["1PANEL_CONSOLE"]: `${ACCESS_PROVIDERS["1PANEL"]}-console`, + ["1PANEL_SITE"]: `${ACCESS_PROVIDERS["1PANEL"]}-site`, + ALIYUN_ALB: `${ACCESS_PROVIDERS.ALIYUN}-alb`, + ALIYUN_APIGW: `${ACCESS_PROVIDERS.ALIYUN}-apigw`, + ALIYUN_CAS: `${ACCESS_PROVIDERS.ALIYUN}-cas`, + ALIYUN_CAS_DEPLOY: `${ACCESS_PROVIDERS.ALIYUN}-casdeploy`, + ALIYUN_CDN: `${ACCESS_PROVIDERS.ALIYUN}-cdn`, + ALIYUN_CLB: `${ACCESS_PROVIDERS.ALIYUN}-clb`, + ALIYUN_DCDN: `${ACCESS_PROVIDERS.ALIYUN}-dcdn`, + ALIYUN_DDOSPRO: `${ACCESS_PROVIDERS.ALIYUN}-ddospro`, + ALIYUN_ESA: `${ACCESS_PROVIDERS.ALIYUN}-esa`, + ALIYUN_FC: `${ACCESS_PROVIDERS.ALIYUN}-fc`, + ALIYUN_GA: `${ACCESS_PROVIDERS.ALIYUN}-ga`, + ALIYUN_LIVE: `${ACCESS_PROVIDERS.ALIYUN}-live`, + ALIYUN_NLB: `${ACCESS_PROVIDERS.ALIYUN}-nlb`, + ALIYUN_OSS: `${ACCESS_PROVIDERS.ALIYUN}-oss`, + ALIYUN_VOD: `${ACCESS_PROVIDERS.ALIYUN}-vod`, + ALIYUN_WAF: `${ACCESS_PROVIDERS.ALIYUN}-waf`, + APISIX: `${ACCESS_PROVIDERS.APISIX}`, + AWS_ACM: `${ACCESS_PROVIDERS.AWS}-acm`, + AWS_CLOUDFRONT: `${ACCESS_PROVIDERS.AWS}-cloudfront`, + AWS_IAM: `${ACCESS_PROVIDERS.AWS}-iam`, + AZURE_KEYVAULT: `${ACCESS_PROVIDERS.AZURE}-keyvault`, + BAIDUCLOUD_APPBLB: `${ACCESS_PROVIDERS.BAIDUCLOUD}-appblb`, + BAIDUCLOUD_BLB: `${ACCESS_PROVIDERS.BAIDUCLOUD}-blb`, + BAIDUCLOUD_CDN: `${ACCESS_PROVIDERS.BAIDUCLOUD}-cdn`, + BAIDUCLOUD_CERT: `${ACCESS_PROVIDERS.BAIDUCLOUD}-cert`, + BAISHAN_CDN: `${ACCESS_PROVIDERS.BAISHAN}-cdn`, + BAOTAPANEL_CONSOLE: `${ACCESS_PROVIDERS.BAOTAPANEL}-console`, + BAOTAPANEL_SITE: `${ACCESS_PROVIDERS.BAOTAPANEL}-site`, + BAOTAPANELGO_CONSOLE: `${ACCESS_PROVIDERS.BAOTAPANELGO}-console`, + BAOTAPANELGO_SITE: `${ACCESS_PROVIDERS.BAOTAPANELGO}-site`, + BAOTAWAF_CONSOLE: `${ACCESS_PROVIDERS.BAOTAWAF}-console`, + BAOTAWAF_SITE: `${ACCESS_PROVIDERS.BAOTAWAF}-site`, + BUNNY_CDN: `${ACCESS_PROVIDERS.BUNNY}-cdn`, + BYTEPLUS_CDN: `${ACCESS_PROVIDERS.BYTEPLUS}-cdn`, + CACHEFLY: `${ACCESS_PROVIDERS.CACHEFLY}`, + CDNFLY: `${ACCESS_PROVIDERS.CDNFLY}`, + CTCCCLOUD_AO: `${ACCESS_PROVIDERS.CTCCCLOUD}-ao`, + CTCCCLOUD_CDN: `${ACCESS_PROVIDERS.CTCCCLOUD}-cdn`, + CTCCCLOUD_CMS: `${ACCESS_PROVIDERS.CTCCCLOUD}-cms`, + CTCCCLOUD_ELB: `${ACCESS_PROVIDERS.CTCCCLOUD}-elb`, + CTCCCLOUD_ICDN: `${ACCESS_PROVIDERS.CTCCCLOUD}-icdn`, + CTCCCLOUD_LVDN: `${ACCESS_PROVIDERS.CTCCCLOUD}-lvdn`, + DOGECLOUD_CDN: `${ACCESS_PROVIDERS.DOGECLOUD}-cdn`, + FLEXCDN: `${ACCESS_PROVIDERS.FLEXCDN}`, + GCORE_CDN: `${ACCESS_PROVIDERS.GCORE}-cdn`, + GOEDGE: `${ACCESS_PROVIDERS.GOEDGE}`, + HUAWEICLOUD_CDN: `${ACCESS_PROVIDERS.HUAWEICLOUD}-cdn`, + HUAWEICLOUD_ELB: `${ACCESS_PROVIDERS.HUAWEICLOUD}-elb`, + HUAWEICLOUD_SCM: `${ACCESS_PROVIDERS.HUAWEICLOUD}-scm`, + HUAWEICLOUD_OBS: `${ACCESS_PROVIDERS.HUAWEICLOUD}-obs`, + HUAWEICLOUD_WAF: `${ACCESS_PROVIDERS.HUAWEICLOUD}-waf`, + JDCLOUD_ALB: `${ACCESS_PROVIDERS.JDCLOUD}-alb`, + JDCLOUD_CDN: `${ACCESS_PROVIDERS.JDCLOUD}-cdn`, + JDCLOUD_LIVE: `${ACCESS_PROVIDERS.JDCLOUD}-live`, + JDCLOUD_VOD: `${ACCESS_PROVIDERS.JDCLOUD}-vod`, + KONG: `${ACCESS_PROVIDERS.KONG}`, + KUBERNETES_SECRET: `${ACCESS_PROVIDERS.KUBERNETES}-secret`, + KSYUN_CDN: `${ACCESS_PROVIDERS.KSYUN}-cdn`, + LECDN: `${ACCESS_PROVIDERS.LECDN}`, + LOCAL: `${ACCESS_PROVIDERS.LOCAL}`, + MOHUA_MVH: `${ACCESS_PROVIDERS.MOHUA}-mvh`, + NETLIFY_SITE: `${ACCESS_PROVIDERS.NETLIFY}-site`, + PROXMOXVE: `${ACCESS_PROVIDERS.PROXMOXVE}`, + QINIU_CDN: `${ACCESS_PROVIDERS.QINIU}-cdn`, + QINIU_KODO: `${ACCESS_PROVIDERS.QINIU}-kodo`, + QINIU_PILI: `${ACCESS_PROVIDERS.QINIU}-pili`, + RAINYUN_RCDN: `${ACCESS_PROVIDERS.RAINYUN}-rcdn`, + RATPANEL_CONSOLE: `${ACCESS_PROVIDERS.RATPANEL}-console`, + RATPANEL_SITE: `${ACCESS_PROVIDERS.RATPANEL}-site`, + SAFELINE_SITE: `${ACCESS_PROVIDERS.SAFELINE}-site`, + SSH: `${ACCESS_PROVIDERS.SSH}`, + TENCENTCLOUD_CDN: `${ACCESS_PROVIDERS.TENCENTCLOUD}-cdn`, + TENCENTCLOUD_CLB: `${ACCESS_PROVIDERS.TENCENTCLOUD}-clb`, + TENCENTCLOUD_COS: `${ACCESS_PROVIDERS.TENCENTCLOUD}-cos`, + TENCENTCLOUD_CSS: `${ACCESS_PROVIDERS.TENCENTCLOUD}-css`, + TENCENTCLOUD_ECDN: `${ACCESS_PROVIDERS.TENCENTCLOUD}-ecdn`, + TENCENTCLOUD_EO: `${ACCESS_PROVIDERS.TENCENTCLOUD}-eo`, + TENCENTCLOUD_GAAP: `${ACCESS_PROVIDERS.TENCENTCLOUD}-gaap`, + TENCENTCLOUD_SCF: `${ACCESS_PROVIDERS.TENCENTCLOUD}-scf`, + TENCENTCLOUD_SSL: `${ACCESS_PROVIDERS.TENCENTCLOUD}-ssl`, + TENCENTCLOUD_SSL_DEPLOY: `${ACCESS_PROVIDERS.TENCENTCLOUD}-ssldeploy`, + TENCENTCLOUD_SSL_UPDATE: `${ACCESS_PROVIDERS.TENCENTCLOUD}-sslupdate`, + TENCENTCLOUD_VOD: `${ACCESS_PROVIDERS.TENCENTCLOUD}-vod`, + TENCENTCLOUD_WAF: `${ACCESS_PROVIDERS.TENCENTCLOUD}-waf`, + UCLOUD_UCDN: `${ACCESS_PROVIDERS.UCLOUD}-ucdn`, + UCLOUD_US3: `${ACCESS_PROVIDERS.UCLOUD}-us3`, + UNICLOUD_WEBHOST: `${ACCESS_PROVIDERS.UNICLOUD}-webhost`, + UPYUN_CDN: `${ACCESS_PROVIDERS.UPYUN}-cdn`, + UPYUN_FILE: `${ACCESS_PROVIDERS.UPYUN}-file`, + VOLCENGINE_ALB: `${ACCESS_PROVIDERS.VOLCENGINE}-alb`, + VOLCENGINE_CDN: `${ACCESS_PROVIDERS.VOLCENGINE}-cdn`, + VOLCENGINE_CERTCENTER: `${ACCESS_PROVIDERS.VOLCENGINE}-certcenter`, + VOLCENGINE_CLB: `${ACCESS_PROVIDERS.VOLCENGINE}-clb`, + VOLCENGINE_DCDN: `${ACCESS_PROVIDERS.VOLCENGINE}-dcdn`, + VOLCENGINE_IMAGEX: `${ACCESS_PROVIDERS.VOLCENGINE}-imagex`, + VOLCENGINE_LIVE: `${ACCESS_PROVIDERS.VOLCENGINE}-live`, + VOLCENGINE_TOS: `${ACCESS_PROVIDERS.VOLCENGINE}-tos`, + WANGSU_CDN: `${ACCESS_PROVIDERS.WANGSU}-cdn`, + WANGSU_CDNPRO: `${ACCESS_PROVIDERS.WANGSU}-cdnpro`, + WANGSU_CERTIFICATE: `${ACCESS_PROVIDERS.WANGSU}-certificate`, + WEBHOOK: `${ACCESS_PROVIDERS.WEBHOOK}`, +} as const); + +export type DeploymentProviderType = (typeof DEPLOYMENT_PROVIDERS)[keyof typeof DEPLOYMENT_PROVIDERS]; + +export const DEPLOYMENT_CATEGORIES = Object.freeze({ + ALL: "all", + CDN: "cdn", + STORAGE: "storage", + LOADBALANCE: "loadbalance", + FIREWALL: "firewall", + AV: "av", + ACCELERATOR: "accelerator", + APIGATEWAY: "apigw", + SERVERLESS: "serverless", + WEBSITE: "website", + SSL: "ssl", + NAS: "nas", + OTHER: "other", +} as const); + +export type DeploymentCategoryType = (typeof DEPLOYMENT_CATEGORIES)[keyof typeof DEPLOYMENT_CATEGORIES]; + +export interface DeploymentProvider extends BaseProviderWithAccess { + category: DeploymentCategoryType; +} + +export const deploymentProvidersMap: Map = new Map( + /* + 注意:此处的顺序决定显示在前端的顺序。 + NOTICE: The following order determines the order displayed at the frontend. + */ + ( + [ + [DEPLOYMENT_PROVIDERS.LOCAL, "provider.local", DEPLOYMENT_CATEGORIES.OTHER, "builtin"], + [DEPLOYMENT_PROVIDERS.SSH, "provider.ssh", DEPLOYMENT_CATEGORIES.OTHER], + [DEPLOYMENT_PROVIDERS.WEBHOOK, "provider.webhook", DEPLOYMENT_CATEGORIES.OTHER], + [DEPLOYMENT_PROVIDERS.KUBERNETES_SECRET, "provider.kubernetes.secret", DEPLOYMENT_CATEGORIES.OTHER], + [DEPLOYMENT_PROVIDERS.ALIYUN_OSS, "provider.aliyun.oss", DEPLOYMENT_CATEGORIES.STORAGE], + [DEPLOYMENT_PROVIDERS.ALIYUN_CDN, "provider.aliyun.cdn", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.ALIYUN_DCDN, "provider.aliyun.dcdn", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.ALIYUN_ESA, "provider.aliyun.esa", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.ALIYUN_CLB, "provider.aliyun.clb", DEPLOYMENT_CATEGORIES.LOADBALANCE], + [DEPLOYMENT_PROVIDERS.ALIYUN_ALB, "provider.aliyun.alb", DEPLOYMENT_CATEGORIES.LOADBALANCE], + [DEPLOYMENT_PROVIDERS.ALIYUN_NLB, "provider.aliyun.nlb", DEPLOYMENT_CATEGORIES.LOADBALANCE], + [DEPLOYMENT_PROVIDERS.ALIYUN_WAF, "provider.aliyun.waf", DEPLOYMENT_CATEGORIES.FIREWALL], + [DEPLOYMENT_PROVIDERS.ALIYUN_DDOSPRO, "provider.aliyun.ddospro", DEPLOYMENT_CATEGORIES.FIREWALL], + [DEPLOYMENT_PROVIDERS.ALIYUN_LIVE, "provider.aliyun.live", DEPLOYMENT_CATEGORIES.AV], + [DEPLOYMENT_PROVIDERS.ALIYUN_VOD, "provider.aliyun.vod", DEPLOYMENT_CATEGORIES.AV], + [DEPLOYMENT_PROVIDERS.ALIYUN_FC, "provider.aliyun.fc", DEPLOYMENT_CATEGORIES.SERVERLESS], + [DEPLOYMENT_PROVIDERS.ALIYUN_APIGW, "provider.aliyun.apigw", DEPLOYMENT_CATEGORIES.APIGATEWAY], + [DEPLOYMENT_PROVIDERS.ALIYUN_GA, "provider.aliyun.ga", DEPLOYMENT_CATEGORIES.ACCELERATOR], + [DEPLOYMENT_PROVIDERS.ALIYUN_CAS, "provider.aliyun.cas_upload", DEPLOYMENT_CATEGORIES.SSL], + [DEPLOYMENT_PROVIDERS.ALIYUN_CAS_DEPLOY, "provider.aliyun.cas_deploy", DEPLOYMENT_CATEGORIES.SSL], + [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_COS, "provider.tencentcloud.cos", DEPLOYMENT_CATEGORIES.STORAGE], + [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_CDN, "provider.tencentcloud.cdn", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_ECDN, "provider.tencentcloud.ecdn", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_EO, "provider.tencentcloud.eo", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_CLB, "provider.tencentcloud.clb", DEPLOYMENT_CATEGORIES.LOADBALANCE], + [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_WAF, "provider.tencentcloud.waf", DEPLOYMENT_CATEGORIES.FIREWALL], + [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_CSS, "provider.tencentcloud.css", DEPLOYMENT_CATEGORIES.AV], + [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_VOD, "provider.tencentcloud.vod", DEPLOYMENT_CATEGORIES.AV], + [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_SCF, "provider.tencentcloud.scf", DEPLOYMENT_CATEGORIES.SERVERLESS], + [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_GAAP, "provider.tencentcloud.gaap", DEPLOYMENT_CATEGORIES.ACCELERATOR], + [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_SSL, "provider.tencentcloud.ssl_upload", DEPLOYMENT_CATEGORIES.SSL], + [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_SSL_DEPLOY, "provider.tencentcloud.ssl_deploy", DEPLOYMENT_CATEGORIES.SSL], + [DEPLOYMENT_PROVIDERS.TENCENTCLOUD_SSL_UPDATE, "provider.tencentcloud.ssl_update", DEPLOYMENT_CATEGORIES.SSL], + [DEPLOYMENT_PROVIDERS.BAIDUCLOUD_CDN, "provider.baiducloud.cdn", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.BAIDUCLOUD_BLB, "provider.baiducloud.blb", DEPLOYMENT_CATEGORIES.LOADBALANCE], + [DEPLOYMENT_PROVIDERS.BAIDUCLOUD_APPBLB, "provider.baiducloud.appblb", DEPLOYMENT_CATEGORIES.LOADBALANCE], + [DEPLOYMENT_PROVIDERS.BAIDUCLOUD_CERT, "provider.baiducloud.cert_upload", DEPLOYMENT_CATEGORIES.SSL], + [DEPLOYMENT_PROVIDERS.HUAWEICLOUD_CDN, "provider.huaweicloud.cdn", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.HUAWEICLOUD_OBS, "provider.huaweicloud.obs", DEPLOYMENT_CATEGORIES.STORAGE], + [DEPLOYMENT_PROVIDERS.HUAWEICLOUD_ELB, "provider.huaweicloud.elb", DEPLOYMENT_CATEGORIES.LOADBALANCE], + [DEPLOYMENT_PROVIDERS.HUAWEICLOUD_WAF, "provider.huaweicloud.waf", DEPLOYMENT_CATEGORIES.FIREWALL], + [DEPLOYMENT_PROVIDERS.HUAWEICLOUD_SCM, "provider.huaweicloud.scm_upload", DEPLOYMENT_CATEGORIES.SSL], + [DEPLOYMENT_PROVIDERS.MOHUA_MVH, "provider.mohua.mvh", DEPLOYMENT_CATEGORIES.WEBSITE], + [DEPLOYMENT_PROVIDERS.VOLCENGINE_TOS, "provider.volcengine.tos", DEPLOYMENT_CATEGORIES.STORAGE], + [DEPLOYMENT_PROVIDERS.VOLCENGINE_CDN, "provider.volcengine.cdn", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.VOLCENGINE_DCDN, "provider.volcengine.dcdn", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.VOLCENGINE_CLB, "provider.volcengine.clb", DEPLOYMENT_CATEGORIES.LOADBALANCE], + [DEPLOYMENT_PROVIDERS.VOLCENGINE_ALB, "provider.volcengine.alb", DEPLOYMENT_CATEGORIES.LOADBALANCE], + [DEPLOYMENT_PROVIDERS.VOLCENGINE_IMAGEX, "provider.volcengine.imagex", DEPLOYMENT_CATEGORIES.STORAGE], + [DEPLOYMENT_PROVIDERS.VOLCENGINE_LIVE, "provider.volcengine.live", DEPLOYMENT_CATEGORIES.AV], + [DEPLOYMENT_PROVIDERS.VOLCENGINE_CERTCENTER, "provider.volcengine.certcenter_upload", DEPLOYMENT_CATEGORIES.SSL], + [DEPLOYMENT_PROVIDERS.JDCLOUD_ALB, "provider.jdcloud.alb", DEPLOYMENT_CATEGORIES.LOADBALANCE], + [DEPLOYMENT_PROVIDERS.JDCLOUD_CDN, "provider.jdcloud.cdn", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.JDCLOUD_LIVE, "provider.jdcloud.live", DEPLOYMENT_CATEGORIES.AV], + [DEPLOYMENT_PROVIDERS.JDCLOUD_VOD, "provider.jdcloud.vod", DEPLOYMENT_CATEGORIES.AV], + [DEPLOYMENT_PROVIDERS.QINIU_KODO, "provider.qiniu.kodo", DEPLOYMENT_CATEGORIES.STORAGE], + [DEPLOYMENT_PROVIDERS.QINIU_CDN, "provider.qiniu.cdn", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.QINIU_PILI, "provider.qiniu.pili", DEPLOYMENT_CATEGORIES.AV], + [DEPLOYMENT_PROVIDERS.UPYUN_FILE, "provider.upyun.file", DEPLOYMENT_CATEGORIES.STORAGE], + [DEPLOYMENT_PROVIDERS.UPYUN_CDN, "provider.upyun.cdn", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.BAISHAN_CDN, "provider.baishan.cdn", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.WANGSU_CDN, "provider.wangsu.cdn", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.WANGSU_CDNPRO, "provider.wangsu.cdnpro", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.WANGSU_CERTIFICATE, "provider.wangsu.certificate_upload", DEPLOYMENT_CATEGORIES.SSL], + [DEPLOYMENT_PROVIDERS.DOGECLOUD_CDN, "provider.dogecloud.cdn", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.KSYUN_CDN, "provider.ksyun.cdn", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.BYTEPLUS_CDN, "provider.byteplus.cdn", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.UCLOUD_US3, "provider.ucloud.us3", DEPLOYMENT_CATEGORIES.STORAGE], + [DEPLOYMENT_PROVIDERS.UCLOUD_UCDN, "provider.ucloud.ucdn", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.CTCCCLOUD_CDN, "provider.ctcccloud.cdn", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.CTCCCLOUD_ICDN, "provider.ctcccloud.icdn", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.CTCCCLOUD_AO, "provider.ctcccloud.ao", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.CTCCCLOUD_ELB, "provider.ctcccloud.elb", DEPLOYMENT_CATEGORIES.LOADBALANCE], + [DEPLOYMENT_PROVIDERS.CTCCCLOUD_LVDN, "provider.ctcccloud.lvdn", DEPLOYMENT_CATEGORIES.AV], + [DEPLOYMENT_PROVIDERS.CTCCCLOUD_CMS, "provider.ctcccloud.cms_upload", DEPLOYMENT_CATEGORIES.SSL], + [DEPLOYMENT_PROVIDERS.RAINYUN_RCDN, "provider.rainyun.rcdn", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.UNICLOUD_WEBHOST, "provider.unicloud.webhost", DEPLOYMENT_CATEGORIES.WEBSITE], + [DEPLOYMENT_PROVIDERS.AWS_CLOUDFRONT, "provider.aws.cloudfront", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.AWS_ACM, "provider.aws.acm", DEPLOYMENT_CATEGORIES.SSL], + [DEPLOYMENT_PROVIDERS.AWS_IAM, "provider.aws.iam", DEPLOYMENT_CATEGORIES.SSL], + [DEPLOYMENT_PROVIDERS.AZURE_KEYVAULT, "provider.azure.keyvault", DEPLOYMENT_CATEGORIES.SSL], + [DEPLOYMENT_PROVIDERS.BUNNY_CDN, "provider.bunny.cdn", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.CACHEFLY, "provider.cachefly", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.GCORE_CDN, "provider.gcore.cdn", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.NETLIFY_SITE, "provider.netlify.site", DEPLOYMENT_CATEGORIES.WEBSITE], + [DEPLOYMENT_PROVIDERS.CDNFLY, "provider.cdnfly", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.FLEXCDN, "provider.flexcdn", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.GOEDGE, "provider.goedge", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS.LECDN, "provider.lecdn", DEPLOYMENT_CATEGORIES.CDN], + [DEPLOYMENT_PROVIDERS["1PANEL_SITE"], "provider.1panel.site", DEPLOYMENT_CATEGORIES.WEBSITE], + [DEPLOYMENT_PROVIDERS["1PANEL_CONSOLE"], "provider.1panel.console", DEPLOYMENT_CATEGORIES.OTHER], + [DEPLOYMENT_PROVIDERS.BAOTAPANEL_SITE, "provider.baotapanel.site", DEPLOYMENT_CATEGORIES.WEBSITE], + [DEPLOYMENT_PROVIDERS.BAOTAPANEL_CONSOLE, "provider.baotapanel.console", DEPLOYMENT_CATEGORIES.OTHER], + [DEPLOYMENT_PROVIDERS.BAOTAPANELGO_SITE, "provider.baotapanelgo.site", DEPLOYMENT_CATEGORIES.WEBSITE], + [DEPLOYMENT_PROVIDERS.BAOTAPANELGO_CONSOLE, "provider.baotapanelgo.console", DEPLOYMENT_CATEGORIES.OTHER], + [DEPLOYMENT_PROVIDERS.RATPANEL_SITE, "provider.ratpanel.site", DEPLOYMENT_CATEGORIES.WEBSITE], + [DEPLOYMENT_PROVIDERS.RATPANEL_CONSOLE, "provider.ratpanel.console", DEPLOYMENT_CATEGORIES.OTHER], + [DEPLOYMENT_PROVIDERS.BAOTAWAF_SITE, "provider.baotawaf.site", DEPLOYMENT_CATEGORIES.FIREWALL], + [DEPLOYMENT_PROVIDERS.BAOTAWAF_CONSOLE, "provider.baotawaf.console", DEPLOYMENT_CATEGORIES.OTHER], + [DEPLOYMENT_PROVIDERS.SAFELINE_SITE, "provider.safeline.site", DEPLOYMENT_CATEGORIES.FIREWALL], + [DEPLOYMENT_PROVIDERS.APISIX, "provider.apisix", DEPLOYMENT_CATEGORIES.APIGATEWAY], + [DEPLOYMENT_PROVIDERS.KONG, "provider.kong", DEPLOYMENT_CATEGORIES.APIGATEWAY], + [DEPLOYMENT_PROVIDERS.PROXMOXVE, "provider.proxmoxve", DEPLOYMENT_CATEGORIES.NAS], + ] satisfies Array<[DeploymentProviderType, string, DeploymentCategoryType, "builtin"] | [DeploymentProviderType, string, DeploymentCategoryType]> + ).map(([type, name, category, builtin]) => [ + type, + { + type: type, + name: name, + icon: accessProvidersMap.get(type.split("-")[0])!.icon, + provider: type.split("-")[0] as AccessProviderType, + category: category, + builtin: builtin === "builtin", + }, + ]) +); +// #endregion + +// #region NotificationProvider +/* + 注意:如果追加新的常量值,请保持以 ASCII 排序。 + NOTICE: If you add new constant, please keep ASCII order. + */ +export const NOTIFICATION_PROVIDERS = Object.freeze({ + DINGTALKBOT: `${ACCESS_PROVIDERS.DINGTALKBOT}`, + DISCORDBOT: `${ACCESS_PROVIDERS.DISCORDBOT}`, + EMAIL: `${ACCESS_PROVIDERS.EMAIL}`, + LARKBOT: `${ACCESS_PROVIDERS.LARKBOT}`, + MATTERMOST: `${ACCESS_PROVIDERS.MATTERMOST}`, + SLACKBOT: `${ACCESS_PROVIDERS.SLACKBOT}`, + TELEGRAMBOT: `${ACCESS_PROVIDERS.TELEGRAMBOT}`, + WEBHOOK: `${ACCESS_PROVIDERS.WEBHOOK}`, + WECOMBOT: `${ACCESS_PROVIDERS.WECOMBOT}`, +} as const); + +export type NotificationProviderType = (typeof NOTIFICATION_PROVIDERS)[keyof typeof NOTIFICATION_PROVIDERS]; + +export interface NotificationProvider extends BaseProviderWithAccess {} + +export const notificationProvidersMap: Map = new Map( + /* + 注意:此处的顺序决定显示在前端的顺序。 + NOTICE: The following order determines the order displayed at the frontend. + */ + ( + [ + [NOTIFICATION_PROVIDERS.EMAIL], + [NOTIFICATION_PROVIDERS.WEBHOOK], + [NOTIFICATION_PROVIDERS.DINGTALKBOT], + [NOTIFICATION_PROVIDERS.LARKBOT], + [NOTIFICATION_PROVIDERS.WECOMBOT], + [NOTIFICATION_PROVIDERS.DISCORDBOT], + [NOTIFICATION_PROVIDERS.SLACKBOT], + [NOTIFICATION_PROVIDERS.TELEGRAMBOT], + [NOTIFICATION_PROVIDERS.MATTERMOST], + ] satisfies Array<[NotificationProviderType]> + ).map(([type]) => [ + type, + { + type: type, + name: accessProvidersMap.get(type.split("-")[0])!.name, + icon: accessProvidersMap.get(type.split("-")[0])!.icon, + provider: type.split("-")[0] as AccessProviderType, + builtin: false, + }, + ]) +); +// #endregion diff --git a/ui/src/i18n/locales/en/nls.access.json b/ui/src/i18n/locales/en/nls.access.json index 40530e5c..1c60421e 100644 --- a/ui/src/i18n/locales/en/nls.access.json +++ b/ui/src/i18n/locales/en/nls.access.json @@ -488,6 +488,11 @@ "access.form.rainyun_api_key.label": "Rain Yun API key", "access.form.rainyun_api_key.placeholder": "Please enter Rain Yun API key", "access.form.rainyun_api_key.tooltip": "For more information, see https://app.rainyun.com/account/settings/api-key", + "access.form.mohua_username.label": "Mohua Cloud username", + "access.form.mohua_username.placeholder": "Please enter MoHua Cloud username", + "access.form.mohua_api_password.label": "Mohua Cloud API password", + "access.form.mohua_api_password.placeholder": "Please enter Mohua Cloud API password", + "access.form.mohua_api_password.tooltip": "For more information, see https://cloud.mhjz1.cn/apimanage", "access.form.ratpanel_server_url.label": "RatPanel server URL", "access.form.ratpanel_server_url.placeholder": "Please enter RatPanel server URL", "access.form.ratpanel_server_url.help": "Notes: DO NOT include the security entrance suffix.", diff --git a/ui/src/i18n/locales/en/nls.provider.json b/ui/src/i18n/locales/en/nls.provider.json index 878d8344..59530134 100644 --- a/ui/src/i18n/locales/en/nls.provider.json +++ b/ui/src/i18n/locales/en/nls.provider.json @@ -1,231 +1,233 @@ -{ - "provider.1panel": "1Panel", - "provider.1panel.console": "1Panel - Console itself", - "provider.1panel.site": "1Panel - Website", - "provider.35cn": "35.cn", - "provider.acmeca": "ACME Custom CA Endpoint", - "provider.acmedns": "ACME-DNS", - "provider.acmehttpreq": "ACME Custom HTTP Endpoint", - "provider.actalisssl": "Actalis SSL", - "provider.akamai": "Akamai", - "provider.akamai.cdn": "Akamai - CDN (Content Delivery Network)", - "provider.akamai.edgedns": "Akamai - EdgeDNS", - "provider.aliyun": "Alibaba Cloud", - "provider.aliyun.alb": "Alibaba Cloud - ALB (Application Load Balancer)", - "provider.aliyun.apigw": "Alibaba Cloud - API Gateway", - "provider.aliyun.cas_deploy": "Alibaba Cloud - Deploy via CAS (Certificate Management Service)", - "provider.aliyun.cas_upload": "Alibaba Cloud - Upload to CAS (Certificate Management Service)", - "provider.aliyun.cdn": "Alibaba Cloud - CDN (Content Delivery Network)", - "provider.aliyun.clb": "Alibaba Cloud - CLB (Classic Load Balancer)", - "provider.aliyun.dcdn": "Alibaba Cloud - DCDN (Dynamic Route for Content Delivery Network)", - "provider.aliyun.ddospro": "Alibaba Cloud - Anti-DDoS Proxy", - "provider.aliyun.dns": "Alibaba Cloud - DNS", - "provider.aliyun.esa": "Alibaba Cloud - ESA (Edge Security Acceleration)", - "provider.aliyun.fc": "Alibaba Cloud - FC (Function Compute)", - "provider.aliyun.ga": "Alibaba Cloud - GA (Global Accelerator)", - "provider.aliyun.live": "Alibaba Cloud - ApsaraVideo Live", - "provider.aliyun.nlb": "Alibaba Cloud - NLB (Network Load Balancer)", - "provider.aliyun.oss": "Alibaba Cloud - OSS (Object Storage Service)", - "provider.aliyun.vod": "Alibaba Cloud - ApsaraVideo VOD (Video on Demand)", - "provider.aliyun.waf": "Alibaba Cloud - WAF (Web Application Firewall)", - "provider.apisix": "Apache APISIX", - "provider.arvancloud": "ArvanCloud", - "provider.aws": "AWS", - "provider.aws.acm": "AWS - ACM (Amazon Certificate Manager)", - "provider.aws.cloudfront": "AWS - CloudFront", - "provider.aws.iam": "AWS - IAM (Identity and Access Management)", - "provider.aws.route53": "AWS - Route53", - "provider.azure": "Azure", - "provider.azure.dns": "Azure - DNS", - "provider.azure.keyvault": "Azure - KeyVault", - "provider.baiducloud": "Baidu Cloud", - "provider.baiducloud.appblb": "Baidu Cloud - AppBLB (Application Baidu Load Balancer)", - "provider.baiducloud.blb": "Baidu Cloud - BLB (Load Balancer)", - "provider.baiducloud.cdn": "Baidu Cloud - CDN (Content Delivery Network)", - "provider.baiducloud.cert_upload": "Baidu Cloud - Upload to SSL Certificate Service", - "provider.baiducloud.dns": "Baidu Cloud - DNS", - "provider.baishan": "Baishan", - "provider.baishan.cdn": "Baishan - CDN (Content Delivery Network)", - "provider.baotapanel": "aaPanel (aka BaotaPanel)", - "provider.baotapanel.console": "aaPanel - Console itself", - "provider.baotapanel.site": "aaPanel - Website", - "provider.baotapanelgo": "aaPanel WinGo (aka BaotaPanel WinGo)", - "provider.baotapanelgo.console": "aaPanel WinGo - Console itself", - "provider.baotapanelgo.site": "aaPanel WinGo - Website", - "provider.baotawaf": "aaWAF (aka BaotaWAF)", - "provider.baotawaf.console": "aaWAF - Console itself", - "provider.baotawaf.site": "aaWAF - Website", - "provider.bookmyname": "BookMyName", - "provider.bunny": "Bunny", - "provider.bunny.cdn": "Bunny - CDN (Content Delivery Network)", - "provider.byteplus": "BytePlus", - "provider.byteplus.cdn": "BytePlus - CDN (Content Delivery Network)", - "provider.cachefly": "CacheFly", - "provider.cdnfly": "Cdnfly", - "provider.cloudflare": "Cloudflare", - "provider.cloudns": "ClouDNS", - "provider.cmcccloud": "China Mobile ECloud", - "provider.cmcccloud.dns": "China Mobile ECloud - DNS", - "provider.constellix": "Constellix", - "provider.ctcccloud": "China Telecom StateCloud", - "provider.ctcccloud.ao": "China Telecom StateCloud - AccessOne", - "provider.ctcccloud.cdn": "China Telecom StateCloud - CDN (Content Delivery Network)", - "provider.ctcccloud.cms_upload": "China Telecom StateCloud - Upload to Certificate Management Service", - "provider.ctcccloud.elb": "China Telecom StateCloud - ELB (Elastic Load Balancing)", - "provider.ctcccloud.icdn": "China Telecom StateCloud - ICDN (Integrated Content Delivery Network)", - "provider.ctcccloud.lvdn": "China Telecom StateCloud - LVDN (Live Video Delivery Network)", - "provider.ctcccloud.smartdns": "China Telecom StateCloud - Smart DNS", - "provider.cucccloud": "China Unicom Cloud", - "provider.desec": "deSEC", - "provider.digitalocean": "DigitalOcean", - "provider.dingtalkbot": "DingTalk Bot", - "provider.discordbot": "Discord Bot", - "provider.dnsla": "DNS.LA", - "provider.dnsmadeeasy": "DNS Made Easy", - "provider.dogecloud.cdn": "Doge Cloud - CDN (Content Delivery Network)", - "provider.dogecloud": "Doge Cloud", - "provider.duckdns": "Duck DNS", - "provider.dynu": "Dynu", - "provider.dynv6": "dynv6", - "provider.email": "Email (SMTP)", - "provider.fastly": "Fastly", - "provider.flexcdn": "FlexCDN", - "provider.gandinet": "Gandi.net", - "provider.gcore": "G-Core", - "provider.gcore.cdn": "G-Core - CDN (Content Delivery Network)", - "provider.globalsignatlas": "GlobalSign Atlas", - "provider.gname": "GNAME", - "provider.godaddy": "GoDaddy", - "provider.goedge": "GoEdge", - "provider.googletrustservices": "Google Trust Services", - "provider.hetzner": "Hetzner", - "provider.hostingde": "hosting.de", - "provider.hostinger": "Hostinger", - "provider.huaweicloud": "Huawei Cloud", - "provider.huaweicloud.cdn": "Huawei Cloud - CDN (Content Delivery Network)", - "provider.huaweicloud.dns": "Huawei Cloud - DNS", - "provider.huaweicloud.elb": "Huawei Cloud - ELB (Elastic Load Balance)", - "provider.huaweicloud.obs": "Huawei Cloud - OBS (Object Storage Service)", - "provider.huaweicloud.scm_upload": "Huawei Cloud - Upload to SCM (SSL Certificate Manager)", - "provider.huaweicloud.waf": "Huawei Cloud - WAF (Web Application Firewall)", - "provider.infomaniak": "Infomaniak", - "provider.ionos": "IONOS", - "provider.jdcloud": "JD Cloud", - "provider.jdcloud.alb": "JD Cloud - ALB (Application Load Balancer)", - "provider.jdcloud.cdn": "JD Cloud - CDN (Content Delivery Network)", - "provider.jdcloud.dns": "JD Cloud - DNS", - "provider.jdcloud.live": "JD Cloud - Live Video", - "provider.jdcloud.vod": "JD Cloud - VOD (Video on Demand)", - "provider.kong": "Kong", - "provider.kubernetes": "Kubernetes", - "provider.kubernetes.secret": "Kubernetes - Secret", - "provider.ksyun": "Kingsoft Cloud", - "provider.ksyun.cdn": "Kingsoft Cloud - CDN (Content Delivery Network)", - "provider.larkbot": "Lark Bot", - "provider.lecdn": "LeCDN", - "provider.letsencrypt": "Let's Encrypt", - "provider.letsencryptstaging": "Let's Encrypt Staging Environment", - "provider.linode": "Linode", - "provider.litessl": "LiteSSL", - "provider.local": "Local host", - "provider.mattermost": "Mattermost", - "provider.namecheap": "Namecheap", - "provider.namedotcom": "Name.com", - "provider.namesilo": "NameSilo", - "provider.netcup": "netcup", - "provider.netlify": "Netlify", - "provider.netlify.site": "Netlify - Site", - "provider.ovhcloud": "OVHcloud", - "provider.ns1": "NS1 (IBM NS1 Connect)", - "provider.porkbun": "Porkbun", - "provider.powerdns": "PowerDNS", - "provider.proxmoxve": "Proxmox VE", - "provider.qingcloud": "QingCloud", - "provider.qingcloud.dns": "QingCloud - DNS", - "provider.qiniu": "Qiniu", - "provider.qiniu.cdn": "Qiniu - CDN (Content Delivery Network)", - "provider.qiniu.kodo": "Qiniu - Kodo", - "provider.qiniu.pili": "Qiniu - Pili", - "provider.rainyun": "Rain Yun", - "provider.rainyun.rcdn": "Rain Yun - RCDN (Content Delivery Network)", - "provider.ratpanel": "AcePanel (aka RatPanel)", - "provider.ratpanel.console": "AcePanel - Console itself", - "provider.ratpanel.site": "AcePanel - Website", - "provider.rfc2136": "RFC 2136: Dynamic DNS Updates", - "provider.safeline": "SafeLine", - "provider.safeline.site": "SafeLine - Website", - "provider.sectigo": "Sectigo", - "provider.slackbot": "Slack Bot", - "provider.spaceship": "Spaceship", - "provider.ssh": "Remote host (SSH)", - "provider.sslcom": "SSL.com", - "provider.technitiumdns": "Technitium DNS", - "provider.telegrambot": "Telegram Bot", - "provider.tencentcloud": "Tencent Cloud", - "provider.tencentcloud.cdn": "Tencent Cloud - CDN (Content Delivery Network)", - "provider.tencentcloud.clb": "Tencent Cloud - CLB (Cloud Load Balancer)", - "provider.tencentcloud.cos": "Tencent Cloud - COS (Cloud Object Storage)", - "provider.tencentcloud.css": "Tencent Cloud - CSS (Cloud Streaming Service)", - "provider.tencentcloud.dns": "Tencent Cloud - DNS", - "provider.tencentcloud.ecdn": "Tencent Cloud - ECDN (Enterprise Content Delivery Network)", - "provider.tencentcloud.eo": "Tencent Cloud - EdgeOne", - "provider.tencentcloud.gaap": "Tencent Cloud - GAAP (Global Application Acceleration Platform)", - "provider.tencentcloud.scf": "Tencent Cloud - SCF (Serverless Cloud Function)", - "provider.tencentcloud.ssl_deploy": "Tencent Cloud - Deploy via SSL Certificate Service", - "provider.tencentcloud.ssl_update": "Tencent Cloud - Update via SSL Certificate Service", - "provider.tencentcloud.ssl_upload": "Tencent Cloud - Upload to SSL Certificate Service", - "provider.tencentcloud.vod": "Tencent Cloud - VOD (Video on Demand)", - "provider.tencentcloud.waf": "Tencent Cloud - WAF (Web Application Firewall)", - "provider.ucloud": "UCloud", - "provider.ucloud.ucdn": "UCloud - UCDN (Content Delivery Network)", - "provider.ucloud.udnr": "UCloud - UDNR (Domain Name Registrar)", - "provider.ucloud.us3": "UCloud - US3 (Object-based Storage)", - "provider.unicloud": "uniCloud (DCloud)", - "provider.unicloud.webhost": "uniCloud (DCloud) - Web Host", - "provider.upyun": "UPYUN", - "provider.upyun.cdn": "UPYUN - CDN (Content Delivery Network)", - "provider.upyun.file": "UPYUN - USS (Storage Service)", - "provider.vercel": "Vercel", - "provider.volcengine": "Volcengine", - "provider.volcengine.alb": "Volcengine - ALB (Application Load Balancer)", - "provider.volcengine.cdn": "Volcengine - CDN (Content Delivery Network)", - "provider.volcengine.certcenter_upload": "Volcengine - Upload to Certificate Center", - "provider.volcengine.clb": "Volcengine - CLB (Cloud Load Balancer)", - "provider.volcengine.dcdn": "Volcengine - DCDN (Dynamic Content Delivery Network)", - "provider.volcengine.dns": "Volcengine - DNS", - "provider.volcengine.imagex": "Volcengine - ImageX", - "provider.volcengine.live": "Volcengine - Live", - "provider.volcengine.tos": "Volcengine - TOS (Tinder Object Storage)", - "provider.vultr": "Vultr", - "provider.wangsu": "Wangsu Cloud", - "provider.wangsu.cdn": "Wangsu Cloud - CDN (Content Delivery Network)", - "provider.wangsu.cdnpro": "Wangsu Cloud - CDN Pro (CDN 360)", - "provider.wangsu.certificate_upload": "Wangsu Cloud - Upload to Certificate Management", - "provider.webhook": "Webhook", - "provider.wecombot": "WeCom Bot", - "provider.westcn": "West.cn", - "provider.xinnet": "Xinnet", - "provider.zerossl": "ZeroSSL", - - "provider.category.all": "All", - "provider.category.cdn": "CDN", - "provider.category.storage": "Storage", - "provider.category.loadbalance": "Loadbalance", - "provider.category.firewall": "Firewall", - "provider.category.av": "Audio/Video", - "provider.category.accelerator": "Accelerator", - "provider.category.apigw": "API Gateway", - "provider.category.serverless": "Serverless", - "provider.category.website": "Website", - "provider.category.ssl": "SSL", - "provider.category.nas": "NAS", - "provider.category.other": "Other", - - "provider.text.nodata": "No providers available", - "provider.text.default_ca": "(Default) Follow global settings", - "provider.text.default_ca_in_group": "Follow global settings", - "provider.text.default_group": "Default", - "provider.text.available_group": "Available (with added credentials)", - "provider.text.unavailable_group": "Unavailable (without added credentials)", - "provider.text.unavailable_divider": "The following providers are not available (without added credentials)" -} +{ + "provider.1panel": "1Panel", + "provider.1panel.console": "1Panel - Console itself", + "provider.1panel.site": "1Panel - Website", + "provider.35cn": "35.cn", + "provider.acmeca": "ACME Custom CA Endpoint", + "provider.acmedns": "ACME-DNS", + "provider.acmehttpreq": "ACME Custom HTTP Endpoint", + "provider.actalisssl": "Actalis SSL", + "provider.akamai": "Akamai", + "provider.akamai.cdn": "Akamai - CDN (Content Delivery Network)", + "provider.akamai.edgedns": "Akamai - EdgeDNS", + "provider.aliyun": "Alibaba Cloud", + "provider.aliyun.alb": "Alibaba Cloud - ALB (Application Load Balancer)", + "provider.aliyun.apigw": "Alibaba Cloud - API Gateway", + "provider.aliyun.cas_deploy": "Alibaba Cloud - Deploy via CAS (Certificate Management Service)", + "provider.aliyun.cas_upload": "Alibaba Cloud - Upload to CAS (Certificate Management Service)", + "provider.aliyun.cdn": "Alibaba Cloud - CDN (Content Delivery Network)", + "provider.aliyun.clb": "Alibaba Cloud - CLB (Classic Load Balancer)", + "provider.aliyun.dcdn": "Alibaba Cloud - DCDN (Dynamic Route for Content Delivery Network)", + "provider.aliyun.ddospro": "Alibaba Cloud - Anti-DDoS Proxy", + "provider.aliyun.dns": "Alibaba Cloud - DNS", + "provider.aliyun.esa": "Alibaba Cloud - ESA (Edge Security Acceleration)", + "provider.aliyun.fc": "Alibaba Cloud - FC (Function Compute)", + "provider.aliyun.ga": "Alibaba Cloud - GA (Global Accelerator)", + "provider.aliyun.live": "Alibaba Cloud - ApsaraVideo Live", + "provider.aliyun.nlb": "Alibaba Cloud - NLB (Network Load Balancer)", + "provider.aliyun.oss": "Alibaba Cloud - OSS (Object Storage Service)", + "provider.aliyun.vod": "Alibaba Cloud - ApsaraVideo VOD (Video on Demand)", + "provider.aliyun.waf": "Alibaba Cloud - WAF (Web Application Firewall)", + "provider.apisix": "Apache APISIX", + "provider.arvancloud": "ArvanCloud", + "provider.aws": "AWS", + "provider.aws.acm": "AWS - ACM (Amazon Certificate Manager)", + "provider.aws.cloudfront": "AWS - CloudFront", + "provider.aws.iam": "AWS - IAM (Identity and Access Management)", + "provider.aws.route53": "AWS - Route53", + "provider.azure": "Azure", + "provider.azure.dns": "Azure - DNS", + "provider.azure.keyvault": "Azure - KeyVault", + "provider.baiducloud": "Baidu Cloud", + "provider.baiducloud.appblb": "Baidu Cloud - AppBLB (Application Baidu Load Balancer)", + "provider.baiducloud.blb": "Baidu Cloud - BLB (Load Balancer)", + "provider.baiducloud.cdn": "Baidu Cloud - CDN (Content Delivery Network)", + "provider.baiducloud.cert_upload": "Baidu Cloud - Upload to SSL Certificate Service", + "provider.baiducloud.dns": "Baidu Cloud - DNS", + "provider.baishan": "Baishan", + "provider.baishan.cdn": "Baishan - CDN (Content Delivery Network)", + "provider.baotapanel": "aaPanel (aka BaotaPanel)", + "provider.baotapanel.console": "aaPanel - Console itself", + "provider.baotapanel.site": "aaPanel - Website", + "provider.baotapanelgo": "aaPanel WinGo (aka BaotaPanel WinGo)", + "provider.baotapanelgo.console": "aaPanel WinGo - Console itself", + "provider.baotapanelgo.site": "aaPanel WinGo - Website", + "provider.baotawaf": "aaWAF (aka BaotaWAF)", + "provider.baotawaf.console": "aaWAF - Console itself", + "provider.baotawaf.site": "aaWAF - Website", + "provider.bookmyname": "BookMyName", + "provider.bunny": "Bunny", + "provider.bunny.cdn": "Bunny - CDN (Content Delivery Network)", + "provider.byteplus": "BytePlus", + "provider.byteplus.cdn": "BytePlus - CDN (Content Delivery Network)", + "provider.cachefly": "CacheFly", + "provider.cdnfly": "Cdnfly", + "provider.cloudflare": "Cloudflare", + "provider.cloudns": "ClouDNS", + "provider.cmcccloud": "China Mobile ECloud", + "provider.cmcccloud.dns": "China Mobile ECloud - DNS", + "provider.constellix": "Constellix", + "provider.ctcccloud": "China Telecom StateCloud", + "provider.ctcccloud.ao": "China Telecom StateCloud - AccessOne", + "provider.ctcccloud.cdn": "China Telecom StateCloud - CDN (Content Delivery Network)", + "provider.ctcccloud.cms_upload": "China Telecom StateCloud - Upload to Certificate Management Service", + "provider.ctcccloud.elb": "China Telecom StateCloud - ELB (Elastic Load Balancing)", + "provider.ctcccloud.icdn": "China Telecom StateCloud - ICDN (Integrated Content Delivery Network)", + "provider.ctcccloud.lvdn": "China Telecom StateCloud - LVDN (Live Video Delivery Network)", + "provider.ctcccloud.smartdns": "China Telecom StateCloud - Smart DNS", + "provider.cucccloud": "China Unicom Cloud", + "provider.desec": "deSEC", + "provider.digitalocean": "DigitalOcean", + "provider.dingtalkbot": "DingTalk Bot", + "provider.discordbot": "Discord Bot", + "provider.dnsla": "DNS.LA", + "provider.dnsmadeeasy": "DNS Made Easy", + "provider.dogecloud.cdn": "Doge Cloud - CDN (Content Delivery Network)", + "provider.dogecloud": "Doge Cloud", + "provider.duckdns": "Duck DNS", + "provider.dynu": "Dynu", + "provider.dynv6": "dynv6", + "provider.email": "Email (SMTP)", + "provider.fastly": "Fastly", + "provider.flexcdn": "FlexCDN", + "provider.gandinet": "Gandi.net", + "provider.gcore": "G-Core", + "provider.gcore.cdn": "G-Core - CDN (Content Delivery Network)", + "provider.globalsignatlas": "GlobalSign Atlas", + "provider.gname": "GNAME", + "provider.godaddy": "GoDaddy", + "provider.goedge": "GoEdge", + "provider.googletrustservices": "Google Trust Services", + "provider.hetzner": "Hetzner", + "provider.hostingde": "hosting.de", + "provider.hostinger": "Hostinger", + "provider.huaweicloud": "Huawei Cloud", + "provider.huaweicloud.cdn": "Huawei Cloud - CDN (Content Delivery Network)", + "provider.huaweicloud.dns": "Huawei Cloud - DNS", + "provider.huaweicloud.elb": "Huawei Cloud - ELB (Elastic Load Balance)", + "provider.huaweicloud.obs": "Huawei Cloud - OBS (Object Storage Service)", + "provider.huaweicloud.scm_upload": "Huawei Cloud - Upload to SCM (SSL Certificate Manager)", + "provider.huaweicloud.waf": "Huawei Cloud - WAF (Web Application Firewall)", + "provider.infomaniak": "Infomaniak", + "provider.ionos": "IONOS", + "provider.jdcloud": "JD Cloud", + "provider.jdcloud.alb": "JD Cloud - ALB (Application Load Balancer)", + "provider.jdcloud.cdn": "JD Cloud - CDN (Content Delivery Network)", + "provider.jdcloud.dns": "JD Cloud - DNS", + "provider.jdcloud.live": "JD Cloud - Live Video", + "provider.jdcloud.vod": "JD Cloud - VOD (Video on Demand)", + "provider.kong": "Kong", + "provider.kubernetes": "Kubernetes", + "provider.kubernetes.secret": "Kubernetes - Secret", + "provider.ksyun": "Kingsoft Cloud", + "provider.ksyun.cdn": "Kingsoft Cloud - CDN (Content Delivery Network)", + "provider.larkbot": "Lark Bot", + "provider.lecdn": "LeCDN", + "provider.letsencrypt": "Let's Encrypt", + "provider.letsencryptstaging": "Let's Encrypt Staging Environment", + "provider.linode": "Linode", + "provider.litessl": "LiteSSL", + "provider.local": "Local host", + "provider.mattermost": "Mattermost", + "provider.mohua": "Mohua", + "provider.mohua.mvh": "Mohua - MVH (Virtual Host)", + "provider.namecheap": "Namecheap", + "provider.namedotcom": "Name.com", + "provider.namesilo": "NameSilo", + "provider.netcup": "netcup", + "provider.netlify": "Netlify", + "provider.netlify.site": "Netlify - Site", + "provider.ovhcloud": "OVHcloud", + "provider.ns1": "NS1 (IBM NS1 Connect)", + "provider.porkbun": "Porkbun", + "provider.powerdns": "PowerDNS", + "provider.proxmoxve": "Proxmox VE", + "provider.qingcloud": "QingCloud", + "provider.qingcloud.dns": "QingCloud - DNS", + "provider.qiniu": "Qiniu", + "provider.qiniu.cdn": "Qiniu - CDN (Content Delivery Network)", + "provider.qiniu.kodo": "Qiniu - Kodo", + "provider.qiniu.pili": "Qiniu - Pili", + "provider.rainyun": "Rain Yun", + "provider.rainyun.rcdn": "Rain Yun - RCDN (Content Delivery Network)", + "provider.ratpanel": "AcePanel (aka RatPanel)", + "provider.ratpanel.console": "AcePanel - Console itself", + "provider.ratpanel.site": "AcePanel - Website", + "provider.rfc2136": "RFC 2136: Dynamic DNS Updates", + "provider.safeline": "SafeLine", + "provider.safeline.site": "SafeLine - Website", + "provider.sectigo": "Sectigo", + "provider.slackbot": "Slack Bot", + "provider.spaceship": "Spaceship", + "provider.ssh": "Remote host (SSH)", + "provider.sslcom": "SSL.com", + "provider.technitiumdns": "Technitium DNS", + "provider.telegrambot": "Telegram Bot", + "provider.tencentcloud": "Tencent Cloud", + "provider.tencentcloud.cdn": "Tencent Cloud - CDN (Content Delivery Network)", + "provider.tencentcloud.clb": "Tencent Cloud - CLB (Cloud Load Balancer)", + "provider.tencentcloud.cos": "Tencent Cloud - COS (Cloud Object Storage)", + "provider.tencentcloud.css": "Tencent Cloud - CSS (Cloud Streaming Service)", + "provider.tencentcloud.dns": "Tencent Cloud - DNS", + "provider.tencentcloud.ecdn": "Tencent Cloud - ECDN (Enterprise Content Delivery Network)", + "provider.tencentcloud.eo": "Tencent Cloud - EdgeOne", + "provider.tencentcloud.gaap": "Tencent Cloud - GAAP (Global Application Acceleration Platform)", + "provider.tencentcloud.scf": "Tencent Cloud - SCF (Serverless Cloud Function)", + "provider.tencentcloud.ssl_deploy": "Tencent Cloud - Deploy via SSL Certificate Service", + "provider.tencentcloud.ssl_update": "Tencent Cloud - Update via SSL Certificate Service", + "provider.tencentcloud.ssl_upload": "Tencent Cloud - Upload to SSL Certificate Service", + "provider.tencentcloud.vod": "Tencent Cloud - VOD (Video on Demand)", + "provider.tencentcloud.waf": "Tencent Cloud - WAF (Web Application Firewall)", + "provider.ucloud": "UCloud", + "provider.ucloud.ucdn": "UCloud - UCDN (Content Delivery Network)", + "provider.ucloud.udnr": "UCloud - UDNR (Domain Name Registrar)", + "provider.ucloud.us3": "UCloud - US3 (Object-based Storage)", + "provider.unicloud": "uniCloud (DCloud)", + "provider.unicloud.webhost": "uniCloud (DCloud) - Web Host", + "provider.upyun": "UPYUN", + "provider.upyun.cdn": "UPYUN - CDN (Content Delivery Network)", + "provider.upyun.file": "UPYUN - USS (Storage Service)", + "provider.vercel": "Vercel", + "provider.volcengine": "Volcengine", + "provider.volcengine.alb": "Volcengine - ALB (Application Load Balancer)", + "provider.volcengine.cdn": "Volcengine - CDN (Content Delivery Network)", + "provider.volcengine.certcenter_upload": "Volcengine - Upload to Certificate Center", + "provider.volcengine.clb": "Volcengine - CLB (Cloud Load Balancer)", + "provider.volcengine.dcdn": "Volcengine - DCDN (Dynamic Content Delivery Network)", + "provider.volcengine.dns": "Volcengine - DNS", + "provider.volcengine.imagex": "Volcengine - ImageX", + "provider.volcengine.live": "Volcengine - Live", + "provider.volcengine.tos": "Volcengine - TOS (Tinder Object Storage)", + "provider.vultr": "Vultr", + "provider.wangsu": "Wangsu Cloud", + "provider.wangsu.cdn": "Wangsu Cloud - CDN (Content Delivery Network)", + "provider.wangsu.cdnpro": "Wangsu Cloud - CDN Pro (CDN 360)", + "provider.wangsu.certificate_upload": "Wangsu Cloud - Upload to Certificate Management", + "provider.webhook": "Webhook", + "provider.wecombot": "WeCom Bot", + "provider.westcn": "West.cn", + "provider.xinnet": "Xinnet", + "provider.zerossl": "ZeroSSL", + + "provider.category.all": "All", + "provider.category.cdn": "CDN", + "provider.category.storage": "Storage", + "provider.category.loadbalance": "Loadbalance", + "provider.category.firewall": "Firewall", + "provider.category.av": "Audio/Video", + "provider.category.accelerator": "Accelerator", + "provider.category.apigw": "API Gateway", + "provider.category.serverless": "Serverless", + "provider.category.website": "Website", + "provider.category.ssl": "SSL", + "provider.category.nas": "NAS", + "provider.category.other": "Other", + + "provider.text.nodata": "No providers available", + "provider.text.default_ca": "(Default) Follow global settings", + "provider.text.default_ca_in_group": "Follow global settings", + "provider.text.default_group": "Default", + "provider.text.available_group": "Available (with added credentials)", + "provider.text.unavailable_group": "Unavailable (without added credentials)", + "provider.text.unavailable_divider": "The following providers are not available (without added credentials)" +} diff --git a/ui/src/i18n/locales/en/nls.workflow.nodes.json b/ui/src/i18n/locales/en/nls.workflow.nodes.json index 00af59eb..d2ef9ad1 100644 --- a/ui/src/i18n/locales/en/nls.workflow.nodes.json +++ b/ui/src/i18n/locales/en/nls.workflow.nodes.json @@ -537,12 +537,12 @@ "workflow_node.deploy.form.huaweicloud_cdn_domain.label": "Huawei Cloud CDN domain", "workflow_node.deploy.form.huaweicloud_cdn_domain.placeholder": "Please enter Huawei Cloud CDN domain name", "workflow_node.deploy.form.huaweicloud_obs_region.label": "Huawei Cloud region", - "workflow_node.deploy.form.huaweicloud_obs_region.placeholder": "Please enter the Huawei Cloud OBS region (e.g. cn-north-1)", + "workflow_node.deploy.form.huaweicloud_obs_region.placeholder": "Please enter Huawei Cloud OBS region (e.g. cn-north-1)", "workflow_node.deploy.form.huaweicloud_obs_region.tooltip": "For more information, see https://console-intl.huaweicloud.com/apiexplorer/#/endpoint", "workflow_node.deploy.form.huaweicloud_obs_bucket.label": "Huawei Cloud OBS bucket name", - "workflow_node.deploy.form.huaweicloud_obs_bucket.placeholder": "Please enter the Huawei Cloud OBS bucket name", + "workflow_node.deploy.form.huaweicloud_obs_bucket.placeholder": "Please enter Huawei Cloud OBS bucket name", "workflow_node.deploy.form.huaweicloud_obs_domain.label": "Huawei Cloud OBS custom domain", - "workflow_node.deploy.form.huaweicloud_obs_domain.placeholder": "Please enter the Huawei Cloud OBS custom domain name", + "workflow_node.deploy.form.huaweicloud_obs_domain.placeholder": "Please enter Huawei Cloud OBS custom domain name", "workflow_node.deploy.form.huaweicloud_elb_region.label": "Huawei Cloud region", "workflow_node.deploy.form.huaweicloud_elb_region.placeholder": "Please enter Huawei Cloud ELB region (e.g. cn-north-1)", "workflow_node.deploy.form.huaweicloud_elb_region.tooltip": "For more information, see https://console-intl.huaweicloud.com/apiexplorer/#/endpoint", @@ -682,6 +682,12 @@ "workflow_node.deploy.form.local_preset_scripts.ps_binding_iis": "PowerShell - Binding IIS", "workflow_node.deploy.form.local_preset_scripts.ps_binding_netsh": "PowerShell - Binding netsh", "workflow_node.deploy.form.local_preset_scripts.ps_binding_rdp": "PowerShell - Binding RDP", + "workflow_node.deploy.form.mohua_mvh_host_id.label": "Mohua Cloud virtual host ID", + "workflow_node.deploy.form.mohua_mvh_host_id.placeholder": "Please enter Mohua Cloud virtual host ID", + "workflow_node.deploy.form.mohua_mvh_host_id.tooltip": "For more information, see https://cloud.mhjz1.cn/service?groupid=328&language=english", + "workflow_node.deploy.form.mohua_mvh_domain_id.label": "Mohua Cloud virtual host domain ID", + "workflow_node.deploy.form.mohua_mvh_domain_id.placeholder": "Please enter Mohua Cloud virtual host domain ID", + "workflow_node.deploy.form.mohua_mvh_domain_id.tooltip": "For more information, see https://cloud.mhjz1.cn/service?groupid=328&language=english", "workflow_node.deploy.form.netlify_site_id.label": "Netlify site ID", "workflow_node.deploy.form.netlify_site_id.placeholder": "Please enter Netlify site ID", "workflow_node.deploy.form.netlify_site_id.tooltip": "For more information, see https://docs.netlify.com/api/get-started/#get-site", diff --git a/ui/src/i18n/locales/zh/nls.access.json b/ui/src/i18n/locales/zh/nls.access.json index c35d96b7..8927c24b 100644 --- a/ui/src/i18n/locales/zh/nls.access.json +++ b/ui/src/i18n/locales/zh/nls.access.json @@ -1,654 +1,659 @@ -{ - "access.page.title": "授权凭据", - "access.page.subtitle": "授权凭据中存储有用于访问特定第三方应用程序或服务的身份验证信息(如账号密码、接口密钥、API 令牌等)。", - - "access.nodata.title": "暂无授权", - "access.nodata.description": "当前未找到授权信息。请先创建。", - "access.nodata.button": "新建授权", - - "access.search.placeholder": "按授权名称搜索……", - - "access.action.create.button": "新建授权", - "access.action.create.modal.title": "新建授权", - "access.action.modify.menu": "编辑授权", - "access.action.modify.modal.title": "编辑授权", - "access.action.duplicate.menu": "复制授权", - "access.action.duplicate.modal.title": "复制授权", - "access.action.delete.menu": "删除授权", - "access.action.delete.modal.title": "删除「{{name}}」", - "access.action.delete.modal.content": "确定要删除该授权吗?
注意此操作不可撤销,请谨慎操作。", - "access.action.batch_delete.modal.title": "删除授权", - "access.action.batch_delete.modal.content": "确定要删除这 {{count}} 个被选中的授权吗?
注意此操作不可撤销,请谨慎操作。", - "access.action.test_push.button": "通知测试", - - "access.props.name": "名称", - "access.props.provider.usage.dns": "DNS 提供商", - "access.props.provider.usage.hosting": "主机提供商", - "access.props.provider.usage.ca": "证书颁发机构", - "access.props.provider.usage.notification": "通知渠道", - "access.props.provider.builtin": "内置", - "access.props.usage.dns_hosting": "提供商", - "access.props.usage.ca": "证书颁发机构", - "access.props.usage.notification": "通知渠道", - "access.props.created_at": "创建时间", - "access.props.updated_at": "更新时间", - - "access.new.title": "新建授权", - "access.new.subtitle": "使用此授权访问特定的第三方应用程序或服务。", - - "access.form.name.label": "名称", - "access.form.name.placeholder": "请输入授权名称", - "access.form.provider.label": "提供商", - "access.form.provider.placeholder": "请选择提供商", - "access.form.provider.help": "提供商分为两种类型:
【DNS 提供商】你的 DNS 托管方,通常等同于域名注册商,用于在申请证书时管理域名解析记录。
【主机提供商】你的服务器或云服务的托管方,用于部署签发的证书。", - "access.form.provider.search.placeholder": "搜索提供商……", - "access.form.shared_acme_eab_kid.label": "ACME EAB KID", - "access.form.shared_acme_eab_kid.placeholder": "请输入 ACME EAB KID", - "access.form.shared_acme_eab_hmac_key.label": "ACME EAB HMAC Key", - "access.form.shared_acme_eab_hmac_key.placeholder": "请输入 ACME EAB HMAC Key", - "access.form.shared_allow_insecure_conns.label": "忽略 SSL/TLS 证书错误", - "access.form.1panel_server_url.label": "1Panel 服务地址", - "access.form.1panel_server_url.placeholder": "请输入 1Panel 服务地址", - "access.form.1panel_server_url.help": "提示:请勿包含安全入口后缀。", - "access.form.1panel_api_version.label": "1Panel 版本", - "access.form.1panel_api_version.placeholder": "请选择 1Panel 版本", - "access.form.1panel_api_key.label": "1Panel 接口密钥", - "access.form.1panel_api_key.placeholder": "请输入 1Panel 接口密钥", - "access.form.1panel_api_key.tooltip": "这是什么?请参阅 https://1panel.cn/docs/dev_manual/api_manual/", - "access.form.35cn_username.label": "三五互联代理商用户名", - "access.form.35cn_username.placeholder": "请输入三五互联代理商用户名", - "access.form.35cn_api_password.label": "三五互联代理商 API 密码", - "access.form.35cn_api_password.placeholder": "请输入三五互联代理商 API 密码", - "access.form.35cn_agent.guide": "三五互联 API 仅支持代理商调用。点击下方链接了解更多:
https://www.35.com/agent/mode-api.asp", - "access.form.acmeca_endpoint.label": "服务端点", - "access.form.acmeca_endpoint.placeholder": "请输入服务端点", - "access.form.acmeca_endpoint.tooltip": "这是什么?请参阅 https://datatracker.ietf.org/doc/html/rfc8555#section-7.1.1", - "access.form.acmeca_eab_kid.label": "ACME EAB KID(可选)", - "access.form.acmeca_eab_kid.placeholder": "请输入 ACME EAB KID", - "access.form.acmeca_eab_hmac_key.label": "ACME EAB HMAC Key(可选)", - "access.form.acmeca_eab_hmac_key.placeholder": "请输入 ACME EAB HMAC Key", - "access.form.acmedns_server_url.label": "ACME-DNS 服务地址", - "access.form.acmedns_server_url.placeholder": "请输入 ACME-DNS 服务地址", - "access.form.acmedns_credentials.label": "ACME-DNS 凭证文件", - "access.form.acmedns_credentials.placeholder": "请输入 ACME-DNS 凭证文件", - "access.form.acmedns_credentials.tooltip": "这是什么?请参阅 https://github.com/joohoi/acme-dns", - "access.form.acmedns_credentials.errmsg.json_invalid": "请输入有效的 JSON 格式字符串", - "access.form.acmehttpreq_endpoint.label": "服务端点", - "access.form.acmehttpreq_endpoint.placeholder": "请输入服务端点", - "access.form.acmehttpreq_endpoint.tooltip": "这是什么?请参阅 https://go-acme.github.io/lego/dns/httpreq/", - "access.form.acmehttpreq_mode.label": "模式", - "access.form.acmehttpreq_mode.placeholder": "请选择模式", - "access.form.acmehttpreq_mode.tooltip": "这是什么?请参阅 https://go-acme.github.io/lego/dns/httpreq/", - "access.form.acmehttpreq_username.label": "HTTP 基本认证用户名(可选)", - "access.form.acmehttpreq_username.placeholder": "请输入 HTTP 基本认证用户名", - "access.form.acmehttpreq_username.tooltip": "这是什么?请参阅 https://go-acme.github.io/lego/dns/httpreq/", - "access.form.acmehttpreq_password.label": "HTTP 基本认证密码(可选)", - "access.form.acmehttpreq_password.placeholder": "请输入 HTTP 基本认证密码", - "access.form.acmehttpreq_password.tooltip": "这是什么?请参阅 https://go-acme.github.io/lego/dns/httpreq/", - "access.form.actalisssl_eab.guide": "点击下方链接了解如何获取 Actalis SSL EAB:
https://www.actalis.com/manage-with-acme", - "access.form.akamai_host.label": "Akamai API Host", - "access.form.akamai_host.placeholder": "请输入 Akamai API Host", - "access.form.akamai_host.tooltip": "这是什么?请参阅 https://techdocs.akamai.com/developer/docs/set-up-authentication-credentials", - "access.form.akamai_client_token.label": "Akamai ClientToken", - "access.form.akamai_client_token.placeholder": "请输入 Akamai ClientToken", - "access.form.akamai_client_token.tooltip": "这是什么?请参阅 https://techdocs.akamai.com/developer/docs/set-up-authentication-credentials", - "access.form.akamai_client_secret.label": "Akamai ClientSecret", - "access.form.akamai_client_secret.placeholder": "请输入 Akamai ClientSecret", - "access.form.akamai_client_secret.tooltip": "这是什么?请参阅 https://techdocs.akamai.com/developer/docs/set-up-authentication-credentials", - "access.form.akamai_access_token.label": "Akamai AccessToken", - "access.form.akamai_access_token.placeholder": "请输入 Akamai AccessToken", - "access.form.akamai_access_token.tooltip": "这是什么?请参阅 https://techdocs.akamai.com/developer/docs/set-up-authentication-credentials", - "access.form.aliyun_access_key_id.label": "阿里云 AccessKeyID", - "access.form.aliyun_access_key_id.placeholder": "请输入阿里云 AccessKeyID", - "access.form.aliyun_access_key_id.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/ram/user-guide/create-an-accesskey-pair", - "access.form.aliyun_access_key_secret.label": "阿里云 AccessKeySecret", - "access.form.aliyun_access_key_secret.placeholder": "请输入阿里云 AccessKeySecret", - "access.form.aliyun_access_key_secret.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/ram/user-guide/create-an-accesskey-pair", - "access.form.aliyun_resource_group_id.label": "阿里云资源组 ID(可选)", - "access.form.aliyun_resource_group_id.placeholder": "请输入阿里云资源组 ID", - "access.form.aliyun_resource_group_id.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/resource-management/resource-group/product-overview", - "access.form.apisix_server_url.label": "APISIX 服务地址", - "access.form.apisix_server_url.placeholder": "请输入 APISIX 服务地址", - "access.form.apisix_api_key.label": "APISIX Admin API Key", - "access.form.apisix_api_key.placeholder": "请输入 APISIX Admin API Key", - "access.form.apisix_api_key.tooltip": "这是什么?请参阅 https://apisix.apache.org/zh/docs/apisix/admin-api/", - "access.form.arvancloud_api_key.label": "ArvanCloud API 密钥", - "access.form.arvancloud_api_key.placeholder": "请输入 ArvanCloud API 密钥", - "access.form.arvancloud_api_key.tooltip": "这是什么?请参阅 https://docs.arvancloud.ir/en/developer-tools/api/api-key", - "access.form.aws_access_key_id.label": "AWS AccessKeyID", - "access.form.aws_access_key_id.placeholder": "请输入 AWS AccessKeyID", - "access.form.aws_access_key_id.tooltip": "这是什么?请参阅 https://docs.aws.amazon.com/zh_cn/IAM/latest/UserGuide/id_credentials_access-keys.html", - "access.form.aws_secret_access_key.label": "AWS SecretAccessKey", - "access.form.aws_secret_access_key.placeholder": "请输入 AWS SecretAccessKey", - "access.form.aws_secret_access_key.tooltip": "这是什么?请参阅 https://docs.aws.amazon.com/zh_cn/IAM/latest/UserGuide/id_credentials_access-keys.html", - "access.form.azure_tenant_id.label": "Azure 租户 ID", - "access.form.azure_tenant_id.placeholder": "请输入 Azure 租户 ID", - "access.form.azure_tenant_id.tooltip": "这是什么?请参阅 https://learn.microsoft.com/zh-cn/azure/azure-portal/get-subscription-tenant-id", - "access.form.azure_client_id.label": "Azure 客户端 ID", - "access.form.azure_client_id.placeholder": "请输入 Azure 客户端 ID", - "access.form.azure_client_id.tooltip": "这是什么?请参阅 https://learn.microsoft.com/zh-cn/azure/azure-monitor/logs/api/register-app-for-token", - "access.form.azure_client_secret.label": "Azure 客户端密码", - "access.form.azure_client_secret.placeholder": "请输入 Azure 客户端密码", - "access.form.azure_client_secret.tooltip": "这是什么?请参阅 https://learn.microsoft.com/zh-cn/azure/azure-monitor/logs/api/register-app-for-token", - "access.form.azure_cloud_name.label": "Azure 主权云环境(可选)", - "access.form.azure_cloud_name.placeholder": "请输入 Azure 主权云环境(例如:public)", - "access.form.azure_cloud_name.tooltip": "这是什么?请参阅 https://learn.microsoft.com/zh-cn/azure/developer/azure-developer-cli/sovereign-clouds", - "access.form.baiducloud_access_key_id.label": "百度智能云 AccessKeyID", - "access.form.baiducloud_access_key_id.placeholder": "请输入百度智能云 AccessKeyID", - "access.form.baiducloud_access_key_id.tooltip": "这是什么?请参阅 https://cloud.baidu.com/doc/Reference/s/jjwvz2e3p", - "access.form.baiducloud_secret_access_key.label": "百度智能云 SecretAccessKey", - "access.form.baiducloud_secret_access_key.placeholder": "请输入百度智能云 SecretAccessKey", - "access.form.baiducloud_secret_access_key.tooltip": "这是什么?请参阅 https://cloud.baidu.com/doc/Reference/s/jjwvz2e3p", - "access.form.baishan_api_token.label": "白山云 API Token", - "access.form.baishan_api_token.placeholder": "请输入白山云 API Token", - "access.form.baotapanel_server_url.label": "宝塔面板服务地址", - "access.form.baotapanel_server_url.placeholder": "请输入宝塔面板服务地址", - "access.form.baotapanel_server_url.help": "提示:请勿包含安全入口后缀。", - "access.form.baotapanel_api_key.label": "宝塔面板接口密钥", - "access.form.baotapanel_api_key.placeholder": "请输入宝塔面板接口密钥", - "access.form.baotapanel_api_key.tooltip": "这是什么?请参阅 https://www.bt.cn/bbs/thread-113890-1-1.html", - "access.form.baotapanelgo_server_url.label": "宝塔面板极速版服务地址", - "access.form.baotapanelgo_server_url.placeholder": "请输入宝塔面板极速版服务地址", - "access.form.baotapanelgo_server_url.help": "提示:请勿包含安全入口后缀。", - "access.form.baotapanelgo_api_key.label": "宝塔面板极速版接口密钥", - "access.form.baotapanelgo_api_key.placeholder": "请输入宝塔面板极速版接口密钥", - "access.form.baotapanelgo_api_key.tooltip": "这是什么?请参阅 https://www.bt.cn/bbs/thread-113890-1-1.html", - "access.form.baotawaf_server_url.label": "堡塔云 WAF 服务地址", - "access.form.baotawaf_server_url.placeholder": "请输入堡塔云 WAF 服务地址", - "access.form.baotawaf_server_url.help": "提示:请勿包含安全入口后缀。", - "access.form.baotawaf_api_key.label": "堡塔云 WAF 接口密钥", - "access.form.baotawaf_api_key.placeholder": "请输入堡塔云 WAF 接口密钥", - "access.form.baotawaf_api_key.tooltip": "这是什么?请参阅 https://github.com/aaPanel/aaWAF/blob/main/API.md", - "access.form.bookmyname_username.label": "BookMyName 用户名", - "access.form.bookmyname_username.placeholder": "请输入 BookMyName 用户名", - "access.form.bookmyname_password.label": "BookMyName 用户密码", - "access.form.bookmyname_password.placeholder": "请输入 BookMyName 用户密码", - "access.form.bunny_api_key.label": "Bunny API Key", - "access.form.bunny_api_key.placeholder": "请输入 Bunny API Key", - "access.form.bunny_api_key.tooltip": "这是什么?请参阅 https://docs.bunny.net/reference/bunnynet-api-overview", - "access.form.byteplus_access_key.label": "BytePlus AccessKey", - "access.form.byteplus_access_key.placeholder": "请输入 BytePlus AccessKey", - "access.form.byteplus_access_key.tooltip": "这是什么?请参阅 https://docs.byteplus.com/zh-CN/docs/byteplus-platform/docs-managing-keys", - "access.form.byteplus_secret_key.label": "BytePlus SecretKey", - "access.form.byteplus_secret_key.placeholder": "请输入 BytePlus SecretKey", - "access.form.byteplus_secret_key.tooltip": "这是什么?请参阅 https://docs.byteplus.com/zh-CN/docs/byteplus-platform/docs-managing-keys", - "access.form.cachefly_api_token.label": "CacheFly API Token", - "access.form.cachefly_api_token.placeholder": "请输入 CacheFly API Token", - "access.form.cachefly_api_token.tooltip": "这是什么?请参阅 https://kb.cachefly.com/kb/guide/en/generating-tokens-and-keys-Oll9Irt5TI/Steps/2460228", - "access.form.cdnfly_server_url.label": "Cdnfly 服务地址", - "access.form.cdnfly_server_url.placeholder": "请输入 Cdnfly 服务地址", - "access.form.cdnfly_api_key.label": "Cdnfly 用户端 API Key", - "access.form.cdnfly_api_key.placeholder": "请输入 Cdnfly 用户端 API Key", - "access.form.cdnfly_api_key.tooltip": "这是什么?请参阅 https://doc.cdnfly.cn/shiyongjieshao.html", - "access.form.cdnfly_api_secret.label": "Cdnfly 用户端 API Secret", - "access.form.cdnfly_api_secret.placeholder": "请输入 Cdnfly 用户端 API Secret", - "access.form.cdnfly_api_secret.tooltip": "这是什么?请参阅 https://doc.cdnfly.cn/shiyongjieshao.html", - "access.form.cloudflare_dns_api_token.label": "Cloudflare DNS API 令牌", - "access.form.cloudflare_dns_api_token.placeholder": "请输入 Cloudflare DNS API 令牌", - "access.form.cloudflare_dns_api_token.tooltip": "这是什么?请参阅 https://developers.cloudflare.com/fundamentals/api/get-started/create-token/", - "access.form.cloudflare_zone_api_token.label": "Cloudflare Zone API 令牌(可选)", - "access.form.cloudflare_zone_api_token.placeholder": "请输入 Cloudflare Zone API 令牌", - "access.form.cloudflare_zone_api_token.help": "提示:仅当你将 DNS API 令牌范围指定为特定域时需要填写,请将 Zone API 令牌范围指定为全部域,并分配 Zone/Zone/Read 权限。", - "access.form.cloudflare_zone_api_token.tooltip": "这是什么?请参阅 https://developers.cloudflare.com/fundamentals/api/get-started/create-token/", - "access.form.cloudns_auth_id.label": "ClouDNS API 用户 ID", - "access.form.cloudns_auth_id.placeholder": "请输入 ClouDNS API 用户 ID", - "access.form.cloudns_auth_id.tooltip": "这是什么?请参阅 https://www.cloudns.net/wiki/article/42/", - "access.form.cloudns_auth_password.label": "ClouDNS API 用户密码", - "access.form.cloudns_auth_password.placeholder": "请输入 ClouDNS API 用户密码", - "access.form.cloudns_auth_password.tooltip": "这是什么?请参阅 https://www.cloudns.net/wiki/article/42/", - "access.form.cmcccloud_access_key_id.label": "移动云 AccessKeyID", - "access.form.cmcccloud_access_key_id.placeholder": "请输入移动云 AccessKeyID", - "access.form.cmcccloud_access_key_id.tooltip": "这是什么?请参阅 https://ecloud.10086.cn/op-help-center/doc/article/49739", - "access.form.cmcccloud_access_key_secret.label": "移动云 AccessKeySecret", - "access.form.cmcccloud_access_key_secret.placeholder": "请输入移动云 AccessKeySecret", - "access.form.cmcccloud_access_key_secret.tooltip": "这是什么?请参阅 https://ecloud.10086.cn/op-help-center/doc/article/49739", - "access.form.constellix_api_key.label": "Constellix API Key", - "access.form.constellix_api_key.placeholder": "请输入 Constellix API Key", - "access.form.constellix_api_key.tooltip": "这是什么?请参阅 https://support.constellix.com/hc/en-us/articles/34574197390491-How-to-Generate-an-API-Key", - "access.form.constellix_secret_key.label": "Constellix Secret Key", - "access.form.constellix_secret_key.placeholder": "请输入 Constellix Secret Key", - "access.form.constellix_secret_key.tooltip": "这是什么?请参阅 https://support.constellix.com/hc/en-us/articles/34574197390491-How-to-Generate-an-API-Key", - "access.form.ctcccloud_access_key_id.label": "天翼云 AccessKeyID", - "access.form.ctcccloud_access_key_id.placeholder": "请输入天翼云 AccessKeyID", - "access.form.ctcccloud_access_key_id.tooltip": "这是什么?请参阅 https://www.ctyun.cn/document/10015882/10015953", - "access.form.ctcccloud_secret_access_key.label": "天翼云 SecretAccessKey", - "access.form.ctcccloud_secret_access_key.placeholder": "请输入天翼云 SecretAccessKey", - "access.form.ctcccloud_secret_access_key.tooltip": "这是什么?请参阅 https://www.ctyun.cn/document/10015882/10015953", - "access.form.desec_token.label": "deSEC Token", - "access.form.desec_token.placeholder": "请输入 deSEC Token", - "access.form.desec_token.tooltip": "这是什么?请参阅 https://desec.readthedocs.io/en/latest/auth/tokens.html", - "access.form.digitalocean_access_token.label": "DigitalOcean Access Token", - "access.form.digitalocean_access_token.placeholder": "请输入 DigitalOcean Access Token", - "access.form.digitalocean_access_token.tooltip": "这是什么?请参阅 https://docs.digitalocean.com/reference/api/create-personal-access-token/", - "access.form.dingtalkbot_webhook_url.label": "钉钉群机器人 Webhook 地址", - "access.form.dingtalkbot_webhook_url.placeholder": "请输入钉钉群机器人 Webhook 地址", - "access.form.dingtalkbot_webhook_url.tooltip": "这是什么?请参阅 https://open.dingtalk.com/document/orgapp/obtain-the-webhook-address-of-a-custom-robot", - "access.form.dingtalkbot_secret.label": "钉钉群机器人签名密钥(可选)", - "access.form.dingtalkbot_secret.placeholder": "请输入钉钉群机器人签名密钥", - "access.form.dingtalkbot_secret.tooltip": "这是什么?请参阅 https://open.dingtalk.com/document/orgapp/customize-robot-security-settings", - "access.form.discordbot_token.label": "Discord 机器人 API Token", - "access.form.discordbot_token.placeholder": "请输入 Discord 机器人 API Token", - "access.form.discordbot_token.tooltip": "这是什么?请参阅 https://docs.discordbotstudio.org/setting-up-dbs/finding-your-bot-token", - "access.form.discordbot_channel_id.label": "Discord 频道 ID(可选)", - "access.form.discordbot_channel_id.placeholder": "请输入默认的 Discord 频道 ID", - "access.form.discordbot_channel_id.help": "提示:可在工作流中覆盖此设置。", - "access.form.discordbot_channel_id.tooltip": "这是什么?请参阅 https://support.discord.com/hc/en-us/articles/206346498-Where-can-I-find-my-User-Server-Message-ID", - "access.form.dnsmadeeasy_api_key.label": "DNS Made Easy API Key", - "access.form.dnsmadeeasy_api_key.placeholder": "请输入 DNS Made Easy API Key", - "access.form.dnsmadeeasy_api_key.tooltip": "这是什么?请参阅 https://api-docs.dnsmadeeasy.com/#Authentication", - "access.form.dnsmadeeasy_api_secret.label": "DNS Made Easy API Secret", - "access.form.dnsmadeeasy_api_secret.placeholder": "请输入 DNS Made Easy API Secret", - "access.form.dnsmadeeasy_api_secret.tooltip": "这是什么?请参阅 https://api-docs.dnsmadeeasy.com/#Authentication", - "access.form.dnsla_api_id.label": "DNS.LA API ID", - "access.form.dnsla_api_id.placeholder": "请输入 DNS.LA API ID", - "access.form.dnsla_api_id.tooltip": "这是什么?请参阅 https://www.dns.la/docs/ApiDoc", - "access.form.dnsla_api_secret.label": "DNS.LA API 密钥", - "access.form.dnsla_api_secret.placeholder": "请输入 DNS.LA API 密钥", - "access.form.dnsla_api_secret.tooltip": "这是什么?请参阅 https://www.dns.la/docs/ApiDoc", - "access.form.dogecloud_access_key.label": "多吉云 AccessKey", - "access.form.dogecloud_access_key.placeholder": "请输入多吉云 AccessKey", - "access.form.dogecloud_access_key.tooltip": "这是什么?请参阅 https://console.dogecloud.com/", - "access.form.dogecloud_secret_key.label": "多吉云 SecretKey", - "access.form.dogecloud_secret_key.placeholder": "请输入多吉云 SecretKey", - "access.form.dogecloud_secret_key.tooltip": "这是什么?请参阅 https://console.dogecloud.com/", - "access.form.duckdns_token.label": "DuckDNS Token", - "access.form.duckdns_token.placeholder": "请输入 DuckDNS Token", - "access.form.duckdns_token.tooltip": "这是什么?请参阅 https://www.duckdns.org/spec.jsp", - "access.form.dynu_api_key.label": "Dynu API Key", - "access.form.dynu_api_key.placeholder": "请输入 Dynu API Key", - "access.form.dynu_api_key.tooltip": "这是什么?请参阅 https://www.dynu.com/Support/API#Authentication", - "access.form.dynv6_http_token.label": "dynv6 HTTP Token", - "access.form.dynv6_http_token.placeholder": "请输入 dynv6 HTTP Token", - "access.form.dynv6_http_token.tooltip": "这是什么?请参阅 https://dynv6.com/keys", - "access.form.email_smtp_host.label": "SMTP 服务器地址", - "access.form.email_smtp_host.placeholder": "请输入 SMTP 服务器地址", - "access.form.email_smtp_port.label": "SMTP 服务器端口", - "access.form.email_smtp_port.placeholder": "请输入 SMTP 服务器端口", - "access.form.email_smtp_tls.label": "连接安全性", - "access.form.email_smtp_tls.placeholder": "请选择连接安全性", - "access.form.email_smtp_tls.option.true.label": "强制 SSL/TLS 连接", - "access.form.email_smtp_tls.option.false.label": "优先 STARTTLS,失败则回退为明文连接", - "access.form.email_username.label": "用户名", - "access.form.email_username.placeholder": "请输入用户名", - "access.form.email_password.label": "密码", - "access.form.email_password.placeholder": "请输入密码", - "access.form.email_sender_address.label": "发件人邮箱", - "access.form.email_sender_address.placeholder": "请输入发件人邮箱", - "access.form.email_sender_name.label": "发件人名称(可选)", - "access.form.email_sender_name.placeholder": "请输入发件人名称", - "access.form.email_receiver_address.label": "收件人邮箱(可选)", - "access.form.email_receiver_address.placeholder": "请输入默认的收件人邮箱", - "access.form.email_receiver_address.help": "提示:可在工作流中覆盖此设置。", - "access.form.flexcdn_server_url.label": "FlexCDN 服务地址", - "access.form.flexcdn_server_url.placeholder": "请输入 FlexCDN 服务地址", - "access.form.flexcdn_api_role.label": "FlexCDN 用户角色", - "access.form.flexcdn_api_role.placeholder": "请选择 FlexCDN 用户角色", - "access.form.flexcdn_api_role.option.user.label": "平台用户", - "access.form.flexcdn_api_role.option.admin.label": "系统管理员", - "access.form.flexcdn_access_key_id.label": "FlexCDN AccessKeyID", - "access.form.flexcdn_access_key_id.placeholder": "请输入 FlexCDN AccessKeyID", - "access.form.flexcdn_access_key_id.tooltip": "这是什么?请参阅 https://flexcdn.cn/docs/api/auth", - "access.form.flexcdn_access_key.label": "FlexCDN AccessKey", - "access.form.flexcdn_access_key.placeholder": "请输入 FlexCDN AccessKey", - "access.form.flexcdn_access_key.tooltip": "这是什么?请参阅 https://flexcdn.cn/docs/api/auth", - "access.form.gandinet_personal_access_token.label": "Gandi.net Personal Access Token", - "access.form.gandinet_personal_access_token.placeholder": "请输入 Gandi.net Personal Access Token", - "access.form.gandinet_personal_access_token.tooltip": "这是什么?请参阅 https://api.gandi.net/docs/authentication/", - "access.form.gcore_api_token.label": "G-Core API Token", - "access.form.gcore_api_token.placeholder": "请输入 G-Core API Token", - "access.form.gcore_api_token.tooltip": "这是什么?请参阅 https://api.gcore.com/docs/iam#section/Authentication", - "access.form.gname_app_id.label": "GNAME AppID", - "access.form.gname_app_id.placeholder": "请输入 GNAME AppID", - "access.form.gname_app_id.tooltip": "这是什么?请参阅 https://www.gname.com/user#/dealer_api", - "access.form.gname_app_key.label": "GNAME AppKey", - "access.form.gname_app_key.placeholder": "请输入 GNAME AppKey", - "access.form.gname_app_key.tooltip": "这是什么?请参阅 https://www.gname.com/user#/dealer_api", - "access.form.godaddy_api_key.label": "GoDaddy API Key", - "access.form.godaddy_api_key.placeholder": "请输入 GoDaddy API Key", - "access.form.godaddy_api_key.tooltip": "这是什么?请参阅 https://developer.godaddy.com/", - "access.form.godaddy_api_secret.label": "GoDaddy API Secret", - "access.form.godaddy_api_secret.placeholder": "请输入 GoDaddy API Secret", - "access.form.godaddy_api_secret.tooltip": "这是什么?请参阅 https://developer.godaddy.com/", - "access.form.goedge_server_url.label": "GoEdge 服务地址", - "access.form.goedge_server_url.placeholder": "请输入 GoEdge 服务地址", - "access.form.goedge_api_role.label": "GoEdge 用户角色", - "access.form.goedge_api_role.placeholder": "请选择 GoEdge 用户角色", - "access.form.goedge_api_role.option.user.label": "平台用户", - "access.form.goedge_api_role.option.admin.label": "系统管理员", - "access.form.goedge_access_key_id.label": "GoEdge AccessKeyID", - "access.form.goedge_access_key_id.placeholder": "请输入 GoEdge AccessKeyID", - "access.form.goedge_access_key_id.tooltip": "这是什么?请参阅 https://goedge.cloud/docs/API/Auth.md", - "access.form.goedge_access_key.label": "GoEdge AccessKey", - "access.form.goedge_access_key.placeholder": "请输入 GoEdge AccessKey", - "access.form.goedge_access_key.tooltip": "这是什么?请参阅 https://goedge.cloud/docs/API/Auth.md", - "access.form.globalsignatlas_eab.guide": "点击下方链接了解如何获取 GlobalSign Atlas EAB:
https://globalsign.cn/acme-automated-certificate-management", - "access.form.googletrustservices_eab.guide": "点击下方链接了解如何获取 Google Trust Services EAB:
https://cloud.google.com/certificate-manager/docs/public-ca-tutorial", - "access.form.hetzner_api_token.label": "Hetzner API Token", - "access.form.hetzner_api_token.placeholder": "请输入 Hetzner API Token", - "access.form.hetzner_api_token.tooltip": "这是什么?请参阅 https://docs.hetzner.com/cloud/api/getting-started/generating-api-token", - "access.form.hostingde_api_key.label": "hosting.de API Key", - "access.form.hostingde_api_key.placeholder": "请输入 hosting.de API Key", - "access.form.hostingde_api_key.tooltip": "这是什么?请参阅 https://www.hosting.de/api/#requests-and-authentication", - "access.form.hostinger_api_token.label": "Hostinger API Token", - "access.form.hostinger_api_token.placeholder": "请输入 Hostinger API Token", - "access.form.hostinger_api_token.tooltip": "这是什么?请参阅 https://developers.hostinger.com/#description/authentication", - "access.form.huaweicloud_access_key_id.label": "华为云 AccessKeyID", - "access.form.huaweicloud_access_key_id.placeholder": "请输入华为云 AccessKeyID", - "access.form.huaweicloud_access_key_id.tooltip": "这是什么?请参阅 https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html", - "access.form.huaweicloud_secret_access_key.label": "华为云 SecretAccessKey", - "access.form.huaweicloud_secret_access_key.placeholder": "请输入华为云 SecretAccessKey", - "access.form.huaweicloud_secret_access_key.tooltip": "这是什么?请参阅 https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html", - "access.form.huaweicloud_enterprise_project_id.label": "华为云企业项目 ID(可选)", - "access.form.huaweicloud_enterprise_project_id.placeholder": "请输入华为云企业项目 ID", - "access.form.huaweicloud_enterprise_project_id.tooltip": "这是什么?请参阅 https://support.huaweicloud.com/usermanual-em/zh-cn_topic_0126101490.html", - "access.form.infomaniak_access_token.label": "Infomaniak AccessToken", - "access.form.infomaniak_access_token.placeholder": "请输入 Infomaniak AccessToken", - "access.form.infomaniak_access_token.tooltip": "这是什么?请参阅 https://manager.infomaniak.com/v3/infomaniak-api", - "access.form.ionos_api_key_public_prefix.label": "IONOS API Key Public Prefix", - "access.form.ionos_api_key_public_prefix.placeholder": "请输入 IONOS API Key Public Prefix", - "access.form.ionos_api_key_public_prefix.tooltip": "这是什么?请参阅 https://developer.hosting.ionos.com/docs/getstarted", - "access.form.ionos_api_key_secret.label": "IONOS API Key Secret", - "access.form.ionos_api_key_secret.placeholder": "请输入 IONOS API Key Secret", - "access.form.ionos_api_key_secret.tooltip": "这是什么?请参阅 https://developer.hosting.ionos.com/docs/getstarted", - "access.form.jdcloud_access_key_id.label": "京东云 AccessKeyID", - "access.form.jdcloud_access_key_id.placeholder": "请输入京东云 AccessKeyID", - "access.form.jdcloud_access_key_id.tooltip": "这是什么?请参阅 https://docs.jdcloud.com/cn/account-management/accesskey-management", - "access.form.jdcloud_access_key_secret.label": "京东云 AccessKeySecret", - "access.form.jdcloud_access_key_secret.placeholder": "请输入京东云 AccessKeySecret", - "access.form.jdcloud_access_key_secret.tooltip": "这是什么?请参阅 https://docs.jdcloud.com/cn/account-management/accesskey-management", - "access.form.k8s_kubeconfig.label": "KubeConfig(可选)", - "access.form.k8s_kubeconfig.placeholder": "请输入 KubeConfig 文件内容", - "access.form.k8s_kubeconfig.help": "提示:不填写时,将使用 Pod 的 ServiceAccount 作为凭证。", - "access.form.k8s_kubeconfig.tooltip": "这是什么?请参阅 https://kubernetes.io/zh-cn/docs/concepts/configuration/organize-cluster-access-kubeconfig/", - "access.form.kong_server_url.label": "Kong Admin API 服务地址", - "access.form.kong_server_url.placeholder": "请输入 Kong Admin API 服务地址", - "access.form.kong_api_token.label": "Kong Admin API Token(可选)", - "access.form.kong_api_token.placeholder": "请输入 Kong Admin API Token", - "access.form.kong_api_token.tooltip": "这是什么?请参阅 https://developer.konghq.com/admin-api/", - "access.form.ksyun_access_key_id.label": "金山云 AccessKeyID", - "access.form.ksyun_access_key_id.placeholder": "请输入金山云 AccessKeyID", - "access.form.ksyun_access_key_id.tooltip": "这是什么?请参阅 https://docs.ksyun.com/documents/39976", - "access.form.ksyun_secret_access_key.label": "金山云 SecretAccessKey", - "access.form.ksyun_secret_access_key.placeholder": "请输入金山云 SecretAccessKey", - "access.form.ksyun_secret_access_key.tooltip": "这是什么?请参阅 https://docs.ksyun.com/documents/39976", - "access.form.larkbot_webhook_url.label": "飞书群机器人 Webhook 地址", - "access.form.larkbot_webhook_url.placeholder": "请输入飞书群机器人 Webhook 地址", - "access.form.larkbot_webhook_url.tooltip": "这是什么?请参阅 https://open.feishu.cn/document/client-docs/bot-v3/add-custom-bot", - "access.form.larkbot_secret.label": "飞书群机器人签名密钥(可选)", - "access.form.larkbot_secret.placeholder": "请输入飞书群机器人签名密钥", - "access.form.larkbot_secret.tooltip": "这是什么?请参阅 https://open.feishu.cn/document/client-docs/bot-v3/add-custom-bot", - "access.form.lecdn_server_url.label": "LeCDN 服务地址", - "access.form.lecdn_server_url.placeholder": "请输入 LeCDN 服务地址", - "access.form.lecdn_api_version.label": "LeCDN 版本", - "access.form.lecdn_api_version.placeholder": "请选择 LeCDN 版本", - "access.form.lecdn_api_role.label": "LeCDN 用户角色", - "access.form.lecdn_api_role.placeholder": "请选择 LeCDN 用户角色", - "access.form.lecdn_api_role.option.client.label": "客户用户", - "access.form.lecdn_api_role.option.master.label": "主控管理员", - "access.form.lecdn_username.label": "LeCDN 用户名", - "access.form.lecdn_username.placeholder": "请输入 LeCDN 用户名", - "access.form.lecdn_password.label": "LeCDN 用户密码", - "access.form.lecdn_password.placeholder": "请输入 LeCDN 用户密码", - "access.form.linode_access_token.label": "Linode AccessToken", - "access.form.linode_access_token.placeholder": "请输入 Linode AccessToken", - "access.form.linode_access_token.tooltip": "这是什么?请参阅 https://techdocs.akamai.com/linode-api/reference/get-started", - "access.form.litessl_eab.guide": "点击下方链接了解如何获取 LiteSSL EAB:
https://freessl.cn/automation/eab-manager", - "access.form.mattermost_server_url.label": "Mattermost 服务地址", - "access.form.mattermost_server_url.placeholder": "请输入 Mattermost 服务地址", - "access.form.mattermost_username.label": "Mattermost 用户名", - "access.form.mattermost_username.placeholder": "请输入 Mattermost 用户名", - "access.form.mattermost_password.label": "Mattermost 密码", - "access.form.mattermost_password.placeholder": "请输入 Mattermost 密码", - "access.form.mattermost_channel_id.label": "Mattermost 频道 ID(可选)", - "access.form.mattermost_channel_id.placeholder": "请输入默认的 Mattermost 频道 ID", - "access.form.mattermost_channel_id.help": "提示:可在工作流中覆盖此设置。", - "access.form.mattermost_channel_id.tooltip": "如何获取此参数?从左侧边栏中选择目标频道,点击顶部的频道名称,选择“频道详情”,即可在弹出页面中直接看到频道 ID。", - "access.form.namecheap_username.label": "Namecheap 用户名", - "access.form.namecheap_username.placeholder": "请输入 Namecheap 用户名", - "access.form.namecheap_username.tooltip": "这是什么?请参阅 https://www.namecheap.com/support/api/intro/", - "access.form.namecheap_api_key.label": "Namecheap API Key", - "access.form.namecheap_api_key.placeholder": "请输入 Namecheap API Key", - "access.form.namecheap_api_key.tooltip": "这是什么?请参阅 https://www.namecheap.com/support/api/intro/", - "access.form.namedotcom_username.label": "Name.com 用户名", - "access.form.namedotcom_username.placeholder": "请输入 Name.com 用户名", - "access.form.namedotcom_username.tooltip": "这是什么?请参阅 https://www.name.com/account/settings/api", - "access.form.namedotcom_api_token.label": "Name.com API Token", - "access.form.namedotcom_api_token.placeholder": "请输入 Name.com API Token", - "access.form.namedotcom_api_token.tooltip": "这是什么?请参阅 https://www.name.com/support/articles/31142639244819-how-to-manage-your-api-tokens", - "access.form.namesilo_api_key.label": "NameSilo API Key", - "access.form.namesilo_api_key.placeholder": "请输入 NameSilo API Key", - "access.form.namesilo_api_key.tooltip": "这是什么?请参阅 https://www.namesilo.com/support/v2/articles/account-options/api-manager", - "access.form.netlify_api_token.label": "Netlify API Token", - "access.form.netlify_api_token.placeholder": "请输入 Netlify API Token", - "access.form.netlify_api_token.tooltip": "这是什么?请参阅 https://docs.netlify.com/api/get-started/#authentication", - "access.form.netcup_customer_number.label": "netcup 客户编号", - "access.form.netcup_customer_number.placeholder": "请输入 netcup 客户编号", - "access.form.netcup_customer_number.tooltip": "这是什么?请参阅 https://helpcenter.netcup.com/en/wiki/general/ccp-login/", - "access.form.netcup_api_key.label": "netcup API Key", - "access.form.netcup_api_key.placeholder": "请输入 netcup API Key", - "access.form.netcup_api_key.tooltip": "这是什么?请参阅 https://helpcenter.netcup.com/en/wiki/general/our-api/", - "access.form.netcup_api_password.label": "netcup API Key 密码", - "access.form.netcup_api_password.placeholder": "请输入 netcup API Key 密码", - "access.form.netcup_api_password.tooltip": "这是什么?请参阅 https://helpcenter.netcup.com/en/wiki/general/our-api/", - "access.form.ns1_api_key.label": "NS1 API Key", - "access.form.ns1_api_key.placeholder": "请输入 NS1 API Key", - "access.form.ns1_api_key.tooltip": "这是什么?请参阅 https://www.ibm.com/docs/zh/ns1-connect?topic=introduction-using-api", - "access.form.ovhcloud_endpoint.label": "OVHcloud API 端点", - "access.form.ovhcloud_endpoint.placeholder": "请输入 OVHcloud API 端点", - "access.form.ovhcloud_auth_method.label": "OVHcloud API 认证方式", - "access.form.ovhcloud_auth_method.placeholder": "请选择 OVHcloud API 认证方式", - "access.form.ovhcloud_auth_method.option.application.label": "Application Key & Secret", - "access.form.ovhcloud_auth_method.option.oauth2.label": "OAuth2 Client Credentials", - "access.form.ovhcloud_application_key.label": "OVHcloud Application Key", - "access.form.ovhcloud_application_key.placeholder": "请输入 OVHcloud Application Key", - "access.form.ovhcloud_application_key.tooltip": "这是什么?请参阅 https://docs.ovh.com/gb/en/customer/first-steps-with-ovh-api/", - "access.form.ovhcloud_application_secret.label": "OVHcloud Application Secret", - "access.form.ovhcloud_application_secret.placeholder": "请输入 OVHcloud Application Secret", - "access.form.ovhcloud_application_secret.tooltip": "这是什么?请参阅 https://docs.ovh.com/gb/en/customer/first-steps-with-ovh-api/", - "access.form.ovhcloud_consumer_key.label": "OVHcloud Consumer Key", - "access.form.ovhcloud_consumer_key.placeholder": "请输入 OVHcloud Consumer Key", - "access.form.ovhcloud_consumer_key.tooltip": "这是什么?请参阅 https://docs.ovh.com/gb/en/customer/first-steps-with-ovh-api/", - "access.form.ovhcloud_client_id.label": "OVHcloud Client ID", - "access.form.ovhcloud_client_id.placeholder": "请输入 OVHcloud Client ID", - "access.form.ovhcloud_client_id.tooltip": "这是什么?请参阅 https://help.ovhcloud.com/csm/en-manage-service-account?id=kb_article_view&sysparm_article=KB0059343", - "access.form.ovhcloud_client_secret.label": "OVHcloud Client Cecret", - "access.form.ovhcloud_client_secret.placeholder": "请输入 OVHcloud Client Secret", - "access.form.ovhcloud_client_secret.tooltip": "这是什么?请参阅 https://help.ovhcloud.com/csm/en-manage-service-account?id=kb_article_view&sysparm_article=KB0059343", - "access.form.porkbun_api_key.label": "Porkbun API Key", - "access.form.porkbun_api_key.placeholder": "请输入 Porkbun API Key", - "access.form.porkbun_api_key.tooltip": "这是什么?请参阅 https://porkbun.com/api/json/v3/documentation", - "access.form.porkbun_secret_api_key.label": "Porkbun Secret API Key", - "access.form.porkbun_secret_api_key.placeholder": "请输入 Porkbun Secret API Key", - "access.form.porkbun_secret_api_key.tooltip": "这是什么?请参阅 https://porkbun.com/api/json/v3/documentation", - "access.form.powerdns_server_url.label": "PowerDNS 服务地址", - "access.form.powerdns_server_url.placeholder": "请输入 PowerDNS 服务地址", - "access.form.powerdns_api_key.label": "PowerDNS API Key", - "access.form.powerdns_api_key.placeholder": "请输入 PowerDNS API Key", - "access.form.powerdns_api_key.tooltip": "这是什么?请参阅 https://doc.powerdns.com/authoritative/http-api/index.html#enabling-the-api", - "access.form.proxmoxve_server_url.label": "Proxmox VE 服务地址", - "access.form.proxmoxve_server_url.placeholder": "请输入 Proxmox VE 服务地址", - "access.form.proxmoxve_api_token.label": "Proxmox VE API Token", - "access.form.proxmoxve_api_token.placeholder": "请输入 Proxmox VE API Token", - "access.form.proxmoxve_api_token.tooltip": "这是什么?请参阅 https://pve.proxmox.com/pve-docs/pve-admin-guide.html#pveum_tokens", - "access.form.proxmoxve_api_token_secret.label": "Proxmox VE API Token Secret(可选)", - "access.form.proxmoxve_api_token_secret.placeholder": "请输入 Proxmox VE API Token Secret", - "access.form.proxmoxve_api_token_secret.tooltip": "这是什么?请参阅 https://pve.proxmox.com/pve-docs/pve-admin-guide.html#pveum_tokens", - "access.form.qingcloud_access_key_id.label": "青云 AccessKeyID", - "access.form.qingcloud_access_key_id.placeholder": "请输入青云 AccessKeyID", - "access.form.qingcloud_access_key_id.tooltip": "这是什么?请参阅 https://console.qingcloud.com/access_keys/", - "access.form.qingcloud_secret_access_key.label": "青云 SecretAccessKey", - "access.form.qingcloud_secret_access_key.placeholder": "请输入青云 SecretAccessKey", - "access.form.qingcloud_secret_access_key.tooltip": "这是什么?请参阅 https://console.qingcloud.com/access_keys/", - "access.form.qiniu_access_key.label": "七牛云 AccessKey", - "access.form.qiniu_access_key.placeholder": "请输入七牛云 AccessKey", - "access.form.qiniu_access_key.tooltip": "这是什么?请参阅 https://portal.qiniu.com/", - "access.form.qiniu_secret_key.label": "七牛云 SecretKey", - "access.form.qiniu_secret_key.placeholder": "请输入七牛云 SecretKey", - "access.form.qiniu_secret_key.tooltip": "这是什么?请参阅 https://portal.qiniu.com/", - "access.form.rainyun_api_key.label": "雨云 API 密钥", - "access.form.rainyun_api_key.placeholder": "请输入雨云 API 密钥", - "access.form.rainyun_api_key.tooltip": "这是什么?请参阅 https://app.rainyun.com/account/settings/api-key", - "access.form.ratpanel_server_url.label": "耗子面板服务地址", - "access.form.ratpanel_server_url.placeholder": "请输入耗子面板服务地址", - "access.form.ratpanel_server_url.help": "提示:请勿包含安全入口后缀。", - "access.form.ratpanel_access_token_id.label": "耗子面板 AccessToken ID", - "access.form.ratpanel_access_token_id.placeholder": "请输入耗子面板 AccessToken ID", - "access.form.ratpanel_access_token_id.tooltip": "这是什么?请参阅 https://ratpanel.github.io/advanced/api.html", - "access.form.ratpanel_access_token.label": "耗子面板 AccessToken", - "access.form.ratpanel_access_token.placeholder": "请输入耗子面板 AccessToken", - "access.form.ratpanel_access_token.tooltip": "这是什么?请参阅 https://ratpanel.github.io/advanced/api.html", - "access.form.rfc2136_host.label": "DNS 服务器地址", - "access.form.rfc2136_host.placeholder": "请输入 DNS 服务器地址", - "access.form.rfc2136_port.label": "DNS 服务器端口", - "access.form.rfc2136_port.placeholder": "请输入 DNS 服务器端口", - "access.form.rfc2136_tsig_algorithm.label": "TSIG 算法", - "access.form.rfc2136_tsig_algorithm.placeholder": "请选择 TSIG 算法", - "access.form.rfc2136_tsig_key.label": "TSIG 认证密钥 Key(可选)", - "access.form.rfc2136_tsig_key.placeholder": "请输入 TSIG 认证密钥 Key", - "access.form.rfc2136_tsig_secret.label": "TSIG 认证密钥 Secret(可选)", - "access.form.rfc2136_tsig_secret.placeholder": "请输入 TSIG 认证密钥 Secret", - "access.form.safeline_server_url.label": "雷池服务地址", - "access.form.safeline_server_url.placeholder": "请输入雷池服务地址", - "access.form.safeline_api_token.label": "雷池 API Token", - "access.form.safeline_api_token.placeholder": "请输入雷池 API Token", - "access.form.safeline_api_token.tooltip": "这是什么?请参阅 https://docs.waf-ce.chaitin.cn/zh/更多技术文档/OPENAPI", - "access.form.sectigo_validation_type.label": "域名验证类型", - "access.form.sectigo_validation_type.placeholder": "请选择域名验证类型", - "access.form.sectigo_validation_type.option.dv.label": "DV(域名型)", - "access.form.sectigo_validation_type.option.ov.label": "OV(企业型)", - "access.form.sectigo_validation_type.option.ev.label": "EV(增强型)", - "access.form.sectigo_eab.guide": "点击下方链接了解如何获取 Sectigo EAB:
https://www.sectigo.com/enterprise-solutions/certificate-manager/integrations-acme", - "access.form.slackbot_token.label": "Slack 机器人 Token", - "access.form.slackbot_token.placeholder": "请输入 Slack 机器人 Token", - "access.form.slackbot_token.tooltip": "这是什么?请参阅 https://docs.slack.dev/authentication/tokens#bot", - "access.form.slackbot_channel_id.label": "Slack 频道 ID(可选)", - "access.form.slackbot_channel_id.placeholder": "请输入默认的 Slack 频道 ID", - "access.form.slackbot_channel_id.help": "提示:可在工作流中覆盖此设置。", - "access.form.slackbot_channel_id.tooltip": "如何获取此参数?请参阅 https://www.youtube.com/watch?v=Uz5Yi5C2pwQ", - "access.form.spaceship_api_key.label": "Spaceship API Key", - "access.form.spaceship_api_key.placeholder": "请输入 Spaceship API Key", - "access.form.spaceship_api_key.tooltip": "这是什么?请参阅 https://www.spaceship.com/application/api-manager/", - "access.form.spaceship_api_secret.label": "Spaceship API Secret", - "access.form.spaceship_api_secret.placeholder": "请输入 Spaceship API Secret", - "access.form.spaceship_api_secret.tooltip": "这是什么?请参阅 https://www.spaceship.com/application/api-manager/", - "access.form.ssh_host.label": "服务器地址", - "access.form.ssh_host.placeholder": "请输入服务器地址", - "access.form.ssh_port.label": "服务器端口", - "access.form.ssh_port.placeholder": "请输入服务器端口", - "access.form.ssh_auth_method.label": "认证方式", - "access.form.ssh_auth_method.placeholder": "请选择认证方式", - "access.form.ssh_auth_method.option.none.label": "无", - "access.form.ssh_auth_method.option.password.label": "密码", - "access.form.ssh_auth_method.option.key.label": "SSH 密钥", - "access.form.ssh_username.label": "用户名", - "access.form.ssh_username.placeholder": "请输入用户名", - "access.form.ssh_password.label": "密码", - "access.form.ssh_password.placeholder": "请输入密码", - "access.form.ssh_key.label": "SSH 密钥", - "access.form.ssh_key.placeholder": "请输入 SSH 密钥文件内容", - "access.form.ssh_key_passphrase.label": "SSH 密钥口令(可选)", - "access.form.ssh_key_passphrase.placeholder": "请输入 SSH 密钥口令", - "access.form.ssh_jump_servers.label": "跳板机(可选)", - "access.form.ssh_jump_servers.errmsg.invalid": "请配置有效的跳板机信息", - "access.form.ssh_jump_servers.item.label": "跳板机", - "access.form.ssh_jump_servers.add": "添加跳板机", - "access.form.sslcom_eab.guide": "点击下方链接了解如何获取 SSL.com EAB:
https://www.ssl.com/how-to/generate-acme-credentials-for-reseller-customers/", - "access.form.technitiumdns_server_url.label": "Technitium DNS 服务地址", - "access.form.technitiumdns_server_url.placeholder": "请输入 Technitium DNS 服务地址", - "access.form.technitiumdns_api_token.label": "Technitium DNS API Token", - "access.form.technitiumdns_api_token.placeholder": "请输入 Technitium DNS API Token", - "access.form.technitiumdns_api_token.tooltip": "这是什么?请参阅 https://github.com/TechnitiumSoftware/DnsServer/blob/master/APIDOCS.md", - "access.form.telegrambot_token.label": "Telegram 机器人 API Token", - "access.form.telegrambot_token.placeholder": "请输入 Telegram 机器人 API Token", - "access.form.telegrambot_token.tooltip": "如何获取此参数?请参阅 https://gist.github.com/nafiesl/4ad622f344cd1dc3bb1ecbe468ff9f8a", - "access.form.telegrambot_chat_id.label": "Telegram 会话 ID(可选)", - "access.form.telegrambot_chat_id.placeholder": "请输入默认的 Telegram 会话 ID", - "access.form.telegrambot_chat_id.help": "提示:可在工作流中覆盖此设置。", - "access.form.telegrambot_chat_id.tooltip": "如何获取此参数?请参阅 https://gist.github.com/nafiesl/4ad622f344cd1dc3bb1ecbe468ff9f8a", - "access.form.tencentcloud_secret_id.label": "腾讯云 SecretID", - "access.form.tencentcloud_secret_id.placeholder": "请输入腾讯云 SecretID", - "access.form.tencentcloud_secret_id.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/598/40488", - "access.form.tencentcloud_secret_key.label": "腾讯云 SecretKey", - "access.form.tencentcloud_secret_key.placeholder": "请输入腾讯云 SecretKey", - "access.form.tencentcloud_secret_key.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/598/40488", - "access.form.ucloud_private_key.label": "优刻得 API 私钥", - "access.form.ucloud_private_key.placeholder": "请输入优刻得 API 私钥", - "access.form.ucloud_private_key.tooltip": "这是什么?请参阅 https://console.ucloud.cn/uaccount/api_manage", - "access.form.ucloud_public_key.label": "优刻得 API 公钥", - "access.form.ucloud_public_key.placeholder": "请输入优刻得 API 公钥", - "access.form.ucloud_public_key.tooltip": "这是什么?请参阅 https://console.ucloud.cn/uaccount/api_manage", - "access.form.ucloud_project_id.label": "优刻得项目 ID(可选)", - "access.form.ucloud_project_id.placeholder": "请输入优刻得项目 ID", - "access.form.ucloud_project_id.tooltip": "这是什么?请参阅 https://console.ucloud.cn/uaccount/iam/project_manage", - "access.form.unicloud_username.label": "uniCloud 控制台账号", - "access.form.unicloud_username.placeholder": "请输入 uniCloud 控制台账号", - "access.form.unicloud_password.label": "uniCloud 控制台密码", - "access.form.unicloud_password.placeholder": "请输入 uniCloud 控制台密码", - "access.form.upyun_username.label": "又拍云子账号用户名", - "access.form.upyun_username.placeholder": "请输入又拍云子账号用户名", - "access.form.upyun_username.tooltip": "这是什么?请参阅 https://console.upyun.com/account/subaccount/
请关闭该账号的二次登录验证。", - "access.form.upyun_password.label": "又拍云子账号密码", - "access.form.upyun_password.placeholder": "请输入又拍云子账号密码", - "access.form.upyun_password.tooltip": "这是什么?请参阅 https://console.upyun.com/account/subaccount/
请关闭该账号的二次登录验证。", - "access.form.vercel_api_access_token.label": "Vercel API Access Token", - "access.form.vercel_api_access_token.placeholder": "请输入 Vercel API Access Token", - "access.form.vercel_api_access_token.tooltip": "这是什么?请参阅 https://vercel.com/guides/how-do-i-use-a-vercel-api-access-token", - "access.form.vercel_team_id.label": "Vercel 团队 ID(可选)", - "access.form.vercel_team_id.placeholder": "请输入 Vercel 团队 ID", - "access.form.vercel_team_id.tooltip": "这是什么?请参阅 https://vercel.com/docs/accounts#find-your-team-id", - "access.form.volcengine_access_key_id.label": "火山引擎 AccessKeyID", - "access.form.volcengine_access_key_id.placeholder": "请输入火山引擎 AccessKeyID", - "access.form.volcengine_access_key_id.tooltip": "这是什么?请参阅 https://www.volcengine.com/docs/6291/216571", - "access.form.volcengine_secret_access_key.label": "火山引擎 SecretAccessKey", - "access.form.volcengine_secret_access_key.placeholder": "请输入火山引擎 SecretAccessKey", - "access.form.volcengine_secret_access_key.tooltip": "这是什么?请参阅 https://www.volcengine.com/docs/6291/216571", - "access.form.vultr_api_key.label": "Vultr API Key", - "access.form.vultr_api_key.placeholder": "请输入 Vultr API Key", - "access.form.vultr_api_key.tooltip": "这是什么?请参阅 https://docs.vultr.com/platform/other/users/manage-users/api-access/regenerate-user-api-key", - "access.form.wangsu_access_key_id.label": "网宿云 AccessKeyID", - "access.form.wangsu_access_key_id.placeholder": "请输入网宿云 AccessKeyID", - "access.form.wangsu_access_key_id.tooltip": "这是什么?请参阅 https://www.wangsu.com/document/account-manage/15775", - "access.form.wangsu_access_key_secret.label": "网宿云 AccessKeySecret", - "access.form.wangsu_access_key_secret.placeholder": "请输入网宿云 AccessKeySecret", - "access.form.wangsu_access_key_secret.tooltip": "这是什么?请参阅 https://www.wangsu.com/document/account-manage/15775", - "access.form.wangsu_api_key.label": "网宿云 API 接口密码", - "access.form.wangsu_api_key.placeholder": "请输入网宿云 API 接口密码", - "access.form.wangsu_api_key.tooltip": "这是什么?请参阅 https://www.wangsu.com/document/account-manage/15776", - "access.form.webhook_url.label": "Webhook 回调地址", - "access.form.webhook_url.placeholder": "请输入 Webhook 回调地址", - "access.form.webhook_method.label": "Webhook 请求谓词", - "access.form.webhook_method.placeholder": "请选择 Webhook 请求谓词", - "access.form.webhook_headers.label": "Webhook 请求标头(可选)", - "access.form.webhook_headers.placeholder": "请输入 Webhook 请求标头", - "access.form.webhook_headers.errmsg.invalid": "请输入有效的请求标头", - "access.form.webhook_headers.tooltip": "示例:
Content-Type: application/json
User-Agent: certimate
", - "access.form.webhook_data.errmsg.json_invalid": "请输入有效的 JSON 格式字符串", - "access.form.webhook_data.label": "Webhook 回调数据(可选)", - "access.form.webhook_data.placeholder": "请输入默认的 Webhook 回调数据", - "access.form.webhook_data.help": "提示:可在工作流中覆盖此设置。", - "access.form.webhook_data.guide_for_deployment": "回调数据是一个 JSON 格式的数据。

其中值支持模板变量,将在被发送到指定的 Webhook URL 时被替换为实际值;其他内容将保持原样。支持的变量:

  1. ${CERTIMATE_DEPLOYER_COMMONNAME}:证书的主域名(即 CommonName)。
  2. ${CERTIMATE_DEPLOYER_SUBJECTALTNAMES}:证书的多域名,以半角分号隔开(即 SubjectAltNames)。
  3. ${CERTIMATE_DEPLOYER_CERTIFICATE}:证书文件 PEM 格式内容。
  4. ${CERTIMATE_DEPLOYER_CERTIFICATE_SERVER}:证书文件(仅含服务器证书)PEM 格式内容。
  5. ${CERTIMATE_DEPLOYER_CERTIFICATE_INTERMEDIA}:证书文件(仅含中间证书)PEM 格式内容。
  6. ${CERTIMATE_DEPLOYER_PRIVATEKEY}:私钥文件 PEM 格式内容。

当请求谓词为 GET 时,回调数据将作为查询参数;否则,回调数据将按照请求标头中 Content-Type 所指示的格式进行编码。支持的格式:
  1. application/json(默认)。
  2. application/x-www-form-urlencoded:不支持嵌套数据。
  3. multipart/form-data:不支持嵌套数据。
  4. ", - "access.form.webhook_data.guide_for_notification": "回调数据是一个 JSON 格式的数据。

    其中值支持模板变量,将在被发送到指定的 Webhook URL 时被替换为实际值;其他内容将保持原样。支持的变量:
    1. ${CERTIMATE_NOTIFIER_SUBJECT}:通知主题。
    2. ${CERTIMATE_NOTIFIER_MESSAGE}:通知内容。

    当请求谓词为 GET 时,回调数据将作为查询参数;否则,回调数据将按照请求标头中 Content-Type 所指示的格式进行编码。支持的格式:
    1. application/json(默认)。
    2. application/x-www-form-urlencoded:不支持嵌套数据。
    3. multipart/form-data:不支持嵌套数据。
    4. ", - "access.form.webhook_preset_data": "使用预设回调", - "access.form.webhook_preset_data.bark": "Bark", - "access.form.webhook_preset_data.gotify": "Gotify", - "access.form.webhook_preset_data.ntfy": "ntfy", - "access.form.webhook_preset_data.pushover": "Pushover", - "access.form.webhook_preset_data.pushplus": "PushPlus 推送加", - "access.form.webhook_preset_data.serverchan3": "Server 酱 3", - "access.form.webhook_preset_data.serverchanturbo": "Server酱 Turbo", - "access.form.webhook_preset_data.common": "通用内容", - "access.form.wecombot_webhook_url.label": "企业微信群机器人 Webhook 地址", - "access.form.wecombot_webhook_url.placeholder": "请输入企业微信群机器人 Webhook 地址", - "access.form.wecombot_webhook_url.tooltip": "这是什么?请参阅 https://open.work.weixin.qq.com/help2/pc/18401", - "access.form.westcn_username.label": "西部数码代理商用户名", - "access.form.westcn_username.placeholder": "请输入西部数码代理商用户名", - "access.form.westcn_api_password.label": "西部数码代理商 API 密码", - "access.form.westcn_api_password.placeholder": "请输入西部数码代理商 API 密码", - "access.form.westcn_agent.guide": "西部数码 API 仅支持代理商调用。点击下方链接了解更多:
      https://www.west.cn/CustomerCenter/doc/apiv2.html", - "access.form.xinnet_agent_id.label": "新网数码代理商编号", - "access.form.xinnet_agent_id.placeholder": "请输入新网数码代理商编号", - "access.form.xinnet_api_password.label": "新网数码代理商 API 密码", - "access.form.xinnet_api_password.placeholder": "请输入新网数码代理商 API 密码", - "access.form.xinnet_agent.guide": "新网数码 API 仅支持代理商调用。点击下方链接了解更多:
      https://apidoc.xin.cn/doc-7283837", - "access.form.zerossl_eab.guide": "点击下方链接了解如何获取 ZeroSSL EAB:
      https://zerossl.com/documentation/acme/" -} +{ + "access.page.title": "授权凭据", + "access.page.subtitle": "授权凭据中存储有用于访问特定第三方应用程序或服务的身份验证信息(如账号密码、接口密钥、API 令牌等)。", + + "access.nodata.title": "暂无授权", + "access.nodata.description": "当前未找到授权信息。请先创建。", + "access.nodata.button": "新建授权", + + "access.search.placeholder": "按授权名称搜索……", + + "access.action.create.button": "新建授权", + "access.action.create.modal.title": "新建授权", + "access.action.modify.menu": "编辑授权", + "access.action.modify.modal.title": "编辑授权", + "access.action.duplicate.menu": "复制授权", + "access.action.duplicate.modal.title": "复制授权", + "access.action.delete.menu": "删除授权", + "access.action.delete.modal.title": "删除「{{name}}」", + "access.action.delete.modal.content": "确定要删除该授权吗?
      注意此操作不可撤销,请谨慎操作。", + "access.action.batch_delete.modal.title": "删除授权", + "access.action.batch_delete.modal.content": "确定要删除这 {{count}} 个被选中的授权吗?
      注意此操作不可撤销,请谨慎操作。", + "access.action.test_push.button": "通知测试", + + "access.props.name": "名称", + "access.props.provider.usage.dns": "DNS 提供商", + "access.props.provider.usage.hosting": "主机提供商", + "access.props.provider.usage.ca": "证书颁发机构", + "access.props.provider.usage.notification": "通知渠道", + "access.props.provider.builtin": "内置", + "access.props.usage.dns_hosting": "提供商", + "access.props.usage.ca": "证书颁发机构", + "access.props.usage.notification": "通知渠道", + "access.props.created_at": "创建时间", + "access.props.updated_at": "更新时间", + + "access.new.title": "新建授权", + "access.new.subtitle": "使用此授权访问特定的第三方应用程序或服务。", + + "access.form.name.label": "名称", + "access.form.name.placeholder": "请输入授权名称", + "access.form.provider.label": "提供商", + "access.form.provider.placeholder": "请选择提供商", + "access.form.provider.help": "提供商分为两种类型:
      【DNS 提供商】你的 DNS 托管方,通常等同于域名注册商,用于在申请证书时管理域名解析记录。
      【主机提供商】你的服务器或云服务的托管方,用于部署签发的证书。", + "access.form.provider.search.placeholder": "搜索提供商……", + "access.form.shared_acme_eab_kid.label": "ACME EAB KID", + "access.form.shared_acme_eab_kid.placeholder": "请输入 ACME EAB KID", + "access.form.shared_acme_eab_hmac_key.label": "ACME EAB HMAC Key", + "access.form.shared_acme_eab_hmac_key.placeholder": "请输入 ACME EAB HMAC Key", + "access.form.shared_allow_insecure_conns.label": "忽略 SSL/TLS 证书错误", + "access.form.1panel_server_url.label": "1Panel 服务地址", + "access.form.1panel_server_url.placeholder": "请输入 1Panel 服务地址", + "access.form.1panel_server_url.help": "提示:请勿包含安全入口后缀。", + "access.form.1panel_api_version.label": "1Panel 版本", + "access.form.1panel_api_version.placeholder": "请选择 1Panel 版本", + "access.form.1panel_api_key.label": "1Panel 接口密钥", + "access.form.1panel_api_key.placeholder": "请输入 1Panel 接口密钥", + "access.form.1panel_api_key.tooltip": "这是什么?请参阅 https://1panel.cn/docs/dev_manual/api_manual/", + "access.form.35cn_username.label": "三五互联代理商用户名", + "access.form.35cn_username.placeholder": "请输入三五互联代理商用户名", + "access.form.35cn_api_password.label": "三五互联代理商 API 密码", + "access.form.35cn_api_password.placeholder": "请输入三五互联代理商 API 密码", + "access.form.35cn_agent.guide": "三五互联 API 仅支持代理商调用。点击下方链接了解更多:
      https://www.35.com/agent/mode-api.asp", + "access.form.acmeca_endpoint.label": "服务端点", + "access.form.acmeca_endpoint.placeholder": "请输入服务端点", + "access.form.acmeca_endpoint.tooltip": "这是什么?请参阅 https://datatracker.ietf.org/doc/html/rfc8555#section-7.1.1", + "access.form.acmeca_eab_kid.label": "ACME EAB KID(可选)", + "access.form.acmeca_eab_kid.placeholder": "请输入 ACME EAB KID", + "access.form.acmeca_eab_hmac_key.label": "ACME EAB HMAC Key(可选)", + "access.form.acmeca_eab_hmac_key.placeholder": "请输入 ACME EAB HMAC Key", + "access.form.acmedns_server_url.label": "ACME-DNS 服务地址", + "access.form.acmedns_server_url.placeholder": "请输入 ACME-DNS 服务地址", + "access.form.acmedns_credentials.label": "ACME-DNS 凭证文件", + "access.form.acmedns_credentials.placeholder": "请输入 ACME-DNS 凭证文件", + "access.form.acmedns_credentials.tooltip": "这是什么?请参阅 https://github.com/joohoi/acme-dns", + "access.form.acmedns_credentials.errmsg.json_invalid": "请输入有效的 JSON 格式字符串", + "access.form.acmehttpreq_endpoint.label": "服务端点", + "access.form.acmehttpreq_endpoint.placeholder": "请输入服务端点", + "access.form.acmehttpreq_endpoint.tooltip": "这是什么?请参阅 https://go-acme.github.io/lego/dns/httpreq/", + "access.form.acmehttpreq_mode.label": "模式", + "access.form.acmehttpreq_mode.placeholder": "请选择模式", + "access.form.acmehttpreq_mode.tooltip": "这是什么?请参阅 https://go-acme.github.io/lego/dns/httpreq/", + "access.form.acmehttpreq_username.label": "HTTP 基本认证用户名(可选)", + "access.form.acmehttpreq_username.placeholder": "请输入 HTTP 基本认证用户名", + "access.form.acmehttpreq_username.tooltip": "这是什么?请参阅 https://go-acme.github.io/lego/dns/httpreq/", + "access.form.acmehttpreq_password.label": "HTTP 基本认证密码(可选)", + "access.form.acmehttpreq_password.placeholder": "请输入 HTTP 基本认证密码", + "access.form.acmehttpreq_password.tooltip": "这是什么?请参阅 https://go-acme.github.io/lego/dns/httpreq/", + "access.form.actalisssl_eab.guide": "点击下方链接了解如何获取 Actalis SSL EAB:
      https://www.actalis.com/manage-with-acme", + "access.form.akamai_host.label": "Akamai API Host", + "access.form.akamai_host.placeholder": "请输入 Akamai API Host", + "access.form.akamai_host.tooltip": "这是什么?请参阅 https://techdocs.akamai.com/developer/docs/set-up-authentication-credentials", + "access.form.akamai_client_token.label": "Akamai ClientToken", + "access.form.akamai_client_token.placeholder": "请输入 Akamai ClientToken", + "access.form.akamai_client_token.tooltip": "这是什么?请参阅 https://techdocs.akamai.com/developer/docs/set-up-authentication-credentials", + "access.form.akamai_client_secret.label": "Akamai ClientSecret", + "access.form.akamai_client_secret.placeholder": "请输入 Akamai ClientSecret", + "access.form.akamai_client_secret.tooltip": "这是什么?请参阅 https://techdocs.akamai.com/developer/docs/set-up-authentication-credentials", + "access.form.akamai_access_token.label": "Akamai AccessToken", + "access.form.akamai_access_token.placeholder": "请输入 Akamai AccessToken", + "access.form.akamai_access_token.tooltip": "这是什么?请参阅 https://techdocs.akamai.com/developer/docs/set-up-authentication-credentials", + "access.form.aliyun_access_key_id.label": "阿里云 AccessKeyID", + "access.form.aliyun_access_key_id.placeholder": "请输入阿里云 AccessKeyID", + "access.form.aliyun_access_key_id.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/ram/user-guide/create-an-accesskey-pair", + "access.form.aliyun_access_key_secret.label": "阿里云 AccessKeySecret", + "access.form.aliyun_access_key_secret.placeholder": "请输入阿里云 AccessKeySecret", + "access.form.aliyun_access_key_secret.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/ram/user-guide/create-an-accesskey-pair", + "access.form.aliyun_resource_group_id.label": "阿里云资源组 ID(可选)", + "access.form.aliyun_resource_group_id.placeholder": "请输入阿里云资源组 ID", + "access.form.aliyun_resource_group_id.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/resource-management/resource-group/product-overview", + "access.form.apisix_server_url.label": "APISIX 服务地址", + "access.form.apisix_server_url.placeholder": "请输入 APISIX 服务地址", + "access.form.apisix_api_key.label": "APISIX Admin API Key", + "access.form.apisix_api_key.placeholder": "请输入 APISIX Admin API Key", + "access.form.apisix_api_key.tooltip": "这是什么?请参阅 https://apisix.apache.org/zh/docs/apisix/admin-api/", + "access.form.arvancloud_api_key.label": "ArvanCloud API 密钥", + "access.form.arvancloud_api_key.placeholder": "请输入 ArvanCloud API 密钥", + "access.form.arvancloud_api_key.tooltip": "这是什么?请参阅 https://docs.arvancloud.ir/en/developer-tools/api/api-key", + "access.form.aws_access_key_id.label": "AWS AccessKeyID", + "access.form.aws_access_key_id.placeholder": "请输入 AWS AccessKeyID", + "access.form.aws_access_key_id.tooltip": "这是什么?请参阅 https://docs.aws.amazon.com/zh_cn/IAM/latest/UserGuide/id_credentials_access-keys.html", + "access.form.aws_secret_access_key.label": "AWS SecretAccessKey", + "access.form.aws_secret_access_key.placeholder": "请输入 AWS SecretAccessKey", + "access.form.aws_secret_access_key.tooltip": "这是什么?请参阅 https://docs.aws.amazon.com/zh_cn/IAM/latest/UserGuide/id_credentials_access-keys.html", + "access.form.azure_tenant_id.label": "Azure 租户 ID", + "access.form.azure_tenant_id.placeholder": "请输入 Azure 租户 ID", + "access.form.azure_tenant_id.tooltip": "这是什么?请参阅 https://learn.microsoft.com/zh-cn/azure/azure-portal/get-subscription-tenant-id", + "access.form.azure_client_id.label": "Azure 客户端 ID", + "access.form.azure_client_id.placeholder": "请输入 Azure 客户端 ID", + "access.form.azure_client_id.tooltip": "这是什么?请参阅 https://learn.microsoft.com/zh-cn/azure/azure-monitor/logs/api/register-app-for-token", + "access.form.azure_client_secret.label": "Azure 客户端密码", + "access.form.azure_client_secret.placeholder": "请输入 Azure 客户端密码", + "access.form.azure_client_secret.tooltip": "这是什么?请参阅 https://learn.microsoft.com/zh-cn/azure/azure-monitor/logs/api/register-app-for-token", + "access.form.azure_cloud_name.label": "Azure 主权云环境(可选)", + "access.form.azure_cloud_name.placeholder": "请输入 Azure 主权云环境(例如:public)", + "access.form.azure_cloud_name.tooltip": "这是什么?请参阅 https://learn.microsoft.com/zh-cn/azure/developer/azure-developer-cli/sovereign-clouds", + "access.form.baiducloud_access_key_id.label": "百度智能云 AccessKeyID", + "access.form.baiducloud_access_key_id.placeholder": "请输入百度智能云 AccessKeyID", + "access.form.baiducloud_access_key_id.tooltip": "这是什么?请参阅 https://cloud.baidu.com/doc/Reference/s/jjwvz2e3p", + "access.form.baiducloud_secret_access_key.label": "百度智能云 SecretAccessKey", + "access.form.baiducloud_secret_access_key.placeholder": "请输入百度智能云 SecretAccessKey", + "access.form.baiducloud_secret_access_key.tooltip": "这是什么?请参阅 https://cloud.baidu.com/doc/Reference/s/jjwvz2e3p", + "access.form.baishan_api_token.label": "白山云 API Token", + "access.form.baishan_api_token.placeholder": "请输入白山云 API Token", + "access.form.baotapanel_server_url.label": "宝塔面板服务地址", + "access.form.baotapanel_server_url.placeholder": "请输入宝塔面板服务地址", + "access.form.baotapanel_server_url.help": "提示:请勿包含安全入口后缀。", + "access.form.baotapanel_api_key.label": "宝塔面板接口密钥", + "access.form.baotapanel_api_key.placeholder": "请输入宝塔面板接口密钥", + "access.form.baotapanel_api_key.tooltip": "这是什么?请参阅 https://www.bt.cn/bbs/thread-113890-1-1.html", + "access.form.baotapanelgo_server_url.label": "宝塔面板极速版服务地址", + "access.form.baotapanelgo_server_url.placeholder": "请输入宝塔面板极速版服务地址", + "access.form.baotapanelgo_server_url.help": "提示:请勿包含安全入口后缀。", + "access.form.baotapanelgo_api_key.label": "宝塔面板极速版接口密钥", + "access.form.baotapanelgo_api_key.placeholder": "请输入宝塔面板极速版接口密钥", + "access.form.baotapanelgo_api_key.tooltip": "这是什么?请参阅 https://www.bt.cn/bbs/thread-113890-1-1.html", + "access.form.baotawaf_server_url.label": "堡塔云 WAF 服务地址", + "access.form.baotawaf_server_url.placeholder": "请输入堡塔云 WAF 服务地址", + "access.form.baotawaf_server_url.help": "提示:请勿包含安全入口后缀。", + "access.form.baotawaf_api_key.label": "堡塔云 WAF 接口密钥", + "access.form.baotawaf_api_key.placeholder": "请输入堡塔云 WAF 接口密钥", + "access.form.baotawaf_api_key.tooltip": "这是什么?请参阅 https://github.com/aaPanel/aaWAF/blob/main/API.md", + "access.form.bookmyname_username.label": "BookMyName 用户名", + "access.form.bookmyname_username.placeholder": "请输入 BookMyName 用户名", + "access.form.bookmyname_password.label": "BookMyName 用户密码", + "access.form.bookmyname_password.placeholder": "请输入 BookMyName 用户密码", + "access.form.bunny_api_key.label": "Bunny API Key", + "access.form.bunny_api_key.placeholder": "请输入 Bunny API Key", + "access.form.bunny_api_key.tooltip": "这是什么?请参阅 https://docs.bunny.net/reference/bunnynet-api-overview", + "access.form.byteplus_access_key.label": "BytePlus AccessKey", + "access.form.byteplus_access_key.placeholder": "请输入 BytePlus AccessKey", + "access.form.byteplus_access_key.tooltip": "这是什么?请参阅 https://docs.byteplus.com/zh-CN/docs/byteplus-platform/docs-managing-keys", + "access.form.byteplus_secret_key.label": "BytePlus SecretKey", + "access.form.byteplus_secret_key.placeholder": "请输入 BytePlus SecretKey", + "access.form.byteplus_secret_key.tooltip": "这是什么?请参阅 https://docs.byteplus.com/zh-CN/docs/byteplus-platform/docs-managing-keys", + "access.form.cachefly_api_token.label": "CacheFly API Token", + "access.form.cachefly_api_token.placeholder": "请输入 CacheFly API Token", + "access.form.cachefly_api_token.tooltip": "这是什么?请参阅 https://kb.cachefly.com/kb/guide/en/generating-tokens-and-keys-Oll9Irt5TI/Steps/2460228", + "access.form.cdnfly_server_url.label": "Cdnfly 服务地址", + "access.form.cdnfly_server_url.placeholder": "请输入 Cdnfly 服务地址", + "access.form.cdnfly_api_key.label": "Cdnfly 用户端 API Key", + "access.form.cdnfly_api_key.placeholder": "请输入 Cdnfly 用户端 API Key", + "access.form.cdnfly_api_key.tooltip": "这是什么?请参阅 https://doc.cdnfly.cn/shiyongjieshao.html", + "access.form.cdnfly_api_secret.label": "Cdnfly 用户端 API Secret", + "access.form.cdnfly_api_secret.placeholder": "请输入 Cdnfly 用户端 API Secret", + "access.form.cdnfly_api_secret.tooltip": "这是什么?请参阅 https://doc.cdnfly.cn/shiyongjieshao.html", + "access.form.cloudflare_dns_api_token.label": "Cloudflare DNS API 令牌", + "access.form.cloudflare_dns_api_token.placeholder": "请输入 Cloudflare DNS API 令牌", + "access.form.cloudflare_dns_api_token.tooltip": "这是什么?请参阅 https://developers.cloudflare.com/fundamentals/api/get-started/create-token/", + "access.form.cloudflare_zone_api_token.label": "Cloudflare Zone API 令牌(可选)", + "access.form.cloudflare_zone_api_token.placeholder": "请输入 Cloudflare Zone API 令牌", + "access.form.cloudflare_zone_api_token.help": "提示:仅当你将 DNS API 令牌范围指定为特定域时需要填写,请将 Zone API 令牌范围指定为全部域,并分配 Zone/Zone/Read 权限。", + "access.form.cloudflare_zone_api_token.tooltip": "这是什么?请参阅 https://developers.cloudflare.com/fundamentals/api/get-started/create-token/", + "access.form.cloudns_auth_id.label": "ClouDNS API 用户 ID", + "access.form.cloudns_auth_id.placeholder": "请输入 ClouDNS API 用户 ID", + "access.form.cloudns_auth_id.tooltip": "这是什么?请参阅 https://www.cloudns.net/wiki/article/42/", + "access.form.cloudns_auth_password.label": "ClouDNS API 用户密码", + "access.form.cloudns_auth_password.placeholder": "请输入 ClouDNS API 用户密码", + "access.form.cloudns_auth_password.tooltip": "这是什么?请参阅 https://www.cloudns.net/wiki/article/42/", + "access.form.cmcccloud_access_key_id.label": "移动云 AccessKeyID", + "access.form.cmcccloud_access_key_id.placeholder": "请输入移动云 AccessKeyID", + "access.form.cmcccloud_access_key_id.tooltip": "这是什么?请参阅 https://ecloud.10086.cn/op-help-center/doc/article/49739", + "access.form.cmcccloud_access_key_secret.label": "移动云 AccessKeySecret", + "access.form.cmcccloud_access_key_secret.placeholder": "请输入移动云 AccessKeySecret", + "access.form.cmcccloud_access_key_secret.tooltip": "这是什么?请参阅 https://ecloud.10086.cn/op-help-center/doc/article/49739", + "access.form.constellix_api_key.label": "Constellix API Key", + "access.form.constellix_api_key.placeholder": "请输入 Constellix API Key", + "access.form.constellix_api_key.tooltip": "这是什么?请参阅 https://support.constellix.com/hc/en-us/articles/34574197390491-How-to-Generate-an-API-Key", + "access.form.constellix_secret_key.label": "Constellix Secret Key", + "access.form.constellix_secret_key.placeholder": "请输入 Constellix Secret Key", + "access.form.constellix_secret_key.tooltip": "这是什么?请参阅 https://support.constellix.com/hc/en-us/articles/34574197390491-How-to-Generate-an-API-Key", + "access.form.ctcccloud_access_key_id.label": "天翼云 AccessKeyID", + "access.form.ctcccloud_access_key_id.placeholder": "请输入天翼云 AccessKeyID", + "access.form.ctcccloud_access_key_id.tooltip": "这是什么?请参阅 https://www.ctyun.cn/document/10015882/10015953", + "access.form.ctcccloud_secret_access_key.label": "天翼云 SecretAccessKey", + "access.form.ctcccloud_secret_access_key.placeholder": "请输入天翼云 SecretAccessKey", + "access.form.ctcccloud_secret_access_key.tooltip": "这是什么?请参阅 https://www.ctyun.cn/document/10015882/10015953", + "access.form.desec_token.label": "deSEC Token", + "access.form.desec_token.placeholder": "请输入 deSEC Token", + "access.form.desec_token.tooltip": "这是什么?请参阅 https://desec.readthedocs.io/en/latest/auth/tokens.html", + "access.form.digitalocean_access_token.label": "DigitalOcean Access Token", + "access.form.digitalocean_access_token.placeholder": "请输入 DigitalOcean Access Token", + "access.form.digitalocean_access_token.tooltip": "这是什么?请参阅 https://docs.digitalocean.com/reference/api/create-personal-access-token/", + "access.form.dingtalkbot_webhook_url.label": "钉钉群机器人 Webhook 地址", + "access.form.dingtalkbot_webhook_url.placeholder": "请输入钉钉群机器人 Webhook 地址", + "access.form.dingtalkbot_webhook_url.tooltip": "这是什么?请参阅 https://open.dingtalk.com/document/orgapp/obtain-the-webhook-address-of-a-custom-robot", + "access.form.dingtalkbot_secret.label": "钉钉群机器人签名密钥(可选)", + "access.form.dingtalkbot_secret.placeholder": "请输入钉钉群机器人签名密钥", + "access.form.dingtalkbot_secret.tooltip": "这是什么?请参阅 https://open.dingtalk.com/document/orgapp/customize-robot-security-settings", + "access.form.discordbot_token.label": "Discord 机器人 API Token", + "access.form.discordbot_token.placeholder": "请输入 Discord 机器人 API Token", + "access.form.discordbot_token.tooltip": "这是什么?请参阅 https://docs.discordbotstudio.org/setting-up-dbs/finding-your-bot-token", + "access.form.discordbot_channel_id.label": "Discord 频道 ID(可选)", + "access.form.discordbot_channel_id.placeholder": "请输入默认的 Discord 频道 ID", + "access.form.discordbot_channel_id.help": "提示:可在工作流中覆盖此设置。", + "access.form.discordbot_channel_id.tooltip": "这是什么?请参阅 https://support.discord.com/hc/en-us/articles/206346498-Where-can-I-find-my-User-Server-Message-ID", + "access.form.dnsmadeeasy_api_key.label": "DNS Made Easy API Key", + "access.form.dnsmadeeasy_api_key.placeholder": "请输入 DNS Made Easy API Key", + "access.form.dnsmadeeasy_api_key.tooltip": "这是什么?请参阅 https://api-docs.dnsmadeeasy.com/#Authentication", + "access.form.dnsmadeeasy_api_secret.label": "DNS Made Easy API Secret", + "access.form.dnsmadeeasy_api_secret.placeholder": "请输入 DNS Made Easy API Secret", + "access.form.dnsmadeeasy_api_secret.tooltip": "这是什么?请参阅 https://api-docs.dnsmadeeasy.com/#Authentication", + "access.form.dnsla_api_id.label": "DNS.LA API ID", + "access.form.dnsla_api_id.placeholder": "请输入 DNS.LA API ID", + "access.form.dnsla_api_id.tooltip": "这是什么?请参阅 https://www.dns.la/docs/ApiDoc", + "access.form.dnsla_api_secret.label": "DNS.LA API 密钥", + "access.form.dnsla_api_secret.placeholder": "请输入 DNS.LA API 密钥", + "access.form.dnsla_api_secret.tooltip": "这是什么?请参阅 https://www.dns.la/docs/ApiDoc", + "access.form.dogecloud_access_key.label": "多吉云 AccessKey", + "access.form.dogecloud_access_key.placeholder": "请输入多吉云 AccessKey", + "access.form.dogecloud_access_key.tooltip": "这是什么?请参阅 https://console.dogecloud.com/", + "access.form.dogecloud_secret_key.label": "多吉云 SecretKey", + "access.form.dogecloud_secret_key.placeholder": "请输入多吉云 SecretKey", + "access.form.dogecloud_secret_key.tooltip": "这是什么?请参阅 https://console.dogecloud.com/", + "access.form.duckdns_token.label": "DuckDNS Token", + "access.form.duckdns_token.placeholder": "请输入 DuckDNS Token", + "access.form.duckdns_token.tooltip": "这是什么?请参阅 https://www.duckdns.org/spec.jsp", + "access.form.dynu_api_key.label": "Dynu API Key", + "access.form.dynu_api_key.placeholder": "请输入 Dynu API Key", + "access.form.dynu_api_key.tooltip": "这是什么?请参阅 https://www.dynu.com/Support/API#Authentication", + "access.form.dynv6_http_token.label": "dynv6 HTTP Token", + "access.form.dynv6_http_token.placeholder": "请输入 dynv6 HTTP Token", + "access.form.dynv6_http_token.tooltip": "这是什么?请参阅 https://dynv6.com/keys", + "access.form.email_smtp_host.label": "SMTP 服务器地址", + "access.form.email_smtp_host.placeholder": "请输入 SMTP 服务器地址", + "access.form.email_smtp_port.label": "SMTP 服务器端口", + "access.form.email_smtp_port.placeholder": "请输入 SMTP 服务器端口", + "access.form.email_smtp_tls.label": "连接安全性", + "access.form.email_smtp_tls.placeholder": "请选择连接安全性", + "access.form.email_smtp_tls.option.true.label": "强制 SSL/TLS 连接", + "access.form.email_smtp_tls.option.false.label": "优先 STARTTLS,失败则回退为明文连接", + "access.form.email_username.label": "用户名", + "access.form.email_username.placeholder": "请输入用户名", + "access.form.email_password.label": "密码", + "access.form.email_password.placeholder": "请输入密码", + "access.form.email_sender_address.label": "发件人邮箱", + "access.form.email_sender_address.placeholder": "请输入发件人邮箱", + "access.form.email_sender_name.label": "发件人名称(可选)", + "access.form.email_sender_name.placeholder": "请输入发件人名称", + "access.form.email_receiver_address.label": "收件人邮箱(可选)", + "access.form.email_receiver_address.placeholder": "请输入默认的收件人邮箱", + "access.form.email_receiver_address.help": "提示:可在工作流中覆盖此设置。", + "access.form.flexcdn_server_url.label": "FlexCDN 服务地址", + "access.form.flexcdn_server_url.placeholder": "请输入 FlexCDN 服务地址", + "access.form.flexcdn_api_role.label": "FlexCDN 用户角色", + "access.form.flexcdn_api_role.placeholder": "请选择 FlexCDN 用户角色", + "access.form.flexcdn_api_role.option.user.label": "平台用户", + "access.form.flexcdn_api_role.option.admin.label": "系统管理员", + "access.form.flexcdn_access_key_id.label": "FlexCDN AccessKeyID", + "access.form.flexcdn_access_key_id.placeholder": "请输入 FlexCDN AccessKeyID", + "access.form.flexcdn_access_key_id.tooltip": "这是什么?请参阅 https://flexcdn.cn/docs/api/auth", + "access.form.flexcdn_access_key.label": "FlexCDN AccessKey", + "access.form.flexcdn_access_key.placeholder": "请输入 FlexCDN AccessKey", + "access.form.flexcdn_access_key.tooltip": "这是什么?请参阅 https://flexcdn.cn/docs/api/auth", + "access.form.gandinet_personal_access_token.label": "Gandi.net Personal Access Token", + "access.form.gandinet_personal_access_token.placeholder": "请输入 Gandi.net Personal Access Token", + "access.form.gandinet_personal_access_token.tooltip": "这是什么?请参阅 https://api.gandi.net/docs/authentication/", + "access.form.gcore_api_token.label": "G-Core API Token", + "access.form.gcore_api_token.placeholder": "请输入 G-Core API Token", + "access.form.gcore_api_token.tooltip": "这是什么?请参阅 https://api.gcore.com/docs/iam#section/Authentication", + "access.form.gname_app_id.label": "GNAME AppID", + "access.form.gname_app_id.placeholder": "请输入 GNAME AppID", + "access.form.gname_app_id.tooltip": "这是什么?请参阅 https://www.gname.com/user#/dealer_api", + "access.form.gname_app_key.label": "GNAME AppKey", + "access.form.gname_app_key.placeholder": "请输入 GNAME AppKey", + "access.form.gname_app_key.tooltip": "这是什么?请参阅 https://www.gname.com/user#/dealer_api", + "access.form.godaddy_api_key.label": "GoDaddy API Key", + "access.form.godaddy_api_key.placeholder": "请输入 GoDaddy API Key", + "access.form.godaddy_api_key.tooltip": "这是什么?请参阅 https://developer.godaddy.com/", + "access.form.godaddy_api_secret.label": "GoDaddy API Secret", + "access.form.godaddy_api_secret.placeholder": "请输入 GoDaddy API Secret", + "access.form.godaddy_api_secret.tooltip": "这是什么?请参阅 https://developer.godaddy.com/", + "access.form.goedge_server_url.label": "GoEdge 服务地址", + "access.form.goedge_server_url.placeholder": "请输入 GoEdge 服务地址", + "access.form.goedge_api_role.label": "GoEdge 用户角色", + "access.form.goedge_api_role.placeholder": "请选择 GoEdge 用户角色", + "access.form.goedge_api_role.option.user.label": "平台用户", + "access.form.goedge_api_role.option.admin.label": "系统管理员", + "access.form.goedge_access_key_id.label": "GoEdge AccessKeyID", + "access.form.goedge_access_key_id.placeholder": "请输入 GoEdge AccessKeyID", + "access.form.goedge_access_key_id.tooltip": "这是什么?请参阅 https://goedge.cloud/docs/API/Auth.md", + "access.form.goedge_access_key.label": "GoEdge AccessKey", + "access.form.goedge_access_key.placeholder": "请输入 GoEdge AccessKey", + "access.form.goedge_access_key.tooltip": "这是什么?请参阅 https://goedge.cloud/docs/API/Auth.md", + "access.form.globalsignatlas_eab.guide": "点击下方链接了解如何获取 GlobalSign Atlas EAB:
      https://globalsign.cn/acme-automated-certificate-management", + "access.form.googletrustservices_eab.guide": "点击下方链接了解如何获取 Google Trust Services EAB:
      https://cloud.google.com/certificate-manager/docs/public-ca-tutorial", + "access.form.hetzner_api_token.label": "Hetzner API Token", + "access.form.hetzner_api_token.placeholder": "请输入 Hetzner API Token", + "access.form.hetzner_api_token.tooltip": "这是什么?请参阅 https://docs.hetzner.com/cloud/api/getting-started/generating-api-token", + "access.form.hostingde_api_key.label": "hosting.de API Key", + "access.form.hostingde_api_key.placeholder": "请输入 hosting.de API Key", + "access.form.hostingde_api_key.tooltip": "这是什么?请参阅 https://www.hosting.de/api/#requests-and-authentication", + "access.form.hostinger_api_token.label": "Hostinger API Token", + "access.form.hostinger_api_token.placeholder": "请输入 Hostinger API Token", + "access.form.hostinger_api_token.tooltip": "这是什么?请参阅 https://developers.hostinger.com/#description/authentication", + "access.form.huaweicloud_access_key_id.label": "华为云 AccessKeyID", + "access.form.huaweicloud_access_key_id.placeholder": "请输入华为云 AccessKeyID", + "access.form.huaweicloud_access_key_id.tooltip": "这是什么?请参阅 https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html", + "access.form.huaweicloud_secret_access_key.label": "华为云 SecretAccessKey", + "access.form.huaweicloud_secret_access_key.placeholder": "请输入华为云 SecretAccessKey", + "access.form.huaweicloud_secret_access_key.tooltip": "这是什么?请参阅 https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html", + "access.form.huaweicloud_enterprise_project_id.label": "华为云企业项目 ID(可选)", + "access.form.huaweicloud_enterprise_project_id.placeholder": "请输入华为云企业项目 ID", + "access.form.huaweicloud_enterprise_project_id.tooltip": "这是什么?请参阅 https://support.huaweicloud.com/usermanual-em/zh-cn_topic_0126101490.html", + "access.form.infomaniak_access_token.label": "Infomaniak AccessToken", + "access.form.infomaniak_access_token.placeholder": "请输入 Infomaniak AccessToken", + "access.form.infomaniak_access_token.tooltip": "这是什么?请参阅 https://manager.infomaniak.com/v3/infomaniak-api", + "access.form.ionos_api_key_public_prefix.label": "IONOS API Key Public Prefix", + "access.form.ionos_api_key_public_prefix.placeholder": "请输入 IONOS API Key Public Prefix", + "access.form.ionos_api_key_public_prefix.tooltip": "这是什么?请参阅 https://developer.hosting.ionos.com/docs/getstarted", + "access.form.ionos_api_key_secret.label": "IONOS API Key Secret", + "access.form.ionos_api_key_secret.placeholder": "请输入 IONOS API Key Secret", + "access.form.ionos_api_key_secret.tooltip": "这是什么?请参阅 https://developer.hosting.ionos.com/docs/getstarted", + "access.form.jdcloud_access_key_id.label": "京东云 AccessKeyID", + "access.form.jdcloud_access_key_id.placeholder": "请输入京东云 AccessKeyID", + "access.form.jdcloud_access_key_id.tooltip": "这是什么?请参阅 https://docs.jdcloud.com/cn/account-management/accesskey-management", + "access.form.jdcloud_access_key_secret.label": "京东云 AccessKeySecret", + "access.form.jdcloud_access_key_secret.placeholder": "请输入京东云 AccessKeySecret", + "access.form.jdcloud_access_key_secret.tooltip": "这是什么?请参阅 https://docs.jdcloud.com/cn/account-management/accesskey-management", + "access.form.k8s_kubeconfig.label": "KubeConfig(可选)", + "access.form.k8s_kubeconfig.placeholder": "请输入 KubeConfig 文件内容", + "access.form.k8s_kubeconfig.help": "提示:不填写时,将使用 Pod 的 ServiceAccount 作为凭证。", + "access.form.k8s_kubeconfig.tooltip": "这是什么?请参阅 https://kubernetes.io/zh-cn/docs/concepts/configuration/organize-cluster-access-kubeconfig/", + "access.form.kong_server_url.label": "Kong Admin API 服务地址", + "access.form.kong_server_url.placeholder": "请输入 Kong Admin API 服务地址", + "access.form.kong_api_token.label": "Kong Admin API Token(可选)", + "access.form.kong_api_token.placeholder": "请输入 Kong Admin API Token", + "access.form.kong_api_token.tooltip": "这是什么?请参阅 https://developer.konghq.com/admin-api/", + "access.form.ksyun_access_key_id.label": "金山云 AccessKeyID", + "access.form.ksyun_access_key_id.placeholder": "请输入金山云 AccessKeyID", + "access.form.ksyun_access_key_id.tooltip": "这是什么?请参阅 https://docs.ksyun.com/documents/39976", + "access.form.ksyun_secret_access_key.label": "金山云 SecretAccessKey", + "access.form.ksyun_secret_access_key.placeholder": "请输入金山云 SecretAccessKey", + "access.form.ksyun_secret_access_key.tooltip": "这是什么?请参阅 https://docs.ksyun.com/documents/39976", + "access.form.larkbot_webhook_url.label": "飞书群机器人 Webhook 地址", + "access.form.larkbot_webhook_url.placeholder": "请输入飞书群机器人 Webhook 地址", + "access.form.larkbot_webhook_url.tooltip": "这是什么?请参阅 https://open.feishu.cn/document/client-docs/bot-v3/add-custom-bot", + "access.form.larkbot_secret.label": "飞书群机器人签名密钥(可选)", + "access.form.larkbot_secret.placeholder": "请输入飞书群机器人签名密钥", + "access.form.larkbot_secret.tooltip": "这是什么?请参阅 https://open.feishu.cn/document/client-docs/bot-v3/add-custom-bot", + "access.form.lecdn_server_url.label": "LeCDN 服务地址", + "access.form.lecdn_server_url.placeholder": "请输入 LeCDN 服务地址", + "access.form.lecdn_api_version.label": "LeCDN 版本", + "access.form.lecdn_api_version.placeholder": "请选择 LeCDN 版本", + "access.form.lecdn_api_role.label": "LeCDN 用户角色", + "access.form.lecdn_api_role.placeholder": "请选择 LeCDN 用户角色", + "access.form.lecdn_api_role.option.client.label": "客户用户", + "access.form.lecdn_api_role.option.master.label": "主控管理员", + "access.form.lecdn_username.label": "LeCDN 用户名", + "access.form.lecdn_username.placeholder": "请输入 LeCDN 用户名", + "access.form.lecdn_password.label": "LeCDN 用户密码", + "access.form.lecdn_password.placeholder": "请输入 LeCDN 用户密码", + "access.form.linode_access_token.label": "Linode AccessToken", + "access.form.linode_access_token.placeholder": "请输入 Linode AccessToken", + "access.form.linode_access_token.tooltip": "这是什么?请参阅 https://techdocs.akamai.com/linode-api/reference/get-started", + "access.form.litessl_eab.guide": "点击下方链接了解如何获取 LiteSSL EAB:
      https://freessl.cn/automation/eab-manager", + "access.form.mattermost_server_url.label": "Mattermost 服务地址", + "access.form.mattermost_server_url.placeholder": "请输入 Mattermost 服务地址", + "access.form.mattermost_username.label": "Mattermost 用户名", + "access.form.mattermost_username.placeholder": "请输入 Mattermost 用户名", + "access.form.mattermost_password.label": "Mattermost 密码", + "access.form.mattermost_password.placeholder": "请输入 Mattermost 密码", + "access.form.mattermost_channel_id.label": "Mattermost 频道 ID(可选)", + "access.form.mattermost_channel_id.placeholder": "请输入默认的 Mattermost 频道 ID", + "access.form.mattermost_channel_id.help": "提示:可在工作流中覆盖此设置。", + "access.form.mattermost_channel_id.tooltip": "如何获取此参数?从左侧边栏中选择目标频道,点击顶部的频道名称,选择“频道详情”,即可在弹出页面中直接看到频道 ID。", + "access.form.mohua_username.label": "Mohua Cloud username", + "access.form.mohua_username.placeholder": "Please enter MoHua Cloud username", + "access.form.mohua_api_password.label": "Mohua Cloud API password", + "access.form.mohua_api_password.placeholder": "Please enter Mohua Cloud API password", + "access.form.mohua_api_password.tooltip": "For more information, see https://cloud.mhjz1.cn/apimanage", + "access.form.namecheap_username.label": "Namecheap 用户名", + "access.form.namecheap_username.placeholder": "请输入 Namecheap 用户名", + "access.form.namecheap_username.tooltip": "这是什么?请参阅 https://www.namecheap.com/support/api/intro/", + "access.form.namecheap_api_key.label": "Namecheap API Key", + "access.form.namecheap_api_key.placeholder": "请输入 Namecheap API Key", + "access.form.namecheap_api_key.tooltip": "这是什么?请参阅 https://www.namecheap.com/support/api/intro/", + "access.form.namedotcom_username.label": "Name.com 用户名", + "access.form.namedotcom_username.placeholder": "请输入 Name.com 用户名", + "access.form.namedotcom_username.tooltip": "这是什么?请参阅 https://www.name.com/account/settings/api", + "access.form.namedotcom_api_token.label": "Name.com API Token", + "access.form.namedotcom_api_token.placeholder": "请输入 Name.com API Token", + "access.form.namedotcom_api_token.tooltip": "这是什么?请参阅 https://www.name.com/support/articles/31142639244819-how-to-manage-your-api-tokens", + "access.form.namesilo_api_key.label": "NameSilo API Key", + "access.form.namesilo_api_key.placeholder": "请输入 NameSilo API Key", + "access.form.namesilo_api_key.tooltip": "这是什么?请参阅 https://www.namesilo.com/support/v2/articles/account-options/api-manager", + "access.form.netlify_api_token.label": "Netlify API Token", + "access.form.netlify_api_token.placeholder": "请输入 Netlify API Token", + "access.form.netlify_api_token.tooltip": "这是什么?请参阅 https://docs.netlify.com/api/get-started/#authentication", + "access.form.netcup_customer_number.label": "netcup 客户编号", + "access.form.netcup_customer_number.placeholder": "请输入 netcup 客户编号", + "access.form.netcup_customer_number.tooltip": "这是什么?请参阅 https://helpcenter.netcup.com/en/wiki/general/ccp-login/", + "access.form.netcup_api_key.label": "netcup API Key", + "access.form.netcup_api_key.placeholder": "请输入 netcup API Key", + "access.form.netcup_api_key.tooltip": "这是什么?请参阅 https://helpcenter.netcup.com/en/wiki/general/our-api/", + "access.form.netcup_api_password.label": "netcup API Key 密码", + "access.form.netcup_api_password.placeholder": "请输入 netcup API Key 密码", + "access.form.netcup_api_password.tooltip": "这是什么?请参阅 https://helpcenter.netcup.com/en/wiki/general/our-api/", + "access.form.ns1_api_key.label": "NS1 API Key", + "access.form.ns1_api_key.placeholder": "请输入 NS1 API Key", + "access.form.ns1_api_key.tooltip": "这是什么?请参阅 https://www.ibm.com/docs/zh/ns1-connect?topic=introduction-using-api", + "access.form.ovhcloud_endpoint.label": "OVHcloud API 端点", + "access.form.ovhcloud_endpoint.placeholder": "请输入 OVHcloud API 端点", + "access.form.ovhcloud_auth_method.label": "OVHcloud API 认证方式", + "access.form.ovhcloud_auth_method.placeholder": "请选择 OVHcloud API 认证方式", + "access.form.ovhcloud_auth_method.option.application.label": "Application Key & Secret", + "access.form.ovhcloud_auth_method.option.oauth2.label": "OAuth2 Client Credentials", + "access.form.ovhcloud_application_key.label": "OVHcloud Application Key", + "access.form.ovhcloud_application_key.placeholder": "请输入 OVHcloud Application Key", + "access.form.ovhcloud_application_key.tooltip": "这是什么?请参阅 https://docs.ovh.com/gb/en/customer/first-steps-with-ovh-api/", + "access.form.ovhcloud_application_secret.label": "OVHcloud Application Secret", + "access.form.ovhcloud_application_secret.placeholder": "请输入 OVHcloud Application Secret", + "access.form.ovhcloud_application_secret.tooltip": "这是什么?请参阅 https://docs.ovh.com/gb/en/customer/first-steps-with-ovh-api/", + "access.form.ovhcloud_consumer_key.label": "OVHcloud Consumer Key", + "access.form.ovhcloud_consumer_key.placeholder": "请输入 OVHcloud Consumer Key", + "access.form.ovhcloud_consumer_key.tooltip": "这是什么?请参阅 https://docs.ovh.com/gb/en/customer/first-steps-with-ovh-api/", + "access.form.ovhcloud_client_id.label": "OVHcloud Client ID", + "access.form.ovhcloud_client_id.placeholder": "请输入 OVHcloud Client ID", + "access.form.ovhcloud_client_id.tooltip": "这是什么?请参阅 https://help.ovhcloud.com/csm/en-manage-service-account?id=kb_article_view&sysparm_article=KB0059343", + "access.form.ovhcloud_client_secret.label": "OVHcloud Client Cecret", + "access.form.ovhcloud_client_secret.placeholder": "请输入 OVHcloud Client Secret", + "access.form.ovhcloud_client_secret.tooltip": "这是什么?请参阅 https://help.ovhcloud.com/csm/en-manage-service-account?id=kb_article_view&sysparm_article=KB0059343", + "access.form.porkbun_api_key.label": "Porkbun API Key", + "access.form.porkbun_api_key.placeholder": "请输入 Porkbun API Key", + "access.form.porkbun_api_key.tooltip": "这是什么?请参阅 https://porkbun.com/api/json/v3/documentation", + "access.form.porkbun_secret_api_key.label": "Porkbun Secret API Key", + "access.form.porkbun_secret_api_key.placeholder": "请输入 Porkbun Secret API Key", + "access.form.porkbun_secret_api_key.tooltip": "这是什么?请参阅 https://porkbun.com/api/json/v3/documentation", + "access.form.powerdns_server_url.label": "PowerDNS 服务地址", + "access.form.powerdns_server_url.placeholder": "请输入 PowerDNS 服务地址", + "access.form.powerdns_api_key.label": "PowerDNS API Key", + "access.form.powerdns_api_key.placeholder": "请输入 PowerDNS API Key", + "access.form.powerdns_api_key.tooltip": "这是什么?请参阅 https://doc.powerdns.com/authoritative/http-api/index.html#enabling-the-api", + "access.form.proxmoxve_server_url.label": "Proxmox VE 服务地址", + "access.form.proxmoxve_server_url.placeholder": "请输入 Proxmox VE 服务地址", + "access.form.proxmoxve_api_token.label": "Proxmox VE API Token", + "access.form.proxmoxve_api_token.placeholder": "请输入 Proxmox VE API Token", + "access.form.proxmoxve_api_token.tooltip": "这是什么?请参阅 https://pve.proxmox.com/pve-docs/pve-admin-guide.html#pveum_tokens", + "access.form.proxmoxve_api_token_secret.label": "Proxmox VE API Token Secret(可选)", + "access.form.proxmoxve_api_token_secret.placeholder": "请输入 Proxmox VE API Token Secret", + "access.form.proxmoxve_api_token_secret.tooltip": "这是什么?请参阅 https://pve.proxmox.com/pve-docs/pve-admin-guide.html#pveum_tokens", + "access.form.qingcloud_access_key_id.label": "青云 AccessKeyID", + "access.form.qingcloud_access_key_id.placeholder": "请输入青云 AccessKeyID", + "access.form.qingcloud_access_key_id.tooltip": "这是什么?请参阅 https://console.qingcloud.com/access_keys/", + "access.form.qingcloud_secret_access_key.label": "青云 SecretAccessKey", + "access.form.qingcloud_secret_access_key.placeholder": "请输入青云 SecretAccessKey", + "access.form.qingcloud_secret_access_key.tooltip": "这是什么?请参阅 https://console.qingcloud.com/access_keys/", + "access.form.qiniu_access_key.label": "七牛云 AccessKey", + "access.form.qiniu_access_key.placeholder": "请输入七牛云 AccessKey", + "access.form.qiniu_access_key.tooltip": "这是什么?请参阅 https://portal.qiniu.com/", + "access.form.qiniu_secret_key.label": "七牛云 SecretKey", + "access.form.qiniu_secret_key.placeholder": "请输入七牛云 SecretKey", + "access.form.qiniu_secret_key.tooltip": "这是什么?请参阅 https://portal.qiniu.com/", + "access.form.rainyun_api_key.label": "雨云 API 密钥", + "access.form.rainyun_api_key.placeholder": "请输入雨云 API 密钥", + "access.form.rainyun_api_key.tooltip": "这是什么?请参阅 https://app.rainyun.com/account/settings/api-key", + "access.form.ratpanel_server_url.label": "耗子面板服务地址", + "access.form.ratpanel_server_url.placeholder": "请输入耗子面板服务地址", + "access.form.ratpanel_server_url.help": "提示:请勿包含安全入口后缀。", + "access.form.ratpanel_access_token_id.label": "耗子面板 AccessToken ID", + "access.form.ratpanel_access_token_id.placeholder": "请输入耗子面板 AccessToken ID", + "access.form.ratpanel_access_token_id.tooltip": "这是什么?请参阅 https://ratpanel.github.io/advanced/api.html", + "access.form.ratpanel_access_token.label": "耗子面板 AccessToken", + "access.form.ratpanel_access_token.placeholder": "请输入耗子面板 AccessToken", + "access.form.ratpanel_access_token.tooltip": "这是什么?请参阅 https://ratpanel.github.io/advanced/api.html", + "access.form.rfc2136_host.label": "DNS 服务器地址", + "access.form.rfc2136_host.placeholder": "请输入 DNS 服务器地址", + "access.form.rfc2136_port.label": "DNS 服务器端口", + "access.form.rfc2136_port.placeholder": "请输入 DNS 服务器端口", + "access.form.rfc2136_tsig_algorithm.label": "TSIG 算法", + "access.form.rfc2136_tsig_algorithm.placeholder": "请选择 TSIG 算法", + "access.form.rfc2136_tsig_key.label": "TSIG 认证密钥 Key(可选)", + "access.form.rfc2136_tsig_key.placeholder": "请输入 TSIG 认证密钥 Key", + "access.form.rfc2136_tsig_secret.label": "TSIG 认证密钥 Secret(可选)", + "access.form.rfc2136_tsig_secret.placeholder": "请输入 TSIG 认证密钥 Secret", + "access.form.safeline_server_url.label": "雷池服务地址", + "access.form.safeline_server_url.placeholder": "请输入雷池服务地址", + "access.form.safeline_api_token.label": "雷池 API Token", + "access.form.safeline_api_token.placeholder": "请输入雷池 API Token", + "access.form.safeline_api_token.tooltip": "这是什么?请参阅 https://docs.waf-ce.chaitin.cn/zh/更多技术文档/OPENAPI", + "access.form.sectigo_validation_type.label": "域名验证类型", + "access.form.sectigo_validation_type.placeholder": "请选择域名验证类型", + "access.form.sectigo_validation_type.option.dv.label": "DV(域名型)", + "access.form.sectigo_validation_type.option.ov.label": "OV(企业型)", + "access.form.sectigo_validation_type.option.ev.label": "EV(增强型)", + "access.form.sectigo_eab.guide": "点击下方链接了解如何获取 Sectigo EAB:
      https://www.sectigo.com/enterprise-solutions/certificate-manager/integrations-acme", + "access.form.slackbot_token.label": "Slack 机器人 Token", + "access.form.slackbot_token.placeholder": "请输入 Slack 机器人 Token", + "access.form.slackbot_token.tooltip": "这是什么?请参阅 https://docs.slack.dev/authentication/tokens#bot", + "access.form.slackbot_channel_id.label": "Slack 频道 ID(可选)", + "access.form.slackbot_channel_id.placeholder": "请输入默认的 Slack 频道 ID", + "access.form.slackbot_channel_id.help": "提示:可在工作流中覆盖此设置。", + "access.form.slackbot_channel_id.tooltip": "如何获取此参数?请参阅 https://www.youtube.com/watch?v=Uz5Yi5C2pwQ", + "access.form.spaceship_api_key.label": "Spaceship API Key", + "access.form.spaceship_api_key.placeholder": "请输入 Spaceship API Key", + "access.form.spaceship_api_key.tooltip": "这是什么?请参阅 https://www.spaceship.com/application/api-manager/", + "access.form.spaceship_api_secret.label": "Spaceship API Secret", + "access.form.spaceship_api_secret.placeholder": "请输入 Spaceship API Secret", + "access.form.spaceship_api_secret.tooltip": "这是什么?请参阅 https://www.spaceship.com/application/api-manager/", + "access.form.ssh_host.label": "服务器地址", + "access.form.ssh_host.placeholder": "请输入服务器地址", + "access.form.ssh_port.label": "服务器端口", + "access.form.ssh_port.placeholder": "请输入服务器端口", + "access.form.ssh_auth_method.label": "认证方式", + "access.form.ssh_auth_method.placeholder": "请选择认证方式", + "access.form.ssh_auth_method.option.none.label": "无", + "access.form.ssh_auth_method.option.password.label": "密码", + "access.form.ssh_auth_method.option.key.label": "SSH 密钥", + "access.form.ssh_username.label": "用户名", + "access.form.ssh_username.placeholder": "请输入用户名", + "access.form.ssh_password.label": "密码", + "access.form.ssh_password.placeholder": "请输入密码", + "access.form.ssh_key.label": "SSH 密钥", + "access.form.ssh_key.placeholder": "请输入 SSH 密钥文件内容", + "access.form.ssh_key_passphrase.label": "SSH 密钥口令(可选)", + "access.form.ssh_key_passphrase.placeholder": "请输入 SSH 密钥口令", + "access.form.ssh_jump_servers.label": "跳板机(可选)", + "access.form.ssh_jump_servers.errmsg.invalid": "请配置有效的跳板机信息", + "access.form.ssh_jump_servers.item.label": "跳板机", + "access.form.ssh_jump_servers.add": "添加跳板机", + "access.form.sslcom_eab.guide": "点击下方链接了解如何获取 SSL.com EAB:
      https://www.ssl.com/how-to/generate-acme-credentials-for-reseller-customers/", + "access.form.technitiumdns_server_url.label": "Technitium DNS 服务地址", + "access.form.technitiumdns_server_url.placeholder": "请输入 Technitium DNS 服务地址", + "access.form.technitiumdns_api_token.label": "Technitium DNS API Token", + "access.form.technitiumdns_api_token.placeholder": "请输入 Technitium DNS API Token", + "access.form.technitiumdns_api_token.tooltip": "这是什么?请参阅 https://github.com/TechnitiumSoftware/DnsServer/blob/master/APIDOCS.md", + "access.form.telegrambot_token.label": "Telegram 机器人 API Token", + "access.form.telegrambot_token.placeholder": "请输入 Telegram 机器人 API Token", + "access.form.telegrambot_token.tooltip": "如何获取此参数?请参阅 https://gist.github.com/nafiesl/4ad622f344cd1dc3bb1ecbe468ff9f8a", + "access.form.telegrambot_chat_id.label": "Telegram 会话 ID(可选)", + "access.form.telegrambot_chat_id.placeholder": "请输入默认的 Telegram 会话 ID", + "access.form.telegrambot_chat_id.help": "提示:可在工作流中覆盖此设置。", + "access.form.telegrambot_chat_id.tooltip": "如何获取此参数?请参阅 https://gist.github.com/nafiesl/4ad622f344cd1dc3bb1ecbe468ff9f8a", + "access.form.tencentcloud_secret_id.label": "腾讯云 SecretID", + "access.form.tencentcloud_secret_id.placeholder": "请输入腾讯云 SecretID", + "access.form.tencentcloud_secret_id.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/598/40488", + "access.form.tencentcloud_secret_key.label": "腾讯云 SecretKey", + "access.form.tencentcloud_secret_key.placeholder": "请输入腾讯云 SecretKey", + "access.form.tencentcloud_secret_key.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/598/40488", + "access.form.ucloud_private_key.label": "优刻得 API 私钥", + "access.form.ucloud_private_key.placeholder": "请输入优刻得 API 私钥", + "access.form.ucloud_private_key.tooltip": "这是什么?请参阅 https://console.ucloud.cn/uaccount/api_manage", + "access.form.ucloud_public_key.label": "优刻得 API 公钥", + "access.form.ucloud_public_key.placeholder": "请输入优刻得 API 公钥", + "access.form.ucloud_public_key.tooltip": "这是什么?请参阅 https://console.ucloud.cn/uaccount/api_manage", + "access.form.ucloud_project_id.label": "优刻得项目 ID(可选)", + "access.form.ucloud_project_id.placeholder": "请输入优刻得项目 ID", + "access.form.ucloud_project_id.tooltip": "这是什么?请参阅 https://console.ucloud.cn/uaccount/iam/project_manage", + "access.form.unicloud_username.label": "uniCloud 控制台账号", + "access.form.unicloud_username.placeholder": "请输入 uniCloud 控制台账号", + "access.form.unicloud_password.label": "uniCloud 控制台密码", + "access.form.unicloud_password.placeholder": "请输入 uniCloud 控制台密码", + "access.form.upyun_username.label": "又拍云子账号用户名", + "access.form.upyun_username.placeholder": "请输入又拍云子账号用户名", + "access.form.upyun_username.tooltip": "这是什么?请参阅 https://console.upyun.com/account/subaccount/
      请关闭该账号的二次登录验证。", + "access.form.upyun_password.label": "又拍云子账号密码", + "access.form.upyun_password.placeholder": "请输入又拍云子账号密码", + "access.form.upyun_password.tooltip": "这是什么?请参阅 https://console.upyun.com/account/subaccount/
      请关闭该账号的二次登录验证。", + "access.form.vercel_api_access_token.label": "Vercel API Access Token", + "access.form.vercel_api_access_token.placeholder": "请输入 Vercel API Access Token", + "access.form.vercel_api_access_token.tooltip": "这是什么?请参阅 https://vercel.com/guides/how-do-i-use-a-vercel-api-access-token", + "access.form.vercel_team_id.label": "Vercel 团队 ID(可选)", + "access.form.vercel_team_id.placeholder": "请输入 Vercel 团队 ID", + "access.form.vercel_team_id.tooltip": "这是什么?请参阅 https://vercel.com/docs/accounts#find-your-team-id", + "access.form.volcengine_access_key_id.label": "火山引擎 AccessKeyID", + "access.form.volcengine_access_key_id.placeholder": "请输入火山引擎 AccessKeyID", + "access.form.volcengine_access_key_id.tooltip": "这是什么?请参阅 https://www.volcengine.com/docs/6291/216571", + "access.form.volcengine_secret_access_key.label": "火山引擎 SecretAccessKey", + "access.form.volcengine_secret_access_key.placeholder": "请输入火山引擎 SecretAccessKey", + "access.form.volcengine_secret_access_key.tooltip": "这是什么?请参阅 https://www.volcengine.com/docs/6291/216571", + "access.form.vultr_api_key.label": "Vultr API Key", + "access.form.vultr_api_key.placeholder": "请输入 Vultr API Key", + "access.form.vultr_api_key.tooltip": "这是什么?请参阅 https://docs.vultr.com/platform/other/users/manage-users/api-access/regenerate-user-api-key", + "access.form.wangsu_access_key_id.label": "网宿云 AccessKeyID", + "access.form.wangsu_access_key_id.placeholder": "请输入网宿云 AccessKeyID", + "access.form.wangsu_access_key_id.tooltip": "这是什么?请参阅 https://www.wangsu.com/document/account-manage/15775", + "access.form.wangsu_access_key_secret.label": "网宿云 AccessKeySecret", + "access.form.wangsu_access_key_secret.placeholder": "请输入网宿云 AccessKeySecret", + "access.form.wangsu_access_key_secret.tooltip": "这是什么?请参阅 https://www.wangsu.com/document/account-manage/15775", + "access.form.wangsu_api_key.label": "网宿云 API 接口密码", + "access.form.wangsu_api_key.placeholder": "请输入网宿云 API 接口密码", + "access.form.wangsu_api_key.tooltip": "这是什么?请参阅 https://www.wangsu.com/document/account-manage/15776", + "access.form.webhook_url.label": "Webhook 回调地址", + "access.form.webhook_url.placeholder": "请输入 Webhook 回调地址", + "access.form.webhook_method.label": "Webhook 请求谓词", + "access.form.webhook_method.placeholder": "请选择 Webhook 请求谓词", + "access.form.webhook_headers.label": "Webhook 请求标头(可选)", + "access.form.webhook_headers.placeholder": "请输入 Webhook 请求标头", + "access.form.webhook_headers.errmsg.invalid": "请输入有效的请求标头", + "access.form.webhook_headers.tooltip": "示例:
      Content-Type: application/json
      User-Agent: certimate
      ", + "access.form.webhook_data.errmsg.json_invalid": "请输入有效的 JSON 格式字符串", + "access.form.webhook_data.label": "Webhook 回调数据(可选)", + "access.form.webhook_data.placeholder": "请输入默认的 Webhook 回调数据", + "access.form.webhook_data.help": "提示:可在工作流中覆盖此设置。", + "access.form.webhook_data.guide_for_deployment": "回调数据是一个 JSON 格式的数据。

      其中值支持模板变量,将在被发送到指定的 Webhook URL 时被替换为实际值;其他内容将保持原样。支持的变量:
      1. ${CERTIMATE_DEPLOYER_COMMONNAME}:证书的主域名(即 CommonName)。
      2. ${CERTIMATE_DEPLOYER_SUBJECTALTNAMES}:证书的多域名,以半角分号隔开(即 SubjectAltNames)。
      3. ${CERTIMATE_DEPLOYER_CERTIFICATE}:证书文件 PEM 格式内容。
      4. ${CERTIMATE_DEPLOYER_CERTIFICATE_SERVER}:证书文件(仅含服务器证书)PEM 格式内容。
      5. ${CERTIMATE_DEPLOYER_CERTIFICATE_INTERMEDIA}:证书文件(仅含中间证书)PEM 格式内容。
      6. ${CERTIMATE_DEPLOYER_PRIVATEKEY}:私钥文件 PEM 格式内容。

      当请求谓词为 GET 时,回调数据将作为查询参数;否则,回调数据将按照请求标头中 Content-Type 所指示的格式进行编码。支持的格式:
      1. application/json(默认)。
      2. application/x-www-form-urlencoded:不支持嵌套数据。
      3. multipart/form-data:不支持嵌套数据。
      4. ", + "access.form.webhook_data.guide_for_notification": "回调数据是一个 JSON 格式的数据。

        其中值支持模板变量,将在被发送到指定的 Webhook URL 时被替换为实际值;其他内容将保持原样。支持的变量:
        1. ${CERTIMATE_NOTIFIER_SUBJECT}:通知主题。
        2. ${CERTIMATE_NOTIFIER_MESSAGE}:通知内容。

        当请求谓词为 GET 时,回调数据将作为查询参数;否则,回调数据将按照请求标头中 Content-Type 所指示的格式进行编码。支持的格式:
        1. application/json(默认)。
        2. application/x-www-form-urlencoded:不支持嵌套数据。
        3. multipart/form-data:不支持嵌套数据。
        4. ", + "access.form.webhook_preset_data": "使用预设回调", + "access.form.webhook_preset_data.bark": "Bark", + "access.form.webhook_preset_data.gotify": "Gotify", + "access.form.webhook_preset_data.ntfy": "ntfy", + "access.form.webhook_preset_data.pushover": "Pushover", + "access.form.webhook_preset_data.pushplus": "PushPlus 推送加", + "access.form.webhook_preset_data.serverchan3": "Server 酱 3", + "access.form.webhook_preset_data.serverchanturbo": "Server酱 Turbo", + "access.form.webhook_preset_data.common": "通用内容", + "access.form.wecombot_webhook_url.label": "企业微信群机器人 Webhook 地址", + "access.form.wecombot_webhook_url.placeholder": "请输入企业微信群机器人 Webhook 地址", + "access.form.wecombot_webhook_url.tooltip": "这是什么?请参阅 https://open.work.weixin.qq.com/help2/pc/18401", + "access.form.westcn_username.label": "西部数码代理商用户名", + "access.form.westcn_username.placeholder": "请输入西部数码代理商用户名", + "access.form.westcn_api_password.label": "西部数码代理商 API 密码", + "access.form.westcn_api_password.placeholder": "请输入西部数码代理商 API 密码", + "access.form.westcn_agent.guide": "西部数码 API 仅支持代理商调用。点击下方链接了解更多:
          https://www.west.cn/CustomerCenter/doc/apiv2.html", + "access.form.xinnet_agent_id.label": "新网数码代理商编号", + "access.form.xinnet_agent_id.placeholder": "请输入新网数码代理商编号", + "access.form.xinnet_api_password.label": "新网数码代理商 API 密码", + "access.form.xinnet_api_password.placeholder": "请输入新网数码代理商 API 密码", + "access.form.xinnet_agent.guide": "新网数码 API 仅支持代理商调用。点击下方链接了解更多:
          https://apidoc.xin.cn/doc-7283837", + "access.form.zerossl_eab.guide": "点击下方链接了解如何获取 ZeroSSL EAB:
          https://zerossl.com/documentation/acme/" +} diff --git a/ui/src/i18n/locales/zh/nls.provider.json b/ui/src/i18n/locales/zh/nls.provider.json index 2af48783..9057c573 100644 --- a/ui/src/i18n/locales/zh/nls.provider.json +++ b/ui/src/i18n/locales/zh/nls.provider.json @@ -1,231 +1,233 @@ -{ - "provider.1panel": "1Panel", - "provider.1panel.console": "1Panel - 面板自身", - "provider.1panel.site": "1Panel - 网站", - "provider.35cn": "三五互联", - "provider.acmeca": "ACME 自定义 CA 端点", - "provider.acmedns": "ACME-DNS", - "provider.acmehttpreq": "ACME 自定义端点", - "provider.actalisssl": "Actalis SSL", - "provider.akamai": "Akamai", - "provider.akamai.cdn": "Akamai - 内容分发网络 CDN", - "provider.akamai.edgedns": "Akamai - EdgeDNS", - "provider.aliyun": "阿里云", - "provider.aliyun.alb": "阿里云 - 应用型负载均衡 ALB", - "provider.aliyun.apigw": "阿里云 - API 网关", - "provider.aliyun.cas_deploy": "阿里云 - 通过数字证书管理服务 CAS 创建部署任务", - "provider.aliyun.cas_upload": "阿里云 - 上传到数字证书管理服务 CAS", - "provider.aliyun.cdn": "阿里云 - 内容分发网络 CDN", - "provider.aliyun.clb": "阿里云 - 传统型负载均衡 CLB", - "provider.aliyun.dcdn": "阿里云 - 全站加速 DCDN", - "provider.aliyun.ddospro": "阿里云 - DDoS 高防", - "provider.aliyun.dns": "阿里云 - 云解析 DNS", - "provider.aliyun.esa": "阿里云 - 边缘安全加速 ESA", - "provider.aliyun.fc": "阿里云 - 函数计算 FC", - "provider.aliyun.ga": "阿里云 - 全球加速 GA", - "provider.aliyun.live": "阿里云 - 视频直播 Live", - "provider.aliyun.nlb": "阿里云 - 网络型负载均衡 NLB", - "provider.aliyun.oss": "阿里云 - 对象存储 OSS", - "provider.aliyun.vod": "阿里云 - 视频点播 VOD", - "provider.aliyun.waf": "阿里云 - Web 应用防火墙 WAF", - "provider.apisix": "Apache APISIX", - "provider.arvancloud": "ArvanCloud", - "provider.aws": "AWS", - "provider.aws.acm": "AWS - ACM (Amazon Certificate Manager)", - "provider.aws.cloudfront": "AWS - CloudFront", - "provider.aws.iam": "AWS - IAM (Identity and Access Management)", - "provider.aws.route53": "AWS - Route53", - "provider.azure": "Azure", - "provider.azure.dns": "Azure - DNS", - "provider.azure.keyvault": "Azure - KeyVault", - "provider.baiducloud": "百度智能云", - "provider.baiducloud.appblb": "百度智能云 - 应用型负载均衡 BLB", - "provider.baiducloud.blb": "百度智能云 - 普通型负载均衡 BLB", - "provider.baiducloud.cdn": "百度智能云 - 内容分发网络 CDN", - "provider.baiducloud.cert_upload": "百度智能云 - 上传到 SSL 证书服务", - "provider.baiducloud.dns": "百度智能云 - 智能云解析 DNS", - "provider.baishan": "白山云", - "provider.baishan.cdn": "白山云 - 内容分发网络 CDN", - "provider.baotapanel": "宝塔面板(又名:aaPanel)", - "provider.baotapanel.console": "宝塔面板 - 面板自身", - "provider.baotapanel.site": "宝塔面板 - 网站", - "provider.baotapanelgo": "宝塔面板极速版(又名:aaPanel WinGo)", - "provider.baotapanelgo.console": "宝塔面板极速版 - 面板自身", - "provider.baotapanelgo.site": "宝塔面板极速版 - 网站", - "provider.baotawaf": "堡塔云 WAF(又名:aaWAF)", - "provider.baotawaf.console": "堡塔云 WAF - 面板自身", - "provider.baotawaf.site": "堡塔云 WAF - 网站", - "provider.bookmyname": "BookMyName", - "provider.bunny": "Bunny", - "provider.bunny.cdn": "Bunny - 内容分发网络 CDN", - "provider.byteplus": "BytePlus", - "provider.byteplus.cdn": "BytePlus - 内容分发网络 CDN", - "provider.cachefly": "CacheFly", - "provider.cdnfly": "Cdnfly", - "provider.cloudflare": "Cloudflare", - "provider.cloudns": "ClouDNS", - "provider.cmcccloud": "移动云", - "provider.cmcccloud.dns": "移动云 - 云解析 DNS", - "provider.constellix": "Constellix", - "provider.ctcccloud": "天翼云", - "provider.ctcccloud.ao": "天翼云 - 边缘安全加速平台 AccessOne", - "provider.ctcccloud.cdn": "天翼云 - 内容分发网络 CDN", - "provider.ctcccloud.cms_upload": "天翼云 - 上传到证书管理服务 CMS", - "provider.ctcccloud.elb": "天翼云 - 弹性负载均衡 ELB", - "provider.ctcccloud.icdn": "天翼云 - 全站加速 ICDN", - "provider.ctcccloud.lvdn": "天翼云 - 视频直播 LVDN", - "provider.ctcccloud.smartdns": "天翼云 - 智能 DNS", - "provider.cucccloud": "联通云", - "provider.desec": "deSEC", - "provider.digitalocean": "DigitalOcean", - "provider.dingtalkbot": "钉钉群机器人", - "provider.discordbot": "Discord 机器人", - "provider.dnsla": "DNS.LA", - "provider.dnsmadeeasy": "DNS Made Easy", - "provider.dogecloud": "多吉云", - "provider.dogecloud.cdn": "多吉云 - 内容分发网络 CDN", - "provider.duckdns": "Duck DNS", - "provider.dynu": "Dynu", - "provider.dynv6": "dynv6", - "provider.email": "邮件(SMTP)", - "provider.fastly": "Fastly", - "provider.flexcdn": "FlexCDN", - "provider.gandinet": "Gandi.net", - "provider.gcore": "G-Core", - "provider.gcore.cdn": "G-Core - 内容分发网络 CDN", - "provider.globalsignatlas": "GlobalSign Atlas", - "provider.gname": "GNAME", - "provider.godaddy": "GoDaddy", - "provider.goedge": "GoEdge", - "provider.googletrustservices": "Google Trust Services", - "provider.hetzner": "Hetzner", - "provider.hostingde": "hosting.de", - "provider.hostinger": "Hostinger", - "provider.huaweicloud": "华为云", - "provider.huaweicloud.cdn": "华为云 - 内容分发网络 CDN", - "provider.huaweicloud.dns": "华为云 - 云解析 DNS", - "provider.huaweicloud.elb": "华为云 - 弹性负载均衡 ELB", - "provider.huaweicloud.obs": "华为云 - 对象储存服务 OBS", - "provider.huaweicloud.scm_upload": "华为云 - 上传到云证书管理服务 SCM", - "provider.huaweicloud.waf": "华为云 - Web 应用防火墙 WAF", - "provider.infomaniak": "Infomaniak", - "provider.ionos": "IONOS", - "provider.jdcloud": "京东云", - "provider.jdcloud.alb": "京东云 - 应用负载均衡 ALB", - "provider.jdcloud.cdn": "京东云 - 内容分发网络 CDN", - "provider.jdcloud.dns": "京东云 - 云解析 DNS", - "provider.jdcloud.live": "京东云 - 视频直播", - "provider.jdcloud.vod": "京东云 - 视频点播", - "provider.kong": "Kong", - "provider.kubernetes": "Kubernetes", - "provider.kubernetes.secret": "Kubernetes - Secret", - "provider.ksyun": "金山云", - "provider.ksyun.cdn": "金山云 - 内容分发网络 CDN", - "provider.larkbot": "飞书群机器人", - "provider.lecdn": "LeCDN", - "provider.letsencrypt": "Let's Encrypt", - "provider.letsencryptstaging": "Let's Encrypt 测试环境", - "provider.linode": "Linode", - "provider.litessl": "LiteSSL", - "provider.local": "本地主机", - "provider.mattermost": "Mattermost", - "provider.namecheap": "Namecheap", - "provider.namedotcom": "Name.com", - "provider.namesilo": "NameSilo", - "provider.netcup": "netcup", - "provider.netlify": "Netlify", - "provider.netlify.site": "Netlify - Site", - "provider.ns1": "NS1 (IBM NS1 Connect)", - "provider.ovhcloud": "OVHcloud", - "provider.porkbun": "Porkbun", - "provider.powerdns": "PowerDNS", - "provider.proxmoxve": "Proxmox VE", - "provider.qingcloud": "青云", - "provider.qingcloud.dns": "青云 - 云解析 DNS", - "provider.qiniu": "七牛云", - "provider.qiniu.cdn": "七牛云 - 内容分发网络 CDN", - "provider.qiniu.kodo": "七牛云 - 对象存储 Kodo", - "provider.qiniu.pili": "七牛云 - 视频直播 Pili", - "provider.rainyun": "雨云", - "provider.rainyun.rcdn": "雨云 - 雨盾 CDN", - "provider.ratpanel": "耗子面板(又名:AcePanel)", - "provider.ratpanel.console": "耗子面板 - 面板自身", - "provider.ratpanel.site": "耗子面板 - 网站", - "provider.rfc2136": "RFC 2136: Dynamic DNS Updates", - "provider.safeline": "雷池", - "provider.safeline.site": "雷池 - 网站", - "provider.sectigo": "Sectigo", - "provider.slackbot": "Slack 机器人", - "provider.spaceship": "Spaceship", - "provider.ssh": "远程主机(SSH)", - "provider.sslcom": "SSL.com", - "provider.technitiumdns": "Technitium DNS", - "provider.telegrambot": "Telegram 机器人", - "provider.tencentcloud": "腾讯云", - "provider.tencentcloud.cdn": "腾讯云 - 内容分发网络 CDN", - "provider.tencentcloud.clb": "腾讯云 - 负载均衡 CLB", - "provider.tencentcloud.cos": "腾讯云 - 对象存储 COS", - "provider.tencentcloud.css": "腾讯云 - 云直播 CSS", - "provider.tencentcloud.dns": "腾讯云 - 云解析 DNS", - "provider.tencentcloud.ecdn": "腾讯云 - 全站加速网络 ECDN", - "provider.tencentcloud.eo": "腾讯云 - 边缘安全加速平台 EdgeOne", - "provider.tencentcloud.gaap": "腾讯云 - 全球应用加速 GAAP", - "provider.tencentcloud.scf": "腾讯云 - 云函数 SCF", - "provider.tencentcloud.ssl_deploy": "腾讯云 - 通过 SSL 证书服务创建部署任务", - "provider.tencentcloud.ssl_update": "腾讯云 - 通过 SSL 证书服务更新云资源证书", - "provider.tencentcloud.ssl_upload": "腾讯云 - 上传到 SSL 证书服务", - "provider.tencentcloud.vod": "腾讯云 - 云点播 VOD", - "provider.tencentcloud.waf": "腾讯云 - Web 应用防火墙 WAF", - "provider.ucloud": "优刻得", - "provider.ucloud.ucdn": "优刻得 - 内容分发 UCDN", - "provider.ucloud.udnr": "优刻得 - 域名服务 UDNR", - "provider.ucloud.us3": "优刻得 - 对象存储 US3", - "provider.unicloud": "uniCloud (DCloud)", - "provider.unicloud.webhost": "uniCloud (DCloud) - 前端网页托管", - "provider.upyun": "又拍云", - "provider.upyun.cdn": "又拍云 - 云分发 CDN", - "provider.upyun.file": "又拍云 - 云存储 USS", - "provider.vercel": "Vercel", - "provider.volcengine": "火山引擎", - "provider.volcengine.alb": "火山引擎 - 应用型负载均衡 ALB", - "provider.volcengine.cdn": "火山引擎 - 内容分发网络 CDN", - "provider.volcengine.certcenter_upload": "火山引擎 - 上传到证书中心", - "provider.volcengine.clb": "火山引擎 - 负载均衡 CLB", - "provider.volcengine.dcdn": "火山引擎 - 全站加速 DCDN", - "provider.volcengine.dns": "火山引擎 - 云解析 DNS", - "provider.volcengine.imagex": "火山引擎 - 图片服务 ImageX", - "provider.volcengine.live": "火山引擎 - 视频直播 Live", - "provider.volcengine.tos": "火山引擎 - 对象存储 TOS", - "provider.vultr": "Vultr", - "provider.wangsu": "网宿云", - "provider.wangsu.cdn": "网宿云 - 内容分发网络 CDN", - "provider.wangsu.cdnpro": "网宿云 - CDN Pro (CDN 360)", - "provider.wangsu.certificate_upload": "网宿云 - 上传到证书管理", - "provider.webhook": "Webhook", - "provider.wecombot": "企业微信群机器人", - "provider.westcn": "西部数码", - "provider.xinnet": "新网数码", - "provider.zerossl": "ZeroSSL", - - "provider.category.all": "全部", - "provider.category.cdn": "CDN", - "provider.category.storage": "文件存储", - "provider.category.loadbalance": "负载均衡", - "provider.category.firewall": "防火墙", - "provider.category.av": "音视频", - "provider.category.accelerator": "加速器", - "provider.category.apigw": "API 网关", - "provider.category.serverless": "Serverless", - "provider.category.website": "网站托管", - "provider.category.ssl": "证书托管", - "provider.category.nas": "NAS", - "provider.category.other": "其他", - - "provider.text.nodata": "暂无提供商", - "provider.text.default_ca": "(默认)不指定,跟随全局设置", - "provider.text.default_ca_in_group": "不指定,跟随全局设置", - "provider.text.default_group": "默认", - "provider.text.available_group": "可用(已添加授权凭据)", - "provider.text.unavailable_group": "不可用(未添加授权凭据)", - "provider.text.unavailable_divider": "以下提供商不可用(即未添加过授权凭据)" -} +{ + "provider.1panel": "1Panel", + "provider.1panel.console": "1Panel - 面板自身", + "provider.1panel.site": "1Panel - 网站", + "provider.35cn": "三五互联", + "provider.acmeca": "ACME 自定义 CA 端点", + "provider.acmedns": "ACME-DNS", + "provider.acmehttpreq": "ACME 自定义端点", + "provider.actalisssl": "Actalis SSL", + "provider.akamai": "Akamai", + "provider.akamai.cdn": "Akamai - 内容分发网络 CDN", + "provider.akamai.edgedns": "Akamai - EdgeDNS", + "provider.aliyun": "阿里云", + "provider.aliyun.alb": "阿里云 - 应用型负载均衡 ALB", + "provider.aliyun.apigw": "阿里云 - API 网关", + "provider.aliyun.cas_deploy": "阿里云 - 通过数字证书管理服务 CAS 创建部署任务", + "provider.aliyun.cas_upload": "阿里云 - 上传到数字证书管理服务 CAS", + "provider.aliyun.cdn": "阿里云 - 内容分发网络 CDN", + "provider.aliyun.clb": "阿里云 - 传统型负载均衡 CLB", + "provider.aliyun.dcdn": "阿里云 - 全站加速 DCDN", + "provider.aliyun.ddospro": "阿里云 - DDoS 高防", + "provider.aliyun.dns": "阿里云 - 云解析 DNS", + "provider.aliyun.esa": "阿里云 - 边缘安全加速 ESA", + "provider.aliyun.fc": "阿里云 - 函数计算 FC", + "provider.aliyun.ga": "阿里云 - 全球加速 GA", + "provider.aliyun.live": "阿里云 - 视频直播 Live", + "provider.aliyun.nlb": "阿里云 - 网络型负载均衡 NLB", + "provider.aliyun.oss": "阿里云 - 对象存储 OSS", + "provider.aliyun.vod": "阿里云 - 视频点播 VOD", + "provider.aliyun.waf": "阿里云 - Web 应用防火墙 WAF", + "provider.apisix": "Apache APISIX", + "provider.arvancloud": "ArvanCloud", + "provider.aws": "AWS", + "provider.aws.acm": "AWS - ACM (Amazon Certificate Manager)", + "provider.aws.cloudfront": "AWS - CloudFront", + "provider.aws.iam": "AWS - IAM (Identity and Access Management)", + "provider.aws.route53": "AWS - Route53", + "provider.azure": "Azure", + "provider.azure.dns": "Azure - DNS", + "provider.azure.keyvault": "Azure - KeyVault", + "provider.baiducloud": "百度智能云", + "provider.baiducloud.appblb": "百度智能云 - 应用型负载均衡 BLB", + "provider.baiducloud.blb": "百度智能云 - 普通型负载均衡 BLB", + "provider.baiducloud.cdn": "百度智能云 - 内容分发网络 CDN", + "provider.baiducloud.cert_upload": "百度智能云 - 上传到 SSL 证书服务", + "provider.baiducloud.dns": "百度智能云 - 智能云解析 DNS", + "provider.baishan": "白山云", + "provider.baishan.cdn": "白山云 - 内容分发网络 CDN", + "provider.baotapanel": "宝塔面板(又名:aaPanel)", + "provider.baotapanel.console": "宝塔面板 - 面板自身", + "provider.baotapanel.site": "宝塔面板 - 网站", + "provider.baotapanelgo": "宝塔面板极速版(又名:aaPanel WinGo)", + "provider.baotapanelgo.console": "宝塔面板极速版 - 面板自身", + "provider.baotapanelgo.site": "宝塔面板极速版 - 网站", + "provider.baotawaf": "堡塔云 WAF(又名:aaWAF)", + "provider.baotawaf.console": "堡塔云 WAF - 面板自身", + "provider.baotawaf.site": "堡塔云 WAF - 网站", + "provider.bookmyname": "BookMyName", + "provider.bunny": "Bunny", + "provider.bunny.cdn": "Bunny - 内容分发网络 CDN", + "provider.byteplus": "BytePlus", + "provider.byteplus.cdn": "BytePlus - 内容分发网络 CDN", + "provider.cachefly": "CacheFly", + "provider.cdnfly": "Cdnfly", + "provider.cloudflare": "Cloudflare", + "provider.cloudns": "ClouDNS", + "provider.cmcccloud": "移动云", + "provider.cmcccloud.dns": "移动云 - 云解析 DNS", + "provider.constellix": "Constellix", + "provider.ctcccloud": "天翼云", + "provider.ctcccloud.ao": "天翼云 - 边缘安全加速平台 AccessOne", + "provider.ctcccloud.cdn": "天翼云 - 内容分发网络 CDN", + "provider.ctcccloud.cms_upload": "天翼云 - 上传到证书管理服务 CMS", + "provider.ctcccloud.elb": "天翼云 - 弹性负载均衡 ELB", + "provider.ctcccloud.icdn": "天翼云 - 全站加速 ICDN", + "provider.ctcccloud.lvdn": "天翼云 - 视频直播 LVDN", + "provider.ctcccloud.smartdns": "天翼云 - 智能 DNS", + "provider.cucccloud": "联通云", + "provider.desec": "deSEC", + "provider.digitalocean": "DigitalOcean", + "provider.dingtalkbot": "钉钉群机器人", + "provider.discordbot": "Discord 机器人", + "provider.dnsla": "DNS.LA", + "provider.dnsmadeeasy": "DNS Made Easy", + "provider.dogecloud": "多吉云", + "provider.dogecloud.cdn": "多吉云 - 内容分发网络 CDN", + "provider.duckdns": "Duck DNS", + "provider.dynu": "Dynu", + "provider.dynv6": "dynv6", + "provider.email": "邮件(SMTP)", + "provider.fastly": "Fastly", + "provider.flexcdn": "FlexCDN", + "provider.gandinet": "Gandi.net", + "provider.gcore": "G-Core", + "provider.gcore.cdn": "G-Core - 内容分发网络 CDN", + "provider.globalsignatlas": "GlobalSign Atlas", + "provider.gname": "GNAME", + "provider.godaddy": "GoDaddy", + "provider.goedge": "GoEdge", + "provider.googletrustservices": "Google Trust Services", + "provider.hetzner": "Hetzner", + "provider.hostingde": "hosting.de", + "provider.hostinger": "Hostinger", + "provider.huaweicloud": "华为云", + "provider.huaweicloud.cdn": "华为云 - 内容分发网络 CDN", + "provider.huaweicloud.dns": "华为云 - 云解析 DNS", + "provider.huaweicloud.elb": "华为云 - 弹性负载均衡 ELB", + "provider.huaweicloud.obs": "华为云 - 对象储存服务 OBS", + "provider.huaweicloud.scm_upload": "华为云 - 上传到云证书管理服务 SCM", + "provider.huaweicloud.waf": "华为云 - Web 应用防火墙 WAF", + "provider.infomaniak": "Infomaniak", + "provider.ionos": "IONOS", + "provider.jdcloud": "京东云", + "provider.jdcloud.alb": "京东云 - 应用负载均衡 ALB", + "provider.jdcloud.cdn": "京东云 - 内容分发网络 CDN", + "provider.jdcloud.dns": "京东云 - 云解析 DNS", + "provider.jdcloud.live": "京东云 - 视频直播", + "provider.jdcloud.vod": "京东云 - 视频点播", + "provider.kong": "Kong", + "provider.kubernetes": "Kubernetes", + "provider.kubernetes.secret": "Kubernetes - Secret", + "provider.ksyun": "金山云", + "provider.ksyun.cdn": "金山云 - 内容分发网络 CDN", + "provider.larkbot": "飞书群机器人", + "provider.lecdn": "LeCDN", + "provider.letsencrypt": "Let's Encrypt", + "provider.letsencryptstaging": "Let's Encrypt 测试环境", + "provider.linode": "Linode", + "provider.litessl": "LiteSSL", + "provider.local": "本地主机", + "provider.mattermost": "Mattermost", + "provider.mohua": "Mohua", + "provider.mohua.mvh": "Mohua - MVH (Virtual Host)", + "provider.namecheap": "Namecheap", + "provider.namedotcom": "Name.com", + "provider.namesilo": "NameSilo", + "provider.netcup": "netcup", + "provider.netlify": "Netlify", + "provider.netlify.site": "Netlify - Site", + "provider.ns1": "NS1 (IBM NS1 Connect)", + "provider.ovhcloud": "OVHcloud", + "provider.porkbun": "Porkbun", + "provider.powerdns": "PowerDNS", + "provider.proxmoxve": "Proxmox VE", + "provider.qingcloud": "青云", + "provider.qingcloud.dns": "青云 - 云解析 DNS", + "provider.qiniu": "七牛云", + "provider.qiniu.cdn": "七牛云 - 内容分发网络 CDN", + "provider.qiniu.kodo": "七牛云 - 对象存储 Kodo", + "provider.qiniu.pili": "七牛云 - 视频直播 Pili", + "provider.rainyun": "雨云", + "provider.rainyun.rcdn": "雨云 - 雨盾 CDN", + "provider.ratpanel": "耗子面板(又名:AcePanel)", + "provider.ratpanel.console": "耗子面板 - 面板自身", + "provider.ratpanel.site": "耗子面板 - 网站", + "provider.rfc2136": "RFC 2136: Dynamic DNS Updates", + "provider.safeline": "雷池", + "provider.safeline.site": "雷池 - 网站", + "provider.sectigo": "Sectigo", + "provider.slackbot": "Slack 机器人", + "provider.spaceship": "Spaceship", + "provider.ssh": "远程主机(SSH)", + "provider.sslcom": "SSL.com", + "provider.technitiumdns": "Technitium DNS", + "provider.telegrambot": "Telegram 机器人", + "provider.tencentcloud": "腾讯云", + "provider.tencentcloud.cdn": "腾讯云 - 内容分发网络 CDN", + "provider.tencentcloud.clb": "腾讯云 - 负载均衡 CLB", + "provider.tencentcloud.cos": "腾讯云 - 对象存储 COS", + "provider.tencentcloud.css": "腾讯云 - 云直播 CSS", + "provider.tencentcloud.dns": "腾讯云 - 云解析 DNS", + "provider.tencentcloud.ecdn": "腾讯云 - 全站加速网络 ECDN", + "provider.tencentcloud.eo": "腾讯云 - 边缘安全加速平台 EdgeOne", + "provider.tencentcloud.gaap": "腾讯云 - 全球应用加速 GAAP", + "provider.tencentcloud.scf": "腾讯云 - 云函数 SCF", + "provider.tencentcloud.ssl_deploy": "腾讯云 - 通过 SSL 证书服务创建部署任务", + "provider.tencentcloud.ssl_update": "腾讯云 - 通过 SSL 证书服务更新云资源证书", + "provider.tencentcloud.ssl_upload": "腾讯云 - 上传到 SSL 证书服务", + "provider.tencentcloud.vod": "腾讯云 - 云点播 VOD", + "provider.tencentcloud.waf": "腾讯云 - Web 应用防火墙 WAF", + "provider.ucloud": "优刻得", + "provider.ucloud.ucdn": "优刻得 - 内容分发 UCDN", + "provider.ucloud.udnr": "优刻得 - 域名服务 UDNR", + "provider.ucloud.us3": "优刻得 - 对象存储 US3", + "provider.unicloud": "uniCloud (DCloud)", + "provider.unicloud.webhost": "uniCloud (DCloud) - 前端网页托管", + "provider.upyun": "又拍云", + "provider.upyun.cdn": "又拍云 - 云分发 CDN", + "provider.upyun.file": "又拍云 - 云存储 USS", + "provider.vercel": "Vercel", + "provider.volcengine": "火山引擎", + "provider.volcengine.alb": "火山引擎 - 应用型负载均衡 ALB", + "provider.volcengine.cdn": "火山引擎 - 内容分发网络 CDN", + "provider.volcengine.certcenter_upload": "火山引擎 - 上传到证书中心", + "provider.volcengine.clb": "火山引擎 - 负载均衡 CLB", + "provider.volcengine.dcdn": "火山引擎 - 全站加速 DCDN", + "provider.volcengine.dns": "火山引擎 - 云解析 DNS", + "provider.volcengine.imagex": "火山引擎 - 图片服务 ImageX", + "provider.volcengine.live": "火山引擎 - 视频直播 Live", + "provider.volcengine.tos": "火山引擎 - 对象存储 TOS", + "provider.vultr": "Vultr", + "provider.wangsu": "网宿云", + "provider.wangsu.cdn": "网宿云 - 内容分发网络 CDN", + "provider.wangsu.cdnpro": "网宿云 - CDN Pro (CDN 360)", + "provider.wangsu.certificate_upload": "网宿云 - 上传到证书管理", + "provider.webhook": "Webhook", + "provider.wecombot": "企业微信群机器人", + "provider.westcn": "西部数码", + "provider.xinnet": "新网数码", + "provider.zerossl": "ZeroSSL", + + "provider.category.all": "全部", + "provider.category.cdn": "CDN", + "provider.category.storage": "文件存储", + "provider.category.loadbalance": "负载均衡", + "provider.category.firewall": "防火墙", + "provider.category.av": "音视频", + "provider.category.accelerator": "加速器", + "provider.category.apigw": "API 网关", + "provider.category.serverless": "Serverless", + "provider.category.website": "网站托管", + "provider.category.ssl": "证书托管", + "provider.category.nas": "NAS", + "provider.category.other": "其他", + + "provider.text.nodata": "暂无提供商", + "provider.text.default_ca": "(默认)不指定,跟随全局设置", + "provider.text.default_ca_in_group": "不指定,跟随全局设置", + "provider.text.default_group": "默认", + "provider.text.available_group": "可用(已添加授权凭据)", + "provider.text.unavailable_group": "不可用(未添加授权凭据)", + "provider.text.unavailable_divider": "以下提供商不可用(即未添加过授权凭据)" +} diff --git a/ui/src/i18n/locales/zh/nls.workflow.nodes.json b/ui/src/i18n/locales/zh/nls.workflow.nodes.json index 9281f370..163d1c60 100644 --- a/ui/src/i18n/locales/zh/nls.workflow.nodes.json +++ b/ui/src/i18n/locales/zh/nls.workflow.nodes.json @@ -1,1112 +1,1118 @@ -{ - "workflow_node.kind.basis": "基础", - "workflow_node.kind.business": "业务", - "workflow_node.kind.logic": "逻辑", - - "workflow_node.start.label": "开始", - "workflow_node.start.default_name": "开始", - "workflow_node.start.form_anchor.parameters.tab": "参数设置", - "workflow_node.start.form.trigger.label": "触发方式", - "workflow_node.start.form.trigger.placeholder": "请选择触发方式", - "workflow_node.start.form.trigger.option.scheduled.label": "定时触发", - "workflow_node.start.form.trigger.option.manual.label": "手动触发", - "workflow_node.start.form.trigger_cron.label": "CRON 表达式", - "workflow_node.start.form.trigger_cron.placeholder": "请输入 CRON 表达式", - "workflow_node.start.form.trigger_cron.errmsg.invalid": "请输入正确的 CRON 表达式", - "workflow_node.start.form.trigger_cron.tooltip": "五段式表达式,使用 crontab 标准语法规则。
          支持使用任意值(即 *)、值列表分隔符(即 ,)、值的范围(即 -)、步骤值(即 /)等四种表达式。", - "workflow_node.start.form.trigger_cron.help": "预计最近 5 次运行时间(实际时区以服务器设置为准):", - "workflow_node.start.form.trigger_cron.guide": "如果你有多个工作流,建议将它们设置为在一天中的多个时间段运行,而非总是在相同的特定时间。也不要总是设置为每日零时,以免遭遇证书颁发机构的流量高峰。

          参考链接:
          1. Let’s Encrypt 速率限制
          2. 为什么我的 Let’s Encrypt (ACME) 客户端启动时间应当随机?", - - "workflow_node.apply.label": "申请签发证书", - "workflow_node.apply.default_name": "申请", - "workflow_node.apply.form_anchor.parameters.tab": "参数设置", - "workflow_node.apply.form_anchor.challenge.tab": "验证质询", - "workflow_node.apply.form_anchor.challenge.title": "验证质询", - "workflow_node.apply.form_anchor.certificate.tab": "证书设置", - "workflow_node.apply.form_anchor.certificate.title": "证书设置", - "workflow_node.apply.form_anchor.advanced.tab": "高级设置", - "workflow_node.apply.form_anchor.advanced.title": "高级设置", - "workflow_node.apply.form_anchor.strategy.tab": "执行策略", - "workflow_node.apply.form_anchor.strategy.title": "执行策略", - "workflow_node.apply.form.domains.label": "域名", - "workflow_node.apply.form.domains.placeholder": "请输入域名(多个值请用半角分号隔开)", - "workflow_node.apply.form.domains.errmsg.no_wildcard_in_http01": "HTTP-01 质询不支持签发泛域名证书。", - "workflow_node.apply.form.domains.help": "提示:多域名请用半角分号隔开;泛域名表示形式为 *.example.com。", - "workflow_node.apply.form.domains.help_no_wildcard": "提示:支持多个域名,以半角分号隔开。", - "workflow_node.apply.form.domains.multiple_input_modal.title": "修改域名", - "workflow_node.apply.form.domains.multiple_input_modal.placeholder": "请输入域名", - "workflow_node.apply.form.contact_email.label": "联系邮箱", - "workflow_node.apply.form.contact_email.placeholder": "请输入联系邮箱", - "workflow_node.apply.form.contact_email.tooltip": "申请签发 SSL 证书时所需的联系方式。请注意 Let's Encrypt 账户注册的速率限制。", - "workflow_node.apply.form.challenge_type.label": "质询方式", - "workflow_node.apply.form.challenge_type.placeholder": "请选择质询方式", - "workflow_node.apply.form.challenge_type.tooltip": "表示证书颁发机构如何验证你对域名的控制权。
          点此了解更多。", - "workflow_node.apply.form.provider.label": "提供商", - "workflow_node.apply.form.provider.placeholder": "请选择提供商", - "workflow_node.apply.form.provider_dns01.label": "DNS 提供商", - "workflow_node.apply.form.provider_dns01.placeholder": "请选择 DNS 提供商", - "workflow_node.apply.form.provider_http01.label": "主机提供商", - "workflow_node.apply.form.provider_http01.placeholder": "请选择主机提供商", - "workflow_node.apply.form.provider_access.label": "提供商授权", - "workflow_node.apply.form.provider_access.placeholder": "请选择提供商授权", - "workflow_node.apply.form.provider_access.button": "新建", - "workflow_node.apply.form.provider_access_dns01.label": "DNS 提供商授权", - "workflow_node.apply.form.provider_access_dns01.placeholder": "请选择 DNS 提供商授权", - "workflow_node.apply.form.provider_access_http01.label": "主机提供商授权", - "workflow_node.apply.form.provider_access_http01.placeholder": "请选择主机提供商授权", - "workflow_node.apply.form.aliyun_esa_region.label": "阿里云服务地域", - "workflow_node.apply.form.aliyun_esa_region.placeholder": "请输入阿里云 ESA 服务地域(例如:cn-hangzhou)", - "workflow_node.apply.form.aliyun_esa_region.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/edge-security-acceleration/esa/api-esa-2024-09-10-endpoint", - "workflow_node.apply.form.aws_route53_region.label": "AWS 服务区域", - "workflow_node.apply.form.aws_route53_region.placeholder": "请输入 AWS Route53 服务区域(例如:us-east-1)", - "workflow_node.apply.form.aws_route53_region.tooltip": "这是什么?请参阅 https://docs.aws.amazon.com/zh_cn/general/latest/gr/rande.html#regional-endpoints", - "workflow_node.apply.form.aws_route53_hosted_zone_id.label": "AWS Route53 托管区域 ID(可选)", - "workflow_node.apply.form.aws_route53_hosted_zone_id.placeholder": "请输入 AWS Route53 托管区域 ID", - "workflow_node.apply.form.aws_route53_hosted_zone_id.help": "提示:仅当存在多个相同 FQDN 的托管区域时需要填写。", - "workflow_node.apply.form.aws_route53_hosted_zone_id.tooltip": "这是什么?请参阅 https://docs.aws.amazon.com/zh_cn/Route53/latest/DeveloperGuide/hosted-zones-working-with.html", - "workflow_node.apply.form.huaweicloud_dns_region.label": "华为云服务区域", - "workflow_node.apply.form.huaweicloud_dns_region.placeholder": "请输入华为云 DNS 服务区域(例如:cn-north-1)", - "workflow_node.apply.form.huaweicloud_dns_region.tooltip": "这是什么?请参阅 https://console.huaweicloud.com/apiexplorer/#/endpoint", - "workflow_node.apply.form.jdcloud_dns_region_id.label": "京东云服务地域 ID", - "workflow_node.apply.form.jdcloud_dns_region_id.placeholder": "请输入京东云 DNS 服务地域 ID(例如:cn-north-1)", - "workflow_node.apply.form.jdcloud_dns_region_id.tooltip": "这是什么?请参阅 https://docs.jdcloud.com/cn/common-declaration/api/introduction", - "workflow_node.apply.form.local_webroot_path.label": "网站根目录", - "workflow_node.apply.form.local_webroot_path.placeholder": "请输入网站根目录", - "workflow_node.apply.form.local_webroot_path.tooltip": "即服务器上存储网站文件的主文件夹。", - "workflow_node.apply.form.ssh_webroot_path.label": "网站根目录", - "workflow_node.apply.form.ssh_webroot_path.placeholder": "请输入网站根目录", - "workflow_node.apply.form.ssh_webroot_path.tooltip": "即服务器上存储网站文件的主文件夹。", - "workflow_node.apply.form.key_source.label": "私钥来源", - "workflow_node.apply.form.key_source.placeholder": "请选择私钥来源", - "workflow_node.apply.form.key_source.option.auto.label": "随机生成", - "workflow_node.apply.form.key_source.option.reuse.label": "复用私钥", - "workflow_node.apply.form.key_source.option.custom.label": "自定义", - "workflow_node.apply.form.key_algorithm.label": "私钥算法", - "workflow_node.apply.form.key_algorithm.placeholder": "请选择证书的私钥算法", - "workflow_node.apply.form.key_algorithm.help_reuse": "提示:如果存在之前申请的证书,将以原私钥算法为准;否则才使用此选项。", - "workflow_node.apply.form.key_algorithm.help_custom": "注意:请确保算法与私钥相匹配。", - "workflow_node.apply.form.key_content.label": "私钥文件(PEM 格式)", - "workflow_node.apply.form.key_content.placeholder": "-----BEGIN (RSA|EC) PRIVATE KEY-----...-----END(RSA|EC) PRIVATE KEY-----", - "workflow_node.apply.form.ca_provider.label": "证书颁发机构(可选)", - "workflow_node.apply.form.ca_provider.placeholder": "请选择证书颁发机构", - "workflow_node.apply.form.ca_provider.button": "设置", - "workflow_node.apply.form.ca_provider_access.label": "证书颁发机构授权", - "workflow_node.apply.form.ca_provider_access.placeholder": "请选择证书颁发机构授权", - "workflow_node.apply.form.ca_provider_access.button": "新建", - "workflow_node.apply.form.validity_lifetime.label": "证书有效期(可选)", - "workflow_node.apply.form.validity_lifetime.placeholder": "请输入证书的有效期", - "workflow_node.apply.form.validity_lifetime.help": "注意:并非所有证书颁发机构都支持此特性。", - "workflow_node.apply.form.validity_lifetime.tooltip": "表示证书的有效期。如果你不了解该选项的用途,保持默认即可。", - "workflow_node.apply.form.validity_lifetime.units.h": "小时", - "workflow_node.apply.form.validity_lifetime.units.d": "天", - "workflow_node.apply.form.preferred_chain.label": "首选证书链(可选)", - "workflow_node.apply.form.preferred_chain.placeholder": "请输入首选证书链", - "workflow_node.apply.form.preferred_chain.help": "注意:并非所有证书颁发机构都支持此特性。", - "workflow_node.apply.form.preferred_chain.tooltip": "表示证书颁发时使用的首选证书链。如果你不了解该选项的用途,保持默认即可。
          点此了解更多。", - "workflow_node.apply.form.acme_profile.label": "ACME 配置文件(可选)", - "workflow_node.apply.form.acme_profile.placeholder": "请输入 ACME 配置文件", - "workflow_node.apply.form.acme_profile.help": "注意:并非所有证书颁发机构都支持此特性。", - "workflow_node.apply.form.acme_profile.tooltip": "表示证书颁发时使用的 ACME 证书配置文件。如果你不了解该选项的用途,保持默认即可。
          点此了解更多。", - "workflow_node.apply.form.nameservers.label": "DNS 递归服务器(可选)", - "workflow_node.apply.form.nameservers.placeholder": "请输入 DNS 递归服务器(多个值请用半角分号隔开)", - "workflow_node.apply.form.nameservers.tooltip": "表示在 ACME DNS-01 质询时使用自定义的 DNS 递归服务器。如果你不了解该选项的用途,保持默认即可。
          点此了解更多。", - "workflow_node.apply.form.nameservers.multiple_input_modal.title": "修改 DNS 递归服务器", - "workflow_node.apply.form.nameservers.multiple_input_modal.placeholder": "请输入 DNS 递归服务器", - "workflow_node.apply.form.dns_propagation_wait.label": "DNS 传播等待时间(可选)", - "workflow_node.apply.form.dns_propagation_wait.placeholder": "请输入 DNS 传播等待时间", - "workflow_node.apply.form.dns_propagation_wait.unit": "秒", - "workflow_node.apply.form.dns_propagation_wait.tooltip": "表示在 ACME DNS-01 质询时 DNS 传播的等待时间。如果你不了解此选项的用途,保持默认即可。", - "workflow_node.apply.form.dns_propagation_timeout.label": "DNS 传播检查超时时间(可选)", - "workflow_node.apply.form.dns_propagation_timeout.placeholder": "请输入 DNS 传播检查超时时间", - "workflow_node.apply.form.dns_propagation_timeout.unit": "秒", - "workflow_node.apply.form.dns_propagation_timeout.tooltip": "表示在 ACME DNS-01 质询时 DNS 传播检查的超时时间。如果你不了解此选项的用途,保持默认即可。", - "workflow_node.apply.form.dns_ttl.label": "DNS 解析记录 TTL(可选)", - "workflow_node.apply.form.dns_ttl.placeholder": "请输入 DNS 解析记录 TTL", - "workflow_node.apply.form.dns_ttl.unit": "秒", - "workflow_node.apply.form.dns_ttl.help": "提示:不填写时,将使用 DNS 提供商指定的默认值。", - "workflow_node.apply.form.dns_ttl.tooltip": "表示在 ACME DNS-01 质询时 DNS 解析记录的 TTL。如果你不了解此选项的用途,保持默认即可。", - "workflow_node.apply.form.disable_follow_cname.label": "阻止 CNAME 跟随", - "workflow_node.apply.form.disable_follow_cname.tooltip": "在 ACME DNS-01 质询时是否阻止 CNAME 跟随。如果你不了解该选项的用途,保持默认即可。点此了解更多。", - "workflow_node.apply.form.disable_ari.label": "阻止 ARI 续期", - "workflow_node.apply.form.disable_ari.tooltip": "在 ACME 证书续期时是否阻止 ARI(ACME Renewal Information)。如果你不了解该选项的用途,保持默认即可。点此了解更多。", - "workflow_node.apply.form.skip_before_expiry_days.label": "重复申请", - "workflow_node.apply.form.skip_before_expiry_days.placeholder": "请输入续期间隔", - "workflow_node.apply.form.skip_before_expiry_days.prefix": "当上次申请证书成功后、且证书剩余有效期大于", - "workflow_node.apply.form.skip_before_expiry_days.suffix": ",再次运行工作流时跳过此申请节点。", - "workflow_node.apply.form.skip_before_expiry_days.unit": "天", - - "workflow_node.upload.label": "上传自有证书", - "workflow_node.upload.default_name": "上传", - "workflow_node.upload.form_anchor.parameters.tab": "参数设置", - "workflow_node.upload.form.guide": "每次执行此节点时,都将重新读取文件内容。", - "workflow_node.upload.form.source.label": "上传来源", - "workflow_node.upload.form.source.placeholder": "请选择上传来源", - "workflow_node.upload.form.source.option.form.label": "表单", - "workflow_node.upload.form.source.option.local.label": "本地路径", - "workflow_node.upload.form.source.option.url.label": "URL 路径", - "workflow_node.upload.form.domains.label": "域名", - "workflow_node.upload.form.domains.placeholder": "上传证书文件后显示", - "workflow_node.upload.form.certificate_pem.label": "证书文件(PEM 格式)", - "workflow_node.upload.form.certificate_pem.placeholder": "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----", - "workflow_node.upload.form.certificate_path.label": "证书文件路径", - "workflow_node.upload.form.certificate_path.placeholder": "请输入证书文件本地路径", - "workflow_node.upload.form.certificate_url.label": "证书文件 URL", - "workflow_node.upload.form.certificate_url.placeholder": "请输入证书文件下载 URL", - "workflow_node.upload.form.private_key_pem.label": "私钥文件(PEM 格式)", - "workflow_node.upload.form.private_key_pem.placeholder": "-----BEGIN (RSA|EC) PRIVATE KEY-----...-----END(RSA|EC) PRIVATE KEY-----", - "workflow_node.upload.form.private_key_path.label": "私钥文件路径", - "workflow_node.upload.form.private_key_path.placeholder": "请输入私钥文件本地路径", - "workflow_node.upload.form.private_key_url.label": "私钥文件 URL", - "workflow_node.upload.form.private_key_url.placeholder": "请输入私钥文件下载 URL", - - "workflow_node.monitor.label": "监控网站证书", - "workflow_node.monitor.default_name": "监控", - "workflow_node.monitor.form_anchor.parameters.tab": "参数设置", - "workflow_node.monitor.form.guide": "Certimate 将向目标地址发送一个 HEAD 请求来获取相应的域名证书,请确保该地址可通过 HTTPS 协议访问。", - "workflow_node.monitor.form.host.label": "主机地址", - "workflow_node.monitor.form.host.placeholder": "请输入主机地址(域名或 IP)", - "workflow_node.monitor.form.port.label": "主机端口", - "workflow_node.monitor.form.port.placeholder": "请输入主机端口", - "workflow_node.monitor.form.domain.label": "域名(可选)", - "workflow_node.monitor.form.domain.placeholder": "请输入域名", - "workflow_node.monitor.form.domain.help": "提示:仅当主机地址为 IP 时需要填写。", - "workflow_node.monitor.form.request_path.label": "请求路径(可选)", - "workflow_node.monitor.form.request_path.placeholder": "请输入请求路径", - - "workflow_node.deploy.label": "部署证书到 ...", - "workflow_node.deploy.default_name": "部署", - "workflow_node.deploy.form_anchor.parameters.tab": "参数设置", - "workflow_node.deploy.form_anchor.deployment.tab": "部署设置", - "workflow_node.deploy.form_anchor.deployment.title": "部署设置", - "workflow_node.deploy.form_anchor.strategy.tab": "执行策略", - "workflow_node.deploy.form_anchor.strategy.title": "执行策略", - "workflow_node.deploy.form.certificate_output_node_id.label": "待部署证书", - "workflow_node.deploy.form.certificate_output_node_id.placeholder": "请选择待部署证书", - "workflow_node.deploy.form.certificate_output_node_id.help": "提示:待部署证书来自之前的申请或上传节点,如果选项为空请先检查前序节点。", - "workflow_node.deploy.form.provider.label": "部署目标", - "workflow_node.deploy.form.provider.placeholder": "请选择部署目标", - "workflow_node.deploy.form.provider.search.placeholder": "搜索部署目标……", - "workflow_node.deploy.form.provider_access.label": "主机提供商授权", - "workflow_node.deploy.form.provider_access.placeholder": "请选择主机提供商授权", - "workflow_node.deploy.form.provider_access.button": "新建", - "workflow_node.deploy.form.shared_resource_type.label": "证书部署方式", - "workflow_node.deploy.form.shared_resource_type.placeholder": "请选择证书部署方式", - "workflow_node.deploy.form.shared_domain_match_pattern.label": "域名匹配模式", - "workflow_node.deploy.form.shared_domain_match_pattern.placeholder": "请选择部署域名匹配模式", - "workflow_node.deploy.form.shared_domain_match_pattern.option.exact.label": "精确匹配", - "workflow_node.deploy.form.shared_domain_match_pattern.option.wildcard.label": "通配符匹配(泛域名)", - "workflow_node.deploy.form.shared_domain_match_pattern.option.certsan.label": "根据证书自动匹配", - "workflow_node.deploy.form.shared_domain_match_pattern.help_wildcard": "注意:对于支持泛解析的站点,精确匹配一个泛域名仅包含该站点本身、不包括相关子域名站点。", - "workflow_node.deploy.form.shared_script_command.vartips": "支持的变量:
          1. ${CERTIMATE_DEPLOYER_CMDVAR_CERTIFICATE_PATH}
            证书文件路径,等同于表单中相应字段的值。
          2. ${CERTIMATE_DEPLOYER_CMDVAR_CERTIFICATE_SERVER_PATH}
            证书文件(仅含服务器证书)路径,等同于表单中相应字段的值。
          3. ${CERTIMATE_DEPLOYER_CMDVAR_CERTIFICATE_INTERMEDIA_PATH}
            证书文件(仅含中间证书)路径,等同于表单中相应字段的值。
          4. ${CERTIMATE_DEPLOYER_CMDVAR_PRIVATEKEY_PATH}
            私钥文件路径,等同于表单中相应字段的值。
          5. ${CERTIMATE_DEPLOYER_CMDVAR_PFX_PASSWORD}
            PFX 导出密码,等同于表单中相应字段的值。
          6. ${CERTIMATE_DEPLOYER_CMDVAR_JKS_ALIAS}
            JKS 别名,等同于表单中相应字段的值。
          7. ${CERTIMATE_DEPLOYER_CMDVAR_JKS_KEYPASS}
            JKS 私钥访问口令,等同于表单中相应字段的值。
          8. ${CERTIMATE_DEPLOYER_CMDVAR_JKS_STOREPASS}
            JKS 密钥库存储口令,等同于表单中相应字段的值。
          ", - "workflow_node.deploy.form.1panel_console_auto_restart.label": "部署后自动重启 1Panel 服务", - "workflow_node.deploy.form.1panel_site_node_name.label": "1Panel 子节点名称(可选)", - "workflow_node.deploy.form.1panel_site_node_name.placeholder": "请输入 1Panel 子节点名称", - "workflow_node.deploy.form.1panel_site_node_name.help": "提示:仅 1Panel v2+ 需要填写。不填写时,将替换主控节点证书;否则,将替换被控节点证书。", - "workflow_node.deploy.form.1panel_site_node_name.tooltip": "请登录 1Panel 面板查看", - "workflow_node.deploy.form.1panel_site_resource_type.option.website.label": "部署到指定网站", - "workflow_node.deploy.form.1panel_site_resource_type.option.certificate.label": "替换指定证书", - "workflow_node.deploy.form.1panel_site_website_match_pattern.label": "网站匹配模式", - "workflow_node.deploy.form.1panel_site_website_match_pattern.placeholder": "请选择部署网站匹配模式", - "workflow_node.deploy.form.1panel_site_website_match_pattern.option.specified.label": "指定 ID", - "workflow_node.deploy.form.1panel_site_website_match_pattern.option.certsan.label": "根据证书自动匹配", - "workflow_node.deploy.form.1panel_site_website_match_pattern.help_certsan": "注意:网站名称需要为域名、且包含开启了 SSL 的域名配置。", - "workflow_node.deploy.form.1panel_site_website_id.label": "1Panel 网站 ID", - "workflow_node.deploy.form.1panel_site_website_id.placeholder": "请输入 1Panel 网站 ID", - "workflow_node.deploy.form.1panel_site_website_id.tooltip": "请登录 1Panel 面板查看", - "workflow_node.deploy.form.1panel_site_certificate_id.label": "1Panel 证书 ID", - "workflow_node.deploy.form.1panel_site_certificate_id.placeholder": "请输入 1Panel 证书 ID", - "workflow_node.deploy.form.1panel_site_certificate_id.tooltip": "请登录 1Panel 面板查看", - "workflow_node.deploy.form.aliyun_alb_region.label": "阿里云服务地域", - "workflow_node.deploy.form.aliyun_alb_region.placeholder": "请输入阿里云 ALB 服务地域(例如:cn-hangzhou)", - "workflow_node.deploy.form.aliyun_alb_region.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/slb/application-load-balancer/product-overview/supported-regions-and-zones", - "workflow_node.deploy.form.aliyun_alb_resource_type.option.loadbalancer.label": "部署到指定负载均衡器下的全部 HTTPS/QUIC 监听器", - "workflow_node.deploy.form.aliyun_alb_resource_type.option.listener.label": "部署到指定 HTTPS/QUIC 监听器", - "workflow_node.deploy.form.aliyun_alb_loadbalancer_id.label": "阿里云 ALB 负载均衡器 ID", - "workflow_node.deploy.form.aliyun_alb_loadbalancer_id.placeholder": "请输入阿里云 ALB 负载均衡器 ID", - "workflow_node.deploy.form.aliyun_alb_loadbalancer_id.tooltip": "这是什么?请参阅 https://slb.console.aliyun.com/alb", - "workflow_node.deploy.form.aliyun_alb_listener_id.label": "阿里云 ALB 监听器 ID", - "workflow_node.deploy.form.aliyun_alb_listener_id.placeholder": "请输入阿里云 ALB 监听器 ID", - "workflow_node.deploy.form.aliyun_alb_listener_id.tooltip": "这是什么?请参阅 https://slb.console.aliyun.com/alb", - "workflow_node.deploy.form.aliyun_alb_snidomain.label": "阿里云 ALB 扩展域名(可选)", - "workflow_node.deploy.form.aliyun_alb_snidomain.placeholder": "请输入阿里云 ALB 扩展域名", - "workflow_node.deploy.form.aliyun_alb_snidomain.help": "提示:不填写时,将替换监听器的默认证书;否则,将替换扩展域名证书。", - "workflow_node.deploy.form.aliyun_apigw_region.label": "阿里云服务地域", - "workflow_node.deploy.form.aliyun_apigw_region.placeholder": "请输入阿里云 API 网关地域(例如:cn-hangzhou)", - "workflow_node.deploy.form.aliyun_apigw_region.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/api-gateway/cloud-native-api-gateway/product-overview/regions", - "workflow_node.deploy.form.aliyun_apigw_service_type.label": "阿里云 API 网关服务类型", - "workflow_node.deploy.form.aliyun_apigw_service_type.placeholder": "请选择阿里云 API 网关服务类型", - "workflow_node.deploy.form.aliyun_apigw_service_type.option.cloudnative.label": "云原生 API 网关", - "workflow_node.deploy.form.aliyun_apigw_service_type.option.traditional.label": "原 API 网关", - "workflow_node.deploy.form.aliyun_apigw_gateway_id.label": "阿里云 API 网关 ID", - "workflow_node.deploy.form.aliyun_apigw_gateway_id.placeholder": "请输入阿里云 API 网关 ID", - "workflow_node.deploy.form.aliyun_apigw_gateway_id.tooltip": "这是什么?请参阅 https://apigw.console.aliyun.com", - "workflow_node.deploy.form.aliyun_apigw_group_id.label": "阿里云 API 分组 ID", - "workflow_node.deploy.form.aliyun_apigw_group_id.placeholder": "请输入阿里云 API 分组 ID", - "workflow_node.deploy.form.aliyun_apigw_group_id.tooltip": "这是什么?请参阅 https://apigateway.console.aliyun.com", - "workflow_node.deploy.form.aliyun_apigw_domain.label": "阿里云 API 网关自定义域名", - "workflow_node.deploy.form.aliyun_apigw_domain.placeholder": "请输入阿里云 API 网关自定义域名", - "workflow_node.deploy.form.aliyun_cas_region.label": "阿里云服务地域", - "workflow_node.deploy.form.aliyun_cas_region.placeholder": "请输入阿里云 CAS 服务地域(例如:cn-hangzhou)", - "workflow_node.deploy.form.aliyun_cas_region.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/ssl-certificate/developer-reference/endpoints", - "workflow_node.deploy.form.aliyun_casdeploy.guide": "将通过阿里云 OpenAPI CreateDeploymentJob 接口创建异步部署任务。此部署目标若执行成功仅代表已创建部署任务,实际部署结果需要你自行前往阿里云控制台查询。", - "workflow_node.deploy.form.aliyun_casdeploy_region.label": "阿里云服务地域", - "workflow_node.deploy.form.aliyun_casdeploy_region.placeholder": "请输入阿里云 CAS 服务地域(例如:cn-hangzhou)", - "workflow_node.deploy.form.aliyun_casdeploy_region.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/ssl-certificate/developer-reference/endpoints", - "workflow_node.deploy.form.aliyun_casdeploy_resource_ids.label": "阿里云云产品资源 ID", - "workflow_node.deploy.form.aliyun_casdeploy_resource_ids.placeholder": "请输入阿里云云产品资源 ID(多个值请用半角分号隔开)", - "workflow_node.deploy.form.aliyun_casdeploy_resource_ids.errmsg.invalid": "请输入正确的阿里云云产品资源 ID", - "workflow_node.deploy.form.aliyun_casdeploy_resource_ids.help": "提示:支持多个 ID,以半角分号隔开。仅支持阿里云产品,注意与各产品本身的实例 ID 区分。", - "workflow_node.deploy.form.aliyun_casdeploy_resource_ids.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/ssl-certificate/developer-reference/api-cas-2020-04-07-listcloudresources", - "workflow_node.deploy.form.aliyun_casdeploy_resource_ids.multiple_input_modal.title": "修改阿里云云产品资源 ID", - "workflow_node.deploy.form.aliyun_casdeploy_resource_ids.multiple_input_modal.placeholder": "请输入阿里云云产品资源 ID", - "workflow_node.deploy.form.aliyun_casdeploy_contact_ids.label": "阿里云联系人 ID(可选)", - "workflow_node.deploy.form.aliyun_casdeploy_contact_ids.placeholder": "请输入阿里云联系人 ID(多个值请用半角分号隔开)", - "workflow_node.deploy.form.aliyun_casdeploy_contact_ids.errmsg.invalid": "请输入正确的阿里云联系人 ID", - "workflow_node.deploy.form.aliyun_casdeploy_contact_ids.help": "提示:支持多个 ID,以半角分号隔开。不填写时,将使用系统联系人列表中的第一个。", - "workflow_node.deploy.form.aliyun_casdeploy_contact_ids.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/ssl-certificate/developer-reference/api-cas-2020-04-07-listcontact", - "workflow_node.deploy.form.aliyun_casdeploy_contact_ids.multiple_input_modal.title": "修改阿里云联系人 ID", - "workflow_node.deploy.form.aliyun_casdeploy_contact_ids.multiple_input_modal.placeholder": "请输入阿里云联系人 ID", - "workflow_node.deploy.form.aliyun_clb_region.label": "阿里云服务地域", - "workflow_node.deploy.form.aliyun_clb_region.placeholder": "请输入阿里云 CLB 服务地域(例如:cn-hangzhou)", - "workflow_node.deploy.form.aliyun_clb_region.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/slb/classic-load-balancer/product-overview/regions-that-support-clb", - "workflow_node.deploy.form.aliyun_clb_resource_type.option.loadbalancer.label": "部署到指定负载均衡器下的全部 HTTPS 监听", - "workflow_node.deploy.form.aliyun_clb_resource_type.option.listener.label": "部署到指定 HTTPS 监听", - "workflow_node.deploy.form.aliyun_clb_loadbalancer_id.label": "阿里云 CLB 负载均衡器 ID", - "workflow_node.deploy.form.aliyun_clb_loadbalancer_id.placeholder": "请输入阿里云 CLB 负载均衡器 ID", - "workflow_node.deploy.form.aliyun_clb_loadbalancer_id.tooltip": "这是什么?请参阅 https://slb.console.aliyun.com/clb", - "workflow_node.deploy.form.aliyun_clb_listener_port.label": "阿里云 CLB 监听端口", - "workflow_node.deploy.form.aliyun_clb_listener_port.placeholder": "请输入阿里云 CLB 监听端口", - "workflow_node.deploy.form.aliyun_clb_listener_port.tooltip": "这是什么?请参阅 https://slb.console.aliyun.com/clb", - "workflow_node.deploy.form.aliyun_clb_snidomain.label": "阿里云 CLB 扩展域名(可选)", - "workflow_node.deploy.form.aliyun_clb_snidomain.placeholder": "请输入阿里云 CLB 扩展域名", - "workflow_node.deploy.form.aliyun_clb_snidomain.help": "提示:不填写时,将替换监听器的默认证书;否则,将替换扩展域名证书。", - "workflow_node.deploy.form.aliyun_cdn_region.label": "阿里云服务地域", - "workflow_node.deploy.form.aliyun_cdn_region.placeholder": "请输入阿里云 CDN 服务地域(例如:cn-hangzhou)", - "workflow_node.deploy.form.aliyun_cdn_region.tooltip": "中国站请填写 cn-hangzhou
          国际站请填写 ap-southeast-1。", - "workflow_node.deploy.form.aliyun_cdn_domain.label": "阿里云 CDN 加速域名", - "workflow_node.deploy.form.aliyun_cdn_domain.placeholder": "请输入阿里云 CDN 加速域名", - "workflow_node.deploy.form.aliyun_dcdn_region.label": "阿里云服务地域", - "workflow_node.deploy.form.aliyun_dcdn_region.placeholder": "请输入阿里云 DCDN 服务地域(例如:cn-hangzhou)", - "workflow_node.deploy.form.aliyun_dcdn_region.tooltip": "中国站请填写 cn-hangzhou
          国际站请填写 ap-southeast-1。", - "workflow_node.deploy.form.aliyun_dcdn_domain.label": "阿里云 DCDN 加速域名", - "workflow_node.deploy.form.aliyun_dcdn_domain.placeholder": "请输入阿里云 DCDN 加速域名", - "workflow_node.deploy.form.aliyun_ddospro_region.label": "阿里云服务地域", - "workflow_node.deploy.form.aliyun_ddospro_region.placeholder": "请输入阿里云 DDoS 高防服务地域(例如:cn-hangzhou)", - "workflow_node.deploy.form.aliyun_ddospro_region.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/anti-ddos/anti-ddos-pro-and-premium/developer-reference/api-ddoscoo-2020-01-01-endpoint", - "workflow_node.deploy.form.aliyun_ddospro_domain.label": "阿里云 DDoS 高防网站域名", - "workflow_node.deploy.form.aliyun_ddospro_domain.placeholder": "请输入阿里云 DDoS 高防网站域名", - "workflow_node.deploy.form.aliyun_esa_region.label": "阿里云服务地域", - "workflow_node.deploy.form.aliyun_esa_region.placeholder": "请输入阿里云 ESA 服务地域(例如:cn-hangzhou)", - "workflow_node.deploy.form.aliyun_esa_region.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/edge-security-acceleration/esa/api-esa-2024-09-10-endpoint", - "workflow_node.deploy.form.aliyun_esa_site_id.label": "阿里云 ESA 站点 ID", - "workflow_node.deploy.form.aliyun_esa_site_id.placeholder": "请输入阿里云 ESA 站点 ID", - "workflow_node.deploy.form.aliyun_esa_site_id.tooltip": "这是什么?请参阅 https://esa.console.aliyun.com/siteManage/list", - "workflow_node.deploy.form.aliyun_fc_region.label": "阿里云服务地域", - "workflow_node.deploy.form.aliyun_fc_region.placeholder": "请输入阿里云 FC 服务地域(例如:cn-hangzhou)", - "workflow_node.deploy.form.aliyun_fc_region.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/functioncompute/fc-3-0/product-overview/supported-regions", - "workflow_node.deploy.form.aliyun_fc_service_version.label": "阿里云 FC 服务版本", - "workflow_node.deploy.form.aliyun_fc_service_version.placeholder": "请选择阿里云 FC 服务版本", - "workflow_node.deploy.form.aliyun_fc_domain.label": "阿里云 FC 自定义域名", - "workflow_node.deploy.form.aliyun_fc_domain.placeholder": "请输入阿里云 FC 自定义域名", - "workflow_node.deploy.form.aliyun_ga_resource_type.option.accelerator.label": "部署到指定全球加速器下的全部 HTTPS 监听", - "workflow_node.deploy.form.aliyun_ga_resource_type.option.listener.label": "部署到指定 HTTPS 监听器", - "workflow_node.deploy.form.aliyun_ga_accelerator_id.label": "阿里云全球加速实例 ID", - "workflow_node.deploy.form.aliyun_ga_accelerator_id.placeholder": "请输入阿里云全球加速实例 ID", - "workflow_node.deploy.form.aliyun_ga_accelerator_id.tooltip": "这是什么?请参阅 https://ga.console.aliyun.com", - "workflow_node.deploy.form.aliyun_ga_listener_id.label": "阿里云全球加速监听 ID", - "workflow_node.deploy.form.aliyun_ga_listener_id.placeholder": "请输入阿里云全球加速监听 ID", - "workflow_node.deploy.form.aliyun_ga_listener_id.tooltip": "这是什么?请参阅 https://ga.console.aliyun.com", - "workflow_node.deploy.form.aliyun_ga_snidomain.label": "阿里云全球加速扩展域名(可选)", - "workflow_node.deploy.form.aliyun_ga_snidomain.placeholder": "请输入阿里云全球加速扩展域名", - "workflow_node.deploy.form.aliyun_ga_snidomain.help": "提示:不填写时,将替换监听器的默认证书;否则,将替换扩展域名证书。", - "workflow_node.deploy.form.aliyun_live_region.label": "阿里云服务地域", - "workflow_node.deploy.form.aliyun_live_region.placeholder": "请输入阿里云视频直播服务地域(例如:cn-hangzhou)", - "workflow_node.deploy.form.aliyun_live_region.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/live/product-overview/supported-regions", - "workflow_node.deploy.form.aliyun_live_domain.label": "阿里云视频直播流域名", - "workflow_node.deploy.form.aliyun_live_domain.placeholder": "请输入阿里云视频直播流域名", - "workflow_node.deploy.form.aliyun_nlb_region.label": "阿里云服务地域", - "workflow_node.deploy.form.aliyun_nlb_region.placeholder": "请输入阿里云 NLB 服务地域(例如:cn-hangzhou)", - "workflow_node.deploy.form.aliyun_nlb_region.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/slb/network-load-balancer/product-overview/regions-that-support-nlb", - "workflow_node.deploy.form.aliyun_nlb_resource_type.option.loadbalancer.label": "部署到指定负载均衡器下的全部 HTTPS/QUIC 监听器", - "workflow_node.deploy.form.aliyun_nlb_resource_type.option.listener.label": "部署到指定 HTTPS/QUIC 监听器", - "workflow_node.deploy.form.aliyun_nlb_loadbalancer_id.label": "阿里云 NLB 负载均衡器 ID", - "workflow_node.deploy.form.aliyun_nlb_loadbalancer_id.placeholder": "请输入阿里云 NLB 负载均衡器 ID", - "workflow_node.deploy.form.aliyun_nlb_loadbalancer_id.tooltip": "这是什么?请参阅 https://slb.console.aliyun.com/nlb", - "workflow_node.deploy.form.aliyun_nlb_listener_id.label": "阿里云 NLB 监听器 ID", - "workflow_node.deploy.form.aliyun_nlb_listener_id.placeholder": "请输入阿里云 NLB 监听器 ID", - "workflow_node.deploy.form.aliyun_nlb_listener_id.tooltip": "这是什么?请参阅 https://slb.console.aliyun.com/nlb", - "workflow_node.deploy.form.aliyun_oss_region.label": "阿里云服务地域", - "workflow_node.deploy.form.aliyun_oss_region.placeholder": "请输入阿里云 OSS 服务地域(例如:cn-hangzhou)", - "workflow_node.deploy.form.aliyun_oss_region.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/oss/user-guide/regions-and-endpoints", - "workflow_node.deploy.form.aliyun_oss_bucket.label": "阿里云 OSS 存储桶名", - "workflow_node.deploy.form.aliyun_oss_bucket.placeholder": "请输入阿里云 OSS 存储桶名", - "workflow_node.deploy.form.aliyun_oss_domain.label": "阿里云 OSS 自定义域名", - "workflow_node.deploy.form.aliyun_oss_domain.placeholder": "请输入阿里云 OSS 自定义域名", - "workflow_node.deploy.form.aliyun_vod_region.label": "阿里云服务地域", - "workflow_node.deploy.form.aliyun_vod_region.placeholder": "请输入阿里云视频点播服务地域(例如:cn-hangzhou)", - "workflow_node.deploy.form.aliyun_vod_region.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/vod/product-overview/regions", - "workflow_node.deploy.form.aliyun_vod_domain.label": "阿里云视频点播加速域名", - "workflow_node.deploy.form.aliyun_vod_domain.placeholder": "请输入阿里云视频点播加速域名", - "workflow_node.deploy.form.aliyun_waf_region.label": "阿里云服务地域", - "workflow_node.deploy.form.aliyun_waf_region.placeholder": "请输入阿里云 WAF 服务地域(例如:cn-hangzhou)", - "workflow_node.deploy.form.aliyun_waf_region.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/waf/web-application-firewall-3-0/developer-reference/api-waf-openapi-2021-10-01-endpoint", - "workflow_node.deploy.form.aliyun_waf_service_version.label": "阿里云 WAF 服务版本", - "workflow_node.deploy.form.aliyun_waf_service_version.placeholder": "请选择阿里云 WAF 服务版本", - "workflow_node.deploy.form.aliyun_waf_service_type.label": "阿里云 WAF 服务接入方式", - "workflow_node.deploy.form.aliyun_waf_service_type.placeholder": "请选择阿里云 WAF 服务接入方式", - "workflow_node.deploy.form.aliyun_waf_service_type.option.cloudresource.label": "云产品接入", - "workflow_node.deploy.form.aliyun_waf_service_type.option.cname.label": "CNAME 接入", - "workflow_node.deploy.form.aliyun_waf_instance_id.label": "阿里云 WAF 实例 ID", - "workflow_node.deploy.form.aliyun_waf_instance_id.placeholder": "请输入阿里云 WAF 实例 ID", - "workflow_node.deploy.form.aliyun_waf_instance_id.tooltip": "这是什么?请参阅 https://waf.console.aliyun.com", - "workflow_node.deploy.form.aliyun_waf_resource_product.label": "阿里云 WAF 云产品接入资源类型", - "workflow_node.deploy.form.aliyun_waf_resource_product.placeholder": "请选择 WAF 云产品接入资源类型", - "workflow_node.deploy.form.aliyun_waf_resource_id.label": "阿里云 WAF 云产品接入资源 ID", - "workflow_node.deploy.form.aliyun_waf_resource_id.placeholder": "请选择阿里云 WAF 云产品接入资源 ID", - "workflow_node.deploy.form.aliyun_waf_resource_port.label": "阿里云 WAF 云产品接入端口", - "workflow_node.deploy.form.aliyun_waf_resource_port.placeholder": "请选择阿里云 WAF 云产品接入端口", - "workflow_node.deploy.form.aliyun_waf_domain.label": "阿里云 WAF 扩展域名(可选)", - "workflow_node.deploy.form.aliyun_waf_domain.placeholder": "请输入阿里云 WAF 扩展域名", - "workflow_node.deploy.form.aliyun_waf_domain.help": "提示:不填写时,将替换实例的默认证书;否则,将替换扩展域名证书。", - "workflow_node.deploy.form.apisix_resource_type.option.certificate.label": "替换指定证书", - "workflow_node.deploy.form.apisix_certificate_id.label": "APISIX 证书 ID", - "workflow_node.deploy.form.apisix_certificate_id.placeholder": "请输入 APISIX 证书 ID", - "workflow_node.deploy.form.apisix_certificate_id.tooltip": "请登录 APISIX 控制台查看", - "workflow_node.deploy.form.aws_acm_region.label": "AWS 服务区域", - "workflow_node.deploy.form.aws_acm_region.placeholder": "请输入 AWS ACM 服务区域(例如:us-east-1)", - "workflow_node.deploy.form.aws_acm_region.tooltip": "这是什么?请参阅 https://docs.aws.amazon.com/zh_cn/general/latest/gr/rande.html#regional-endpoints", - "workflow_node.deploy.form.aws_acm_certificate_arn.label": "AWS ACM 证书 ARN(可选)", - "workflow_node.deploy.form.aws_acm_certificate_arn.placeholder": "请输入 AWS ACM 证书 ARN", - "workflow_node.deploy.form.aws_acm_certificate_arn.help": "提示:不填写时,将导入为新证书;否则,将替换原证书。", - "workflow_node.deploy.form.aws_cloudfront_region.label": "AWS 服务区域", - "workflow_node.deploy.form.aws_cloudfront_region.placeholder": "请输入 AWS CloudFront 服务区域(例如:us-east-1)", - "workflow_node.deploy.form.aws_cloudfront_region.tooltip": "这是什么?请参阅 https://docs.aws.amazon.com/zh_cn/general/latest/gr/rande.html#regional-endpoints", - "workflow_node.deploy.form.aws_cloudfront_distribution_id.label": "AWS CloudFront 分配 ID", - "workflow_node.deploy.form.aws_cloudfront_distribution_id.placeholder": "请输入 AWS CloudFront 分配 ID", - "workflow_node.deploy.form.aws_cloudfront_distribution_id.tooltip": "这是什么?请参阅 https://docs.aws.amazon.com/zh_cn/AmazonCloudFront/latest/DeveloperGuide/distribution-working-with.html", - "workflow_node.deploy.form.aws_cloudfront_certificate_source.label": "AWS CloudFront 证书来源", - "workflow_node.deploy.form.aws_cloudfront_certificate_source.placeholder": "请选择 AWS CloudFront 证书来源", - "workflow_node.deploy.form.aws_iam_region.label": "AWS 服务区域", - "workflow_node.deploy.form.aws_iam_region.placeholder": "请输入 AWS IAM 服务区域(例如:us-east-1)", - "workflow_node.deploy.form.aws_iam_region.tooltip": "这是什么?请参阅 https://docs.aws.amazon.com/zh_cn/general/latest/gr/rande.html#regional-endpoints", - "workflow_node.deploy.form.aws_iam_certificate_path.label": "AWS IAM 证书路径(可选)", - "workflow_node.deploy.form.aws_iam_certificate_path.placeholder": "请输入 AWS IAM 证书路径", - "workflow_node.deploy.form.aws_iam_certificate_path.errmsg.invalid": "请输入正确的 AWS IAM 证书路径", - "workflow_node.deploy.form.aws_iam_certificate_path.tooltip": "这是什么?请参阅 https://docs.aws.amazon.com/zh_cn/IAM/latest/UserGuide/reference_identifiers.html", - "workflow_node.deploy.form.azure_keyvault_name.label": "Azure KeyVault 名称", - "workflow_node.deploy.form.azure_keyvault_name.placeholder": "请输入 Azure KeyVault 名称", - "workflow_node.deploy.form.azure_keyvault_name.tooltip": "这是什么?请参阅 https://learn.microsoft.com/zh-cn/azure/key-vault/general/about-keys-secrets-certificates", - "workflow_node.deploy.form.azure_keyvault_certificate_name.label": "Azure KeyVault 证书名称(可选)", - "workflow_node.deploy.form.azure_keyvault_certificate_name.placeholder": "请输入 Azure KeyVault 证书名称", - "workflow_node.deploy.form.azure_keyvault_certificate_name.errmsg.invalid": "证书名称只能包含字母、数字和连字符(-),长度限制为 1 到 127 个字符", - "workflow_node.deploy.form.azure_keyvault_certificate_name.help": "提示:不填写时,将由 Certimate 自动生成证书名称。", - "workflow_node.deploy.form.baiducloud_appblb_region.label": "百度智能云服务地域", - "workflow_node.deploy.form.baiducloud_appblb_region.placeholder": "请输入百度智能云 BLB 服务地域(例如:bj)", - "workflow_node.deploy.form.baiducloud_appblb_region.tooltip": "这是什么?请参阅 https://cloud.baidu.com/doc/BLB/s/cjwvxnzix", - "workflow_node.deploy.form.baiducloud_appblb_resource_type.option.loadbalancer.label": "部署到指定负载均衡器下的全部 HTTPS/SSL 监听", - "workflow_node.deploy.form.baiducloud_appblb_resource_type.option.listener.label": "部署到指定 HTTPS/SSL 监听", - "workflow_node.deploy.form.baiducloud_appblb_loadbalancer_id.label": "百度智能云 BLB 负载均衡器 ID", - "workflow_node.deploy.form.baiducloud_appblb_loadbalancer_id.placeholder": "请输入百度智能云 BLB 负载均衡器 ID", - "workflow_node.deploy.form.baiducloud_appblb_loadbalancer_id.tooltip": "这是什么?请参阅 https://console.bce.baidu.com/blb/#/appblb/list", - "workflow_node.deploy.form.baiducloud_appblb_listener_port.label": "百度智能云 BLB 监听端口", - "workflow_node.deploy.form.baiducloud_appblb_listener_port.placeholder": "请输入百度智能云 BLB 监听端口", - "workflow_node.deploy.form.baiducloud_appblb_listener_port.tooltip": "这是什么?请参阅 https://console.bce.baidu.com/blb/#/appblb/list", - "workflow_node.deploy.form.baiducloud_appblb_snidomain.label": "百度智能云 BLB 扩展域名(可选)", - "workflow_node.deploy.form.baiducloud_appblb_snidomain.placeholder": "请输入百度智能云 BLB 扩展域名", - "workflow_node.deploy.form.baiducloud_appblb_snidomain.help": "提示:不填写时,将替换监听器的默认证书;否则,将替换扩展域名证书。", - "workflow_node.deploy.form.baiducloud_blb_region.label": "百度智能云服务地域", - "workflow_node.deploy.form.baiducloud_blb_region.placeholder": "请输入百度智能云 BLB 服务地域(例如:bj)", - "workflow_node.deploy.form.baiducloud_blb_region.tooltip": "这是什么?请参阅 https://cloud.baidu.com/doc/BLB/s/cjwvxnzix", - "workflow_node.deploy.form.baiducloud_blb_resource_type.option.loadbalancer.label": "部署到指定负载均衡器下的全部 HTTPS/SSL 监听", - "workflow_node.deploy.form.baiducloud_blb_resource_type.option.listener.label": "部署到指定 HTTPS/SSL 监听", - "workflow_node.deploy.form.baiducloud_blb_loadbalancer_id.label": "百度智能云 BLB 负载均衡器 ID", - "workflow_node.deploy.form.baiducloud_blb_loadbalancer_id.placeholder": "请输入百度智能云 BLB 负载均衡器 ID", - "workflow_node.deploy.form.baiducloud_blb_loadbalancer_id.tooltip": "这是什么?请参阅 https://console.bce.baidu.com/blb/#/blb/list", - "workflow_node.deploy.form.baiducloud_blb_listener_port.label": "百度智能云 BLB 监听端口", - "workflow_node.deploy.form.baiducloud_blb_listener_port.placeholder": "请输入百度智能云 BLB 监听端口", - "workflow_node.deploy.form.baiducloud_blb_listener_port.tooltip": "这是什么?请参阅 https://console.bce.baidu.com/blb/#/blb/list", - "workflow_node.deploy.form.baiducloud_blb_snidomain.label": "百度智能云 BLB 扩展域名(可选)", - "workflow_node.deploy.form.baiducloud_blb_snidomain.placeholder": "请输入百度智能云 BLB 扩展域名", - "workflow_node.deploy.form.baiducloud_blb_snidomain.help": "提示:不填写时,将替换监听器的默认证书;否则,将替换扩展域名证书。", - "workflow_node.deploy.form.baiducloud_cdn_domain.label": "百度智能云 CDN 加速域名", - "workflow_node.deploy.form.baiducloud_cdn_domain.placeholder": "请输入百度智能云 CDN 加速域名", - "workflow_node.deploy.form.baishan_cdn_resource_type.option.domain.label": "部署到指定加速域名", - "workflow_node.deploy.form.baishan_cdn_resource_type.option.certificate.label": "替换指定证书", - "workflow_node.deploy.form.baishan_cdn_domain.label": "白山云 CDN 加速域名", - "workflow_node.deploy.form.baishan_cdn_domain.placeholder": "请输入白山云 CDN 加速域名", - "workflow_node.deploy.form.baishan_cdn_certificate_id.label": "白山云 CDN 证书 ID", - "workflow_node.deploy.form.baishan_cdn_certificate_id.placeholder": "请输入白山云 CDN 证书 ID", - "workflow_node.deploy.form.baishan_cdn_certificate_id.tooltip": "这是什么?请参阅 https://cdnx.console.baishan.com/#/cdn/cert", - "workflow_node.deploy.form.baotapanel_console.guide": "需要宝塔面板 v8.3 或更高版本。", - "workflow_node.deploy.form.baotapanel_console_auto_restart.label": "部署后自动重启宝塔面板服务", - "workflow_node.deploy.form.baotapanel_site.guide": "需要宝塔面板 v8.3 或更高版本。", - "workflow_node.deploy.form.baotapanel_site_type.label": "宝塔面板网站类型", - "workflow_node.deploy.form.baotapanel_site_type.placeholder": "请选择宝塔面板网站类型", - "workflow_node.deploy.form.baotapanel_site_type.option.php.label": "PHP", - "workflow_node.deploy.form.baotapanel_site_type.option.any.label": "任意类型(需要宝塔面板 v9.4+)", - "workflow_node.deploy.form.baotapanel_site_names.label": "宝塔面板网站名称", - "workflow_node.deploy.form.baotapanel_site_names.placeholder": "请输入宝塔面板网站名称(多个值请用半角分号隔开)", - "workflow_node.deploy.form.baotapanel_site_names.errmsg.invalid": "请输入正确的宝塔面板网站名称", - "workflow_node.deploy.form.baotapanel_site_names.help": "提示:支持多个网站名称,以半角分号隔开。", - "workflow_node.deploy.form.baotapanel_site_names.tooltip": "请登录宝塔面板查看", - "workflow_node.deploy.form.baotapanel_site_names.multiple_input_modal.title": "修改宝塔面板网站名称", - "workflow_node.deploy.form.baotapanel_site_names.multiple_input_modal.placeholder": "请输入宝塔面板网站名称", - "workflow_node.deploy.form.baotapanelgo_site_type.label": "宝塔面板极速版网站类型", - "workflow_node.deploy.form.baotapanelgo_site_type.placeholder": "请选择宝塔面板极速版网站类型", - "workflow_node.deploy.form.baotapanelgo_site_type.option.php.label": "PHP 项目", - "workflow_node.deploy.form.baotapanelgo_site_type.option.java.label": "Java 项目", - "workflow_node.deploy.form.baotapanelgo_site_type.option.asp.label": ".NET 项目", - "workflow_node.deploy.form.baotapanelgo_site_type.option.go.label": "Golang 项目", - "workflow_node.deploy.form.baotapanelgo_site_type.option.python.label": "Python 项目", - "workflow_node.deploy.form.baotapanelgo_site_type.option.nodejs.label": "Node.js 项目", - "workflow_node.deploy.form.baotapanelgo_site_type.option.proxy.label": "反向代理", - "workflow_node.deploy.form.baotapanelgo_site_type.option.general.label": "通用项目", - "workflow_node.deploy.form.baotapanelgo_site_names.label": "宝塔面板极速版网站名称", - "workflow_node.deploy.form.baotapanelgo_site_names.placeholder": "请输入宝塔面板极速版网站名称(多个值请用半角分号隔开)", - "workflow_node.deploy.form.baotapanelgo_site_names.errmsg.invalid": "请输入正确的宝塔面板极速版网站名称", - "workflow_node.deploy.form.baotapanelgo_site_names.help": "提示:支持多个网站名称,以半角分号隔开。", - "workflow_node.deploy.form.baotapanelgo_site_names.tooltip": "请登录宝塔面板极速版查看", - "workflow_node.deploy.form.baotapanelgo_site_names.multiple_input_modal.title": "修改宝塔面板极速版网站名称", - "workflow_node.deploy.form.baotapanelgo_site_names.multiple_input_modal.placeholder": "请输入宝塔面板极速版网站名称", - "workflow_node.deploy.form.baotawaf_site_names.label": "堡塔云 WAF 网站名称", - "workflow_node.deploy.form.baotawaf_site_names.placeholder": "请输入堡塔云 WAF 网站名称(多个值请用半角分号隔开)", - "workflow_node.deploy.form.baotawaf_site_names.errmsg.invalid": "请输入正确的堡塔云 WAF 网站名称", - "workflow_node.deploy.form.baotawaf_site_names.help": "提示:支持多个网站名称,以半角分号隔开。", - "workflow_node.deploy.form.baotawaf_site_names.tooltip": "请登录堡塔云 WAF 查看", - "workflow_node.deploy.form.baotawaf_site_names.multiple_input_modal.title": "修改堡塔云 WAF 网站名称", - "workflow_node.deploy.form.baotawaf_site_names.multiple_input_modal.placeholder": "请输入堡塔云 WAF 网站名称", - "workflow_node.deploy.form.baotawaf_site_port.label": "堡塔云 WAF 网站 SSL 端口", - "workflow_node.deploy.form.baotawaf_site_port.placeholder": "请输入堡塔云 WAF 网站 SSL 端口", - "workflow_node.deploy.form.bunny_cdn_pull_zone_id.label": "Bunny CDN 拉取区域 ID", - "workflow_node.deploy.form.bunny_cdn_pull_zone_id.placeholder": "请输入 Bunny CDN 拉取区域 ID", - "workflow_node.deploy.form.bunny_cdn_pull_zone_id.tooltip": "这是什么?请参阅 https://dash.bunny.net/cdn", - "workflow_node.deploy.form.bunny_cdn_hostname.label": "Bunny CDN 主机名", - "workflow_node.deploy.form.bunny_cdn_hostname.placeholder": "请输入 Bunny CDN 主机名", - "workflow_node.deploy.form.bunny_cdn_hostname.tooltip": "这是什么?请参阅 https://dash.bunny.net/cdn", - "workflow_node.deploy.form.byteplus_cdn_domain.label": "BytePlus CDN 域名", - "workflow_node.deploy.form.byteplus_cdn_domain.placeholder": "请输入 BytePlus CDN 域名", - "workflow_node.deploy.form.cdnfly_resource_type.option.site.label": "部署到指定网站", - "workflow_node.deploy.form.cdnfly_resource_type.option.certificate.label": "替换指定证书", - "workflow_node.deploy.form.cdnfly_site_id.label": "Cdnfly 网站 ID", - "workflow_node.deploy.form.cdnfly_site_id.placeholder": "请输入 Cdnfly 网站 ID", - "workflow_node.deploy.form.cdnfly_site_id.tooltip": "请登录 Cdnfly 控制台查看", - "workflow_node.deploy.form.cdnfly_certificate_id.label": "Cdnfly 证书 ID", - "workflow_node.deploy.form.cdnfly_certificate_id.placeholder": "请输入 Cdnfly 证书 ID", - "workflow_node.deploy.form.cdnfly_certificate_id.tooltip": "请登录 Cdnfly 控制台查看", - "workflow_node.deploy.form.ctcccloud_ao_domain.label": "天翼云 AccessOne 加速域名", - "workflow_node.deploy.form.ctcccloud_ao_domain.placeholder": "请输入天翼云 AccessOne 加速域名", - "workflow_node.deploy.form.ctcccloud_cdn_domain.label": "天翼云 CDN 加速域名", - "workflow_node.deploy.form.ctcccloud_cdn_domain.placeholder": "请输入天翼云 CDN 加速域名", - "workflow_node.deploy.form.ctcccloud_elb_region_id.label": "天翼云资源池 ID", - "workflow_node.deploy.form.ctcccloud_elb_region_id.placeholder": "请输入天翼云 ELB 资源池 ID", - "workflow_node.deploy.form.ctcccloud_elb_region_id.tooltip": "这是什么?请参阅 https://www.ctyun.cn/document/10026755/10196575", - "workflow_node.deploy.form.ctcccloud_elb_resource_type.option.loadbalancer.label": "部署到指定负载均衡器下的全部 HTTPS 监听器", - "workflow_node.deploy.form.ctcccloud_elb_resource_type.option.listener.label": "部署到指定 HTTPS 监听器", - "workflow_node.deploy.form.ctcccloud_elb_loadbalancer_id.label": "天翼云 ELB 负载均衡器 ID", - "workflow_node.deploy.form.ctcccloud_elb_loadbalancer_id.placeholder": "请输入天翼云 ELB 负载均衡器 ID", - "workflow_node.deploy.form.ctcccloud_elb_loadbalancer_id.tooltip": "这是什么?请参阅 https://console.ctyun.cn/network/index/#/elb/elbList", - "workflow_node.deploy.form.ctcccloud_elb_listener_id.label": "天翼云 ELB 监听器 ID", - "workflow_node.deploy.form.ctcccloud_elb_listener_id.placeholder": "请输入天翼云 ELB 监听器 ID", - "workflow_node.deploy.form.ctcccloud_elb_listener_id.tooltip": "这是什么?请参阅 https://console.ctyun.cn/network/index/#/elb/elbList", - "workflow_node.deploy.form.ctcccloud_icdn_domain.label": "天翼云 ICDN 加速域名", - "workflow_node.deploy.form.ctcccloud_icdn_domain.placeholder": "请输入天翼云 ICDN 加速域名", - "workflow_node.deploy.form.ctcccloud_lvdn_domain.label": "天翼云 LVDN 加速域名", - "workflow_node.deploy.form.ctcccloud_lvdn_domain.placeholder": "请输入天翼云 LVDN 加速域名", - "workflow_node.deploy.form.dogecloud_cdn_domain.label": "多吉云 CDN 加速域名", - "workflow_node.deploy.form.dogecloud_cdn_domain.placeholder": "请输入多吉云 CDN 加速域名", - "workflow_node.deploy.form.flexcdn_resource_type.option.certificate.label": "替换指定证书", - "workflow_node.deploy.form.flexcdn_certificate_id.label": "FlexCDN 证书 ID", - "workflow_node.deploy.form.flexcdn_certificate_id.placeholder": "请输入 FlexCDN 证书 ID", - "workflow_node.deploy.form.flexcdn_certificate_id.tooltip": "请登录 FlexCDN 控制台查看", - "workflow_node.deploy.form.gcore_cdn_resource_id.label": "G-Core CDN 资源 ID", - "workflow_node.deploy.form.gcore_cdn_resource_id.placeholder": "请输入 G-Core CDN 资源 ID", - "workflow_node.deploy.form.gcore_cdn_resource_id.tooltip": "这是什么?请参阅 https://cdn.gcore.com/resources/list", - "workflow_node.deploy.form.gcore_cdn_certificate_id.label": "G-Core CDN 原证书 ID(可选)", - "workflow_node.deploy.form.gcore_cdn_certificate_id.placeholder": "请输入 G-Core CDN 原证书 ID", - "workflow_node.deploy.form.gcore_cdn_certificate_id.help": "提示:不填写时,将上传新证书;否则,将替换原证书。", - "workflow_node.deploy.form.gcore_cdn_certificate_id.tooltip": "这是什么?请参阅 https://cdn.gcore.com/ssl", - "workflow_node.deploy.form.goedge_resource_type.option.certificate.label": "替换指定证书", - "workflow_node.deploy.form.goedge_certificate_id.label": "GoEdge 证书 ID", - "workflow_node.deploy.form.goedge_certificate_id.placeholder": "请输入 GoEdge 证书 ID", - "workflow_node.deploy.form.goedge_certificate_id.tooltip": "请登录 GoEdge 控制台查看", - "workflow_node.deploy.form.huaweicloud_cdn_region.label": "华为云服务区域", - "workflow_node.deploy.form.huaweicloud_cdn_region.placeholder": "请输入华为云 CDN 服务区域(例如:cn-north-1)", - "workflow_node.deploy.form.huaweicloud_cdn_region.tooltip": "这是什么?请参阅 https://console.huaweicloud.com/apiexplorer/#/endpoint", - "workflow_node.deploy.form.huaweicloud_cdn_domain.label": "华为云 CDN 加速域名", - "workflow_node.deploy.form.huaweicloud_cdn_domain.placeholder": "请输入华为云 CDN 加速域名", - "workflow_node.deploy.form.huaweicloud_obs_region.label": "华为云服务区域", - "workflow_node.deploy.form.huaweicloud_obs_region.placeholder": "请输入华为云 OBS 服务区域(例如:cn-north-1)", - "workflow_node.deploy.form.huaweicloud_obs_region.tooltip": "这是什么?请参阅 https://console.huaweicloud.com/apiexplorer/#/endpoint", - "workflow_node.deploy.form.huaweicloud_obs_bucket.label": "华为云 OBS 存储桶名", - "workflow_node.deploy.form.huaweicloud_obs_bucket.placeholder": "请输入华为云 OBS 存储桶名", - "workflow_node.deploy.form.huaweicloud_obs_domain.label": "华为云 OBS 自定义域名", - "workflow_node.deploy.form.huaweicloud_obs_domain.placeholder": "请输入华为云 OBS 自定义域名", - "workflow_node.deploy.form.huaweicloud_elb_region.label": "华为云服务区域", - "workflow_node.deploy.form.huaweicloud_elb_region.placeholder": "请输入华为云 ELB 服务区域(例如:cn-north-1)", - "workflow_node.deploy.form.huaweicloud_elb_region.tooltip": "这是什么?请参阅 https://console.huaweicloud.com/apiexplorer/#/endpoint", - "workflow_node.deploy.form.huaweicloud_elb_resource_type.option.loadbalancer.label": "部署到指定负载均衡器下的全部 HTTPS 监听器", - "workflow_node.deploy.form.huaweicloud_elb_resource_type.option.listener.label": "部署到指定 HTTPS 监听器", - "workflow_node.deploy.form.huaweicloud_elb_resource_type.option.certificate.label": "替换指定证书", - "workflow_node.deploy.form.huaweicloud_elb_certificate_id.label": "华为云 ELB 证书 ID", - "workflow_node.deploy.form.huaweicloud_elb_certificate_id.placeholder": "请输入华为云 ELB 证书 ID", - "workflow_node.deploy.form.huaweicloud_elb_certificate_id.tooltip": "这是什么?请参阅 https://console.huaweicloud.com/vpc/#/elb/elbCert", - "workflow_node.deploy.form.huaweicloud_elb_loadbalancer_id.label": "华为云 ELB 负载均衡器 ID", - "workflow_node.deploy.form.huaweicloud_elb_loadbalancer_id.placeholder": "请输入华为云 ELB 负载均衡器 ID", - "workflow_node.deploy.form.huaweicloud_elb_loadbalancer_id.tooltip": "这是什么?请参阅 https://console.huaweicloud.com/vpc/#/elb/list/grid", - "workflow_node.deploy.form.huaweicloud_elb_listener_id.label": "华为云 ELB 监听器 ID", - "workflow_node.deploy.form.huaweicloud_elb_listener_id.placeholder": "请输入华为云 ELB 监听器 ID", - "workflow_node.deploy.form.huaweicloud_elb_listener_id.tooltip": "这是什么?请参阅 https://console.huaweicloud.com/vpc/#/elb/list/grid", - "workflow_node.deploy.form.huaweicloud_waf_region.label": "华为云服务区域", - "workflow_node.deploy.form.huaweicloud_waf_region.placeholder": "请输入华为云 WAF 服务区域(例如:cn-north-1)", - "workflow_node.deploy.form.huaweicloud_waf_region.tooltip": "这是什么?请参阅 https://console.huaweicloud.com/apiexplorer/#/endpoint", - "workflow_node.deploy.form.huaweicloud_waf_resource_type.option.cloudserver.label": "部署到指定云模式防护网站", - "workflow_node.deploy.form.huaweicloud_waf_resource_type.option.premiumhost.label": "部署到指定独享模式防护网站", - "workflow_node.deploy.form.huaweicloud_waf_resource_type.option.certificate.label": "替换指定证书", - "workflow_node.deploy.form.huaweicloud_waf_domain.label": "华为云 WAF 防护域名", - "workflow_node.deploy.form.huaweicloud_waf_domain.placeholder": "请输入华为云 WAF 防护域名", - "workflow_node.deploy.form.huaweicloud_waf_certificate_id.label": "华为云 WAF 证书 ID", - "workflow_node.deploy.form.huaweicloud_waf_certificate_id.placeholder": "请输入华为云 WAF 证书 ID", - "workflow_node.deploy.form.huaweicloud_waf_certificate_id.tooltip": "这是什么?请参阅 https://console.huaweicloud.com/console/#/waf/certificateManagement", - "workflow_node.deploy.form.jdcloud_alb_region_id.label": "京东云服务地域 ID", - "workflow_node.deploy.form.jdcloud_alb_region_id.placeholder": "请输入京东云 ALB 服务地域 ID(例如:cn-north-1", - "workflow_node.deploy.form.jdcloud_alb_region_id.tooltip": "这是什么?请参阅 https://docs.jdcloud.com/cn/common-declaration/api/introduction", - "workflow_node.deploy.form.jdcloud_alb_resource_type.option.loadbalancer.label": "部署到指定负载均衡器下的全部 HTTPS/TLS 监听", - "workflow_node.deploy.form.jdcloud_alb_resource_type.option.listener.label": "部署到指定 HTTPS/TLS 监听器", - "workflow_node.deploy.form.jdcloud_alb_loadbalancer_id.label": "京东云 ALB 负载均衡器 ID", - "workflow_node.deploy.form.jdcloud_alb_loadbalancer_id.placeholder": "请输入京东云 ALB 负载均衡器 ID", - "workflow_node.deploy.form.jdcloud_alb_loadbalancer_id.tooltip": "这是什么?请参阅 https://cns-console.jdcloud.com/host/loadBalance/list", - "workflow_node.deploy.form.jdcloud_alb_listener_id.label": "京东云 ALB 监听器 ID", - "workflow_node.deploy.form.jdcloud_alb_listener_id.placeholder": "请输入京东云 ALB 监听器 ID", - "workflow_node.deploy.form.jdcloud_alb_listener_id.tooltip": "这是什么?请参阅 https://cns-console.jdcloud.com/host/loadBalance/list", - "workflow_node.deploy.form.jdcloud_alb_snidomain.label": "京东云 ALB 扩展域名(可选)", - "workflow_node.deploy.form.jdcloud_alb_snidomain.placeholder": "请输入京东云 ALB 扩展域名", - "workflow_node.deploy.form.jdcloud_alb_snidomain.help": "提示:不填写时,将替换监听器的默认证书;否则,将替换扩展域名证书。", - "workflow_node.deploy.form.jdcloud_cdn_domain.label": "京东云 CDN 加速域名", - "workflow_node.deploy.form.jdcloud_cdn_domain.placeholder": "请输入京东云 CDN 加速域名", - "workflow_node.deploy.form.jdcloud_live_domain.label": "京东云视频直播播放域名", - "workflow_node.deploy.form.jdcloud_live_domain.placeholder": "请输入京东云视频直播播放域名", - "workflow_node.deploy.form.jdcloud_vod_domain.label": "京东云视频点播加速域名", - "workflow_node.deploy.form.jdcloud_vod_domain.placeholder": "请输入京东云视频点播加速域名", - "workflow_node.deploy.form.k8s_namespace.label": "Kubernetes 命名空间", - "workflow_node.deploy.form.k8s_namespace.placeholder": "请输入 Kubernetes 命名空间", - "workflow_node.deploy.form.k8s_namespace.tooltip": "这是什么?请参阅 https://kubernetes.io/zh-cn/docs/concepts/overview/working-with-objects/namespaces/", - "workflow_node.deploy.form.k8s_secret_name.label": "Kubernetes Secret 名称", - "workflow_node.deploy.form.k8s_secret_name.placeholder": "请输入 Kubernetes Secret 名称", - "workflow_node.deploy.form.k8s_secret_name.tooltip": "这是什么?请参阅 https://kubernetes.io/zh-cn/docs/concepts/configuration/secret/", - "workflow_node.deploy.form.k8s_secret_type.label": "Kubernetes Secret 类型", - "workflow_node.deploy.form.k8s_secret_type.placeholder": "请输入 Kubernetes Secret 类型", - "workflow_node.deploy.form.k8s_secret_type.tooltip": "这是什么?请参阅 https://kubernetes.io/zh-cn/docs/concepts/configuration/secret/", - "workflow_node.deploy.form.k8s_secret_data_key_for_crt.label": "Kubernetes Secret 数据键(用于存放证书的字段)", - "workflow_node.deploy.form.k8s_secret_data_key_for_crt.placeholder": "请输入 Kubernetes Secret 中用于存放证书的数据键", - "workflow_node.deploy.form.k8s_secret_data_key_for_crt.tooltip": "这是什么?请参阅 https://kubernetes.io/zh-cn/docs/concepts/configuration/secret/", - "workflow_node.deploy.form.k8s_secret_data_key_for_key.label": "Kubernetes Secret 数据键(用于存放私钥的字段)", - "workflow_node.deploy.form.k8s_secret_data_key_for_key.placeholder": "请输入 Kubernetes Secret 中用于存放私钥的数据键", - "workflow_node.deploy.form.k8s_secret_data_key_for_key.tooltip": "这是什么?请参阅 https://kubernetes.io/zh-cn/docs/concepts/configuration/secret/", - "workflow_node.deploy.form.k8s_secret_annotations.label": "Kubernetes Secret 注解(可选)", - "workflow_node.deploy.form.k8s_secret_annotations.placeholder": "请输入 Kubernetes Secret 注解", - "workflow_node.deploy.form.k8s_secret_annotations.help": "提示:每行一个键值对,以分号分隔。", - "workflow_node.deploy.form.k8s_secret_annotations.errmsg.invalid": "请输入有效的注解键值对", - "workflow_node.deploy.form.k8s_secret_annotations.tooltip": "示例:
          environment: production
          app: nginx
          ", - "workflow_node.deploy.form.k8s_secret_labels.label": "Kubernetes Secret 标签(可选)", - "workflow_node.deploy.form.k8s_secret_labels.placeholder": "请输入 Kubernetes Secret 标签", - "workflow_node.deploy.form.k8s_secret_labels.help": "提示:每行一个键值对,以分号分隔。", - "workflow_node.deploy.form.k8s_secret_labels.errmsg.invalid": "请输入有效的标签键值对", - "workflow_node.deploy.form.k8s_secret_labels.tooltip": "示例:
          environment: production
          app: nginx
          ", - "workflow_node.deploy.form.kong_resource_type.option.certificate.label": "替换指定证书", - "workflow_node.deploy.form.kong_workspace.label": "Kong 工作空间(可选)", - "workflow_node.deploy.form.kong_workspace.placeholder": "请输入 Kong 工作空间", - "workflow_node.deploy.form.kong_workspace.tooltip": "请登录 Kong 控制台查看", - "workflow_node.deploy.form.kong_certificate_id.label": "Kong 证书 ID", - "workflow_node.deploy.form.kong_certificate_id.placeholder": "请输入 Kong 证书 ID", - "workflow_node.deploy.form.kong_certificate_id.tooltip": "请登录 Kong 控制台查看", - "workflow_node.deploy.form.ksyun_cdn_resource_type.option.domain.label": "部署到指定加速域名", - "workflow_node.deploy.form.ksyun_cdn_resource_type.option.certificate.label": "替换指定证书", - "workflow_node.deploy.form.ksyun_cdn_domain.label": "金山云 CDN 加速域名", - "workflow_node.deploy.form.ksyun_cdn_domain.placeholder": "请输入金山云 CDN 加速域名", - "workflow_node.deploy.form.ksyun_cdn_certificate_id.label": "金山云 CDN 证书 ID", - "workflow_node.deploy.form.ksyun_cdn_certificate_id.placeholder": "请输入金山云 CDN 证书 ID", - "workflow_node.deploy.form.ksyun_cdn_certificate_id.tooltip": "这是什么?请参阅 https://cdn.console.ksyun.com/", - "workflow_node.deploy.form.lecdn_resource_type.option.certificate.label": "替换指定证书", - "workflow_node.deploy.form.lecdn_certificate_id.label": "LeCDN 证书 ID", - "workflow_node.deploy.form.lecdn_certificate_id.placeholder": "请输入 LeCDN 证书 ID", - "workflow_node.deploy.form.lecdn_certificate_id.tooltip": "请登录 LeCDN 控制台查看", - "workflow_node.deploy.form.lecdn_client_id.label": "LeCDN 客户 ID(可选)", - "workflow_node.deploy.form.lecdn_client_id.placeholder": "请输入 LeCDN 客户 ID", - "workflow_node.deploy.form.lecdn_client_id.tooltip": "请登录 LeCDN 控制台查看。
          使用的是系统管理员的授权信息时必填,需与证书所属客户相同。", - "workflow_node.deploy.form.local.guide": "如果你正在使用 Docker 运行 Certimate,「本地」指的是容器内而非宿主机。", - "workflow_node.deploy.form.local_format.label": "文件格式", - "workflow_node.deploy.form.local_format.placeholder": "请选择文件格式", - "workflow_node.deploy.form.local_format.option.pem.label": "PEM 格式(*.pem, *.crt, *.key)", - "workflow_node.deploy.form.local_format.option.pfx.label": "PFX 格式(*.pfx, *.p12)", - "workflow_node.deploy.form.local_format.option.jks.label": "JKS 格式(*.jks)", - "workflow_node.deploy.form.local_key_path.label": "私钥文件保存路径", - "workflow_node.deploy.form.local_key_path.placeholder": "请输入私钥文件本地路径", - "workflow_node.deploy.form.local_key_path.help": "注意:路径需包含完整的文件名,而不是只有目录。", - "workflow_node.deploy.form.local_cert_path.label": "证书文件保存路径", - "workflow_node.deploy.form.local_cert_path.placeholder": "请输入证书文件本地路径", - "workflow_node.deploy.form.local_cert_path.help": "注意:路径需包含完整的文件名,而不是只有目录。", - "workflow_node.deploy.form.local_fullchaincert_path.label": "证书链文件保存路径", - "workflow_node.deploy.form.local_fullchaincert_path.placeholder": "请输入证书链文件本地路径", - "workflow_node.deploy.form.local_servercert_path.label": "服务器证书文件保存路径(可选)", - "workflow_node.deploy.form.local_servercert_path.placeholder": "请输入服务器证书文件本地路径", - "workflow_node.deploy.form.local_servercert_path.help": "注意:路径需包含完整的文件名,而不是只有目录。不填写时将不会保存服务器证书。", - "workflow_node.deploy.form.local_intermediacert_path.label": "中间证书文件保存路径(可选)", - "workflow_node.deploy.form.local_intermediacert_path.placeholder": "请输入中间证书文件本地路径", - "workflow_node.deploy.form.local_intermediacert_path.help": "注意:路径需包含完整的文件名,而不是只有目录。不填写时将不会保存中间证书。", - "workflow_node.deploy.form.local_pfx_password.label": "PFX 导出密码", - "workflow_node.deploy.form.local_pfx_password.placeholder": "请输入 PFX 导出密码", - "workflow_node.deploy.form.local_pfx_password.tooltip": "这是什么?请参阅 https://learn.microsoft.com/zh-cn/windows-hardware/drivers/install/personal-information-exchange---pfx--files", - "workflow_node.deploy.form.local_jks_alias.label": "JKS 别名", - "workflow_node.deploy.form.local_jks_alias.placeholder": "请输入 JKS 别名", - "workflow_node.deploy.form.local_jks_alias.tooltip": "这是什么?请参阅 https://docs.oracle.com/cd/E19509-01/820-3503/ggfen/index.html", - "workflow_node.deploy.form.local_jks_keypass.label": "JKS 私钥访问口令", - "workflow_node.deploy.form.local_jks_keypass.placeholder": "请输入 JKS 私钥访问口令", - "workflow_node.deploy.form.local_jks_keypass.tooltip": "这是什么?请参阅 https://docs.oracle.com/cd/E19509-01/820-3503/ggfen/index.html", - "workflow_node.deploy.form.local_jks_storepass.label": "JKS 密钥库存储口令", - "workflow_node.deploy.form.local_jks_storepass.placeholder": "请输入 JKS 密钥库存储口令", - "workflow_node.deploy.form.local_jks_storepass.tooltip": "这是什么?请参阅 https://docs.oracle.com/cd/E19509-01/820-3503/ggfen/index.html", - "workflow_node.deploy.form.local_shell_env.label": "命令执行环境", - "workflow_node.deploy.form.local_shell_env.placeholder": "请选择命令执行环境", - "workflow_node.deploy.form.local_shell_env.option.sh.label": "POSIX Bash(Linux / macOS)", - "workflow_node.deploy.form.local_shell_env.option.cmd.label": "CMD(Windows)", - "workflow_node.deploy.form.local_shell_env.option.powershell.label": "PowerShell(Windows)", - "workflow_node.deploy.form.local_pre_command.label": "前置命令(可选)", - "workflow_node.deploy.form.local_pre_command.placeholder": "请输入保存文件前执行的命令", - "workflow_node.deploy.form.local_post_command.label": "后置命令(可选)", - "workflow_node.deploy.form.local_post_command.placeholder": "请输入保存文件后执行的命令", - "workflow_node.deploy.form.local_preset_scripts.sh_backup_files": "POSIX Bash - 备份原证书文件", - "workflow_node.deploy.form.local_preset_scripts.ps_backup_files": "PowerShell - 备份原证书文件", - "workflow_node.deploy.form.local_preset_scripts.sh_reload_nginx": "POSIX Bash - 重启 nginx 进程", - "workflow_node.deploy.form.local_preset_scripts.ps_binding_iis": "PowerShell - 导入并绑定到 IIS", - "workflow_node.deploy.form.local_preset_scripts.ps_binding_netsh": "PowerShell - 导入并绑定到 netsh", - "workflow_node.deploy.form.local_preset_scripts.ps_binding_rdp": "PowerShell - 导入并绑定到 RDP", - "workflow_node.deploy.form.netlify_site_id.label": "Netlify 网站 ID", - "workflow_node.deploy.form.netlify_site_id.placeholder": "请输入 netlify 网站 ID", - "workflow_node.deploy.form.netlify_site_id.tooltip": "这是什么?请参阅 https://docs.netlify.com/api/get-started/#get-site", - "workflow_node.deploy.form.proxmoxve_node_name.label": "Proxmox VE 集群节点名称", - "workflow_node.deploy.form.proxmoxve_node_name.placeholder": "请输入 Proxmox VE 集群节点名称", - "workflow_node.deploy.form.proxmoxve_auto_restart.label": "部署后自动重启 Proxmox VE 服务", - "workflow_node.deploy.form.qiniu_cdn_domain.label": "七牛云 CDN 加速域名", - "workflow_node.deploy.form.qiniu_cdn_domain.placeholder": "请输入七牛云 CDN 加速域名", - "workflow_node.deploy.form.qiniu_kodo_bucket.label": "七牛云对象存储桶名", - "workflow_node.deploy.form.qiniu_kodo_bucket.placeholder": "请输入七牛云对象存储桶名", - "workflow_node.deploy.form.qiniu_kodo_domain.label": "七牛云对象存储自定义域名", - "workflow_node.deploy.form.qiniu_kodo_domain.placeholder": "请输入七牛云对象存储自定义域名", - "workflow_node.deploy.form.qiniu_pili_hub.label": "七牛云视频直播空间名", - "workflow_node.deploy.form.qiniu_pili_hub.placeholder": "请输入七牛云视频直播空间名", - "workflow_node.deploy.form.qiniu_pili_hub.tooltip": "这是什么?请参阅 https://portal.qiniu.com/hub", - "workflow_node.deploy.form.qiniu_pili_domain.label": "七牛云视频直播流域名", - "workflow_node.deploy.form.qiniu_pili_domain.placeholder": "请输入七牛云视频直播流域名", - "workflow_node.deploy.form.rainyun_rcdn_resource_type.option.domain.label": "部署到指定加速域名", - "workflow_node.deploy.form.rainyun_rcdn_resource_type.option.certificate.label": "替换指定证书", - "workflow_node.deploy.form.rainyun_rcdn_instance_id.label": "雨云 RCDN 实例 ID", - "workflow_node.deploy.form.rainyun_rcdn_instance_id.placeholder": "请输入雨云 RCDN 实例 ID", - "workflow_node.deploy.form.rainyun_rcdn_instance_id.tooltip": "这是什么?请参阅 https://app.rainyun.com/apps/rcdn/list", - "workflow_node.deploy.form.rainyun_rcdn_domain.label": "雨云 RCDN 加速域名", - "workflow_node.deploy.form.rainyun_rcdn_domain.placeholder": "请输入雨云 RCDN 加速域名", - "workflow_node.deploy.form.rainyun_rcdn_certificate_id.label": "雨云 RCDN 证书 ID", - "workflow_node.deploy.form.rainyun_rcdn_certificate_id.placeholder": "请输入雨云 RCDN 证书 ID", - "workflow_node.deploy.form.rainyun_rcdn_certificate_id.tooltip": "这是什么?请参阅 https://app.rainyun.com/apps/ssl/list", - "workflow_node.deploy.form.ratpanel_site_names.label": "耗子面板网站名称", - "workflow_node.deploy.form.ratpanel_site_names.placeholder": "请输入耗子面板网站名称(多个值请用半角分号隔开)", - "workflow_node.deploy.form.ratpanel_site_names.errmsg.invalid": "请输入正确的耗子面板网站名称", - "workflow_node.deploy.form.ratpanel_site_names.help": "提示:支持多个网站名称,以半角分号隔开。", - "workflow_node.deploy.form.ratpanel_site_names.tooltip": "请登录耗子面板查看", - "workflow_node.deploy.form.ratpanel_site_names.multiple_input_modal.title": "修改耗子面板网站名称", - "workflow_node.deploy.form.ratpanel_site_names.multiple_input_modal.placeholder": "请输入耗子面板网站名称", - "workflow_node.deploy.form.safeline_site_resource_type.option.certificate.label": "替换指定证书", - "workflow_node.deploy.form.safeline_site_certificate_id.label": "雷池证书 ID", - "workflow_node.deploy.form.safeline_site_certificate_id.placeholder": "请输入雷池证书 ID", - "workflow_node.deploy.form.safeline_site_certificate_id.tooltip": "请登录雷池控制台查看", - "workflow_node.deploy.form.ssh_format.label": "文件格式", - "workflow_node.deploy.form.ssh_format.placeholder": "请选择文件格式", - "workflow_node.deploy.form.ssh_format.option.pem.label": "PEM 格式(*.pem, *.crt, *.key)", - "workflow_node.deploy.form.ssh_format.option.pfx.label": "PFX 格式(*.pfx, *.p12)", - "workflow_node.deploy.form.ssh_format.option.jks.label": "JKS 格式(*.jks)", - "workflow_node.deploy.form.ssh_key_path.label": "私钥文件保存路径", - "workflow_node.deploy.form.ssh_key_path.placeholder": "请输入私钥文件远程路径", - "workflow_node.deploy.form.ssh_key_path.help": "注意:路径需包含完整的文件名,而不是只有目录。", - "workflow_node.deploy.form.ssh_cert_path.label": "证书文件保存路径", - "workflow_node.deploy.form.ssh_cert_path.placeholder": "请输入证书文件远程路径", - "workflow_node.deploy.form.ssh_cert_path.help": "注意:路径需包含完整的文件名,而不是只有目录。", - "workflow_node.deploy.form.ssh_fullchaincert_path.label": "证书链文件保存路径", - "workflow_node.deploy.form.ssh_fullchaincert_path.placeholder": "请输入证书链文件远程路径", - "workflow_node.deploy.form.ssh_servercert_path.label": "服务器证书文件保存路径(可选)", - "workflow_node.deploy.form.ssh_servercert_path.placeholder": "请输入服务器证书文件远程路径", - "workflow_node.deploy.form.ssh_servercert_path.help": "注意:路径需包含完整的文件名,而不是只有目录。不填写时将不上传服务器证书。", - "workflow_node.deploy.form.ssh_intermediacert_path.label": "中间证书文件保存路径(可选)", - "workflow_node.deploy.form.ssh_intermediacert_path.placeholder": "请输入中间证书文件远程路径", - "workflow_node.deploy.form.ssh_intermediacert_path.help": "注意:路径需包含完整的文件名,而不是只有目录。不填写时将不上传中间证书。", - "workflow_node.deploy.form.ssh_pfx_password.label": "PFX 导出密码", - "workflow_node.deploy.form.ssh_pfx_password.placeholder": "请输入 PFX 导出密码", - "workflow_node.deploy.form.ssh_pfx_password.tooltip": "这是什么?请参阅 https://learn.microsoft.com/zh-cn/windows-hardware/drivers/install/personal-information-exchange---pfx--files", - "workflow_node.deploy.form.ssh_jks_alias.label": "JKS 别名", - "workflow_node.deploy.form.ssh_jks_alias.placeholder": "请输入 JKS 别名", - "workflow_node.deploy.form.ssh_jks_alias.tooltip": "这是什么?请参阅 https://docs.oracle.com/cd/E19509-01/820-3503/ggfen/index.html", - "workflow_node.deploy.form.ssh_jks_keypass.label": "JKS 私钥访问口令", - "workflow_node.deploy.form.ssh_jks_keypass.placeholder": "请输入 JKS 私钥访问口令", - "workflow_node.deploy.form.ssh_jks_keypass.tooltip": "这是什么?请参阅 https://docs.oracle.com/cd/E19509-01/820-3503/ggfen/index.html", - "workflow_node.deploy.form.ssh_jks_storepass.label": "JKS 密钥库存储口令", - "workflow_node.deploy.form.ssh_jks_storepass.placeholder": "请输入 JKS 密钥库存储口令", - "workflow_node.deploy.form.ssh_jks_storepass.tooltip": "这是什么?请参阅 https://docs.oracle.com/cd/E19509-01/820-3503/ggfen/index.html", - "workflow_node.deploy.form.ssh_pre_command.label": "前置命令(可选)", - "workflow_node.deploy.form.ssh_pre_command.placeholder": "请输入上传文件前执行的命令", - "workflow_node.deploy.form.ssh_post_command.label": "后置命令(可选)", - "workflow_node.deploy.form.ssh_post_command.placeholder": "请输入上传文件后执行的命令", - "workflow_node.deploy.form.ssh_preset_scripts.sh_backup_files": "POSIX Bash - 备份原证书文件", - "workflow_node.deploy.form.ssh_preset_scripts.ps_backup_files": "PowerShell - 备份原证书文件", - "workflow_node.deploy.form.ssh_preset_scripts.sh_reload_nginx": "POSIX Bash - 重启 nginx 进程", - "workflow_node.deploy.form.ssh_preset_scripts.sh_replace_synologydsm_ssl": "POSIX Bash - 替换群晖 DSM 证书", - "workflow_node.deploy.form.ssh_preset_scripts.sh_replace_fnos_ssl": "POSIX Bash - 替换飞牛 fnOS 证书", - "workflow_node.deploy.form.ssh_preset_scripts.sh_replace_qnap_ssl": "POSIX Bash - 替换威联通 QNAP 证书", - "workflow_node.deploy.form.ssh_preset_scripts.ps_binding_iis": "PowerShell - 导入并绑定到 IIS", - "workflow_node.deploy.form.ssh_preset_scripts.ps_binding_netsh": "PowerShell - 导入并绑定到 netsh", - "workflow_node.deploy.form.ssh_preset_scripts.ps_binding_rdp": "PowerShell - 导入并绑定到 RDP", - "workflow_node.deploy.form.ssh_use_scp.label": "回退使用 SCP", - "workflow_node.deploy.form.ssh_use_scp.tooltip": "如果你的远程服务器不支持 SFTP,请开启此选项回退为 SCP。", - "workflow_node.deploy.form.tencentcloud_cdn_endpoint.label": "腾讯云接口端点(可选)", - "workflow_node.deploy.form.tencentcloud_cdn_endpoint.placeholder": "请输入腾讯云 CDN 接口端点(例如:cdn.tencentcloudapi.com)", - "workflow_node.deploy.form.tencentcloud_cdn_endpoint.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/228/30976
          国际站用户请填写 cdn.intl.tencentcloudapi.com。", - "workflow_node.deploy.form.tencentcloud_cdn_domain.label": "腾讯云 CDN 加速域名", - "workflow_node.deploy.form.tencentcloud_cdn_domain.placeholder": "请输入腾讯云 CDN 加速域名", - "workflow_node.deploy.form.tencentcloud_clb_endpoint.label": "腾讯云接口端点(可选)", - "workflow_node.deploy.form.tencentcloud_clb_endpoint.placeholder": "请输入腾讯云 CLB 接口端点(例如:clb.tencentcloudapi.com)", - "workflow_node.deploy.form.tencentcloud_clb_endpoint.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/214/30669
          国际站用户请填写 clb.intl.tencentcloudapi.com。", - "workflow_node.deploy.form.tencentcloud_clb_region.label": "腾讯云服务地域", - "workflow_node.deploy.form.tencentcloud_clb_region.placeholder": "请输入腾讯云 CLB 服务地域(例如:ap-guangzhou)", - "workflow_node.deploy.form.tencentcloud_clb_region.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/214/33415", - "workflow_node.deploy.form.tencentcloud_clb_resource_type.option.loadbalancer.label": "部署到指定实例下的全部 HTTPS/TCPSSL/QUIC 监听器", - "workflow_node.deploy.form.tencentcloud_clb_resource_type.option.listener.label": "部署到指定 HTTPS/TCPSSL/QUIC 监听器", - "workflow_node.deploy.form.tencentcloud_clb_resource_type.option.ruledomain.label": "部署到指定七层监听转发规则域名", - "workflow_node.deploy.form.tencentcloud_clb_loadbalancer_id.label": "腾讯云 CLB 实例 ID", - "workflow_node.deploy.form.tencentcloud_clb_loadbalancer_id.placeholder": "请输入腾讯云 CLB 实例 ID", - "workflow_node.deploy.form.tencentcloud_clb_loadbalancer_id.tooltip": "这是什么?请参阅 https://console.cloud.tencent.com/clb", - "workflow_node.deploy.form.tencentcloud_clb_listener_id.label": "腾讯云 CLB 监听器 ID", - "workflow_node.deploy.form.tencentcloud_clb_listener_id.placeholder": "请输入腾讯云 CLB 监听器 ID", - "workflow_node.deploy.form.tencentcloud_clb_listener_id.tooltip": "这是什么?请参阅 https://console.cloud.tencent.com/clb", - "workflow_node.deploy.form.tencentcloud_clb_ruledomain.label": "腾讯云 CLB 七层转发规则域名", - "workflow_node.deploy.form.tencentcloud_clb_ruledomain.placeholder": "请输入腾讯云 CLB 七层转发规则域名", - "workflow_node.deploy.form.tencentcloud_cos_region.label": "腾讯云服务地域", - "workflow_node.deploy.form.tencentcloud_cos_region.placeholder": "请输入腾讯云 COS 服务地域(例如:ap-guangzhou)", - "workflow_node.deploy.form.tencentcloud_cos_region.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/436/6224", - "workflow_node.deploy.form.tencentcloud_cos_bucket.label": "腾讯云 COS 存储桶名", - "workflow_node.deploy.form.tencentcloud_cos_bucket.placeholder": "请输入腾讯云 COS 存储桶名", - "workflow_node.deploy.form.tencentcloud_cos_domain.label": "腾讯云 COS 自定义域名", - "workflow_node.deploy.form.tencentcloud_cos_domain.placeholder": "请输入腾讯云 COS 自定义域名", - "workflow_node.deploy.form.tencentcloud_css_endpoint.label": "腾讯云接口端点(可选)", - "workflow_node.deploy.form.tencentcloud_css_endpoint.placeholder": "请输入腾讯云云直播接口端点(例如:live.tencentcloudapi.com)", - "workflow_node.deploy.form.tencentcloud_css_endpoint.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/267/20458
          国际站用户请填写 live.intl.tencentcloudapi.com。", - "workflow_node.deploy.form.tencentcloud_css_domain.label": "腾讯云云直播播放域名", - "workflow_node.deploy.form.tencentcloud_css_domain.placeholder": "请输入腾讯云云直播播放域名", - "workflow_node.deploy.form.tencentcloud_ecdn_endpoint.label": "腾讯云接口端点(可选)", - "workflow_node.deploy.form.tencentcloud_ecdn_endpoint.placeholder": "请输入腾讯云 ECDN 接口端点(例如:cdn.tencentcloudapi.com)", - "workflow_node.deploy.form.tencentcloud_ecdn_endpoint.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/214/30669
          国际站用户请填写 cdn.intl.tencentcloudapi.com。", - "workflow_node.deploy.form.tencentcloud_ecdn_domain.label": "腾讯云 ECDN 加速域名", - "workflow_node.deploy.form.tencentcloud_ecdn_domain.placeholder": "请输入腾讯云 ECDN 加速域名", - "workflow_node.deploy.form.tencentcloud_eo_endpoint.label": "腾讯云接口端点(可选)", - "workflow_node.deploy.form.tencentcloud_eo_endpoint.placeholder": "请输入腾讯云 EdgeOne 接口端点(例如:teo.tencentcloudapi.com)", - "workflow_node.deploy.form.tencentcloud_eo_endpoint.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/1552/80723
          国际站用户请填写 teo.intl.tencentcloudapi.com。", - "workflow_node.deploy.form.tencentcloud_eo_zone_id.label": "腾讯云 EdgeOne 站点 ID", - "workflow_node.deploy.form.tencentcloud_eo_zone_id.placeholder": "请输入腾讯云 EdgeOne 站点 ID", - "workflow_node.deploy.form.tencentcloud_eo_zone_id.tooltip": "这是什么?请参阅 https://console.cloud.tencent.com/edgeone", - "workflow_node.deploy.form.tencentcloud_eo_domains.label": "腾讯云 EdgeOne 加速域名", - "workflow_node.deploy.form.tencentcloud_eo_domains.placeholder": "请输入腾讯云 EdgeOne 加速域名(多个值请用半角分号隔开)", - "workflow_node.deploy.form.tencentcloud_eo_domains.help": "提示:支持多个域名,以半角分号隔开。", - "workflow_node.deploy.form.tencentcloud_eo_domains.multiple_input_modal.title": "修改腾讯云 EdgeOne 加速域名", - "workflow_node.deploy.form.tencentcloud_eo_domains.multiple_input_modal.placeholder": "请输入腾讯云 EdgeOne 加速域名", - "workflow_node.deploy.form.tencentcloud_eo_enable_multiple_ssl.label": "多证书模式", - "workflow_node.deploy.form.tencentcloud_eo_enable_multiple_ssl.help": "提示:每个域名最多支持一个 RSA 证书、一个 ECC 证书。", - "workflow_node.deploy.form.tencentcloud_eo_enable_multiple_ssl.switch.suffix": "保留与待部署证书算法不一致的其他有效证书。", - "workflow_node.deploy.form.tencentcloud_eo_enable_multiple_ssl.switch.on": "", - "workflow_node.deploy.form.tencentcloud_eo_enable_multiple_ssl.switch.off": "不", - "workflow_node.deploy.form.tencentcloud_gaap_endpoint.label": "腾讯云接口端点(可选)", - "workflow_node.deploy.form.tencentcloud_gaap_endpoint.placeholder": "请输入腾讯云 GAAP 接口端点(例如:gaap.tencentcloudapi.com)", - "workflow_node.deploy.form.tencentcloud_gaap_endpoint.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/608/36934
          国际站用户请填写 gaap.intl.tencentcloudapi.com。", - "workflow_node.deploy.form.tencentcloud_gaap_resource_type.option.listener.label": "部署到指定监听器", - "workflow_node.deploy.form.tencentcloud_gaap_proxy_id.label": "腾讯云 GAAP 通道 ID(可选)", - "workflow_node.deploy.form.tencentcloud_gaap_proxy_id.placeholder": "请输入腾讯云 GAAP 通道 ID", - "workflow_node.deploy.form.tencentcloud_gaap_proxy_id.tooltip": "这是什么?请参阅 https://console.cloud.tencent.com/gaap", - "workflow_node.deploy.form.tencentcloud_gaap_listener_id.label": "腾讯云 GAAP 监听器 ID", - "workflow_node.deploy.form.tencentcloud_gaap_listener_id.placeholder": "请输入腾讯云 GAAP 监听器 ID", - "workflow_node.deploy.form.tencentcloud_gaap_listener_id.tooltip": "这是什么?请参阅 https://console.cloud.tencent.com/gaap", - "workflow_node.deploy.form.tencentcloud_scf_endpoint.label": "腾讯云接口端点(可选)", - "workflow_node.deploy.form.tencentcloud_scf_endpoint.placeholder": "请输入腾讯云 SCF 接口端点(例如:scf.tencentcloudapi.com)", - "workflow_node.deploy.form.tencentcloud_scf_endpoint.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/583/17237
          国际站用户请填写 scf.intl.tencentcloudapi.com。", - "workflow_node.deploy.form.tencentcloud_scf_region.label": "腾讯云服务地域", - "workflow_node.deploy.form.tencentcloud_scf_region.placeholder": "输入腾讯云 SCF 服务地域(例如:ap-guangzhou)", - "workflow_node.deploy.form.tencentcloud_scf_region.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/583/17299", - "workflow_node.deploy.form.tencentcloud_scf_domain.label": "腾讯云 SCF 自定义域名", - "workflow_node.deploy.form.tencentcloud_scf_domain.placeholder": "输入腾讯云 SCF 自定义域名", - "workflow_node.deploy.form.tencentcloud_ssl_endpoint.label": "腾讯云接口端点(可选)", - "workflow_node.deploy.form.tencentcloud_ssl_endpoint.placeholder": "请输入腾讯云 SSL 接口端点(例如:ssl.tencentcloudapi.com)", - "workflow_node.deploy.form.tencentcloud_ssl_endpoint.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/400/41659
          国际站用户请填写 ssl.intl.tencentcloudapi.com。", - "workflow_node.deploy.form.tencentcloud_ssldeploy.guide": "将通过腾讯云 OpenAPI DeployCertificateInstance 接口创建异步部署任务。此部署目标若执行成功仅代表已创建部署任务,实际部署结果需要你自行前往腾讯云控制台查询。", - "workflow_node.deploy.form.tencentcloud_ssldeploy_endpoint.label": "腾讯云接口端点(可选)", - "workflow_node.deploy.form.tencentcloud_ssldeploy_endpoint.placeholder": "请输入腾讯云 SSL 接口端点(例如:ssl.tencentcloudapi.com)", - "workflow_node.deploy.form.tencentcloud_ssldeploy_endpoint.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/400/41659
          国际站用户请填写 ssl.intl.tencentcloudapi.com。", - "workflow_node.deploy.form.tencentcloud_ssldeploy_region.label": "腾讯云服务地域", - "workflow_node.deploy.form.tencentcloud_ssldeploy_region.placeholder": "请输入腾讯云云产品服务地域(例如:ap-guangzhou)", - "workflow_node.deploy.form.tencentcloud_ssldeploy_region.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/400/41659", - "workflow_node.deploy.form.tencentcloud_ssldeploy_resource_product.label": "腾讯云云产品资源类型", - "workflow_node.deploy.form.tencentcloud_ssldeploy_resource_product.placeholder": "请输入腾讯云产品资源类型", - "workflow_node.deploy.form.tencentcloud_ssldeploy_resource_product.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/400/91667", - "workflow_node.deploy.form.tencentcloud_ssldeploy_resource_ids.label": "腾讯云云产品资源 ID", - "workflow_node.deploy.form.tencentcloud_ssldeploy_resource_ids.placeholder": "请输入腾讯云云产品资源 ID(多个值请用半角分号隔开)", - "workflow_node.deploy.form.tencentcloud_ssldeploy_resource_ids.errmsg.invalid": "请输入正确的腾讯云云产品资源 ID", - "workflow_node.deploy.form.tencentcloud_ssldeploy_resource_ids.help": "提示:支持多个 ID,以半角分号隔开。", - "workflow_node.deploy.form.tencentcloud_ssldeploy_resource_ids.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/400/91667
          注意与各产品本身的实例 ID 区分。", - "workflow_node.deploy.form.tencentcloud_ssldeploy_resource_ids.multiple_input_modal.title": "修改腾讯云云产品资源 ID", - "workflow_node.deploy.form.tencentcloud_ssldeploy_resource_ids.multiple_input_modal.placeholder": "请输入腾讯云云产品资源 ID", - "workflow_node.deploy.form.tencentcloud_sslupdate.guide": "将通过腾讯云 OpenAPI UpdateCertificateInstanceUploadUpdateCertificateInstance 接口创建异步部署任务。此部署目标若执行成功仅代表已创建部署任务,实际部署结果需要你自行前往腾讯云控制台查询。", - "workflow_node.deploy.form.tencentcloud_sslupdate_endpoint.label": "腾讯云接口端点(可选)", - "workflow_node.deploy.form.tencentcloud_sslupdate_endpoint.placeholder": "请输入腾讯云 SSL 接口端点(例如:ssl.tencentcloudapi.com)", - "workflow_node.deploy.form.tencentcloud_sslupdate_endpoint.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/400/41659
          国际站用户请填写 ssl.intl.tencentcloudapi.com。", - "workflow_node.deploy.form.tencentcloud_sslupdate_certificate_id.label": "腾讯云原证书 ID", - "workflow_node.deploy.form.tencentcloud_sslupdate_certificate_id.placeholder": "请输入腾讯云原证书 ID", - "workflow_node.deploy.form.tencentcloud_sslupdate_certificate_id.tooltip": "这是什么?请参阅 https://console.cloud.tencent.com/certoverview", - "workflow_node.deploy.form.tencentcloud_sslupdate_resource_products.label": "腾讯云云产品资源类型", - "workflow_node.deploy.form.tencentcloud_sslupdate_resource_products.placeholder": "请输入腾讯云云产品资源类型(多个值请用半角分号隔开)", - "workflow_node.deploy.form.tencentcloud_sslupdate_resource_products.help": "提示:支持多个类型,以半角分号隔开。", - "workflow_node.deploy.form.tencentcloud_sslupdate_resource_products.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/400/91649https://cloud.tencent.com/document/product/400/119791
          注意,这两个接口的所支持的云产品资源类型有所不同,具体请查看腾讯云官方文档。", - "workflow_node.deploy.form.tencentcloud_sslupdate_resource_products.multiple_input_modal.title": "修改腾讯云云产品资源类型", - "workflow_node.deploy.form.tencentcloud_sslupdate_resource_products.multiple_input_modal.placeholder": "请输入腾讯云云产品资源类型", - "workflow_node.deploy.form.tencentcloud_sslupdate_resource_regions.label": "腾讯云云产品部署地域(可选)", - "workflow_node.deploy.form.tencentcloud_sslupdate_resource_regions.placeholder": "请输入腾讯云云产品部署地域(多个值请用半角分号隔开)", - "workflow_node.deploy.form.tencentcloud_sslupdate_resource_regions.help": "提示:支持多个地域,以半角分号隔开。", - "workflow_node.deploy.form.tencentcloud_sslupdate_resource_regions.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/400/91649https://cloud.tencent.com/document/product/400/119791", - "workflow_node.deploy.form.tencentcloud_sslupdate_resource_regions.multiple_input_modal.title": "修改腾讯云云产品部署地域", - "workflow_node.deploy.form.tencentcloud_sslupdate_resource_regions.multiple_input_modal.placeholder": "请输入腾讯云云产品部署地域", - "workflow_node.deploy.form.tencentcloud_sslupdate_is_replaced.label": "是否更新原证书(即证书 ID 保持不变)", - "workflow_node.deploy.form.tencentcloud_sslupdate_is_replaced.tooltip": "不勾选时,将调用腾讯云 OpenAPI UpdateCertificateInstance 接口;否则,将调用腾讯云 OpenAPI UploadUpdateCertificateInstance 接口。", - "workflow_node.deploy.form.tencentcloud_vod_endpoint.label": "腾讯云接口端点(可选)", - "workflow_node.deploy.form.tencentcloud_vod_endpoint.placeholder": "请输入腾讯云云点播接口端点(例如:vod.tencentcloudapi.com)", - "workflow_node.deploy.form.tencentcloud_vod_endpoint.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/266/31755
          国际站用户请填写 vod.intl.tencentcloudapi.com。", - "workflow_node.deploy.form.tencentcloud_vod_sub_app_id.label": "腾讯云云点播应用 ID", - "workflow_node.deploy.form.tencentcloud_vod_sub_app_id.placeholder": "请输入腾讯云云点播应用 ID", - "workflow_node.deploy.form.tencentcloud_vod_sub_app_id.tooltip": "这是什么?请参阅 https://console.cloud.tencent.com/vod", - "workflow_node.deploy.form.tencentcloud_vod_domain.label": "腾讯云云点播加速域名", - "workflow_node.deploy.form.tencentcloud_vod_domain.placeholder": "请输入腾讯云云点播加速域名", - "workflow_node.deploy.form.tencentcloud_waf_endpoint.label": "腾讯云接口端点(可选)", - "workflow_node.deploy.form.tencentcloud_waf_endpoint.placeholder": "请输入腾讯云 WAF 接口端点(例如:waf.tencentcloudapi.com)", - "workflow_node.deploy.form.tencentcloud_waf_endpoint.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/627/53611
          国际站用户请填写 waf.intl.tencentcloudapi.com。", - "workflow_node.deploy.form.tencentcloud_waf_region.label": "腾讯云服务地域", - "workflow_node.deploy.form.tencentcloud_waf_region.placeholder": "请输入腾讯云 WAF 服务地域(例如:ap-guangzhou)", - "workflow_node.deploy.form.tencentcloud_waf_region.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/627/47525", - "workflow_node.deploy.form.tencentcloud_waf_domain.label": "腾讯云 WAF 防护域名", - "workflow_node.deploy.form.tencentcloud_waf_domain.placeholder": "请输入腾讯云 WAF 防护域名", - "workflow_node.deploy.form.tencentcloud_waf_domain_id.label": "腾讯云 WAF 域名 ID", - "workflow_node.deploy.form.tencentcloud_waf_domain_id.placeholder": "请输入腾讯云 WAF 域名 ID", - "workflow_node.deploy.form.tencentcloud_waf_domain_id.tooltip": "这是什么?请参阅 https://console.cloud.tencent.com/waf", - "workflow_node.deploy.form.tencentcloud_waf_instance_id.label": "腾讯云 WAF 实例 ID", - "workflow_node.deploy.form.tencentcloud_waf_instance_id.placeholder": "请输入腾讯云 WAF 实例 ID", - "workflow_node.deploy.form.tencentcloud_waf_instance_id.tooltip": "这是什么?请参阅 https://console.cloud.tencent.com/waf", - "workflow_node.deploy.form.ucloud_ucdn_domain_id.label": "优刻得 UCDN 域名 ID", - "workflow_node.deploy.form.ucloud_ucdn_domain_id.placeholder": "请输入优刻得 UCDN 域名 ID", - "workflow_node.deploy.form.ucloud_ucdn_domain_id.tooltip": "这是什么?请参阅 https://console.ucloud.cn/ucdn", - "workflow_node.deploy.form.ucloud_us3_region.label": "优刻得服务地域", - "workflow_node.deploy.form.ucloud_us3_region.placeholder": "优刻得 US3 服务地域(例如:cn-bj2)", - "workflow_node.deploy.form.ucloud_us3_region.tooltip": "这是什么?请参阅 https://docs.ucloud.cn/api/summary/regionlist", - "workflow_node.deploy.form.ucloud_us3_bucket.label": "优刻得 US3 存储桶名", - "workflow_node.deploy.form.ucloud_us3_bucket.placeholder": "请输入优刻得 US3 存储桶名", - "workflow_node.deploy.form.ucloud_us3_domain.label": "优刻得 US3 自定义域名", - "workflow_node.deploy.form.ucloud_us3_domain.placeholder": "请输入优刻得 US3 自定义域名", - "workflow_node.deploy.form.unicloud_webhost.guide": "由于 uniCloud 未公开相关 API,这里将使用网页模拟登录方式部署,但无法保证稳定性。如遇 uniCloud 接口变更,请到 GitHub 发起 Issue 告知。", - "workflow_node.deploy.form.unicloud_webhost_space_provider.label": "uniCloud 服务空间提供商", - "workflow_node.deploy.form.unicloud_webhost_space_provider.placeholder": "请选择 uniCloud 服务空间提供商", - "workflow_node.deploy.form.unicloud_webhost_space_provider.option.aliyun.label": "阿里云", - "workflow_node.deploy.form.unicloud_webhost_space_provider.option.tencent.label": "腾讯云", - "workflow_node.deploy.form.unicloud_webhost_space_id.label": "uniCloud 服务空间 ID", - "workflow_node.deploy.form.unicloud_webhost_space_id.placeholder": "请输入 uniCloud 服务空间 ID", - "workflow_node.deploy.form.unicloud_webhost_space_id.tooltip": "这是什么?请参阅 https://doc.dcloud.net.cn/uniCloud/concepts/space.html", - "workflow_node.deploy.form.unicloud_webhost_domain.label": "uniCloud 前端网页托管网站域名", - "workflow_node.deploy.form.unicloud_webhost_domain.placeholder": "请输入 uniCloud 前端网页托管网站域名", - "workflow_node.deploy.form.upyun_cdn.guide": "由于又拍云未公开相关 API,这里将使用网页模拟登录方式部署,但无法保证稳定性。如遇又拍云接口变更,请到 GitHub 发起 Issue 告知。", - "workflow_node.deploy.form.upyun_cdn_domain.label": "又拍云 CDN 加速域名", - "workflow_node.deploy.form.upyun_cdn_domain.placeholder": "请输入又拍云 CDN 加速域名", - "workflow_node.deploy.form.upyun_file.guide": "由于又拍云未公开相关 API,这里将使用网页模拟登录方式部署,但无法保证稳定性。如遇又拍云接口变更,请到 GitHub 发起 Issue 告知。", - "workflow_node.deploy.form.upyun_file_bucket.label": "又拍云云存储桶名", - "workflow_node.deploy.form.upyun_file_bucket.placeholder": "请输入又拍云云存储桶名", - "workflow_node.deploy.form.upyun_file_domain.label": "又拍云云存储自定义域名", - "workflow_node.deploy.form.upyun_file_domain.placeholder": "请输入又拍云云存储自定义域名", - "workflow_node.deploy.form.volcengine_alb_resource_type.option.loadbalancer.label": "部署到指定负载均衡器下的全部 HTTPS 监听", - "workflow_node.deploy.form.volcengine_alb_resource_type.option.listener.label": "部署到指定 HTTPS 监听器", - "workflow_node.deploy.form.volcengine_alb_region.label": "火山引擎服务地域", - "workflow_node.deploy.form.volcengine_alb_region.placeholder": "请输入火山引擎 ALB 服务地域(例如:cn-beijing)", - "workflow_node.deploy.form.volcengine_alb_region.tooltip": "这是什么?请参阅 https://www.volcengine.com/docs/6767/127501", - "workflow_node.deploy.form.volcengine_alb_loadbalancer_id.label": "火山引擎 ALB 负载均衡器 ID", - "workflow_node.deploy.form.volcengine_alb_loadbalancer_id.placeholder": "请输入火山引擎 ALB 负载均衡器 ID", - "workflow_node.deploy.form.volcengine_alb_loadbalancer_id.tooltip": "这是什么?请参阅 https://console.volcengine.com/alb", - "workflow_node.deploy.form.volcengine_alb_listener_id.label": "火山引擎 ALB 监听器 ID", - "workflow_node.deploy.form.volcengine_alb_listener_id.placeholder": "请输入火山引擎 ALB 监听器 ID", - "workflow_node.deploy.form.volcengine_alb_listener_id.tooltip": "这是什么?请参阅 https://console.volcengine.com/alb", - "workflow_node.deploy.form.volcengine_alb_snidomain.label": "火山引擎 ALB 扩展域名(可选)", - "workflow_node.deploy.form.volcengine_alb_snidomain.placeholder": "请输入火山引擎 ALB 扩展域名", - "workflow_node.deploy.form.volcengine_alb_snidomain.help": "提示:不填写时,将替换监听器的默认证书;否则,将替换扩展域名证书。", - "workflow_node.deploy.form.volcengine_cdn_domain.label": "火山引擎 CDN 加速域名", - "workflow_node.deploy.form.volcengine_cdn_domain.placeholder": "请输入火山引擎 CDN 加速域名", - "workflow_node.deploy.form.volcengine_certcenter_region.label": "火山引擎服务地域", - "workflow_node.deploy.form.volcengine_certcenter_region.placeholder": "请输入火山引擎证书中心服务地域(例如:cn-beijing)", - "workflow_node.deploy.form.volcengine_clb_resource_type.option.loadbalancer.label": "部署到指定负载均衡器下的全部 HTTPS 监听", - "workflow_node.deploy.form.volcengine_clb_resource_type.option.listener.label": "部署到 HTTPS 监听器", - "workflow_node.deploy.form.volcengine_clb_region.label": "火山引擎服务地域", - "workflow_node.deploy.form.volcengine_clb_region.placeholder": "请输入火山引擎 CLB 服务地域(例如:cn-beijing)", - "workflow_node.deploy.form.volcengine_clb_region.tooltip": "这是什么?请参阅 https://www.volcengine.com/docs/6406/74892", - "workflow_node.deploy.form.volcengine_clb_loadbalancer_id.label": "火山引擎 CLB 负载均衡器 ID", - "workflow_node.deploy.form.volcengine_clb_loadbalancer_id.placeholder": "请输入火山引擎 CLB 负载均衡器 ID", - "workflow_node.deploy.form.volcengine_clb_loadbalancer_id.tooltip": "这是什么?请参阅 https://console.volcengine.com/clb/LoadBalancer", - "workflow_node.deploy.form.volcengine_clb_listener_id.label": "火山引擎 CLB 监听器 ID", - "workflow_node.deploy.form.volcengine_clb_listener_id.placeholder": "请输入火山引擎 CLB 监听器 ID", - "workflow_node.deploy.form.volcengine_clb_listener_id.tooltip": "这是什么?请参阅 https://console.volcengine.com/clb/LoadBalancer", - "workflow_node.deploy.form.volcengine_dcdn_domain.label": "火山引擎 DCDN 加速域名", - "workflow_node.deploy.form.volcengine_dcdn_domain.placeholder": "请输入火山引擎 DCDN 加速域名", - "workflow_node.deploy.form.volcengine_imagex_region.label": "火山引擎服务地域", - "workflow_node.deploy.form.volcengine_imagex_region.placeholder": "请输入火山引擎 ImageX 服务地域(例如:cn-north-1)", - "workflow_node.deploy.form.volcengine_imagex_region.tooltip": "这是什么?请参阅 https://www.volcengine.com/docs/508/23757", - "workflow_node.deploy.form.volcengine_imagex_service_id.label": "火山引擎 ImageX 服务 ID", - "workflow_node.deploy.form.volcengine_imagex_service_id.placeholder": "请输入火山引擎 ImageX 服务 ID", - "workflow_node.deploy.form.volcengine_imagex_service_id.tooltip": "这是什么?请参阅 https://console.volcengine.com/imagex", - "workflow_node.deploy.form.volcengine_imagex_domain.label": "火山引擎 ImageX 绑定域名", - "workflow_node.deploy.form.volcengine_imagex_domain.placeholder": "请输入火山引擎 ImageX 绑定域名", - "workflow_node.deploy.form.volcengine_live_domain.label": "火山引擎视频直播流域名", - "workflow_node.deploy.form.volcengine_live_domain.placeholder": "请输入火山引擎视频直播流域名", - "workflow_node.deploy.form.volcengine_tos_region.label": "火山引擎服务地域", - "workflow_node.deploy.form.volcengine_tos_region.placeholder": "请输入火山引擎 TOS 服务地域(例如:cn-beijing)", - "workflow_node.deploy.form.volcengine_tos_region.tooltip": "这是什么?请参阅 https://www.volcengine.com/docs/6349/107356", - "workflow_node.deploy.form.volcengine_tos_bucket.label": "火山引擎 TOS 存储桶名", - "workflow_node.deploy.form.volcengine_tos_bucket.placeholder": "请输入火山引擎 TOS 存储桶名", - "workflow_node.deploy.form.volcengine_tos_domain.label": "火山引擎 TOS 自定义域名", - "workflow_node.deploy.form.volcengine_tos_domain.placeholder": "请输入火山引擎 TOS 自定义域名", - "workflow_node.deploy.form.wangsu_cdn_domains.label": "网宿云 CDN 加速域名", - "workflow_node.deploy.form.wangsu_cdn_domains.placeholder": "请输入网宿云 CDN 加速域名(多个值请用半角分号隔开)", - "workflow_node.deploy.form.wangsu_cdn_domains.help": "提示:支持多个域名,以半角分号隔开。", - "workflow_node.deploy.form.wangsu_cdn_domains.multiple_input_modal.title": "修改网宿云 CDN 加速域名", - "workflow_node.deploy.form.wangsu_cdn_domains.multiple_input_modal.placeholder": "请输入网宿云 CDN 加速域名", - "workflow_node.deploy.form.wangsu_cdnpro_environment.label": "网宿云环境", - "workflow_node.deploy.form.wangsu_cdnpro_environment.placeholder": "请选择网宿云环境", - "workflow_node.deploy.form.wangsu_cdnpro_environment.option.production.label": "生产环境", - "workflow_node.deploy.form.wangsu_cdnpro_environment.option.staging.label": "演练环境", - "workflow_node.deploy.form.wangsu_cdnpro_domain.label": "网宿云 CDN Pro 加速域名", - "workflow_node.deploy.form.wangsu_cdnpro_domain.placeholder": "请输入网宿云 CDN Pro 加速域名", - "workflow_node.deploy.form.wangsu_cdnpro_certificate_id.label": "网宿云 CDN Pro 原证书 ID(可选)", - "workflow_node.deploy.form.wangsu_cdnpro_certificate_id.placeholder": "请输入网宿云 CDN Pro 原证书 ID", - "workflow_node.deploy.form.wangsu_cdnpro_certificate_id.help": "提示:不填写时,将上传新证书;否则,将替换原证书。", - "workflow_node.deploy.form.wangsu_cdnpro_certificate_id.tooltip": "这是什么?请参阅 https://cdnpro.console.wangsu.com/v2/index/#/certificate", - "workflow_node.deploy.form.wangsu_cdnpro_webhook_id.label": "网宿云 CDN Pro 部署任务 Webhook ID(可选)", - "workflow_node.deploy.form.wangsu_cdnpro_webhook_id.placeholder": "请输入网宿云 CDN Pro 部署任务 Webhook ID", - "workflow_node.deploy.form.wangsu_cdnpro_webhook_id.tooltip": "这是什么?请参阅 https://cdnpro.console.wangsu.com/v2/index/#/certificate", - "workflow_node.deploy.form.wangsu_certificate_id.label": "网宿云证书 ID(可选)", - "workflow_node.deploy.form.wangsu_certificate_id.placeholder": "请输入网宿云证书 ID", - "workflow_node.deploy.form.wangsu_certificate_id.help": "提示:不填写时,将上传新证书;否则,将替换原证书。", - "workflow_node.deploy.form.wangsu_certificate_id.tooltip": "这是什么?请参阅 https://cdn.console.wangsu.com/v2/index#/certificate/list", - "workflow_node.deploy.form.webhook_data.label": "Webhook 回调数据(可选)", - "workflow_node.deploy.form.webhook_data.placeholder": "请输入 Webhook 回调数据以覆盖默认值", - "workflow_node.deploy.form.webhook_data.help": "提示:不填写时,将使用所选部署目标授权的默认 Webhook 回调数据。", - "workflow_node.deploy.form.webhook_data.errmsg.json_invalid": "请输入有效的 JSON 格式字符串", - "workflow_node.deploy.form.webhook_data.vartips": "支持的变量:
          1. ${CERTIMATE_DEPLOYER_COMMONNAME}
            证书的主域名(即 CommonName)。
          2. ${CERTIMATE_DEPLOYER_SUBJECTALTNAMES}
            证书的多域名,以半角分号隔开(即 SubjectAltNames)。
          3. ${CERTIMATE_DEPLOYER_CERTIFICATE}
            证书文件 PEM 格式内容。
          4. ${CERTIMATE_DEPLOYER_CERTIFICATE_SERVER}
            证书文件(仅含服务器证书)PEM 格式内容。
          5. ${CERTIMATE_DEPLOYER_CERTIFICATE_INTERMEDIA}
            证书文件(仅含中间证书)PEM 格式内容。
          6. ${CERTIMATE_DEPLOYER_PRIVATEKEY}
            私钥文件 PEM 格式内容。
          ", - "workflow_node.deploy.form.webhook_timeout.label": "Webhook 超时时间(可选)", - "workflow_node.deploy.form.webhook_timeout.placeholder": "请输入 Webhook 超时时间", - "workflow_node.deploy.form.webhook_timeout.unit": "秒", - "workflow_node.deploy.form.skip_on_last_succeeded.label": "重复部署", - "workflow_node.deploy.form.skip_on_last_succeeded.prefix": "当上次部署相同证书成功后,再次运行工作流时", - "workflow_node.deploy.form.skip_on_last_succeeded.suffix": "此部署节点。", - "workflow_node.deploy.form.skip_on_last_succeeded.switch.on": "跳过", - "workflow_node.deploy.form.skip_on_last_succeeded.switch.off": "不跳过", - - "workflow_node.notify.label": "推送通知", - "workflow_node.notify.default_name": "通知", - "workflow_node.notify.form_anchor.parameters.tab": "参数设置", - "workflow_node.notify.form_anchor.channel.tab": "渠道设置", - "workflow_node.notify.form_anchor.channel.title": "渠道设置", - "workflow_node.notify.form_anchor.strategy.tab": "执行策略", - "workflow_node.notify.form_anchor.strategy.title": "执行策略", - "workflow_node.notify.form.subject.label": "通知主题", - "workflow_node.notify.form.subject.placeholder": "请输入通知主题", - "workflow_node.notify.form.message.label": "通知内容", - "workflow_node.notify.form.message.placeholder": "请输入通知内容", - "workflow_node.notify.form.template.guide": "
          通知主题或内容中使用「Mustache」语法(即双大括号)包裹、并以「$」符号开头的文本会被视为模板插值,将在推送时被替换为实际值。
          支持的模板插值:
          1. workflow.id:工作流 ID。
          2. workflow.name:工作流名称。
          3. run.id:运行 ID。
          4. error.nodeId:执行失败时的节点 ID。如果在此之前有多个执行失败的节点,始终表示最近的一个。
          5. error.nodeName:执行失败时的节点名称。如果在此之前有多个执行失败的节点,始终表示最近的一个。
          6. error.message:执行失败时的错误信息。如果在此之前有多个执行失败的节点,始终表示最近的一个。
          7. certificate.domain:证书主域名(即 CommonName)。如果在此之前有多个输出证书的节点,始终表示最近的一个。
          8. certificate.domains:证书多域名列表(即 SubjectAltNames)。如果在此之前有多个输出证书的节点,始终表示最近的一个。
          9. certificate.notBefore:证书生效时间,以 RFC3339 格式化。如果在此之前有多个输出证书的节点,始终表示最近的一个。
          10. certificate.notAfter:证书过期时间,以 RFC3339 格式化。如果在此之前有多个输出证书的节点,始终表示最近的一个。
          11. certificate.hoursLeft:证书剩余小时数。如果在此之前有多个输出证书的节点,始终表示最近的一个。
          12. certificate.daysLeft:证书剩余天数。如果在此之前有多个输出证书的节点,始终表示最近的一个。
          13. certificate.validity:证书是否有效。如果在此之前有多个输出证书的节点,始终表示最近的一个。
          14. now:服务器当前时间,以 RFC3339 格式化。

          示例:
          Your workflow {{ $workflow.name }} has failed on node {{ $error.nodeName }} at {{ $now }}.

          更多内容请查看文档。
          ", - "workflow_node.notify.form.provider.label": "通知渠道", - "workflow_node.notify.form.provider.placeholder": "请选择通知渠道", - "workflow_node.notify.form.provider.search.placeholder": "搜索通知渠道……", - "workflow_node.notify.form.provider_access.label": "通知渠道授权", - "workflow_node.notify.form.provider_access.placeholder": "请选择通知渠道授权", - "workflow_node.notify.form.provider_access.button": "新建", - "workflow_node.notify.form.params_config.label": "参数设置", - "workflow_node.notify.form.discordbot_channel_id.label": "Discord 频道 ID(可选)", - "workflow_node.notify.form.discordbot_channel_id.placeholder": "请输入 Discord 频道 ID", - "workflow_node.notify.form.discordbot_channel_id.help": "提示:不填写时,将使用所选通知渠道授权的默认频道 ID。", - "workflow_node.notify.form.email_receiver_address.label": "收件人邮箱(可选)", - "workflow_node.notify.form.email_receiver_address.placeholder": "请输入收件人邮箱以覆盖默认值", - "workflow_node.notify.form.email_receiver_address.help": "提示:不填写时,将使用所选通知渠道授权的默认收件人邮箱。", - "workflow_node.notify.form.mattermost_channel_id.label": "Mattermost 频道 ID(可选)", - "workflow_node.notify.form.mattermost_channel_id.placeholder": "请输入 Mattermost 频道 ID", - "workflow_node.notify.form.mattermost_channel_id.help": "提示:不填写时,将使用所选通知渠道授权的默认频道 ID。", - "workflow_node.notify.form.slackbot_channel_id.label": "Slack 频道 ID(可选)", - "workflow_node.notify.form.slackbot_channel_id.placeholder": "请输入 Slack 频道 ID", - "workflow_node.notify.form.slackbot_channel_id.help": "提示:不填写时,将使用所选通知渠道授权的默认频道 ID。", - "workflow_node.notify.form.telegrambot_chat_id.label": "Telegram 会话 ID(可选)", - "workflow_node.notify.form.telegrambot_chat_id.placeholder": "请输入 Telegram 会话 ID", - "workflow_node.notify.form.telegrambot_chat_id.help": "提示:不填写时,将使用所选通知渠道授权的默认会话 ID。", - "workflow_node.notify.form.webhook_data.label": "Webhook 回调数据(可选)", - "workflow_node.notify.form.webhook_data.placeholder": "请输入 Webhook 回调数据以覆盖默认值", - "workflow_node.notify.form.webhook_data.help": "提示:不填写时,将使用所选通知渠道授权的默认 Webhook 回调数据。", - "workflow_node.notify.form.webhook_data.errmsg.json_invalid": "请输入有效的 JSON 格式字符串", - "workflow_node.notify.form.webhook_data.vartips": "支持的变量:
          1. ${CERTIMATE_NOTIFIER_SUBJECT}
            通知主题。
          2. ${CERTIMATE_NOTIFIER_MESSAGE}
            通知内容。
          ", - "workflow_node.notify.form.webhook_timeout.label": "Webhook 超时时间(可选)", - "workflow_node.notify.form.webhook_timeout.placeholder": "请输入 Webhook 超时时间", - "workflow_node.notify.form.webhook_timeout.unit": "秒", - "workflow_node.notify.form.skip_on_all_prev_skipped.label": "静默行为", - "workflow_node.notify.form.skip_on_all_prev_skipped.prefix": "当前序申请、上传、部署等节点均已跳过执行时,", - "workflow_node.notify.form.skip_on_all_prev_skipped.suffix": "此通知节点。", - "workflow_node.notify.form.skip_on_all_prev_skipped.switch.on": "跳过", - "workflow_node.notify.form.skip_on_all_prev_skipped.switch.off": "不跳过", - - "workflow_node.delay.label": "延迟等待", - "workflow_node.delay.default_name": "延迟", - "workflow_node.delay.form_anchor.parameters.tab": "参数设置", - "workflow_node.delay.form.wait.label": "等待时间", - "workflow_node.delay.form.wait.placeholder": "请输入等待时间", - "workflow_node.delay.form.wait.unit": "秒", - - "workflow_node.condition.label": "并行/条件分支", - "workflow_node.condition.default_name": "并行", - "workflow_node.condition.default_name.template_certtest_on_expiring_soon": "若网站证书即将过期…", - "workflow_node.condition.default_name.template_certtest_on_expired": "若网站证书已过期…", - - "workflow_node.branch_block.label": "分支", - "workflow_node.branch_block.default_name": "分支", - "workflow_node.branch_block.state.no": "无条件进入", - "workflow_node.branch_block.state.or": "满足任一条件时进入", - "workflow_node.branch_block.state.and": "满足所有条件时进入", - "workflow_node.branch_block.form_anchor.parameters.tab": "参数设置", - "workflow_node.branch_block.form.expression.label": "分支进入条件", - "workflow_node.branch_block.form.expression.errmsg.invalid": "请输入有效的条件", - "workflow_node.branch_block.form.expression.logical_operator.errmsg": "请选择条件组合方式", - "workflow_node.branch_block.form.expression.logical_operator.option.and.label": "满足以下所有条件 (AND)", - "workflow_node.branch_block.form.expression.logical_operator.option.or.label": "满足以下任一条件 (OR)", - "workflow_node.branch_block.form.expression.variable.placeholder": "请选择", - "workflow_node.branch_block.form.expression.variable.errmsg": "请选择变量", - "workflow_node.branch_block.form.expression.operator.placeholder": "请选择", - "workflow_node.branch_block.form.expression.operator.errmsg": "请选择运算符", - "workflow_node.branch_block.form.expression.operator.option.eq.label": "等于", - "workflow_node.branch_block.form.expression.operator.option.eq.alias_is_label": "为", - "workflow_node.branch_block.form.expression.operator.option.neq.label": "不等于", - "workflow_node.branch_block.form.expression.operator.option.neq.alias_not_label": "不为", - "workflow_node.branch_block.form.expression.operator.option.gt.label": "大于", - "workflow_node.branch_block.form.expression.operator.option.gte.label": "大于等于", - "workflow_node.branch_block.form.expression.operator.option.lt.label": "小于", - "workflow_node.branch_block.form.expression.operator.option.lte.label": "小于等于", - "workflow_node.branch_block.form.expression.value.placeholder": "请输入", - "workflow_node.branch_block.form.expression.value.errmsg": "请输入值", - "workflow_node.branch_block.form.expression.value.option.true.label": "真", - "workflow_node.branch_block.form.expression.value.option.false.label": "假", - "workflow_node.branch_block.form.expression.add_condition.button": "添加条件", - - "workflow_node.try_catch.label": "执行结果分支", - "workflow_node.try_catch.default_name": "尝试执行…", - - "workflow_node.catch_block.label": "执行失败分支", - "workflow_node.catch_block.default_name": "若执行失败…", - - "workflow_node.end.label": "结束", - "workflow_node.end.default_name": "结束" -} +{ + "workflow_node.kind.basis": "基础", + "workflow_node.kind.business": "业务", + "workflow_node.kind.logic": "逻辑", + + "workflow_node.start.label": "开始", + "workflow_node.start.default_name": "开始", + "workflow_node.start.form_anchor.parameters.tab": "参数设置", + "workflow_node.start.form.trigger.label": "触发方式", + "workflow_node.start.form.trigger.placeholder": "请选择触发方式", + "workflow_node.start.form.trigger.option.scheduled.label": "定时触发", + "workflow_node.start.form.trigger.option.manual.label": "手动触发", + "workflow_node.start.form.trigger_cron.label": "CRON 表达式", + "workflow_node.start.form.trigger_cron.placeholder": "请输入 CRON 表达式", + "workflow_node.start.form.trigger_cron.errmsg.invalid": "请输入正确的 CRON 表达式", + "workflow_node.start.form.trigger_cron.tooltip": "五段式表达式,使用 crontab 标准语法规则。
          支持使用任意值(即 *)、值列表分隔符(即 ,)、值的范围(即 -)、步骤值(即 /)等四种表达式。", + "workflow_node.start.form.trigger_cron.help": "预计最近 5 次运行时间(实际时区以服务器设置为准):", + "workflow_node.start.form.trigger_cron.guide": "如果你有多个工作流,建议将它们设置为在一天中的多个时间段运行,而非总是在相同的特定时间。也不要总是设置为每日零时,以免遭遇证书颁发机构的流量高峰。

          参考链接:
          1. Let’s Encrypt 速率限制
          2. 为什么我的 Let’s Encrypt (ACME) 客户端启动时间应当随机?", + + "workflow_node.apply.label": "申请签发证书", + "workflow_node.apply.default_name": "申请", + "workflow_node.apply.form_anchor.parameters.tab": "参数设置", + "workflow_node.apply.form_anchor.challenge.tab": "验证质询", + "workflow_node.apply.form_anchor.challenge.title": "验证质询", + "workflow_node.apply.form_anchor.certificate.tab": "证书设置", + "workflow_node.apply.form_anchor.certificate.title": "证书设置", + "workflow_node.apply.form_anchor.advanced.tab": "高级设置", + "workflow_node.apply.form_anchor.advanced.title": "高级设置", + "workflow_node.apply.form_anchor.strategy.tab": "执行策略", + "workflow_node.apply.form_anchor.strategy.title": "执行策略", + "workflow_node.apply.form.domains.label": "域名", + "workflow_node.apply.form.domains.placeholder": "请输入域名(多个值请用半角分号隔开)", + "workflow_node.apply.form.domains.errmsg.no_wildcard_in_http01": "HTTP-01 质询不支持签发泛域名证书。", + "workflow_node.apply.form.domains.help": "提示:多域名请用半角分号隔开;泛域名表示形式为 *.example.com。", + "workflow_node.apply.form.domains.help_no_wildcard": "提示:支持多个域名,以半角分号隔开。", + "workflow_node.apply.form.domains.multiple_input_modal.title": "修改域名", + "workflow_node.apply.form.domains.multiple_input_modal.placeholder": "请输入域名", + "workflow_node.apply.form.contact_email.label": "联系邮箱", + "workflow_node.apply.form.contact_email.placeholder": "请输入联系邮箱", + "workflow_node.apply.form.contact_email.tooltip": "申请签发 SSL 证书时所需的联系方式。请注意 Let's Encrypt 账户注册的速率限制。", + "workflow_node.apply.form.challenge_type.label": "质询方式", + "workflow_node.apply.form.challenge_type.placeholder": "请选择质询方式", + "workflow_node.apply.form.challenge_type.tooltip": "表示证书颁发机构如何验证你对域名的控制权。
          点此了解更多。", + "workflow_node.apply.form.provider.label": "提供商", + "workflow_node.apply.form.provider.placeholder": "请选择提供商", + "workflow_node.apply.form.provider_dns01.label": "DNS 提供商", + "workflow_node.apply.form.provider_dns01.placeholder": "请选择 DNS 提供商", + "workflow_node.apply.form.provider_http01.label": "主机提供商", + "workflow_node.apply.form.provider_http01.placeholder": "请选择主机提供商", + "workflow_node.apply.form.provider_access.label": "提供商授权", + "workflow_node.apply.form.provider_access.placeholder": "请选择提供商授权", + "workflow_node.apply.form.provider_access.button": "新建", + "workflow_node.apply.form.provider_access_dns01.label": "DNS 提供商授权", + "workflow_node.apply.form.provider_access_dns01.placeholder": "请选择 DNS 提供商授权", + "workflow_node.apply.form.provider_access_http01.label": "主机提供商授权", + "workflow_node.apply.form.provider_access_http01.placeholder": "请选择主机提供商授权", + "workflow_node.apply.form.aliyun_esa_region.label": "阿里云服务地域", + "workflow_node.apply.form.aliyun_esa_region.placeholder": "请输入阿里云 ESA 服务地域(例如:cn-hangzhou)", + "workflow_node.apply.form.aliyun_esa_region.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/edge-security-acceleration/esa/api-esa-2024-09-10-endpoint", + "workflow_node.apply.form.aws_route53_region.label": "AWS 服务区域", + "workflow_node.apply.form.aws_route53_region.placeholder": "请输入 AWS Route53 服务区域(例如:us-east-1)", + "workflow_node.apply.form.aws_route53_region.tooltip": "这是什么?请参阅 https://docs.aws.amazon.com/zh_cn/general/latest/gr/rande.html#regional-endpoints", + "workflow_node.apply.form.aws_route53_hosted_zone_id.label": "AWS Route53 托管区域 ID(可选)", + "workflow_node.apply.form.aws_route53_hosted_zone_id.placeholder": "请输入 AWS Route53 托管区域 ID", + "workflow_node.apply.form.aws_route53_hosted_zone_id.help": "提示:仅当存在多个相同 FQDN 的托管区域时需要填写。", + "workflow_node.apply.form.aws_route53_hosted_zone_id.tooltip": "这是什么?请参阅 https://docs.aws.amazon.com/zh_cn/Route53/latest/DeveloperGuide/hosted-zones-working-with.html", + "workflow_node.apply.form.huaweicloud_dns_region.label": "华为云服务区域", + "workflow_node.apply.form.huaweicloud_dns_region.placeholder": "请输入华为云 DNS 服务区域(例如:cn-north-1)", + "workflow_node.apply.form.huaweicloud_dns_region.tooltip": "这是什么?请参阅 https://console.huaweicloud.com/apiexplorer/#/endpoint", + "workflow_node.apply.form.jdcloud_dns_region_id.label": "京东云服务地域 ID", + "workflow_node.apply.form.jdcloud_dns_region_id.placeholder": "请输入京东云 DNS 服务地域 ID(例如:cn-north-1)", + "workflow_node.apply.form.jdcloud_dns_region_id.tooltip": "这是什么?请参阅 https://docs.jdcloud.com/cn/common-declaration/api/introduction", + "workflow_node.apply.form.local_webroot_path.label": "网站根目录", + "workflow_node.apply.form.local_webroot_path.placeholder": "请输入网站根目录", + "workflow_node.apply.form.local_webroot_path.tooltip": "即服务器上存储网站文件的主文件夹。", + "workflow_node.apply.form.ssh_webroot_path.label": "网站根目录", + "workflow_node.apply.form.ssh_webroot_path.placeholder": "请输入网站根目录", + "workflow_node.apply.form.ssh_webroot_path.tooltip": "即服务器上存储网站文件的主文件夹。", + "workflow_node.apply.form.key_source.label": "私钥来源", + "workflow_node.apply.form.key_source.placeholder": "请选择私钥来源", + "workflow_node.apply.form.key_source.option.auto.label": "随机生成", + "workflow_node.apply.form.key_source.option.reuse.label": "复用私钥", + "workflow_node.apply.form.key_source.option.custom.label": "自定义", + "workflow_node.apply.form.key_algorithm.label": "私钥算法", + "workflow_node.apply.form.key_algorithm.placeholder": "请选择证书的私钥算法", + "workflow_node.apply.form.key_algorithm.help_reuse": "提示:如果存在之前申请的证书,将以原私钥算法为准;否则才使用此选项。", + "workflow_node.apply.form.key_algorithm.help_custom": "注意:请确保算法与私钥相匹配。", + "workflow_node.apply.form.key_content.label": "私钥文件(PEM 格式)", + "workflow_node.apply.form.key_content.placeholder": "-----BEGIN (RSA|EC) PRIVATE KEY-----...-----END(RSA|EC) PRIVATE KEY-----", + "workflow_node.apply.form.ca_provider.label": "证书颁发机构(可选)", + "workflow_node.apply.form.ca_provider.placeholder": "请选择证书颁发机构", + "workflow_node.apply.form.ca_provider.button": "设置", + "workflow_node.apply.form.ca_provider_access.label": "证书颁发机构授权", + "workflow_node.apply.form.ca_provider_access.placeholder": "请选择证书颁发机构授权", + "workflow_node.apply.form.ca_provider_access.button": "新建", + "workflow_node.apply.form.validity_lifetime.label": "证书有效期(可选)", + "workflow_node.apply.form.validity_lifetime.placeholder": "请输入证书的有效期", + "workflow_node.apply.form.validity_lifetime.help": "注意:并非所有证书颁发机构都支持此特性。", + "workflow_node.apply.form.validity_lifetime.tooltip": "表示证书的有效期。如果你不了解该选项的用途,保持默认即可。", + "workflow_node.apply.form.validity_lifetime.units.h": "小时", + "workflow_node.apply.form.validity_lifetime.units.d": "天", + "workflow_node.apply.form.preferred_chain.label": "首选证书链(可选)", + "workflow_node.apply.form.preferred_chain.placeholder": "请输入首选证书链", + "workflow_node.apply.form.preferred_chain.help": "注意:并非所有证书颁发机构都支持此特性。", + "workflow_node.apply.form.preferred_chain.tooltip": "表示证书颁发时使用的首选证书链。如果你不了解该选项的用途,保持默认即可。
          点此了解更多。", + "workflow_node.apply.form.acme_profile.label": "ACME 配置文件(可选)", + "workflow_node.apply.form.acme_profile.placeholder": "请输入 ACME 配置文件", + "workflow_node.apply.form.acme_profile.help": "注意:并非所有证书颁发机构都支持此特性。", + "workflow_node.apply.form.acme_profile.tooltip": "表示证书颁发时使用的 ACME 证书配置文件。如果你不了解该选项的用途,保持默认即可。
          点此了解更多。", + "workflow_node.apply.form.nameservers.label": "DNS 递归服务器(可选)", + "workflow_node.apply.form.nameservers.placeholder": "请输入 DNS 递归服务器(多个值请用半角分号隔开)", + "workflow_node.apply.form.nameservers.tooltip": "表示在 ACME DNS-01 质询时使用自定义的 DNS 递归服务器。如果你不了解该选项的用途,保持默认即可。
          点此了解更多。", + "workflow_node.apply.form.nameservers.multiple_input_modal.title": "修改 DNS 递归服务器", + "workflow_node.apply.form.nameservers.multiple_input_modal.placeholder": "请输入 DNS 递归服务器", + "workflow_node.apply.form.dns_propagation_wait.label": "DNS 传播等待时间(可选)", + "workflow_node.apply.form.dns_propagation_wait.placeholder": "请输入 DNS 传播等待时间", + "workflow_node.apply.form.dns_propagation_wait.unit": "秒", + "workflow_node.apply.form.dns_propagation_wait.tooltip": "表示在 ACME DNS-01 质询时 DNS 传播的等待时间。如果你不了解此选项的用途,保持默认即可。", + "workflow_node.apply.form.dns_propagation_timeout.label": "DNS 传播检查超时时间(可选)", + "workflow_node.apply.form.dns_propagation_timeout.placeholder": "请输入 DNS 传播检查超时时间", + "workflow_node.apply.form.dns_propagation_timeout.unit": "秒", + "workflow_node.apply.form.dns_propagation_timeout.tooltip": "表示在 ACME DNS-01 质询时 DNS 传播检查的超时时间。如果你不了解此选项的用途,保持默认即可。", + "workflow_node.apply.form.dns_ttl.label": "DNS 解析记录 TTL(可选)", + "workflow_node.apply.form.dns_ttl.placeholder": "请输入 DNS 解析记录 TTL", + "workflow_node.apply.form.dns_ttl.unit": "秒", + "workflow_node.apply.form.dns_ttl.help": "提示:不填写时,将使用 DNS 提供商指定的默认值。", + "workflow_node.apply.form.dns_ttl.tooltip": "表示在 ACME DNS-01 质询时 DNS 解析记录的 TTL。如果你不了解此选项的用途,保持默认即可。", + "workflow_node.apply.form.disable_follow_cname.label": "阻止 CNAME 跟随", + "workflow_node.apply.form.disable_follow_cname.tooltip": "在 ACME DNS-01 质询时是否阻止 CNAME 跟随。如果你不了解该选项的用途,保持默认即可。点此了解更多。", + "workflow_node.apply.form.disable_ari.label": "阻止 ARI 续期", + "workflow_node.apply.form.disable_ari.tooltip": "在 ACME 证书续期时是否阻止 ARI(ACME Renewal Information)。如果你不了解该选项的用途,保持默认即可。点此了解更多。", + "workflow_node.apply.form.skip_before_expiry_days.label": "重复申请", + "workflow_node.apply.form.skip_before_expiry_days.placeholder": "请输入续期间隔", + "workflow_node.apply.form.skip_before_expiry_days.prefix": "当上次申请证书成功后、且证书剩余有效期大于", + "workflow_node.apply.form.skip_before_expiry_days.suffix": ",再次运行工作流时跳过此申请节点。", + "workflow_node.apply.form.skip_before_expiry_days.unit": "天", + + "workflow_node.upload.label": "上传自有证书", + "workflow_node.upload.default_name": "上传", + "workflow_node.upload.form_anchor.parameters.tab": "参数设置", + "workflow_node.upload.form.guide": "每次执行此节点时,都将重新读取文件内容。", + "workflow_node.upload.form.source.label": "上传来源", + "workflow_node.upload.form.source.placeholder": "请选择上传来源", + "workflow_node.upload.form.source.option.form.label": "表单", + "workflow_node.upload.form.source.option.local.label": "本地路径", + "workflow_node.upload.form.source.option.url.label": "URL 路径", + "workflow_node.upload.form.domains.label": "域名", + "workflow_node.upload.form.domains.placeholder": "上传证书文件后显示", + "workflow_node.upload.form.certificate_pem.label": "证书文件(PEM 格式)", + "workflow_node.upload.form.certificate_pem.placeholder": "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----", + "workflow_node.upload.form.certificate_path.label": "证书文件路径", + "workflow_node.upload.form.certificate_path.placeholder": "请输入证书文件本地路径", + "workflow_node.upload.form.certificate_url.label": "证书文件 URL", + "workflow_node.upload.form.certificate_url.placeholder": "请输入证书文件下载 URL", + "workflow_node.upload.form.private_key_pem.label": "私钥文件(PEM 格式)", + "workflow_node.upload.form.private_key_pem.placeholder": "-----BEGIN (RSA|EC) PRIVATE KEY-----...-----END(RSA|EC) PRIVATE KEY-----", + "workflow_node.upload.form.private_key_path.label": "私钥文件路径", + "workflow_node.upload.form.private_key_path.placeholder": "请输入私钥文件本地路径", + "workflow_node.upload.form.private_key_url.label": "私钥文件 URL", + "workflow_node.upload.form.private_key_url.placeholder": "请输入私钥文件下载 URL", + + "workflow_node.monitor.label": "监控网站证书", + "workflow_node.monitor.default_name": "监控", + "workflow_node.monitor.form_anchor.parameters.tab": "参数设置", + "workflow_node.monitor.form.guide": "Certimate 将向目标地址发送一个 HEAD 请求来获取相应的域名证书,请确保该地址可通过 HTTPS 协议访问。", + "workflow_node.monitor.form.host.label": "主机地址", + "workflow_node.monitor.form.host.placeholder": "请输入主机地址(域名或 IP)", + "workflow_node.monitor.form.port.label": "主机端口", + "workflow_node.monitor.form.port.placeholder": "请输入主机端口", + "workflow_node.monitor.form.domain.label": "域名(可选)", + "workflow_node.monitor.form.domain.placeholder": "请输入域名", + "workflow_node.monitor.form.domain.help": "提示:仅当主机地址为 IP 时需要填写。", + "workflow_node.monitor.form.request_path.label": "请求路径(可选)", + "workflow_node.monitor.form.request_path.placeholder": "请输入请求路径", + + "workflow_node.deploy.label": "部署证书到 ...", + "workflow_node.deploy.default_name": "部署", + "workflow_node.deploy.form_anchor.parameters.tab": "参数设置", + "workflow_node.deploy.form_anchor.deployment.tab": "部署设置", + "workflow_node.deploy.form_anchor.deployment.title": "部署设置", + "workflow_node.deploy.form_anchor.strategy.tab": "执行策略", + "workflow_node.deploy.form_anchor.strategy.title": "执行策略", + "workflow_node.deploy.form.certificate_output_node_id.label": "待部署证书", + "workflow_node.deploy.form.certificate_output_node_id.placeholder": "请选择待部署证书", + "workflow_node.deploy.form.certificate_output_node_id.help": "提示:待部署证书来自之前的申请或上传节点,如果选项为空请先检查前序节点。", + "workflow_node.deploy.form.provider.label": "部署目标", + "workflow_node.deploy.form.provider.placeholder": "请选择部署目标", + "workflow_node.deploy.form.provider.search.placeholder": "搜索部署目标……", + "workflow_node.deploy.form.provider_access.label": "主机提供商授权", + "workflow_node.deploy.form.provider_access.placeholder": "请选择主机提供商授权", + "workflow_node.deploy.form.provider_access.button": "新建", + "workflow_node.deploy.form.shared_resource_type.label": "证书部署方式", + "workflow_node.deploy.form.shared_resource_type.placeholder": "请选择证书部署方式", + "workflow_node.deploy.form.shared_domain_match_pattern.label": "域名匹配模式", + "workflow_node.deploy.form.shared_domain_match_pattern.placeholder": "请选择部署域名匹配模式", + "workflow_node.deploy.form.shared_domain_match_pattern.option.exact.label": "精确匹配", + "workflow_node.deploy.form.shared_domain_match_pattern.option.wildcard.label": "通配符匹配(泛域名)", + "workflow_node.deploy.form.shared_domain_match_pattern.option.certsan.label": "根据证书自动匹配", + "workflow_node.deploy.form.shared_domain_match_pattern.help_wildcard": "注意:对于支持泛解析的站点,精确匹配一个泛域名仅包含该站点本身、不包括相关子域名站点。", + "workflow_node.deploy.form.shared_script_command.vartips": "支持的变量:
          1. ${CERTIMATE_DEPLOYER_CMDVAR_CERTIFICATE_PATH}
            证书文件路径,等同于表单中相应字段的值。
          2. ${CERTIMATE_DEPLOYER_CMDVAR_CERTIFICATE_SERVER_PATH}
            证书文件(仅含服务器证书)路径,等同于表单中相应字段的值。
          3. ${CERTIMATE_DEPLOYER_CMDVAR_CERTIFICATE_INTERMEDIA_PATH}
            证书文件(仅含中间证书)路径,等同于表单中相应字段的值。
          4. ${CERTIMATE_DEPLOYER_CMDVAR_PRIVATEKEY_PATH}
            私钥文件路径,等同于表单中相应字段的值。
          5. ${CERTIMATE_DEPLOYER_CMDVAR_PFX_PASSWORD}
            PFX 导出密码,等同于表单中相应字段的值。
          6. ${CERTIMATE_DEPLOYER_CMDVAR_JKS_ALIAS}
            JKS 别名,等同于表单中相应字段的值。
          7. ${CERTIMATE_DEPLOYER_CMDVAR_JKS_KEYPASS}
            JKS 私钥访问口令,等同于表单中相应字段的值。
          8. ${CERTIMATE_DEPLOYER_CMDVAR_JKS_STOREPASS}
            JKS 密钥库存储口令,等同于表单中相应字段的值。
          ", + "workflow_node.deploy.form.1panel_console_auto_restart.label": "部署后自动重启 1Panel 服务", + "workflow_node.deploy.form.1panel_site_node_name.label": "1Panel 子节点名称(可选)", + "workflow_node.deploy.form.1panel_site_node_name.placeholder": "请输入 1Panel 子节点名称", + "workflow_node.deploy.form.1panel_site_node_name.help": "提示:仅 1Panel v2+ 需要填写。不填写时,将替换主控节点证书;否则,将替换被控节点证书。", + "workflow_node.deploy.form.1panel_site_node_name.tooltip": "请登录 1Panel 面板查看", + "workflow_node.deploy.form.1panel_site_resource_type.option.website.label": "部署到指定网站", + "workflow_node.deploy.form.1panel_site_resource_type.option.certificate.label": "替换指定证书", + "workflow_node.deploy.form.1panel_site_website_match_pattern.label": "网站匹配模式", + "workflow_node.deploy.form.1panel_site_website_match_pattern.placeholder": "请选择部署网站匹配模式", + "workflow_node.deploy.form.1panel_site_website_match_pattern.option.specified.label": "指定 ID", + "workflow_node.deploy.form.1panel_site_website_match_pattern.option.certsan.label": "根据证书自动匹配", + "workflow_node.deploy.form.1panel_site_website_match_pattern.help_certsan": "注意:网站名称需要为域名、且包含开启了 SSL 的域名配置。", + "workflow_node.deploy.form.1panel_site_website_id.label": "1Panel 网站 ID", + "workflow_node.deploy.form.1panel_site_website_id.placeholder": "请输入 1Panel 网站 ID", + "workflow_node.deploy.form.1panel_site_website_id.tooltip": "请登录 1Panel 面板查看", + "workflow_node.deploy.form.1panel_site_certificate_id.label": "1Panel 证书 ID", + "workflow_node.deploy.form.1panel_site_certificate_id.placeholder": "请输入 1Panel 证书 ID", + "workflow_node.deploy.form.1panel_site_certificate_id.tooltip": "请登录 1Panel 面板查看", + "workflow_node.deploy.form.aliyun_alb_region.label": "阿里云服务地域", + "workflow_node.deploy.form.aliyun_alb_region.placeholder": "请输入阿里云 ALB 服务地域(例如:cn-hangzhou)", + "workflow_node.deploy.form.aliyun_alb_region.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/slb/application-load-balancer/product-overview/supported-regions-and-zones", + "workflow_node.deploy.form.aliyun_alb_resource_type.option.loadbalancer.label": "部署到指定负载均衡器下的全部 HTTPS/QUIC 监听器", + "workflow_node.deploy.form.aliyun_alb_resource_type.option.listener.label": "部署到指定 HTTPS/QUIC 监听器", + "workflow_node.deploy.form.aliyun_alb_loadbalancer_id.label": "阿里云 ALB 负载均衡器 ID", + "workflow_node.deploy.form.aliyun_alb_loadbalancer_id.placeholder": "请输入阿里云 ALB 负载均衡器 ID", + "workflow_node.deploy.form.aliyun_alb_loadbalancer_id.tooltip": "这是什么?请参阅 https://slb.console.aliyun.com/alb", + "workflow_node.deploy.form.aliyun_alb_listener_id.label": "阿里云 ALB 监听器 ID", + "workflow_node.deploy.form.aliyun_alb_listener_id.placeholder": "请输入阿里云 ALB 监听器 ID", + "workflow_node.deploy.form.aliyun_alb_listener_id.tooltip": "这是什么?请参阅 https://slb.console.aliyun.com/alb", + "workflow_node.deploy.form.aliyun_alb_snidomain.label": "阿里云 ALB 扩展域名(可选)", + "workflow_node.deploy.form.aliyun_alb_snidomain.placeholder": "请输入阿里云 ALB 扩展域名", + "workflow_node.deploy.form.aliyun_alb_snidomain.help": "提示:不填写时,将替换监听器的默认证书;否则,将替换扩展域名证书。", + "workflow_node.deploy.form.aliyun_apigw_region.label": "阿里云服务地域", + "workflow_node.deploy.form.aliyun_apigw_region.placeholder": "请输入阿里云 API 网关地域(例如:cn-hangzhou)", + "workflow_node.deploy.form.aliyun_apigw_region.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/api-gateway/cloud-native-api-gateway/product-overview/regions", + "workflow_node.deploy.form.aliyun_apigw_service_type.label": "阿里云 API 网关服务类型", + "workflow_node.deploy.form.aliyun_apigw_service_type.placeholder": "请选择阿里云 API 网关服务类型", + "workflow_node.deploy.form.aliyun_apigw_service_type.option.cloudnative.label": "云原生 API 网关", + "workflow_node.deploy.form.aliyun_apigw_service_type.option.traditional.label": "原 API 网关", + "workflow_node.deploy.form.aliyun_apigw_gateway_id.label": "阿里云 API 网关 ID", + "workflow_node.deploy.form.aliyun_apigw_gateway_id.placeholder": "请输入阿里云 API 网关 ID", + "workflow_node.deploy.form.aliyun_apigw_gateway_id.tooltip": "这是什么?请参阅 https://apigw.console.aliyun.com", + "workflow_node.deploy.form.aliyun_apigw_group_id.label": "阿里云 API 分组 ID", + "workflow_node.deploy.form.aliyun_apigw_group_id.placeholder": "请输入阿里云 API 分组 ID", + "workflow_node.deploy.form.aliyun_apigw_group_id.tooltip": "这是什么?请参阅 https://apigateway.console.aliyun.com", + "workflow_node.deploy.form.aliyun_apigw_domain.label": "阿里云 API 网关自定义域名", + "workflow_node.deploy.form.aliyun_apigw_domain.placeholder": "请输入阿里云 API 网关自定义域名", + "workflow_node.deploy.form.aliyun_cas_region.label": "阿里云服务地域", + "workflow_node.deploy.form.aliyun_cas_region.placeholder": "请输入阿里云 CAS 服务地域(例如:cn-hangzhou)", + "workflow_node.deploy.form.aliyun_cas_region.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/ssl-certificate/developer-reference/endpoints", + "workflow_node.deploy.form.aliyun_casdeploy.guide": "将通过阿里云 OpenAPI CreateDeploymentJob 接口创建异步部署任务。此部署目标若执行成功仅代表已创建部署任务,实际部署结果需要你自行前往阿里云控制台查询。", + "workflow_node.deploy.form.aliyun_casdeploy_region.label": "阿里云服务地域", + "workflow_node.deploy.form.aliyun_casdeploy_region.placeholder": "请输入阿里云 CAS 服务地域(例如:cn-hangzhou)", + "workflow_node.deploy.form.aliyun_casdeploy_region.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/ssl-certificate/developer-reference/endpoints", + "workflow_node.deploy.form.aliyun_casdeploy_resource_ids.label": "阿里云云产品资源 ID", + "workflow_node.deploy.form.aliyun_casdeploy_resource_ids.placeholder": "请输入阿里云云产品资源 ID(多个值请用半角分号隔开)", + "workflow_node.deploy.form.aliyun_casdeploy_resource_ids.errmsg.invalid": "请输入正确的阿里云云产品资源 ID", + "workflow_node.deploy.form.aliyun_casdeploy_resource_ids.help": "提示:支持多个 ID,以半角分号隔开。仅支持阿里云产品,注意与各产品本身的实例 ID 区分。", + "workflow_node.deploy.form.aliyun_casdeploy_resource_ids.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/ssl-certificate/developer-reference/api-cas-2020-04-07-listcloudresources", + "workflow_node.deploy.form.aliyun_casdeploy_resource_ids.multiple_input_modal.title": "修改阿里云云产品资源 ID", + "workflow_node.deploy.form.aliyun_casdeploy_resource_ids.multiple_input_modal.placeholder": "请输入阿里云云产品资源 ID", + "workflow_node.deploy.form.aliyun_casdeploy_contact_ids.label": "阿里云联系人 ID(可选)", + "workflow_node.deploy.form.aliyun_casdeploy_contact_ids.placeholder": "请输入阿里云联系人 ID(多个值请用半角分号隔开)", + "workflow_node.deploy.form.aliyun_casdeploy_contact_ids.errmsg.invalid": "请输入正确的阿里云联系人 ID", + "workflow_node.deploy.form.aliyun_casdeploy_contact_ids.help": "提示:支持多个 ID,以半角分号隔开。不填写时,将使用系统联系人列表中的第一个。", + "workflow_node.deploy.form.aliyun_casdeploy_contact_ids.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/ssl-certificate/developer-reference/api-cas-2020-04-07-listcontact", + "workflow_node.deploy.form.aliyun_casdeploy_contact_ids.multiple_input_modal.title": "修改阿里云联系人 ID", + "workflow_node.deploy.form.aliyun_casdeploy_contact_ids.multiple_input_modal.placeholder": "请输入阿里云联系人 ID", + "workflow_node.deploy.form.aliyun_clb_region.label": "阿里云服务地域", + "workflow_node.deploy.form.aliyun_clb_region.placeholder": "请输入阿里云 CLB 服务地域(例如:cn-hangzhou)", + "workflow_node.deploy.form.aliyun_clb_region.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/slb/classic-load-balancer/product-overview/regions-that-support-clb", + "workflow_node.deploy.form.aliyun_clb_resource_type.option.loadbalancer.label": "部署到指定负载均衡器下的全部 HTTPS 监听", + "workflow_node.deploy.form.aliyun_clb_resource_type.option.listener.label": "部署到指定 HTTPS 监听", + "workflow_node.deploy.form.aliyun_clb_loadbalancer_id.label": "阿里云 CLB 负载均衡器 ID", + "workflow_node.deploy.form.aliyun_clb_loadbalancer_id.placeholder": "请输入阿里云 CLB 负载均衡器 ID", + "workflow_node.deploy.form.aliyun_clb_loadbalancer_id.tooltip": "这是什么?请参阅 https://slb.console.aliyun.com/clb", + "workflow_node.deploy.form.aliyun_clb_listener_port.label": "阿里云 CLB 监听端口", + "workflow_node.deploy.form.aliyun_clb_listener_port.placeholder": "请输入阿里云 CLB 监听端口", + "workflow_node.deploy.form.aliyun_clb_listener_port.tooltip": "这是什么?请参阅 https://slb.console.aliyun.com/clb", + "workflow_node.deploy.form.aliyun_clb_snidomain.label": "阿里云 CLB 扩展域名(可选)", + "workflow_node.deploy.form.aliyun_clb_snidomain.placeholder": "请输入阿里云 CLB 扩展域名", + "workflow_node.deploy.form.aliyun_clb_snidomain.help": "提示:不填写时,将替换监听器的默认证书;否则,将替换扩展域名证书。", + "workflow_node.deploy.form.aliyun_cdn_region.label": "阿里云服务地域", + "workflow_node.deploy.form.aliyun_cdn_region.placeholder": "请输入阿里云 CDN 服务地域(例如:cn-hangzhou)", + "workflow_node.deploy.form.aliyun_cdn_region.tooltip": "中国站请填写 cn-hangzhou
          国际站请填写 ap-southeast-1。", + "workflow_node.deploy.form.aliyun_cdn_domain.label": "阿里云 CDN 加速域名", + "workflow_node.deploy.form.aliyun_cdn_domain.placeholder": "请输入阿里云 CDN 加速域名", + "workflow_node.deploy.form.aliyun_dcdn_region.label": "阿里云服务地域", + "workflow_node.deploy.form.aliyun_dcdn_region.placeholder": "请输入阿里云 DCDN 服务地域(例如:cn-hangzhou)", + "workflow_node.deploy.form.aliyun_dcdn_region.tooltip": "中国站请填写 cn-hangzhou
          国际站请填写 ap-southeast-1。", + "workflow_node.deploy.form.aliyun_dcdn_domain.label": "阿里云 DCDN 加速域名", + "workflow_node.deploy.form.aliyun_dcdn_domain.placeholder": "请输入阿里云 DCDN 加速域名", + "workflow_node.deploy.form.aliyun_ddospro_region.label": "阿里云服务地域", + "workflow_node.deploy.form.aliyun_ddospro_region.placeholder": "请输入阿里云 DDoS 高防服务地域(例如:cn-hangzhou)", + "workflow_node.deploy.form.aliyun_ddospro_region.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/anti-ddos/anti-ddos-pro-and-premium/developer-reference/api-ddoscoo-2020-01-01-endpoint", + "workflow_node.deploy.form.aliyun_ddospro_domain.label": "阿里云 DDoS 高防网站域名", + "workflow_node.deploy.form.aliyun_ddospro_domain.placeholder": "请输入阿里云 DDoS 高防网站域名", + "workflow_node.deploy.form.aliyun_esa_region.label": "阿里云服务地域", + "workflow_node.deploy.form.aliyun_esa_region.placeholder": "请输入阿里云 ESA 服务地域(例如:cn-hangzhou)", + "workflow_node.deploy.form.aliyun_esa_region.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/edge-security-acceleration/esa/api-esa-2024-09-10-endpoint", + "workflow_node.deploy.form.aliyun_esa_site_id.label": "阿里云 ESA 站点 ID", + "workflow_node.deploy.form.aliyun_esa_site_id.placeholder": "请输入阿里云 ESA 站点 ID", + "workflow_node.deploy.form.aliyun_esa_site_id.tooltip": "这是什么?请参阅 https://esa.console.aliyun.com/siteManage/list", + "workflow_node.deploy.form.aliyun_fc_region.label": "阿里云服务地域", + "workflow_node.deploy.form.aliyun_fc_region.placeholder": "请输入阿里云 FC 服务地域(例如:cn-hangzhou)", + "workflow_node.deploy.form.aliyun_fc_region.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/functioncompute/fc-3-0/product-overview/supported-regions", + "workflow_node.deploy.form.aliyun_fc_service_version.label": "阿里云 FC 服务版本", + "workflow_node.deploy.form.aliyun_fc_service_version.placeholder": "请选择阿里云 FC 服务版本", + "workflow_node.deploy.form.aliyun_fc_domain.label": "阿里云 FC 自定义域名", + "workflow_node.deploy.form.aliyun_fc_domain.placeholder": "请输入阿里云 FC 自定义域名", + "workflow_node.deploy.form.aliyun_ga_resource_type.option.accelerator.label": "部署到指定全球加速器下的全部 HTTPS 监听", + "workflow_node.deploy.form.aliyun_ga_resource_type.option.listener.label": "部署到指定 HTTPS 监听器", + "workflow_node.deploy.form.aliyun_ga_accelerator_id.label": "阿里云全球加速实例 ID", + "workflow_node.deploy.form.aliyun_ga_accelerator_id.placeholder": "请输入阿里云全球加速实例 ID", + "workflow_node.deploy.form.aliyun_ga_accelerator_id.tooltip": "这是什么?请参阅 https://ga.console.aliyun.com", + "workflow_node.deploy.form.aliyun_ga_listener_id.label": "阿里云全球加速监听 ID", + "workflow_node.deploy.form.aliyun_ga_listener_id.placeholder": "请输入阿里云全球加速监听 ID", + "workflow_node.deploy.form.aliyun_ga_listener_id.tooltip": "这是什么?请参阅 https://ga.console.aliyun.com", + "workflow_node.deploy.form.aliyun_ga_snidomain.label": "阿里云全球加速扩展域名(可选)", + "workflow_node.deploy.form.aliyun_ga_snidomain.placeholder": "请输入阿里云全球加速扩展域名", + "workflow_node.deploy.form.aliyun_ga_snidomain.help": "提示:不填写时,将替换监听器的默认证书;否则,将替换扩展域名证书。", + "workflow_node.deploy.form.aliyun_live_region.label": "阿里云服务地域", + "workflow_node.deploy.form.aliyun_live_region.placeholder": "请输入阿里云视频直播服务地域(例如:cn-hangzhou)", + "workflow_node.deploy.form.aliyun_live_region.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/live/product-overview/supported-regions", + "workflow_node.deploy.form.aliyun_live_domain.label": "阿里云视频直播流域名", + "workflow_node.deploy.form.aliyun_live_domain.placeholder": "请输入阿里云视频直播流域名", + "workflow_node.deploy.form.aliyun_nlb_region.label": "阿里云服务地域", + "workflow_node.deploy.form.aliyun_nlb_region.placeholder": "请输入阿里云 NLB 服务地域(例如:cn-hangzhou)", + "workflow_node.deploy.form.aliyun_nlb_region.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/slb/network-load-balancer/product-overview/regions-that-support-nlb", + "workflow_node.deploy.form.aliyun_nlb_resource_type.option.loadbalancer.label": "部署到指定负载均衡器下的全部 HTTPS/QUIC 监听器", + "workflow_node.deploy.form.aliyun_nlb_resource_type.option.listener.label": "部署到指定 HTTPS/QUIC 监听器", + "workflow_node.deploy.form.aliyun_nlb_loadbalancer_id.label": "阿里云 NLB 负载均衡器 ID", + "workflow_node.deploy.form.aliyun_nlb_loadbalancer_id.placeholder": "请输入阿里云 NLB 负载均衡器 ID", + "workflow_node.deploy.form.aliyun_nlb_loadbalancer_id.tooltip": "这是什么?请参阅 https://slb.console.aliyun.com/nlb", + "workflow_node.deploy.form.aliyun_nlb_listener_id.label": "阿里云 NLB 监听器 ID", + "workflow_node.deploy.form.aliyun_nlb_listener_id.placeholder": "请输入阿里云 NLB 监听器 ID", + "workflow_node.deploy.form.aliyun_nlb_listener_id.tooltip": "这是什么?请参阅 https://slb.console.aliyun.com/nlb", + "workflow_node.deploy.form.aliyun_oss_region.label": "阿里云服务地域", + "workflow_node.deploy.form.aliyun_oss_region.placeholder": "请输入阿里云 OSS 服务地域(例如:cn-hangzhou)", + "workflow_node.deploy.form.aliyun_oss_region.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/oss/user-guide/regions-and-endpoints", + "workflow_node.deploy.form.aliyun_oss_bucket.label": "阿里云 OSS 存储桶名", + "workflow_node.deploy.form.aliyun_oss_bucket.placeholder": "请输入阿里云 OSS 存储桶名", + "workflow_node.deploy.form.aliyun_oss_domain.label": "阿里云 OSS 自定义域名", + "workflow_node.deploy.form.aliyun_oss_domain.placeholder": "请输入阿里云 OSS 自定义域名", + "workflow_node.deploy.form.aliyun_vod_region.label": "阿里云服务地域", + "workflow_node.deploy.form.aliyun_vod_region.placeholder": "请输入阿里云视频点播服务地域(例如:cn-hangzhou)", + "workflow_node.deploy.form.aliyun_vod_region.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/vod/product-overview/regions", + "workflow_node.deploy.form.aliyun_vod_domain.label": "阿里云视频点播加速域名", + "workflow_node.deploy.form.aliyun_vod_domain.placeholder": "请输入阿里云视频点播加速域名", + "workflow_node.deploy.form.aliyun_waf_region.label": "阿里云服务地域", + "workflow_node.deploy.form.aliyun_waf_region.placeholder": "请输入阿里云 WAF 服务地域(例如:cn-hangzhou)", + "workflow_node.deploy.form.aliyun_waf_region.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/waf/web-application-firewall-3-0/developer-reference/api-waf-openapi-2021-10-01-endpoint", + "workflow_node.deploy.form.aliyun_waf_service_version.label": "阿里云 WAF 服务版本", + "workflow_node.deploy.form.aliyun_waf_service_version.placeholder": "请选择阿里云 WAF 服务版本", + "workflow_node.deploy.form.aliyun_waf_service_type.label": "阿里云 WAF 服务接入方式", + "workflow_node.deploy.form.aliyun_waf_service_type.placeholder": "请选择阿里云 WAF 服务接入方式", + "workflow_node.deploy.form.aliyun_waf_service_type.option.cloudresource.label": "云产品接入", + "workflow_node.deploy.form.aliyun_waf_service_type.option.cname.label": "CNAME 接入", + "workflow_node.deploy.form.aliyun_waf_instance_id.label": "阿里云 WAF 实例 ID", + "workflow_node.deploy.form.aliyun_waf_instance_id.placeholder": "请输入阿里云 WAF 实例 ID", + "workflow_node.deploy.form.aliyun_waf_instance_id.tooltip": "这是什么?请参阅 https://waf.console.aliyun.com", + "workflow_node.deploy.form.aliyun_waf_resource_product.label": "阿里云 WAF 云产品接入资源类型", + "workflow_node.deploy.form.aliyun_waf_resource_product.placeholder": "请选择 WAF 云产品接入资源类型", + "workflow_node.deploy.form.aliyun_waf_resource_id.label": "阿里云 WAF 云产品接入资源 ID", + "workflow_node.deploy.form.aliyun_waf_resource_id.placeholder": "请选择阿里云 WAF 云产品接入资源 ID", + "workflow_node.deploy.form.aliyun_waf_resource_port.label": "阿里云 WAF 云产品接入端口", + "workflow_node.deploy.form.aliyun_waf_resource_port.placeholder": "请选择阿里云 WAF 云产品接入端口", + "workflow_node.deploy.form.aliyun_waf_domain.label": "阿里云 WAF 扩展域名(可选)", + "workflow_node.deploy.form.aliyun_waf_domain.placeholder": "请输入阿里云 WAF 扩展域名", + "workflow_node.deploy.form.aliyun_waf_domain.help": "提示:不填写时,将替换实例的默认证书;否则,将替换扩展域名证书。", + "workflow_node.deploy.form.apisix_resource_type.option.certificate.label": "替换指定证书", + "workflow_node.deploy.form.apisix_certificate_id.label": "APISIX 证书 ID", + "workflow_node.deploy.form.apisix_certificate_id.placeholder": "请输入 APISIX 证书 ID", + "workflow_node.deploy.form.apisix_certificate_id.tooltip": "请登录 APISIX 控制台查看", + "workflow_node.deploy.form.aws_acm_region.label": "AWS 服务区域", + "workflow_node.deploy.form.aws_acm_region.placeholder": "请输入 AWS ACM 服务区域(例如:us-east-1)", + "workflow_node.deploy.form.aws_acm_region.tooltip": "这是什么?请参阅 https://docs.aws.amazon.com/zh_cn/general/latest/gr/rande.html#regional-endpoints", + "workflow_node.deploy.form.aws_acm_certificate_arn.label": "AWS ACM 证书 ARN(可选)", + "workflow_node.deploy.form.aws_acm_certificate_arn.placeholder": "请输入 AWS ACM 证书 ARN", + "workflow_node.deploy.form.aws_acm_certificate_arn.help": "提示:不填写时,将导入为新证书;否则,将替换原证书。", + "workflow_node.deploy.form.aws_cloudfront_region.label": "AWS 服务区域", + "workflow_node.deploy.form.aws_cloudfront_region.placeholder": "请输入 AWS CloudFront 服务区域(例如:us-east-1)", + "workflow_node.deploy.form.aws_cloudfront_region.tooltip": "这是什么?请参阅 https://docs.aws.amazon.com/zh_cn/general/latest/gr/rande.html#regional-endpoints", + "workflow_node.deploy.form.aws_cloudfront_distribution_id.label": "AWS CloudFront 分配 ID", + "workflow_node.deploy.form.aws_cloudfront_distribution_id.placeholder": "请输入 AWS CloudFront 分配 ID", + "workflow_node.deploy.form.aws_cloudfront_distribution_id.tooltip": "这是什么?请参阅 https://docs.aws.amazon.com/zh_cn/AmazonCloudFront/latest/DeveloperGuide/distribution-working-with.html", + "workflow_node.deploy.form.aws_cloudfront_certificate_source.label": "AWS CloudFront 证书来源", + "workflow_node.deploy.form.aws_cloudfront_certificate_source.placeholder": "请选择 AWS CloudFront 证书来源", + "workflow_node.deploy.form.aws_iam_region.label": "AWS 服务区域", + "workflow_node.deploy.form.aws_iam_region.placeholder": "请输入 AWS IAM 服务区域(例如:us-east-1)", + "workflow_node.deploy.form.aws_iam_region.tooltip": "这是什么?请参阅 https://docs.aws.amazon.com/zh_cn/general/latest/gr/rande.html#regional-endpoints", + "workflow_node.deploy.form.aws_iam_certificate_path.label": "AWS IAM 证书路径(可选)", + "workflow_node.deploy.form.aws_iam_certificate_path.placeholder": "请输入 AWS IAM 证书路径", + "workflow_node.deploy.form.aws_iam_certificate_path.errmsg.invalid": "请输入正确的 AWS IAM 证书路径", + "workflow_node.deploy.form.aws_iam_certificate_path.tooltip": "这是什么?请参阅 https://docs.aws.amazon.com/zh_cn/IAM/latest/UserGuide/reference_identifiers.html", + "workflow_node.deploy.form.azure_keyvault_name.label": "Azure KeyVault 名称", + "workflow_node.deploy.form.azure_keyvault_name.placeholder": "请输入 Azure KeyVault 名称", + "workflow_node.deploy.form.azure_keyvault_name.tooltip": "这是什么?请参阅 https://learn.microsoft.com/zh-cn/azure/key-vault/general/about-keys-secrets-certificates", + "workflow_node.deploy.form.azure_keyvault_certificate_name.label": "Azure KeyVault 证书名称(可选)", + "workflow_node.deploy.form.azure_keyvault_certificate_name.placeholder": "请输入 Azure KeyVault 证书名称", + "workflow_node.deploy.form.azure_keyvault_certificate_name.errmsg.invalid": "证书名称只能包含字母、数字和连字符(-),长度限制为 1 到 127 个字符", + "workflow_node.deploy.form.azure_keyvault_certificate_name.help": "提示:不填写时,将由 Certimate 自动生成证书名称。", + "workflow_node.deploy.form.baiducloud_appblb_region.label": "百度智能云服务地域", + "workflow_node.deploy.form.baiducloud_appblb_region.placeholder": "请输入百度智能云 BLB 服务地域(例如:bj)", + "workflow_node.deploy.form.baiducloud_appblb_region.tooltip": "这是什么?请参阅 https://cloud.baidu.com/doc/BLB/s/cjwvxnzix", + "workflow_node.deploy.form.baiducloud_appblb_resource_type.option.loadbalancer.label": "部署到指定负载均衡器下的全部 HTTPS/SSL 监听", + "workflow_node.deploy.form.baiducloud_appblb_resource_type.option.listener.label": "部署到指定 HTTPS/SSL 监听", + "workflow_node.deploy.form.baiducloud_appblb_loadbalancer_id.label": "百度智能云 BLB 负载均衡器 ID", + "workflow_node.deploy.form.baiducloud_appblb_loadbalancer_id.placeholder": "请输入百度智能云 BLB 负载均衡器 ID", + "workflow_node.deploy.form.baiducloud_appblb_loadbalancer_id.tooltip": "这是什么?请参阅 https://console.bce.baidu.com/blb/#/appblb/list", + "workflow_node.deploy.form.baiducloud_appblb_listener_port.label": "百度智能云 BLB 监听端口", + "workflow_node.deploy.form.baiducloud_appblb_listener_port.placeholder": "请输入百度智能云 BLB 监听端口", + "workflow_node.deploy.form.baiducloud_appblb_listener_port.tooltip": "这是什么?请参阅 https://console.bce.baidu.com/blb/#/appblb/list", + "workflow_node.deploy.form.baiducloud_appblb_snidomain.label": "百度智能云 BLB 扩展域名(可选)", + "workflow_node.deploy.form.baiducloud_appblb_snidomain.placeholder": "请输入百度智能云 BLB 扩展域名", + "workflow_node.deploy.form.baiducloud_appblb_snidomain.help": "提示:不填写时,将替换监听器的默认证书;否则,将替换扩展域名证书。", + "workflow_node.deploy.form.baiducloud_blb_region.label": "百度智能云服务地域", + "workflow_node.deploy.form.baiducloud_blb_region.placeholder": "请输入百度智能云 BLB 服务地域(例如:bj)", + "workflow_node.deploy.form.baiducloud_blb_region.tooltip": "这是什么?请参阅 https://cloud.baidu.com/doc/BLB/s/cjwvxnzix", + "workflow_node.deploy.form.baiducloud_blb_resource_type.option.loadbalancer.label": "部署到指定负载均衡器下的全部 HTTPS/SSL 监听", + "workflow_node.deploy.form.baiducloud_blb_resource_type.option.listener.label": "部署到指定 HTTPS/SSL 监听", + "workflow_node.deploy.form.baiducloud_blb_loadbalancer_id.label": "百度智能云 BLB 负载均衡器 ID", + "workflow_node.deploy.form.baiducloud_blb_loadbalancer_id.placeholder": "请输入百度智能云 BLB 负载均衡器 ID", + "workflow_node.deploy.form.baiducloud_blb_loadbalancer_id.tooltip": "这是什么?请参阅 https://console.bce.baidu.com/blb/#/blb/list", + "workflow_node.deploy.form.baiducloud_blb_listener_port.label": "百度智能云 BLB 监听端口", + "workflow_node.deploy.form.baiducloud_blb_listener_port.placeholder": "请输入百度智能云 BLB 监听端口", + "workflow_node.deploy.form.baiducloud_blb_listener_port.tooltip": "这是什么?请参阅 https://console.bce.baidu.com/blb/#/blb/list", + "workflow_node.deploy.form.baiducloud_blb_snidomain.label": "百度智能云 BLB 扩展域名(可选)", + "workflow_node.deploy.form.baiducloud_blb_snidomain.placeholder": "请输入百度智能云 BLB 扩展域名", + "workflow_node.deploy.form.baiducloud_blb_snidomain.help": "提示:不填写时,将替换监听器的默认证书;否则,将替换扩展域名证书。", + "workflow_node.deploy.form.baiducloud_cdn_domain.label": "百度智能云 CDN 加速域名", + "workflow_node.deploy.form.baiducloud_cdn_domain.placeholder": "请输入百度智能云 CDN 加速域名", + "workflow_node.deploy.form.baishan_cdn_resource_type.option.domain.label": "部署到指定加速域名", + "workflow_node.deploy.form.baishan_cdn_resource_type.option.certificate.label": "替换指定证书", + "workflow_node.deploy.form.baishan_cdn_domain.label": "白山云 CDN 加速域名", + "workflow_node.deploy.form.baishan_cdn_domain.placeholder": "请输入白山云 CDN 加速域名", + "workflow_node.deploy.form.baishan_cdn_certificate_id.label": "白山云 CDN 证书 ID", + "workflow_node.deploy.form.baishan_cdn_certificate_id.placeholder": "请输入白山云 CDN 证书 ID", + "workflow_node.deploy.form.baishan_cdn_certificate_id.tooltip": "这是什么?请参阅 https://cdnx.console.baishan.com/#/cdn/cert", + "workflow_node.deploy.form.baotapanel_console.guide": "需要宝塔面板 v8.3 或更高版本。", + "workflow_node.deploy.form.baotapanel_console_auto_restart.label": "部署后自动重启宝塔面板服务", + "workflow_node.deploy.form.baotapanel_site.guide": "需要宝塔面板 v8.3 或更高版本。", + "workflow_node.deploy.form.baotapanel_site_type.label": "宝塔面板网站类型", + "workflow_node.deploy.form.baotapanel_site_type.placeholder": "请选择宝塔面板网站类型", + "workflow_node.deploy.form.baotapanel_site_type.option.php.label": "PHP", + "workflow_node.deploy.form.baotapanel_site_type.option.any.label": "任意类型(需要宝塔面板 v9.4+)", + "workflow_node.deploy.form.baotapanel_site_names.label": "宝塔面板网站名称", + "workflow_node.deploy.form.baotapanel_site_names.placeholder": "请输入宝塔面板网站名称(多个值请用半角分号隔开)", + "workflow_node.deploy.form.baotapanel_site_names.errmsg.invalid": "请输入正确的宝塔面板网站名称", + "workflow_node.deploy.form.baotapanel_site_names.help": "提示:支持多个网站名称,以半角分号隔开。", + "workflow_node.deploy.form.baotapanel_site_names.tooltip": "请登录宝塔面板查看", + "workflow_node.deploy.form.baotapanel_site_names.multiple_input_modal.title": "修改宝塔面板网站名称", + "workflow_node.deploy.form.baotapanel_site_names.multiple_input_modal.placeholder": "请输入宝塔面板网站名称", + "workflow_node.deploy.form.baotapanelgo_site_type.label": "宝塔面板极速版网站类型", + "workflow_node.deploy.form.baotapanelgo_site_type.placeholder": "请选择宝塔面板极速版网站类型", + "workflow_node.deploy.form.baotapanelgo_site_type.option.php.label": "PHP 项目", + "workflow_node.deploy.form.baotapanelgo_site_type.option.java.label": "Java 项目", + "workflow_node.deploy.form.baotapanelgo_site_type.option.asp.label": ".NET 项目", + "workflow_node.deploy.form.baotapanelgo_site_type.option.go.label": "Golang 项目", + "workflow_node.deploy.form.baotapanelgo_site_type.option.python.label": "Python 项目", + "workflow_node.deploy.form.baotapanelgo_site_type.option.nodejs.label": "Node.js 项目", + "workflow_node.deploy.form.baotapanelgo_site_type.option.proxy.label": "反向代理", + "workflow_node.deploy.form.baotapanelgo_site_type.option.general.label": "通用项目", + "workflow_node.deploy.form.baotapanelgo_site_names.label": "宝塔面板极速版网站名称", + "workflow_node.deploy.form.baotapanelgo_site_names.placeholder": "请输入宝塔面板极速版网站名称(多个值请用半角分号隔开)", + "workflow_node.deploy.form.baotapanelgo_site_names.errmsg.invalid": "请输入正确的宝塔面板极速版网站名称", + "workflow_node.deploy.form.baotapanelgo_site_names.help": "提示:支持多个网站名称,以半角分号隔开。", + "workflow_node.deploy.form.baotapanelgo_site_names.tooltip": "请登录宝塔面板极速版查看", + "workflow_node.deploy.form.baotapanelgo_site_names.multiple_input_modal.title": "修改宝塔面板极速版网站名称", + "workflow_node.deploy.form.baotapanelgo_site_names.multiple_input_modal.placeholder": "请输入宝塔面板极速版网站名称", + "workflow_node.deploy.form.baotawaf_site_names.label": "堡塔云 WAF 网站名称", + "workflow_node.deploy.form.baotawaf_site_names.placeholder": "请输入堡塔云 WAF 网站名称(多个值请用半角分号隔开)", + "workflow_node.deploy.form.baotawaf_site_names.errmsg.invalid": "请输入正确的堡塔云 WAF 网站名称", + "workflow_node.deploy.form.baotawaf_site_names.help": "提示:支持多个网站名称,以半角分号隔开。", + "workflow_node.deploy.form.baotawaf_site_names.tooltip": "请登录堡塔云 WAF 查看", + "workflow_node.deploy.form.baotawaf_site_names.multiple_input_modal.title": "修改堡塔云 WAF 网站名称", + "workflow_node.deploy.form.baotawaf_site_names.multiple_input_modal.placeholder": "请输入堡塔云 WAF 网站名称", + "workflow_node.deploy.form.baotawaf_site_port.label": "堡塔云 WAF 网站 SSL 端口", + "workflow_node.deploy.form.baotawaf_site_port.placeholder": "请输入堡塔云 WAF 网站 SSL 端口", + "workflow_node.deploy.form.bunny_cdn_pull_zone_id.label": "Bunny CDN 拉取区域 ID", + "workflow_node.deploy.form.bunny_cdn_pull_zone_id.placeholder": "请输入 Bunny CDN 拉取区域 ID", + "workflow_node.deploy.form.bunny_cdn_pull_zone_id.tooltip": "这是什么?请参阅 https://dash.bunny.net/cdn", + "workflow_node.deploy.form.bunny_cdn_hostname.label": "Bunny CDN 主机名", + "workflow_node.deploy.form.bunny_cdn_hostname.placeholder": "请输入 Bunny CDN 主机名", + "workflow_node.deploy.form.bunny_cdn_hostname.tooltip": "这是什么?请参阅 https://dash.bunny.net/cdn", + "workflow_node.deploy.form.byteplus_cdn_domain.label": "BytePlus CDN 域名", + "workflow_node.deploy.form.byteplus_cdn_domain.placeholder": "请输入 BytePlus CDN 域名", + "workflow_node.deploy.form.cdnfly_resource_type.option.site.label": "部署到指定网站", + "workflow_node.deploy.form.cdnfly_resource_type.option.certificate.label": "替换指定证书", + "workflow_node.deploy.form.cdnfly_site_id.label": "Cdnfly 网站 ID", + "workflow_node.deploy.form.cdnfly_site_id.placeholder": "请输入 Cdnfly 网站 ID", + "workflow_node.deploy.form.cdnfly_site_id.tooltip": "请登录 Cdnfly 控制台查看", + "workflow_node.deploy.form.cdnfly_certificate_id.label": "Cdnfly 证书 ID", + "workflow_node.deploy.form.cdnfly_certificate_id.placeholder": "请输入 Cdnfly 证书 ID", + "workflow_node.deploy.form.cdnfly_certificate_id.tooltip": "请登录 Cdnfly 控制台查看", + "workflow_node.deploy.form.ctcccloud_ao_domain.label": "天翼云 AccessOne 加速域名", + "workflow_node.deploy.form.ctcccloud_ao_domain.placeholder": "请输入天翼云 AccessOne 加速域名", + "workflow_node.deploy.form.ctcccloud_cdn_domain.label": "天翼云 CDN 加速域名", + "workflow_node.deploy.form.ctcccloud_cdn_domain.placeholder": "请输入天翼云 CDN 加速域名", + "workflow_node.deploy.form.ctcccloud_elb_region_id.label": "天翼云资源池 ID", + "workflow_node.deploy.form.ctcccloud_elb_region_id.placeholder": "请输入天翼云 ELB 资源池 ID", + "workflow_node.deploy.form.ctcccloud_elb_region_id.tooltip": "这是什么?请参阅 https://www.ctyun.cn/document/10026755/10196575", + "workflow_node.deploy.form.ctcccloud_elb_resource_type.option.loadbalancer.label": "部署到指定负载均衡器下的全部 HTTPS 监听器", + "workflow_node.deploy.form.ctcccloud_elb_resource_type.option.listener.label": "部署到指定 HTTPS 监听器", + "workflow_node.deploy.form.ctcccloud_elb_loadbalancer_id.label": "天翼云 ELB 负载均衡器 ID", + "workflow_node.deploy.form.ctcccloud_elb_loadbalancer_id.placeholder": "请输入天翼云 ELB 负载均衡器 ID", + "workflow_node.deploy.form.ctcccloud_elb_loadbalancer_id.tooltip": "这是什么?请参阅 https://console.ctyun.cn/network/index/#/elb/elbList", + "workflow_node.deploy.form.ctcccloud_elb_listener_id.label": "天翼云 ELB 监听器 ID", + "workflow_node.deploy.form.ctcccloud_elb_listener_id.placeholder": "请输入天翼云 ELB 监听器 ID", + "workflow_node.deploy.form.ctcccloud_elb_listener_id.tooltip": "这是什么?请参阅 https://console.ctyun.cn/network/index/#/elb/elbList", + "workflow_node.deploy.form.ctcccloud_icdn_domain.label": "天翼云 ICDN 加速域名", + "workflow_node.deploy.form.ctcccloud_icdn_domain.placeholder": "请输入天翼云 ICDN 加速域名", + "workflow_node.deploy.form.ctcccloud_lvdn_domain.label": "天翼云 LVDN 加速域名", + "workflow_node.deploy.form.ctcccloud_lvdn_domain.placeholder": "请输入天翼云 LVDN 加速域名", + "workflow_node.deploy.form.dogecloud_cdn_domain.label": "多吉云 CDN 加速域名", + "workflow_node.deploy.form.dogecloud_cdn_domain.placeholder": "请输入多吉云 CDN 加速域名", + "workflow_node.deploy.form.flexcdn_resource_type.option.certificate.label": "替换指定证书", + "workflow_node.deploy.form.flexcdn_certificate_id.label": "FlexCDN 证书 ID", + "workflow_node.deploy.form.flexcdn_certificate_id.placeholder": "请输入 FlexCDN 证书 ID", + "workflow_node.deploy.form.flexcdn_certificate_id.tooltip": "请登录 FlexCDN 控制台查看", + "workflow_node.deploy.form.gcore_cdn_resource_id.label": "G-Core CDN 资源 ID", + "workflow_node.deploy.form.gcore_cdn_resource_id.placeholder": "请输入 G-Core CDN 资源 ID", + "workflow_node.deploy.form.gcore_cdn_resource_id.tooltip": "这是什么?请参阅 https://cdn.gcore.com/resources/list", + "workflow_node.deploy.form.gcore_cdn_certificate_id.label": "G-Core CDN 原证书 ID(可选)", + "workflow_node.deploy.form.gcore_cdn_certificate_id.placeholder": "请输入 G-Core CDN 原证书 ID", + "workflow_node.deploy.form.gcore_cdn_certificate_id.help": "提示:不填写时,将上传新证书;否则,将替换原证书。", + "workflow_node.deploy.form.gcore_cdn_certificate_id.tooltip": "这是什么?请参阅 https://cdn.gcore.com/ssl", + "workflow_node.deploy.form.goedge_resource_type.option.certificate.label": "替换指定证书", + "workflow_node.deploy.form.goedge_certificate_id.label": "GoEdge 证书 ID", + "workflow_node.deploy.form.goedge_certificate_id.placeholder": "请输入 GoEdge 证书 ID", + "workflow_node.deploy.form.goedge_certificate_id.tooltip": "请登录 GoEdge 控制台查看", + "workflow_node.deploy.form.huaweicloud_cdn_region.label": "华为云服务区域", + "workflow_node.deploy.form.huaweicloud_cdn_region.placeholder": "请输入华为云 CDN 服务区域(例如:cn-north-1)", + "workflow_node.deploy.form.huaweicloud_cdn_region.tooltip": "这是什么?请参阅 https://console.huaweicloud.com/apiexplorer/#/endpoint", + "workflow_node.deploy.form.huaweicloud_cdn_domain.label": "华为云 CDN 加速域名", + "workflow_node.deploy.form.huaweicloud_cdn_domain.placeholder": "请输入华为云 CDN 加速域名", + "workflow_node.deploy.form.huaweicloud_obs_region.label": "华为云服务区域", + "workflow_node.deploy.form.huaweicloud_obs_region.placeholder": "请输入华为云 OBS 服务区域(例如:cn-north-1)", + "workflow_node.deploy.form.huaweicloud_obs_region.tooltip": "这是什么?请参阅 https://console.huaweicloud.com/apiexplorer/#/endpoint", + "workflow_node.deploy.form.huaweicloud_obs_bucket.label": "华为云 OBS 存储桶名", + "workflow_node.deploy.form.huaweicloud_obs_bucket.placeholder": "请输入华为云 OBS 存储桶名", + "workflow_node.deploy.form.huaweicloud_obs_domain.label": "华为云 OBS 自定义域名", + "workflow_node.deploy.form.huaweicloud_obs_domain.placeholder": "请输入华为云 OBS 自定义域名", + "workflow_node.deploy.form.huaweicloud_elb_region.label": "华为云服务区域", + "workflow_node.deploy.form.huaweicloud_elb_region.placeholder": "请输入华为云 ELB 服务区域(例如:cn-north-1)", + "workflow_node.deploy.form.huaweicloud_elb_region.tooltip": "这是什么?请参阅 https://console.huaweicloud.com/apiexplorer/#/endpoint", + "workflow_node.deploy.form.huaweicloud_elb_resource_type.option.loadbalancer.label": "部署到指定负载均衡器下的全部 HTTPS 监听器", + "workflow_node.deploy.form.huaweicloud_elb_resource_type.option.listener.label": "部署到指定 HTTPS 监听器", + "workflow_node.deploy.form.huaweicloud_elb_resource_type.option.certificate.label": "替换指定证书", + "workflow_node.deploy.form.huaweicloud_elb_certificate_id.label": "华为云 ELB 证书 ID", + "workflow_node.deploy.form.huaweicloud_elb_certificate_id.placeholder": "请输入华为云 ELB 证书 ID", + "workflow_node.deploy.form.huaweicloud_elb_certificate_id.tooltip": "这是什么?请参阅 https://console.huaweicloud.com/vpc/#/elb/elbCert", + "workflow_node.deploy.form.huaweicloud_elb_loadbalancer_id.label": "华为云 ELB 负载均衡器 ID", + "workflow_node.deploy.form.huaweicloud_elb_loadbalancer_id.placeholder": "请输入华为云 ELB 负载均衡器 ID", + "workflow_node.deploy.form.huaweicloud_elb_loadbalancer_id.tooltip": "这是什么?请参阅 https://console.huaweicloud.com/vpc/#/elb/list/grid", + "workflow_node.deploy.form.huaweicloud_elb_listener_id.label": "华为云 ELB 监听器 ID", + "workflow_node.deploy.form.huaweicloud_elb_listener_id.placeholder": "请输入华为云 ELB 监听器 ID", + "workflow_node.deploy.form.huaweicloud_elb_listener_id.tooltip": "这是什么?请参阅 https://console.huaweicloud.com/vpc/#/elb/list/grid", + "workflow_node.deploy.form.huaweicloud_waf_region.label": "华为云服务区域", + "workflow_node.deploy.form.huaweicloud_waf_region.placeholder": "请输入华为云 WAF 服务区域(例如:cn-north-1)", + "workflow_node.deploy.form.huaweicloud_waf_region.tooltip": "这是什么?请参阅 https://console.huaweicloud.com/apiexplorer/#/endpoint", + "workflow_node.deploy.form.huaweicloud_waf_resource_type.option.cloudserver.label": "部署到指定云模式防护网站", + "workflow_node.deploy.form.huaweicloud_waf_resource_type.option.premiumhost.label": "部署到指定独享模式防护网站", + "workflow_node.deploy.form.huaweicloud_waf_resource_type.option.certificate.label": "替换指定证书", + "workflow_node.deploy.form.huaweicloud_waf_domain.label": "华为云 WAF 防护域名", + "workflow_node.deploy.form.huaweicloud_waf_domain.placeholder": "请输入华为云 WAF 防护域名", + "workflow_node.deploy.form.huaweicloud_waf_certificate_id.label": "华为云 WAF 证书 ID", + "workflow_node.deploy.form.huaweicloud_waf_certificate_id.placeholder": "请输入华为云 WAF 证书 ID", + "workflow_node.deploy.form.huaweicloud_waf_certificate_id.tooltip": "这是什么?请参阅 https://console.huaweicloud.com/console/#/waf/certificateManagement", + "workflow_node.deploy.form.jdcloud_alb_region_id.label": "京东云服务地域 ID", + "workflow_node.deploy.form.jdcloud_alb_region_id.placeholder": "请输入京东云 ALB 服务地域 ID(例如:cn-north-1", + "workflow_node.deploy.form.jdcloud_alb_region_id.tooltip": "这是什么?请参阅 https://docs.jdcloud.com/cn/common-declaration/api/introduction", + "workflow_node.deploy.form.jdcloud_alb_resource_type.option.loadbalancer.label": "部署到指定负载均衡器下的全部 HTTPS/TLS 监听", + "workflow_node.deploy.form.jdcloud_alb_resource_type.option.listener.label": "部署到指定 HTTPS/TLS 监听器", + "workflow_node.deploy.form.jdcloud_alb_loadbalancer_id.label": "京东云 ALB 负载均衡器 ID", + "workflow_node.deploy.form.jdcloud_alb_loadbalancer_id.placeholder": "请输入京东云 ALB 负载均衡器 ID", + "workflow_node.deploy.form.jdcloud_alb_loadbalancer_id.tooltip": "这是什么?请参阅 https://cns-console.jdcloud.com/host/loadBalance/list", + "workflow_node.deploy.form.jdcloud_alb_listener_id.label": "京东云 ALB 监听器 ID", + "workflow_node.deploy.form.jdcloud_alb_listener_id.placeholder": "请输入京东云 ALB 监听器 ID", + "workflow_node.deploy.form.jdcloud_alb_listener_id.tooltip": "这是什么?请参阅 https://cns-console.jdcloud.com/host/loadBalance/list", + "workflow_node.deploy.form.jdcloud_alb_snidomain.label": "京东云 ALB 扩展域名(可选)", + "workflow_node.deploy.form.jdcloud_alb_snidomain.placeholder": "请输入京东云 ALB 扩展域名", + "workflow_node.deploy.form.jdcloud_alb_snidomain.help": "提示:不填写时,将替换监听器的默认证书;否则,将替换扩展域名证书。", + "workflow_node.deploy.form.jdcloud_cdn_domain.label": "京东云 CDN 加速域名", + "workflow_node.deploy.form.jdcloud_cdn_domain.placeholder": "请输入京东云 CDN 加速域名", + "workflow_node.deploy.form.jdcloud_live_domain.label": "京东云视频直播播放域名", + "workflow_node.deploy.form.jdcloud_live_domain.placeholder": "请输入京东云视频直播播放域名", + "workflow_node.deploy.form.jdcloud_vod_domain.label": "京东云视频点播加速域名", + "workflow_node.deploy.form.jdcloud_vod_domain.placeholder": "请输入京东云视频点播加速域名", + "workflow_node.deploy.form.k8s_namespace.label": "Kubernetes 命名空间", + "workflow_node.deploy.form.k8s_namespace.placeholder": "请输入 Kubernetes 命名空间", + "workflow_node.deploy.form.k8s_namespace.tooltip": "这是什么?请参阅 https://kubernetes.io/zh-cn/docs/concepts/overview/working-with-objects/namespaces/", + "workflow_node.deploy.form.k8s_secret_name.label": "Kubernetes Secret 名称", + "workflow_node.deploy.form.k8s_secret_name.placeholder": "请输入 Kubernetes Secret 名称", + "workflow_node.deploy.form.k8s_secret_name.tooltip": "这是什么?请参阅 https://kubernetes.io/zh-cn/docs/concepts/configuration/secret/", + "workflow_node.deploy.form.k8s_secret_type.label": "Kubernetes Secret 类型", + "workflow_node.deploy.form.k8s_secret_type.placeholder": "请输入 Kubernetes Secret 类型", + "workflow_node.deploy.form.k8s_secret_type.tooltip": "这是什么?请参阅 https://kubernetes.io/zh-cn/docs/concepts/configuration/secret/", + "workflow_node.deploy.form.k8s_secret_data_key_for_crt.label": "Kubernetes Secret 数据键(用于存放证书的字段)", + "workflow_node.deploy.form.k8s_secret_data_key_for_crt.placeholder": "请输入 Kubernetes Secret 中用于存放证书的数据键", + "workflow_node.deploy.form.k8s_secret_data_key_for_crt.tooltip": "这是什么?请参阅 https://kubernetes.io/zh-cn/docs/concepts/configuration/secret/", + "workflow_node.deploy.form.k8s_secret_data_key_for_key.label": "Kubernetes Secret 数据键(用于存放私钥的字段)", + "workflow_node.deploy.form.k8s_secret_data_key_for_key.placeholder": "请输入 Kubernetes Secret 中用于存放私钥的数据键", + "workflow_node.deploy.form.k8s_secret_data_key_for_key.tooltip": "这是什么?请参阅 https://kubernetes.io/zh-cn/docs/concepts/configuration/secret/", + "workflow_node.deploy.form.k8s_secret_annotations.label": "Kubernetes Secret 注解(可选)", + "workflow_node.deploy.form.k8s_secret_annotations.placeholder": "请输入 Kubernetes Secret 注解", + "workflow_node.deploy.form.k8s_secret_annotations.help": "提示:每行一个键值对,以分号分隔。", + "workflow_node.deploy.form.k8s_secret_annotations.errmsg.invalid": "请输入有效的注解键值对", + "workflow_node.deploy.form.k8s_secret_annotations.tooltip": "示例:
          environment: production
          app: nginx
          ", + "workflow_node.deploy.form.k8s_secret_labels.label": "Kubernetes Secret 标签(可选)", + "workflow_node.deploy.form.k8s_secret_labels.placeholder": "请输入 Kubernetes Secret 标签", + "workflow_node.deploy.form.k8s_secret_labels.help": "提示:每行一个键值对,以分号分隔。", + "workflow_node.deploy.form.k8s_secret_labels.errmsg.invalid": "请输入有效的标签键值对", + "workflow_node.deploy.form.k8s_secret_labels.tooltip": "示例:
          environment: production
          app: nginx
          ", + "workflow_node.deploy.form.kong_resource_type.option.certificate.label": "替换指定证书", + "workflow_node.deploy.form.kong_workspace.label": "Kong 工作空间(可选)", + "workflow_node.deploy.form.kong_workspace.placeholder": "请输入 Kong 工作空间", + "workflow_node.deploy.form.kong_workspace.tooltip": "请登录 Kong 控制台查看", + "workflow_node.deploy.form.kong_certificate_id.label": "Kong 证书 ID", + "workflow_node.deploy.form.kong_certificate_id.placeholder": "请输入 Kong 证书 ID", + "workflow_node.deploy.form.kong_certificate_id.tooltip": "请登录 Kong 控制台查看", + "workflow_node.deploy.form.ksyun_cdn_resource_type.option.domain.label": "部署到指定加速域名", + "workflow_node.deploy.form.ksyun_cdn_resource_type.option.certificate.label": "替换指定证书", + "workflow_node.deploy.form.ksyun_cdn_domain.label": "金山云 CDN 加速域名", + "workflow_node.deploy.form.ksyun_cdn_domain.placeholder": "请输入金山云 CDN 加速域名", + "workflow_node.deploy.form.ksyun_cdn_certificate_id.label": "金山云 CDN 证书 ID", + "workflow_node.deploy.form.ksyun_cdn_certificate_id.placeholder": "请输入金山云 CDN 证书 ID", + "workflow_node.deploy.form.ksyun_cdn_certificate_id.tooltip": "这是什么?请参阅 https://cdn.console.ksyun.com/", + "workflow_node.deploy.form.lecdn_resource_type.option.certificate.label": "替换指定证书", + "workflow_node.deploy.form.lecdn_certificate_id.label": "LeCDN 证书 ID", + "workflow_node.deploy.form.lecdn_certificate_id.placeholder": "请输入 LeCDN 证书 ID", + "workflow_node.deploy.form.lecdn_certificate_id.tooltip": "请登录 LeCDN 控制台查看", + "workflow_node.deploy.form.lecdn_client_id.label": "LeCDN 客户 ID(可选)", + "workflow_node.deploy.form.lecdn_client_id.placeholder": "请输入 LeCDN 客户 ID", + "workflow_node.deploy.form.lecdn_client_id.tooltip": "请登录 LeCDN 控制台查看。
          使用的是系统管理员的授权信息时必填,需与证书所属客户相同。", + "workflow_node.deploy.form.local.guide": "如果你正在使用 Docker 运行 Certimate,「本地」指的是容器内而非宿主机。", + "workflow_node.deploy.form.local_format.label": "文件格式", + "workflow_node.deploy.form.local_format.placeholder": "请选择文件格式", + "workflow_node.deploy.form.local_format.option.pem.label": "PEM 格式(*.pem, *.crt, *.key)", + "workflow_node.deploy.form.local_format.option.pfx.label": "PFX 格式(*.pfx, *.p12)", + "workflow_node.deploy.form.local_format.option.jks.label": "JKS 格式(*.jks)", + "workflow_node.deploy.form.local_key_path.label": "私钥文件保存路径", + "workflow_node.deploy.form.local_key_path.placeholder": "请输入私钥文件本地路径", + "workflow_node.deploy.form.local_key_path.help": "注意:路径需包含完整的文件名,而不是只有目录。", + "workflow_node.deploy.form.local_cert_path.label": "证书文件保存路径", + "workflow_node.deploy.form.local_cert_path.placeholder": "请输入证书文件本地路径", + "workflow_node.deploy.form.local_cert_path.help": "注意:路径需包含完整的文件名,而不是只有目录。", + "workflow_node.deploy.form.local_fullchaincert_path.label": "证书链文件保存路径", + "workflow_node.deploy.form.local_fullchaincert_path.placeholder": "请输入证书链文件本地路径", + "workflow_node.deploy.form.local_servercert_path.label": "服务器证书文件保存路径(可选)", + "workflow_node.deploy.form.local_servercert_path.placeholder": "请输入服务器证书文件本地路径", + "workflow_node.deploy.form.local_servercert_path.help": "注意:路径需包含完整的文件名,而不是只有目录。不填写时将不会保存服务器证书。", + "workflow_node.deploy.form.local_intermediacert_path.label": "中间证书文件保存路径(可选)", + "workflow_node.deploy.form.local_intermediacert_path.placeholder": "请输入中间证书文件本地路径", + "workflow_node.deploy.form.local_intermediacert_path.help": "注意:路径需包含完整的文件名,而不是只有目录。不填写时将不会保存中间证书。", + "workflow_node.deploy.form.local_pfx_password.label": "PFX 导出密码", + "workflow_node.deploy.form.local_pfx_password.placeholder": "请输入 PFX 导出密码", + "workflow_node.deploy.form.local_pfx_password.tooltip": "这是什么?请参阅 https://learn.microsoft.com/zh-cn/windows-hardware/drivers/install/personal-information-exchange---pfx--files", + "workflow_node.deploy.form.local_jks_alias.label": "JKS 别名", + "workflow_node.deploy.form.local_jks_alias.placeholder": "请输入 JKS 别名", + "workflow_node.deploy.form.local_jks_alias.tooltip": "这是什么?请参阅 https://docs.oracle.com/cd/E19509-01/820-3503/ggfen/index.html", + "workflow_node.deploy.form.local_jks_keypass.label": "JKS 私钥访问口令", + "workflow_node.deploy.form.local_jks_keypass.placeholder": "请输入 JKS 私钥访问口令", + "workflow_node.deploy.form.local_jks_keypass.tooltip": "这是什么?请参阅 https://docs.oracle.com/cd/E19509-01/820-3503/ggfen/index.html", + "workflow_node.deploy.form.local_jks_storepass.label": "JKS 密钥库存储口令", + "workflow_node.deploy.form.local_jks_storepass.placeholder": "请输入 JKS 密钥库存储口令", + "workflow_node.deploy.form.local_jks_storepass.tooltip": "这是什么?请参阅 https://docs.oracle.com/cd/E19509-01/820-3503/ggfen/index.html", + "workflow_node.deploy.form.local_shell_env.label": "命令执行环境", + "workflow_node.deploy.form.local_shell_env.placeholder": "请选择命令执行环境", + "workflow_node.deploy.form.local_shell_env.option.sh.label": "POSIX Bash(Linux / macOS)", + "workflow_node.deploy.form.local_shell_env.option.cmd.label": "CMD(Windows)", + "workflow_node.deploy.form.local_shell_env.option.powershell.label": "PowerShell(Windows)", + "workflow_node.deploy.form.local_pre_command.label": "前置命令(可选)", + "workflow_node.deploy.form.local_pre_command.placeholder": "请输入保存文件前执行的命令", + "workflow_node.deploy.form.local_post_command.label": "后置命令(可选)", + "workflow_node.deploy.form.local_post_command.placeholder": "请输入保存文件后执行的命令", + "workflow_node.deploy.form.local_preset_scripts.sh_backup_files": "POSIX Bash - 备份原证书文件", + "workflow_node.deploy.form.local_preset_scripts.ps_backup_files": "PowerShell - 备份原证书文件", + "workflow_node.deploy.form.local_preset_scripts.sh_reload_nginx": "POSIX Bash - 重启 nginx 进程", + "workflow_node.deploy.form.local_preset_scripts.ps_binding_iis": "PowerShell - 导入并绑定到 IIS", + "workflow_node.deploy.form.local_preset_scripts.ps_binding_netsh": "PowerShell - 导入并绑定到 netsh", + "workflow_node.deploy.form.local_preset_scripts.ps_binding_rdp": "PowerShell - 导入并绑定到 RDP", + "workflow_node.deploy.form.mohua_mvh_host_id.label": "嘿华云虚拟主机 ID", + "workflow_node.deploy.form.mohua_mvh_host_id.placeholder": "请输入嘿华云虚拟主机 ID", + "workflow_node.deploy.form.mohua_mvh_host_id.tooltip": "这是什么?请参阅 https://cloud.mhjz1.cn/service?groupid=328", + "workflow_node.deploy.form.mohua_mvh_domain_id.label": "嘿华云虚拟主机域名 ID", + "workflow_node.deploy.form.mohua_mvh_domain_id.placeholder": "请输入嘿华云虚拟主机域名 ID", + "workflow_node.deploy.form.mohua_mvh_domain_id.tooltip": "这是什么?请参阅 https://cloud.mhjz1.cn/service?groupid=328", + "workflow_node.deploy.form.netlify_site_id.label": "Netlify 网站 ID", + "workflow_node.deploy.form.netlify_site_id.placeholder": "请输入 netlify 网站 ID", + "workflow_node.deploy.form.netlify_site_id.tooltip": "这是什么?请参阅 https://docs.netlify.com/api/get-started/#get-site", + "workflow_node.deploy.form.proxmoxve_node_name.label": "Proxmox VE 集群节点名称", + "workflow_node.deploy.form.proxmoxve_node_name.placeholder": "请输入 Proxmox VE 集群节点名称", + "workflow_node.deploy.form.proxmoxve_auto_restart.label": "部署后自动重启 Proxmox VE 服务", + "workflow_node.deploy.form.qiniu_cdn_domain.label": "七牛云 CDN 加速域名", + "workflow_node.deploy.form.qiniu_cdn_domain.placeholder": "请输入七牛云 CDN 加速域名", + "workflow_node.deploy.form.qiniu_kodo_bucket.label": "七牛云对象存储桶名", + "workflow_node.deploy.form.qiniu_kodo_bucket.placeholder": "请输入七牛云对象存储桶名", + "workflow_node.deploy.form.qiniu_kodo_domain.label": "七牛云对象存储自定义域名", + "workflow_node.deploy.form.qiniu_kodo_domain.placeholder": "请输入七牛云对象存储自定义域名", + "workflow_node.deploy.form.qiniu_pili_hub.label": "七牛云视频直播空间名", + "workflow_node.deploy.form.qiniu_pili_hub.placeholder": "请输入七牛云视频直播空间名", + "workflow_node.deploy.form.qiniu_pili_hub.tooltip": "这是什么?请参阅 https://portal.qiniu.com/hub", + "workflow_node.deploy.form.qiniu_pili_domain.label": "七牛云视频直播流域名", + "workflow_node.deploy.form.qiniu_pili_domain.placeholder": "请输入七牛云视频直播流域名", + "workflow_node.deploy.form.rainyun_rcdn_resource_type.option.domain.label": "部署到指定加速域名", + "workflow_node.deploy.form.rainyun_rcdn_resource_type.option.certificate.label": "替换指定证书", + "workflow_node.deploy.form.rainyun_rcdn_instance_id.label": "雨云 RCDN 实例 ID", + "workflow_node.deploy.form.rainyun_rcdn_instance_id.placeholder": "请输入雨云 RCDN 实例 ID", + "workflow_node.deploy.form.rainyun_rcdn_instance_id.tooltip": "这是什么?请参阅 https://app.rainyun.com/apps/rcdn/list", + "workflow_node.deploy.form.rainyun_rcdn_domain.label": "雨云 RCDN 加速域名", + "workflow_node.deploy.form.rainyun_rcdn_domain.placeholder": "请输入雨云 RCDN 加速域名", + "workflow_node.deploy.form.rainyun_rcdn_certificate_id.label": "雨云 RCDN 证书 ID", + "workflow_node.deploy.form.rainyun_rcdn_certificate_id.placeholder": "请输入雨云 RCDN 证书 ID", + "workflow_node.deploy.form.rainyun_rcdn_certificate_id.tooltip": "这是什么?请参阅 https://app.rainyun.com/apps/ssl/list", + "workflow_node.deploy.form.ratpanel_site_names.label": "耗子面板网站名称", + "workflow_node.deploy.form.ratpanel_site_names.placeholder": "请输入耗子面板网站名称(多个值请用半角分号隔开)", + "workflow_node.deploy.form.ratpanel_site_names.errmsg.invalid": "请输入正确的耗子面板网站名称", + "workflow_node.deploy.form.ratpanel_site_names.help": "提示:支持多个网站名称,以半角分号隔开。", + "workflow_node.deploy.form.ratpanel_site_names.tooltip": "请登录耗子面板查看", + "workflow_node.deploy.form.ratpanel_site_names.multiple_input_modal.title": "修改耗子面板网站名称", + "workflow_node.deploy.form.ratpanel_site_names.multiple_input_modal.placeholder": "请输入耗子面板网站名称", + "workflow_node.deploy.form.safeline_site_resource_type.option.certificate.label": "替换指定证书", + "workflow_node.deploy.form.safeline_site_certificate_id.label": "雷池证书 ID", + "workflow_node.deploy.form.safeline_site_certificate_id.placeholder": "请输入雷池证书 ID", + "workflow_node.deploy.form.safeline_site_certificate_id.tooltip": "请登录雷池控制台查看", + "workflow_node.deploy.form.ssh_format.label": "文件格式", + "workflow_node.deploy.form.ssh_format.placeholder": "请选择文件格式", + "workflow_node.deploy.form.ssh_format.option.pem.label": "PEM 格式(*.pem, *.crt, *.key)", + "workflow_node.deploy.form.ssh_format.option.pfx.label": "PFX 格式(*.pfx, *.p12)", + "workflow_node.deploy.form.ssh_format.option.jks.label": "JKS 格式(*.jks)", + "workflow_node.deploy.form.ssh_key_path.label": "私钥文件保存路径", + "workflow_node.deploy.form.ssh_key_path.placeholder": "请输入私钥文件远程路径", + "workflow_node.deploy.form.ssh_key_path.help": "注意:路径需包含完整的文件名,而不是只有目录。", + "workflow_node.deploy.form.ssh_cert_path.label": "证书文件保存路径", + "workflow_node.deploy.form.ssh_cert_path.placeholder": "请输入证书文件远程路径", + "workflow_node.deploy.form.ssh_cert_path.help": "注意:路径需包含完整的文件名,而不是只有目录。", + "workflow_node.deploy.form.ssh_fullchaincert_path.label": "证书链文件保存路径", + "workflow_node.deploy.form.ssh_fullchaincert_path.placeholder": "请输入证书链文件远程路径", + "workflow_node.deploy.form.ssh_servercert_path.label": "服务器证书文件保存路径(可选)", + "workflow_node.deploy.form.ssh_servercert_path.placeholder": "请输入服务器证书文件远程路径", + "workflow_node.deploy.form.ssh_servercert_path.help": "注意:路径需包含完整的文件名,而不是只有目录。不填写时将不上传服务器证书。", + "workflow_node.deploy.form.ssh_intermediacert_path.label": "中间证书文件保存路径(可选)", + "workflow_node.deploy.form.ssh_intermediacert_path.placeholder": "请输入中间证书文件远程路径", + "workflow_node.deploy.form.ssh_intermediacert_path.help": "注意:路径需包含完整的文件名,而不是只有目录。不填写时将不上传中间证书。", + "workflow_node.deploy.form.ssh_pfx_password.label": "PFX 导出密码", + "workflow_node.deploy.form.ssh_pfx_password.placeholder": "请输入 PFX 导出密码", + "workflow_node.deploy.form.ssh_pfx_password.tooltip": "这是什么?请参阅 https://learn.microsoft.com/zh-cn/windows-hardware/drivers/install/personal-information-exchange---pfx--files", + "workflow_node.deploy.form.ssh_jks_alias.label": "JKS 别名", + "workflow_node.deploy.form.ssh_jks_alias.placeholder": "请输入 JKS 别名", + "workflow_node.deploy.form.ssh_jks_alias.tooltip": "这是什么?请参阅 https://docs.oracle.com/cd/E19509-01/820-3503/ggfen/index.html", + "workflow_node.deploy.form.ssh_jks_keypass.label": "JKS 私钥访问口令", + "workflow_node.deploy.form.ssh_jks_keypass.placeholder": "请输入 JKS 私钥访问口令", + "workflow_node.deploy.form.ssh_jks_keypass.tooltip": "这是什么?请参阅 https://docs.oracle.com/cd/E19509-01/820-3503/ggfen/index.html", + "workflow_node.deploy.form.ssh_jks_storepass.label": "JKS 密钥库存储口令", + "workflow_node.deploy.form.ssh_jks_storepass.placeholder": "请输入 JKS 密钥库存储口令", + "workflow_node.deploy.form.ssh_jks_storepass.tooltip": "这是什么?请参阅 https://docs.oracle.com/cd/E19509-01/820-3503/ggfen/index.html", + "workflow_node.deploy.form.ssh_pre_command.label": "前置命令(可选)", + "workflow_node.deploy.form.ssh_pre_command.placeholder": "请输入上传文件前执行的命令", + "workflow_node.deploy.form.ssh_post_command.label": "后置命令(可选)", + "workflow_node.deploy.form.ssh_post_command.placeholder": "请输入上传文件后执行的命令", + "workflow_node.deploy.form.ssh_preset_scripts.sh_backup_files": "POSIX Bash - 备份原证书文件", + "workflow_node.deploy.form.ssh_preset_scripts.ps_backup_files": "PowerShell - 备份原证书文件", + "workflow_node.deploy.form.ssh_preset_scripts.sh_reload_nginx": "POSIX Bash - 重启 nginx 进程", + "workflow_node.deploy.form.ssh_preset_scripts.sh_replace_synologydsm_ssl": "POSIX Bash - 替换群晖 DSM 证书", + "workflow_node.deploy.form.ssh_preset_scripts.sh_replace_fnos_ssl": "POSIX Bash - 替换飞牛 fnOS 证书", + "workflow_node.deploy.form.ssh_preset_scripts.sh_replace_qnap_ssl": "POSIX Bash - 替换威联通 QNAP 证书", + "workflow_node.deploy.form.ssh_preset_scripts.ps_binding_iis": "PowerShell - 导入并绑定到 IIS", + "workflow_node.deploy.form.ssh_preset_scripts.ps_binding_netsh": "PowerShell - 导入并绑定到 netsh", + "workflow_node.deploy.form.ssh_preset_scripts.ps_binding_rdp": "PowerShell - 导入并绑定到 RDP", + "workflow_node.deploy.form.ssh_use_scp.label": "回退使用 SCP", + "workflow_node.deploy.form.ssh_use_scp.tooltip": "如果你的远程服务器不支持 SFTP,请开启此选项回退为 SCP。", + "workflow_node.deploy.form.tencentcloud_cdn_endpoint.label": "腾讯云接口端点(可选)", + "workflow_node.deploy.form.tencentcloud_cdn_endpoint.placeholder": "请输入腾讯云 CDN 接口端点(例如:cdn.tencentcloudapi.com)", + "workflow_node.deploy.form.tencentcloud_cdn_endpoint.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/228/30976
          国际站用户请填写 cdn.intl.tencentcloudapi.com。", + "workflow_node.deploy.form.tencentcloud_cdn_domain.label": "腾讯云 CDN 加速域名", + "workflow_node.deploy.form.tencentcloud_cdn_domain.placeholder": "请输入腾讯云 CDN 加速域名", + "workflow_node.deploy.form.tencentcloud_clb_endpoint.label": "腾讯云接口端点(可选)", + "workflow_node.deploy.form.tencentcloud_clb_endpoint.placeholder": "请输入腾讯云 CLB 接口端点(例如:clb.tencentcloudapi.com)", + "workflow_node.deploy.form.tencentcloud_clb_endpoint.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/214/30669
          国际站用户请填写 clb.intl.tencentcloudapi.com。", + "workflow_node.deploy.form.tencentcloud_clb_region.label": "腾讯云服务地域", + "workflow_node.deploy.form.tencentcloud_clb_region.placeholder": "请输入腾讯云 CLB 服务地域(例如:ap-guangzhou)", + "workflow_node.deploy.form.tencentcloud_clb_region.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/214/33415", + "workflow_node.deploy.form.tencentcloud_clb_resource_type.option.loadbalancer.label": "部署到指定实例下的全部 HTTPS/TCPSSL/QUIC 监听器", + "workflow_node.deploy.form.tencentcloud_clb_resource_type.option.listener.label": "部署到指定 HTTPS/TCPSSL/QUIC 监听器", + "workflow_node.deploy.form.tencentcloud_clb_resource_type.option.ruledomain.label": "部署到指定七层监听转发规则域名", + "workflow_node.deploy.form.tencentcloud_clb_loadbalancer_id.label": "腾讯云 CLB 实例 ID", + "workflow_node.deploy.form.tencentcloud_clb_loadbalancer_id.placeholder": "请输入腾讯云 CLB 实例 ID", + "workflow_node.deploy.form.tencentcloud_clb_loadbalancer_id.tooltip": "这是什么?请参阅 https://console.cloud.tencent.com/clb", + "workflow_node.deploy.form.tencentcloud_clb_listener_id.label": "腾讯云 CLB 监听器 ID", + "workflow_node.deploy.form.tencentcloud_clb_listener_id.placeholder": "请输入腾讯云 CLB 监听器 ID", + "workflow_node.deploy.form.tencentcloud_clb_listener_id.tooltip": "这是什么?请参阅 https://console.cloud.tencent.com/clb", + "workflow_node.deploy.form.tencentcloud_clb_ruledomain.label": "腾讯云 CLB 七层转发规则域名", + "workflow_node.deploy.form.tencentcloud_clb_ruledomain.placeholder": "请输入腾讯云 CLB 七层转发规则域名", + "workflow_node.deploy.form.tencentcloud_cos_region.label": "腾讯云服务地域", + "workflow_node.deploy.form.tencentcloud_cos_region.placeholder": "请输入腾讯云 COS 服务地域(例如:ap-guangzhou)", + "workflow_node.deploy.form.tencentcloud_cos_region.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/436/6224", + "workflow_node.deploy.form.tencentcloud_cos_bucket.label": "腾讯云 COS 存储桶名", + "workflow_node.deploy.form.tencentcloud_cos_bucket.placeholder": "请输入腾讯云 COS 存储桶名", + "workflow_node.deploy.form.tencentcloud_cos_domain.label": "腾讯云 COS 自定义域名", + "workflow_node.deploy.form.tencentcloud_cos_domain.placeholder": "请输入腾讯云 COS 自定义域名", + "workflow_node.deploy.form.tencentcloud_css_endpoint.label": "腾讯云接口端点(可选)", + "workflow_node.deploy.form.tencentcloud_css_endpoint.placeholder": "请输入腾讯云云直播接口端点(例如:live.tencentcloudapi.com)", + "workflow_node.deploy.form.tencentcloud_css_endpoint.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/267/20458
          国际站用户请填写 live.intl.tencentcloudapi.com。", + "workflow_node.deploy.form.tencentcloud_css_domain.label": "腾讯云云直播播放域名", + "workflow_node.deploy.form.tencentcloud_css_domain.placeholder": "请输入腾讯云云直播播放域名", + "workflow_node.deploy.form.tencentcloud_ecdn_endpoint.label": "腾讯云接口端点(可选)", + "workflow_node.deploy.form.tencentcloud_ecdn_endpoint.placeholder": "请输入腾讯云 ECDN 接口端点(例如:cdn.tencentcloudapi.com)", + "workflow_node.deploy.form.tencentcloud_ecdn_endpoint.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/214/30669
          国际站用户请填写 cdn.intl.tencentcloudapi.com。", + "workflow_node.deploy.form.tencentcloud_ecdn_domain.label": "腾讯云 ECDN 加速域名", + "workflow_node.deploy.form.tencentcloud_ecdn_domain.placeholder": "请输入腾讯云 ECDN 加速域名", + "workflow_node.deploy.form.tencentcloud_eo_endpoint.label": "腾讯云接口端点(可选)", + "workflow_node.deploy.form.tencentcloud_eo_endpoint.placeholder": "请输入腾讯云 EdgeOne 接口端点(例如:teo.tencentcloudapi.com)", + "workflow_node.deploy.form.tencentcloud_eo_endpoint.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/1552/80723
          国际站用户请填写 teo.intl.tencentcloudapi.com。", + "workflow_node.deploy.form.tencentcloud_eo_zone_id.label": "腾讯云 EdgeOne 站点 ID", + "workflow_node.deploy.form.tencentcloud_eo_zone_id.placeholder": "请输入腾讯云 EdgeOne 站点 ID", + "workflow_node.deploy.form.tencentcloud_eo_zone_id.tooltip": "这是什么?请参阅 https://console.cloud.tencent.com/edgeone", + "workflow_node.deploy.form.tencentcloud_eo_domains.label": "腾讯云 EdgeOne 加速域名", + "workflow_node.deploy.form.tencentcloud_eo_domains.placeholder": "请输入腾讯云 EdgeOne 加速域名(多个值请用半角分号隔开)", + "workflow_node.deploy.form.tencentcloud_eo_domains.help": "提示:支持多个域名,以半角分号隔开。", + "workflow_node.deploy.form.tencentcloud_eo_domains.multiple_input_modal.title": "修改腾讯云 EdgeOne 加速域名", + "workflow_node.deploy.form.tencentcloud_eo_domains.multiple_input_modal.placeholder": "请输入腾讯云 EdgeOne 加速域名", + "workflow_node.deploy.form.tencentcloud_eo_enable_multiple_ssl.label": "多证书模式", + "workflow_node.deploy.form.tencentcloud_eo_enable_multiple_ssl.help": "提示:每个域名最多支持一个 RSA 证书、一个 ECC 证书。", + "workflow_node.deploy.form.tencentcloud_eo_enable_multiple_ssl.switch.suffix": "保留与待部署证书算法不一致的其他有效证书。", + "workflow_node.deploy.form.tencentcloud_eo_enable_multiple_ssl.switch.on": "", + "workflow_node.deploy.form.tencentcloud_eo_enable_multiple_ssl.switch.off": "不", + "workflow_node.deploy.form.tencentcloud_gaap_endpoint.label": "腾讯云接口端点(可选)", + "workflow_node.deploy.form.tencentcloud_gaap_endpoint.placeholder": "请输入腾讯云 GAAP 接口端点(例如:gaap.tencentcloudapi.com)", + "workflow_node.deploy.form.tencentcloud_gaap_endpoint.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/608/36934
          国际站用户请填写 gaap.intl.tencentcloudapi.com。", + "workflow_node.deploy.form.tencentcloud_gaap_resource_type.option.listener.label": "部署到指定监听器", + "workflow_node.deploy.form.tencentcloud_gaap_proxy_id.label": "腾讯云 GAAP 通道 ID(可选)", + "workflow_node.deploy.form.tencentcloud_gaap_proxy_id.placeholder": "请输入腾讯云 GAAP 通道 ID", + "workflow_node.deploy.form.tencentcloud_gaap_proxy_id.tooltip": "这是什么?请参阅 https://console.cloud.tencent.com/gaap", + "workflow_node.deploy.form.tencentcloud_gaap_listener_id.label": "腾讯云 GAAP 监听器 ID", + "workflow_node.deploy.form.tencentcloud_gaap_listener_id.placeholder": "请输入腾讯云 GAAP 监听器 ID", + "workflow_node.deploy.form.tencentcloud_gaap_listener_id.tooltip": "这是什么?请参阅 https://console.cloud.tencent.com/gaap", + "workflow_node.deploy.form.tencentcloud_scf_endpoint.label": "腾讯云接口端点(可选)", + "workflow_node.deploy.form.tencentcloud_scf_endpoint.placeholder": "请输入腾讯云 SCF 接口端点(例如:scf.tencentcloudapi.com)", + "workflow_node.deploy.form.tencentcloud_scf_endpoint.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/583/17237
          国际站用户请填写 scf.intl.tencentcloudapi.com。", + "workflow_node.deploy.form.tencentcloud_scf_region.label": "腾讯云服务地域", + "workflow_node.deploy.form.tencentcloud_scf_region.placeholder": "输入腾讯云 SCF 服务地域(例如:ap-guangzhou)", + "workflow_node.deploy.form.tencentcloud_scf_region.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/583/17299", + "workflow_node.deploy.form.tencentcloud_scf_domain.label": "腾讯云 SCF 自定义域名", + "workflow_node.deploy.form.tencentcloud_scf_domain.placeholder": "输入腾讯云 SCF 自定义域名", + "workflow_node.deploy.form.tencentcloud_ssl_endpoint.label": "腾讯云接口端点(可选)", + "workflow_node.deploy.form.tencentcloud_ssl_endpoint.placeholder": "请输入腾讯云 SSL 接口端点(例如:ssl.tencentcloudapi.com)", + "workflow_node.deploy.form.tencentcloud_ssl_endpoint.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/400/41659
          国际站用户请填写 ssl.intl.tencentcloudapi.com。", + "workflow_node.deploy.form.tencentcloud_ssldeploy.guide": "将通过腾讯云 OpenAPI DeployCertificateInstance 接口创建异步部署任务。此部署目标若执行成功仅代表已创建部署任务,实际部署结果需要你自行前往腾讯云控制台查询。", + "workflow_node.deploy.form.tencentcloud_ssldeploy_endpoint.label": "腾讯云接口端点(可选)", + "workflow_node.deploy.form.tencentcloud_ssldeploy_endpoint.placeholder": "请输入腾讯云 SSL 接口端点(例如:ssl.tencentcloudapi.com)", + "workflow_node.deploy.form.tencentcloud_ssldeploy_endpoint.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/400/41659
          国际站用户请填写 ssl.intl.tencentcloudapi.com。", + "workflow_node.deploy.form.tencentcloud_ssldeploy_region.label": "腾讯云服务地域", + "workflow_node.deploy.form.tencentcloud_ssldeploy_region.placeholder": "请输入腾讯云云产品服务地域(例如:ap-guangzhou)", + "workflow_node.deploy.form.tencentcloud_ssldeploy_region.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/400/41659", + "workflow_node.deploy.form.tencentcloud_ssldeploy_resource_product.label": "腾讯云云产品资源类型", + "workflow_node.deploy.form.tencentcloud_ssldeploy_resource_product.placeholder": "请输入腾讯云产品资源类型", + "workflow_node.deploy.form.tencentcloud_ssldeploy_resource_product.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/400/91667", + "workflow_node.deploy.form.tencentcloud_ssldeploy_resource_ids.label": "腾讯云云产品资源 ID", + "workflow_node.deploy.form.tencentcloud_ssldeploy_resource_ids.placeholder": "请输入腾讯云云产品资源 ID(多个值请用半角分号隔开)", + "workflow_node.deploy.form.tencentcloud_ssldeploy_resource_ids.errmsg.invalid": "请输入正确的腾讯云云产品资源 ID", + "workflow_node.deploy.form.tencentcloud_ssldeploy_resource_ids.help": "提示:支持多个 ID,以半角分号隔开。", + "workflow_node.deploy.form.tencentcloud_ssldeploy_resource_ids.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/400/91667
          注意与各产品本身的实例 ID 区分。", + "workflow_node.deploy.form.tencentcloud_ssldeploy_resource_ids.multiple_input_modal.title": "修改腾讯云云产品资源 ID", + "workflow_node.deploy.form.tencentcloud_ssldeploy_resource_ids.multiple_input_modal.placeholder": "请输入腾讯云云产品资源 ID", + "workflow_node.deploy.form.tencentcloud_sslupdate.guide": "将通过腾讯云 OpenAPI UpdateCertificateInstanceUploadUpdateCertificateInstance 接口创建异步部署任务。此部署目标若执行成功仅代表已创建部署任务,实际部署结果需要你自行前往腾讯云控制台查询。", + "workflow_node.deploy.form.tencentcloud_sslupdate_endpoint.label": "腾讯云接口端点(可选)", + "workflow_node.deploy.form.tencentcloud_sslupdate_endpoint.placeholder": "请输入腾讯云 SSL 接口端点(例如:ssl.tencentcloudapi.com)", + "workflow_node.deploy.form.tencentcloud_sslupdate_endpoint.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/400/41659
          国际站用户请填写 ssl.intl.tencentcloudapi.com。", + "workflow_node.deploy.form.tencentcloud_sslupdate_certificate_id.label": "腾讯云原证书 ID", + "workflow_node.deploy.form.tencentcloud_sslupdate_certificate_id.placeholder": "请输入腾讯云原证书 ID", + "workflow_node.deploy.form.tencentcloud_sslupdate_certificate_id.tooltip": "这是什么?请参阅 https://console.cloud.tencent.com/certoverview", + "workflow_node.deploy.form.tencentcloud_sslupdate_resource_products.label": "腾讯云云产品资源类型", + "workflow_node.deploy.form.tencentcloud_sslupdate_resource_products.placeholder": "请输入腾讯云云产品资源类型(多个值请用半角分号隔开)", + "workflow_node.deploy.form.tencentcloud_sslupdate_resource_products.help": "提示:支持多个类型,以半角分号隔开。", + "workflow_node.deploy.form.tencentcloud_sslupdate_resource_products.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/400/91649https://cloud.tencent.com/document/product/400/119791
          注意,这两个接口的所支持的云产品资源类型有所不同,具体请查看腾讯云官方文档。", + "workflow_node.deploy.form.tencentcloud_sslupdate_resource_products.multiple_input_modal.title": "修改腾讯云云产品资源类型", + "workflow_node.deploy.form.tencentcloud_sslupdate_resource_products.multiple_input_modal.placeholder": "请输入腾讯云云产品资源类型", + "workflow_node.deploy.form.tencentcloud_sslupdate_resource_regions.label": "腾讯云云产品部署地域(可选)", + "workflow_node.deploy.form.tencentcloud_sslupdate_resource_regions.placeholder": "请输入腾讯云云产品部署地域(多个值请用半角分号隔开)", + "workflow_node.deploy.form.tencentcloud_sslupdate_resource_regions.help": "提示:支持多个地域,以半角分号隔开。", + "workflow_node.deploy.form.tencentcloud_sslupdate_resource_regions.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/400/91649https://cloud.tencent.com/document/product/400/119791", + "workflow_node.deploy.form.tencentcloud_sslupdate_resource_regions.multiple_input_modal.title": "修改腾讯云云产品部署地域", + "workflow_node.deploy.form.tencentcloud_sslupdate_resource_regions.multiple_input_modal.placeholder": "请输入腾讯云云产品部署地域", + "workflow_node.deploy.form.tencentcloud_sslupdate_is_replaced.label": "是否更新原证书(即证书 ID 保持不变)", + "workflow_node.deploy.form.tencentcloud_sslupdate_is_replaced.tooltip": "不勾选时,将调用腾讯云 OpenAPI UpdateCertificateInstance 接口;否则,将调用腾讯云 OpenAPI UploadUpdateCertificateInstance 接口。", + "workflow_node.deploy.form.tencentcloud_vod_endpoint.label": "腾讯云接口端点(可选)", + "workflow_node.deploy.form.tencentcloud_vod_endpoint.placeholder": "请输入腾讯云云点播接口端点(例如:vod.tencentcloudapi.com)", + "workflow_node.deploy.form.tencentcloud_vod_endpoint.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/266/31755
          国际站用户请填写 vod.intl.tencentcloudapi.com。", + "workflow_node.deploy.form.tencentcloud_vod_sub_app_id.label": "腾讯云云点播应用 ID", + "workflow_node.deploy.form.tencentcloud_vod_sub_app_id.placeholder": "请输入腾讯云云点播应用 ID", + "workflow_node.deploy.form.tencentcloud_vod_sub_app_id.tooltip": "这是什么?请参阅 https://console.cloud.tencent.com/vod", + "workflow_node.deploy.form.tencentcloud_vod_domain.label": "腾讯云云点播加速域名", + "workflow_node.deploy.form.tencentcloud_vod_domain.placeholder": "请输入腾讯云云点播加速域名", + "workflow_node.deploy.form.tencentcloud_waf_endpoint.label": "腾讯云接口端点(可选)", + "workflow_node.deploy.form.tencentcloud_waf_endpoint.placeholder": "请输入腾讯云 WAF 接口端点(例如:waf.tencentcloudapi.com)", + "workflow_node.deploy.form.tencentcloud_waf_endpoint.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/627/53611
          国际站用户请填写 waf.intl.tencentcloudapi.com。", + "workflow_node.deploy.form.tencentcloud_waf_region.label": "腾讯云服务地域", + "workflow_node.deploy.form.tencentcloud_waf_region.placeholder": "请输入腾讯云 WAF 服务地域(例如:ap-guangzhou)", + "workflow_node.deploy.form.tencentcloud_waf_region.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/627/47525", + "workflow_node.deploy.form.tencentcloud_waf_domain.label": "腾讯云 WAF 防护域名", + "workflow_node.deploy.form.tencentcloud_waf_domain.placeholder": "请输入腾讯云 WAF 防护域名", + "workflow_node.deploy.form.tencentcloud_waf_domain_id.label": "腾讯云 WAF 域名 ID", + "workflow_node.deploy.form.tencentcloud_waf_domain_id.placeholder": "请输入腾讯云 WAF 域名 ID", + "workflow_node.deploy.form.tencentcloud_waf_domain_id.tooltip": "这是什么?请参阅 https://console.cloud.tencent.com/waf", + "workflow_node.deploy.form.tencentcloud_waf_instance_id.label": "腾讯云 WAF 实例 ID", + "workflow_node.deploy.form.tencentcloud_waf_instance_id.placeholder": "请输入腾讯云 WAF 实例 ID", + "workflow_node.deploy.form.tencentcloud_waf_instance_id.tooltip": "这是什么?请参阅 https://console.cloud.tencent.com/waf", + "workflow_node.deploy.form.ucloud_ucdn_domain_id.label": "优刻得 UCDN 域名 ID", + "workflow_node.deploy.form.ucloud_ucdn_domain_id.placeholder": "请输入优刻得 UCDN 域名 ID", + "workflow_node.deploy.form.ucloud_ucdn_domain_id.tooltip": "这是什么?请参阅 https://console.ucloud.cn/ucdn", + "workflow_node.deploy.form.ucloud_us3_region.label": "优刻得服务地域", + "workflow_node.deploy.form.ucloud_us3_region.placeholder": "优刻得 US3 服务地域(例如:cn-bj2)", + "workflow_node.deploy.form.ucloud_us3_region.tooltip": "这是什么?请参阅 https://docs.ucloud.cn/api/summary/regionlist", + "workflow_node.deploy.form.ucloud_us3_bucket.label": "优刻得 US3 存储桶名", + "workflow_node.deploy.form.ucloud_us3_bucket.placeholder": "请输入优刻得 US3 存储桶名", + "workflow_node.deploy.form.ucloud_us3_domain.label": "优刻得 US3 自定义域名", + "workflow_node.deploy.form.ucloud_us3_domain.placeholder": "请输入优刻得 US3 自定义域名", + "workflow_node.deploy.form.unicloud_webhost.guide": "由于 uniCloud 未公开相关 API,这里将使用网页模拟登录方式部署,但无法保证稳定性。如遇 uniCloud 接口变更,请到 GitHub 发起 Issue 告知。", + "workflow_node.deploy.form.unicloud_webhost_space_provider.label": "uniCloud 服务空间提供商", + "workflow_node.deploy.form.unicloud_webhost_space_provider.placeholder": "请选择 uniCloud 服务空间提供商", + "workflow_node.deploy.form.unicloud_webhost_space_provider.option.aliyun.label": "阿里云", + "workflow_node.deploy.form.unicloud_webhost_space_provider.option.tencent.label": "腾讯云", + "workflow_node.deploy.form.unicloud_webhost_space_id.label": "uniCloud 服务空间 ID", + "workflow_node.deploy.form.unicloud_webhost_space_id.placeholder": "请输入 uniCloud 服务空间 ID", + "workflow_node.deploy.form.unicloud_webhost_space_id.tooltip": "这是什么?请参阅 https://doc.dcloud.net.cn/uniCloud/concepts/space.html", + "workflow_node.deploy.form.unicloud_webhost_domain.label": "uniCloud 前端网页托管网站域名", + "workflow_node.deploy.form.unicloud_webhost_domain.placeholder": "请输入 uniCloud 前端网页托管网站域名", + "workflow_node.deploy.form.upyun_cdn.guide": "由于又拍云未公开相关 API,这里将使用网页模拟登录方式部署,但无法保证稳定性。如遇又拍云接口变更,请到 GitHub 发起 Issue 告知。", + "workflow_node.deploy.form.upyun_cdn_domain.label": "又拍云 CDN 加速域名", + "workflow_node.deploy.form.upyun_cdn_domain.placeholder": "请输入又拍云 CDN 加速域名", + "workflow_node.deploy.form.upyun_file.guide": "由于又拍云未公开相关 API,这里将使用网页模拟登录方式部署,但无法保证稳定性。如遇又拍云接口变更,请到 GitHub 发起 Issue 告知。", + "workflow_node.deploy.form.upyun_file_bucket.label": "又拍云云存储桶名", + "workflow_node.deploy.form.upyun_file_bucket.placeholder": "请输入又拍云云存储桶名", + "workflow_node.deploy.form.upyun_file_domain.label": "又拍云云存储自定义域名", + "workflow_node.deploy.form.upyun_file_domain.placeholder": "请输入又拍云云存储自定义域名", + "workflow_node.deploy.form.volcengine_alb_resource_type.option.loadbalancer.label": "部署到指定负载均衡器下的全部 HTTPS 监听", + "workflow_node.deploy.form.volcengine_alb_resource_type.option.listener.label": "部署到指定 HTTPS 监听器", + "workflow_node.deploy.form.volcengine_alb_region.label": "火山引擎服务地域", + "workflow_node.deploy.form.volcengine_alb_region.placeholder": "请输入火山引擎 ALB 服务地域(例如:cn-beijing)", + "workflow_node.deploy.form.volcengine_alb_region.tooltip": "这是什么?请参阅 https://www.volcengine.com/docs/6767/127501", + "workflow_node.deploy.form.volcengine_alb_loadbalancer_id.label": "火山引擎 ALB 负载均衡器 ID", + "workflow_node.deploy.form.volcengine_alb_loadbalancer_id.placeholder": "请输入火山引擎 ALB 负载均衡器 ID", + "workflow_node.deploy.form.volcengine_alb_loadbalancer_id.tooltip": "这是什么?请参阅 https://console.volcengine.com/alb", + "workflow_node.deploy.form.volcengine_alb_listener_id.label": "火山引擎 ALB 监听器 ID", + "workflow_node.deploy.form.volcengine_alb_listener_id.placeholder": "请输入火山引擎 ALB 监听器 ID", + "workflow_node.deploy.form.volcengine_alb_listener_id.tooltip": "这是什么?请参阅 https://console.volcengine.com/alb", + "workflow_node.deploy.form.volcengine_alb_snidomain.label": "火山引擎 ALB 扩展域名(可选)", + "workflow_node.deploy.form.volcengine_alb_snidomain.placeholder": "请输入火山引擎 ALB 扩展域名", + "workflow_node.deploy.form.volcengine_alb_snidomain.help": "提示:不填写时,将替换监听器的默认证书;否则,将替换扩展域名证书。", + "workflow_node.deploy.form.volcengine_cdn_domain.label": "火山引擎 CDN 加速域名", + "workflow_node.deploy.form.volcengine_cdn_domain.placeholder": "请输入火山引擎 CDN 加速域名", + "workflow_node.deploy.form.volcengine_certcenter_region.label": "火山引擎服务地域", + "workflow_node.deploy.form.volcengine_certcenter_region.placeholder": "请输入火山引擎证书中心服务地域(例如:cn-beijing)", + "workflow_node.deploy.form.volcengine_clb_resource_type.option.loadbalancer.label": "部署到指定负载均衡器下的全部 HTTPS 监听", + "workflow_node.deploy.form.volcengine_clb_resource_type.option.listener.label": "部署到 HTTPS 监听器", + "workflow_node.deploy.form.volcengine_clb_region.label": "火山引擎服务地域", + "workflow_node.deploy.form.volcengine_clb_region.placeholder": "请输入火山引擎 CLB 服务地域(例如:cn-beijing)", + "workflow_node.deploy.form.volcengine_clb_region.tooltip": "这是什么?请参阅 https://www.volcengine.com/docs/6406/74892", + "workflow_node.deploy.form.volcengine_clb_loadbalancer_id.label": "火山引擎 CLB 负载均衡器 ID", + "workflow_node.deploy.form.volcengine_clb_loadbalancer_id.placeholder": "请输入火山引擎 CLB 负载均衡器 ID", + "workflow_node.deploy.form.volcengine_clb_loadbalancer_id.tooltip": "这是什么?请参阅 https://console.volcengine.com/clb/LoadBalancer", + "workflow_node.deploy.form.volcengine_clb_listener_id.label": "火山引擎 CLB 监听器 ID", + "workflow_node.deploy.form.volcengine_clb_listener_id.placeholder": "请输入火山引擎 CLB 监听器 ID", + "workflow_node.deploy.form.volcengine_clb_listener_id.tooltip": "这是什么?请参阅 https://console.volcengine.com/clb/LoadBalancer", + "workflow_node.deploy.form.volcengine_dcdn_domain.label": "火山引擎 DCDN 加速域名", + "workflow_node.deploy.form.volcengine_dcdn_domain.placeholder": "请输入火山引擎 DCDN 加速域名", + "workflow_node.deploy.form.volcengine_imagex_region.label": "火山引擎服务地域", + "workflow_node.deploy.form.volcengine_imagex_region.placeholder": "请输入火山引擎 ImageX 服务地域(例如:cn-north-1)", + "workflow_node.deploy.form.volcengine_imagex_region.tooltip": "这是什么?请参阅 https://www.volcengine.com/docs/508/23757", + "workflow_node.deploy.form.volcengine_imagex_service_id.label": "火山引擎 ImageX 服务 ID", + "workflow_node.deploy.form.volcengine_imagex_service_id.placeholder": "请输入火山引擎 ImageX 服务 ID", + "workflow_node.deploy.form.volcengine_imagex_service_id.tooltip": "这是什么?请参阅 https://console.volcengine.com/imagex", + "workflow_node.deploy.form.volcengine_imagex_domain.label": "火山引擎 ImageX 绑定域名", + "workflow_node.deploy.form.volcengine_imagex_domain.placeholder": "请输入火山引擎 ImageX 绑定域名", + "workflow_node.deploy.form.volcengine_live_domain.label": "火山引擎视频直播流域名", + "workflow_node.deploy.form.volcengine_live_domain.placeholder": "请输入火山引擎视频直播流域名", + "workflow_node.deploy.form.volcengine_tos_region.label": "火山引擎服务地域", + "workflow_node.deploy.form.volcengine_tos_region.placeholder": "请输入火山引擎 TOS 服务地域(例如:cn-beijing)", + "workflow_node.deploy.form.volcengine_tos_region.tooltip": "这是什么?请参阅 https://www.volcengine.com/docs/6349/107356", + "workflow_node.deploy.form.volcengine_tos_bucket.label": "火山引擎 TOS 存储桶名", + "workflow_node.deploy.form.volcengine_tos_bucket.placeholder": "请输入火山引擎 TOS 存储桶名", + "workflow_node.deploy.form.volcengine_tos_domain.label": "火山引擎 TOS 自定义域名", + "workflow_node.deploy.form.volcengine_tos_domain.placeholder": "请输入火山引擎 TOS 自定义域名", + "workflow_node.deploy.form.wangsu_cdn_domains.label": "网宿云 CDN 加速域名", + "workflow_node.deploy.form.wangsu_cdn_domains.placeholder": "请输入网宿云 CDN 加速域名(多个值请用半角分号隔开)", + "workflow_node.deploy.form.wangsu_cdn_domains.help": "提示:支持多个域名,以半角分号隔开。", + "workflow_node.deploy.form.wangsu_cdn_domains.multiple_input_modal.title": "修改网宿云 CDN 加速域名", + "workflow_node.deploy.form.wangsu_cdn_domains.multiple_input_modal.placeholder": "请输入网宿云 CDN 加速域名", + "workflow_node.deploy.form.wangsu_cdnpro_environment.label": "网宿云环境", + "workflow_node.deploy.form.wangsu_cdnpro_environment.placeholder": "请选择网宿云环境", + "workflow_node.deploy.form.wangsu_cdnpro_environment.option.production.label": "生产环境", + "workflow_node.deploy.form.wangsu_cdnpro_environment.option.staging.label": "演练环境", + "workflow_node.deploy.form.wangsu_cdnpro_domain.label": "网宿云 CDN Pro 加速域名", + "workflow_node.deploy.form.wangsu_cdnpro_domain.placeholder": "请输入网宿云 CDN Pro 加速域名", + "workflow_node.deploy.form.wangsu_cdnpro_certificate_id.label": "网宿云 CDN Pro 原证书 ID(可选)", + "workflow_node.deploy.form.wangsu_cdnpro_certificate_id.placeholder": "请输入网宿云 CDN Pro 原证书 ID", + "workflow_node.deploy.form.wangsu_cdnpro_certificate_id.help": "提示:不填写时,将上传新证书;否则,将替换原证书。", + "workflow_node.deploy.form.wangsu_cdnpro_certificate_id.tooltip": "这是什么?请参阅 https://cdnpro.console.wangsu.com/v2/index/#/certificate", + "workflow_node.deploy.form.wangsu_cdnpro_webhook_id.label": "网宿云 CDN Pro 部署任务 Webhook ID(可选)", + "workflow_node.deploy.form.wangsu_cdnpro_webhook_id.placeholder": "请输入网宿云 CDN Pro 部署任务 Webhook ID", + "workflow_node.deploy.form.wangsu_cdnpro_webhook_id.tooltip": "这是什么?请参阅 https://cdnpro.console.wangsu.com/v2/index/#/certificate", + "workflow_node.deploy.form.wangsu_certificate_id.label": "网宿云证书 ID(可选)", + "workflow_node.deploy.form.wangsu_certificate_id.placeholder": "请输入网宿云证书 ID", + "workflow_node.deploy.form.wangsu_certificate_id.help": "提示:不填写时,将上传新证书;否则,将替换原证书。", + "workflow_node.deploy.form.wangsu_certificate_id.tooltip": "这是什么?请参阅 https://cdn.console.wangsu.com/v2/index#/certificate/list", + "workflow_node.deploy.form.webhook_data.label": "Webhook 回调数据(可选)", + "workflow_node.deploy.form.webhook_data.placeholder": "请输入 Webhook 回调数据以覆盖默认值", + "workflow_node.deploy.form.webhook_data.help": "提示:不填写时,将使用所选部署目标授权的默认 Webhook 回调数据。", + "workflow_node.deploy.form.webhook_data.errmsg.json_invalid": "请输入有效的 JSON 格式字符串", + "workflow_node.deploy.form.webhook_data.vartips": "支持的变量:
          1. ${CERTIMATE_DEPLOYER_COMMONNAME}
            证书的主域名(即 CommonName)。
          2. ${CERTIMATE_DEPLOYER_SUBJECTALTNAMES}
            证书的多域名,以半角分号隔开(即 SubjectAltNames)。
          3. ${CERTIMATE_DEPLOYER_CERTIFICATE}
            证书文件 PEM 格式内容。
          4. ${CERTIMATE_DEPLOYER_CERTIFICATE_SERVER}
            证书文件(仅含服务器证书)PEM 格式内容。
          5. ${CERTIMATE_DEPLOYER_CERTIFICATE_INTERMEDIA}
            证书文件(仅含中间证书)PEM 格式内容。
          6. ${CERTIMATE_DEPLOYER_PRIVATEKEY}
            私钥文件 PEM 格式内容。
          ", + "workflow_node.deploy.form.webhook_timeout.label": "Webhook 超时时间(可选)", + "workflow_node.deploy.form.webhook_timeout.placeholder": "请输入 Webhook 超时时间", + "workflow_node.deploy.form.webhook_timeout.unit": "秒", + "workflow_node.deploy.form.skip_on_last_succeeded.label": "重复部署", + "workflow_node.deploy.form.skip_on_last_succeeded.prefix": "当上次部署相同证书成功后,再次运行工作流时", + "workflow_node.deploy.form.skip_on_last_succeeded.suffix": "此部署节点。", + "workflow_node.deploy.form.skip_on_last_succeeded.switch.on": "跳过", + "workflow_node.deploy.form.skip_on_last_succeeded.switch.off": "不跳过", + + "workflow_node.notify.label": "推送通知", + "workflow_node.notify.default_name": "通知", + "workflow_node.notify.form_anchor.parameters.tab": "参数设置", + "workflow_node.notify.form_anchor.channel.tab": "渠道设置", + "workflow_node.notify.form_anchor.channel.title": "渠道设置", + "workflow_node.notify.form_anchor.strategy.tab": "执行策略", + "workflow_node.notify.form_anchor.strategy.title": "执行策略", + "workflow_node.notify.form.subject.label": "通知主题", + "workflow_node.notify.form.subject.placeholder": "请输入通知主题", + "workflow_node.notify.form.message.label": "通知内容", + "workflow_node.notify.form.message.placeholder": "请输入通知内容", + "workflow_node.notify.form.template.guide": "
          通知主题或内容中使用「Mustache」语法(即双大括号)包裹、并以「$」符号开头的文本会被视为模板插值,将在推送时被替换为实际值。
          支持的模板插值:
          1. workflow.id:工作流 ID。
          2. workflow.name:工作流名称。
          3. run.id:运行 ID。
          4. error.nodeId:执行失败时的节点 ID。如果在此之前有多个执行失败的节点,始终表示最近的一个。
          5. error.nodeName:执行失败时的节点名称。如果在此之前有多个执行失败的节点,始终表示最近的一个。
          6. error.message:执行失败时的错误信息。如果在此之前有多个执行失败的节点,始终表示最近的一个。
          7. certificate.domain:证书主域名(即 CommonName)。如果在此之前有多个输出证书的节点,始终表示最近的一个。
          8. certificate.domains:证书多域名列表(即 SubjectAltNames)。如果在此之前有多个输出证书的节点,始终表示最近的一个。
          9. certificate.notBefore:证书生效时间,以 RFC3339 格式化。如果在此之前有多个输出证书的节点,始终表示最近的一个。
          10. certificate.notAfter:证书过期时间,以 RFC3339 格式化。如果在此之前有多个输出证书的节点,始终表示最近的一个。
          11. certificate.hoursLeft:证书剩余小时数。如果在此之前有多个输出证书的节点,始终表示最近的一个。
          12. certificate.daysLeft:证书剩余天数。如果在此之前有多个输出证书的节点,始终表示最近的一个。
          13. certificate.validity:证书是否有效。如果在此之前有多个输出证书的节点,始终表示最近的一个。
          14. now:服务器当前时间,以 RFC3339 格式化。

          示例:
          Your workflow {{ $workflow.name }} has failed on node {{ $error.nodeName }} at {{ $now }}.

          更多内容请查看文档。
          ", + "workflow_node.notify.form.provider.label": "通知渠道", + "workflow_node.notify.form.provider.placeholder": "请选择通知渠道", + "workflow_node.notify.form.provider.search.placeholder": "搜索通知渠道……", + "workflow_node.notify.form.provider_access.label": "通知渠道授权", + "workflow_node.notify.form.provider_access.placeholder": "请选择通知渠道授权", + "workflow_node.notify.form.provider_access.button": "新建", + "workflow_node.notify.form.params_config.label": "参数设置", + "workflow_node.notify.form.discordbot_channel_id.label": "Discord 频道 ID(可选)", + "workflow_node.notify.form.discordbot_channel_id.placeholder": "请输入 Discord 频道 ID", + "workflow_node.notify.form.discordbot_channel_id.help": "提示:不填写时,将使用所选通知渠道授权的默认频道 ID。", + "workflow_node.notify.form.email_receiver_address.label": "收件人邮箱(可选)", + "workflow_node.notify.form.email_receiver_address.placeholder": "请输入收件人邮箱以覆盖默认值", + "workflow_node.notify.form.email_receiver_address.help": "提示:不填写时,将使用所选通知渠道授权的默认收件人邮箱。", + "workflow_node.notify.form.mattermost_channel_id.label": "Mattermost 频道 ID(可选)", + "workflow_node.notify.form.mattermost_channel_id.placeholder": "请输入 Mattermost 频道 ID", + "workflow_node.notify.form.mattermost_channel_id.help": "提示:不填写时,将使用所选通知渠道授权的默认频道 ID。", + "workflow_node.notify.form.slackbot_channel_id.label": "Slack 频道 ID(可选)", + "workflow_node.notify.form.slackbot_channel_id.placeholder": "请输入 Slack 频道 ID", + "workflow_node.notify.form.slackbot_channel_id.help": "提示:不填写时,将使用所选通知渠道授权的默认频道 ID。", + "workflow_node.notify.form.telegrambot_chat_id.label": "Telegram 会话 ID(可选)", + "workflow_node.notify.form.telegrambot_chat_id.placeholder": "请输入 Telegram 会话 ID", + "workflow_node.notify.form.telegrambot_chat_id.help": "提示:不填写时,将使用所选通知渠道授权的默认会话 ID。", + "workflow_node.notify.form.webhook_data.label": "Webhook 回调数据(可选)", + "workflow_node.notify.form.webhook_data.placeholder": "请输入 Webhook 回调数据以覆盖默认值", + "workflow_node.notify.form.webhook_data.help": "提示:不填写时,将使用所选通知渠道授权的默认 Webhook 回调数据。", + "workflow_node.notify.form.webhook_data.errmsg.json_invalid": "请输入有效的 JSON 格式字符串", + "workflow_node.notify.form.webhook_data.vartips": "支持的变量:
          1. ${CERTIMATE_NOTIFIER_SUBJECT}
            通知主题。
          2. ${CERTIMATE_NOTIFIER_MESSAGE}
            通知内容。
          ", + "workflow_node.notify.form.webhook_timeout.label": "Webhook 超时时间(可选)", + "workflow_node.notify.form.webhook_timeout.placeholder": "请输入 Webhook 超时时间", + "workflow_node.notify.form.webhook_timeout.unit": "秒", + "workflow_node.notify.form.skip_on_all_prev_skipped.label": "静默行为", + "workflow_node.notify.form.skip_on_all_prev_skipped.prefix": "当前序申请、上传、部署等节点均已跳过执行时,", + "workflow_node.notify.form.skip_on_all_prev_skipped.suffix": "此通知节点。", + "workflow_node.notify.form.skip_on_all_prev_skipped.switch.on": "跳过", + "workflow_node.notify.form.skip_on_all_prev_skipped.switch.off": "不跳过", + + "workflow_node.delay.label": "延迟等待", + "workflow_node.delay.default_name": "延迟", + "workflow_node.delay.form_anchor.parameters.tab": "参数设置", + "workflow_node.delay.form.wait.label": "等待时间", + "workflow_node.delay.form.wait.placeholder": "请输入等待时间", + "workflow_node.delay.form.wait.unit": "秒", + + "workflow_node.condition.label": "并行/条件分支", + "workflow_node.condition.default_name": "并行", + "workflow_node.condition.default_name.template_certtest_on_expiring_soon": "若网站证书即将过期…", + "workflow_node.condition.default_name.template_certtest_on_expired": "若网站证书已过期…", + + "workflow_node.branch_block.label": "分支", + "workflow_node.branch_block.default_name": "分支", + "workflow_node.branch_block.state.no": "无条件进入", + "workflow_node.branch_block.state.or": "满足任一条件时进入", + "workflow_node.branch_block.state.and": "满足所有条件时进入", + "workflow_node.branch_block.form_anchor.parameters.tab": "参数设置", + "workflow_node.branch_block.form.expression.label": "分支进入条件", + "workflow_node.branch_block.form.expression.errmsg.invalid": "请输入有效的条件", + "workflow_node.branch_block.form.expression.logical_operator.errmsg": "请选择条件组合方式", + "workflow_node.branch_block.form.expression.logical_operator.option.and.label": "满足以下所有条件 (AND)", + "workflow_node.branch_block.form.expression.logical_operator.option.or.label": "满足以下任一条件 (OR)", + "workflow_node.branch_block.form.expression.variable.placeholder": "请选择", + "workflow_node.branch_block.form.expression.variable.errmsg": "请选择变量", + "workflow_node.branch_block.form.expression.operator.placeholder": "请选择", + "workflow_node.branch_block.form.expression.operator.errmsg": "请选择运算符", + "workflow_node.branch_block.form.expression.operator.option.eq.label": "等于", + "workflow_node.branch_block.form.expression.operator.option.eq.alias_is_label": "为", + "workflow_node.branch_block.form.expression.operator.option.neq.label": "不等于", + "workflow_node.branch_block.form.expression.operator.option.neq.alias_not_label": "不为", + "workflow_node.branch_block.form.expression.operator.option.gt.label": "大于", + "workflow_node.branch_block.form.expression.operator.option.gte.label": "大于等于", + "workflow_node.branch_block.form.expression.operator.option.lt.label": "小于", + "workflow_node.branch_block.form.expression.operator.option.lte.label": "小于等于", + "workflow_node.branch_block.form.expression.value.placeholder": "请输入", + "workflow_node.branch_block.form.expression.value.errmsg": "请输入值", + "workflow_node.branch_block.form.expression.value.option.true.label": "真", + "workflow_node.branch_block.form.expression.value.option.false.label": "假", + "workflow_node.branch_block.form.expression.add_condition.button": "添加条件", + + "workflow_node.try_catch.label": "执行结果分支", + "workflow_node.try_catch.default_name": "尝试执行…", + + "workflow_node.catch_block.label": "执行失败分支", + "workflow_node.catch_block.default_name": "若执行失败…", + + "workflow_node.end.label": "结束", + "workflow_node.end.default_name": "结束" +}