// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v5.28.3
// source: conf.proto

package conf

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	durationpb "google.golang.org/protobuf/types/known/durationpb"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type Bootstrap struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Server        *Server                `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"`
	Jwt           *JWT                   `protobuf:"bytes,2,opt,name=jwt,proto3" json:"jwt,omitempty"`
	System        *System                `protobuf:"bytes,3,opt,name=system,proto3" json:"system,omitempty"`
	Captcha       *Captcha               `protobuf:"bytes,4,opt,name=captcha,proto3" json:"captcha,omitempty"`
	Mysql         *Mysql                 `protobuf:"bytes,5,opt,name=mysql,proto3" json:"mysql,omitempty"`
	Pgsql         *Pgsql                 `protobuf:"bytes,6,opt,name=pgsql,proto3" json:"pgsql,omitempty"`
	Sqlite        *Sqlite                `protobuf:"bytes,7,opt,name=sqlite,proto3" json:"sqlite,omitempty"`
	Redis         *Redis                 `protobuf:"bytes,8,opt,name=redis,proto3" json:"redis,omitempty"`
	Local         *Local                 `protobuf:"bytes,9,opt,name=local,proto3" json:"local,omitempty"`
	Qiniu         *Qiniu                 `protobuf:"bytes,10,opt,name=qiniu,proto3" json:"qiniu,omitempty"`
	Minio         *Minio                 `protobuf:"bytes,11,opt,name=minio,proto3" json:"minio,omitempty"`
	AliyunOss     *AliyunOss             `protobuf:"bytes,12,opt,name=aliyun_oss,json=aliyunOss,proto3" json:"aliyun_oss,omitempty"`
	TencentCos    *TencentCos            `protobuf:"bytes,13,opt,name=tencent_cos,json=tencentCos,proto3" json:"tencent_cos,omitempty"`
	AwsS3         *AwsS3                 `protobuf:"bytes,14,opt,name=aws_s3,json=awsS3,proto3" json:"aws_s3,omitempty"`
	CloudflareR2  *CloudflareR2          `protobuf:"bytes,15,opt,name=cloudflare_r2,json=cloudflareR2,proto3" json:"cloudflare_r2,omitempty"`
	HuaweiObs     *HuaweiObs             `protobuf:"bytes,16,opt,name=huawei_obs,json=huaweiObs,proto3" json:"huawei_obs,omitempty"`
	Email         *Email                 `protobuf:"bytes,17,opt,name=email,proto3" json:"email,omitempty"`
	Excel         *Excel                 `protobuf:"bytes,18,opt,name=excel,proto3" json:"excel,omitempty"`
	Cors          *Cors                  `protobuf:"bytes,19,opt,name=cors,proto3" json:"cors,omitempty"`
	Zap           *Zap                   `protobuf:"bytes,20,opt,name=zap,proto3" json:"zap,omitempty"`
	Mcp           *MCP                   `protobuf:"bytes,21,opt,name=mcp,proto3" json:"mcp,omitempty"`
	Autocode      *Autocode              `protobuf:"bytes,22,opt,name=autocode,proto3" json:"autocode,omitempty"`
	Mssql         *Mssql                 `protobuf:"bytes,23,opt,name=mssql,proto3" json:"mssql,omitempty"`
	Oracle        *Oracle                `protobuf:"bytes,24,opt,name=oracle,proto3" json:"oracle,omitempty"`
	Mongo         *Mongo                 `protobuf:"bytes,25,opt,name=mongo,proto3" json:"mongo,omitempty"`
	DbList        []*SpecializedDB       `protobuf:"bytes,26,rep,name=db_list,json=dbList,proto3" json:"db_list,omitempty"`
	RedisList     []*Redis               `protobuf:"bytes,27,rep,name=redis_list,json=redisList,proto3" json:"redis_list,omitempty"`
	DiskList      []*DiskList            `protobuf:"bytes,28,rep,name=disk_list,json=diskList,proto3" json:"disk_list,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Bootstrap) Reset() {
	*x = Bootstrap{}
	mi := &file_conf_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Bootstrap) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Bootstrap) ProtoMessage() {}

func (x *Bootstrap) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Bootstrap.ProtoReflect.Descriptor instead.
func (*Bootstrap) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{0}
}

func (x *Bootstrap) GetServer() *Server {
	if x != nil {
		return x.Server
	}
	return nil
}

func (x *Bootstrap) GetJwt() *JWT {
	if x != nil {
		return x.Jwt
	}
	return nil
}

func (x *Bootstrap) GetSystem() *System {
	if x != nil {
		return x.System
	}
	return nil
}

func (x *Bootstrap) GetCaptcha() *Captcha {
	if x != nil {
		return x.Captcha
	}
	return nil
}

func (x *Bootstrap) GetMysql() *Mysql {
	if x != nil {
		return x.Mysql
	}
	return nil
}

func (x *Bootstrap) GetPgsql() *Pgsql {
	if x != nil {
		return x.Pgsql
	}
	return nil
}

func (x *Bootstrap) GetSqlite() *Sqlite {
	if x != nil {
		return x.Sqlite
	}
	return nil
}

func (x *Bootstrap) GetRedis() *Redis {
	if x != nil {
		return x.Redis
	}
	return nil
}

func (x *Bootstrap) GetLocal() *Local {
	if x != nil {
		return x.Local
	}
	return nil
}

func (x *Bootstrap) GetQiniu() *Qiniu {
	if x != nil {
		return x.Qiniu
	}
	return nil
}

func (x *Bootstrap) GetMinio() *Minio {
	if x != nil {
		return x.Minio
	}
	return nil
}

func (x *Bootstrap) GetAliyunOss() *AliyunOss {
	if x != nil {
		return x.AliyunOss
	}
	return nil
}

func (x *Bootstrap) GetTencentCos() *TencentCos {
	if x != nil {
		return x.TencentCos
	}
	return nil
}

func (x *Bootstrap) GetAwsS3() *AwsS3 {
	if x != nil {
		return x.AwsS3
	}
	return nil
}

func (x *Bootstrap) GetCloudflareR2() *CloudflareR2 {
	if x != nil {
		return x.CloudflareR2
	}
	return nil
}

func (x *Bootstrap) GetHuaweiObs() *HuaweiObs {
	if x != nil {
		return x.HuaweiObs
	}
	return nil
}

func (x *Bootstrap) GetEmail() *Email {
	if x != nil {
		return x.Email
	}
	return nil
}

func (x *Bootstrap) GetExcel() *Excel {
	if x != nil {
		return x.Excel
	}
	return nil
}

func (x *Bootstrap) GetCors() *Cors {
	if x != nil {
		return x.Cors
	}
	return nil
}

func (x *Bootstrap) GetZap() *Zap {
	if x != nil {
		return x.Zap
	}
	return nil
}

func (x *Bootstrap) GetMcp() *MCP {
	if x != nil {
		return x.Mcp
	}
	return nil
}

func (x *Bootstrap) GetAutocode() *Autocode {
	if x != nil {
		return x.Autocode
	}
	return nil
}

func (x *Bootstrap) GetMssql() *Mssql {
	if x != nil {
		return x.Mssql
	}
	return nil
}

func (x *Bootstrap) GetOracle() *Oracle {
	if x != nil {
		return x.Oracle
	}
	return nil
}

func (x *Bootstrap) GetMongo() *Mongo {
	if x != nil {
		return x.Mongo
	}
	return nil
}

func (x *Bootstrap) GetDbList() []*SpecializedDB {
	if x != nil {
		return x.DbList
	}
	return nil
}

func (x *Bootstrap) GetRedisList() []*Redis {
	if x != nil {
		return x.RedisList
	}
	return nil
}

func (x *Bootstrap) GetDiskList() []*DiskList {
	if x != nil {
		return x.DiskList
	}
	return nil
}

type Server struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Http          *Server_HTTP           `protobuf:"bytes,1,opt,name=http,proto3" json:"http,omitempty"`
	Grpc          *Server_GRPC           `protobuf:"bytes,2,opt,name=grpc,proto3" json:"grpc,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Server) Reset() {
	*x = Server{}
	mi := &file_conf_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Server) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Server) ProtoMessage() {}

func (x *Server) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Server.ProtoReflect.Descriptor instead.
func (*Server) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{1}
}

func (x *Server) GetHttp() *Server_HTTP {
	if x != nil {
		return x.Http
	}
	return nil
}

func (x *Server) GetGrpc() *Server_GRPC {
	if x != nil {
		return x.Grpc
	}
	return nil
}

type JWT struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	SigningKey    string                 `protobuf:"bytes,1,opt,name=signing_key,json=signingKey,proto3" json:"signing_key,omitempty"`
	ExpiresTime   string                 `protobuf:"bytes,2,opt,name=expires_time,json=expiresTime,proto3" json:"expires_time,omitempty"`
	BufferTime    string                 `protobuf:"bytes,3,opt,name=buffer_time,json=bufferTime,proto3" json:"buffer_time,omitempty"`
	Issuer        string                 `protobuf:"bytes,4,opt,name=issuer,proto3" json:"issuer,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *JWT) Reset() {
	*x = JWT{}
	mi := &file_conf_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *JWT) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*JWT) ProtoMessage() {}

func (x *JWT) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use JWT.ProtoReflect.Descriptor instead.
func (*JWT) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{2}
}

func (x *JWT) GetSigningKey() string {
	if x != nil {
		return x.SigningKey
	}
	return ""
}

func (x *JWT) GetExpiresTime() string {
	if x != nil {
		return x.ExpiresTime
	}
	return ""
}

func (x *JWT) GetBufferTime() string {
	if x != nil {
		return x.BufferTime
	}
	return ""
}

func (x *JWT) GetIssuer() string {
	if x != nil {
		return x.Issuer
	}
	return ""
}

type System struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	Env                string                 `protobuf:"bytes,1,opt,name=env,proto3" json:"env,omitempty"`
	DbType             string                 `protobuf:"bytes,2,opt,name=db_type,json=dbType,proto3" json:"db_type,omitempty"`
	OssType            string                 `protobuf:"bytes,3,opt,name=oss_type,json=ossType,proto3" json:"oss_type,omitempty"`
	UseRedis           bool                   `protobuf:"varint,4,opt,name=use_redis,json=useRedis,proto3" json:"use_redis,omitempty"`
	UseMultipoint      bool                   `protobuf:"varint,5,opt,name=use_multipoint,json=useMultipoint,proto3" json:"use_multipoint,omitempty"`
	IplimitCount       int32                  `protobuf:"varint,6,opt,name=iplimit_count,json=iplimitCount,proto3" json:"iplimit_count,omitempty"`
	IplimitTime        int32                  `protobuf:"varint,7,opt,name=iplimit_time,json=iplimitTime,proto3" json:"iplimit_time,omitempty"`
	RouterPrefix       string                 `protobuf:"bytes,8,opt,name=router_prefix,json=routerPrefix,proto3" json:"router_prefix,omitempty"`
	UseStrictAuth      bool                   `protobuf:"varint,9,opt,name=use_strict_auth,json=useStrictAuth,proto3" json:"use_strict_auth,omitempty"`
	Addr               int32                  `protobuf:"varint,10,opt,name=addr,proto3" json:"addr,omitempty"`
	UseMongo           bool                   `protobuf:"varint,11,opt,name=use_mongo,json=useMongo,proto3" json:"use_mongo,omitempty"`
	DisableAutoMigrate bool                   `protobuf:"varint,12,opt,name=disable_auto_migrate,json=disableAutoMigrate,proto3" json:"disable_auto_migrate,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *System) Reset() {
	*x = System{}
	mi := &file_conf_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *System) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*System) ProtoMessage() {}

func (x *System) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use System.ProtoReflect.Descriptor instead.
func (*System) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{3}
}

func (x *System) GetEnv() string {
	if x != nil {
		return x.Env
	}
	return ""
}

func (x *System) GetDbType() string {
	if x != nil {
		return x.DbType
	}
	return ""
}

func (x *System) GetOssType() string {
	if x != nil {
		return x.OssType
	}
	return ""
}

func (x *System) GetUseRedis() bool {
	if x != nil {
		return x.UseRedis
	}
	return false
}

func (x *System) GetUseMultipoint() bool {
	if x != nil {
		return x.UseMultipoint
	}
	return false
}

func (x *System) GetIplimitCount() int32 {
	if x != nil {
		return x.IplimitCount
	}
	return 0
}

func (x *System) GetIplimitTime() int32 {
	if x != nil {
		return x.IplimitTime
	}
	return 0
}

func (x *System) GetRouterPrefix() string {
	if x != nil {
		return x.RouterPrefix
	}
	return ""
}

func (x *System) GetUseStrictAuth() bool {
	if x != nil {
		return x.UseStrictAuth
	}
	return false
}

func (x *System) GetAddr() int32 {
	if x != nil {
		return x.Addr
	}
	return 0
}

func (x *System) GetUseMongo() bool {
	if x != nil {
		return x.UseMongo
	}
	return false
}

func (x *System) GetDisableAutoMigrate() bool {
	if x != nil {
		return x.DisableAutoMigrate
	}
	return false
}

type Captcha struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	KeyLong            int32                  `protobuf:"varint,1,opt,name=key_long,json=keyLong,proto3" json:"key_long,omitempty"`
	ImgWidth           int32                  `protobuf:"varint,2,opt,name=img_width,json=imgWidth,proto3" json:"img_width,omitempty"`
	ImgHeight          int32                  `protobuf:"varint,3,opt,name=img_height,json=imgHeight,proto3" json:"img_height,omitempty"`
	OpenCaptcha        int32                  `protobuf:"varint,4,opt,name=open_captcha,json=openCaptcha,proto3" json:"open_captcha,omitempty"`
	OpenCaptchaTimeout int32                  `protobuf:"varint,5,opt,name=open_captcha_timeout,json=openCaptchaTimeout,proto3" json:"open_captcha_timeout,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *Captcha) Reset() {
	*x = Captcha{}
	mi := &file_conf_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Captcha) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Captcha) ProtoMessage() {}

func (x *Captcha) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Captcha.ProtoReflect.Descriptor instead.
func (*Captcha) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{4}
}

func (x *Captcha) GetKeyLong() int32 {
	if x != nil {
		return x.KeyLong
	}
	return 0
}

func (x *Captcha) GetImgWidth() int32 {
	if x != nil {
		return x.ImgWidth
	}
	return 0
}

func (x *Captcha) GetImgHeight() int32 {
	if x != nil {
		return x.ImgHeight
	}
	return 0
}

func (x *Captcha) GetOpenCaptcha() int32 {
	if x != nil {
		return x.OpenCaptcha
	}
	return 0
}

func (x *Captcha) GetOpenCaptchaTimeout() int32 {
	if x != nil {
		return x.OpenCaptchaTimeout
	}
	return 0
}

// GeneralDB contains common database configuration fields
type GeneralDB struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Prefix        string                 `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"`
	Port          string                 `protobuf:"bytes,2,opt,name=port,proto3" json:"port,omitempty"`
	Config        string                 `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"`
	DbName        string                 `protobuf:"bytes,4,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"`
	Username      string                 `protobuf:"bytes,5,opt,name=username,proto3" json:"username,omitempty"`
	Password      string                 `protobuf:"bytes,6,opt,name=password,proto3" json:"password,omitempty"`
	Path          string                 `protobuf:"bytes,7,opt,name=path,proto3" json:"path,omitempty"`
	Engine        string                 `protobuf:"bytes,8,opt,name=engine,proto3" json:"engine,omitempty"`
	LogMode       string                 `protobuf:"bytes,9,opt,name=log_mode,json=logMode,proto3" json:"log_mode,omitempty"`
	MaxIdleConns  int32                  `protobuf:"varint,10,opt,name=max_idle_conns,json=maxIdleConns,proto3" json:"max_idle_conns,omitempty"`
	MaxOpenConns  int32                  `protobuf:"varint,11,opt,name=max_open_conns,json=maxOpenConns,proto3" json:"max_open_conns,omitempty"`
	Singular      bool                   `protobuf:"varint,12,opt,name=singular,proto3" json:"singular,omitempty"`
	LogZap        bool                   `protobuf:"varint,13,opt,name=log_zap,json=logZap,proto3" json:"log_zap,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GeneralDB) Reset() {
	*x = GeneralDB{}
	mi := &file_conf_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GeneralDB) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GeneralDB) ProtoMessage() {}

func (x *GeneralDB) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GeneralDB.ProtoReflect.Descriptor instead.
func (*GeneralDB) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{5}
}

func (x *GeneralDB) GetPrefix() string {
	if x != nil {
		return x.Prefix
	}
	return ""
}

func (x *GeneralDB) GetPort() string {
	if x != nil {
		return x.Port
	}
	return ""
}

func (x *GeneralDB) GetConfig() string {
	if x != nil {
		return x.Config
	}
	return ""
}

func (x *GeneralDB) GetDbName() string {
	if x != nil {
		return x.DbName
	}
	return ""
}

func (x *GeneralDB) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *GeneralDB) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *GeneralDB) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *GeneralDB) GetEngine() string {
	if x != nil {
		return x.Engine
	}
	return ""
}

func (x *GeneralDB) GetLogMode() string {
	if x != nil {
		return x.LogMode
	}
	return ""
}

func (x *GeneralDB) GetMaxIdleConns() int32 {
	if x != nil {
		return x.MaxIdleConns
	}
	return 0
}

func (x *GeneralDB) GetMaxOpenConns() int32 {
	if x != nil {
		return x.MaxOpenConns
	}
	return 0
}

func (x *GeneralDB) GetSingular() bool {
	if x != nil {
		return x.Singular
	}
	return false
}

func (x *GeneralDB) GetLogZap() bool {
	if x != nil {
		return x.LogZap
	}
	return false
}

type Mysql struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Prefix        string                 `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"`
	Path          string                 `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	Port          string                 `protobuf:"bytes,3,opt,name=port,proto3" json:"port,omitempty"`
	Config        string                 `protobuf:"bytes,4,opt,name=config,proto3" json:"config,omitempty"`
	DbName        string                 `protobuf:"bytes,5,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"`
	Username      string                 `protobuf:"bytes,6,opt,name=username,proto3" json:"username,omitempty"`
	Password      string                 `protobuf:"bytes,7,opt,name=password,proto3" json:"password,omitempty"`
	Engine        string                 `protobuf:"bytes,8,opt,name=engine,proto3" json:"engine,omitempty"`
	MaxIdleConns  int32                  `protobuf:"varint,9,opt,name=max_idle_conns,json=maxIdleConns,proto3" json:"max_idle_conns,omitempty"`
	MaxOpenConns  int32                  `protobuf:"varint,10,opt,name=max_open_conns,json=maxOpenConns,proto3" json:"max_open_conns,omitempty"`
	LogMode       string                 `protobuf:"bytes,11,opt,name=log_mode,json=logMode,proto3" json:"log_mode,omitempty"`
	LogZap        bool                   `protobuf:"varint,12,opt,name=log_zap,json=logZap,proto3" json:"log_zap,omitempty"`
	Singular      bool                   `protobuf:"varint,13,opt,name=singular,proto3" json:"singular,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Mysql) Reset() {
	*x = Mysql{}
	mi := &file_conf_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Mysql) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Mysql) ProtoMessage() {}

func (x *Mysql) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Mysql.ProtoReflect.Descriptor instead.
func (*Mysql) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{6}
}

func (x *Mysql) GetPrefix() string {
	if x != nil {
		return x.Prefix
	}
	return ""
}

func (x *Mysql) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *Mysql) GetPort() string {
	if x != nil {
		return x.Port
	}
	return ""
}

func (x *Mysql) GetConfig() string {
	if x != nil {
		return x.Config
	}
	return ""
}

func (x *Mysql) GetDbName() string {
	if x != nil {
		return x.DbName
	}
	return ""
}

func (x *Mysql) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *Mysql) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *Mysql) GetEngine() string {
	if x != nil {
		return x.Engine
	}
	return ""
}

func (x *Mysql) GetMaxIdleConns() int32 {
	if x != nil {
		return x.MaxIdleConns
	}
	return 0
}

func (x *Mysql) GetMaxOpenConns() int32 {
	if x != nil {
		return x.MaxOpenConns
	}
	return 0
}

func (x *Mysql) GetLogMode() string {
	if x != nil {
		return x.LogMode
	}
	return ""
}

func (x *Mysql) GetLogZap() bool {
	if x != nil {
		return x.LogZap
	}
	return false
}

func (x *Mysql) GetSingular() bool {
	if x != nil {
		return x.Singular
	}
	return false
}

type Pgsql struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Prefix        string                 `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"`
	Path          string                 `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	Port          string                 `protobuf:"bytes,3,opt,name=port,proto3" json:"port,omitempty"`
	Config        string                 `protobuf:"bytes,4,opt,name=config,proto3" json:"config,omitempty"`
	DbName        string                 `protobuf:"bytes,5,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"`
	Username      string                 `protobuf:"bytes,6,opt,name=username,proto3" json:"username,omitempty"`
	Password      string                 `protobuf:"bytes,7,opt,name=password,proto3" json:"password,omitempty"`
	Engine        string                 `protobuf:"bytes,8,opt,name=engine,proto3" json:"engine,omitempty"`
	MaxIdleConns  int32                  `protobuf:"varint,9,opt,name=max_idle_conns,json=maxIdleConns,proto3" json:"max_idle_conns,omitempty"`
	MaxOpenConns  int32                  `protobuf:"varint,10,opt,name=max_open_conns,json=maxOpenConns,proto3" json:"max_open_conns,omitempty"`
	LogMode       string                 `protobuf:"bytes,11,opt,name=log_mode,json=logMode,proto3" json:"log_mode,omitempty"`
	LogZap        bool                   `protobuf:"varint,12,opt,name=log_zap,json=logZap,proto3" json:"log_zap,omitempty"`
	Singular      bool                   `protobuf:"varint,13,opt,name=singular,proto3" json:"singular,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Pgsql) Reset() {
	*x = Pgsql{}
	mi := &file_conf_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Pgsql) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Pgsql) ProtoMessage() {}

func (x *Pgsql) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Pgsql.ProtoReflect.Descriptor instead.
func (*Pgsql) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{7}
}

func (x *Pgsql) GetPrefix() string {
	if x != nil {
		return x.Prefix
	}
	return ""
}

func (x *Pgsql) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *Pgsql) GetPort() string {
	if x != nil {
		return x.Port
	}
	return ""
}

func (x *Pgsql) GetConfig() string {
	if x != nil {
		return x.Config
	}
	return ""
}

func (x *Pgsql) GetDbName() string {
	if x != nil {
		return x.DbName
	}
	return ""
}

func (x *Pgsql) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *Pgsql) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *Pgsql) GetEngine() string {
	if x != nil {
		return x.Engine
	}
	return ""
}

func (x *Pgsql) GetMaxIdleConns() int32 {
	if x != nil {
		return x.MaxIdleConns
	}
	return 0
}

func (x *Pgsql) GetMaxOpenConns() int32 {
	if x != nil {
		return x.MaxOpenConns
	}
	return 0
}

func (x *Pgsql) GetLogMode() string {
	if x != nil {
		return x.LogMode
	}
	return ""
}

func (x *Pgsql) GetLogZap() bool {
	if x != nil {
		return x.LogZap
	}
	return false
}

func (x *Pgsql) GetSingular() bool {
	if x != nil {
		return x.Singular
	}
	return false
}

type Sqlite struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Prefix        string                 `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"`
	Path          string                 `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	DbName        string                 `protobuf:"bytes,3,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"`
	Engine        string                 `protobuf:"bytes,4,opt,name=engine,proto3" json:"engine,omitempty"`
	MaxIdleConns  int32                  `protobuf:"varint,5,opt,name=max_idle_conns,json=maxIdleConns,proto3" json:"max_idle_conns,omitempty"`
	MaxOpenConns  int32                  `protobuf:"varint,6,opt,name=max_open_conns,json=maxOpenConns,proto3" json:"max_open_conns,omitempty"`
	LogMode       string                 `protobuf:"bytes,7,opt,name=log_mode,json=logMode,proto3" json:"log_mode,omitempty"`
	LogZap        bool                   `protobuf:"varint,8,opt,name=log_zap,json=logZap,proto3" json:"log_zap,omitempty"`
	Singular      bool                   `protobuf:"varint,9,opt,name=singular,proto3" json:"singular,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Sqlite) Reset() {
	*x = Sqlite{}
	mi := &file_conf_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Sqlite) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Sqlite) ProtoMessage() {}

func (x *Sqlite) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Sqlite.ProtoReflect.Descriptor instead.
func (*Sqlite) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{8}
}

func (x *Sqlite) GetPrefix() string {
	if x != nil {
		return x.Prefix
	}
	return ""
}

func (x *Sqlite) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *Sqlite) GetDbName() string {
	if x != nil {
		return x.DbName
	}
	return ""
}

func (x *Sqlite) GetEngine() string {
	if x != nil {
		return x.Engine
	}
	return ""
}

func (x *Sqlite) GetMaxIdleConns() int32 {
	if x != nil {
		return x.MaxIdleConns
	}
	return 0
}

func (x *Sqlite) GetMaxOpenConns() int32 {
	if x != nil {
		return x.MaxOpenConns
	}
	return 0
}

func (x *Sqlite) GetLogMode() string {
	if x != nil {
		return x.LogMode
	}
	return ""
}

func (x *Sqlite) GetLogZap() bool {
	if x != nil {
		return x.LogZap
	}
	return false
}

func (x *Sqlite) GetSingular() bool {
	if x != nil {
		return x.Singular
	}
	return false
}

type Mssql struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Prefix        string                 `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"`
	Path          string                 `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	Port          string                 `protobuf:"bytes,3,opt,name=port,proto3" json:"port,omitempty"`
	Config        string                 `protobuf:"bytes,4,opt,name=config,proto3" json:"config,omitempty"`
	DbName        string                 `protobuf:"bytes,5,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"`
	Username      string                 `protobuf:"bytes,6,opt,name=username,proto3" json:"username,omitempty"`
	Password      string                 `protobuf:"bytes,7,opt,name=password,proto3" json:"password,omitempty"`
	Engine        string                 `protobuf:"bytes,8,opt,name=engine,proto3" json:"engine,omitempty"`
	MaxIdleConns  int32                  `protobuf:"varint,9,opt,name=max_idle_conns,json=maxIdleConns,proto3" json:"max_idle_conns,omitempty"`
	MaxOpenConns  int32                  `protobuf:"varint,10,opt,name=max_open_conns,json=maxOpenConns,proto3" json:"max_open_conns,omitempty"`
	LogMode       string                 `protobuf:"bytes,11,opt,name=log_mode,json=logMode,proto3" json:"log_mode,omitempty"`
	LogZap        bool                   `protobuf:"varint,12,opt,name=log_zap,json=logZap,proto3" json:"log_zap,omitempty"`
	Singular      bool                   `protobuf:"varint,13,opt,name=singular,proto3" json:"singular,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Mssql) Reset() {
	*x = Mssql{}
	mi := &file_conf_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Mssql) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Mssql) ProtoMessage() {}

func (x *Mssql) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Mssql.ProtoReflect.Descriptor instead.
func (*Mssql) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{9}
}

func (x *Mssql) GetPrefix() string {
	if x != nil {
		return x.Prefix
	}
	return ""
}

func (x *Mssql) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *Mssql) GetPort() string {
	if x != nil {
		return x.Port
	}
	return ""
}

func (x *Mssql) GetConfig() string {
	if x != nil {
		return x.Config
	}
	return ""
}

func (x *Mssql) GetDbName() string {
	if x != nil {
		return x.DbName
	}
	return ""
}

func (x *Mssql) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *Mssql) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *Mssql) GetEngine() string {
	if x != nil {
		return x.Engine
	}
	return ""
}

func (x *Mssql) GetMaxIdleConns() int32 {
	if x != nil {
		return x.MaxIdleConns
	}
	return 0
}

func (x *Mssql) GetMaxOpenConns() int32 {
	if x != nil {
		return x.MaxOpenConns
	}
	return 0
}

func (x *Mssql) GetLogMode() string {
	if x != nil {
		return x.LogMode
	}
	return ""
}

func (x *Mssql) GetLogZap() bool {
	if x != nil {
		return x.LogZap
	}
	return false
}

func (x *Mssql) GetSingular() bool {
	if x != nil {
		return x.Singular
	}
	return false
}

type Oracle struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Prefix        string                 `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"`
	Path          string                 `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	Port          string                 `protobuf:"bytes,3,opt,name=port,proto3" json:"port,omitempty"`
	Config        string                 `protobuf:"bytes,4,opt,name=config,proto3" json:"config,omitempty"`
	DbName        string                 `protobuf:"bytes,5,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"`
	Username      string                 `protobuf:"bytes,6,opt,name=username,proto3" json:"username,omitempty"`
	Password      string                 `protobuf:"bytes,7,opt,name=password,proto3" json:"password,omitempty"`
	Engine        string                 `protobuf:"bytes,8,opt,name=engine,proto3" json:"engine,omitempty"`
	MaxIdleConns  int32                  `protobuf:"varint,9,opt,name=max_idle_conns,json=maxIdleConns,proto3" json:"max_idle_conns,omitempty"`
	MaxOpenConns  int32                  `protobuf:"varint,10,opt,name=max_open_conns,json=maxOpenConns,proto3" json:"max_open_conns,omitempty"`
	LogMode       string                 `protobuf:"bytes,11,opt,name=log_mode,json=logMode,proto3" json:"log_mode,omitempty"`
	LogZap        bool                   `protobuf:"varint,12,opt,name=log_zap,json=logZap,proto3" json:"log_zap,omitempty"`
	Singular      bool                   `protobuf:"varint,13,opt,name=singular,proto3" json:"singular,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Oracle) Reset() {
	*x = Oracle{}
	mi := &file_conf_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Oracle) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Oracle) ProtoMessage() {}

func (x *Oracle) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Oracle.ProtoReflect.Descriptor instead.
func (*Oracle) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{10}
}

func (x *Oracle) GetPrefix() string {
	if x != nil {
		return x.Prefix
	}
	return ""
}

func (x *Oracle) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *Oracle) GetPort() string {
	if x != nil {
		return x.Port
	}
	return ""
}

func (x *Oracle) GetConfig() string {
	if x != nil {
		return x.Config
	}
	return ""
}

func (x *Oracle) GetDbName() string {
	if x != nil {
		return x.DbName
	}
	return ""
}

func (x *Oracle) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *Oracle) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *Oracle) GetEngine() string {
	if x != nil {
		return x.Engine
	}
	return ""
}

func (x *Oracle) GetMaxIdleConns() int32 {
	if x != nil {
		return x.MaxIdleConns
	}
	return 0
}

func (x *Oracle) GetMaxOpenConns() int32 {
	if x != nil {
		return x.MaxOpenConns
	}
	return 0
}

func (x *Oracle) GetLogMode() string {
	if x != nil {
		return x.LogMode
	}
	return ""
}

func (x *Oracle) GetLogZap() bool {
	if x != nil {
		return x.LogZap
	}
	return false
}

func (x *Oracle) GetSingular() bool {
	if x != nil {
		return x.Singular
	}
	return false
}

// SpecializedDB for db-list configuration
type SpecializedDB struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Type          string                 `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	AliasName     string                 `protobuf:"bytes,2,opt,name=alias_name,json=aliasName,proto3" json:"alias_name,omitempty"`
	Prefix        string                 `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"`
	Port          string                 `protobuf:"bytes,4,opt,name=port,proto3" json:"port,omitempty"`
	Config        string                 `protobuf:"bytes,5,opt,name=config,proto3" json:"config,omitempty"`
	DbName        string                 `protobuf:"bytes,6,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"`
	Username      string                 `protobuf:"bytes,7,opt,name=username,proto3" json:"username,omitempty"`
	Password      string                 `protobuf:"bytes,8,opt,name=password,proto3" json:"password,omitempty"`
	Path          string                 `protobuf:"bytes,9,opt,name=path,proto3" json:"path,omitempty"`
	Engine        string                 `protobuf:"bytes,10,opt,name=engine,proto3" json:"engine,omitempty"`
	LogMode       string                 `protobuf:"bytes,11,opt,name=log_mode,json=logMode,proto3" json:"log_mode,omitempty"`
	MaxIdleConns  int32                  `protobuf:"varint,12,opt,name=max_idle_conns,json=maxIdleConns,proto3" json:"max_idle_conns,omitempty"`
	MaxOpenConns  int32                  `protobuf:"varint,13,opt,name=max_open_conns,json=maxOpenConns,proto3" json:"max_open_conns,omitempty"`
	Singular      bool                   `protobuf:"varint,14,opt,name=singular,proto3" json:"singular,omitempty"`
	LogZap        bool                   `protobuf:"varint,15,opt,name=log_zap,json=logZap,proto3" json:"log_zap,omitempty"`
	Disable       bool                   `protobuf:"varint,16,opt,name=disable,proto3" json:"disable,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SpecializedDB) Reset() {
	*x = SpecializedDB{}
	mi := &file_conf_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SpecializedDB) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SpecializedDB) ProtoMessage() {}

func (x *SpecializedDB) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[11]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SpecializedDB.ProtoReflect.Descriptor instead.
func (*SpecializedDB) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{11}
}

func (x *SpecializedDB) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *SpecializedDB) GetAliasName() string {
	if x != nil {
		return x.AliasName
	}
	return ""
}

func (x *SpecializedDB) GetPrefix() string {
	if x != nil {
		return x.Prefix
	}
	return ""
}

func (x *SpecializedDB) GetPort() string {
	if x != nil {
		return x.Port
	}
	return ""
}

func (x *SpecializedDB) GetConfig() string {
	if x != nil {
		return x.Config
	}
	return ""
}

func (x *SpecializedDB) GetDbName() string {
	if x != nil {
		return x.DbName
	}
	return ""
}

func (x *SpecializedDB) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *SpecializedDB) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *SpecializedDB) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *SpecializedDB) GetEngine() string {
	if x != nil {
		return x.Engine
	}
	return ""
}

func (x *SpecializedDB) GetLogMode() string {
	if x != nil {
		return x.LogMode
	}
	return ""
}

func (x *SpecializedDB) GetMaxIdleConns() int32 {
	if x != nil {
		return x.MaxIdleConns
	}
	return 0
}

func (x *SpecializedDB) GetMaxOpenConns() int32 {
	if x != nil {
		return x.MaxOpenConns
	}
	return 0
}

func (x *SpecializedDB) GetSingular() bool {
	if x != nil {
		return x.Singular
	}
	return false
}

func (x *SpecializedDB) GetLogZap() bool {
	if x != nil {
		return x.LogZap
	}
	return false
}

func (x *SpecializedDB) GetDisable() bool {
	if x != nil {
		return x.Disable
	}
	return false
}

type Redis struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	UseCluster    bool                   `protobuf:"varint,2,opt,name=use_cluster,json=useCluster,proto3" json:"use_cluster,omitempty"`
	Addr          string                 `protobuf:"bytes,3,opt,name=addr,proto3" json:"addr,omitempty"`
	Password      string                 `protobuf:"bytes,4,opt,name=password,proto3" json:"password,omitempty"`
	Db            int32                  `protobuf:"varint,5,opt,name=db,proto3" json:"db,omitempty"`
	ClusterAddrs  []string               `protobuf:"bytes,6,rep,name=cluster_addrs,json=clusterAddrs,proto3" json:"cluster_addrs,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Redis) Reset() {
	*x = Redis{}
	mi := &file_conf_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Redis) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Redis) ProtoMessage() {}

func (x *Redis) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[12]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Redis.ProtoReflect.Descriptor instead.
func (*Redis) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{12}
}

func (x *Redis) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Redis) GetUseCluster() bool {
	if x != nil {
		return x.UseCluster
	}
	return false
}

func (x *Redis) GetAddr() string {
	if x != nil {
		return x.Addr
	}
	return ""
}

func (x *Redis) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *Redis) GetDb() int32 {
	if x != nil {
		return x.Db
	}
	return 0
}

func (x *Redis) GetClusterAddrs() []string {
	if x != nil {
		return x.ClusterAddrs
	}
	return nil
}

type Mongo struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	Coll             string                 `protobuf:"bytes,1,opt,name=coll,proto3" json:"coll,omitempty"`
	Options          string                 `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"`
	Database         string                 `protobuf:"bytes,3,opt,name=database,proto3" json:"database,omitempty"`
	Username         string                 `protobuf:"bytes,4,opt,name=username,proto3" json:"username,omitempty"`
	Password         string                 `protobuf:"bytes,5,opt,name=password,proto3" json:"password,omitempty"`
	AuthSource       string                 `protobuf:"bytes,6,opt,name=auth_source,json=authSource,proto3" json:"auth_source,omitempty"`
	MinPoolSize      uint64                 `protobuf:"varint,7,opt,name=min_pool_size,json=minPoolSize,proto3" json:"min_pool_size,omitempty"`
	MaxPoolSize      uint64                 `protobuf:"varint,8,opt,name=max_pool_size,json=maxPoolSize,proto3" json:"max_pool_size,omitempty"`
	SocketTimeoutMs  int64                  `protobuf:"varint,9,opt,name=socket_timeout_ms,json=socketTimeoutMs,proto3" json:"socket_timeout_ms,omitempty"`
	ConnectTimeoutMs int64                  `protobuf:"varint,10,opt,name=connect_timeout_ms,json=connectTimeoutMs,proto3" json:"connect_timeout_ms,omitempty"`
	IsZap            bool                   `protobuf:"varint,11,opt,name=is_zap,json=isZap,proto3" json:"is_zap,omitempty"`
	Hosts            []*MongoHost           `protobuf:"bytes,12,rep,name=hosts,proto3" json:"hosts,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *Mongo) Reset() {
	*x = Mongo{}
	mi := &file_conf_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Mongo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Mongo) ProtoMessage() {}

func (x *Mongo) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[13]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Mongo.ProtoReflect.Descriptor instead.
func (*Mongo) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{13}
}

func (x *Mongo) GetColl() string {
	if x != nil {
		return x.Coll
	}
	return ""
}

func (x *Mongo) GetOptions() string {
	if x != nil {
		return x.Options
	}
	return ""
}

func (x *Mongo) GetDatabase() string {
	if x != nil {
		return x.Database
	}
	return ""
}

func (x *Mongo) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *Mongo) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *Mongo) GetAuthSource() string {
	if x != nil {
		return x.AuthSource
	}
	return ""
}

func (x *Mongo) GetMinPoolSize() uint64 {
	if x != nil {
		return x.MinPoolSize
	}
	return 0
}

func (x *Mongo) GetMaxPoolSize() uint64 {
	if x != nil {
		return x.MaxPoolSize
	}
	return 0
}

func (x *Mongo) GetSocketTimeoutMs() int64 {
	if x != nil {
		return x.SocketTimeoutMs
	}
	return 0
}

func (x *Mongo) GetConnectTimeoutMs() int64 {
	if x != nil {
		return x.ConnectTimeoutMs
	}
	return 0
}

func (x *Mongo) GetIsZap() bool {
	if x != nil {
		return x.IsZap
	}
	return false
}

func (x *Mongo) GetHosts() []*MongoHost {
	if x != nil {
		return x.Hosts
	}
	return nil
}

type MongoHost struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Host          string                 `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
	Port          string                 `protobuf:"bytes,2,opt,name=port,proto3" json:"port,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MongoHost) Reset() {
	*x = MongoHost{}
	mi := &file_conf_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MongoHost) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MongoHost) ProtoMessage() {}

func (x *MongoHost) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[14]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MongoHost.ProtoReflect.Descriptor instead.
func (*MongoHost) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{14}
}

func (x *MongoHost) GetHost() string {
	if x != nil {
		return x.Host
	}
	return ""
}

func (x *MongoHost) GetPort() string {
	if x != nil {
		return x.Port
	}
	return ""
}

type Local struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Path          string                 `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
	StorePath     string                 `protobuf:"bytes,2,opt,name=store_path,json=storePath,proto3" json:"store_path,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Local) Reset() {
	*x = Local{}
	mi := &file_conf_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Local) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Local) ProtoMessage() {}

func (x *Local) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[15]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Local.ProtoReflect.Descriptor instead.
func (*Local) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{15}
}

func (x *Local) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *Local) GetStorePath() string {
	if x != nil {
		return x.StorePath
	}
	return ""
}

type Qiniu struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Zone          string                 `protobuf:"bytes,1,opt,name=zone,proto3" json:"zone,omitempty"`
	Bucket        string                 `protobuf:"bytes,2,opt,name=bucket,proto3" json:"bucket,omitempty"`
	ImgPath       string                 `protobuf:"bytes,3,opt,name=img_path,json=imgPath,proto3" json:"img_path,omitempty"`
	UseHttps      bool                   `protobuf:"varint,4,opt,name=use_https,json=useHttps,proto3" json:"use_https,omitempty"`
	AccessKey     string                 `protobuf:"bytes,5,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"`
	SecretKey     string                 `protobuf:"bytes,6,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"`
	UseCdnDomains bool                   `protobuf:"varint,7,opt,name=use_cdn_domains,json=useCdnDomains,proto3" json:"use_cdn_domains,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Qiniu) Reset() {
	*x = Qiniu{}
	mi := &file_conf_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Qiniu) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Qiniu) ProtoMessage() {}

func (x *Qiniu) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[16]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Qiniu.ProtoReflect.Descriptor instead.
func (*Qiniu) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{16}
}

func (x *Qiniu) GetZone() string {
	if x != nil {
		return x.Zone
	}
	return ""
}

func (x *Qiniu) GetBucket() string {
	if x != nil {
		return x.Bucket
	}
	return ""
}

func (x *Qiniu) GetImgPath() string {
	if x != nil {
		return x.ImgPath
	}
	return ""
}

func (x *Qiniu) GetUseHttps() bool {
	if x != nil {
		return x.UseHttps
	}
	return false
}

func (x *Qiniu) GetAccessKey() string {
	if x != nil {
		return x.AccessKey
	}
	return ""
}

func (x *Qiniu) GetSecretKey() string {
	if x != nil {
		return x.SecretKey
	}
	return ""
}

func (x *Qiniu) GetUseCdnDomains() bool {
	if x != nil {
		return x.UseCdnDomains
	}
	return false
}

type Minio struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Endpoint        string                 `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	AccessKeyId     string                 `protobuf:"bytes,2,opt,name=access_key_id,json=accessKeyId,proto3" json:"access_key_id,omitempty"`
	AccessKeySecret string                 `protobuf:"bytes,3,opt,name=access_key_secret,json=accessKeySecret,proto3" json:"access_key_secret,omitempty"`
	BucketName      string                 `protobuf:"bytes,4,opt,name=bucket_name,json=bucketName,proto3" json:"bucket_name,omitempty"`
	UseSsl          bool                   `protobuf:"varint,5,opt,name=use_ssl,json=useSsl,proto3" json:"use_ssl,omitempty"`
	BasePath        string                 `protobuf:"bytes,6,opt,name=base_path,json=basePath,proto3" json:"base_path,omitempty"`
	BucketUrl       string                 `protobuf:"bytes,7,opt,name=bucket_url,json=bucketUrl,proto3" json:"bucket_url,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *Minio) Reset() {
	*x = Minio{}
	mi := &file_conf_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Minio) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Minio) ProtoMessage() {}

func (x *Minio) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[17]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Minio.ProtoReflect.Descriptor instead.
func (*Minio) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{17}
}

func (x *Minio) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

func (x *Minio) GetAccessKeyId() string {
	if x != nil {
		return x.AccessKeyId
	}
	return ""
}

func (x *Minio) GetAccessKeySecret() string {
	if x != nil {
		return x.AccessKeySecret
	}
	return ""
}

func (x *Minio) GetBucketName() string {
	if x != nil {
		return x.BucketName
	}
	return ""
}

func (x *Minio) GetUseSsl() bool {
	if x != nil {
		return x.UseSsl
	}
	return false
}

func (x *Minio) GetBasePath() string {
	if x != nil {
		return x.BasePath
	}
	return ""
}

func (x *Minio) GetBucketUrl() string {
	if x != nil {
		return x.BucketUrl
	}
	return ""
}

type AliyunOss struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Endpoint        string                 `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	AccessKeyId     string                 `protobuf:"bytes,2,opt,name=access_key_id,json=accessKeyId,proto3" json:"access_key_id,omitempty"`
	AccessKeySecret string                 `protobuf:"bytes,3,opt,name=access_key_secret,json=accessKeySecret,proto3" json:"access_key_secret,omitempty"`
	BucketName      string                 `protobuf:"bytes,4,opt,name=bucket_name,json=bucketName,proto3" json:"bucket_name,omitempty"`
	BucketUrl       string                 `protobuf:"bytes,5,opt,name=bucket_url,json=bucketUrl,proto3" json:"bucket_url,omitempty"`
	BasePath        string                 `protobuf:"bytes,6,opt,name=base_path,json=basePath,proto3" json:"base_path,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *AliyunOss) Reset() {
	*x = AliyunOss{}
	mi := &file_conf_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AliyunOss) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AliyunOss) ProtoMessage() {}

func (x *AliyunOss) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[18]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AliyunOss.ProtoReflect.Descriptor instead.
func (*AliyunOss) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{18}
}

func (x *AliyunOss) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

func (x *AliyunOss) GetAccessKeyId() string {
	if x != nil {
		return x.AccessKeyId
	}
	return ""
}

func (x *AliyunOss) GetAccessKeySecret() string {
	if x != nil {
		return x.AccessKeySecret
	}
	return ""
}

func (x *AliyunOss) GetBucketName() string {
	if x != nil {
		return x.BucketName
	}
	return ""
}

func (x *AliyunOss) GetBucketUrl() string {
	if x != nil {
		return x.BucketUrl
	}
	return ""
}

func (x *AliyunOss) GetBasePath() string {
	if x != nil {
		return x.BasePath
	}
	return ""
}

type TencentCos struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Bucket        string                 `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"`
	Region        string                 `protobuf:"bytes,2,opt,name=region,proto3" json:"region,omitempty"`
	SecretId      string                 `protobuf:"bytes,3,opt,name=secret_id,json=secretId,proto3" json:"secret_id,omitempty"`
	SecretKey     string                 `protobuf:"bytes,4,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"`
	BaseUrl       string                 `protobuf:"bytes,5,opt,name=base_url,json=baseUrl,proto3" json:"base_url,omitempty"`
	PathPrefix    string                 `protobuf:"bytes,6,opt,name=path_prefix,json=pathPrefix,proto3" json:"path_prefix,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TencentCos) Reset() {
	*x = TencentCos{}
	mi := &file_conf_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TencentCos) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TencentCos) ProtoMessage() {}

func (x *TencentCos) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[19]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TencentCos.ProtoReflect.Descriptor instead.
func (*TencentCos) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{19}
}

func (x *TencentCos) GetBucket() string {
	if x != nil {
		return x.Bucket
	}
	return ""
}

func (x *TencentCos) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

func (x *TencentCos) GetSecretId() string {
	if x != nil {
		return x.SecretId
	}
	return ""
}

func (x *TencentCos) GetSecretKey() string {
	if x != nil {
		return x.SecretKey
	}
	return ""
}

func (x *TencentCos) GetBaseUrl() string {
	if x != nil {
		return x.BaseUrl
	}
	return ""
}

func (x *TencentCos) GetPathPrefix() string {
	if x != nil {
		return x.PathPrefix
	}
	return ""
}

type AwsS3 struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	Bucket           string                 `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"`
	Region           string                 `protobuf:"bytes,2,opt,name=region,proto3" json:"region,omitempty"`
	Endpoint         string                 `protobuf:"bytes,3,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	S3ForcePathStyle bool                   `protobuf:"varint,4,opt,name=s3_force_path_style,json=s3ForcePathStyle,proto3" json:"s3_force_path_style,omitempty"`
	DisableSsl       bool                   `protobuf:"varint,5,opt,name=disable_ssl,json=disableSsl,proto3" json:"disable_ssl,omitempty"`
	SecretId         string                 `protobuf:"bytes,6,opt,name=secret_id,json=secretId,proto3" json:"secret_id,omitempty"`
	SecretKey        string                 `protobuf:"bytes,7,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"`
	BaseUrl          string                 `protobuf:"bytes,8,opt,name=base_url,json=baseUrl,proto3" json:"base_url,omitempty"`
	PathPrefix       string                 `protobuf:"bytes,9,opt,name=path_prefix,json=pathPrefix,proto3" json:"path_prefix,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *AwsS3) Reset() {
	*x = AwsS3{}
	mi := &file_conf_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AwsS3) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AwsS3) ProtoMessage() {}

func (x *AwsS3) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[20]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AwsS3.ProtoReflect.Descriptor instead.
func (*AwsS3) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{20}
}

func (x *AwsS3) GetBucket() string {
	if x != nil {
		return x.Bucket
	}
	return ""
}

func (x *AwsS3) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

func (x *AwsS3) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

func (x *AwsS3) GetS3ForcePathStyle() bool {
	if x != nil {
		return x.S3ForcePathStyle
	}
	return false
}

func (x *AwsS3) GetDisableSsl() bool {
	if x != nil {
		return x.DisableSsl
	}
	return false
}

func (x *AwsS3) GetSecretId() string {
	if x != nil {
		return x.SecretId
	}
	return ""
}

func (x *AwsS3) GetSecretKey() string {
	if x != nil {
		return x.SecretKey
	}
	return ""
}

func (x *AwsS3) GetBaseUrl() string {
	if x != nil {
		return x.BaseUrl
	}
	return ""
}

func (x *AwsS3) GetPathPrefix() string {
	if x != nil {
		return x.PathPrefix
	}
	return ""
}

type CloudflareR2 struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Bucket          string                 `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"`
	BaseUrl         string                 `protobuf:"bytes,2,opt,name=base_url,json=baseUrl,proto3" json:"base_url,omitempty"`
	Path            string                 `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"`
	AccountId       string                 `protobuf:"bytes,4,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
	AccessKeyId     string                 `protobuf:"bytes,5,opt,name=access_key_id,json=accessKeyId,proto3" json:"access_key_id,omitempty"`
	SecretAccessKey string                 `protobuf:"bytes,6,opt,name=secret_access_key,json=secretAccessKey,proto3" json:"secret_access_key,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *CloudflareR2) Reset() {
	*x = CloudflareR2{}
	mi := &file_conf_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CloudflareR2) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CloudflareR2) ProtoMessage() {}

func (x *CloudflareR2) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[21]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CloudflareR2.ProtoReflect.Descriptor instead.
func (*CloudflareR2) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{21}
}

func (x *CloudflareR2) GetBucket() string {
	if x != nil {
		return x.Bucket
	}
	return ""
}

func (x *CloudflareR2) GetBaseUrl() string {
	if x != nil {
		return x.BaseUrl
	}
	return ""
}

func (x *CloudflareR2) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *CloudflareR2) GetAccountId() string {
	if x != nil {
		return x.AccountId
	}
	return ""
}

func (x *CloudflareR2) GetAccessKeyId() string {
	if x != nil {
		return x.AccessKeyId
	}
	return ""
}

func (x *CloudflareR2) GetSecretAccessKey() string {
	if x != nil {
		return x.SecretAccessKey
	}
	return ""
}

type HuaweiObs struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Path          string                 `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
	Bucket        string                 `protobuf:"bytes,2,opt,name=bucket,proto3" json:"bucket,omitempty"`
	Endpoint      string                 `protobuf:"bytes,3,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	AccessKey     string                 `protobuf:"bytes,4,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"`
	SecretKey     string                 `protobuf:"bytes,5,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *HuaweiObs) Reset() {
	*x = HuaweiObs{}
	mi := &file_conf_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *HuaweiObs) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*HuaweiObs) ProtoMessage() {}

func (x *HuaweiObs) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[22]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use HuaweiObs.ProtoReflect.Descriptor instead.
func (*HuaweiObs) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{22}
}

func (x *HuaweiObs) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *HuaweiObs) GetBucket() string {
	if x != nil {
		return x.Bucket
	}
	return ""
}

func (x *HuaweiObs) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

func (x *HuaweiObs) GetAccessKey() string {
	if x != nil {
		return x.AccessKey
	}
	return ""
}

func (x *HuaweiObs) GetSecretKey() string {
	if x != nil {
		return x.SecretKey
	}
	return ""
}

type Email struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	To            string                 `protobuf:"bytes,1,opt,name=to,proto3" json:"to,omitempty"`
	Port          int32                  `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	From          string                 `protobuf:"bytes,3,opt,name=from,proto3" json:"from,omitempty"`
	Host          string                 `protobuf:"bytes,4,opt,name=host,proto3" json:"host,omitempty"`
	IsSsl         bool                   `protobuf:"varint,5,opt,name=is_ssl,json=isSsl,proto3" json:"is_ssl,omitempty"`
	Secret        string                 `protobuf:"bytes,6,opt,name=secret,proto3" json:"secret,omitempty"`
	Nickname      string                 `protobuf:"bytes,7,opt,name=nickname,proto3" json:"nickname,omitempty"`
	IsLoginAuth   bool                   `protobuf:"varint,8,opt,name=is_login_auth,json=isLoginAuth,proto3" json:"is_login_auth,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Email) Reset() {
	*x = Email{}
	mi := &file_conf_proto_msgTypes[23]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Email) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Email) ProtoMessage() {}

func (x *Email) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[23]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Email.ProtoReflect.Descriptor instead.
func (*Email) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{23}
}

func (x *Email) GetTo() string {
	if x != nil {
		return x.To
	}
	return ""
}

func (x *Email) GetPort() int32 {
	if x != nil {
		return x.Port
	}
	return 0
}

func (x *Email) GetFrom() string {
	if x != nil {
		return x.From
	}
	return ""
}

func (x *Email) GetHost() string {
	if x != nil {
		return x.Host
	}
	return ""
}

func (x *Email) GetIsSsl() bool {
	if x != nil {
		return x.IsSsl
	}
	return false
}

func (x *Email) GetSecret() string {
	if x != nil {
		return x.Secret
	}
	return ""
}

func (x *Email) GetNickname() string {
	if x != nil {
		return x.Nickname
	}
	return ""
}

func (x *Email) GetIsLoginAuth() bool {
	if x != nil {
		return x.IsLoginAuth
	}
	return false
}

type Excel struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Dir           string                 `protobuf:"bytes,1,opt,name=dir,proto3" json:"dir,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Excel) Reset() {
	*x = Excel{}
	mi := &file_conf_proto_msgTypes[24]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Excel) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Excel) ProtoMessage() {}

func (x *Excel) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[24]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Excel.ProtoReflect.Descriptor instead.
func (*Excel) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{24}
}

func (x *Excel) GetDir() string {
	if x != nil {
		return x.Dir
	}
	return ""
}

type Cors struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Mode          string                 `protobuf:"bytes,1,opt,name=mode,proto3" json:"mode,omitempty"`
	Whitelist     []*CorsWhitelist       `protobuf:"bytes,2,rep,name=whitelist,proto3" json:"whitelist,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Cors) Reset() {
	*x = Cors{}
	mi := &file_conf_proto_msgTypes[25]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Cors) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Cors) ProtoMessage() {}

func (x *Cors) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[25]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Cors.ProtoReflect.Descriptor instead.
func (*Cors) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{25}
}

func (x *Cors) GetMode() string {
	if x != nil {
		return x.Mode
	}
	return ""
}

func (x *Cors) GetWhitelist() []*CorsWhitelist {
	if x != nil {
		return x.Whitelist
	}
	return nil
}

type CorsWhitelist struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	AllowOrigin      string                 `protobuf:"bytes,1,opt,name=allow_origin,json=allowOrigin,proto3" json:"allow_origin,omitempty"`
	AllowHeaders     string                 `protobuf:"bytes,2,opt,name=allow_headers,json=allowHeaders,proto3" json:"allow_headers,omitempty"`
	AllowMethods     string                 `protobuf:"bytes,3,opt,name=allow_methods,json=allowMethods,proto3" json:"allow_methods,omitempty"`
	ExposeHeaders    string                 `protobuf:"bytes,4,opt,name=expose_headers,json=exposeHeaders,proto3" json:"expose_headers,omitempty"`
	AllowCredentials bool                   `protobuf:"varint,5,opt,name=allow_credentials,json=allowCredentials,proto3" json:"allow_credentials,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *CorsWhitelist) Reset() {
	*x = CorsWhitelist{}
	mi := &file_conf_proto_msgTypes[26]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CorsWhitelist) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CorsWhitelist) ProtoMessage() {}

func (x *CorsWhitelist) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[26]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CorsWhitelist.ProtoReflect.Descriptor instead.
func (*CorsWhitelist) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{26}
}

func (x *CorsWhitelist) GetAllowOrigin() string {
	if x != nil {
		return x.AllowOrigin
	}
	return ""
}

func (x *CorsWhitelist) GetAllowHeaders() string {
	if x != nil {
		return x.AllowHeaders
	}
	return ""
}

func (x *CorsWhitelist) GetAllowMethods() string {
	if x != nil {
		return x.AllowMethods
	}
	return ""
}

func (x *CorsWhitelist) GetExposeHeaders() string {
	if x != nil {
		return x.ExposeHeaders
	}
	return ""
}

func (x *CorsWhitelist) GetAllowCredentials() bool {
	if x != nil {
		return x.AllowCredentials
	}
	return false
}

type Zap struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Level         string                 `protobuf:"bytes,1,opt,name=level,proto3" json:"level,omitempty"`
	Format        string                 `protobuf:"bytes,2,opt,name=format,proto3" json:"format,omitempty"`
	Prefix        string                 `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"`
	Director      string                 `protobuf:"bytes,4,opt,name=director,proto3" json:"director,omitempty"`
	ShowLine      bool                   `protobuf:"varint,5,opt,name=show_line,json=showLine,proto3" json:"show_line,omitempty"`
	EncodeLevel   string                 `protobuf:"bytes,6,opt,name=encode_level,json=encodeLevel,proto3" json:"encode_level,omitempty"`
	StacktraceKey string                 `protobuf:"bytes,7,opt,name=stacktrace_key,json=stacktraceKey,proto3" json:"stacktrace_key,omitempty"`
	LogInConsole  bool                   `protobuf:"varint,8,opt,name=log_in_console,json=logInConsole,proto3" json:"log_in_console,omitempty"`
	RetentionDay  int32                  `protobuf:"varint,9,opt,name=retention_day,json=retentionDay,proto3" json:"retention_day,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Zap) Reset() {
	*x = Zap{}
	mi := &file_conf_proto_msgTypes[27]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Zap) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Zap) ProtoMessage() {}

func (x *Zap) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[27]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Zap.ProtoReflect.Descriptor instead.
func (*Zap) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{27}
}

func (x *Zap) GetLevel() string {
	if x != nil {
		return x.Level
	}
	return ""
}

func (x *Zap) GetFormat() string {
	if x != nil {
		return x.Format
	}
	return ""
}

func (x *Zap) GetPrefix() string {
	if x != nil {
		return x.Prefix
	}
	return ""
}

func (x *Zap) GetDirector() string {
	if x != nil {
		return x.Director
	}
	return ""
}

func (x *Zap) GetShowLine() bool {
	if x != nil {
		return x.ShowLine
	}
	return false
}

func (x *Zap) GetEncodeLevel() string {
	if x != nil {
		return x.EncodeLevel
	}
	return ""
}

func (x *Zap) GetStacktraceKey() string {
	if x != nil {
		return x.StacktraceKey
	}
	return ""
}

func (x *Zap) GetLogInConsole() bool {
	if x != nil {
		return x.LogInConsole
	}
	return false
}

func (x *Zap) GetRetentionDay() int32 {
	if x != nil {
		return x.RetentionDay
	}
	return 0
}

type Autocode struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Web           string                 `protobuf:"bytes,1,opt,name=web,proto3" json:"web,omitempty"`
	Root          string                 `protobuf:"bytes,2,opt,name=root,proto3" json:"root,omitempty"`
	Server        string                 `protobuf:"bytes,3,opt,name=server,proto3" json:"server,omitempty"`
	Module        string                 `protobuf:"bytes,4,opt,name=module,proto3" json:"module,omitempty"`
	AiPath        string                 `protobuf:"bytes,5,opt,name=ai_path,json=aiPath,proto3" json:"ai_path,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Autocode) Reset() {
	*x = Autocode{}
	mi := &file_conf_proto_msgTypes[28]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Autocode) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Autocode) ProtoMessage() {}

func (x *Autocode) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[28]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Autocode.ProtoReflect.Descriptor instead.
func (*Autocode) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{28}
}

func (x *Autocode) GetWeb() string {
	if x != nil {
		return x.Web
	}
	return ""
}

func (x *Autocode) GetRoot() string {
	if x != nil {
		return x.Root
	}
	return ""
}

func (x *Autocode) GetServer() string {
	if x != nil {
		return x.Server
	}
	return ""
}

func (x *Autocode) GetModule() string {
	if x != nil {
		return x.Module
	}
	return ""
}

func (x *Autocode) GetAiPath() string {
	if x != nil {
		return x.AiPath
	}
	return ""
}

type MCP struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Version       string                 `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	SsePath       string                 `protobuf:"bytes,3,opt,name=sse_path,json=ssePath,proto3" json:"sse_path,omitempty"`
	MessagePath   string                 `protobuf:"bytes,4,opt,name=message_path,json=messagePath,proto3" json:"message_path,omitempty"`
	UrlPrefix     string                 `protobuf:"bytes,5,opt,name=url_prefix,json=urlPrefix,proto3" json:"url_prefix,omitempty"`
	Addr          int32                  `protobuf:"varint,6,opt,name=addr,proto3" json:"addr,omitempty"`
	Separate      bool                   `protobuf:"varint,7,opt,name=separate,proto3" json:"separate,omitempty"`
	Enabled       bool                   `protobuf:"varint,8,opt,name=enabled,proto3" json:"enabled,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MCP) Reset() {
	*x = MCP{}
	mi := &file_conf_proto_msgTypes[29]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MCP) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MCP) ProtoMessage() {}

func (x *MCP) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[29]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MCP.ProtoReflect.Descriptor instead.
func (*MCP) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{29}
}

func (x *MCP) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *MCP) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

func (x *MCP) GetSsePath() string {
	if x != nil {
		return x.SsePath
	}
	return ""
}

func (x *MCP) GetMessagePath() string {
	if x != nil {
		return x.MessagePath
	}
	return ""
}

func (x *MCP) GetUrlPrefix() string {
	if x != nil {
		return x.UrlPrefix
	}
	return ""
}

func (x *MCP) GetAddr() int32 {
	if x != nil {
		return x.Addr
	}
	return 0
}

func (x *MCP) GetSeparate() bool {
	if x != nil {
		return x.Separate
	}
	return false
}

func (x *MCP) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

type DiskList struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	MountPoint    string                 `protobuf:"bytes,1,opt,name=mount_point,json=mountPoint,proto3" json:"mount_point,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DiskList) Reset() {
	*x = DiskList{}
	mi := &file_conf_proto_msgTypes[30]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DiskList) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DiskList) ProtoMessage() {}

func (x *DiskList) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[30]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DiskList.ProtoReflect.Descriptor instead.
func (*DiskList) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{30}
}

func (x *DiskList) GetMountPoint() string {
	if x != nil {
		return x.MountPoint
	}
	return ""
}

type Server_HTTP struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Network       string                 `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty"`
	Addr          string                 `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"`
	Timeout       *durationpb.Duration   `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Server_HTTP) Reset() {
	*x = Server_HTTP{}
	mi := &file_conf_proto_msgTypes[31]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Server_HTTP) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Server_HTTP) ProtoMessage() {}

func (x *Server_HTTP) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[31]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Server_HTTP.ProtoReflect.Descriptor instead.
func (*Server_HTTP) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{1, 0}
}

func (x *Server_HTTP) GetNetwork() string {
	if x != nil {
		return x.Network
	}
	return ""
}

func (x *Server_HTTP) GetAddr() string {
	if x != nil {
		return x.Addr
	}
	return ""
}

func (x *Server_HTTP) GetTimeout() *durationpb.Duration {
	if x != nil {
		return x.Timeout
	}
	return nil
}

type Server_GRPC struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Network       string                 `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty"`
	Addr          string                 `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"`
	Timeout       *durationpb.Duration   `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Server_GRPC) Reset() {
	*x = Server_GRPC{}
	mi := &file_conf_proto_msgTypes[32]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Server_GRPC) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Server_GRPC) ProtoMessage() {}

func (x *Server_GRPC) ProtoReflect() protoreflect.Message {
	mi := &file_conf_proto_msgTypes[32]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Server_GRPC.ProtoReflect.Descriptor instead.
func (*Server_GRPC) Descriptor() ([]byte, []int) {
	return file_conf_proto_rawDescGZIP(), []int{1, 1}
}

func (x *Server_GRPC) GetNetwork() string {
	if x != nil {
		return x.Network
	}
	return ""
}

func (x *Server_GRPC) GetAddr() string {
	if x != nil {
		return x.Addr
	}
	return ""
}

func (x *Server_GRPC) GetTimeout() *durationpb.Duration {
	if x != nil {
		return x.Timeout
	}
	return nil
}

var File_conf_proto protoreflect.FileDescriptor

const file_conf_proto_rawDesc = "" +
	"\n" +
	"\n" +
	"conf.proto\x12\n" +
	"kratos.api\x1a\x1egoogle/protobuf/duration.proto\"\xec\t\n" +
	"\tBootstrap\x12*\n" +
	"\x06server\x18\x01 \x01(\v2\x12.kratos.api.ServerR\x06server\x12!\n" +
	"\x03jwt\x18\x02 \x01(\v2\x0f.kratos.api.JWTR\x03jwt\x12*\n" +
	"\x06system\x18\x03 \x01(\v2\x12.kratos.api.SystemR\x06system\x12-\n" +
	"\acaptcha\x18\x04 \x01(\v2\x13.kratos.api.CaptchaR\acaptcha\x12'\n" +
	"\x05mysql\x18\x05 \x01(\v2\x11.kratos.api.MysqlR\x05mysql\x12'\n" +
	"\x05pgsql\x18\x06 \x01(\v2\x11.kratos.api.PgsqlR\x05pgsql\x12*\n" +
	"\x06sqlite\x18\a \x01(\v2\x12.kratos.api.SqliteR\x06sqlite\x12'\n" +
	"\x05redis\x18\b \x01(\v2\x11.kratos.api.RedisR\x05redis\x12'\n" +
	"\x05local\x18\t \x01(\v2\x11.kratos.api.LocalR\x05local\x12'\n" +
	"\x05qiniu\x18\n" +
	" \x01(\v2\x11.kratos.api.QiniuR\x05qiniu\x12'\n" +
	"\x05minio\x18\v \x01(\v2\x11.kratos.api.MinioR\x05minio\x124\n" +
	"\n" +
	"aliyun_oss\x18\f \x01(\v2\x15.kratos.api.AliyunOssR\taliyunOss\x127\n" +
	"\vtencent_cos\x18\r \x01(\v2\x16.kratos.api.TencentCosR\n" +
	"tencentCos\x12(\n" +
	"\x06aws_s3\x18\x0e \x01(\v2\x11.kratos.api.AwsS3R\x05awsS3\x12=\n" +
	"\rcloudflare_r2\x18\x0f \x01(\v2\x18.kratos.api.CloudflareR2R\fcloudflareR2\x124\n" +
	"\n" +
	"huawei_obs\x18\x10 \x01(\v2\x15.kratos.api.HuaweiObsR\thuaweiObs\x12'\n" +
	"\x05email\x18\x11 \x01(\v2\x11.kratos.api.EmailR\x05email\x12'\n" +
	"\x05excel\x18\x12 \x01(\v2\x11.kratos.api.ExcelR\x05excel\x12$\n" +
	"\x04cors\x18\x13 \x01(\v2\x10.kratos.api.CorsR\x04cors\x12!\n" +
	"\x03zap\x18\x14 \x01(\v2\x0f.kratos.api.ZapR\x03zap\x12!\n" +
	"\x03mcp\x18\x15 \x01(\v2\x0f.kratos.api.MCPR\x03mcp\x120\n" +
	"\bautocode\x18\x16 \x01(\v2\x14.kratos.api.AutocodeR\bautocode\x12'\n" +
	"\x05mssql\x18\x17 \x01(\v2\x11.kratos.api.MssqlR\x05mssql\x12*\n" +
	"\x06oracle\x18\x18 \x01(\v2\x12.kratos.api.OracleR\x06oracle\x12'\n" +
	"\x05mongo\x18\x19 \x01(\v2\x11.kratos.api.MongoR\x05mongo\x122\n" +
	"\adb_list\x18\x1a \x03(\v2\x19.kratos.api.SpecializedDBR\x06dbList\x120\n" +
	"\n" +
	"redis_list\x18\x1b \x03(\v2\x11.kratos.api.RedisR\tredisList\x121\n" +
	"\tdisk_list\x18\x1c \x03(\v2\x14.kratos.api.DiskListR\bdiskList\"\xb8\x02\n" +
	"\x06Server\x12+\n" +
	"\x04http\x18\x01 \x01(\v2\x17.kratos.api.Server.HTTPR\x04http\x12+\n" +
	"\x04grpc\x18\x02 \x01(\v2\x17.kratos.api.Server.GRPCR\x04grpc\x1ai\n" +
	"\x04HTTP\x12\x18\n" +
	"\anetwork\x18\x01 \x01(\tR\anetwork\x12\x12\n" +
	"\x04addr\x18\x02 \x01(\tR\x04addr\x123\n" +
	"\atimeout\x18\x03 \x01(\v2\x19.google.protobuf.DurationR\atimeout\x1ai\n" +
	"\x04GRPC\x12\x18\n" +
	"\anetwork\x18\x01 \x01(\tR\anetwork\x12\x12\n" +
	"\x04addr\x18\x02 \x01(\tR\x04addr\x123\n" +
	"\atimeout\x18\x03 \x01(\v2\x19.google.protobuf.DurationR\atimeout\"\x82\x01\n" +
	"\x03JWT\x12\x1f\n" +
	"\vsigning_key\x18\x01 \x01(\tR\n" +
	"signingKey\x12!\n" +
	"\fexpires_time\x18\x02 \x01(\tR\vexpiresTime\x12\x1f\n" +
	"\vbuffer_time\x18\x03 \x01(\tR\n" +
	"bufferTime\x12\x16\n" +
	"\x06issuer\x18\x04 \x01(\tR\x06issuer\"\x8a\x03\n" +
	"\x06System\x12\x10\n" +
	"\x03env\x18\x01 \x01(\tR\x03env\x12\x17\n" +
	"\adb_type\x18\x02 \x01(\tR\x06dbType\x12\x19\n" +
	"\boss_type\x18\x03 \x01(\tR\aossType\x12\x1b\n" +
	"\tuse_redis\x18\x04 \x01(\bR\buseRedis\x12%\n" +
	"\x0euse_multipoint\x18\x05 \x01(\bR\ruseMultipoint\x12#\n" +
	"\riplimit_count\x18\x06 \x01(\x05R\fiplimitCount\x12!\n" +
	"\fiplimit_time\x18\a \x01(\x05R\viplimitTime\x12#\n" +
	"\rrouter_prefix\x18\b \x01(\tR\frouterPrefix\x12&\n" +
	"\x0fuse_strict_auth\x18\t \x01(\bR\ruseStrictAuth\x12\x12\n" +
	"\x04addr\x18\n" +
	" \x01(\x05R\x04addr\x12\x1b\n" +
	"\tuse_mongo\x18\v \x01(\bR\buseMongo\x120\n" +
	"\x14disable_auto_migrate\x18\f \x01(\bR\x12disableAutoMigrate\"\xb5\x01\n" +
	"\aCaptcha\x12\x19\n" +
	"\bkey_long\x18\x01 \x01(\x05R\akeyLong\x12\x1b\n" +
	"\timg_width\x18\x02 \x01(\x05R\bimgWidth\x12\x1d\n" +
	"\n" +
	"img_height\x18\x03 \x01(\x05R\timgHeight\x12!\n" +
	"\fopen_captcha\x18\x04 \x01(\x05R\vopenCaptcha\x120\n" +
	"\x14open_captcha_timeout\x18\x05 \x01(\x05R\x12openCaptchaTimeout\"\xe8\x02\n" +
	"\tGeneralDB\x12\x16\n" +
	"\x06prefix\x18\x01 \x01(\tR\x06prefix\x12\x12\n" +
	"\x04port\x18\x02 \x01(\tR\x04port\x12\x16\n" +
	"\x06config\x18\x03 \x01(\tR\x06config\x12\x17\n" +
	"\adb_name\x18\x04 \x01(\tR\x06dbName\x12\x1a\n" +
	"\busername\x18\x05 \x01(\tR\busername\x12\x1a\n" +
	"\bpassword\x18\x06 \x01(\tR\bpassword\x12\x12\n" +
	"\x04path\x18\a \x01(\tR\x04path\x12\x16\n" +
	"\x06engine\x18\b \x01(\tR\x06engine\x12\x19\n" +
	"\blog_mode\x18\t \x01(\tR\alogMode\x12$\n" +
	"\x0emax_idle_conns\x18\n" +
	" \x01(\x05R\fmaxIdleConns\x12$\n" +
	"\x0emax_open_conns\x18\v \x01(\x05R\fmaxOpenConns\x12\x1a\n" +
	"\bsingular\x18\f \x01(\bR\bsingular\x12\x17\n" +
	"\alog_zap\x18\r \x01(\bR\x06logZap\"\xe4\x02\n" +
	"\x05Mysql\x12\x16\n" +
	"\x06prefix\x18\x01 \x01(\tR\x06prefix\x12\x12\n" +
	"\x04path\x18\x02 \x01(\tR\x04path\x12\x12\n" +
	"\x04port\x18\x03 \x01(\tR\x04port\x12\x16\n" +
	"\x06config\x18\x04 \x01(\tR\x06config\x12\x17\n" +
	"\adb_name\x18\x05 \x01(\tR\x06dbName\x12\x1a\n" +
	"\busername\x18\x06 \x01(\tR\busername\x12\x1a\n" +
	"\bpassword\x18\a \x01(\tR\bpassword\x12\x16\n" +
	"\x06engine\x18\b \x01(\tR\x06engine\x12$\n" +
	"\x0emax_idle_conns\x18\t \x01(\x05R\fmaxIdleConns\x12$\n" +
	"\x0emax_open_conns\x18\n" +
	" \x01(\x05R\fmaxOpenConns\x12\x19\n" +
	"\blog_mode\x18\v \x01(\tR\alogMode\x12\x17\n" +
	"\alog_zap\x18\f \x01(\bR\x06logZap\x12\x1a\n" +
	"\bsingular\x18\r \x01(\bR\bsingular\"\xe4\x02\n" +
	"\x05Pgsql\x12\x16\n" +
	"\x06prefix\x18\x01 \x01(\tR\x06prefix\x12\x12\n" +
	"\x04path\x18\x02 \x01(\tR\x04path\x12\x12\n" +
	"\x04port\x18\x03 \x01(\tR\x04port\x12\x16\n" +
	"\x06config\x18\x04 \x01(\tR\x06config\x12\x17\n" +
	"\adb_name\x18\x05 \x01(\tR\x06dbName\x12\x1a\n" +
	"\busername\x18\x06 \x01(\tR\busername\x12\x1a\n" +
	"\bpassword\x18\a \x01(\tR\bpassword\x12\x16\n" +
	"\x06engine\x18\b \x01(\tR\x06engine\x12$\n" +
	"\x0emax_idle_conns\x18\t \x01(\x05R\fmaxIdleConns\x12$\n" +
	"\x0emax_open_conns\x18\n" +
	" \x01(\x05R\fmaxOpenConns\x12\x19\n" +
	"\blog_mode\x18\v \x01(\tR\alogMode\x12\x17\n" +
	"\alog_zap\x18\f \x01(\bR\x06logZap\x12\x1a\n" +
	"\bsingular\x18\r \x01(\bR\bsingular\"\x81\x02\n" +
	"\x06Sqlite\x12\x16\n" +
	"\x06prefix\x18\x01 \x01(\tR\x06prefix\x12\x12\n" +
	"\x04path\x18\x02 \x01(\tR\x04path\x12\x17\n" +
	"\adb_name\x18\x03 \x01(\tR\x06dbName\x12\x16\n" +
	"\x06engine\x18\x04 \x01(\tR\x06engine\x12$\n" +
	"\x0emax_idle_conns\x18\x05 \x01(\x05R\fmaxIdleConns\x12$\n" +
	"\x0emax_open_conns\x18\x06 \x01(\x05R\fmaxOpenConns\x12\x19\n" +
	"\blog_mode\x18\a \x01(\tR\alogMode\x12\x17\n" +
	"\alog_zap\x18\b \x01(\bR\x06logZap\x12\x1a\n" +
	"\bsingular\x18\t \x01(\bR\bsingular\"\xe4\x02\n" +
	"\x05Mssql\x12\x16\n" +
	"\x06prefix\x18\x01 \x01(\tR\x06prefix\x12\x12\n" +
	"\x04path\x18\x02 \x01(\tR\x04path\x12\x12\n" +
	"\x04port\x18\x03 \x01(\tR\x04port\x12\x16\n" +
	"\x06config\x18\x04 \x01(\tR\x06config\x12\x17\n" +
	"\adb_name\x18\x05 \x01(\tR\x06dbName\x12\x1a\n" +
	"\busername\x18\x06 \x01(\tR\busername\x12\x1a\n" +
	"\bpassword\x18\a \x01(\tR\bpassword\x12\x16\n" +
	"\x06engine\x18\b \x01(\tR\x06engine\x12$\n" +
	"\x0emax_idle_conns\x18\t \x01(\x05R\fmaxIdleConns\x12$\n" +
	"\x0emax_open_conns\x18\n" +
	" \x01(\x05R\fmaxOpenConns\x12\x19\n" +
	"\blog_mode\x18\v \x01(\tR\alogMode\x12\x17\n" +
	"\alog_zap\x18\f \x01(\bR\x06logZap\x12\x1a\n" +
	"\bsingular\x18\r \x01(\bR\bsingular\"\xe5\x02\n" +
	"\x06Oracle\x12\x16\n" +
	"\x06prefix\x18\x01 \x01(\tR\x06prefix\x12\x12\n" +
	"\x04path\x18\x02 \x01(\tR\x04path\x12\x12\n" +
	"\x04port\x18\x03 \x01(\tR\x04port\x12\x16\n" +
	"\x06config\x18\x04 \x01(\tR\x06config\x12\x17\n" +
	"\adb_name\x18\x05 \x01(\tR\x06dbName\x12\x1a\n" +
	"\busername\x18\x06 \x01(\tR\busername\x12\x1a\n" +
	"\bpassword\x18\a \x01(\tR\bpassword\x12\x16\n" +
	"\x06engine\x18\b \x01(\tR\x06engine\x12$\n" +
	"\x0emax_idle_conns\x18\t \x01(\x05R\fmaxIdleConns\x12$\n" +
	"\x0emax_open_conns\x18\n" +
	" \x01(\x05R\fmaxOpenConns\x12\x19\n" +
	"\blog_mode\x18\v \x01(\tR\alogMode\x12\x17\n" +
	"\alog_zap\x18\f \x01(\bR\x06logZap\x12\x1a\n" +
	"\bsingular\x18\r \x01(\bR\bsingular\"\xb9\x03\n" +
	"\rSpecializedDB\x12\x12\n" +
	"\x04type\x18\x01 \x01(\tR\x04type\x12\x1d\n" +
	"\n" +
	"alias_name\x18\x02 \x01(\tR\taliasName\x12\x16\n" +
	"\x06prefix\x18\x03 \x01(\tR\x06prefix\x12\x12\n" +
	"\x04port\x18\x04 \x01(\tR\x04port\x12\x16\n" +
	"\x06config\x18\x05 \x01(\tR\x06config\x12\x17\n" +
	"\adb_name\x18\x06 \x01(\tR\x06dbName\x12\x1a\n" +
	"\busername\x18\a \x01(\tR\busername\x12\x1a\n" +
	"\bpassword\x18\b \x01(\tR\bpassword\x12\x12\n" +
	"\x04path\x18\t \x01(\tR\x04path\x12\x16\n" +
	"\x06engine\x18\n" +
	" \x01(\tR\x06engine\x12\x19\n" +
	"\blog_mode\x18\v \x01(\tR\alogMode\x12$\n" +
	"\x0emax_idle_conns\x18\f \x01(\x05R\fmaxIdleConns\x12$\n" +
	"\x0emax_open_conns\x18\r \x01(\x05R\fmaxOpenConns\x12\x1a\n" +
	"\bsingular\x18\x0e \x01(\bR\bsingular\x12\x17\n" +
	"\alog_zap\x18\x0f \x01(\bR\x06logZap\x12\x18\n" +
	"\adisable\x18\x10 \x01(\bR\adisable\"\xa1\x01\n" +
	"\x05Redis\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n" +
	"\vuse_cluster\x18\x02 \x01(\bR\n" +
	"useCluster\x12\x12\n" +
	"\x04addr\x18\x03 \x01(\tR\x04addr\x12\x1a\n" +
	"\bpassword\x18\x04 \x01(\tR\bpassword\x12\x0e\n" +
	"\x02db\x18\x05 \x01(\x05R\x02db\x12#\n" +
	"\rcluster_addrs\x18\x06 \x03(\tR\fclusterAddrs\"\x90\x03\n" +
	"\x05Mongo\x12\x12\n" +
	"\x04coll\x18\x01 \x01(\tR\x04coll\x12\x18\n" +
	"\aoptions\x18\x02 \x01(\tR\aoptions\x12\x1a\n" +
	"\bdatabase\x18\x03 \x01(\tR\bdatabase\x12\x1a\n" +
	"\busername\x18\x04 \x01(\tR\busername\x12\x1a\n" +
	"\bpassword\x18\x05 \x01(\tR\bpassword\x12\x1f\n" +
	"\vauth_source\x18\x06 \x01(\tR\n" +
	"authSource\x12\"\n" +
	"\rmin_pool_size\x18\a \x01(\x04R\vminPoolSize\x12\"\n" +
	"\rmax_pool_size\x18\b \x01(\x04R\vmaxPoolSize\x12*\n" +
	"\x11socket_timeout_ms\x18\t \x01(\x03R\x0fsocketTimeoutMs\x12,\n" +
	"\x12connect_timeout_ms\x18\n" +
	" \x01(\x03R\x10connectTimeoutMs\x12\x15\n" +
	"\x06is_zap\x18\v \x01(\bR\x05isZap\x12+\n" +
	"\x05hosts\x18\f \x03(\v2\x15.kratos.api.MongoHostR\x05hosts\"3\n" +
	"\tMongoHost\x12\x12\n" +
	"\x04host\x18\x01 \x01(\tR\x04host\x12\x12\n" +
	"\x04port\x18\x02 \x01(\tR\x04port\":\n" +
	"\x05Local\x12\x12\n" +
	"\x04path\x18\x01 \x01(\tR\x04path\x12\x1d\n" +
	"\n" +
	"store_path\x18\x02 \x01(\tR\tstorePath\"\xd1\x01\n" +
	"\x05Qiniu\x12\x12\n" +
	"\x04zone\x18\x01 \x01(\tR\x04zone\x12\x16\n" +
	"\x06bucket\x18\x02 \x01(\tR\x06bucket\x12\x19\n" +
	"\bimg_path\x18\x03 \x01(\tR\aimgPath\x12\x1b\n" +
	"\tuse_https\x18\x04 \x01(\bR\buseHttps\x12\x1d\n" +
	"\n" +
	"access_key\x18\x05 \x01(\tR\taccessKey\x12\x1d\n" +
	"\n" +
	"secret_key\x18\x06 \x01(\tR\tsecretKey\x12&\n" +
	"\x0fuse_cdn_domains\x18\a \x01(\bR\ruseCdnDomains\"\xe9\x01\n" +
	"\x05Minio\x12\x1a\n" +
	"\bendpoint\x18\x01 \x01(\tR\bendpoint\x12\"\n" +
	"\raccess_key_id\x18\x02 \x01(\tR\vaccessKeyId\x12*\n" +
	"\x11access_key_secret\x18\x03 \x01(\tR\x0faccessKeySecret\x12\x1f\n" +
	"\vbucket_name\x18\x04 \x01(\tR\n" +
	"bucketName\x12\x17\n" +
	"\ause_ssl\x18\x05 \x01(\bR\x06useSsl\x12\x1b\n" +
	"\tbase_path\x18\x06 \x01(\tR\bbasePath\x12\x1d\n" +
	"\n" +
	"bucket_url\x18\a \x01(\tR\tbucketUrl\"\xd4\x01\n" +
	"\tAliyunOss\x12\x1a\n" +
	"\bendpoint\x18\x01 \x01(\tR\bendpoint\x12\"\n" +
	"\raccess_key_id\x18\x02 \x01(\tR\vaccessKeyId\x12*\n" +
	"\x11access_key_secret\x18\x03 \x01(\tR\x0faccessKeySecret\x12\x1f\n" +
	"\vbucket_name\x18\x04 \x01(\tR\n" +
	"bucketName\x12\x1d\n" +
	"\n" +
	"bucket_url\x18\x05 \x01(\tR\tbucketUrl\x12\x1b\n" +
	"\tbase_path\x18\x06 \x01(\tR\bbasePath\"\xb4\x01\n" +
	"\n" +
	"TencentCos\x12\x16\n" +
	"\x06bucket\x18\x01 \x01(\tR\x06bucket\x12\x16\n" +
	"\x06region\x18\x02 \x01(\tR\x06region\x12\x1b\n" +
	"\tsecret_id\x18\x03 \x01(\tR\bsecretId\x12\x1d\n" +
	"\n" +
	"secret_key\x18\x04 \x01(\tR\tsecretKey\x12\x19\n" +
	"\bbase_url\x18\x05 \x01(\tR\abaseUrl\x12\x1f\n" +
	"\vpath_prefix\x18\x06 \x01(\tR\n" +
	"pathPrefix\"\x9b\x02\n" +
	"\x05AwsS3\x12\x16\n" +
	"\x06bucket\x18\x01 \x01(\tR\x06bucket\x12\x16\n" +
	"\x06region\x18\x02 \x01(\tR\x06region\x12\x1a\n" +
	"\bendpoint\x18\x03 \x01(\tR\bendpoint\x12-\n" +
	"\x13s3_force_path_style\x18\x04 \x01(\bR\x10s3ForcePathStyle\x12\x1f\n" +
	"\vdisable_ssl\x18\x05 \x01(\bR\n" +
	"disableSsl\x12\x1b\n" +
	"\tsecret_id\x18\x06 \x01(\tR\bsecretId\x12\x1d\n" +
	"\n" +
	"secret_key\x18\a \x01(\tR\tsecretKey\x12\x19\n" +
	"\bbase_url\x18\b \x01(\tR\abaseUrl\x12\x1f\n" +
	"\vpath_prefix\x18\t \x01(\tR\n" +
	"pathPrefix\"\xc4\x01\n" +
	"\fCloudflareR2\x12\x16\n" +
	"\x06bucket\x18\x01 \x01(\tR\x06bucket\x12\x19\n" +
	"\bbase_url\x18\x02 \x01(\tR\abaseUrl\x12\x12\n" +
	"\x04path\x18\x03 \x01(\tR\x04path\x12\x1d\n" +
	"\n" +
	"account_id\x18\x04 \x01(\tR\taccountId\x12\"\n" +
	"\raccess_key_id\x18\x05 \x01(\tR\vaccessKeyId\x12*\n" +
	"\x11secret_access_key\x18\x06 \x01(\tR\x0fsecretAccessKey\"\x91\x01\n" +
	"\tHuaweiObs\x12\x12\n" +
	"\x04path\x18\x01 \x01(\tR\x04path\x12\x16\n" +
	"\x06bucket\x18\x02 \x01(\tR\x06bucket\x12\x1a\n" +
	"\bendpoint\x18\x03 \x01(\tR\bendpoint\x12\x1d\n" +
	"\n" +
	"access_key\x18\x04 \x01(\tR\taccessKey\x12\x1d\n" +
	"\n" +
	"secret_key\x18\x05 \x01(\tR\tsecretKey\"\xc2\x01\n" +
	"\x05Email\x12\x0e\n" +
	"\x02to\x18\x01 \x01(\tR\x02to\x12\x12\n" +
	"\x04port\x18\x02 \x01(\x05R\x04port\x12\x12\n" +
	"\x04from\x18\x03 \x01(\tR\x04from\x12\x12\n" +
	"\x04host\x18\x04 \x01(\tR\x04host\x12\x15\n" +
	"\x06is_ssl\x18\x05 \x01(\bR\x05isSsl\x12\x16\n" +
	"\x06secret\x18\x06 \x01(\tR\x06secret\x12\x1a\n" +
	"\bnickname\x18\a \x01(\tR\bnickname\x12\"\n" +
	"\ris_login_auth\x18\b \x01(\bR\visLoginAuth\"\x19\n" +
	"\x05Excel\x12\x10\n" +
	"\x03dir\x18\x01 \x01(\tR\x03dir\"S\n" +
	"\x04Cors\x12\x12\n" +
	"\x04mode\x18\x01 \x01(\tR\x04mode\x127\n" +
	"\twhitelist\x18\x02 \x03(\v2\x19.kratos.api.CorsWhitelistR\twhitelist\"\xd0\x01\n" +
	"\rCorsWhitelist\x12!\n" +
	"\fallow_origin\x18\x01 \x01(\tR\vallowOrigin\x12#\n" +
	"\rallow_headers\x18\x02 \x01(\tR\fallowHeaders\x12#\n" +
	"\rallow_methods\x18\x03 \x01(\tR\fallowMethods\x12%\n" +
	"\x0eexpose_headers\x18\x04 \x01(\tR\rexposeHeaders\x12+\n" +
	"\x11allow_credentials\x18\x05 \x01(\bR\x10allowCredentials\"\x99\x02\n" +
	"\x03Zap\x12\x14\n" +
	"\x05level\x18\x01 \x01(\tR\x05level\x12\x16\n" +
	"\x06format\x18\x02 \x01(\tR\x06format\x12\x16\n" +
	"\x06prefix\x18\x03 \x01(\tR\x06prefix\x12\x1a\n" +
	"\bdirector\x18\x04 \x01(\tR\bdirector\x12\x1b\n" +
	"\tshow_line\x18\x05 \x01(\bR\bshowLine\x12!\n" +
	"\fencode_level\x18\x06 \x01(\tR\vencodeLevel\x12%\n" +
	"\x0estacktrace_key\x18\a \x01(\tR\rstacktraceKey\x12$\n" +
	"\x0elog_in_console\x18\b \x01(\bR\flogInConsole\x12#\n" +
	"\rretention_day\x18\t \x01(\x05R\fretentionDay\"y\n" +
	"\bAutocode\x12\x10\n" +
	"\x03web\x18\x01 \x01(\tR\x03web\x12\x12\n" +
	"\x04root\x18\x02 \x01(\tR\x04root\x12\x16\n" +
	"\x06server\x18\x03 \x01(\tR\x06server\x12\x16\n" +
	"\x06module\x18\x04 \x01(\tR\x06module\x12\x17\n" +
	"\aai_path\x18\x05 \x01(\tR\x06aiPath\"\xda\x01\n" +
	"\x03MCP\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n" +
	"\aversion\x18\x02 \x01(\tR\aversion\x12\x19\n" +
	"\bsse_path\x18\x03 \x01(\tR\assePath\x12!\n" +
	"\fmessage_path\x18\x04 \x01(\tR\vmessagePath\x12\x1d\n" +
	"\n" +
	"url_prefix\x18\x05 \x01(\tR\turlPrefix\x12\x12\n" +
	"\x04addr\x18\x06 \x01(\x05R\x04addr\x12\x1a\n" +
	"\bseparate\x18\a \x01(\bR\bseparate\x12\x18\n" +
	"\aenabled\x18\b \x01(\bR\aenabled\"+\n" +
	"\bDiskList\x12\x1f\n" +
	"\vmount_point\x18\x01 \x01(\tR\n" +
	"mountPointB\x18Z\x16kra/internal/conf;confb\x06proto3"

var (
	file_conf_proto_rawDescOnce sync.Once
	file_conf_proto_rawDescData []byte
)

func file_conf_proto_rawDescGZIP() []byte {
	file_conf_proto_rawDescOnce.Do(func() {
		file_conf_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_conf_proto_rawDesc), len(file_conf_proto_rawDesc)))
	})
	return file_conf_proto_rawDescData
}

var file_conf_proto_msgTypes = make([]protoimpl.MessageInfo, 33)
var file_conf_proto_goTypes = []any{
	(*Bootstrap)(nil),           // 0: kratos.api.Bootstrap
	(*Server)(nil),              // 1: kratos.api.Server
	(*JWT)(nil),                 // 2: kratos.api.JWT
	(*System)(nil),              // 3: kratos.api.System
	(*Captcha)(nil),             // 4: kratos.api.Captcha
	(*GeneralDB)(nil),           // 5: kratos.api.GeneralDB
	(*Mysql)(nil),               // 6: kratos.api.Mysql
	(*Pgsql)(nil),               // 7: kratos.api.Pgsql
	(*Sqlite)(nil),              // 8: kratos.api.Sqlite
	(*Mssql)(nil),               // 9: kratos.api.Mssql
	(*Oracle)(nil),              // 10: kratos.api.Oracle
	(*SpecializedDB)(nil),       // 11: kratos.api.SpecializedDB
	(*Redis)(nil),               // 12: kratos.api.Redis
	(*Mongo)(nil),               // 13: kratos.api.Mongo
	(*MongoHost)(nil),           // 14: kratos.api.MongoHost
	(*Local)(nil),               // 15: kratos.api.Local
	(*Qiniu)(nil),               // 16: kratos.api.Qiniu
	(*Minio)(nil),               // 17: kratos.api.Minio
	(*AliyunOss)(nil),           // 18: kratos.api.AliyunOss
	(*TencentCos)(nil),          // 19: kratos.api.TencentCos
	(*AwsS3)(nil),               // 20: kratos.api.AwsS3
	(*CloudflareR2)(nil),        // 21: kratos.api.CloudflareR2
	(*HuaweiObs)(nil),           // 22: kratos.api.HuaweiObs
	(*Email)(nil),               // 23: kratos.api.Email
	(*Excel)(nil),               // 24: kratos.api.Excel
	(*Cors)(nil),                // 25: kratos.api.Cors
	(*CorsWhitelist)(nil),       // 26: kratos.api.CorsWhitelist
	(*Zap)(nil),                 // 27: kratos.api.Zap
	(*Autocode)(nil),            // 28: kratos.api.Autocode
	(*MCP)(nil),                 // 29: kratos.api.MCP
	(*DiskList)(nil),            // 30: kratos.api.DiskList
	(*Server_HTTP)(nil),         // 31: kratos.api.Server.HTTP
	(*Server_GRPC)(nil),         // 32: kratos.api.Server.GRPC
	(*durationpb.Duration)(nil), // 33: google.protobuf.Duration
}
var file_conf_proto_depIdxs = []int32{
	1,  // 0: kratos.api.Bootstrap.server:type_name -> kratos.api.Server
	2,  // 1: kratos.api.Bootstrap.jwt:type_name -> kratos.api.JWT
	3,  // 2: kratos.api.Bootstrap.system:type_name -> kratos.api.System
	4,  // 3: kratos.api.Bootstrap.captcha:type_name -> kratos.api.Captcha
	6,  // 4: kratos.api.Bootstrap.mysql:type_name -> kratos.api.Mysql
	7,  // 5: kratos.api.Bootstrap.pgsql:type_name -> kratos.api.Pgsql
	8,  // 6: kratos.api.Bootstrap.sqlite:type_name -> kratos.api.Sqlite
	12, // 7: kratos.api.Bootstrap.redis:type_name -> kratos.api.Redis
	15, // 8: kratos.api.Bootstrap.local:type_name -> kratos.api.Local
	16, // 9: kratos.api.Bootstrap.qiniu:type_name -> kratos.api.Qiniu
	17, // 10: kratos.api.Bootstrap.minio:type_name -> kratos.api.Minio
	18, // 11: kratos.api.Bootstrap.aliyun_oss:type_name -> kratos.api.AliyunOss
	19, // 12: kratos.api.Bootstrap.tencent_cos:type_name -> kratos.api.TencentCos
	20, // 13: kratos.api.Bootstrap.aws_s3:type_name -> kratos.api.AwsS3
	21, // 14: kratos.api.Bootstrap.cloudflare_r2:type_name -> kratos.api.CloudflareR2
	22, // 15: kratos.api.Bootstrap.huawei_obs:type_name -> kratos.api.HuaweiObs
	23, // 16: kratos.api.Bootstrap.email:type_name -> kratos.api.Email
	24, // 17: kratos.api.Bootstrap.excel:type_name -> kratos.api.Excel
	25, // 18: kratos.api.Bootstrap.cors:type_name -> kratos.api.Cors
	27, // 19: kratos.api.Bootstrap.zap:type_name -> kratos.api.Zap
	29, // 20: kratos.api.Bootstrap.mcp:type_name -> kratos.api.MCP
	28, // 21: kratos.api.Bootstrap.autocode:type_name -> kratos.api.Autocode
	9,  // 22: kratos.api.Bootstrap.mssql:type_name -> kratos.api.Mssql
	10, // 23: kratos.api.Bootstrap.oracle:type_name -> kratos.api.Oracle
	13, // 24: kratos.api.Bootstrap.mongo:type_name -> kratos.api.Mongo
	11, // 25: kratos.api.Bootstrap.db_list:type_name -> kratos.api.SpecializedDB
	12, // 26: kratos.api.Bootstrap.redis_list:type_name -> kratos.api.Redis
	30, // 27: kratos.api.Bootstrap.disk_list:type_name -> kratos.api.DiskList
	31, // 28: kratos.api.Server.http:type_name -> kratos.api.Server.HTTP
	32, // 29: kratos.api.Server.grpc:type_name -> kratos.api.Server.GRPC
	14, // 30: kratos.api.Mongo.hosts:type_name -> kratos.api.MongoHost
	26, // 31: kratos.api.Cors.whitelist:type_name -> kratos.api.CorsWhitelist
	33, // 32: kratos.api.Server.HTTP.timeout:type_name -> google.protobuf.Duration
	33, // 33: kratos.api.Server.GRPC.timeout:type_name -> google.protobuf.Duration
	34, // [34:34] is the sub-list for method output_type
	34, // [34:34] is the sub-list for method input_type
	34, // [34:34] is the sub-list for extension type_name
	34, // [34:34] is the sub-list for extension extendee
	0,  // [0:34] is the sub-list for field type_name
}

func init() { file_conf_proto_init() }
func file_conf_proto_init() {
	if File_conf_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_conf_proto_rawDesc), len(file_conf_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   33,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_conf_proto_goTypes,
		DependencyIndexes: file_conf_proto_depIdxs,
		MessageInfos:      file_conf_proto_msgTypes,
	}.Build()
	File_conf_proto = out.File
	file_conf_proto_goTypes = nil
	file_conf_proto_depIdxs = nil
}
