package llm

import (
	"yunion.io/x/onecloud/cmd/climc/shell"
	modules "yunion.io/x/onecloud/pkg/mcclient/modules/llm"
	options "yunion.io/x/onecloud/pkg/mcclient/options/llm"
)

func init() {
	cmd := shell.NewResourceCmd(&modules.LLMs)
	cmd.BatchCreate(new(options.LLMCreateOptions))
	cmd.List(new(options.LLMListOptions))
	cmd.Show(new(options.LLMShowOptions))
	cmd.Update(new(options.LLMUpdateOptions))
	cmd.Delete(new(options.LLMDeleteOptions))
	// cmd.Perform("change-model", new(options.LLMChangeModelOptions))
	cmd.Perform("syncstatus", new(options.LLMIdOptions))
	cmd.BatchPerform("stop", new(options.LLMStopOptions))
	cmd.BatchPerform("start", new(options.LLMStartOptions))
	cmd.BatchPerform("restart", new(options.LLMRestartOptions))
	cmd.Get("probed-models", new(options.LLMIdOptions))
	cmd.Get("url", new(options.LLMIdOptions))
	cmd.Get("login-info", new(options.LLMIdOptions))
	cmd.Custom(shell.CustomActionGet, "available-network", new(options.LLMAvailableNetworkOptions))
	cmd.PerformClass("provider-models", new(options.LLMProviderModelsOptions))
	cmd.Perform("save-instant-model", new(options.LLMSaveInstantModelOptions))
	cmd.Perform("quick-models", new(options.LLMQuickModelsOptions))
}
