Search in sources :

Example 1 with ResourceLimitResponse

use of org.apache.cloudstack.api.response.ResourceLimitResponse in project cloudstack by apache.

the class UpdateResourceLimitCmd method execute.

@Override
public void execute() {
    ResourceLimit result = _resourceLimitService.updateResourceLimit(_accountService.finalyzeAccountId(accountName, domainId, projectId, true), getDomainId(), resourceType, max);
    if (result != null || (result == null && max != null && max.longValue() == -1L)) {
        ResourceLimitResponse response = _responseGenerator.createResourceLimitResponse(result);
        response.setResponseName(getCommandName());
        this.setResponseObject(response);
    } else {
        throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to update resource limit");
    }
}
Also used : ServerApiException(org.apache.cloudstack.api.ServerApiException) ResourceLimitResponse(org.apache.cloudstack.api.response.ResourceLimitResponse) ResourceLimit(com.cloud.configuration.ResourceLimit)

Example 2 with ResourceLimitResponse

use of org.apache.cloudstack.api.response.ResourceLimitResponse in project cloudstack by apache.

the class ApiResponseHelper method createResourceLimitResponse.

@Override
public ResourceLimitResponse createResourceLimitResponse(ResourceLimit limit) {
    ResourceLimitResponse resourceLimitResponse = new ResourceLimitResponse();
    if (limit.getResourceOwnerType() == ResourceOwnerType.Domain) {
        populateDomain(resourceLimitResponse, limit.getOwnerId());
    } else if (limit.getResourceOwnerType() == ResourceOwnerType.Account) {
        Account accountTemp = ApiDBUtils.findAccountById(limit.getOwnerId());
        populateAccount(resourceLimitResponse, limit.getOwnerId());
        populateDomain(resourceLimitResponse, accountTemp.getDomainId());
    }
    resourceLimitResponse.setResourceType(limit.getType());
    if ((limit.getType() == ResourceType.primary_storage || limit.getType() == ResourceType.secondary_storage) && limit.getMax() >= 0) {
        resourceLimitResponse.setMax((long) Math.ceil((double) limit.getMax() / ResourceType.bytesToGiB));
    } else {
        resourceLimitResponse.setMax(limit.getMax());
    }
    resourceLimitResponse.setObjectName("resourcelimit");
    return resourceLimitResponse;
}
Also used : ProjectAccount(com.cloud.projects.ProjectAccount) UserAccount(com.cloud.user.UserAccount) Account(com.cloud.user.Account) ResourceLimitResponse(org.apache.cloudstack.api.response.ResourceLimitResponse)

Example 3 with ResourceLimitResponse

use of org.apache.cloudstack.api.response.ResourceLimitResponse in project cloudstack by apache.

the class ListResourceLimitsCmd method execute.

@Override
public void execute() {
    List<? extends ResourceLimit> result = _resourceLimitService.searchForLimits(id, _accountService.finalyzeAccountId(this.getAccountName(), this.getDomainId(), this.getProjectId(), false), this.getDomainId(), getResourceTypeEnum(), this.getStartIndex(), this.getPageSizeVal());
    ListResponse<ResourceLimitResponse> response = new ListResponse<ResourceLimitResponse>();
    List<ResourceLimitResponse> limitResponses = new ArrayList<ResourceLimitResponse>();
    for (ResourceLimit limit : result) {
        ResourceLimitResponse resourceLimitResponse = _responseGenerator.createResourceLimitResponse(limit);
        resourceLimitResponse.setObjectName("resourcelimit");
        limitResponses.add(resourceLimitResponse);
    }
    response.setResponses(limitResponses);
    response.setResponseName(getCommandName());
    this.setResponseObject(response);
}
Also used : ListResponse(org.apache.cloudstack.api.response.ListResponse) ResourceLimitResponse(org.apache.cloudstack.api.response.ResourceLimitResponse) ArrayList(java.util.ArrayList) ResourceLimit(com.cloud.configuration.ResourceLimit)

Aggregations

ResourceLimitResponse (org.apache.cloudstack.api.response.ResourceLimitResponse)3 ResourceLimit (com.cloud.configuration.ResourceLimit)2 ProjectAccount (com.cloud.projects.ProjectAccount)1 Account (com.cloud.user.Account)1 UserAccount (com.cloud.user.UserAccount)1 ArrayList (java.util.ArrayList)1 ServerApiException (org.apache.cloudstack.api.ServerApiException)1 ListResponse (org.apache.cloudstack.api.response.ListResponse)1