package io.cattle.platform.api.auth;
import java.util.List;
import java.util.Set;
public interface Policy {
public static final String AGENT_ID = "agentId";
public static final String LIST_ALL_ACCOUNTS = "list.all.accounts";
public static final String AUTHORIZED_FOR_ALL_ACCOUNTS = "all.accounts";
public static final String LIST_ALL_SETTINGS = "list.all.settings";
public static final String PLAIN_ID = "plain.id";
public static final String PLAIN_ID_OPTION = "plain.id.option";
public static final String ASSIGNED_ROLE = "assigned.role";
public static final long NO_ACCOUNT = -1L;
boolean isOption(String optionName);
String getOption(String optionName);
Set<Identity> getIdentities();
long getAccountId();
long getAuthenticatedAsAccountId();
String getUserName();
<T> List<T> authorizeList(List<T> list);
<T> T authorizeObject(T obj);
<T> void grantObjectAccess(T obj);
Set<String> getRoles();
}