# frozen_string_literal: true # Copyright 2021 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Auto-generated by gapic-generator-ruby. DO NOT EDIT! module Google module Api # `Documentation` provides the information for describing a service. # # Example: #
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: >
    #       ...
    # 
# 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: #
[fully.qualified.proto.name][]
# To override the display text used for the link, this can be used: #
[display text][fully.qualified.proto.name]
# Text can be excluded from doc using the following notation: #
(-- internal comment --)
# # 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: #
(== include path/to/file ==)
# 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: #
(== resource_for v1.shelves.books ==)
# The directive `suppress_warning` does not directly affect documentation # and is documented together with service config validation. # @!attribute [rw] summary # @return [::String] # A short summary of what the service does. Can only be provided by # plain text. # @!attribute [rw] pages # @return [::Array<::Google::Api::Page>] # The top level pages for the documentation set. # @!attribute [rw] rules # @return [::Array<::Google::Api::DocumentationRule>] # A list of documentation rules that apply to individual API elements. # # **NOTE:** All service configuration rules follow "last one wins" order. # @!attribute [rw] documentation_root_url # @return [::String] # The URL to the root of documentation. # @!attribute [rw] service_root_url # @return [::String] # 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. # @!attribute [rw] overview # @return [::String] # Declares a single overview page. For example: #
documentation:
    #       summary: ...
    #       overview: (== include overview.md ==)
    #     
# This is a shortcut for the following declaration (using pages style): #
documentation:
    #       summary: ...
    #       pages:
    #       - name: Overview
    #         content: (== include overview.md ==)
    #     
# Note: you cannot specify both `overview` field and `pages` field. class Documentation include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # A documentation rule provides information about individual API elements. # @!attribute [rw] selector # @return [::String] # The selector is a comma-separated list of patterns. Each pattern is a # qualified name of the element which may end in "*", indicating a wildcard. # Wildcards are only allowed at the end and for a whole component of the # qualified name, i.e. "foo.*" is ok, but not "foo.b*" or "foo.*.bar". A # wildcard will match one or more components. To specify a default for all # applicable elements, the whole pattern "*" is used. # @!attribute [rw] description # @return [::String] # Description of the selected API(s). # @!attribute [rw] deprecation_description # @return [::String] # Deprecation description of the selected element(s). It can be provided if # an element is marked as `deprecated`. class DocumentationRule include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Represents a documentation page. A page can contain subpages to represent # nested documentation set structure. # @!attribute [rw] name # @return [::String] # The name of the page. It will be used as an identity of the page to # generate URI of the page, text of the link to this page in navigation, # etc. The full page name (start from the root page name to this page # concatenated with `.`) can be used as reference to the page in your # documentation. For example: #
pages:
    #     - name: Tutorial
    #       content: (== include tutorial.md ==)
    #       subpages:
    #       - name: Java
    #         content: (== include tutorial_java.md ==)
    #     
# You can reference `Java` page using Markdown reference link syntax: # `[Java][Tutorial.Java]`. # @!attribute [rw] content # @return [::String] # The Markdown content of the page. You can use (== include \\{path} # ==) to include content from a Markdown file. # @!attribute [rw] subpages # @return [::Array<::Google::Api::Page>] # Subpages of this page. The order of subpages specified here will be # honored in the generated docset. class Page include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end end end