diff --git a/server/src/com/cloud/network/NetworkServiceImpl.java b/server/src/com/cloud/network/NetworkServiceImpl.java index 6c6fd611290..520ed988554 100755 --- a/server/src/com/cloud/network/NetworkServiceImpl.java +++ b/server/src/com/cloud/network/NetworkServiceImpl.java @@ -1837,6 +1837,11 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService { Account owner = _accountMgr.getAccount(network.getAccountId()); + // Only Admin can delete Shared networks + if (network.getGuestType() == GuestType.Shared && !_accountMgr.isAdmin(caller.getId())) { + throw new InvalidParameterValueException("Only Admins can delete network with guest type " + GuestType.Shared); + } + // Perform permission check _accountMgr.checkAccess(caller, null, true, network);