syntax = "proto3";
option go_package = "./pb";

package pb;

import "models/model_node_cluster.proto";
import "models/model_server_group.proto";
import "models/model_user.proto";
import "models/model_server_name_auditing_result.proto";

message Server {
	int64 id = 1;
	bool isOn = 18;
	string type = 2;
	string name = 3;
	string description = 4;
	bytes includeNodes = 5;
	bytes excludeNodes = 6;
	int64 createdAt = 7;
	string dnsName = 19;
	bool supportCNAME = 23;
	int64 userPlanId = 24;

	// 配置相关
	bytes config = 17;
	bytes serverNamesJSON = 8;
	bool isAuditing = 20;
	bytes auditingServerNamesJSON = 21;
	ServerNameAuditingResult auditingResult = 22;

	bytes httpJSON = 9;
	bytes httpsJSON = 10;
	bytes tcpJSON = 11;
	bytes tlsJSON = 12;
	bytes unixJSON = 13;
	bytes udpJSON = 14;
	int64 webId = 15;
	bytes reverseProxyJSON = 16;

	NodeCluster nodeCluster = 30;
	repeated ServerGroup serverGroups = 31;
	User user = 32;

}
