package entity

// InstanceEntry 描述实例关联的访问入口（Service、Ingress 等）
type InstanceEntry struct {
	Kind                string
	Name                string
	Namespace           string
	Type                string
	ClusterIP           string
	ExternalIPs         []string
	LoadBalancerIngress []string
	Ports               []InstanceEntryPort
	Hosts               []InstanceEntryHost
	TLS                 []InstanceEntryTLS
}

// InstanceEntryPort Service 端口信息
type InstanceEntryPort struct {
	Name       string
	Protocol   string
	Port       int32
	TargetPort string
	NodePort   int32
}

// InstanceEntryHost Ingress Host 配置
type InstanceEntryHost struct {
	Host  string
	Paths []InstanceEntryPath
}

// InstanceEntryPath Ingress path 详情
type InstanceEntryPath struct {
	Path        string
	ServiceName string
	ServicePort string
}

// InstanceEntryTLS Ingress TLS 配置
type InstanceEntryTLS struct {
	Hosts      []string
	SecretName string
}
