From bd122a01fdcbab6117b206f0d282d27bc925407f Mon Sep 17 00:00:00 2001 From: Qiu Jian Date: Sun, 27 Sep 2020 12:00:23 +0800 Subject: [PATCH] fix: add climc support vpc/schedtag user metadata --- cmd/climc/shell/compute/schedtags.go | 13 +++++++++++++ cmd/climc/shell/compute/vpcs.go | 14 ++++++++++++++ pkg/mcclient/modules/mod_schedtags.go | 2 +- pkg/mcclient/modules/mod_vpcs.go | 2 +- 4 files changed, 29 insertions(+), 2 deletions(-) diff --git a/cmd/climc/shell/compute/schedtags.go b/cmd/climc/shell/compute/schedtags.go index ff4ef2d0d6..5c442d040e 100644 --- a/cmd/climc/shell/compute/schedtags.go +++ b/cmd/climc/shell/compute/schedtags.go @@ -153,4 +153,17 @@ func init() { printBatchResults(ret, modules.Schedtags.GetColumns(s)) return nil }) + + R(&options.ResourceMetadataOptions{}, "schedtag-set-user-metadata", "Set metadata of a server", func(s *mcclient.ClientSession, opts *options.ResourceMetadataOptions) error { + params, err := opts.Params() + if err != nil { + return err + } + result, err := modules.Schedtags.PerformAction(s, opts.ID, "user-metadata", params) + if err != nil { + return err + } + printObject(result) + return nil + }) } diff --git a/cmd/climc/shell/compute/vpcs.go b/cmd/climc/shell/compute/vpcs.go index af9ff71a07..37fb5e9399 100644 --- a/cmd/climc/shell/compute/vpcs.go +++ b/cmd/climc/shell/compute/vpcs.go @@ -16,6 +16,7 @@ package compute import ( "yunion.io/x/onecloud/cmd/climc/shell" + "yunion.io/x/onecloud/pkg/mcclient" "yunion.io/x/onecloud/pkg/mcclient/modules" "yunion.io/x/onecloud/pkg/mcclient/options" ) @@ -35,4 +36,17 @@ func init() { cmd.Perform("public", &options.BasePublicOptions{}) cmd.Perform("change-owner", &options.VpcChangeOwnerOptions{}) cmd.Get("vpc-change-owner-candidate-domains", &options.VpcIdOptions{}) + + R(&options.ResourceMetadataOptions{}, "vpc-set-user-metadata", "Set metadata of a vpc", func(s *mcclient.ClientSession, opts *options.ResourceMetadataOptions) error { + params, err := opts.Params() + if err != nil { + return err + } + result, err := modules.Vpcs.PerformAction(s, opts.ID, "user-metadata", params) + if err != nil { + return err + } + printObject(result) + return nil + }) } diff --git a/pkg/mcclient/modules/mod_schedtags.go b/pkg/mcclient/modules/mod_schedtags.go index f31d57e20a..7bfe486e6c 100644 --- a/pkg/mcclient/modules/mod_schedtags.go +++ b/pkg/mcclient/modules/mod_schedtags.go @@ -70,7 +70,7 @@ func (this *SchedtagManager) DoBatchSchedtagHostAddRemove(s *mcclient.ClientSess func init() { Schedtags = SchedtagManager{NewComputeManager("schedtag", "schedtags", - []string{"ID", "Name", "Default_strategy", "Resource_type", "Domain_id", "Project_id"}, + []string{"ID", "Name", "Default_strategy", "Resource_type", "Domain_id", "Project_id", "Metadata"}, []string{})} registerCompute(&Schedtags) diff --git a/pkg/mcclient/modules/mod_vpcs.go b/pkg/mcclient/modules/mod_vpcs.go index f2c10d27aa..e968aae692 100644 --- a/pkg/mcclient/modules/mod_vpcs.go +++ b/pkg/mcclient/modules/mod_vpcs.go @@ -22,7 +22,7 @@ var ( func init() { Vpcs = NewComputeManager("vpc", "vpcs", - []string{"ID", "Name", "Enabled", "Status", "Cloudregion_Id", "Is_default", "Cidr_Block", "Region", "Public_Scope", "Domain_Id", "Domain"}, + []string{"ID", "Name", "Enabled", "Status", "Cloudregion_Id", "Is_default", "Cidr_Block", "Region", "Public_Scope", "Domain_Id", "Domain", "Metadata"}, []string{}) registerCompute(&Vpcs)