From c2be07be278cbe58b137374d86f9138d910a793b Mon Sep 17 00:00:00 2001 From: rainzm Date: Mon, 7 Mar 2022 17:16:52 +0800 Subject: [PATCH] feat(climc): add DeleteWithParam --- cmd/climc/shell/helper.go | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/cmd/climc/shell/helper.go b/cmd/climc/shell/helper.go index e71f450fce..a655b4b5aa 100644 --- a/cmd/climc/shell/helper.go +++ b/cmd/climc/shell/helper.go @@ -362,6 +362,32 @@ func (cmd ResourceCmd) Delete(args IDeleteOpt) { cmd.RunWithDesc("delete", fmt.Sprintf("Delete %s", man.GetKeyword()), args, callback) } +type IDeleteWithParamOpt interface { + IDeleteOpt + QueryParams() (jsonutils.JSONObject, error) +} + +func (cmd ResourceCmd) DeleteWithParam(args IDeleteWithParamOpt) { + man := cmd.manager + callback := func(s *mcclient.ClientSession, args IDeleteWithParamOpt) error { + queryParams, err := args.QueryParams() + if err != nil { + return err + } + params, err := args.Params() + if err != nil { + return err + } + ret, err := man.(modulebase.Manager).DeleteWithParam(s, args.GetId(), queryParams, params) + if err != nil { + return err + } + PrintObject(ret) + return nil + } + cmd.RunWithDesc("delete", fmt.Sprintf("Delete %s", man.GetKeyword()), args, callback) +} + type IWithDescOpt interface { Description() string }