mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Retrieve only resource count on user dashboard (#7617)
* Allow retrieving only the count of resources on APIs listPublicIpAddresses, listNetworks, listVirtualMachines and listVolumes * Use parameter to retrieve only the count of resources in the dashboard * Create abstract class
This commit is contained in:
parent
5975ea80c9
commit
c6237c48ac
@ -372,6 +372,7 @@ public class ApiConstants {
|
|||||||
public static final String RESOURCE_TYPE = "resourcetype";
|
public static final String RESOURCE_TYPE = "resourcetype";
|
||||||
public static final String RESOURCE_TYPE_NAME = "resourcetypename";
|
public static final String RESOURCE_TYPE_NAME = "resourcetypename";
|
||||||
public static final String RESPONSE = "response";
|
public static final String RESPONSE = "response";
|
||||||
|
public static final String RETRIEVE_ONLY_RESOURCE_COUNT = "retrieveonlyresourcecount";
|
||||||
public static final String REVERTABLE = "revertable";
|
public static final String REVERTABLE = "revertable";
|
||||||
public static final String REVOKED = "revoked";
|
public static final String REVOKED = "revoked";
|
||||||
public static final String REGISTERED = "registered";
|
public static final String REGISTERED = "registered";
|
||||||
|
|||||||
@ -0,0 +1,28 @@
|
|||||||
|
// Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
// or more contributor license agreements. See the NOTICE file
|
||||||
|
// distributed with this work for additional information
|
||||||
|
// regarding copyright ownership. The ASF licenses this file
|
||||||
|
// to you under the Apache License, Version 2.0 (the
|
||||||
|
// "License"); you may not use this file except in compliance
|
||||||
|
// with the License. You may obtain a copy of the License at
|
||||||
|
//
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
//
|
||||||
|
// Unless required by applicable law or agreed to in writing,
|
||||||
|
// software distributed under the License is distributed on an
|
||||||
|
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
// KIND, either express or implied. See the License for the
|
||||||
|
// specific language governing permissions and limitations
|
||||||
|
// under the License.
|
||||||
|
package org.apache.cloudstack.api;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.BooleanUtils;
|
||||||
|
|
||||||
|
public abstract class BaseListRetrieveOnlyResourceCountCmd extends BaseListTaggedResourcesCmd {
|
||||||
|
@Parameter(name = ApiConstants.RETRIEVE_ONLY_RESOURCE_COUNT, type = CommandType.BOOLEAN, description = "makes the API's response contains only the resource count")
|
||||||
|
private Boolean retrieveOnlyResourceCount;
|
||||||
|
|
||||||
|
public Boolean getRetrieveOnlyResourceCount() {
|
||||||
|
return BooleanUtils.toBooleanDefaultIfNull(retrieveOnlyResourceCount, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -25,7 +25,7 @@ import org.apache.cloudstack.acl.RoleType;
|
|||||||
import org.apache.cloudstack.api.APICommand;
|
import org.apache.cloudstack.api.APICommand;
|
||||||
import org.apache.cloudstack.api.ApiCommandResourceType;
|
import org.apache.cloudstack.api.ApiCommandResourceType;
|
||||||
import org.apache.cloudstack.api.ApiConstants;
|
import org.apache.cloudstack.api.ApiConstants;
|
||||||
import org.apache.cloudstack.api.BaseListTaggedResourcesCmd;
|
import org.apache.cloudstack.api.BaseListRetrieveOnlyResourceCountCmd;
|
||||||
import org.apache.cloudstack.api.Parameter;
|
import org.apache.cloudstack.api.Parameter;
|
||||||
import org.apache.cloudstack.api.ResponseObject.ResponseView;
|
import org.apache.cloudstack.api.ResponseObject.ResponseView;
|
||||||
import org.apache.cloudstack.api.command.user.UserCmd;
|
import org.apache.cloudstack.api.command.user.UserCmd;
|
||||||
@ -42,7 +42,7 @@ import com.cloud.utils.Pair;
|
|||||||
|
|
||||||
@APICommand(name = "listPublicIpAddresses", description = "Lists all public IP addresses", responseObject = IPAddressResponse.class, responseView = ResponseView.Restricted,
|
@APICommand(name = "listPublicIpAddresses", description = "Lists all public IP addresses", responseObject = IPAddressResponse.class, responseView = ResponseView.Restricted,
|
||||||
requestHasSensitiveInfo = false, responseHasSensitiveInfo = false, entityType = { IpAddress.class })
|
requestHasSensitiveInfo = false, responseHasSensitiveInfo = false, entityType = { IpAddress.class })
|
||||||
public class ListPublicIpAddressesCmd extends BaseListTaggedResourcesCmd implements UserCmd {
|
public class ListPublicIpAddressesCmd extends BaseListRetrieveOnlyResourceCountCmd implements UserCmd {
|
||||||
public static final Logger s_logger = Logger.getLogger(ListPublicIpAddressesCmd.class.getName());
|
public static final Logger s_logger = Logger.getLogger(ListPublicIpAddressesCmd.class.getName());
|
||||||
|
|
||||||
private static final String s_name = "listpublicipaddressesresponse";
|
private static final String s_name = "listpublicipaddressesresponse";
|
||||||
@ -173,10 +173,6 @@ public class ListPublicIpAddressesCmd extends BaseListTaggedResourcesCmd impleme
|
|||||||
return forVirtualNetwork;
|
return forVirtualNetwork;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Boolean getForLoadBalancing() {
|
|
||||||
return forLoadBalancing;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getState() {
|
public String getState() {
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
@ -194,11 +190,14 @@ public class ListPublicIpAddressesCmd extends BaseListTaggedResourcesCmd impleme
|
|||||||
Pair<List<? extends IpAddress>, Integer> result = _mgr.searchForIPAddresses(this);
|
Pair<List<? extends IpAddress>, Integer> result = _mgr.searchForIPAddresses(this);
|
||||||
ListResponse<IPAddressResponse> response = new ListResponse<>();
|
ListResponse<IPAddressResponse> response = new ListResponse<>();
|
||||||
List<IPAddressResponse> ipAddrResponses = new ArrayList<>();
|
List<IPAddressResponse> ipAddrResponses = new ArrayList<>();
|
||||||
|
|
||||||
|
if (!getRetrieveOnlyResourceCount()) {
|
||||||
for (IpAddress ipAddress : result.first()) {
|
for (IpAddress ipAddress : result.first()) {
|
||||||
IPAddressResponse ipResponse = _responseGenerator.createIPAddressResponse(getResponseView(), ipAddress);
|
IPAddressResponse ipResponse = _responseGenerator.createIPAddressResponse(getResponseView(), ipAddress);
|
||||||
ipResponse.setObjectName("publicipaddress");
|
ipResponse.setObjectName("publicipaddress");
|
||||||
ipAddrResponses.add(ipResponse);
|
ipAddrResponses.add(ipResponse);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
response.setResponses(ipAddrResponses, result.second());
|
response.setResponses(ipAddrResponses, result.second());
|
||||||
response.setResponseName(getCommandName());
|
response.setResponseName(getCommandName());
|
||||||
|
|||||||
@ -23,12 +23,13 @@ import com.cloud.server.ResourceIcon;
|
|||||||
import com.cloud.server.ResourceTag;
|
import com.cloud.server.ResourceTag;
|
||||||
import org.apache.cloudstack.api.response.NetworkOfferingResponse;
|
import org.apache.cloudstack.api.response.NetworkOfferingResponse;
|
||||||
import org.apache.cloudstack.api.response.ResourceIconResponse;
|
import org.apache.cloudstack.api.response.ResourceIconResponse;
|
||||||
|
import org.apache.commons.lang3.BooleanUtils;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
import org.apache.cloudstack.acl.RoleType;
|
import org.apache.cloudstack.acl.RoleType;
|
||||||
import org.apache.cloudstack.api.APICommand;
|
import org.apache.cloudstack.api.APICommand;
|
||||||
import org.apache.cloudstack.api.ApiConstants;
|
import org.apache.cloudstack.api.ApiConstants;
|
||||||
import org.apache.cloudstack.api.BaseListTaggedResourcesCmd;
|
import org.apache.cloudstack.api.BaseListRetrieveOnlyResourceCountCmd;
|
||||||
import org.apache.cloudstack.api.Parameter;
|
import org.apache.cloudstack.api.Parameter;
|
||||||
import org.apache.cloudstack.api.ResponseObject.ResponseView;
|
import org.apache.cloudstack.api.ResponseObject.ResponseView;
|
||||||
import org.apache.cloudstack.api.command.user.UserCmd;
|
import org.apache.cloudstack.api.command.user.UserCmd;
|
||||||
@ -44,7 +45,7 @@ import org.apache.commons.lang3.StringUtils;
|
|||||||
|
|
||||||
@APICommand(name = "listNetworks", description = "Lists all available networks.", responseObject = NetworkResponse.class, responseView = ResponseView.Restricted, entityType = {Network.class},
|
@APICommand(name = "listNetworks", description = "Lists all available networks.", responseObject = NetworkResponse.class, responseView = ResponseView.Restricted, entityType = {Network.class},
|
||||||
requestHasSensitiveInfo = false, responseHasSensitiveInfo = false)
|
requestHasSensitiveInfo = false, responseHasSensitiveInfo = false)
|
||||||
public class ListNetworksCmd extends BaseListTaggedResourcesCmd implements UserCmd {
|
public class ListNetworksCmd extends BaseListRetrieveOnlyResourceCountCmd implements UserCmd {
|
||||||
public static final Logger s_logger = Logger.getLogger(ListNetworksCmd.class.getName());
|
public static final Logger s_logger = Logger.getLogger(ListNetworksCmd.class.getName());
|
||||||
private static final String s_name = "listnetworksresponse";
|
private static final String s_name = "listnetworksresponse";
|
||||||
|
|
||||||
@ -190,14 +191,11 @@ public class ListNetworksCmd extends BaseListTaggedResourcesCmd implements UserC
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean getDisplay() {
|
public Boolean getDisplay() {
|
||||||
if (display != null) {
|
return BooleanUtils.toBooleanDefaultIfNull(display, super.getDisplay());
|
||||||
return display;
|
|
||||||
}
|
|
||||||
return super.getDisplay();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Boolean getShowIcon() {
|
public Boolean getShowIcon() {
|
||||||
return showIcon != null ? showIcon : false;
|
return BooleanUtils.toBooleanDefaultIfNull(showIcon, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getNetworkFilter() {
|
public String getNetworkFilter() {
|
||||||
@ -215,16 +213,21 @@ public class ListNetworksCmd extends BaseListTaggedResourcesCmd implements UserC
|
|||||||
@Override
|
@Override
|
||||||
public void execute() {
|
public void execute() {
|
||||||
Pair<List<? extends Network>, Integer> networks = _networkService.searchForNetworks(this);
|
Pair<List<? extends Network>, Integer> networks = _networkService.searchForNetworks(this);
|
||||||
ListResponse<NetworkResponse> response = new ListResponse<NetworkResponse>();
|
ListResponse<NetworkResponse> response = new ListResponse<>();
|
||||||
List<NetworkResponse> networkResponses = new ArrayList<NetworkResponse>();
|
List<NetworkResponse> networkResponses = new ArrayList<>();
|
||||||
|
|
||||||
|
if (!getRetrieveOnlyResourceCount()) {
|
||||||
for (Network network : networks.first()) {
|
for (Network network : networks.first()) {
|
||||||
NetworkResponse networkResponse = _responseGenerator.createNetworkResponse(getResponseView(), network);
|
NetworkResponse networkResponse = _responseGenerator.createNetworkResponse(getResponseView(), network);
|
||||||
networkResponses.add(networkResponse);
|
networkResponses.add(networkResponse);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
response.setResponses(networkResponses, networks.second());
|
response.setResponses(networkResponses, networks.second());
|
||||||
response.setResponseName(getCommandName());
|
response.setResponseName(getCommandName());
|
||||||
setResponseObject(response);
|
setResponseObject(response);
|
||||||
if (response != null && response.getCount() > 0 && getShowIcon()) {
|
|
||||||
|
if (!getRetrieveOnlyResourceCount() && response.getCount() > 0 && getShowIcon()) {
|
||||||
updateNetworkResponse(response.getResponses());
|
updateNetworkResponse(response.getResponses());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -26,7 +26,7 @@ import org.apache.cloudstack.api.APICommand;
|
|||||||
import org.apache.cloudstack.api.ApiCommandResourceType;
|
import org.apache.cloudstack.api.ApiCommandResourceType;
|
||||||
import org.apache.cloudstack.api.ApiConstants;
|
import org.apache.cloudstack.api.ApiConstants;
|
||||||
import org.apache.cloudstack.api.ApiConstants.VMDetails;
|
import org.apache.cloudstack.api.ApiConstants.VMDetails;
|
||||||
import org.apache.cloudstack.api.BaseListTaggedResourcesCmd;
|
import org.apache.cloudstack.api.BaseListRetrieveOnlyResourceCountCmd;
|
||||||
import org.apache.cloudstack.api.Parameter;
|
import org.apache.cloudstack.api.Parameter;
|
||||||
import org.apache.cloudstack.api.ResponseObject.ResponseView;
|
import org.apache.cloudstack.api.ResponseObject.ResponseView;
|
||||||
import org.apache.cloudstack.api.command.user.UserCmd;
|
import org.apache.cloudstack.api.command.user.UserCmd;
|
||||||
@ -44,6 +44,7 @@ import org.apache.cloudstack.api.response.UserResponse;
|
|||||||
import org.apache.cloudstack.api.response.UserVmResponse;
|
import org.apache.cloudstack.api.response.UserVmResponse;
|
||||||
import org.apache.cloudstack.api.response.VpcResponse;
|
import org.apache.cloudstack.api.response.VpcResponse;
|
||||||
import org.apache.cloudstack.api.response.ZoneResponse;
|
import org.apache.cloudstack.api.response.ZoneResponse;
|
||||||
|
import org.apache.commons.lang3.BooleanUtils;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
import com.cloud.exception.InvalidParameterValueException;
|
import com.cloud.exception.InvalidParameterValueException;
|
||||||
@ -54,7 +55,7 @@ import com.cloud.vm.VirtualMachine;
|
|||||||
|
|
||||||
@APICommand(name = "listVirtualMachines", description = "List the virtual machines owned by the account.", responseObject = UserVmResponse.class, responseView = ResponseView.Restricted, entityType = {VirtualMachine.class},
|
@APICommand(name = "listVirtualMachines", description = "List the virtual machines owned by the account.", responseObject = UserVmResponse.class, responseView = ResponseView.Restricted, entityType = {VirtualMachine.class},
|
||||||
requestHasSensitiveInfo = false, responseHasSensitiveInfo = true)
|
requestHasSensitiveInfo = false, responseHasSensitiveInfo = true)
|
||||||
public class ListVMsCmd extends BaseListTaggedResourcesCmd implements UserCmd {
|
public class ListVMsCmd extends BaseListRetrieveOnlyResourceCountCmd implements UserCmd {
|
||||||
public static final Logger s_logger = Logger.getLogger(ListVMsCmd.class.getName());
|
public static final Logger s_logger = Logger.getLogger(ListVMsCmd.class.getName());
|
||||||
|
|
||||||
private static final String s_name = "listvirtualmachinesresponse";
|
private static final String s_name = "listvirtualmachinesresponse";
|
||||||
@ -148,7 +149,6 @@ public class ListVMsCmd extends BaseListTaggedResourcesCmd implements UserCmd {
|
|||||||
@Parameter(name = ApiConstants.USER_DATA, type = CommandType.BOOLEAN, description = "Whether to return the VMs' user data or not. By default, user data will not be returned.", since = "4.18.0.0")
|
@Parameter(name = ApiConstants.USER_DATA, type = CommandType.BOOLEAN, description = "Whether to return the VMs' user data or not. By default, user data will not be returned.", since = "4.18.0.0")
|
||||||
private Boolean showUserData;
|
private Boolean showUserData;
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////
|
||||||
/////////////////// Accessors ///////////////////////
|
/////////////////// Accessors ///////////////////////
|
||||||
/////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////
|
||||||
@ -255,14 +255,11 @@ public class ListVMsCmd extends BaseListTaggedResourcesCmd implements UserCmd {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean getDisplay() {
|
public Boolean getDisplay() {
|
||||||
if (display != null) {
|
return BooleanUtils.toBooleanDefaultIfNull(display, super.getDisplay());
|
||||||
return display;
|
|
||||||
}
|
|
||||||
return super.getDisplay();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Boolean getShowIcon() {
|
public Boolean getShowIcon() {
|
||||||
return showIcon != null ? showIcon : false;
|
return BooleanUtils.toBooleanDefaultIfNull(showIcon, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Boolean getAccumulate() {
|
public Boolean getAccumulate() {
|
||||||
|
|||||||
@ -22,7 +22,7 @@ import org.apache.cloudstack.acl.RoleType;
|
|||||||
import org.apache.cloudstack.api.APICommand;
|
import org.apache.cloudstack.api.APICommand;
|
||||||
import org.apache.cloudstack.api.ApiCommandResourceType;
|
import org.apache.cloudstack.api.ApiCommandResourceType;
|
||||||
import org.apache.cloudstack.api.ApiConstants;
|
import org.apache.cloudstack.api.ApiConstants;
|
||||||
import org.apache.cloudstack.api.BaseListTaggedResourcesCmd;
|
import org.apache.cloudstack.api.BaseListRetrieveOnlyResourceCountCmd;
|
||||||
import org.apache.cloudstack.api.Parameter;
|
import org.apache.cloudstack.api.Parameter;
|
||||||
import org.apache.cloudstack.api.ResponseObject.ResponseView;
|
import org.apache.cloudstack.api.ResponseObject.ResponseView;
|
||||||
import org.apache.cloudstack.api.command.user.UserCmd;
|
import org.apache.cloudstack.api.command.user.UserCmd;
|
||||||
@ -35,13 +35,14 @@ import org.apache.cloudstack.api.response.StoragePoolResponse;
|
|||||||
import org.apache.cloudstack.api.response.UserVmResponse;
|
import org.apache.cloudstack.api.response.UserVmResponse;
|
||||||
import org.apache.cloudstack.api.response.VolumeResponse;
|
import org.apache.cloudstack.api.response.VolumeResponse;
|
||||||
import org.apache.cloudstack.api.response.ZoneResponse;
|
import org.apache.cloudstack.api.response.ZoneResponse;
|
||||||
|
import org.apache.commons.lang3.BooleanUtils;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
import com.cloud.storage.Volume;
|
import com.cloud.storage.Volume;
|
||||||
|
|
||||||
@APICommand(name = "listVolumes", description = "Lists all volumes.", responseObject = VolumeResponse.class, responseView = ResponseView.Restricted, entityType = {
|
@APICommand(name = "listVolumes", description = "Lists all volumes.", responseObject = VolumeResponse.class, responseView = ResponseView.Restricted, entityType = {
|
||||||
Volume.class}, requestHasSensitiveInfo = false, responseHasSensitiveInfo = false)
|
Volume.class}, requestHasSensitiveInfo = false, responseHasSensitiveInfo = false)
|
||||||
public class ListVolumesCmd extends BaseListTaggedResourcesCmd implements UserCmd {
|
public class ListVolumesCmd extends BaseListRetrieveOnlyResourceCountCmd implements UserCmd {
|
||||||
public static final Logger s_logger = Logger.getLogger(ListVolumesCmd.class.getName());
|
public static final Logger s_logger = Logger.getLogger(ListVolumesCmd.class.getName());
|
||||||
|
|
||||||
private static final String s_name = "listvolumesresponse";
|
private static final String s_name = "listvolumesresponse";
|
||||||
@ -145,15 +146,13 @@ public class ListVolumesCmd extends BaseListTaggedResourcesCmd implements UserCm
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean getDisplay() {
|
public Boolean getDisplay() {
|
||||||
if (display != null) {
|
return BooleanUtils.toBooleanDefaultIfNull(display, super.getDisplay());
|
||||||
return display;
|
|
||||||
}
|
|
||||||
return super.getDisplay();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getState() {
|
public String getState() {
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
|
||||||
/////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////
|
||||||
/////////////// API Implementation///////////////////
|
/////////////// API Implementation///////////////////
|
||||||
/////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////
|
||||||
|
|||||||
@ -973,7 +973,13 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q
|
|||||||
@Override
|
@Override
|
||||||
public ListResponse<UserVmResponse> searchForUserVMs(ListVMsCmd cmd) {
|
public ListResponse<UserVmResponse> searchForUserVMs(ListVMsCmd cmd) {
|
||||||
Pair<List<UserVmJoinVO>, Integer> result = searchForUserVMsInternal(cmd);
|
Pair<List<UserVmJoinVO>, Integer> result = searchForUserVMsInternal(cmd);
|
||||||
ListResponse<UserVmResponse> response = new ListResponse<UserVmResponse>();
|
ListResponse<UserVmResponse> response = new ListResponse<>();
|
||||||
|
|
||||||
|
if (cmd.getRetrieveOnlyResourceCount()) {
|
||||||
|
response.setResponses(new ArrayList<>(), result.second());
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
ResponseView respView = ResponseView.Restricted;
|
ResponseView respView = ResponseView.Restricted;
|
||||||
Account caller = CallContext.current().getCallingAccount();
|
Account caller = CallContext.current().getCallingAccount();
|
||||||
if (_accountMgr.isRootAdmin(caller.getId())) {
|
if (_accountMgr.isRootAdmin(caller.getId())) {
|
||||||
@ -2062,7 +2068,12 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q
|
|||||||
@Override
|
@Override
|
||||||
public ListResponse<VolumeResponse> searchForVolumes(ListVolumesCmd cmd) {
|
public ListResponse<VolumeResponse> searchForVolumes(ListVolumesCmd cmd) {
|
||||||
Pair<List<VolumeJoinVO>, Integer> result = searchForVolumesInternal(cmd);
|
Pair<List<VolumeJoinVO>, Integer> result = searchForVolumesInternal(cmd);
|
||||||
ListResponse<VolumeResponse> response = new ListResponse<VolumeResponse>();
|
ListResponse<VolumeResponse> response = new ListResponse<>();
|
||||||
|
|
||||||
|
if (cmd.getRetrieveOnlyResourceCount()) {
|
||||||
|
response.setResponses(new ArrayList<>(), result.second());
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
ResponseView respView = cmd.getResponseView();
|
ResponseView respView = cmd.getResponseView();
|
||||||
Account account = CallContext.current().getCallingAccount();
|
Account account = CallContext.current().getCallingAccount();
|
||||||
|
|||||||
@ -169,7 +169,7 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
fetchData () {
|
fetchData () {
|
||||||
this.stats = [{}, {}, {}, {}, {}, {}]
|
this.stats = [{}, {}, {}, {}, {}, {}]
|
||||||
api('listVirtualMachines', { state: 'Running', listall: true }).then(json => {
|
api('listVirtualMachines', { state: 'Running', listall: true, retrieveonlyresourcecount: true }).then(json => {
|
||||||
var count = 0
|
var count = 0
|
||||||
if (json && json.listvirtualmachinesresponse) {
|
if (json && json.listvirtualmachinesresponse) {
|
||||||
count = json.listvirtualmachinesresponse.count
|
count = json.listvirtualmachinesresponse.count
|
||||||
@ -177,7 +177,7 @@ export default {
|
|||||||
var tileColor = this.$config.theme['@dashboard-tile-runningvms-bg'] || '#dfe9cc'
|
var tileColor = this.$config.theme['@dashboard-tile-runningvms-bg'] || '#dfe9cc'
|
||||||
this.stats.splice(0, 1, { name: this.$t('label.running.vms'), count: count, icon: 'desktop-outlined', bgcolor: tileColor, path: '/vm', query: { state: 'running', filter: 'running' } })
|
this.stats.splice(0, 1, { name: this.$t('label.running.vms'), count: count, icon: 'desktop-outlined', bgcolor: tileColor, path: '/vm', query: { state: 'running', filter: 'running' } })
|
||||||
})
|
})
|
||||||
api('listVirtualMachines', { state: 'Stopped', listall: true }).then(json => {
|
api('listVirtualMachines', { state: 'Stopped', listall: true, retrieveonlyresourcecount: true }).then(json => {
|
||||||
var count = 0
|
var count = 0
|
||||||
if (json && json.listvirtualmachinesresponse) {
|
if (json && json.listvirtualmachinesresponse) {
|
||||||
count = json.listvirtualmachinesresponse.count
|
count = json.listvirtualmachinesresponse.count
|
||||||
@ -185,7 +185,7 @@ export default {
|
|||||||
var tileColor = this.$config.theme['@dashboard-tile-stoppedvms-bg'] || '#edcbce'
|
var tileColor = this.$config.theme['@dashboard-tile-stoppedvms-bg'] || '#edcbce'
|
||||||
this.stats.splice(1, 1, { name: this.$t('label.stopped.vms'), count: count, icon: 'poweroff-outlined', bgcolor: tileColor, path: '/vm', query: { state: 'stopped', filter: 'stopped' } })
|
this.stats.splice(1, 1, { name: this.$t('label.stopped.vms'), count: count, icon: 'poweroff-outlined', bgcolor: tileColor, path: '/vm', query: { state: 'stopped', filter: 'stopped' } })
|
||||||
})
|
})
|
||||||
api('listVirtualMachines', { listall: true }).then(json => {
|
api('listVirtualMachines', { listall: true, retrieveonlyresourcecount: true }).then(json => {
|
||||||
var count = 0
|
var count = 0
|
||||||
if (json && json.listvirtualmachinesresponse) {
|
if (json && json.listvirtualmachinesresponse) {
|
||||||
count = json.listvirtualmachinesresponse.count
|
count = json.listvirtualmachinesresponse.count
|
||||||
@ -193,7 +193,7 @@ export default {
|
|||||||
var tileColor = this.$config.theme['@dashboard-tile-totalvms-bg'] || '#ffffff'
|
var tileColor = this.$config.theme['@dashboard-tile-totalvms-bg'] || '#ffffff'
|
||||||
this.stats.splice(2, 1, { name: this.$t('label.total.vms'), count: count, icon: 'number-outlined', bgcolor: tileColor, path: '/vm' })
|
this.stats.splice(2, 1, { name: this.$t('label.total.vms'), count: count, icon: 'number-outlined', bgcolor: tileColor, path: '/vm' })
|
||||||
})
|
})
|
||||||
api('listVolumes', { listall: true }).then(json => {
|
api('listVolumes', { listall: true, retrieveonlyresourcecount: true }).then(json => {
|
||||||
var count = 0
|
var count = 0
|
||||||
if (json && json.listvolumesresponse) {
|
if (json && json.listvolumesresponse) {
|
||||||
count = json.listvolumesresponse.count
|
count = json.listvolumesresponse.count
|
||||||
@ -201,7 +201,7 @@ export default {
|
|||||||
var tileColor = this.$config.theme['@dashboard-tile-totalvolumes-bg'] || '#ffffff'
|
var tileColor = this.$config.theme['@dashboard-tile-totalvolumes-bg'] || '#ffffff'
|
||||||
this.stats.splice(3, 1, { name: this.$t('label.total.volume'), count: count, icon: 'database-outlined', bgcolor: tileColor, path: '/volume' })
|
this.stats.splice(3, 1, { name: this.$t('label.total.volume'), count: count, icon: 'database-outlined', bgcolor: tileColor, path: '/volume' })
|
||||||
})
|
})
|
||||||
api('listNetworks', { listall: true }).then(json => {
|
api('listNetworks', { listall: true, retrieveonlyresourcecount: true }).then(json => {
|
||||||
var count = 0
|
var count = 0
|
||||||
if (json && json.listnetworksresponse) {
|
if (json && json.listnetworksresponse) {
|
||||||
count = json.listnetworksresponse.count
|
count = json.listnetworksresponse.count
|
||||||
@ -209,7 +209,7 @@ export default {
|
|||||||
var tileColor = this.$config.theme['@dashboard-tile-totalnetworks-bg'] || '#ffffff'
|
var tileColor = this.$config.theme['@dashboard-tile-totalnetworks-bg'] || '#ffffff'
|
||||||
this.stats.splice(4, 1, { name: this.$t('label.total.network'), count: count, icon: 'apartment-outlined', bgcolor: tileColor, path: '/guestnetwork' })
|
this.stats.splice(4, 1, { name: this.$t('label.total.network'), count: count, icon: 'apartment-outlined', bgcolor: tileColor, path: '/guestnetwork' })
|
||||||
})
|
})
|
||||||
api('listPublicIpAddresses', { listall: true }).then(json => {
|
api('listPublicIpAddresses', { listall: true, retrieveonlyresourcecount: true }).then(json => {
|
||||||
var count = 0
|
var count = 0
|
||||||
if (json && json.listpublicipaddressesresponse) {
|
if (json && json.listpublicipaddressesresponse) {
|
||||||
count = json.listpublicipaddressesresponse.count
|
count = json.listpublicipaddressesresponse.count
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user