1// Copyright 2019 Google LLC.
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
16// Code generated by protoc-gen-go. DO NOT EDIT.
17// versions:
18// 	protoc-gen-go v1.22.0
19// 	protoc        v3.11.2
20// source: google/api/documentation.proto
21
22package serviceconfig
23
24import (
25	reflect "reflect"
26	sync "sync"
27
28	proto "github.com/golang/protobuf/proto"
29	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
30	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
31)
32
33const (
34	// Verify that this generated code is sufficiently up-to-date.
35	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
36	// Verify that runtime/protoimpl is sufficiently up-to-date.
37	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
38)
39
40// This is a compile-time assertion that a sufficiently up-to-date version
41// of the legacy proto package is being used.
42const _ = proto.ProtoPackageIsVersion4
43
44// `Documentation` provides the information for describing a service.
45//
46// Example:
47// <pre><code>documentation:
48//   summary: >
49//     The Google Calendar API gives access
50//     to most calendar features.
51//   pages:
52//   - name: Overview
53//     content: &#40;== include google/foo/overview.md ==&#41;
54//   - name: Tutorial
55//     content: &#40;== include google/foo/tutorial.md ==&#41;
56//     subpages;
57//     - name: Java
58//       content: &#40;== include google/foo/tutorial_java.md ==&#41;
59//   rules:
60//   - selector: google.calendar.Calendar.Get
61//     description: >
62//       ...
63//   - selector: google.calendar.Calendar.Put
64//     description: >
65//       ...
66// </code></pre>
67// Documentation is provided in markdown syntax. In addition to
68// standard markdown features, definition lists, tables and fenced
69// code blocks are supported. Section headers can be provided and are
70// interpreted relative to the section nesting of the context where
71// a documentation fragment is embedded.
72//
73// Documentation from the IDL is merged with documentation defined
74// via the config at normalization time, where documentation provided
75// by config rules overrides IDL provided.
76//
77// A number of constructs specific to the API platform are supported
78// in documentation text.
79//
80// In order to reference a proto element, the following
81// notation can be used:
82// <pre><code>&#91;fully.qualified.proto.name]&#91;]</code></pre>
83// To override the display text used for the link, this can be used:
84// <pre><code>&#91;display text]&#91;fully.qualified.proto.name]</code></pre>
85// Text can be excluded from doc using the following notation:
86// <pre><code>&#40;-- internal comment --&#41;</code></pre>
87//
88// A few directives are available in documentation. Note that
89// directives must appear on a single line to be properly
90// identified. The `include` directive includes a markdown file from
91// an external source:
92// <pre><code>&#40;== include path/to/file ==&#41;</code></pre>
93// The `resource_for` directive marks a message to be the resource of
94// a collection in REST view. If it is not specified, tools attempt
95// to infer the resource from the operations in a collection:
96// <pre><code>&#40;== resource_for v1.shelves.books ==&#41;</code></pre>
97// The directive `suppress_warning` does not directly affect documentation
98// and is documented together with service config validation.
99type Documentation struct {
100	state         protoimpl.MessageState
101	sizeCache     protoimpl.SizeCache
102	unknownFields protoimpl.UnknownFields
103
104	// A short summary of what the service does. Can only be provided by
105	// plain text.
106	Summary string `protobuf:"bytes,1,opt,name=summary,proto3" json:"summary,omitempty"`
107	// The top level pages for the documentation set.
108	Pages []*Page `protobuf:"bytes,5,rep,name=pages,proto3" json:"pages,omitempty"`
109	// A list of documentation rules that apply to individual API elements.
110	//
111	// **NOTE:** All service configuration rules follow "last one wins" order.
112	Rules []*DocumentationRule `protobuf:"bytes,3,rep,name=rules,proto3" json:"rules,omitempty"`
113	// The URL to the root of documentation.
114	DocumentationRootUrl string `protobuf:"bytes,4,opt,name=documentation_root_url,json=documentationRootUrl,proto3" json:"documentation_root_url,omitempty"`
115	// Declares a single overview page. For example:
116	// <pre><code>documentation:
117	//   summary: ...
118	//   overview: &#40;== include overview.md ==&#41;
119	// </code></pre>
120	// This is a shortcut for the following declaration (using pages style):
121	// <pre><code>documentation:
122	//   summary: ...
123	//   pages:
124	//   - name: Overview
125	//     content: &#40;== include overview.md ==&#41;
126	// </code></pre>
127	// Note: you cannot specify both `overview` field and `pages` field.
128	Overview string `protobuf:"bytes,2,opt,name=overview,proto3" json:"overview,omitempty"`
129}
130
131func (x *Documentation) Reset() {
132	*x = Documentation{}
133	if protoimpl.UnsafeEnabled {
134		mi := &file_google_api_documentation_proto_msgTypes[0]
135		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
136		ms.StoreMessageInfo(mi)
137	}
138}
139
140func (x *Documentation) String() string {
141	return protoimpl.X.MessageStringOf(x)
142}
143
144func (*Documentation) ProtoMessage() {}
145
146func (x *Documentation) ProtoReflect() protoreflect.Message {
147	mi := &file_google_api_documentation_proto_msgTypes[0]
148	if protoimpl.UnsafeEnabled && x != nil {
149		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
150		if ms.LoadMessageInfo() == nil {
151			ms.StoreMessageInfo(mi)
152		}
153		return ms
154	}
155	return mi.MessageOf(x)
156}
157
158// Deprecated: Use Documentation.ProtoReflect.Descriptor instead.
159func (*Documentation) Descriptor() ([]byte, []int) {
160	return file_google_api_documentation_proto_rawDescGZIP(), []int{0}
161}
162
163func (x *Documentation) GetSummary() string {
164	if x != nil {
165		return x.Summary
166	}
167	return ""
168}
169
170func (x *Documentation) GetPages() []*Page {
171	if x != nil {
172		return x.Pages
173	}
174	return nil
175}
176
177func (x *Documentation) GetRules() []*DocumentationRule {
178	if x != nil {
179		return x.Rules
180	}
181	return nil
182}
183
184func (x *Documentation) GetDocumentationRootUrl() string {
185	if x != nil {
186		return x.DocumentationRootUrl
187	}
188	return ""
189}
190
191func (x *Documentation) GetOverview() string {
192	if x != nil {
193		return x.Overview
194	}
195	return ""
196}
197
198// A documentation rule provides information about individual API elements.
199type DocumentationRule struct {
200	state         protoimpl.MessageState
201	sizeCache     protoimpl.SizeCache
202	unknownFields protoimpl.UnknownFields
203
204	// The selector is a comma-separated list of patterns. Each pattern is a
205	// qualified name of the element which may end in "*", indicating a wildcard.
206	// Wildcards are only allowed at the end and for a whole component of the
207	// qualified name, i.e. "foo.*" is ok, but not "foo.b*" or "foo.*.bar". A
208	// wildcard will match one or more components. To specify a default for all
209	// applicable elements, the whole pattern "*" is used.
210	Selector string `protobuf:"bytes,1,opt,name=selector,proto3" json:"selector,omitempty"`
211	// Description of the selected API(s).
212	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
213	// Deprecation description of the selected element(s). It can be provided if
214	// an element is marked as `deprecated`.
215	DeprecationDescription string `protobuf:"bytes,3,opt,name=deprecation_description,json=deprecationDescription,proto3" json:"deprecation_description,omitempty"`
216}
217
218func (x *DocumentationRule) Reset() {
219	*x = DocumentationRule{}
220	if protoimpl.UnsafeEnabled {
221		mi := &file_google_api_documentation_proto_msgTypes[1]
222		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
223		ms.StoreMessageInfo(mi)
224	}
225}
226
227func (x *DocumentationRule) String() string {
228	return protoimpl.X.MessageStringOf(x)
229}
230
231func (*DocumentationRule) ProtoMessage() {}
232
233func (x *DocumentationRule) ProtoReflect() protoreflect.Message {
234	mi := &file_google_api_documentation_proto_msgTypes[1]
235	if protoimpl.UnsafeEnabled && x != nil {
236		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
237		if ms.LoadMessageInfo() == nil {
238			ms.StoreMessageInfo(mi)
239		}
240		return ms
241	}
242	return mi.MessageOf(x)
243}
244
245// Deprecated: Use DocumentationRule.ProtoReflect.Descriptor instead.
246func (*DocumentationRule) Descriptor() ([]byte, []int) {
247	return file_google_api_documentation_proto_rawDescGZIP(), []int{1}
248}
249
250func (x *DocumentationRule) GetSelector() string {
251	if x != nil {
252		return x.Selector
253	}
254	return ""
255}
256
257func (x *DocumentationRule) GetDescription() string {
258	if x != nil {
259		return x.Description
260	}
261	return ""
262}
263
264func (x *DocumentationRule) GetDeprecationDescription() string {
265	if x != nil {
266		return x.DeprecationDescription
267	}
268	return ""
269}
270
271// Represents a documentation page. A page can contain subpages to represent
272// nested documentation set structure.
273type Page struct {
274	state         protoimpl.MessageState
275	sizeCache     protoimpl.SizeCache
276	unknownFields protoimpl.UnknownFields
277
278	// The name of the page. It will be used as an identity of the page to
279	// generate URI of the page, text of the link to this page in navigation,
280	// etc. The full page name (start from the root page name to this page
281	// concatenated with `.`) can be used as reference to the page in your
282	// documentation. For example:
283	// <pre><code>pages:
284	// - name: Tutorial
285	//   content: &#40;== include tutorial.md ==&#41;
286	//   subpages:
287	//   - name: Java
288	//     content: &#40;== include tutorial_java.md ==&#41;
289	// </code></pre>
290	// You can reference `Java` page using Markdown reference link syntax:
291	// `[Java][Tutorial.Java]`.
292	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
293	// The Markdown content of the page. You can use <code>&#40;== include {path}
294	// ==&#41;</code> to include content from a Markdown file.
295	Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"`
296	// Subpages of this page. The order of subpages specified here will be
297	// honored in the generated docset.
298	Subpages []*Page `protobuf:"bytes,3,rep,name=subpages,proto3" json:"subpages,omitempty"`
299}
300
301func (x *Page) Reset() {
302	*x = Page{}
303	if protoimpl.UnsafeEnabled {
304		mi := &file_google_api_documentation_proto_msgTypes[2]
305		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
306		ms.StoreMessageInfo(mi)
307	}
308}
309
310func (x *Page) String() string {
311	return protoimpl.X.MessageStringOf(x)
312}
313
314func (*Page) ProtoMessage() {}
315
316func (x *Page) ProtoReflect() protoreflect.Message {
317	mi := &file_google_api_documentation_proto_msgTypes[2]
318	if protoimpl.UnsafeEnabled && x != nil {
319		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
320		if ms.LoadMessageInfo() == nil {
321			ms.StoreMessageInfo(mi)
322		}
323		return ms
324	}
325	return mi.MessageOf(x)
326}
327
328// Deprecated: Use Page.ProtoReflect.Descriptor instead.
329func (*Page) Descriptor() ([]byte, []int) {
330	return file_google_api_documentation_proto_rawDescGZIP(), []int{2}
331}
332
333func (x *Page) GetName() string {
334	if x != nil {
335		return x.Name
336	}
337	return ""
338}
339
340func (x *Page) GetContent() string {
341	if x != nil {
342		return x.Content
343	}
344	return ""
345}
346
347func (x *Page) GetSubpages() []*Page {
348	if x != nil {
349		return x.Subpages
350	}
351	return nil
352}
353
354var File_google_api_documentation_proto protoreflect.FileDescriptor
355
356var file_google_api_documentation_proto_rawDesc = []byte{
357	0x0a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x6f, 0x63,
358	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
359	0x12, 0x0a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x22, 0xd8, 0x01, 0x0a,
360	0x0d, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18,
361	0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
362	0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x70, 0x61, 0x67, 0x65,
363	0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
364	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x05, 0x70, 0x61, 0x67, 0x65, 0x73,
365	0x12, 0x33, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
366	0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x63,
367	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05,
368	0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
369	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18,
370	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61,
371	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x6f, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6f,
372	0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f,
373	0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x22, 0x8a, 0x01, 0x0a, 0x11, 0x44, 0x6f, 0x63, 0x75,
374	0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x1a, 0x0a,
375	0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
376	0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73,
377	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
378	0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x17, 0x64,
379	0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72,
380	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x64, 0x65,
381	0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
382	0x74, 0x69, 0x6f, 0x6e, 0x22, 0x62, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04,
383	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
384	0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
385	0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x08, 0x73, 0x75,
386	0x62, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67,
387	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x08,
388	0x73, 0x75, 0x62, 0x70, 0x61, 0x67, 0x65, 0x73, 0x42, 0x74, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x2e,
389	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x12, 0x44, 0x6f, 0x63, 0x75,
390	0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
391	0x5a, 0x45, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e,
392	0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f,
393	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76,
394	0x69, 0x63, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
395	0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0xa2, 0x02, 0x04, 0x47, 0x41, 0x50, 0x49, 0x62, 0x06,
396	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
397}
398
399var (
400	file_google_api_documentation_proto_rawDescOnce sync.Once
401	file_google_api_documentation_proto_rawDescData = file_google_api_documentation_proto_rawDesc
402)
403
404func file_google_api_documentation_proto_rawDescGZIP() []byte {
405	file_google_api_documentation_proto_rawDescOnce.Do(func() {
406		file_google_api_documentation_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_api_documentation_proto_rawDescData)
407	})
408	return file_google_api_documentation_proto_rawDescData
409}
410
411var file_google_api_documentation_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
412var file_google_api_documentation_proto_goTypes = []interface{}{
413	(*Documentation)(nil),     // 0: google.api.Documentation
414	(*DocumentationRule)(nil), // 1: google.api.DocumentationRule
415	(*Page)(nil),              // 2: google.api.Page
416}
417var file_google_api_documentation_proto_depIdxs = []int32{
418	2, // 0: google.api.Documentation.pages:type_name -> google.api.Page
419	1, // 1: google.api.Documentation.rules:type_name -> google.api.DocumentationRule
420	2, // 2: google.api.Page.subpages:type_name -> google.api.Page
421	3, // [3:3] is the sub-list for method output_type
422	3, // [3:3] is the sub-list for method input_type
423	3, // [3:3] is the sub-list for extension type_name
424	3, // [3:3] is the sub-list for extension extendee
425	0, // [0:3] is the sub-list for field type_name
426}
427
428func init() { file_google_api_documentation_proto_init() }
429func file_google_api_documentation_proto_init() {
430	if File_google_api_documentation_proto != nil {
431		return
432	}
433	if !protoimpl.UnsafeEnabled {
434		file_google_api_documentation_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
435			switch v := v.(*Documentation); i {
436			case 0:
437				return &v.state
438			case 1:
439				return &v.sizeCache
440			case 2:
441				return &v.unknownFields
442			default:
443				return nil
444			}
445		}
446		file_google_api_documentation_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
447			switch v := v.(*DocumentationRule); i {
448			case 0:
449				return &v.state
450			case 1:
451				return &v.sizeCache
452			case 2:
453				return &v.unknownFields
454			default:
455				return nil
456			}
457		}
458		file_google_api_documentation_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
459			switch v := v.(*Page); i {
460			case 0:
461				return &v.state
462			case 1:
463				return &v.sizeCache
464			case 2:
465				return &v.unknownFields
466			default:
467				return nil
468			}
469		}
470	}
471	type x struct{}
472	out := protoimpl.TypeBuilder{
473		File: protoimpl.DescBuilder{
474			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
475			RawDescriptor: file_google_api_documentation_proto_rawDesc,
476			NumEnums:      0,
477			NumMessages:   3,
478			NumExtensions: 0,
479			NumServices:   0,
480		},
481		GoTypes:           file_google_api_documentation_proto_goTypes,
482		DependencyIndexes: file_google_api_documentation_proto_depIdxs,
483		MessageInfos:      file_google_api_documentation_proto_msgTypes,
484	}.Build()
485	File_google_api_documentation_proto = out.File
486	file_google_api_documentation_proto_rawDesc = nil
487	file_google_api_documentation_proto_goTypes = nil
488	file_google_api_documentation_proto_depIdxs = nil
489}
490