From ec2b0c7bb407032daeec1a98203b353da2a47e37 Mon Sep 17 00:00:00 2001 From: Jian Qiu Date: Sun, 25 Jun 2023 14:54:45 +0800 Subject: [PATCH] fix: more organization cmds (#17358) Co-authored-by: Qiu Jian --- .../shell/identity/organization_nodes.go | 2 ++ cmd/climc/shell/identity/organizations.go | 2 ++ pkg/mcclient/options/identity/organization.go | 21 +++++++++++++++++++ .../options/identity/organization_nodes.go | 21 +++++++++++++++++++ 4 files changed, 46 insertions(+) diff --git a/cmd/climc/shell/identity/organization_nodes.go b/cmd/climc/shell/identity/organization_nodes.go index a769f29492..7493e94a02 100644 --- a/cmd/climc/shell/identity/organization_nodes.go +++ b/cmd/climc/shell/identity/organization_nodes.go @@ -24,4 +24,6 @@ func init() { orgNodeCmd := shell.NewResourceCmd(&modules.OrganizationNodes) orgNodeCmd.List(&identity_options.OrganizationNodeListOptions{}) orgNodeCmd.Show(&identity_options.OrganizationNodeIdOptions{}) + orgNodeCmd.Update(&identity_options.OrganizationNodeUpdateOptions{}) + orgNodeCmd.Perform("bind", &identity_options.OrganizationNodeBindOptions{}) } diff --git a/cmd/climc/shell/identity/organizations.go b/cmd/climc/shell/identity/organizations.go index c1762c33a6..4e01e20e51 100644 --- a/cmd/climc/shell/identity/organizations.go +++ b/cmd/climc/shell/identity/organizations.go @@ -29,4 +29,6 @@ func init() { orgCmd.Perform("enable", &identity_options.OrganizationIdOptions{}) orgCmd.Perform("disable", &identity_options.OrganizationIdOptions{}) orgCmd.Delete(&identity_options.OrganizationIdOptions{}) + orgCmd.Perform("add-level", &identity_options.OrganizationAddLevelOptions{}) + orgCmd.Perform("add-node", &identity_options.OrganizationAddNodeOptions{}) } diff --git a/pkg/mcclient/options/identity/organization.go b/pkg/mcclient/options/identity/organization.go index cd72e381ac..0f8575f914 100644 --- a/pkg/mcclient/options/identity/organization.go +++ b/pkg/mcclient/options/identity/organization.go @@ -17,6 +17,7 @@ package identity import ( "yunion.io/x/jsonutils" + api "yunion.io/x/onecloud/pkg/apis/identity" "yunion.io/x/onecloud/pkg/mcclient/options" ) @@ -67,3 +68,23 @@ func (opts *OrganizationSyncOptions) Params() (jsonutils.JSONObject, error) { type OrganizationShowNodesOptions struct { OrganizationIdOptions } + +type OrganizationAddLevelOptions struct { + OrganizationIdOptions + + api.OrganizationPerformAddLevelsInput +} + +func (opts *OrganizationAddLevelOptions) Params() (jsonutils.JSONObject, error) { + return jsonutils.Marshal(opts), nil +} + +type OrganizationAddNodeOptions struct { + OrganizationIdOptions + + api.OrganizationPerformAddNodeInput +} + +func (opts *OrganizationAddNodeOptions) Params() (jsonutils.JSONObject, error) { + return jsonutils.Marshal(opts), nil +} diff --git a/pkg/mcclient/options/identity/organization_nodes.go b/pkg/mcclient/options/identity/organization_nodes.go index bb105d538c..1170e47336 100644 --- a/pkg/mcclient/options/identity/organization_nodes.go +++ b/pkg/mcclient/options/identity/organization_nodes.go @@ -17,6 +17,7 @@ package identity import ( "yunion.io/x/jsonutils" + api "yunion.io/x/onecloud/pkg/apis/identity" "yunion.io/x/onecloud/pkg/mcclient/options" ) @@ -45,3 +46,23 @@ func (opts *OrganizationNodeIdOptions) GetId() string { func (opts *OrganizationNodeIdOptions) Params() (jsonutils.JSONObject, error) { return nil, nil } + +type OrganizationNodeUpdateOptions struct { + OrganizationNodeIdOptions + + Weigth int `help:"update weight of node"` +} + +func (opts *OrganizationNodeUpdateOptions) Params() (jsonutils.JSONObject, error) { + return jsonutils.Marshal(opts), nil +} + +type OrganizationNodeBindOptions struct { + OrganizationNodeIdOptions + + api.OrganizationNodePerformBindInput +} + +func (opts *OrganizationNodeBindOptions) Params() (jsonutils.JSONObject, error) { + return jsonutils.Marshal(opts), nil +}