|  | @@ -0,0 +1,104 @@
 | 
	
		
			
				|  |  | +// Protocol Buffers - Google's data interchange format
 | 
	
		
			
				|  |  | +// Copyright 2008 Google Inc.  All rights reserved.
 | 
	
		
			
				|  |  | +// https://developers.google.com/protocol-buffers/
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +// Redistribution and use in source and binary forms, with or without
 | 
	
		
			
				|  |  | +// modification, are permitted provided that the following conditions are
 | 
	
		
			
				|  |  | +// met:
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//     * Redistributions of source code must retain the above copyright
 | 
	
		
			
				|  |  | +// notice, this list of conditions and the following disclaimer.
 | 
	
		
			
				|  |  | +//     * Redistributions in binary form must reproduce the above
 | 
	
		
			
				|  |  | +// copyright notice, this list of conditions and the following disclaimer
 | 
	
		
			
				|  |  | +// in the documentation and/or other materials provided with the
 | 
	
		
			
				|  |  | +// distribution.
 | 
	
		
			
				|  |  | +//     * Neither the name of Google Inc. nor the names of its
 | 
	
		
			
				|  |  | +// contributors may be used to endorse or promote products derived from
 | 
	
		
			
				|  |  | +// this software without specific prior written permission.
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 | 
	
		
			
				|  |  | +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 | 
	
		
			
				|  |  | +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 | 
	
		
			
				|  |  | +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 | 
	
		
			
				|  |  | +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 | 
	
		
			
				|  |  | +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 | 
	
		
			
				|  |  | +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 | 
	
		
			
				|  |  | +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 | 
	
		
			
				|  |  | +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 | 
	
		
			
				|  |  | +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 | 
	
		
			
				|  |  | +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
	
		
			
				|  |  | +syntax = "proto3";
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +package google.protobuf;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +import "google/protobuf/source_context.proto";
 | 
	
		
			
				|  |  | +import "google/protobuf/type.proto";
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +option java_multiple_files = true;
 | 
	
		
			
				|  |  | +option java_outer_classname = "ApiProto";
 | 
	
		
			
				|  |  | +option java_package = "com.google.protobuf";
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +// Api is a light-weight descriptor for a protocol buffer service.
 | 
	
		
			
				|  |  | +message Api {
 | 
	
		
			
				|  |  | +  // The fully qualified name of this api, including package name
 | 
	
		
			
				|  |  | +  // followed by the api's simple name.
 | 
	
		
			
				|  |  | +  string name = 1;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  // The methods of this api, in unspecified order.
 | 
	
		
			
				|  |  | +  repeated Method methods = 2;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  // Any metadata attached to the API.
 | 
	
		
			
				|  |  | +  repeated Option options = 3;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  // A version string for this api. If specified, must have the form
 | 
	
		
			
				|  |  | +  // `major-version.minor-version`, as in `1.10`. If the minor version
 | 
	
		
			
				|  |  | +  // is omitted, it defaults to zero. If the entire version field is
 | 
	
		
			
				|  |  | +  // empty, the major version is derived from the package name, as
 | 
	
		
			
				|  |  | +  // outlined below. If the field is not empty, the version in the
 | 
	
		
			
				|  |  | +  // package name will be verified to be consistent with what is
 | 
	
		
			
				|  |  | +  // provided here.
 | 
	
		
			
				|  |  | +  //
 | 
	
		
			
				|  |  | +  // The versioning schema uses [semantic
 | 
	
		
			
				|  |  | +  // versioning](http://semver.org) where the major version number
 | 
	
		
			
				|  |  | +  // indicates a breaking change and the minor version an additive,
 | 
	
		
			
				|  |  | +  // non-breaking change. Both version numbers are signals to users
 | 
	
		
			
				|  |  | +  // what to expect from different versions, and should be carefully
 | 
	
		
			
				|  |  | +  // chosen based on the product plan.
 | 
	
		
			
				|  |  | +  //
 | 
	
		
			
				|  |  | +  // The major version is also reflected in the package name of the
 | 
	
		
			
				|  |  | +  // API, which must end in `v<major-version>`, as in
 | 
	
		
			
				|  |  | +  // `google.feature.v1`. For major versions 0 and 1, the suffix can
 | 
	
		
			
				|  |  | +  // be omitted. Zero major versions must only be used for
 | 
	
		
			
				|  |  | +  // experimental, none-GA apis.
 | 
	
		
			
				|  |  | +  //
 | 
	
		
			
				|  |  | +  // See also: [design doc](http://go/api-versioning).
 | 
	
		
			
				|  |  | +  //
 | 
	
		
			
				|  |  | +  //
 | 
	
		
			
				|  |  | +  string version = 4;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  // Source context for the protocol buffer service represented by this
 | 
	
		
			
				|  |  | +  // message.
 | 
	
		
			
				|  |  | +  SourceContext source_context = 5;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +// Method represents a method of an api.
 | 
	
		
			
				|  |  | +message Method {
 | 
	
		
			
				|  |  | +  // The simple name of this method.
 | 
	
		
			
				|  |  | +  string name = 1;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  // A URL of the input message type.
 | 
	
		
			
				|  |  | +  string request_type_url = 2;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  // If true, the request is streamed.
 | 
	
		
			
				|  |  | +  bool request_streaming = 3;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  // The URL of the output message type.
 | 
	
		
			
				|  |  | +  string response_type_url = 4;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  // If true, the response is streamed.
 | 
	
		
			
				|  |  | +  bool response_streaming = 5;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  // Any metadata attached to the method.
 | 
	
		
			
				|  |  | +  repeated Option options = 6;
 | 
	
		
			
				|  |  | +}
 |