package io.cattle.platform.iaas.api.auth; import io.cattle.platform.api.auth.Identity; import io.cattle.platform.api.auth.Policy; import io.cattle.platform.core.model.Account; import io.github.ibuildthecloud.gdapi.factory.SchemaFactory; import io.github.ibuildthecloud.gdapi.request.ApiRequest; import java.util.Set; public interface AuthorizationProvider { SchemaFactory getSchemaFactory(Account account, Policy policy, ApiRequest request); String getRole(Account account, Policy policy, ApiRequest request); Policy getPolicy(Account account, Account authenticatedAsAccount, Set<Identity> identities, ApiRequest request); }