blob: d16668a68955898aa83bf939e2d12fe1f447daf2 [file] [log] [blame]
Khen Nursimuluaaac7ee2016-12-11 22:03:52 -05001// Copyright (c) 2015, Google Inc.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// This file contains annotation definitions that can be used to describe
16// a configuration tree.
17
18syntax = "proto3";
19
20package voltha;
21
22import "google/protobuf/descriptor.proto";
23
24message ChildNode {
25 string key = 1;
26}
27
28enum Access {
29 CONFIG = 0; // read-write, stored
30 READ_ONLY = 1; // read-only field
31}
32
33extend google.protobuf.FieldOptions {
34
35 // If present, it indicates that this field is stored as external child node
36 // or children nodes in Voltha's internal configuration tree.
37 // If the field is a container field and if the option specifies a key
38 // the child objects will be addressible by that key.
39 ChildNode child_node = 7761772;
40
41 // This annotation can be used to indicate that a field is read-only,
42 // from the perspective of NBI access. Backend plugins and system
43 // internals can update the field but the update requests through the
44 // NBI will ignore for instance a field that is marked as read-only (RO).
45 Access access = 7761773;
46}