From a75d5f3099f7e42fcb0e9e3267faac050d9575db Mon Sep 17 00:00:00 2001 From: rainzm Date: Fri, 28 Jan 2022 18:58:17 +0800 Subject: [PATCH] feat(region): check class_metadate when attach disk to guest --- pkg/compute/models/guest_actions.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkg/compute/models/guest_actions.go b/pkg/compute/models/guest_actions.go index 32f785687b..e583343b38 100644 --- a/pkg/compute/models/guest_actions.go +++ b/pkg/compute/models/guest_actions.go @@ -731,6 +731,13 @@ func (self *SGuest) ValidateAttachDisk(ctx context.Context, disk *SDisk) error { if !utils.IsInStringArray(self.Status, guestStatus) { return httperrors.NewInputParameterError("Guest %s not support attach disk in status %s", self.Name, self.Status) } + ok, err := self.IsInSameClass(ctx, &disk.SStandaloneAnonResourceBase) + if err != nil { + return err + } + if !ok { + return httperrors.NewForbiddenError("the class metadata of guest and disk is different") + } return nil }