1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/protobuf/api.proto
3
4package api
5
6import (
7	fmt "fmt"
8	math "math"
9
10	proto "github.com/golang/protobuf/proto"
11	ptype "google.golang.org/genproto/protobuf/ptype"
12	source_context "google.golang.org/genproto/protobuf/source_context"
13)
14
15// Reference imports to suppress errors if they are not otherwise used.
16var _ = proto.Marshal
17var _ = fmt.Errorf
18var _ = math.Inf
19
20// This is a compile-time assertion to ensure that this generated file
21// is compatible with the proto package it is being compiled against.
22// A compilation error at this line likely means your copy of the
23// proto package needs to be updated.
24const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
25
26// Api is a light-weight descriptor for an API Interface.
27//
28// Interfaces are also described as "protocol buffer services" in some contexts,
29// such as by the "service" keyword in a .proto file, but they are different
30// from API Services, which represent a concrete implementation of an interface
31// as opposed to simply a description of methods and bindings. They are also
32// sometimes simply referred to as "APIs" in other contexts, such as the name of
33// this message itself. See https://cloud.google.com/apis/design/glossary for
34// detailed terminology.
35type Api struct {
36	// The fully qualified name of this interface, including package name
37	// followed by the interface's simple name.
38	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
39	// The methods of this interface, in unspecified order.
40	Methods []*Method `protobuf:"bytes,2,rep,name=methods,proto3" json:"methods,omitempty"`
41	// Any metadata attached to the interface.
42	Options []*ptype.Option `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"`
43	// A version string for this interface. If specified, must have the form
44	// `major-version.minor-version`, as in `1.10`. If the minor version is
45	// omitted, it defaults to zero. If the entire version field is empty, the
46	// major version is derived from the package name, as outlined below. If the
47	// field is not empty, the version in the package name will be verified to be
48	// consistent with what is provided here.
49	//
50	// The versioning schema uses [semantic
51	// versioning](http://semver.org) where the major version number
52	// indicates a breaking change and the minor version an additive,
53	// non-breaking change. Both version numbers are signals to users
54	// what to expect from different versions, and should be carefully
55	// chosen based on the product plan.
56	//
57	// The major version is also reflected in the package name of the
58	// interface, which must end in `v<major-version>`, as in
59	// `google.feature.v1`. For major versions 0 and 1, the suffix can
60	// be omitted. Zero major versions must only be used for
61	// experimental, non-GA interfaces.
62	//
63	//
64	Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"`
65	// Source context for the protocol buffer service represented by this
66	// message.
67	SourceContext *source_context.SourceContext `protobuf:"bytes,5,opt,name=source_context,json=sourceContext,proto3" json:"source_context,omitempty"`
68	// Included interfaces. See [Mixin][].
69	Mixins []*Mixin `protobuf:"bytes,6,rep,name=mixins,proto3" json:"mixins,omitempty"`
70	// The source syntax of the service.
71	Syntax               ptype.Syntax `protobuf:"varint,7,opt,name=syntax,proto3,enum=google.protobuf.Syntax" json:"syntax,omitempty"`
72	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
73	XXX_unrecognized     []byte       `json:"-"`
74	XXX_sizecache        int32        `json:"-"`
75}
76
77func (m *Api) Reset()         { *m = Api{} }
78func (m *Api) String() string { return proto.CompactTextString(m) }
79func (*Api) ProtoMessage()    {}
80func (*Api) Descriptor() ([]byte, []int) {
81	return fileDescriptor_a2ec32096296c143, []int{0}
82}
83
84func (m *Api) XXX_Unmarshal(b []byte) error {
85	return xxx_messageInfo_Api.Unmarshal(m, b)
86}
87func (m *Api) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
88	return xxx_messageInfo_Api.Marshal(b, m, deterministic)
89}
90func (m *Api) XXX_Merge(src proto.Message) {
91	xxx_messageInfo_Api.Merge(m, src)
92}
93func (m *Api) XXX_Size() int {
94	return xxx_messageInfo_Api.Size(m)
95}
96func (m *Api) XXX_DiscardUnknown() {
97	xxx_messageInfo_Api.DiscardUnknown(m)
98}
99
100var xxx_messageInfo_Api proto.InternalMessageInfo
101
102func (m *Api) GetName() string {
103	if m != nil {
104		return m.Name
105	}
106	return ""
107}
108
109func (m *Api) GetMethods() []*Method {
110	if m != nil {
111		return m.Methods
112	}
113	return nil
114}
115
116func (m *Api) GetOptions() []*ptype.Option {
117	if m != nil {
118		return m.Options
119	}
120	return nil
121}
122
123func (m *Api) GetVersion() string {
124	if m != nil {
125		return m.Version
126	}
127	return ""
128}
129
130func (m *Api) GetSourceContext() *source_context.SourceContext {
131	if m != nil {
132		return m.SourceContext
133	}
134	return nil
135}
136
137func (m *Api) GetMixins() []*Mixin {
138	if m != nil {
139		return m.Mixins
140	}
141	return nil
142}
143
144func (m *Api) GetSyntax() ptype.Syntax {
145	if m != nil {
146		return m.Syntax
147	}
148	return ptype.Syntax_SYNTAX_PROTO2
149}
150
151// Method represents a method of an API interface.
152type Method struct {
153	// The simple name of this method.
154	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
155	// A URL of the input message type.
156	RequestTypeUrl string `protobuf:"bytes,2,opt,name=request_type_url,json=requestTypeUrl,proto3" json:"request_type_url,omitempty"`
157	// If true, the request is streamed.
158	RequestStreaming bool `protobuf:"varint,3,opt,name=request_streaming,json=requestStreaming,proto3" json:"request_streaming,omitempty"`
159	// The URL of the output message type.
160	ResponseTypeUrl string `protobuf:"bytes,4,opt,name=response_type_url,json=responseTypeUrl,proto3" json:"response_type_url,omitempty"`
161	// If true, the response is streamed.
162	ResponseStreaming bool `protobuf:"varint,5,opt,name=response_streaming,json=responseStreaming,proto3" json:"response_streaming,omitempty"`
163	// Any metadata attached to the method.
164	Options []*ptype.Option `protobuf:"bytes,6,rep,name=options,proto3" json:"options,omitempty"`
165	// The source syntax of this method.
166	Syntax               ptype.Syntax `protobuf:"varint,7,opt,name=syntax,proto3,enum=google.protobuf.Syntax" json:"syntax,omitempty"`
167	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
168	XXX_unrecognized     []byte       `json:"-"`
169	XXX_sizecache        int32        `json:"-"`
170}
171
172func (m *Method) Reset()         { *m = Method{} }
173func (m *Method) String() string { return proto.CompactTextString(m) }
174func (*Method) ProtoMessage()    {}
175func (*Method) Descriptor() ([]byte, []int) {
176	return fileDescriptor_a2ec32096296c143, []int{1}
177}
178
179func (m *Method) XXX_Unmarshal(b []byte) error {
180	return xxx_messageInfo_Method.Unmarshal(m, b)
181}
182func (m *Method) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
183	return xxx_messageInfo_Method.Marshal(b, m, deterministic)
184}
185func (m *Method) XXX_Merge(src proto.Message) {
186	xxx_messageInfo_Method.Merge(m, src)
187}
188func (m *Method) XXX_Size() int {
189	return xxx_messageInfo_Method.Size(m)
190}
191func (m *Method) XXX_DiscardUnknown() {
192	xxx_messageInfo_Method.DiscardUnknown(m)
193}
194
195var xxx_messageInfo_Method proto.InternalMessageInfo
196
197func (m *Method) GetName() string {
198	if m != nil {
199		return m.Name
200	}
201	return ""
202}
203
204func (m *Method) GetRequestTypeUrl() string {
205	if m != nil {
206		return m.RequestTypeUrl
207	}
208	return ""
209}
210
211func (m *Method) GetRequestStreaming() bool {
212	if m != nil {
213		return m.RequestStreaming
214	}
215	return false
216}
217
218func (m *Method) GetResponseTypeUrl() string {
219	if m != nil {
220		return m.ResponseTypeUrl
221	}
222	return ""
223}
224
225func (m *Method) GetResponseStreaming() bool {
226	if m != nil {
227		return m.ResponseStreaming
228	}
229	return false
230}
231
232func (m *Method) GetOptions() []*ptype.Option {
233	if m != nil {
234		return m.Options
235	}
236	return nil
237}
238
239func (m *Method) GetSyntax() ptype.Syntax {
240	if m != nil {
241		return m.Syntax
242	}
243	return ptype.Syntax_SYNTAX_PROTO2
244}
245
246// Declares an API Interface to be included in this interface. The including
247// interface must redeclare all the methods from the included interface, but
248// documentation and options are inherited as follows:
249//
250// - If after comment and whitespace stripping, the documentation
251//   string of the redeclared method is empty, it will be inherited
252//   from the original method.
253//
254// - Each annotation belonging to the service config (http,
255//   visibility) which is not set in the redeclared method will be
256//   inherited.
257//
258// - If an http annotation is inherited, the path pattern will be
259//   modified as follows. Any version prefix will be replaced by the
260//   version of the including interface plus the [root][] path if
261//   specified.
262//
263// Example of a simple mixin:
264//
265//     package google.acl.v1;
266//     service AccessControl {
267//       // Get the underlying ACL object.
268//       rpc GetAcl(GetAclRequest) returns (Acl) {
269//         option (google.api.http).get = "/v1/{resource=**}:getAcl";
270//       }
271//     }
272//
273//     package google.storage.v2;
274//     service Storage {
275//       rpc GetAcl(GetAclRequest) returns (Acl);
276//
277//       // Get a data record.
278//       rpc GetData(GetDataRequest) returns (Data) {
279//         option (google.api.http).get = "/v2/{resource=**}";
280//       }
281//     }
282//
283// Example of a mixin configuration:
284//
285//     apis:
286//     - name: google.storage.v2.Storage
287//       mixins:
288//       - name: google.acl.v1.AccessControl
289//
290// The mixin construct implies that all methods in `AccessControl` are
291// also declared with same name and request/response types in
292// `Storage`. A documentation generator or annotation processor will
293// see the effective `Storage.GetAcl` method after inherting
294// documentation and annotations as follows:
295//
296//     service Storage {
297//       // Get the underlying ACL object.
298//       rpc GetAcl(GetAclRequest) returns (Acl) {
299//         option (google.api.http).get = "/v2/{resource=**}:getAcl";
300//       }
301//       ...
302//     }
303//
304// Note how the version in the path pattern changed from `v1` to `v2`.
305//
306// If the `root` field in the mixin is specified, it should be a
307// relative path under which inherited HTTP paths are placed. Example:
308//
309//     apis:
310//     - name: google.storage.v2.Storage
311//       mixins:
312//       - name: google.acl.v1.AccessControl
313//         root: acls
314//
315// This implies the following inherited HTTP annotation:
316//
317//     service Storage {
318//       // Get the underlying ACL object.
319//       rpc GetAcl(GetAclRequest) returns (Acl) {
320//         option (google.api.http).get = "/v2/acls/{resource=**}:getAcl";
321//       }
322//       ...
323//     }
324type Mixin struct {
325	// The fully qualified name of the interface which is included.
326	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
327	// If non-empty specifies a path under which inherited HTTP paths
328	// are rooted.
329	Root                 string   `protobuf:"bytes,2,opt,name=root,proto3" json:"root,omitempty"`
330	XXX_NoUnkeyedLiteral struct{} `json:"-"`
331	XXX_unrecognized     []byte   `json:"-"`
332	XXX_sizecache        int32    `json:"-"`
333}
334
335func (m *Mixin) Reset()         { *m = Mixin{} }
336func (m *Mixin) String() string { return proto.CompactTextString(m) }
337func (*Mixin) ProtoMessage()    {}
338func (*Mixin) Descriptor() ([]byte, []int) {
339	return fileDescriptor_a2ec32096296c143, []int{2}
340}
341
342func (m *Mixin) XXX_Unmarshal(b []byte) error {
343	return xxx_messageInfo_Mixin.Unmarshal(m, b)
344}
345func (m *Mixin) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
346	return xxx_messageInfo_Mixin.Marshal(b, m, deterministic)
347}
348func (m *Mixin) XXX_Merge(src proto.Message) {
349	xxx_messageInfo_Mixin.Merge(m, src)
350}
351func (m *Mixin) XXX_Size() int {
352	return xxx_messageInfo_Mixin.Size(m)
353}
354func (m *Mixin) XXX_DiscardUnknown() {
355	xxx_messageInfo_Mixin.DiscardUnknown(m)
356}
357
358var xxx_messageInfo_Mixin proto.InternalMessageInfo
359
360func (m *Mixin) GetName() string {
361	if m != nil {
362		return m.Name
363	}
364	return ""
365}
366
367func (m *Mixin) GetRoot() string {
368	if m != nil {
369		return m.Root
370	}
371	return ""
372}
373
374func init() {
375	proto.RegisterType((*Api)(nil), "google.protobuf.Api")
376	proto.RegisterType((*Method)(nil), "google.protobuf.Method")
377	proto.RegisterType((*Mixin)(nil), "google.protobuf.Mixin")
378}
379
380func init() { proto.RegisterFile("google/protobuf/api.proto", fileDescriptor_a2ec32096296c143) }
381
382var fileDescriptor_a2ec32096296c143 = []byte{
383	// 432 bytes of a gzipped FileDescriptorProto
384	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0xcf, 0x8e, 0xd3, 0x30,
385	0x10, 0xc6, 0x95, 0xa4, 0x4d, 0x17, 0xaf, 0xe8, 0x82, 0x91, 0xc0, 0xf4, 0xb0, 0x8a, 0x56, 0x1c,
386	0x22, 0x2a, 0x12, 0x51, 0x8e, 0x9c, 0x5a, 0x84, 0x7a, 0x40, 0x88, 0x28, 0x05, 0x21, 0x71, 0xa9,
387	0xd2, 0x62, 0x82, 0xa5, 0xc4, 0x63, 0x6c, 0x07, 0xda, 0xd7, 0xe1, 0xc8, 0x91, 0x37, 0xe0, 0xcd,
388	0x50, 0x9c, 0xb8, 0x7f, 0xd2, 0x22, 0xb1, 0x37, 0x8f, 0xbf, 0xdf, 0x7c, 0x99, 0xf9, 0xac, 0xa0,
389	0xc7, 0x39, 0x40, 0x5e, 0xd0, 0x58, 0x48, 0xd0, 0xb0, 0xaa, 0xbe, 0xc4, 0x99, 0x60, 0x91, 0x29,
390	0xf0, 0x55, 0x23, 0x45, 0x56, 0x1a, 0x3d, 0xe9, 0xb2, 0x0a, 0x2a, 0xb9, 0xa6, 0xcb, 0x35, 0x70,
391	0x4d, 0x37, 0xba, 0x01, 0x47, 0xa3, 0x2e, 0xa5, 0xb7, 0xa2, 0x35, 0xb9, 0xf9, 0xe3, 0x22, 0x6f,
392	0x2a, 0x18, 0xc6, 0xa8, 0xc7, 0xb3, 0x92, 0x12, 0x27, 0x70, 0xc2, 0x3b, 0xa9, 0x39, 0xe3, 0xe7,
393	0x68, 0x50, 0x52, 0xfd, 0x15, 0x3e, 0x2b, 0xe2, 0x06, 0x5e, 0x78, 0x39, 0x79, 0x14, 0x75, 0x06,
394	0x88, 0xde, 0x1a, 0x3d, 0xb5, 0x5c, 0xdd, 0x02, 0x42, 0x33, 0xe0, 0x8a, 0x78, 0xff, 0x68, 0x79,
395	0x67, 0xf4, 0xd4, 0x72, 0x98, 0xa0, 0xc1, 0x77, 0x2a, 0x15, 0x03, 0x4e, 0x7a, 0xe6, 0xe3, 0xb6,
396	0xc4, 0xaf, 0xd1, 0xf0, 0x78, 0x1f, 0xd2, 0x0f, 0x9c, 0xf0, 0x72, 0x72, 0x7d, 0xe2, 0xb9, 0x30,
397	0xd8, 0xab, 0x86, 0x4a, 0xef, 0xaa, 0xc3, 0x12, 0x47, 0xc8, 0x2f, 0xd9, 0x86, 0x71, 0x45, 0x7c,
398	0x33, 0xd2, 0xc3, 0xd3, 0x2d, 0x6a, 0x39, 0x6d, 0x29, 0x1c, 0x23, 0x5f, 0x6d, 0xb9, 0xce, 0x36,
399	0x64, 0x10, 0x38, 0xe1, 0xf0, 0xcc, 0x0a, 0x0b, 0x23, 0xa7, 0x2d, 0x76, 0xf3, 0xdb, 0x45, 0x7e,
400	0x13, 0xc4, 0xd9, 0x18, 0x43, 0x74, 0x4f, 0xd2, 0x6f, 0x15, 0x55, 0x7a, 0x59, 0x07, 0xbf, 0xac,
401	0x64, 0x41, 0x5c, 0xa3, 0x0f, 0xdb, 0xfb, 0xf7, 0x5b, 0x41, 0x3f, 0xc8, 0x02, 0x8f, 0xd1, 0x7d,
402	0x4b, 0x2a, 0x2d, 0x69, 0x56, 0x32, 0x9e, 0x13, 0x2f, 0x70, 0xc2, 0x8b, 0xd4, 0x5a, 0x2c, 0xec,
403	0x3d, 0x7e, 0x5a, 0xc3, 0x4a, 0x00, 0x57, 0x74, 0xef, 0xdb, 0x24, 0x78, 0x65, 0x05, 0x6b, 0xfc,
404	0x0c, 0xe1, 0x1d, 0xbb, 0x77, 0xee, 0x1b, 0xe7, 0x9d, 0xcb, 0xde, 0xfa, 0xe0, 0x15, 0xfd, 0xff,
405	0x7c, 0xc5, 0x5b, 0x87, 0x16, 0xa3, 0xbe, 0x89, 0xfd, 0x6c, 0x64, 0x18, 0xf5, 0x24, 0x80, 0x6e,
406	0x63, 0x32, 0xe7, 0x59, 0x85, 0x1e, 0xac, 0xa1, 0xec, 0xda, 0xce, 0x2e, 0xa6, 0x82, 0x25, 0x75,
407	0x91, 0x38, 0x9f, 0xc6, 0xad, 0x98, 0x43, 0x91, 0xf1, 0x3c, 0x02, 0x99, 0xc7, 0x39, 0xe5, 0x06,
408	0x3d, 0xfa, 0x9d, 0x5e, 0x66, 0x82, 0xfd, 0x74, 0xbd, 0x79, 0x32, 0xfb, 0xe5, 0x5e, 0xcf, 0x9b,
409	0x9e, 0xc4, 0xce, 0xf9, 0x91, 0x16, 0xc5, 0x1b, 0x0e, 0x3f, 0x78, 0x1d, 0x9e, 0x5a, 0xf9, 0xa6,
410	0xf1, 0xc5, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, 0x07, 0x73, 0x11, 0x97, 0x03, 0x00, 0x00,
411}
412