public sealed class Documentation : Protobuf.IMessage<Documentation>, Protobuf.IBufferMessage
Documentation
provides the information for describing a service.
Example:
<pre><code>documentation:
summary: >
The Google Calendar API gives access
to most calendar features.
pages:
- name: Overview
content: (== include google/foo/overview.md ==)
- name: Tutorial
content: (== include google/foo/tutorial.md ==)
subpages;
- name: Java
content: (== include google/foo/tutorial_java.md ==)
rules:
- selector: google.calendar.Calendar.Get
description: >
...
- selector: google.calendar.Calendar.Put
description: >
...
</code></pre>
Documentation is provided in markdown syntax. In addition to
standard markdown features, definition lists, tables and fenced
code blocks are supported. Section headers can be provided and are
interpreted relative to the section nesting of the context where
a documentation fragment is embedded.
Documentation from the IDL is merged with documentation defined
via the config at normalization time, where documentation provided
by config rules overrides IDL provided.
A number of constructs specific to the API platform are supported
in documentation text.
In order to reference a proto element, the following
notation can be used:
<pre><code>[fully.qualified.proto.name][]</code></pre>
To override the display text used for the link, this can be used:
<pre><code>[display text][fully.qualified.proto.name]</code></pre>
Text can be excluded from doc using the following notation:
<pre><code>(-- internal comment --)</code></pre>
A few directives are available in documentation. Note that
directives must appear on a single line to be properly
identified. The include
directive includes a markdown file from
an external source:
<pre><code>(== include path/to/file ==)</code></pre>
The resource_for
directive marks a message to be the resource of
a collection in REST view. If it is not specified, tools attempt
to infer the resource from the operations in a collection:
<pre><code>(== resource_for v1.shelves.books ==)</code></pre>
The directive suppress_warning
does not directly affect documentation
and is documented together with service config validation.
Inheritance
Object >
Documentation
Namespace
Google.Api
Assembly
Google.Api.CommonProtos.dll
Constructors
Documentation()
Documentation(Documentation)
public Documentation(Documentation other)
Fields
DocumentationRootUrlFieldNumber
public const int DocumentationRootUrlFieldNumber = 4
Field number for the "documentation_root_url" field.
Field Value |
---|
Type | Description |
Int32 | |
OverviewFieldNumber
public const int OverviewFieldNumber = 2
Field number for the "overview" field.
Field Value |
---|
Type | Description |
Int32 | |
PagesFieldNumber
public const int PagesFieldNumber = 5
Field number for the "pages" field.
Field Value |
---|
Type | Description |
Int32 | |
RulesFieldNumber
public const int RulesFieldNumber = 3
Field number for the "rules" field.
Field Value |
---|
Type | Description |
Int32 | |
ServiceRootUrlFieldNumber
public const int ServiceRootUrlFieldNumber = 6
Field number for the "service_root_url" field.
Field Value |
---|
Type | Description |
Int32 | |
SummaryFieldNumber
public const int SummaryFieldNumber = 1
Field number for the "summary" field.
Field Value |
---|
Type | Description |
Int32 | |
Properties
Descriptor
public static Protobuf.Reflection.MessageDescriptor Descriptor { get; }
DocumentationRootUrl
public string DocumentationRootUrl { get; set; }
The URL to the root of documentation.
Property Value |
---|
Type | Description |
String | |
Overview
public string Overview { get; set; }
Declares a single overview page. For example:
<pre><code>documentation:
summary: ...
overview: (== include overview.md ==)
</code></pre>
This is a shortcut for the following declaration (using pages style):
<pre><code>documentation:
summary: ...
pages:
- name: Overview
content: (== include overview.md ==)
</code></pre>
Note: you cannot specify both
overview
field and pages
field.
Property Value |
---|
Type | Description |
String | |
Pages
public Protobuf.Collections.RepeatedField<Page> Pages { get; }
The top level pages for the documentation set.
Parser
public static Protobuf.MessageParser<Documentation> Parser { get; }
Rules
public Protobuf.Collections.RepeatedField<DocumentationRule> Rules { get; }
A list of documentation rules that apply to individual API elements.
NOTE: All service configuration rules follow "last one wins" order.
ServiceRootUrl
public string ServiceRootUrl { get; set; }
Specifies the service root url if the default one (the service name
from the yaml file) is not suitable. This can be seen in any fully
specified service urls as well as sections that show a base that other
urls are relative to.
Property Value |
---|
Type | Description |
String | |
Summary
public string Summary { get; set; }
A short summary of what the service does. Can only be provided by
plain text.
Property Value |
---|
Type | Description |
String | |
Methods
CalculateSize()
public int CalculateSize()
Returns |
---|
Type | Description |
Int32 | |
Clone()
public Documentation Clone()
Equals(Documentation)
public bool Equals(Documentation other)
Equals(Object)
public override bool Equals(object other)
Parameter |
---|
Name | Description |
other | Object
|
GetHashCode()
public override int GetHashCode()
Returns |
---|
Type | Description |
Int32 | |
MergeFrom(Documentation)
public void MergeFrom(Documentation other)
public void MergeFrom(Protobuf.CodedInputStream input)
ToString()
public override string ToString()
WriteTo(Protobuf.CodedOutputStream)
public void WriteTo(Protobuf.CodedOutputStream output)