diff --git a/dm/dm.go b/dm/dm.go index 03878054a..53bdfab7e 100644 --- a/dm/dm.go +++ b/dm/dm.go @@ -137,6 +137,27 @@ func main() { path := fmt.Sprintf("deployments/%s", args[1]) action := fmt.Sprintf("get deployment named %s", args[1]) callService(path, "GET", action, nil) + case "manifest": + msg := "Must specify manifest in the form / or to list." + if len(args) < 2 { + fmt.Fprintln(os.Stderr, msg) + usage() + } + + s := strings.Split(args[1], "/") + ls := len(s) + if ls < 1 || ls > 2 { + fmt.Fprintln(os.Stderr, fmt.Sprintf("Invalid manifest (%s), %s", args[1], msg)) + usage() + } + + path := fmt.Sprintf("deployments/%s/manifests", s[0]) + if ls == 2 { + path = path + fmt.Sprintf("/%s", s[1]) + } + + action := fmt.Sprintf("get manifest %s", args[1]) + callService(path, "GET", action, nil) case "delete": if len(args) < 2 { fmt.Fprintln(os.Stderr, "No deployment name supplied")