1 // Code generated by protoc-gen-go. DO NOT EDIT.
2 // source: google/protobuf/api.proto
5 Package api is a generated protocol buffer package.
7 It is generated from these files:
8 google/protobuf/api.proto
10 It has these top-level messages:
17 import proto "github.com/golang/protobuf/proto"
20 import google_protobuf "google.golang.org/genproto/protobuf/source_context"
21 import google_protobuf2 "google.golang.org/genproto/protobuf/ptype"
23 // Reference imports to suppress errors if they are not otherwise used.
28 // This is a compile-time assertion to ensure that this generated file
29 // is compatible with the proto package it is being compiled against.
30 // A compilation error at this line likely means your copy of the
31 // proto package needs to be updated.
32 const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
34 // Api is a light-weight descriptor for an API Interface.
36 // Interfaces are also described as "protocol buffer services" in some contexts,
37 // such as by the "service" keyword in a .proto file, but they are different
38 // from API Services, which represent a concrete implementation of an interface
39 // as opposed to simply a description of methods and bindings. They are also
40 // sometimes simply referred to as "APIs" in other contexts, such as the name of
41 // this message itself. See https://cloud.google.com/apis/design/glossary for
42 // detailed terminology.
44 // The fully qualified name of this interface, including package name
45 // followed by the interface's simple name.
46 Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
47 // The methods of this interface, in unspecified order.
48 Methods []*Method `protobuf:"bytes,2,rep,name=methods" json:"methods,omitempty"`
49 // Any metadata attached to the interface.
50 Options []*google_protobuf2.Option `protobuf:"bytes,3,rep,name=options" json:"options,omitempty"`
51 // A version string for this interface. If specified, must have the form
52 // `major-version.minor-version`, as in `1.10`. If the minor version is
53 // omitted, it defaults to zero. If the entire version field is empty, the
54 // major version is derived from the package name, as outlined below. If the
55 // field is not empty, the version in the package name will be verified to be
56 // consistent with what is provided here.
58 // The versioning schema uses [semantic
59 // versioning](http://semver.org) where the major version number
60 // indicates a breaking change and the minor version an additive,
61 // non-breaking change. Both version numbers are signals to users
62 // what to expect from different versions, and should be carefully
63 // chosen based on the product plan.
65 // The major version is also reflected in the package name of the
66 // interface, which must end in `v<major-version>`, as in
67 // `google.feature.v1`. For major versions 0 and 1, the suffix can
68 // be omitted. Zero major versions must only be used for
69 // experimental, non-GA interfaces.
72 Version string `protobuf:"bytes,4,opt,name=version" json:"version,omitempty"`
73 // Source context for the protocol buffer service represented by this
75 SourceContext *google_protobuf.SourceContext `protobuf:"bytes,5,opt,name=source_context,json=sourceContext" json:"source_context,omitempty"`
76 // Included interfaces. See [Mixin][].
77 Mixins []*Mixin `protobuf:"bytes,6,rep,name=mixins" json:"mixins,omitempty"`
78 // The source syntax of the service.
79 Syntax google_protobuf2.Syntax `protobuf:"varint,7,opt,name=syntax,enum=google.protobuf.Syntax" json:"syntax,omitempty"`
82 func (m *Api) Reset() { *m = Api{} }
83 func (m *Api) String() string { return proto.CompactTextString(m) }
84 func (*Api) ProtoMessage() {}
85 func (*Api) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
87 func (m *Api) GetName() string {
94 func (m *Api) GetMethods() []*Method {
101 func (m *Api) GetOptions() []*google_protobuf2.Option {
108 func (m *Api) GetVersion() string {
115 func (m *Api) GetSourceContext() *google_protobuf.SourceContext {
117 return m.SourceContext
122 func (m *Api) GetMixins() []*Mixin {
129 func (m *Api) GetSyntax() google_protobuf2.Syntax {
133 return google_protobuf2.Syntax_SYNTAX_PROTO2
136 // Method represents a method of an API interface.
138 // The simple name of this method.
139 Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
140 // A URL of the input message type.
141 RequestTypeUrl string `protobuf:"bytes,2,opt,name=request_type_url,json=requestTypeUrl" json:"request_type_url,omitempty"`
142 // If true, the request is streamed.
143 RequestStreaming bool `protobuf:"varint,3,opt,name=request_streaming,json=requestStreaming" json:"request_streaming,omitempty"`
144 // The URL of the output message type.
145 ResponseTypeUrl string `protobuf:"bytes,4,opt,name=response_type_url,json=responseTypeUrl" json:"response_type_url,omitempty"`
146 // If true, the response is streamed.
147 ResponseStreaming bool `protobuf:"varint,5,opt,name=response_streaming,json=responseStreaming" json:"response_streaming,omitempty"`
148 // Any metadata attached to the method.
149 Options []*google_protobuf2.Option `protobuf:"bytes,6,rep,name=options" json:"options,omitempty"`
150 // The source syntax of this method.
151 Syntax google_protobuf2.Syntax `protobuf:"varint,7,opt,name=syntax,enum=google.protobuf.Syntax" json:"syntax,omitempty"`
154 func (m *Method) Reset() { *m = Method{} }
155 func (m *Method) String() string { return proto.CompactTextString(m) }
156 func (*Method) ProtoMessage() {}
157 func (*Method) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
159 func (m *Method) GetName() string {
166 func (m *Method) GetRequestTypeUrl() string {
168 return m.RequestTypeUrl
173 func (m *Method) GetRequestStreaming() bool {
175 return m.RequestStreaming
180 func (m *Method) GetResponseTypeUrl() string {
182 return m.ResponseTypeUrl
187 func (m *Method) GetResponseStreaming() bool {
189 return m.ResponseStreaming
194 func (m *Method) GetOptions() []*google_protobuf2.Option {
201 func (m *Method) GetSyntax() google_protobuf2.Syntax {
205 return google_protobuf2.Syntax_SYNTAX_PROTO2
208 // Declares an API Interface to be included in this interface. The including
209 // interface must redeclare all the methods from the included interface, but
210 // documentation and options are inherited as follows:
212 // - If after comment and whitespace stripping, the documentation
213 // string of the redeclared method is empty, it will be inherited
214 // from the original method.
216 // - Each annotation belonging to the service config (http,
217 // visibility) which is not set in the redeclared method will be
220 // - If an http annotation is inherited, the path pattern will be
221 // modified as follows. Any version prefix will be replaced by the
222 // version of the including interface plus the [root][] path if
225 // Example of a simple mixin:
227 // package google.acl.v1;
228 // service AccessControl {
229 // // Get the underlying ACL object.
230 // rpc GetAcl(GetAclRequest) returns (Acl) {
231 // option (google.api.http).get = "/v1/{resource=**}:getAcl";
235 // package google.storage.v2;
237 // rpc GetAcl(GetAclRequest) returns (Acl);
239 // // Get a data record.
240 // rpc GetData(GetDataRequest) returns (Data) {
241 // option (google.api.http).get = "/v2/{resource=**}";
245 // Example of a mixin configuration:
248 // - name: google.storage.v2.Storage
250 // - name: google.acl.v1.AccessControl
252 // The mixin construct implies that all methods in `AccessControl` are
253 // also declared with same name and request/response types in
254 // `Storage`. A documentation generator or annotation processor will
255 // see the effective `Storage.GetAcl` method after inherting
256 // documentation and annotations as follows:
259 // // Get the underlying ACL object.
260 // rpc GetAcl(GetAclRequest) returns (Acl) {
261 // option (google.api.http).get = "/v2/{resource=**}:getAcl";
266 // Note how the version in the path pattern changed from `v1` to `v2`.
268 // If the `root` field in the mixin is specified, it should be a
269 // relative path under which inherited HTTP paths are placed. Example:
272 // - name: google.storage.v2.Storage
274 // - name: google.acl.v1.AccessControl
277 // This implies the following inherited HTTP annotation:
280 // // Get the underlying ACL object.
281 // rpc GetAcl(GetAclRequest) returns (Acl) {
282 // option (google.api.http).get = "/v2/acls/{resource=**}:getAcl";
287 // The fully qualified name of the interface which is included.
288 Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
289 // If non-empty specifies a path under which inherited HTTP paths
291 Root string `protobuf:"bytes,2,opt,name=root" json:"root,omitempty"`
294 func (m *Mixin) Reset() { *m = Mixin{} }
295 func (m *Mixin) String() string { return proto.CompactTextString(m) }
296 func (*Mixin) ProtoMessage() {}
297 func (*Mixin) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
299 func (m *Mixin) GetName() string {
306 func (m *Mixin) GetRoot() string {
314 proto.RegisterType((*Api)(nil), "google.protobuf.Api")
315 proto.RegisterType((*Method)(nil), "google.protobuf.Method")
316 proto.RegisterType((*Mixin)(nil), "google.protobuf.Mixin")
319 func init() { proto.RegisterFile("google/protobuf/api.proto", fileDescriptor0) }
321 var fileDescriptor0 = []byte{
322 // 432 bytes of a gzipped FileDescriptorProto
323 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0xcf, 0x8e, 0xd3, 0x30,
324 0x10, 0xc6, 0x95, 0xa4, 0x4d, 0x17, 0xaf, 0xe8, 0x82, 0x91, 0xc0, 0xf4, 0xb0, 0x8a, 0x56, 0x1c,
325 0x22, 0x2a, 0x12, 0x51, 0x8e, 0x9c, 0x5a, 0x84, 0x7a, 0x40, 0x88, 0x28, 0x05, 0x21, 0x71, 0xa9,
326 0xd2, 0x62, 0x82, 0xa5, 0xc4, 0x63, 0x6c, 0x07, 0xda, 0xd7, 0xe1, 0xc8, 0x91, 0x37, 0xe0, 0xcd,
327 0x50, 0x9c, 0xb8, 0x7f, 0xd2, 0x22, 0xb1, 0x37, 0x8f, 0xbf, 0xdf, 0x7c, 0x99, 0xf9, 0xac, 0xa0,
328 0xc7, 0x39, 0x40, 0x5e, 0xd0, 0x58, 0x48, 0xd0, 0xb0, 0xaa, 0xbe, 0xc4, 0x99, 0x60, 0x91, 0x29,
329 0xf0, 0x55, 0x23, 0x45, 0x56, 0x1a, 0x3d, 0xe9, 0xb2, 0x0a, 0x2a, 0xb9, 0xa6, 0xcb, 0x35, 0x70,
330 0x4d, 0x37, 0xba, 0x01, 0x47, 0xa3, 0x2e, 0xa5, 0xb7, 0xa2, 0x35, 0xb9, 0xf9, 0xe3, 0x22, 0x6f,
331 0x2a, 0x18, 0xc6, 0xa8, 0xc7, 0xb3, 0x92, 0x12, 0x27, 0x70, 0xc2, 0x3b, 0xa9, 0x39, 0xe3, 0xe7,
332 0x68, 0x50, 0x52, 0xfd, 0x15, 0x3e, 0x2b, 0xe2, 0x06, 0x5e, 0x78, 0x39, 0x79, 0x14, 0x75, 0x06,
333 0x88, 0xde, 0x1a, 0x3d, 0xb5, 0x5c, 0xdd, 0x02, 0x42, 0x33, 0xe0, 0x8a, 0x78, 0xff, 0x68, 0x79,
334 0x67, 0xf4, 0xd4, 0x72, 0x98, 0xa0, 0xc1, 0x77, 0x2a, 0x15, 0x03, 0x4e, 0x7a, 0xe6, 0xe3, 0xb6,
335 0xc4, 0xaf, 0xd1, 0xf0, 0x78, 0x1f, 0xd2, 0x0f, 0x9c, 0xf0, 0x72, 0x72, 0x7d, 0xe2, 0xb9, 0x30,
336 0xd8, 0xab, 0x86, 0x4a, 0xef, 0xaa, 0xc3, 0x12, 0x47, 0xc8, 0x2f, 0xd9, 0x86, 0x71, 0x45, 0x7c,
337 0x33, 0xd2, 0xc3, 0xd3, 0x2d, 0x6a, 0x39, 0x6d, 0x29, 0x1c, 0x23, 0x5f, 0x6d, 0xb9, 0xce, 0x36,
338 0x64, 0x10, 0x38, 0xe1, 0xf0, 0xcc, 0x0a, 0x0b, 0x23, 0xa7, 0x2d, 0x76, 0xf3, 0xdb, 0x45, 0x7e,
339 0x13, 0xc4, 0xd9, 0x18, 0x43, 0x74, 0x4f, 0xd2, 0x6f, 0x15, 0x55, 0x7a, 0x59, 0x07, 0xbf, 0xac,
340 0x64, 0x41, 0x5c, 0xa3, 0x0f, 0xdb, 0xfb, 0xf7, 0x5b, 0x41, 0x3f, 0xc8, 0x02, 0x8f, 0xd1, 0x7d,
341 0x4b, 0x2a, 0x2d, 0x69, 0x56, 0x32, 0x9e, 0x13, 0x2f, 0x70, 0xc2, 0x8b, 0xd4, 0x5a, 0x2c, 0xec,
342 0x3d, 0x7e, 0x5a, 0xc3, 0x4a, 0x00, 0x57, 0x74, 0xef, 0xdb, 0x24, 0x78, 0x65, 0x05, 0x6b, 0xfc,
343 0x0c, 0xe1, 0x1d, 0xbb, 0x77, 0xee, 0x1b, 0xe7, 0x9d, 0xcb, 0xde, 0xfa, 0xe0, 0x15, 0xfd, 0xff,
344 0x7c, 0xc5, 0x5b, 0x87, 0x16, 0xa3, 0xbe, 0x89, 0xfd, 0x6c, 0x64, 0x18, 0xf5, 0x24, 0x80, 0x6e,
345 0x63, 0x32, 0xe7, 0x59, 0x85, 0x1e, 0xac, 0xa1, 0xec, 0xda, 0xce, 0x2e, 0xa6, 0x82, 0x25, 0x75,
346 0x91, 0x38, 0x9f, 0xc6, 0xad, 0x98, 0x43, 0x91, 0xf1, 0x3c, 0x02, 0x99, 0xc7, 0x39, 0xe5, 0x06,
347 0x3d, 0xfa, 0x9d, 0x5e, 0x66, 0x82, 0xfd, 0x74, 0xbd, 0x79, 0x32, 0xfb, 0xe5, 0x5e, 0xcf, 0x9b,
348 0x9e, 0xc4, 0xce, 0xf9, 0x91, 0x16, 0xc5, 0x1b, 0x0e, 0x3f, 0x78, 0x1d, 0x9e, 0x5a, 0xf9, 0xa6,
349 0xf1, 0xc5, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, 0x07, 0x73, 0x11, 0x97, 0x03, 0x00, 0x00,