Files
devstar/services/devstar_cloud_provider/CreateNATRulePort.go
戴明辰 c1ea93e233 !10 [Feature][Fix][Doc] Tencent NAT Auto-Portforwarding
* [Fix] Relocate User Permanent SSH Public Key queries to DevcontainerService Layer
* [Fix] Add Unix Timestamps in DB table `devstar_devcontainer`
* [Feature] Tencent NAT port forwarding
* [Doc] k8s Operator RBAC: ServiceAccount, ClusterRole, ClusterRoleBinding, etc.
* [fix] k8s Operator Reconciler error while converting YAML to JSON
* [Doc] Added DevStar API Doc
* [fix] detailed errors while listing user devcontainers
* [fix] Invalid metadata.labels: value must be no more than 63 characters
2024-10-23 03:05:44 +00:00

25 lines
889 B
Go

package devstar_cloud_provider
import (
"code.gitea.io/gitea/modules/setting"
devstar_cloud_provider_errors "code.gitea.io/gitea/services/devstar_cloud_provider/errors"
devstar_cloud_provider_tencent_nat "code.gitea.io/gitea/services/devstar_cloud_provider/tencent/nat_port_mapping"
)
// CreateNATRulePort 抽象接口,创建 NAT 端口映射规则
func CreateNATRulePort(privatePort, publicPort uint64, description string) error {
if setting.Devstar.Cloud.Enabled == false {
return devstar_cloud_provider_errors.ErrCloudNATProviderDisabled{}
}
// 根据配置文件指定云服务厂商创建 NAT Rule
switch setting.Devstar.Cloud.Provider {
case setting.CLOUD_PROVIDER_TENCENT:
// 指定腾讯云执行 NAT 端口创建
return devstar_cloud_provider_tencent_nat.AssignDevstarCloudNATPortForwarding2TencentCloud(privatePort, publicPort, description)
}
return nil
}