mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-10-16 06:57:44 +08:00
fix: hostbackupstorage climc subcmds (#20286)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
This commit is contained in:
@@ -50,4 +50,10 @@ func init() {
|
||||
ibCmd.Create(&compute.InstanceBackupManagerCreateFromPackageOptions{})
|
||||
ibCmd.Perform("syncstatus", &compute.DiskBackupSyncstatusOptions{})
|
||||
ibCmd.Perform("set-class-metadata", &options.ResourceMetadataOptions{})
|
||||
|
||||
hbsCmd := shell.NewJointCmd(&modules.HostBackupstorages)
|
||||
hbsCmd.List(&compute.HostBackupStorageListOptions{})
|
||||
hbsCmd.Show(&compute.HostBackupStorageJoinOptions{})
|
||||
hbsCmd.Attach(&compute.HostBackupStorageJoinOptions{})
|
||||
hbsCmd.Detach(&compute.HostBackupStorageJoinOptions{})
|
||||
}
|
||||
|
||||
@@ -667,15 +667,15 @@ func (cmd JointCmd) List(args IJointListOpt) {
|
||||
cmd.RunWithDesc("list", fmt.Sprintf("list %s %s pairs", man.MasterManager().KeyString(), man.SlaveManager().KeyString()), args, callback)
|
||||
}
|
||||
|
||||
type IJointShowOpt interface {
|
||||
type IJointOpt interface {
|
||||
IOpt
|
||||
GetMasterId() string
|
||||
GetSlaveId() string
|
||||
}
|
||||
|
||||
func (cmd JointCmd) Show(args IJointShowOpt) {
|
||||
func (cmd JointCmd) Show(args IJointOpt) {
|
||||
man := cmd.manager.(modulebase.JointManager)
|
||||
callback := func(s *mcclient.ClientSession, args IJointShowOpt) error {
|
||||
callback := func(s *mcclient.ClientSession, args IJointOpt) error {
|
||||
params, err := args.Params()
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -689,3 +689,54 @@ func (cmd JointCmd) Show(args IJointShowOpt) {
|
||||
}
|
||||
cmd.Run("show", args, callback)
|
||||
}
|
||||
|
||||
func (cmd JointCmd) Attach(args IJointOpt) {
|
||||
man := cmd.manager.(modulebase.JointManager)
|
||||
callback := func(s *mcclient.ClientSession, args IJointOpt) error {
|
||||
params, err := args.Params()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
result, err := man.Attach(s, args.GetMasterId(), args.GetSlaveId(), params)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
PrintObject(result)
|
||||
return nil
|
||||
}
|
||||
cmd.Run("attach", args, callback)
|
||||
}
|
||||
|
||||
func (cmd JointCmd) Detach(args IJointOpt) {
|
||||
man := cmd.manager.(modulebase.JointManager)
|
||||
callback := func(s *mcclient.ClientSession, args IJointOpt) error {
|
||||
params, err := args.Params()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
result, err := man.Detach(s, args.GetMasterId(), args.GetSlaveId(), params)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
PrintObject(result)
|
||||
return nil
|
||||
}
|
||||
cmd.Run("detach", args, callback)
|
||||
}
|
||||
|
||||
func (cmd JointCmd) Update(args IJointOpt) {
|
||||
man := cmd.manager.(modulebase.JointManager)
|
||||
callback := func(s *mcclient.ClientSession, args IJointOpt) error {
|
||||
params, err := args.Params()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
result, err := man.Update(s, args.GetMasterId(), args.GetSlaveId(), nil, params)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
PrintObject(result)
|
||||
return nil
|
||||
}
|
||||
cmd.Run("update", args, callback)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user