Files
devstar/services/devstar_cloud_provider/CreateNATRulePort.go
xinitx e6d1dbb381 !46 [DIP-2][DevContainer] 添加 WebSSH 和 保存镜像功能、更新了DevContainer相关的配置
* 合并devcontainer web相关的源文件,简化目录结构
* devcontainer、ssh_key_pair和devcontainer.cloud
* fixed bug:创建容器时Host为localhost时创建失败的问题
* 删除了死代码,更新了一些命名(主要是去掉devstar字符串)
* 常量名全大写
* devcontainer HOST改为用户设置的域名或IP
* 安装时如没有配置devcontainer则默认设置为docker方式
* 直接使用kubernetes和docker简化代码提高可读性
* 去除services/devstar_devcontainer文件夹名中不必要的devstar字符串
* 去除services/devstar_devcontainer文件夹名中不必要的devstar字符串
* 文件名中去掉不必要的devstar字符串
* 变量名中删除不必要的Devstar字符串
* Merge branch 'dev' into feature-websshAndUpdateImage
* change pages style
* change Structure
* fix bug
* websshAndUpdateImage
2025-01-07 01:25:54 +00:00

25 lines
873 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.Cloud.Enabled == false {
return devstar_cloud_provider_errors.ErrCloudNATProviderDisabled{}
}
// 根据配置文件指定云服务厂商创建 NAT Rule
switch setting.Cloud.Provider {
case setting.CLOUD_PROVIDER_TENCENT:
// 指定腾讯云执行 NAT 端口创建
return devstar_cloud_provider_tencent_nat.AssignDevstarCloudNATPortForwarding2TencentCloud(privatePort, publicPort, description)
}
return nil
}