/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package com.emc.vipr.client.core; import java.net.URI; import java.util.List; import com.emc.storageos.model.auth.ACLAssignmentChanges; import com.emc.storageos.model.auth.ACLEntry; /** * Interface for resources which support ACLs. */ public interface ACLResources { /** * Gets the ACL entries for a given resource by ID. * <p> * API Call: GET <tt><i>baseUrl</i>/{id}/acl</tt> * * @param id * the resource ID. * @return the list of ACL entries. */ public List<ACLEntry> getACLs(URI id); /** * Updates the ACL entries for a given resource by ID. * <p> * API Call: PUT <tt><i>baseUrl</i>/{id}/acl</tt> * * @param id * the resource ID. * @param aclChanges * the ACL changes to perform (ACL entries to add/remove). * @return the resulting list of ACL entries after performing the update. */ public List<ACLEntry> updateACLs(URI id, ACLAssignmentChanges aclChanges); }