mirror of https://github.com/apache/cloudstack.git
bug 8335: adding the security group objects to the list virtual machines response
This commit is contained in:
parent
94bb78c9d4
commit
9a6dc3832c
|
|
@ -130,8 +130,8 @@ public class UserVmResponse extends BaseResponse {
|
|||
@SerializedName("rootdevicetype") @Param(description="device type of the root volume")
|
||||
private String rootDeviceType;
|
||||
|
||||
@SerializedName("securitygrouplist") @Param(description="list of security groups associated with the virtual machine")
|
||||
private String securityGroupList;
|
||||
@SerializedName("securitygroup") @Param(description="list of security groups associated with the virtual machine", responseObject = SecurityGroupResponse.class)
|
||||
private List<SecurityGroupResponse> securityGroupList;
|
||||
|
||||
@SerializedName(ApiConstants.PASSWORD) @Param(description="the password (if exists) of the virtual machine")
|
||||
private String password;
|
||||
|
|
@ -432,14 +432,6 @@ public class UserVmResponse extends BaseResponse {
|
|||
this.rootDeviceType = rootDeviceType;
|
||||
}
|
||||
|
||||
public String getSecurityGroupList() {
|
||||
return securityGroupList;
|
||||
}
|
||||
|
||||
public void setSecurityGroupList(String securityGroupList) {
|
||||
this.securityGroupList = securityGroupList;
|
||||
}
|
||||
|
||||
public String getPassword() {
|
||||
return password;
|
||||
}
|
||||
|
|
@ -479,4 +471,12 @@ public class UserVmResponse extends BaseResponse {
|
|||
public void setNics(List<NicResponse> nics) {
|
||||
this.nics = nics;
|
||||
}
|
||||
|
||||
public List<SecurityGroupResponse> getSecurityGroupList() {
|
||||
return securityGroupList;
|
||||
}
|
||||
|
||||
public void setSecurityGroupList(List<SecurityGroupResponse> securityGroups) {
|
||||
this.securityGroupList = securityGroups;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,6 +43,7 @@ import com.cloud.network.dao.NetworkDao;
|
|||
import com.cloud.network.dao.NetworkRuleConfigDao;
|
||||
import com.cloud.network.security.SecurityGroup;
|
||||
import com.cloud.network.security.SecurityGroupManager;
|
||||
import com.cloud.network.security.SecurityGroupVO;
|
||||
import com.cloud.network.security.dao.SecurityGroupDao;
|
||||
import com.cloud.offering.ServiceOffering;
|
||||
import com.cloud.offerings.NetworkOfferingVO;
|
||||
|
|
@ -250,6 +251,10 @@ public class ApiDBUtils {
|
|||
public static String getNetworkGroupsNamesForVm(long vmId) {
|
||||
return _networkGroupMgr.getSecurityGroupsNamesForVm(vmId);
|
||||
}
|
||||
|
||||
public static List<SecurityGroupVO> getSecurityGroupsForVm(long vmId) {
|
||||
return _networkGroupMgr.getSecurityGroupsForVm(vmId);
|
||||
}
|
||||
|
||||
public static String getSnapshotIntervalTypes(long snapshotId) {
|
||||
String intervalTypes = "";
|
||||
|
|
|
|||
|
|
@ -112,6 +112,7 @@ import com.cloud.network.rules.PortForwardingRule;
|
|||
import com.cloud.network.security.IngressRule;
|
||||
import com.cloud.network.security.SecurityGroup;
|
||||
import com.cloud.network.security.SecurityGroupRules;
|
||||
import com.cloud.network.security.SecurityGroupVO;
|
||||
import com.cloud.offering.DiskOffering;
|
||||
import com.cloud.offering.NetworkOffering;
|
||||
import com.cloud.offering.ServiceOffering;
|
||||
|
|
@ -1097,9 +1098,20 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
}
|
||||
|
||||
userVmResponse.setGuestOsId(userVm.getGuestOSId());
|
||||
// network groups
|
||||
userVmResponse.setSecurityGroupList(ApiDBUtils.getNetworkGroupsNamesForVm(userVm.getId()));
|
||||
|
||||
// security groups
|
||||
List<SecurityGroupVO> securityGroups = ApiDBUtils.getSecurityGroupsForVm(userVm.getId());
|
||||
List<SecurityGroupResponse> securityGroupResponse = new ArrayList<SecurityGroupResponse>();
|
||||
for(SecurityGroupVO grp : securityGroups) {
|
||||
SecurityGroupResponse resp = new SecurityGroupResponse();
|
||||
resp.setId(grp.getId());
|
||||
resp.setName(grp.getName());
|
||||
resp.setDescription(grp.getDescription());
|
||||
resp.setObjectName("securitygroup");
|
||||
securityGroupResponse.add(resp);
|
||||
}
|
||||
|
||||
userVmResponse.setSecurityGroupList(securityGroupResponse);
|
||||
|
||||
List<NicProfile> nicProfiles = ApiDBUtils.getNics(userVm);
|
||||
List<NicResponse> nicResponses = new ArrayList<NicResponse>();
|
||||
for (NicProfile singleNicProfile : nicProfiles) {
|
||||
|
|
|
|||
|
|
@ -43,4 +43,6 @@ public interface SecurityGroupManager {
|
|||
public void fullSync(long agentId, HashMap<String, Pair<Long, Long>> newGroupStates);
|
||||
|
||||
public String getSecurityGroupsNamesForVm(long vmId);
|
||||
|
||||
public List<SecurityGroupVO> getSecurityGroupsForVm(long vmId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1309,6 +1309,19 @@ public class SecurityGroupManagerImpl implements SecurityGroupManager, SecurityG
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SecurityGroupVO> getSecurityGroupsForVm(long vmId) {
|
||||
List<SecurityGroupVMMapVO>securityGroupsToVmMap = _securityGroupVMMapDao.listByInstanceId(vmId);
|
||||
List<SecurityGroupVO> secGrps = new ArrayList<SecurityGroupVO>();
|
||||
if(securityGroupsToVmMap != null && securityGroupsToVmMap.size() > 0) {
|
||||
for(SecurityGroupVMMapVO sG : securityGroupsToVmMap) {
|
||||
SecurityGroupVO currSg = _securityGroupDao.findById(sG.getSecurityGroupId());
|
||||
secGrps.add(currSg);
|
||||
}
|
||||
}
|
||||
return secGrps;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean preStateTransitionEvent(State oldState, Event event, State newState, VirtualMachine vo, boolean status, Long id) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue