All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.narcissujsk.openstackjsk.api.networking.ext.NetQuotaService Maven / Gradle / Ivy

The newest version!
package com.github.narcissujsk.openstackjsk.api.networking.ext;

import java.util.List;

import com.github.narcissujsk.openstackjsk.common.RestService;
import com.github.narcissujsk.openstackjsk.model.common.ActionResponse;
import com.github.narcissujsk.openstackjsk.model.network.NetQuota;
import com.github.narcissujsk.openstackjsk.model.network.builder.NetQuotaBuilder;

/**
 * Networking (Neutron) Quota Extension API
 * 
 * @author Jeremy Unruh
 */
public interface NetQuotaService extends RestService {
    
    /**
     * Lists quotas for tenants who have non-default quota values, and lists, updates, and resets quotas for a tenan
     * 
     * @return the list of quotas
     */
    List get();
    
    /**
     * Fetches the network quotas for the specified tenant
     * 
     * @param tenantId the tenant identifier
     * @return the tenants quota
     */
    NetQuota get(String tenantId);
    
    /**
     * Updates the network quotas for the current tenant
     * 
     * @param netQuota the net quota to update
     * @return the updated network quota
     * @see NetQuotaBuilder
     */
    NetQuota update(NetQuota netQuota);
    
    /**
     * Updates the network quotas for the specified tenant
     * 
     * @param tenantId the tenant identifier
     * @param netQuota the net quota to update
     * @return the updated network quota
     * @see NetQuotaBuilder
     */
    NetQuota updateForTenant(String tenantId, NetQuota netQuota);
    
    /**
     * Resets the current network quota for the current tenant back to defaults
     * @return the action response
     */
    ActionResponse reset();

    /**
     * Resets the current network quota for the current tenant back to defaults
     * 
     * @param netQuota the net quota to update
     * @return the action response
     */
    ActionResponse reset(String tenantId);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy