Class: Google::Apis::ServicemanagementV1::Documentation

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/servicemanagement_v1/classes.rb,
generated/google/apis/servicemanagement_v1/representations.rb,
generated/google/apis/servicemanagement_v1/representations.rb

Overview

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 --)

Comments can be made conditional using a visibility label. The below text will be only rendered if the BETA label is available:

(--BETA: comment for BETA users --)

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.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ Documentation

Returns a new instance of Documentation



1198
1199
1200
# File 'generated/google/apis/servicemanagement_v1/classes.rb', line 1198

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#documentation_root_urlString

The URL to the root of documentation. Corresponds to the JSON property documentationRootUrl

Returns:

  • (String)


1162
1163
1164
# File 'generated/google/apis/servicemanagement_v1/classes.rb', line 1162

def documentation_root_url
  @documentation_root_url
end

#overviewString

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. Corresponds to the JSON property overview

Returns:

  • (String)


1179
1180
1181
# File 'generated/google/apis/servicemanagement_v1/classes.rb', line 1179

def overview
  @overview
end

#pagesArray<Google::Apis::ServicemanagementV1::Page>

The top level pages for the documentation set. Corresponds to the JSON property pages



1184
1185
1186
# File 'generated/google/apis/servicemanagement_v1/classes.rb', line 1184

def pages
  @pages
end

#rulesArray<Google::Apis::ServicemanagementV1::DocumentationRule>

A list of documentation rules that apply to individual API elements. NOTE: All service configuration rules follow "last one wins" order. Corresponds to the JSON property rules



1190
1191
1192
# File 'generated/google/apis/servicemanagement_v1/classes.rb', line 1190

def rules
  @rules
end

#summaryString

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

Returns:

  • (String)


1196
1197
1198
# File 'generated/google/apis/servicemanagement_v1/classes.rb', line 1196

def summary
  @summary
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1203
1204
1205
1206
1207
1208
1209
# File 'generated/google/apis/servicemanagement_v1/classes.rb', line 1203

def update!(**args)
  @documentation_root_url = args[:documentation_root_url] if args.key?(:documentation_root_url)
  @overview = args[:overview] if args.key?(:overview)
  @pages = args[:pages] if args.key?(:pages)
  @rules = args[:rules] if args.key?(:rules)
  @summary = args[:summary] if args.key?(:summary)
end