Merge pull request #814 in YUNIONIO/onecloud from ~QIUJIAN/onecloud:hotfix/qj-add-eip-change-owner to release/2.4.0

* commit 'a80d7870eff50654fba18494bf4e7b4d35246929':
  增加climc eip-change-owner命令
This commit is contained in:
邱剑
2018-12-22 11:41:03 +08:00
+25
View File
@@ -186,4 +186,29 @@ func init() {
return nil
})
type EipChangeOwnerOptions struct {
ID string `help:"EIP to change owner"`
PROJECT string `help:"Project ID or change"`
RawId bool `help:"User raw ID, instead of name"`
}
R(&EipChangeOwnerOptions{}, "eip-change-owner", "Change owner porject of a eip", func(s *mcclient.ClientSession, opts *EipChangeOwnerOptions) error {
params := jsonutils.NewDict()
if opts.RawId {
projid, err := modules.Projects.GetId(s, opts.PROJECT, nil)
if err != nil {
return err
}
params.Add(jsonutils.NewString(projid), "tenant")
params.Add(jsonutils.JSONTrue, "raw_id")
} else {
params.Add(jsonutils.NewString(opts.PROJECT), "tenant")
}
srv, err := modules.Elasticips.PerformAction(s, opts.ID, "change-owner", params)
if err != nil {
return err
}
printObject(srv)
return nil
})
}