1 Star 0 Fork 0

左手好闲/devops-infras

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
nacos.go 2.88 KB
一键复制 编辑 原始数据 按行查看 历史
lixiang.liu 提交于 2023-08-14 12:01 +08:00 . 增加redis支持
package tencentcloud
import (
appv1 "gitee.com/amoyx/devops-infras/api/v1"
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common"
tse "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tse/v20201207"
)
type NacosCloud interface {
CreateNacos(nacos *appv1.Nacos) (*tse.CreateEngineResponse, error)
DeleteNacos(id string) (*tse.DeleteEngineResponse, error)
QueryNacos(id string) (*tse.DescribeSREInstancesResponse, error)
QueryAccessAddress(id string) (*tse.DescribeSREInstanceAccessAddressResponse, error)
UpdateInternetAccess(id string, isEnabled bool) error
}
// QueryNacos 查询nacos实例
func (r *RealTencentCloud) QueryNacos(id string) (response *tse.DescribeSREInstancesResponse, err error) {
request := tse.NewDescribeSREInstancesRequest()
request.Filters = []*tse.Filter{
&tse.Filter{
Name: common.StringPtr("InstanceId"),
Values: common.StringPtrs([]string{id}),
},
}
response, err = r.tseClient.DescribeSREInstances(request)
return
}
// CreateNacos 创建nacos实例
func (r *RealTencentCloud) CreateNacos(nacos *appv1.Nacos) (response *tse.CreateEngineResponse, err error) {
request := tse.NewCreateEngineRequest()
request.EngineType = common.StringPtr("nacos")
request.EngineVersion = common.StringPtr(nacos.Spec.EngineVersion)
request.EngineProductVersion = common.StringPtr("STANDARD")
request.EngineRegion = common.StringPtr("ap-shanghai")
request.EngineResourceSpec = common.StringPtr(nacos.Spec.EngineResourceSpec)
request.EngineNodeNum = common.Int64Ptr(3)
request.VpcId = common.StringPtr(nacos.Spec.VpcId)
request.SubnetId = common.StringPtr(nacos.Spec.Subnet)
request.EngineName = common.StringPtr(nacos.Spec.Name)
request.TradeType = common.Int64Ptr(0)
request.PrepaidPeriod = common.Int64Ptr(1)
request.PrepaidRenewFlag = common.Int64Ptr(1)
response, err = r.tseClient.CreateEngine(request)
return
}
// QueryAccessAddress 查询访问地址
func (r *RealTencentCloud) QueryAccessAddress(id string) (*tse.DescribeSREInstanceAccessAddressResponse, error) {
request := tse.NewDescribeSREInstanceAccessAddressRequest()
request.InstanceId = common.StringPtr(id)
response, err := r.tseClient.DescribeSREInstanceAccessAddress(request)
return response, err
}
// UpdateInternetAccess 开启或关闭公网地址访问
func (r *RealTencentCloud) UpdateInternetAccess(id string, isEnabled bool) error {
request := tse.NewUpdateEngineInternetAccessRequest()
request.InstanceId = common.StringPtr(id)
request.EnableClientInternetAccess = common.BoolPtr(isEnabled)
request.EngineType = common.StringPtr("nacos")
_, err := r.tseClient.UpdateEngineInternetAccess(request)
return err
}
// DeleteNacos 删除nacos实例
func (r *RealTencentCloud) DeleteNacos(id string) (response *tse.DeleteEngineResponse, err error) {
request := tse.NewDeleteEngineRequest()
request.InstanceId = common.StringPtr(id)
response, err = r.tseClient.DeleteEngine(request)
return
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/amoyx/devops-infras.git
git@gitee.com:amoyx/devops-infras.git
amoyx
devops-infras
devops-infras
v0.1.0

搜索帮助