/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ option java_package = "org.apache.hadoop.hbase.protobuf.generated"; option java_outer_classname = "AccessControlProtos"; option java_generic_services = true; option java_generate_equals_and_hash = true; option optimize_for = SPEED; message Permission { enum Action { READ = 0; WRITE = 1; EXEC = 2; CREATE = 3; ADMIN = 4; } repeated Action action = 1; optional bytes table = 2; optional bytes family = 3; optional bytes qualifier = 4; } message UserPermission { required bytes user = 1; required Permission permission = 2; } /** * Content of the /hbase/acl/ znode. */ message UserTablePermissions { message UserPermissions { required bytes user = 1; repeated Permission permissions = 2; } repeated UserPermissions permissions = 1; } message GrantRequest { required UserPermission permission = 1; } message GrantResponse { } message RevokeRequest { required UserPermission permission = 1; } message RevokeResponse { } message UserPermissionsRequest { optional bytes table = 1; } message UserPermissionsResponse { repeated UserPermission permission = 1; } message CheckPermissionsRequest { repeated Permission permission = 1; } message CheckPermissionsResponse { } service AccessControlService { rpc grant(GrantRequest) returns (GrantResponse); rpc revoke(RevokeRequest) returns (RevokeResponse); rpc getUserPermissions(UserPermissionsRequest) returns (UserPermissionsResponse); rpc checkPermissions(CheckPermissionsRequest) returns (CheckPermissionsResponse); }