package jump

import (
	"github.com/tidbcloud/devops/api"
	jmpent "github.com/tidbcloud/devops/entity/jump"
)

const (
	BackendStateNeedsLogin = "NeedsLogin"
	BackendStateRunning    = "Running"
)

type TailscaleSelfStatus struct {
	ID       string
	HostName string
	Online   bool
}

type TailscaleStatus struct {
	Version      string
	BackendState string
	TailscaleIPs []string
	Self         TailscaleSelfStatus
}

type TailscaleUpRequest struct {
	Hostname string `json:"hostname"`
	AuthKey  string `json:"auth_key"`
}

type GetKubernetesCredentialRequest struct {
	CredIDs []jmpent.CredentialID `form:"cred_id"`
}

type GetKubernetesCredentialResponse struct {
	api.BaseResp `json:",inline"`

	Kubeconfig []byte `json:"kubeconfig"`
}

type TailscaleStatusResponse struct {
	api.BaseResp `json:",inline"`

	Status *TailscaleStatus `json:"status"`
}
