(agentType string)
| 630 | } |
| 631 | |
| 632 | func buildBatchInstallAgentName(agentType string) (string, error) { |
| 633 | prefix := strings.ToLower(strings.TrimSpace(agentType)) |
| 634 | if prefix == "" { |
| 635 | prefix = "agent" |
| 636 | } |
| 637 | for i := 1; i <= 10000; i++ { |
| 638 | name := fmt.Sprintf("%s-%d", prefix, i) |
| 639 | exists, err := agentNameExists(name) |
| 640 | if err != nil { |
| 641 | return "", err |
| 642 | } |
| 643 | if !exists { |
| 644 | return name, nil |
| 645 | } |
| 646 | } |
| 647 | return "", fmt.Errorf("no available agent name") |
| 648 | } |
| 649 | |
| 650 | func agentNameExists(name string) (bool, error) { |
| 651 | if exist, err := agentRepo.GetFirst(repo.WithByLowerName(name)); err == nil && exist != nil && exist.ID > 0 { |
no test coverage detected