From 293b72907b6807d47b0697fb298fc512a7f3b627 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=88=E8=BD=A9?= Date: Tue, 28 Aug 2018 16:30:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0aliyuncli=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/util/aliyun/instance.go | 1 + pkg/util/aliyun/shell/instance.go | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/pkg/util/aliyun/instance.go b/pkg/util/aliyun/instance.go index 8f4114dc55..2d7e95e49b 100644 --- a/pkg/util/aliyun/instance.go +++ b/pkg/util/aliyun/instance.go @@ -675,6 +675,7 @@ func (self *SRegion) DetachDisk(instanceId string, diskId string) error { params := make(map[string]string) params["InstanceId"] = instanceId params["DiskId"] = diskId + log.Infof("Detach instance %s disk %s", instanceId, diskId) _, err := self.ecsRequest("DetachDisk", params) if err != nil { log.Errorf("DetachDisk %s to %s fail %s", diskId, instanceId, err) diff --git a/pkg/util/aliyun/shell/instance.go b/pkg/util/aliyun/shell/instance.go index 4a741d0b66..28b1a73d36 100644 --- a/pkg/util/aliyun/shell/instance.go +++ b/pkg/util/aliyun/shell/instance.go @@ -43,6 +43,27 @@ func init() { return nil }) + type InstanceDiskOperationOptions struct { + ID string `help:"instance ID"` + DISK string `help:"disk ID"` + } + + shellutils.R(&InstanceDiskOperationOptions{}, "instance-attach-disk", "Attach a disk to instance", func(cli *aliyun.SRegion, args *InstanceDiskOperationOptions) error { + err := cli.AttachDisk(args.ID, args.DISK) + if err != nil { + return err + } + return nil + }) + + shellutils.R(&InstanceDiskOperationOptions{}, "instance-detach-disk", "Detach a disk to instance", func(cli *aliyun.SRegion, args *InstanceDiskOperationOptions) error { + err := cli.DetachDisk(args.ID, args.DISK) + if err != nil { + return err + } + return nil + }) + type InstanceOperationOptions struct { ID string `help:"instance ID"` }