From ffe6d3910d8dccbab848fb1c08f81a8c0521ee65 Mon Sep 17 00:00:00 2001 From: Qiu Jian Date: Sat, 5 Jan 2019 18:04:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0climc=20zone-update-status?= =?UTF-8?q?=E5=91=BD=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/climc/shell/zones.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/cmd/climc/shell/zones.go b/cmd/climc/shell/zones.go index 7430f05eab..000bc97a02 100644 --- a/cmd/climc/shell/zones.go +++ b/cmd/climc/shell/zones.go @@ -126,4 +126,21 @@ func init() { return nil }) + type ZoneStatusOptions struct { + ID string `help:"ID or name of zone"` + STATUS string `help:"zone status" choices:"enable|disable|soldout"` + REASON string `help:"why update status"` + } + R(&ZoneStatusOptions{}, "zone-update-status", "Update zone status", func(s *mcclient.ClientSession, args *ZoneStatusOptions) error { + params := jsonutils.NewDict() + params.Set("status", jsonutils.NewString(args.STATUS)) + params.Set("reason", jsonutils.NewString(args.REASON)) + result, err := modules.Zones.PerformAction(s, args.ID, "status", params) + if err != nil { + return err + } + printObject(result) + return nil + }) + }