HBASE-23232 Remove rsgroup profile from pom.xml of hbase-assembly (#779)
[hbase.git] / hbase-protocol-shaded / src / main / protobuf / Snapshot.proto
blob5faa7ab822b692aa6f4c965f5f6156e4e3a19a49
1 /**
2  * Licensed to the Apache Software Foundation (ASF) under one
3  * or more contributor license agreements.  See the NOTICE file
4  * distributed with this work for additional information
5  * regarding copyright ownership.  The ASF licenses this file
6  * to you under the Apache License, Version 2.0 (the
7  * "License"); you may not use this file except in compliance
8  * with the License.  You may obtain a copy of the License at
9  *
10  *     http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18 syntax = "proto2";
19 package hbase.pb;
21 option java_package = "org.apache.hadoop.hbase.shaded.protobuf.generated";
22 option java_outer_classname = "SnapshotProtos";
23 option java_generic_services = true;
24 option java_generate_equals_and_hash = true;
25 option optimize_for = SPEED;
27 import "AccessControl.proto";
28 import "FS.proto";
29 import "HBase.proto";
31 /**
32  * Description of the snapshot to take
33  */
34 message SnapshotDescription {
35   required string name = 1;
36   optional string table = 2; // not needed for delete, but checked for in taking snapshot
37   optional int64 creation_time = 3 [default = 0];
38   enum Type {
39     DISABLED = 0;
40     FLUSH = 1;
41     SKIPFLUSH = 2;
42   }
43   optional Type type = 4 [default = FLUSH];
44   optional int32 version = 5;
45   optional string owner = 6;
46   optional UsersAndPermissions users_and_permissions = 7;
47   optional int64 ttl = 8 [default = 0];
50 message SnapshotFileInfo {
51   enum Type {
52     HFILE = 1;
53     WAL = 2;
54   }
56   required Type type = 1;
58   optional string hfile = 3;
60   optional string wal_server = 4;
61   optional string wal_name = 5;
64 message SnapshotRegionManifest {
65   optional int32 version = 1;
67   required RegionInfo region_info = 2;
68   repeated FamilyFiles family_files = 3;
70   message StoreFile {
71     required string name = 1;
72     optional Reference reference = 2;
74     // TODO: Add checksums or other fields to verify the file
75     optional uint64 file_size = 3;
76   }
78   message FamilyFiles {
79     required bytes family_name = 1;
80     repeated StoreFile store_files = 2;
81   }
84 message SnapshotDataManifest {
85   required TableSchema table_schema = 1;
86   repeated SnapshotRegionManifest region_manifests = 2;