in google_metadata_script_runner/main.go [336:385]
func getWantedKeys(args []string, os string) ([]string, error) {
if len(args) != 2 {
return nil, errUsage
}
prefix := args[1]
switch prefix {
case "specialize":
prefix = "sysprep-specialize"
case "startup":
if os == "windows" {
prefix = "windows-" + prefix
if !cfg.Get().MetadataScripts.StartupWindows {
return nil, fmt.Errorf("windows startup scripts disabled in instance config")
}
} else {
if !cfg.Get().MetadataScripts.Startup {
return nil, fmt.Errorf("startup scripts disabled in instance config")
}
}
case "shutdown":
if os == "windows" {
prefix = "windows-" + prefix
if !cfg.Get().MetadataScripts.ShutdownWindows {
return nil, fmt.Errorf("windows shutdown scripts disabled in instance config")
}
} else {
if !cfg.Get().MetadataScripts.Shutdown {
return nil, fmt.Errorf("shutdown scripts disabled in instance config")
}
}
default:
return nil, errUsage
}
var mdkeys []string
var suffixes []string
if os == "windows" {
suffixes = []string{"ps1", "cmd", "bat", "url"}
} else {
suffixes = []string{"url"}
// The 'bare' startup-script or shutdown-script key, not supported on Windows.
mdkeys = append(mdkeys, fmt.Sprintf("%s-script", prefix))
}
for _, suffix := range suffixes {
mdkeys = append(mdkeys, fmt.Sprintf("%s-script-%s", prefix, suffix))
}
return mdkeys, nil
}