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.
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.
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.
A short description of what the service does. The summary must be plain
text. It becomes the overview of the service displayed in Google Cloud
Console.
NOTE: This field is equivalent to the standard field description.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[[["\u003cp\u003e\u003ccode\u003eDocumentation\u003c/code\u003e is a class that provides information for describing a service, including its summary, pages, and rules.\u003c/p\u003e\n"],["\u003cp\u003eDocumentation content is written in markdown syntax, which supports standard features, definition lists, tables, and fenced code blocks, with the ability to reference proto elements and exclude text with specific notations.\u003c/p\u003e\n"],["\u003cp\u003eDirectives such as \u003ccode\u003einclude\u003c/code\u003e and \u003ccode\u003eresource_for\u003c/code\u003e allow the incorporation of external markdown files and the designation of resource messages in REST views.\u003c/p\u003e\n"],["\u003cp\u003eDocumentation defined via config rules overrides documentation provided by the Interface Definition Language (IDL) during normalization, adhering to a "last one wins" order for service configuration rules.\u003c/p\u003e\n"],["\u003cp\u003eThe class includes properties for managing the service's description such as \u003ccode\u003eSummary\u003c/code\u003e, \u003ccode\u003eOverview\u003c/code\u003e, \u003ccode\u003ePages\u003c/code\u003e, and \u003ccode\u003eRules\u003c/code\u003e, along with methods for serialization, deserialization, and object manipulation.\u003c/p\u003e\n"]]],[],null,["# Class Documentation (2.17.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.17.0 (latest)](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Api.Documentation)\n- [2.15.0](/dotnet/docs/reference/Google.Api.CommonProtos/2.15.0/Google.Api.Documentation)\n- [2.10.0](/dotnet/docs/reference/Google.Api.CommonProtos/2.10.0/Google.Api.Documentation)\n- [2.2.0](/dotnet/docs/reference/Google.Api.CommonProtos/2.2.0/Google.Api.Documentation) \n\n public sealed class Documentation : IMessage\u003cDocumentation\u003e, IEquatable\u003cDocumentation\u003e, IDeepCloneable\u003cDocumentation\u003e, IBufferMessage, IMessage\n\n`Documentation` provides the information for describing a service.\n\nExample:\n\\\u003cpre\\\u003e\\\u003ccode\\\u003edocumentation:\nsummary: \\\u003e\nThe Google Calendar API gives access\nto most calendar features.\npages:\n\n- name: Overview content: \\(== include google/foo/overview.md ==\\)\n- name: Tutorial content: \\(== include google/foo/tutorial.md ==\\) subpages:\n - name: Java content: \\(== include google/foo/tutorial_java.md ==\\) rules:\n- selector: google.calendar.Calendar.Get description: \\\u003e ...\n- selector: google.calendar.Calendar.Put description: \\\u003e ... \\\u003c/code\\\u003e\\\u003c/pre\\\u003e 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.\n\nDocumentation from the IDL is merged with documentation defined\nvia the config at normalization time, where documentation provided\nby config rules overrides IDL provided.\n\nA number of constructs specific to the API platform are supported\nin documentation text.\n\nIn order to reference a proto element, the following\nnotation can be used:\n\\\u003cpre\\\u003e\\\u003ccode\\\u003e\\[fully.qualified.proto.name\\]\\[\\]\\\u003c/code\\\u003e\\\u003c/pre\\\u003e\nTo override the display text used for the link, this can be used:\n\\\u003cpre\\\u003e\\\u003ccode\\\u003e\\[display text\\]\\[fully.qualified.proto.name\\]\\\u003c/code\\\u003e\\\u003c/pre\\\u003e\nText can be excluded from doc using the following notation:\n\\\u003cpre\\\u003e\\\u003ccode\\\u003e\\(-- internal comment --\\)\\\u003c/code\\\u003e\\\u003c/pre\\\u003e\n\nA few directives are available in documentation. Note that\ndirectives must appear on a single line to be properly\nidentified. The `include` directive includes a markdown file from\nan external source:\n\\\u003cpre\\\u003e\\\u003ccode\\\u003e\\(== include path/to/file ==\\)\\\u003c/code\\\u003e\\\u003c/pre\\\u003e\nThe `resource_for` directive marks a message to be the resource of\na collection in REST view. If it is not specified, tools attempt\nto infer the resource from the operations in a collection:\n\\\u003cpre\\\u003e\\\u003ccode\\\u003e\\(== resource_for v1.shelves.books ==\\)\\\u003c/code\\\u003e\\\u003c/pre\\\u003e\nThe directive `suppress_warning` does not directly affect documentation\nand is documented together with service config validation. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e Documentation \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[Documentation](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Api.Documentation), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[Documentation](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Api.Documentation), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[Documentation](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Api.Documentation), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.Equals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ReferenceEquals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.referenceequals)\n\nNamespace\n---------\n\n[Google.Api](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Api)\n\nAssembly\n--------\n\nGoogle.Api.CommonProtos.dll\n\nConstructors\n------------\n\n### Documentation()\n\n public Documentation()\n\n### Documentation(Documentation)\n\n public Documentation(Documentation other)\n\nFields\n------\n\n### DocumentationRootUrlFieldNumber\n\n public const int DocumentationRootUrlFieldNumber = 4\n\nField number for the \"documentation_root_url\" field.\n\n### OverviewFieldNumber\n\n public const int OverviewFieldNumber = 2\n\nField number for the \"overview\" field.\n\n### PagesFieldNumber\n\n public const int PagesFieldNumber = 5\n\nField number for the \"pages\" field.\n\n### RulesFieldNumber\n\n public const int RulesFieldNumber = 3\n\nField number for the \"rules\" field.\n\n### ServiceRootUrlFieldNumber\n\n public const int ServiceRootUrlFieldNumber = 6\n\nField number for the \"service_root_url\" field.\n\n### SummaryFieldNumber\n\n public const int SummaryFieldNumber = 1\n\nField number for the \"summary\" field.\n\nProperties\n----------\n\n### Descriptor\n\n public static MessageDescriptor Descriptor { get; }\n\n### DocumentationRootUrl\n\n public string DocumentationRootUrl { get; set; }\n\nThe URL to the root of documentation.\n\n### Overview\n\n public string Overview { get; set; }\n\nDeclares a single overview page. For example:\n\\\u003cpre\\\u003e\\\u003ccode\\\u003edocumentation:\nsummary: ...\noverview: \\(== include overview.md ==\\)\n\\\u003c/code\\\u003e\\\u003c/pre\\\u003e\nThis is a shortcut for the following declaration (using pages style):\n\\\u003cpre\\\u003e\\\u003ccode\\\u003edocumentation:\nsummary: ...\npages:\n\n- name: Overview content: \\(== include overview.md ==\\) \\\u003c/code\\\u003e\\\u003c/pre\\\u003e Note: you cannot specify both `overview` field and `pages` field.\n\n### Pages\n\n public RepeatedField\u003cPage\u003e Pages { get; }\n\nThe top level pages for the documentation set.\n\n### Parser\n\n public static MessageParser\u003cDocumentation\u003e Parser { get; }\n\n### Rules\n\n public RepeatedField\u003cDocumentationRule\u003e Rules { get; }\n\nA list of documentation rules that apply to individual API elements.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order.\n\n### ServiceRootUrl\n\n public string ServiceRootUrl { get; set; }\n\nSpecifies the service root url if the default one (the service name\nfrom the yaml file) is not suitable. This can be seen in any fully\nspecified service urls as well as sections that show a base that other\nurls are relative to.\n\n### Summary\n\n public string Summary { get; set; }\n\nA short description of what the service does. The summary must be plain\ntext. It becomes the overview of the service displayed in Google Cloud\nConsole.\nNOTE: This field is equivalent to the standard field `description`.\n\nMethods\n-------\n\n### CalculateSize()\n\n public int CalculateSize()\n\n### Clone()\n\n public Documentation Clone()\n\n### Equals(Documentation)\n\n public bool Equals(Documentation other)\n\n### Equals(object)\n\n public override bool Equals(object other)\n\n**Overrides** \n[object.Equals(object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object))\n\n### GetHashCode()\n\n public override int GetHashCode()\n\n**Overrides** \n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode)\n\n### MergeFrom(Documentation)\n\n public void MergeFrom(Documentation other)\n\n### MergeFrom(CodedInputStream)\n\n public void MergeFrom(CodedInputStream input)\n\n### ToString()\n\n public override string ToString()\n\n**Overrides** \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\n### WriteTo(CodedOutputStream)\n\n public void WriteTo(CodedOutputStream output)"]]