dynamic inventory in go
package main
import (
"encoding/json"
"fmt"
"os"
)
// Represents hosts and variables.
type Group struct {
Hosts []string `json:"hosts"`
Vars map[string]string `json:"vars"`
}
func main() {
inventory:= Group{
Hosts: []string{"host1", "host2"},
Vars: map[string]string{
"var1": "value1",
"var2": "value2",
},
}
output, err := json.MarshalIndent(inventory, "", " ")
if err != nil {
fmt.Println("Error:", err)
os.Exit(1)
}
fmt.Println(string(output))
}