2020-11-11 21:32:19 +08:00
{$layout "layout_popup"}
< h3 > 修改DNS服务商账号< / h3 >
< form class = "ui form" data-tea-action = "$" data-tea-success = "success" >
< csrf-token > < / csrf-token >
< input type = "hidden" name = "providerId" :value = "provider.id" / >
< input type = "hidden" name = "type" :value = "provider.type" / >
< table class = "ui table definition selectable" >
< tr >
< td class = "title" > 账号说明 *< / td >
< td >
< input type = "text" name = "name" maxlength = "50" ref = "focus" v-model = "provider.name" / >
< p class = "comment" > 用来方便区分不同的账号。< / p >
< / td >
< / tr >
< tr >
< td > 服务商厂家 *< / td >
< td >
{{provider.typeName}}
2021-06-02 18:14:00 +08:00
< p class = "comment" > {{typeDescription}}创建后无法修改此选项。< / p >
2020-11-11 21:32:19 +08:00
< / td >
< / tr >
< tr >
< td colspan = "2" > API参数< / td >
< / tr >
<!-- DNSPod -->
< tbody v-if = "provider.type == 'dnspod'" >
2023-11-23 15:14:34 +08:00
< tr >
< td > 密钥类型 *< / td >
< td >
< select class = "ui dropdown auto-width" name = "paramDNSPodAPIType" v-model = "provider.params.apiType" >
< option value = "tencentDNS" > 腾讯云API密钥< / option >
< option value = "dnsPodToken" > DNSPod Token< / option >
< / select >
< / td >
< / tr >
< tr v-show = "provider.params.apiType == 'tencentDNS'" >
< td > SecretId *< / td >
< td >
< input type = "text" name = "paramDNSPodAccessKeyId" maxlength = "100" v-model = "provider.params.accessKeyId" / >
< p class = "comment" > 在DNSPod控制台“账号中心--API密钥”中获取。< / p >
< / td >
< / tr >
< tr v-show = "provider.params.apiType == 'tencentDNS'" >
< td > SecretKey *< / td >
< td >
< input type = "text" name = "paramDNSPodAccessKeySecret" maxlength = "100" v-model = "provider.params.accessKeySecret" / >
< p class = "comment" > 在DNSPod控制台“账号中心--API密钥”中获取。< / p >
< / td >
< / tr >
< tr v-show = "provider.params.apiType == null || provider.params.apiType.length == 0 || provider.params.apiType == 'dnsPodToken'" >
2020-11-11 21:32:19 +08:00
< td > 密钥ID *< / td >
< td >
2023-11-23 15:14:34 +08:00
< input type = "text" name = "paramDNSPodId" maxlength = "100" v-model = "provider.params.id" / >
< p class = "comment" > 在DNSPod控制台“账号中心--API密钥--DNSPod Token”中获取。< / p >
2020-11-11 21:32:19 +08:00
< / td >
< / tr >
2023-11-23 15:14:34 +08:00
< tr v-show = "provider.params.apiType == null || provider.params.apiType.length == 0 || provider.params.apiType == 'dnsPodToken'" >
2020-11-11 21:32:19 +08:00
< td > 密钥Token *< / td >
< td >
2023-11-23 15:14:34 +08:00
< input type = "text" name = "paramDNSPodToken" maxlength = "100" v-model = "provider.params.token" spellcheck = "false" / >
< p class = "comment" > 在DNSPod控制台“账号中心--API密钥--DNSPod Token”中获取。< / p >
2020-11-15 11:57:43 +08:00
< / td >
< / tr >
2023-11-23 15:14:34 +08:00
< tr v-if = "provider.params.apiType == null || provider.params.apiType.length == 0 || provider.params.apiType == 'dnsPodToken'" >
2022-03-30 09:12:16 +08:00
< td > 区域< / td >
< td >
2023-11-23 15:14:34 +08:00
< select class = "ui dropdown auto-width" name = "paramDNSPodRegion" v-model = "provider.params.region" >
2022-03-30 10:59:42 +08:00
< option value = "" > 中国站< / option >
< option value = "international" > 国际站< / option >
2022-03-30 09:12:16 +08:00
< / select >
< / td >
< / tr >
2020-11-15 11:57:43 +08:00
< / tbody >
<!-- AliDNS -->
< tbody v-if = "provider.type == 'alidns'" >
< tr >
< td > AccessKeyId *< / td >
< td >
2023-11-08 21:17:32 +08:00
< input type = "text" name = "paramAliDNSAccessKeyId" maxlength = "100" v-model = "provider.params.accessKeyId" spellcheck = "false" / >
2020-11-15 11:57:43 +08:00
< p class = "comment" > 登录阿里云控制台 -- 在"访问控制"中创建和获取。< / p >
< / td >
< / tr >
< tr >
< td > AccessKeySecret *< / td >
< td >
2023-11-08 21:17:32 +08:00
< input type = "text" name = "paramAliDNSAccessKeySecret" maxlength = "100" v-model = "provider.params.accessKeySecret" spellcheck = "false" / >
2020-11-15 11:57:43 +08:00
< p class = "comment" > 登录阿里云控制台 -- 在"访问控制"中创建和获取。< / p >
2020-11-11 21:32:19 +08:00
< / td >
< / tr >
2022-05-07 20:59:38 +08:00
< tr >
< td > 区域ID< optional-label > < / optional-label > < / td >
< td >
< input type = "text" name = "paramAliDNSRegionId" maxlength = "100" v-model = "provider.params.regionId" / >
< p class = "comment" > 阿里云产品所在区域代号,通常不需要填写。< / p >
< / td >
< / tr >
2020-11-11 21:32:19 +08:00
< / tbody >
2021-01-28 11:29:50 +08:00
2021-08-04 22:14:35 +08:00
<!-- 华为云 -->
< tbody v-if = "provider.type == 'huaweiDNS'" >
< tr >
< td > AccessKeyId *< / td >
< td >
2023-11-08 21:17:32 +08:00
< input type = "text" name = "paramHuaweiAccessKeyId" maxlength = "100" v-model = "provider.params.accessKeyId" spellcheck = "false" / >
2021-08-04 22:14:35 +08:00
< p class = "comment" > 登录华为云控制台 -- 在"我的凭证 -- 访问密钥"中创建和获取。< / p >
< / td >
< / tr >
< tr >
< td > AccessKeySecret *< / td >
< td >
2023-11-08 21:17:32 +08:00
< input type = "text" name = "paramHuaweiAccessKeySecret" maxlength = "100" v-model = "provider.params.accessKeySecret" spellcheck = "false" / >
2021-08-04 22:14:35 +08:00
< p class = "comment" > 登录华为云控制台 -- 在"我的凭证 -- 访问密钥"中创建和获取。< / p >
< / td >
< / tr >
2023-01-01 18:28:37 +08:00
< tr >
< td > 终端节点< / td >
< td >
2023-11-08 21:17:32 +08:00
< input type = "text" name = "paramHuaweiEndpoint" maxlength = "100" v-model = "provider.params.endpoint" spellcheck = "false" / >
2023-01-01 18:33:05 +08:00
< p class = "comment" > 选填项。可以填写终端节点( Endpoint) 区域代号或者域名, 参考 < a href = "https://developer.huaweicloud.com/endpoint?DNS" target = "_blank" > https://developer.huaweicloud.com/endpoint?DNS< / a > (如果此链接失效,请到华为云开发者中心自行查找)。< / p >
2023-01-01 18:28:37 +08:00
< / td >
< / tr >
2021-08-04 22:14:35 +08:00
< / tbody >
2021-04-15 17:02:35 +08:00
<!-- CloudFlare -->
< tbody v-if = "provider.type == 'cloudFlare'" >
< tr >
< td > API密钥 *< / td >
< td >
2023-11-08 21:17:32 +08:00
< input type = "text" name = "paramCloudFlareAPIKey" maxlength = "100" v-model = "provider.params.apiKey" spellcheck = "false" / >
2021-04-15 17:02:35 +08:00
< p class = "comment" > 在个人资料中的"API令牌"--"API密钥"--"Global API Key"中获取。< / p >
< / td >
< / tr >
< tr >
< td > 账号邮箱 *< / td >
< td >
2023-11-08 21:17:32 +08:00
< input type = "text" name = "paramCloudFlareEmail" maxlength = "100" v-model = "provider.params.email" spellcheck = "false" / >
2021-04-15 17:02:35 +08:00
< p class = "comment" > 登录账号使用的邮箱。< / p >
< / td >
< / tr >
< / tbody >
2022-04-19 16:33:51 +08:00
<!-- GoDaddy -->
< tbody v-if = "provider.type == 'godaddy'" >
< tr >
< td > Key *< / td >
< td >
2023-11-08 21:17:32 +08:00
< input type = "text" name = "paramGoDaddyKey" maxlength = "100" v-model = "provider.params.key" spellcheck = "false" / >
2023-11-17 18:01:50 +08:00
< p class = "comment" > 可以在GoDaddy< a href = "https://developer.godaddy.com/keys" target = "_blank" > 开发者中心< / a > 创建, 创建时Environment选择Production。< / p >
2022-04-19 16:33:51 +08:00
< / td >
< / tr >
< tr >
< td > Secret *< / td >
< td >
2023-11-08 21:17:32 +08:00
< input type = "text" name = "paramGoDaddySecret" maxlength = "100" v-model = "provider.params.secret" spellcheck = "false" / >
2022-04-19 16:33:51 +08:00
< / td >
< / tr >
< / tbody >
2022-07-10 19:35:13 +08:00
<!-- ClouDNS -->
< tbody v-if = "provider.type == 'cloudns'" >
< tr >
< td > 用户认证ID< em > ( auth-id) < / em > < / td >
< td >
2023-11-08 21:17:32 +08:00
< input type = "text" name = "paramClouDNSAuthId" maxlength = "20" v-model = "provider.params.authId" spellcheck = "false" / >
2022-07-10 19:35:13 +08:00
< p class = "comment" > 和子用户认证ID二选一。可以在ClouDNS< a href = "https://www.cloudns.net/api-settings/" target = "_blank" > API设置页面< / a > 添加。< / p >
< / td >
< / tr >
< tr >
< td > 子用户认证ID< em > ( sub-auth-id) < / em > < / td >
< td >
< input type = "text" name = "paramClouDNSSubAuthId" maxlength = "20" v-model = "provider.params.subAuthId" / >
< p class = "comment" > 和用户认证ID二选一。可以在ClouDNS< a href = "https://www.cloudns.net/api-settings/" target = "_blank" > API设置页面< / a > 添加。< / p >
< / td >
< / tr >
< tr >
< td > 认证密码 *< em > ( auth-password) < / em > < / td >
< td >
2023-11-08 21:17:32 +08:00
< input type = "password" name = "paramClouDNSAuthPassword" maxlength = "100" v-model = "provider.params.authPassword" spellcheck = "false" / >
2022-07-10 19:35:13 +08:00
< p class = "comment" > 用户或者子用户的认证密码。< / p >
< / td >
< / tr >
< / tbody >
2022-07-11 11:52:03 +08:00
<!-- DNS.COM -->
< tbody v-if = "provider.type == 'dnscom'" >
< tr >
< td > API Key *< / td >
< td >
2023-11-08 21:17:32 +08:00
< input type = "text" name = "paramDNSComKey" maxlength = "100" v-model = "provider.params.key" spellcheck = "false" / >
2022-07-11 11:52:03 +08:00
< p class = "comment" > 在DNS.COM控制台账号中心--API设置中创建和查看。< / p >
< / td >
< / tr >
< tr >
< td > API Secret *< / td >
< td >
2023-11-08 21:17:32 +08:00
< input type = "text" name = "paramDNSComSecret" maxlength = "100" v-model = "provider.params.secret" spellcheck = "false" / >
2022-07-11 11:52:03 +08:00
< p class = "comment" > 在DNS.COM控制台账号中心--API设置中创建和查看。< / p >
< / td >
< / tr >
< / tbody >
2022-08-07 21:18:21 +08:00
<!-- DNS.LA -->
< tbody v-if = "provider.type == 'dnsla'" >
< tr >
< td > API ID *< / td >
< td >
2023-11-08 21:17:32 +08:00
< input type = "text" name = "paramDNSLaAPIId" maxlength = "100" v-model = "provider.params.apiId" spellcheck = "false" / >
2023-11-17 18:13:54 +08:00
< p class = "comment" > 在DNS.LA控制台--账户信息中查看。< / p >
2022-08-07 21:18:21 +08:00
< / td >
< / tr >
< tr >
< td > API密钥 *< / td >
< td >
2023-11-08 21:17:32 +08:00
< input type = "text" name = "paramDNSLaSecret" maxlength = "100" v-model = "provider.params.secret" spellcheck = "false" / >
2023-11-17 18:13:54 +08:00
< p class = "comment" > 在DNS.LA控制台--账户信息中查看。< / p >
2022-08-07 21:18:21 +08:00
< / td >
< / tr >
< / tbody >
2023-11-06 16:21:19 +08:00
<!-- VolcEngine -->
< tbody v-if = "provider.type == 'volcEngine'" >
< tr >
< td > Access Key ID *< / td >
< td >
2023-11-08 21:17:32 +08:00
< input type = "text" name = "paramVolcEngineAccessKeyId" maxlength = "100" v-model = "provider.params.accessKeyId" spellcheck = "false" / >
2023-11-06 16:21:19 +08:00
< p class = "comment" > 在火山引擎“访问控制--API访问密钥”中获取。< / p >
< / td >
< / tr >
< tr >
< td > Secret Access Key *< / td >
< td >
2023-11-08 21:17:32 +08:00
< input type = "text" name = "paramVolcEngineAccessKeySecret" maxlength = "100" v-model = "provider.params.accessKeySecret" spellcheck = "false" / >
< / td >
< / tr >
< / tbody >
<!-- Amazon Route 53 -->
< tbody v-if = "provider.type == 'amazonRoute53'" >
< tr >
< td > Access Key ID *< / td >
< td >
< input type = "text" name = "paramAmazonRoute53AccessKeyId" maxlength = "100" v-model = "provider.params.accessKeyId" spellcheck = "false" / >
< / td >
< / tr >
< tr >
< td > Secret Access Key *< / td >
< td >
< input type = "text" name = "paramAmazonRoute53AccessKeySecret" maxlength = "100" v-model = "provider.params.accessKeySecret" spellcheck = "false" / >
< / td >
< / tr >
< tr >
< td > API区域< / td >
< td >
< input type = "text" name = "paramAmazonRoute53Region" maxlength = "100" v-model = "provider.params.region" spellcheck = "false" / >
< p class = "comment" > 通常不需要填写。< / p >
2023-11-06 16:21:19 +08:00
< / td >
< / tr >
< / tbody >
2023-11-12 20:31:16 +08:00
<!-- Microsoft Azure DNS -->
< tbody v-if = "provider.type == 'azureDNS'" >
< tr >
2023-11-22 10:30:29 +08:00
< td > 订阅ID < br / > < em > (Subscription ID)< / em > *< / td >
2023-11-12 20:31:16 +08:00
< td >
< input type = "text" name = "paramAzureDNSSubscriptionId" maxlength = "100" v-model = "provider.params.subscriptionId" spellcheck = "false" / >
2023-11-22 10:30:29 +08:00
< p class = "comment" > 可以在订阅( Subscriptions) 服务中查看。< / p >
2023-11-12 20:31:16 +08:00
< / td >
< / tr >
< tr >
2023-11-22 10:30:29 +08:00
< td > 目录(租户) ID < br / > < em > (Directory Tenant ID)< / em > *< / td >
2023-11-12 20:31:16 +08:00
< td >
< input type = "text" name = "paramAzureDNSTenantId" maxlength = "100" v-model = "provider.params.tenantId" spellcheck = "false" / >
2023-11-22 10:30:29 +08:00
< p class = "comment" > 可以在应用注册( App registrations) 中对应应用概述( Overview) 中查看。< / p >
2023-11-12 20:31:16 +08:00
< / td >
< / tr >
< tr >
2023-11-22 10:30:29 +08:00
< td > 应用程序(客户端) ID < br / > < em > (Client ID)< / em > *< / td >
< td > < input type = "text" name = "paramAzureDNSClientId" maxlength = "100" v-model = "provider.params.clientId" spellcheck = "false" / >
< p class = "comment" > 需要在应用注册( App registrations) 中新注册应用程序获得。< / p >
< / td >
2023-11-12 20:31:16 +08:00
< / tr >
< tr >
2023-11-22 10:30:29 +08:00
< td > 客户端密码值 < br / > < em > (Client Secret Value)< / em > *< / td >
< td >
< input type = "text" name = "paramAzureDNSClientSecret" maxlength = "100" v-model = "provider.params.clientSecret" spellcheck = "false" / >
< p class = "comment" > 可以在应用注册( App registrations) 中对应应用的“证书和密码( Certificates & secrets) ”--“客户端密码( Client secrets) ”中创建和查看。< / p >
< / td >
2023-11-12 20:31:16 +08:00
< / tr >
< tr >
2023-11-22 10:30:29 +08:00
< td > 资源组 < br / > < em > (Resource Group Name)< / em > *< / td >
< td >
< input type = "text" name = "paramAzureDNSResourceGroupName" maxlength = "100" v-model = "provider.params.resourceGroupName" spellcheck = "false" / >
< p class = "comment" > 权限设置帮助: 你需要在对应资源组( Resource group) -- 访问控制( Access control (IAM)) -- 角色分配( Role assignments) 中添加一个角色分配( Role assignment) , 其中作业职能角色( Job function roles) 为"DNS 区域参与者(DNS Zone Contributor)", 成员( Members) 为应用注册( App registrations) 中的应用程序( application) ( 有时需要在选择成员( select members) 界面搜索应用程序( application) 名称才能看到) 。< / p >
< / td >
2023-11-12 20:31:16 +08:00
< / tr >
< / tbody >
2022-09-08 19:36:37 +08:00
<!-- EdgeDNS -->
2021-06-02 18:14:00 +08:00
< tbody v-if = "provider.type == 'localEdgeDNS'" >
< tr >
< td > 选择域名服务集群 *< / td >
< td >
< select class = "ui dropdown auto-width" name = "paramLocalEdgeDNSClusterId" v-model = "provider.params.clusterId" >
< option value = "0" > [选择域名服务集群]< / option >
< option v-for = "cluster in nsClusters" :value = "cluster.id" > {{cluster.name}}< / option >
< / select >
< / td >
< / tr >
< / tbody >
2022-09-08 19:36:37 +08:00
<!-- EdgeDNS API -->
< tbody v-if = "provider.type == 'edgeDNSAPI'" >
< tr >
< td > API地址 *< / td >
< td >
< input type = "text" name = "paramEdgeDNSAPIHost" maxlength = "100" v-model = "provider.params.host" / >
< / td >
< / tr >
< tr >
< td > AccessKey类型 *< / td >
< td >
< select class = "ui dropdown auto-width" name = "paramEdgeDNSAPIRole" v-model = "provider.params.role" >
< option value = "user" > 平台用户< / option >
< option value = "admin" > 管理员< / option >
< / select >
< / td >
< / tr >
< tr >
< td > AccessKey ID *< / td >
< td >
< input type = "text" name = "paramEdgeDNSAPIAccessKeyId" maxlength = "64" v-model = "provider.params.accessKeyId" / >
< / td >
< / tr >
< tr >
< td > AccessKey密钥 *< / td >
< td >
< input type = "text" name = "paramEdgeDNSAPIAccessKeySecret" maxlength = "64" v-model = "provider.params.accessKeySecret" / >
< / td >
< / tr >
< / tbody >
2021-01-28 11:29:50 +08:00
<!-- 自定义HTTP -->
< tbody v-if = "provider.type == 'customHTTP'" >
< tr >
< td > HTTP URL *< / td >
< td >
< input type = "text" name = "paramCustomHTTPURL" maxlength = "200" v-model = "provider.params.url" / >
< p class = "comment" > HTTP URL完整地址, DNS所有操作都会以POST的方式转发到此地址。< / p >
< / td >
< / tr >
< tr >
< td > 私钥 *< / td >
< td >
< input type = "text" name = "paramCustomHTTPSecret" maxlength = "64" v-model = "provider.params.secret" / >
< p class = "comment" > 通讯用的私钥, 转发请求时会在Header中加入相关信息, 方便开发者校验请求是否合法。< / p >
< / td >
< / tr >
< / tbody >
2020-11-11 21:32:19 +08:00
< / table >
< submit-btn > < / submit-btn >
< / form >