diff --git a/src/common/tools/hosts.go b/src/common/tools/hosts.go index 210f71a35f5c0d36bc17e96c82e528a7955213d6..4315ccfc87c48be81e14a9a9f807233d229893d9 100644 --- a/src/common/tools/hosts.go +++ b/src/common/tools/hosts.go @@ -2,6 +2,7 @@ package tools import ( "bufio" + "fmt" "os" "strings" ) @@ -33,3 +34,23 @@ func HostsToJson() (data map[string][]string, err error) { } return data, nil } + +func MapToSaveHosts(data map[string][]string) error { + f, err := os.OpenFile("/etc/ansible/hosts", os.O_APPEND|os.O_CREATE|os.O_RDWR|os.O_TRUNC, 0777) + if err != nil { + return err + } + defer f.Close() + for k, v := range data { + _, err := f.Write([]byte(fmt.Sprintf("%s\n", k))) + if err != nil { + return err + } + + _, err = f.Write([]byte(strings.Join(v, "\n"))) + if err != nil { + return err + } + } + return nil +}