package model

// NeInfo 网元信息对象 ne_info
type NeInfo struct {
	ID         string `json:"id"`
	NeType     string `json:"neType" binding:"required"`
	NeId       string `json:"neId" binding:"required"`
	RmUID      string `json:"rmUid"`
	NeName     string `json:"neName"`
	IP         string `json:"ip" binding:"required"`
	Port       int64  `json:"port" binding:"required,number,max=65535,min=1"`
	PvFlag     string `json:"pvFlag" binding:"oneof=PNF VNF"` // enum('PNF','VNF')
	Province   string `json:"province"`
	VendorName string `json:"vendorName"`
	Dn         string `json:"dn"`
	NeAddress  string `json:"neAddress"`
	Status     string `json:"status"` // 0: 在线 1: 下线 2: 备用 3: 待下发配置
	UpdateTime string `json:"updateTime"`
	HostIDs    string `json:"hostIds"` // 网元主机ID组 数据格式(ssh,telnet,telnet)

	// ====== 非数据库字段属性 ======

	// 服务状态
	ServerState map[string]any `json:"serverState,omitempty"`

	// 主机对象组
	Hosts []NeHost `json:"hosts,omitempty"`
}
