Class Documentation (2.2.0)

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: &#40;== include google/foo/overview.md ==&#41;
  • name: Tutorial content: &#40;== include google/foo/tutorial.md ==&#41; subpages;
  • name: Java content: &#40;== include google/foo/tutorial_java.md ==&#41; 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>&#91;fully.qualified.proto.name]&#91;]</code></pre> To override the display text used for the link, this can be used: <pre><code>&#91;display text]&#91;fully.qualified.proto.name]</code></pre> Text can be excluded from doc using the following notation: <pre><code>&#40;-- internal comment --&#41;</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>&#40;== include path/to/file ==&#41;</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>&#40;== resource_for v1.shelves.books ==&#41;</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()

public Documentation()

Documentation(Documentation)

public Documentation(Documentation other)
Parameter
NameDescription
otherDocumentation

Fields

DocumentationRootUrlFieldNumber

public const int DocumentationRootUrlFieldNumber = 4

Field number for the "documentation_root_url" field.

Field Value
TypeDescription
Int32

OverviewFieldNumber

public const int OverviewFieldNumber = 2

Field number for the "overview" field.

Field Value
TypeDescription
Int32

PagesFieldNumber

public const int PagesFieldNumber = 5

Field number for the "pages" field.

Field Value
TypeDescription
Int32

RulesFieldNumber

public const int RulesFieldNumber = 3

Field number for the "rules" field.

Field Value
TypeDescription
Int32

ServiceRootUrlFieldNumber

public const int ServiceRootUrlFieldNumber = 6

Field number for the "service_root_url" field.

Field Value
TypeDescription
Int32

SummaryFieldNumber

public const int SummaryFieldNumber = 1

Field number for the "summary" field.

Field Value
TypeDescription
Int32

Properties

Descriptor

public static Protobuf.Reflection.MessageDescriptor Descriptor { get; }
Property Value
TypeDescription
Protobuf.Reflection.MessageDescriptor

DocumentationRootUrl

public string DocumentationRootUrl { get; set; }

The URL to the root of documentation.

Property Value
TypeDescription
String

Overview

public string Overview { get; set; }

Declares a single overview page. For example: <pre><code>documentation: summary: ... overview: &#40;== include overview.md ==&#41; </code></pre> This is a shortcut for the following declaration (using pages style): <pre><code>documentation: summary: ... pages:

  • name: Overview content: &#40;== include overview.md ==&#41; </code></pre> Note: you cannot specify both overview field and pages field.
Property Value
TypeDescription
String

Pages

public Protobuf.Collections.RepeatedField<Page> Pages { get; }

The top level pages for the documentation set.

Property Value
TypeDescription
Protobuf.Collections.RepeatedField<Page>

Parser

public static Protobuf.MessageParser<Documentation> Parser { get; }
Property Value
TypeDescription
Protobuf.MessageParser<Documentation>

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.

Property Value
TypeDescription
Protobuf.Collections.RepeatedField<DocumentationRule>

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
TypeDescription
String

Summary

public string Summary { get; set; }

A short summary of what the service does. Can only be provided by plain text.

Property Value
TypeDescription
String

Methods

CalculateSize()

public int CalculateSize()
Returns
TypeDescription
Int32

Clone()

public Documentation Clone()
Returns
TypeDescription
Documentation

Equals(Documentation)

public bool Equals(Documentation other)
Parameter
NameDescription
otherDocumentation
Returns
TypeDescription
Boolean

Equals(Object)

public override bool Equals(object other)
Parameter
NameDescription
otherObject
Returns
TypeDescription
Boolean

GetHashCode()

public override int GetHashCode()
Returns
TypeDescription
Int32

MergeFrom(Documentation)

public void MergeFrom(Documentation other)
Parameter
NameDescription
otherDocumentation

MergeFrom(Protobuf.CodedInputStream)

public void MergeFrom(Protobuf.CodedInputStream input)
Parameter
NameDescription
inputProtobuf.CodedInputStream

ToString()

public override string ToString()
Returns
TypeDescription
String

WriteTo(Protobuf.CodedOutputStream)

public void WriteTo(Protobuf.CodedOutputStream output)
Parameter
NameDescription
outputProtobuf.CodedOutputStream